From e1beaf409dca5c236dd42bc9f3f3619eeb3e5ae2 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期一, 17 七月 2023 14:23:22 +0800
Subject: [PATCH] 代码整合
---
Source/UBCS-WEB/src/components/Tree/attrCrud.vue | 271 +++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 208 insertions(+), 63 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/Tree/attrCrud.vue b/Source/UBCS-WEB/src/components/Tree/attrCrud.vue
index 0c3aa5b..7c68f93 100644
--- a/Source/UBCS-WEB/src/components/Tree/attrCrud.vue
+++ b/Source/UBCS-WEB/src/components/Tree/attrCrud.vue
@@ -1,17 +1,17 @@
<template>
<div>
<div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag">
- <el-button-group>
+
<!--鏂板-->
<el-button v-if="attrEditVisible == false && attrFlagChiledren==false" size="small" type="primary" icon="el-icon-plus" @click="busineHandle">娣诲姞 {{ msg }}</el-button>
<!-- 鍏ㄥ睆缂栬緫-->
<el-button v-if=" attrEditVisible == false && attrFlagChiledren==false" size="small" @click="fullscreenHandle" icon="el-icon-full-screen">鍏ㄥ睆缂栬緫</el-button>
<!-- 楠岃瘉瑙勫垯-->
- <el-button icon="el-icon-info" size="small" @click="rulesVisibleHandle">楠岃瘉瑙勫垯</el-button>
+ <el-button icon="el-icon-info" size="small" @click="ruleAddHandler">楠岃瘉瑙勫垯</el-button>
<!-- 灞炴�у垎缁�-->
<el-button icon="el-icon-menu" size="small" @click="attrVisibleHandle">灞炴�у垎缁�</el-button>
- </el-button-group>
- <el-button-group>
+
+
<!-- 鍒嗙被娉ㄥ叆-->
<el-button icon="el-icon-magic-stick" size="small" @click="injectBtn">鍒嗙被娉ㄥ叆</el-button>
<!-- 缁勫悎瑙勫垯-->
@@ -22,8 +22,8 @@
<el-button size="small" @click="CascadeHandle">绾ц仈灞炴��</el-button>
<!-- 棰勮鎺掑簭-->
<el-button size="small" @click="orderHandle" icon="el-icon-arrow-down">棰勮鎺掑簭</el-button>
- </el-button-group>
- <el-button-group>
+
+
<!-- 淇濆瓨-->
<el-button size="small" @click="addsHandler" icon="el-icon-check">淇濆瓨</el-button>
<!-- 鍒犻櫎-->
@@ -32,7 +32,7 @@
<el-button size="small" @click="reset" icon="el-icon-refresh-right">閲嶇疆</el-button>
<!-- 鍚屾鍒板叾浠栨ā鏉�-->
<el-button size="small"@click="syncHandle" icon="el-icon-share">鍚屾鍒板叾浠栨ā鏉�</el-button>
- </el-button-group>
+
<!-- 缂栫爜鐢宠棰勮-->
<el-button size="small" @click="applicationHandle" style="">缂栫爜鐢宠棰勮</el-button>
<!-- 楠岃瘉瑙勫垯-->
@@ -64,7 +64,7 @@
</div>
</el-dialog>
<!-- 鏋氫妇娉ㄥ叆-->
- <el-dialog :visible.sync="enumVisible" append-to-body title="鏋氫妇娉ㄥ叆">
+ <el-dialog :visible.sync="enumVisible" append-to-body title="鏋氫妇娉ㄥ叆" :before-close="this.enumBeforeClose">
<!-- 娓叉煋琛ㄦ牸鍙婃寜閽� -->
<!-- 娓叉煋琛ㄦ牸鍙婃寜閽� -->
<div>
@@ -103,7 +103,7 @@
<template>
<div style="display: flex;justify-content: right;margin-top: 15px">
<el-button size="small" type="primary" @click="enumAddHandle">淇濆瓨</el-button>
- <el-button size="small" @click="enumVisible=false">鍙栨秷</el-button>
+ <el-button size="small" @click="enumCancell">鍙栨秷</el-button>
</div>
</template>
</div>
@@ -208,24 +208,29 @@
:thisSceneTableData="thisSceneTableData"
:visible.sync="isShowformulaEdit"
@updateFormulaContent="updataFormlaContent"
+ :componentRuleText="componentRuleText"
></formula-editor>
<!-- 鏂板 -->
<el-dialog :visible.sync="addVisible" append-to-body title="浠庝笟鍔$被鍨嬩腑閫夋嫨灞炴��">
- <avue-crud :data="businessData" :option="businessOption" @selection-change="businessSelect">
+ <avue-crud ref="AddOriginPlace" :data="businessData" :option="businessOption" @selection-change="businessSelect">
<template slot="menuLeft">
<div style="display: flex;">
- <el-select>
- <el-option>灞炴�ц嫳鏂囧悕绉�</el-option>
- <el-option>灞炴�т腑鏂囧悕绉�</el-option>
+ <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 150px !important;">
+ <el-option
+ v-for="item in SelectOption"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ style="width: 150px">
+ </el-option>
</el-select>
- <el-input style="width: 300px;margin-left: 20px"></el-input>
- <el-button size="small" style="margin-left: 10px">鏌ヨ</el-button>
+ <el-input style="width: 400px;margin-left: 20px" v-model="SelectFInd"></el-input>
+ <el-button size="small" style="margin-left: 10px" @click="AddFindHandler">鏌ヨ</el-button>
</div>
-
</template>
</avue-crud>
<div style="display: flex;justify-content: flex-end;margin-top: 15px">
- <el-button size="small" type="primary" @click="busineAddHandle">纭閫夋嫨</el-button>
+ <el-button size="small" type="primary" @click="busineAddHandle">淇濆瓨</el-button>
<el-button size="small" type="primary" @click="addVisible=false">鍙栨秷</el-button>
</div>
</el-dialog>
@@ -258,13 +263,14 @@
:sortable="item.sortable"
:fixed="item.fixed"
align="center"
+ v-if="item.edit !='referName'"
>
<template slot-scope="{ row }">
<el-input v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text' ||item.edit == 'refer' )" v-model="row[item.prop]"
@blur="saveRows"></el-input>
<el-input-number size="small" controls-position="right" v-if="editingRows === row && editShows== item.prop && item.edit == 'number'" v-model="row[item.prop]"
@blur="saveRows" :style="{width:(item.width-10)+'px'}"></el-input-number>
- <el-select v-model="row[item.prop]" filterable allow-create default-first-option slot="prepend" v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " @focus="DataChangeHandler(item.editConfig,index)">
+ <el-select v-model="row[item.prop]" filterable allow-create default-first-option slot="prepend" v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " @blur="selectChangeHandler(item.editConfig,index)">
<el-option
v-for="optionItem in item.data"
:key="optionItem.dictValue"
@@ -287,7 +293,7 @@
<el-button
size="small"
type="text"
- @click.native.prevent="CrudRowDel(scope.row)">
+ @click.native.prevent="CrudRowDel(scope.$index)">
绉婚櫎
</el-button>
</template>
@@ -298,6 +304,7 @@
<script>
import {AttrByBtm, gridCodeClassifyTemplateAttr, batchAddSave, copyto,listByFlag} from '@/api/template/templateAttr'
+import {getList} from "@/api/refer/table";
export default {
name: "attrCrud .vue",
@@ -345,12 +352,29 @@
},
data() {
return {
+ screenWidth: document.documentElement.clientWidth, // 灞忓箷瀹藉害
+ //褰撳墠鍗曞厓鏍�
+ CurrentCell:'',
+ // 鏂板
+ SelectValue:"",
+ SelectFInd:"",
+ SelectOption:[
+ {
+ value: 'name',
+ label: '灞炴�т腑鏂囧悕绉�'
+ },
+ {
+ value: 'id',
+ label: '灞炴�ц嫳鏂囧悕绉�'
+ }
+ ],
//鍙傜収
referVisible:false,
crudArrayFlag:false,
editingRows: null,
editShows:"",
attrFlag: false,
+ referObject:{},
//缂栫爜鐢宠棰勮option
applicationoption: {
column: []
@@ -761,7 +785,8 @@
// 灞炴�ч獙璇佽緭鍏ユ
RulesForm: {
expressionText: "",
- TestContent: ""
+ TestContent: "",
+ ruleRowBds:""
},
//灞炴�ч獙璇佽鍒欓厤缃�
rulesOption: {
@@ -1184,9 +1209,15 @@
},
{
label: "鍒嗙被娉ㄥ叆",
- prop: "classifyInvokeLevel",
+ prop: "classifyInvokeLevelName",
cell: false,
edit: 'refer'
+ },
+ {
+ label: "鍒嗙被娉ㄥ叆",
+ prop: "classifyInvokeLevel",
+ cell: false,
+ edit: 'referName',
},
{
label: "鏋氫妇娉ㄥ叆",
@@ -1296,6 +1327,8 @@
},
//鏃堕棿鏍煎紡涓嬫媺妗�
codeDataFlag:false,
+ // 缁勫悎瑙勫崟鍏冩牸缂栬緫鍥炲~
+ componentRuleText:""
}
},
computed:{
@@ -1315,41 +1348,83 @@
}
},
mounted() {
+ window.addEventListener(
+ 'resize',
+ () => {
+ if(Math.abs(this.screenWidth - document.body.clientWidth) > 20) {
+ this.$nextTick(() => {
+ this.$refs.AddOriginPlace.refreshTable();
+ })
+ }
+ this.screenWidth = document.body.clientWidth;
+ }
+ )
},
created() {
-
+ this.option.column.forEach((item,index) => {
+ if (item.edit == 'select') {
+ this.selectChangeHandler(item.editConfig,index)
+ }
+ })
},
methods: {
formAttr(row, column) {
console.log(row,column)
},
+ //鏂板鎼滅储
+ AddFindHandler(){
+ if(this.SelectValue == 'id'){
+ const masterParameter={
+ 'conditionMap[id]':this.SelectFInd
+ }
+ this.BuineAttrByBtm(masterParameter);
+ this.SelectValue=""
+ this.SelectFInd=""
+ }else if(this.SelectValue == 'name'){
+ const masterParameter={
+ 'conditionMap[name]':this.SelectFInd
+ }
+ this.BuineAttrByBtm(masterParameter)
+ this.SelectValue=""
+ this.SelectFInd=""
+ }
+ },
//鍙傜収閰嶇疆瀛愮粍浠�
echoReferConfig(val){
- console.log(val)
+ console.log('val--',val)
+ this.referObject=val
+ this.$set(this.CurrentCell,'referConfig',JSON.stringify(val))
+
},
- //鏃堕棿涓嬫媺鏍煎紡
- DataChangeHandler(editConfig,index){
- if(!this.option.column[index].data){
- listByFlag(editConfig.extraParams).then(res=>{
- this.option.column[index].data=res.data;
- })
- }
+ //鍙緭鍙�変笅鎷�
+ selectChangeHandler(editConfig,index){
+ let that=this;
+ /*if(that.option.column[index].data && that.option.column[index].data.length>=0){
+ return;
+ }*/
+ listByFlag(editConfig.extraParams).then(res=>{
+ that.option.column[index].data=res.data.data;
+ })
},
//灞炴�у垎缁勬寜閽�
attrVisibleHandle() {
- if(this.attrSelectList.length==0){
- this.$message.warning('璇烽�夋嫨灞炴��');
- return false;
+ if (this.attrSelectList < 1) {
+ this.$message.warning('璇烽�夋嫨妯℃澘灞炴��')
+ } else {
+ this.attrVisible = true;
+ console.log(this.attrSelectList)
}
- this.attrVisible = true;
},
//灞炴�у垎缁勬彁浜�
attrHandle() {
- this.attrSelectList.forEach((item)=>{
- this.$set(item, 'attributeGroup', this.attrModel)
+ console.log(this.attrSelectList)
+ // this.$set(this.attrRow, 'attributeGroup', this.attrModel)
+ // this.attrSelectList.attributeGroup=this.attrModel
+ this.attrSelectList.forEach(item=>{
+ item.attributeGroup=this.attrModel
})
- this.attrModel = ""
- this.attrVisible = false
+ this.attrModel = "";
+ this.attrVisible = false;
},
//灞炴�у垎缁勬竻绌�
attrRemove() {
@@ -1417,7 +1492,11 @@
this.addVisible = true;
this.busineSelectList = []
this.busineAddList = [];
- AttrByBtm({'conditionMap[oid]': this.crudOid}).then(res => {
+ this.BuineAttrByBtm()
+ },
+ //涓氬姟绫诲瀷鏁版嵁
+ BuineAttrByBtm(masterParameter){
+ AttrByBtm({'conditionMap[oid]': this.crudOid,...masterParameter}).then(res => {
this.businessData = res.data.data;
})
},
@@ -1433,7 +1512,6 @@
'conditionMap[classifyTemplateOid]': this.Formlist[0].oid,
'conditionMap[oid_notequal]': this.attrOid
}).then(res => {
- console.log(res)
this.CascadeData = res.data.data;
})
}
@@ -1442,7 +1520,11 @@
CascadeAddHandle() {
let CascadeString = "";
CascadeString = this.selectRowArr.id + (this.selectRowArr.name);
- this.$set(this.attrRow, 'parentCode', CascadeString)
+ if(this.CurrentCell){
+ this.$set(this.CurrentCell, 'parentCode', CascadeString)
+ }else {
+ this.$set(this.attrSelectList[0], 'parentCode', CascadeString)
+ }
this.CascadeVisible = false;
},
//绾ц仈灞炴�ф竻闄�
@@ -1467,6 +1549,7 @@
//琛ㄦ牸閫夋嫨
selectionChange(list) {
this.attrSelectList = list;
+ console.log(list)
},
//淇濆瓨
addsHandler() {
@@ -1480,9 +1563,34 @@
this.editingRows = row;
this.editShows = column.property;
this.rowOid = row.oid;
- console.log(row,column)
+ this.CurrentCell=row;
if(column.property == 'referConfig' ){
this.$refs.referConfigFormDialog.isShowReferConfigForm = true;
+ this.$refs.referConfigFormDialog.onloadAttrData();
+ }else if(column.property == 'classifyInvokeLevelName'){
+ this.injectVisible=true;
+ }else if(column.property == 'componentRule'){
+
+ if(this.CurrentCell){
+ this.CurrentCell.componentRule=this.componentRuleText;
+ }
+ this.isShowformulaEdit = true;
+ }else if(column.property == 'enumString'){
+ this.enumVisible=true;
+ }else if(column.property == 'parentCode'){
+ gridCodeClassifyTemplateAttr({
+ 'conditionMap[classifyTemplateOid]': this.Formlist[0].oid,
+ 'conditionMap[oid_notequal]': this.CurrentCell.oid
+ }).then(res => {
+ console.log(res)
+ this.CascadeData = res.data.data;
+ })
+ this.CascadeVisible=true;
+ }else if(column.property == 'verifyRule'){
+ this.RulesForm.expressionTextt=this.CurrentCell.verifyRule;
+ this.rulesVisible=true;
+ console.log(this.CurrentCell.verifyRule)
+ console.log(this.RulesForm.expressionText)
}
},
saveRows() {
@@ -1515,6 +1623,14 @@
this.enumVisible = true;
}
},
+ enumBeforeClose(done){
+ this.tableData=[]
+ done()
+ },
+ enumCancell(){
+ this.tableData=[]
+ this.enumVisible=false;
+ },
//鏋氫妇娉ㄥ叆澶氶�夋
handleSelectionChange(row) {
this.enumRow = JSON.parse(JSON.stringify(row));
@@ -1524,23 +1640,32 @@
if (this.enumRow.length < 1) {
this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�')
} else {
- this.$set(this.attrRow, 'enumString', this.enumRow);
- this.enumVisible = false;
+ if(this.CurrentCell){
+ this.$set(this.CurrentCell, 'enumString', JSON.stringify(this.enumRow));
+ this.enumVisible = false;
+ }else {
+ this.$set(this.attrSelectList[0], 'enumString', JSON.stringify(this.enumRow));
+ this.tableData=[]
+ this.enumVisible = false;
+ }
}
},
- // 灏嗘鍦ㄧ紪杈戠殑琛岀殑鐘舵�佸彉涓� null 锛屽嵆閫�鍑虹紪杈戠姸鎬�
+ // 灏嗘鍦ㄧ紪杈戠殑琛岀殑鐘舵�佸彉涓� null锛屽嵆閫�鍑虹紪杈戠姸鎬�
saveRow() {
this.editingRow = null;
},
- rulesVisibleHandle(){
- if(this.attrSelectList.length==0){
- this.$message.warning('璇烽�夋嫨灞炴��');
- return false;
+ //楠岃瘉瑙勫垯鎸夐挳
+ ruleAddHandler(){
+ if (this.attrSelectList < 1) {
+ this.$message.warning('璇烽�夋嫨妯℃澘灞炴��')
+ } else{
+ this.rulesVisible=true
}
- this.rulesVisible = true;
+
},
//瑙勫垯鏍¢獙锛屽弻鍑昏〃鍗曚簨浠�
handleRulesRowDBLClick(row) {
+ this.ruleRowBds=row.bds
this.RulesForm.expressionText = row.bds
},
// 楠岃瘉瑙勫垯娓呴櫎鍐呭
@@ -1550,14 +1675,21 @@
},
// 楠岃瘉瑙勫垯纭畾
rulesHandle() {
- this.attrSelectList.forEach((item)=>{
- this.$set(item, 'verifyRule', this.RulesForm.expressionText)
- })
+ if(this.CurrentCell){
+ this.$set(this.CurrentCell,'verifyRule',this.RulesForm.expressionText)
+ }else {
+ this.attrSelectList.forEach((item)=>{
+ this.$set(item,'verifyRule',this.RulesForm.expressionText)
+ })
+ this.rulesremove()
+ }
this.rulesVisible = false
},
//楠岃瘉瑙勫垯妫�鏌�
rulesExamine() {
- if (this.RulesForm.expressionText.test(this.RulesForm.TestContent)) {
+ console.log(this.RulesForm.expressionText)
+ const regex = new RegExp(this.rulesData.ruleRowBds);
+ if(regex.test(this.RulesForm.TestContent)){
this.$message.success('鏍¢獙鎴愬姛')
}
},
@@ -1568,7 +1700,8 @@
} else if (this.attrSelectList.length < 1) {
this.$message.warning('璇烽�夋嫨涓�鏉℃ā鏉挎暟鎹�')
} else if (this.attrSelectList.length === 1) {
- this.injectVisible = true
+ this.injectVisible = true;
+
}
},
//鍒嗙被娉ㄥ叆淇濆瓨
@@ -1579,8 +1712,13 @@
"灞傜骇璁剧疆": this.injectOption.injectNum,
"鏄惁鍙慨鏀�": this.injectOption.change
}
- console.log(this.injectOption)
- this.$set(this.attrRow, 'classifyInvokeLevel', data);
+ if(this.CurrentCell){
+ this.$set(this.CurrentCell, "classifyInvokeLevelName", data);
+ this.$set(this.CurrentCell, "classifyInvokeLevel", JSON.stringify(this.injectOption));
+ }else {
+ this.$set(this.attrSelectList[0], 'classifyInvokeLevelName', data);
+ this.$set(this.attrSelectList[0], 'classifyInvokeLevel', JSON.stringify(this.injectOption));
+ }
this.injectVisible = false
},
//鍒嗙被娉ㄥ叆娓呯┖
@@ -1596,13 +1734,14 @@
},
//灞炴�фā鏉胯〃鏍煎崟鍏冩牸鐐瑰嚮浜嬩欢
//琛ㄦ牸鎿嶄綔鏍忓垹闄�
- CrudRowDel(row) {
- this.ProData.splice(row.$index, 1)
+ CrudRowDel(index) {
+ this.ProData.splice(index, 1)
},
//琛ㄦ牸鍒犻櫎
CrudRemove() {
this.attrSelectList.forEach((item)=>{
- this.ProData.splice(item.$index, 1)
+ const index = this.ProData.indexOf(item);
+ this.ProData.splice(index, 1)
})
},
//琛ㄦ牸閲嶇疆
@@ -1632,7 +1771,7 @@
} else if (this.attrSelectList.length < 1) {
this.$message.warning('璇烽�夋嫨涓�鏉℃ā鏉垮睘鎬ф暟鎹�')
} else if (this.attrSelectList.length === 1) {
- this.isShowformulaEdit = true;
+ this.isShowformulaEdit=true
}
},
//鍏ㄥ睆缂栬緫
@@ -1650,8 +1789,14 @@
this.attrFlagChiledren = false;
this.attrEditVisible = false;
},
+ //缁勫悎瑙勫垯纭畾
updataFormlaContent(val) {
- this.$set(this.attrRow, 'componentRule', val)
+ if(this.CurrentCell){
+ this.$set(this.CurrentCell, 'componentRule', JSON.stringify(val))
+ }else {
+ this.$set(this.attrRow, 'componentRule', JSON.stringify(val))
+ }
+
},
// 鎺掑簭
sortChange(val) {
@@ -1671,7 +1816,7 @@
}
</script>
-<style scoped lang="scss">
+<style scoped lang="scss" >
/deep/ .el-button {
margin: 0 10px 10px 0;
}
--
Gitblit v1.9.3