From 738b846113ae39fbd0594ff98d968f559e9a8a90 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期一, 24 七月 2023 11:17:23 +0800 Subject: [PATCH] Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs --- Source/UBCS-WEB/src/components/Tree/attrCrud.vue | 186 ++++++++++++++++++++++++++++------------------ 1 files changed, 112 insertions(+), 74 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Tree/attrCrud.vue b/Source/UBCS-WEB/src/components/Tree/attrCrud.vue index b361ff8..ec68c50 100644 --- a/Source/UBCS-WEB/src/components/Tree/attrCrud.vue +++ b/Source/UBCS-WEB/src/components/Tree/attrCrud.vue @@ -1,38 +1,38 @@ <template> <div> - <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag"> - <el-button-group> + <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag"class="app"> + <!--鏂板--> - <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 && crudLCStatus=='Editing'" 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 v-if=" attrEditVisible == false && attrFlagChiledren==false && crudLCStatus=='Editing'" size="small" @click="fullscreenHandle" icon="el-icon-full-screen">鍏ㄥ睆缂栬緫</el-button> <!-- 楠岃瘉瑙勫垯--> - <el-button icon="el-icon-info" size="small" @click="ruleAddHandler">楠岃瘉瑙勫垯</el-button> + <el-button v-if="crudLCStatus=='Editing'" 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 v-if="crudLCStatus=='Editing'" icon="el-icon-menu" size="small" @click="attrVisibleHandle">灞炴�у垎缁�</el-button> + + <!-- 鍒嗙被娉ㄥ叆--> - <el-button icon="el-icon-magic-stick" size="small" @click="injectBtn">鍒嗙被娉ㄥ叆</el-button> + <el-button v-if="crudLCStatus=='Editing'" icon="el-icon-magic-stick" size="small" @click="injectBtn">鍒嗙被娉ㄥ叆</el-button> <!-- 缁勫悎瑙勫垯--> - <el-button size="small" @click="isShowHandler">缁勫悎瑙勫垯</el-button> + <el-button v-if="crudLCStatus=='Editing'" size="small" @click="isShowHandler">缁勫悎瑙勫垯</el-button> <!-- 鏋氫妇娉ㄥ叆--> - <el-button size="small" @click="enmuVisHandle">鏋氫妇娉ㄥ叆</el-button> + <el-button v-if="crudLCStatus=='Editing'" size="small" @click="enmuVisHandle">鏋氫妇娉ㄥ叆</el-button> <!-- 绾ц仈灞炴��--> - <el-button size="small" @click="CascadeHandle">绾ц仈灞炴��</el-button> + <el-button v-if="crudLCStatus=='Editing'" 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> + <el-button v-if="crudLCStatus=='Editing'" size="small" @click="addsHandler" icon="el-icon-check">淇濆瓨</el-button> <!-- 鍒犻櫎--> - <el-button size="small" @click="CrudRemove" icon="el-icon-delete">鍒犻櫎</el-button> + <el-button v-if="crudLCStatus=='Editing'" size="small" @click="CrudRemove" icon="el-icon-delete">鍒犻櫎</el-button> <!-- 閲嶇疆--> <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> <!-- 楠岃瘉瑙勫垯--> @@ -72,11 +72,6 @@ <el-table :data="tableData" style="width: 100%" @cell-click="handleCellClick" @selection-change="handleSelectionChange"> <!-- 娓叉煋琛ㄦ牸鍒楀強浼犲弬 --> - <el-table-column label="搴忓彿" type="index"></el-table-column> - <el-table-column - type="selection" - width="55"> - </el-table-column> <el-table-column label="閫夐」鍊�" prop="key"> <template slot-scope="{ row }"> <!-- 缂栬緫鍜屽睍绀洪�昏緫 --> @@ -234,15 +229,18 @@ <el-button size="small" type="primary" @click="addVisible=false">鍙栨秷</el-button> </div> </el-dialog> + <!-- 鍙傜収閰嶇疆--> - <refer-config-form-dialog - ref="referConfigFormDialog" - @echoReferConfig="echoReferConfig" - ></refer-config-form-dialog> + <refer-config-dialog + :display="referConfigVisble" + @setReferConfigValue="setReferConfigValue" + :referConfigOption="referConfigOption" + ></refer-config-dialog> + </div> <el-table :data="ProData" style="width: 100%" - height="280" + height="750" @cell-click="handleCellClicks" @select="selectHandle" @selection-change="selectionChange" @@ -270,7 +268,7 @@ @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' " @visible-change="DataChangeHandler($event,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" @@ -316,6 +314,10 @@ type: String, default: '' }, + crudLCStatus: { + type: String, + default: 'Editing' + }, crudArray: { type: Array, }, @@ -352,6 +354,11 @@ }, data() { return { + referConfigText:"", + referConfigVisble:false, + referConfigOption:{ + referConfig:'', + }, screenWidth: document.documentElement.clientWidth, // 灞忓箷瀹藉害 //褰撳墠鍗曞厓鏍� CurrentCell:'', @@ -374,6 +381,7 @@ editingRows: null, editShows:"", attrFlag: false, + referObject:{}, //缂栫爜鐢宠棰勮option applicationoption: { column: [] @@ -1327,7 +1335,8 @@ //鏃堕棿鏍煎紡涓嬫媺妗� codeDataFlag:false, // 缁勫悎瑙勫崟鍏冩牸缂栬緫鍥炲~ - componentRuleText:"" + componentRuleText:"", + } }, computed:{ @@ -1347,20 +1356,13 @@ } }, 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) { @@ -1387,15 +1389,16 @@ //鍙傜収閰嶇疆瀛愮粍浠� echoReferConfig(val){ console.log('val--',val) + this.referObject=val this.$set(this.CurrentCell,'referConfig',JSON.stringify(val)) }, - //鏃堕棿涓嬫媺鏍煎紡 - DataChangeHandler($event,editConfig,index){ + //鍙緭鍙�変笅鎷� + selectChangeHandler(editConfig,index){ let that=this; - if(!$event){ + /*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; }) @@ -1403,7 +1406,7 @@ //灞炴�у垎缁勬寜閽� attrVisibleHandle() { if (this.attrSelectList < 1) { - this.$message.warning('璇烽�夋嫨涓�鏉℃ā鏉垮睘鎬�') + this.$message.warning('璇烽�夋嫨妯℃澘灞炴��') } else { this.attrVisible = true; console.log(this.attrSelectList) @@ -1469,7 +1472,8 @@ sortAttrFlag: 'false', queryAttrFlag: 'true', seniorQueryAttrFlag: 'true', - attrTableWidth: 120 + attrTableWidth: 120, + ts:"" }) this.ProData.push(JSON.parse(JSON.stringify(this.busineAddList))) } @@ -1479,7 +1483,8 @@ }, //涓氬姟绫诲瀷閫夋嫨 businessSelect(selection, row) { - this.busineSelectList = selection + this.busineSelectList = selection; + console.log(selection) }, // 浠庝笟鍔$被鍨嬩腑閫夋嫨鏁版嵁寮圭獥 busineHandle() { @@ -1541,7 +1546,7 @@ console.log(row) }, //琛ㄦ牸閫夋嫨 - selectionChange(list,) { + selectionChange(list) { this.attrSelectList = list; console.log(list) }, @@ -1559,12 +1564,20 @@ this.rowOid = row.oid; this.CurrentCell=row; if(column.property == 'referConfig' ){ - this.$refs.referConfigFormDialog.isShowReferConfigForm = true; - this.$refs.referConfigFormDialog.onloadAttrData(); + this.referConfigVisble= true; + this.referConfigOption = { + referConfig: this.referConfigText || '', + } + if(this.CurrentCell.referConfig == ''){ + this.referConfigOption = { + referConfig:'', + } + } + console.log('--',this.referConfigOption) + // 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; } @@ -1589,7 +1602,6 @@ }, saveRows() { this.editingRows = null; - console.log('1321') }, // 鏋氫妇娉ㄥ叆娣诲姞涓�琛岀┖鏁版嵁 addRow() { @@ -1631,15 +1643,26 @@ }, //鏋氫妇娉ㄥ叆淇濆瓨 enumAddHandle() { - if (this.enumRow.length < 1) { - this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�') - } else { - if(this.CurrentCell){ - this.$set(this.CurrentCell, 'enumString', JSON.stringify(this.enumRow)); + let hasError = false; // 娣诲姞涓�涓彉閲� + this.tableData.forEach((item, index) => { + if (item.key === '') { + this.$message.warning(`绗�${index + 1}琛岀殑閫夐」鍊间笉鑳戒负绌篳); + hasError = true; + return; + } else if (item.value === '') { + this.$message.warning(`绗�${index + 1}琛岀殑閫夐」涓枃鏍囩涓嶈兘涓虹┖`); + hasError = true; + return; + } + }); + // 淇濆瓨鎵ц閫昏緫 + if (!hasError) { + if (this.CurrentCell) { + this.$set(this.CurrentCell, 'enumString', JSON.stringify(this.tableData)); this.enumVisible = false; - }else { - this.$set(this.attrSelectList[0], 'enumString', JSON.stringify(this.enumRow)); - this.tableData=[] + } else { + this.$set(this.attrSelectList[0], 'enumString', JSON.stringify(this.tableData)); + this.tableData=[]; this.enumVisible = false; } } @@ -1650,11 +1673,9 @@ }, //楠岃瘉瑙勫垯鎸夐挳 ruleAddHandler(){ - if(this.attrSelectList.length>1){ - this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹�') - }else if(this.attrSelectList.length<1){ - this.$message.warning('璇烽�夋嫨涓�鎻愭ā鏉垮睘鎬�') - }else if(this.attrSelectList.length === 1){ + if (this.attrSelectList < 1) { + this.$message.warning('璇烽�夋嫨妯℃澘灞炴��') + } else{ this.rulesVisible=true } @@ -1671,11 +1692,12 @@ }, // 楠岃瘉瑙勫垯纭畾 rulesHandle() { - if(this.CurrentCell.length>0){ + if(this.CurrentCell){ this.$set(this.CurrentCell,'verifyRule',this.RulesForm.expressionText) }else { - console.log(this.attrSelectList) - this.$set(this.attrSelectList[0],'verifyRule',this.RulesForm.expressionText) + this.attrSelectList.forEach((item)=>{ + this.$set(item,'verifyRule',this.RulesForm.expressionText) + }) this.rulesremove() } this.rulesVisible = false @@ -1741,7 +1763,12 @@ }, //琛ㄦ牸閲嶇疆 reset() { - this.CrudRend() + // this.CrudRend( + this.referConfigVisble=true; + this.referConfigOption = { + referConfig: 'confing', + } + console.log(this.referConfigOption) }, //鍚屾鍒板叾浠栨ā鏉� syncHandle() { @@ -1787,11 +1814,20 @@ //缁勫悎瑙勫垯纭畾 updataFormlaContent(val) { if(this.CurrentCell){ - this.$set(this.CurrentCell, 'componentRule', JSON.stringify(val)) + this.$set(this.CurrentCell, 'componentRule', val.replace(/"/g, '')) }else { - this.$set(this.attrRow, 'componentRule', JSON.stringify(val)) + this.$set(this.attrRow, 'componentRule', val.replace(/"/g, '')) } + }, + setReferConfigValue(content){ + let submitFormJson = JSON.stringify(content); + this.referConfigText=submitFormJson + if(this.CurrentCell){ + this.$set(this.CurrentCell, 'referConfig', JSON.stringify(content)) + }else { + this.$set(this.attrRow, 'referConfig', JSON.stringify(content)) + } }, // 鎺掑簭 sortChange(val) { @@ -1812,7 +1848,9 @@ </script> <style scoped lang="scss" > -/deep/ .el-button { - margin: 0 10px 10px 0; +.app { + /deep/ .el-button { + margin: 0 10px 10px 0; + } } </style> -- Gitblit v1.9.3