From c87d35e7dc84564ad7255cdf0e1263b68c1520f9 Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期四, 27 七月 2023 18:22:53 +0800 Subject: [PATCH] 修改loadCodeFillSeparator的key --- Source/UBCS-WEB/src/components/Tree/attrCrud.vue | 312 +++++++++++++++++++++++++++++++++++---------------- 1 files changed, 215 insertions(+), 97 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Tree/attrCrud.vue b/Source/UBCS-WEB/src/components/Tree/attrCrud.vue index 5e22116..1dd85a5 100644 --- a/Source/UBCS-WEB/src/components/Tree/attrCrud.vue +++ b/Source/UBCS-WEB/src/components/Tree/attrCrud.vue @@ -1,40 +1,47 @@ <template> <div> - <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag"> - + <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag" class="app"> + <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 && (!checkStatus || 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 && (!checkStatus || 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="!checkStatus || 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 v-if="!checkStatus || crudLCStatus=='Editing'" 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> + <el-button v-if="!checkStatus || 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="!checkStatus || crudLCStatus=='Editing'" icon="el-icon-film" size="small" @click="isShowHandler">缁勫悎瑙勫垯</el-button> <!-- 鏋氫妇娉ㄥ叆--> - <el-button size="small" @click="enmuVisHandle">鏋氫妇娉ㄥ叆</el-button> + <el-button v-if="!checkStatus || crudLCStatus=='Editing'" icon="el-icon-c-scale-to-original" size="small" @click="enmuVisHandle">鏋氫妇娉ㄥ叆</el-button> <!-- 绾ц仈灞炴��--> - <el-button size="small" @click="CascadeHandle">绾ц仈灞炴��</el-button> + <el-button v-if="!checkStatus|| crudLCStatus=='Editing'" icon="el-icon-coin" size="small" @click="CascadeHandle">绾ц仈灞炴��</el-button> + </el-button-group> + <el-button-group> <!-- 棰勮鎺掑簭--> <el-button size="small" @click="orderHandle" icon="el-icon-arrow-down">棰勮鎺掑簭</el-button> - - + <!--鏂板--> <!-- 淇濆瓨--> - <el-button size="small" @click="addsHandler" icon="el-icon-check">淇濆瓨</el-button> + <el-button v-if="!checkStatus|| 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="!checkStatus || 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-group> + <el-button-group> <!-- 鍚屾鍒板叾浠栨ā鏉�--> <el-button size="small"@click="syncHandle" icon="el-icon-share">鍚屾鍒板叾浠栨ā鏉�</el-button> + </el-button-group> + <el-button-group> <!-- 缂栫爜鐢宠棰勮--> - <el-button size="small" @click="applicationHandle" style="">缂栫爜鐢宠棰勮</el-button> + <el-button size="small" icon="el-icon-view" @click="applicationHandle" style="">缂栫爜鐢宠棰勮</el-button> + </el-button-group> <!-- 楠岃瘉瑙勫垯--> </div> <!-- 寮圭獥--> @@ -72,11 +79,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 }"> <!-- 缂栬緫鍜屽睍绀洪�昏緫 --> @@ -120,23 +122,23 @@ <div style="padding-top: 15px;padding-left: 35px"> <el-form ref="injectForm" label-width="80px"> <el-form-item label="娉ㄥ叆绫诲瀷"> - <el-radio-group v-model="injectOption.type"> - <el-radio label="鍒嗙被鍚嶇О"></el-radio> - <el-radio label="鍒嗙被浠e彿"></el-radio> + <el-radio-group v-model="injectOption.classifyInvokeAttr"> + <el-radio label="name">鍒嗙被鍚嶇О</el-radio> + <el-radio label="id">鍒嗙被浠e彿</el-radio> </el-radio-group> </el-form-item> <el-form-item label="灞傜骇璁剧疆"> - <el-radio-group v-model="injectOption.set"> - <el-radio label="鏈�灏忓眰"></el-radio> - <el-radio label="鎸囧畾灞�"></el-radio> - <el-input-number v-if="this.injectOption.set == '鎸囧畾灞�'" v-model="injectOption.injectNum" :max="10" :min="0" + <el-radio-group v-model="injectOption.classifyInvokeLevel"> + <el-radio label="min">鏈�灏忓眰</el-radio> + <el-radio label="max">鎸囧畾灞�</el-radio> + <el-input-number v-if="this.injectOption.classifyInvokeLevel == 'max'" v-model="injectOption.classifyNumber" :max="10" :min="0" controls-position="right"></el-input-number> </el-radio-group> </el-form-item> <el-form-item label="鍙慨鏀�"> - <el-radio-group v-model="injectOption.change"> - <el-radio label="鏄�"></el-radio> - <el-radio label="鍚�"></el-radio> + <el-radio-group v-model="injectOption.classifyInvokeEditFlag"> + <el-radio label="true">鏄�</el-radio> + <el-radio label="false">鍚�</el-radio> </el-radio-group> </el-form-item> </el-form> @@ -234,20 +236,24 @@ <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="400" @cell-click="handleCellClicks" @select="selectHandle" @selection-change="selectionChange" v-if="this.crudArrayFlag" ref="referAttrCrud" + v-loading="loading" > <el-table-column type="selection" @@ -316,6 +322,14 @@ type: String, default: '' }, + checkStatus:{ + type: Boolean, + default: false + }, + crudLCStatus: { + type: String, + default: 'Editing' + }, crudArray: { type: Array, }, @@ -348,10 +362,53 @@ }, deep:true, immediate:true - } + }, + 'injectOption.classifyInvokeAttr': function(newVal) { + console.log('newVal',newVal) + if (newVal === "name") { + this.injectOption.classifyInvokeAttrName='鍒嗙被鍚嶇О' + } else if (newVal === "id") { + this.injectOption.classifyInvokeAttrName='鍒嗙被浠e彿' + } + return ''; + }, + // ProData: { + // handler(newVal, oldVal) { + // if(this.initializing){ + // this.ProData = newVal.map((item) => { + // if (item.classifyInvokeAttr !=='') { // 妫�鏌lassifyInvokeText灞炴�ф槸鍚﹀瓨鍦� + // item = { + // ...item, + // classifyInvokeText: { + // classifyInvokeText: { + // "娉ㄥ叆绫诲瀷": item.classifyInvokeAttr, + // "娉ㄥ叆绫诲瀷鍚嶇О": item.classifyInvokeAttrName, + // "灞傜骇璁剧疆": item.classifyInvokeLevel, + // "鏄惁鍙慨鏀�": item.classifyInvokeEditFlag + // } + // } + // } + // } + // return item; + // }); + // } + // this.initializing = false; + // console.log('ProData',this.ProData) + // console.log('newVal',newVal) + // }, + // deep: true, + // immediate:true + // }, }, data() { return { + initializing:false, + loading:false, + referConfigText:"", + referConfigVisble:false, + referConfigOption:{ + referConfig:'', + }, screenWidth: document.documentElement.clientWidth, // 灞忓箷瀹藉害 //褰撳墠鍗曞厓鏍� CurrentCell:'', @@ -374,6 +431,7 @@ editingRows: null, editShows:"", attrFlag: false, + referObject:{}, //缂栫爜鐢宠棰勮option applicationoption: { column: [] @@ -775,11 +833,12 @@ addvisible: false, //鍒嗙被娉ㄥ叆option injectOption: { - type: "鍒嗙被鍚嶇О", - set: "鏈�灏忓眰", - change: "鏄�", + classifyInvokeAttrName:'鍒嗙被鍚嶇О', + classifyInvokeAttr: "name", + classifyInvokeEditFlag: "true", + classifyInvokeLevel:'min', //鍒嗙被娉ㄥ叆璁℃暟鍣� - injectNum: 0, + classifyNumber:0, }, // 灞炴�ч獙璇佽緭鍏ユ RulesForm: { @@ -1208,15 +1267,9 @@ }, { label: "鍒嗙被娉ㄥ叆", - prop: "classifyInvokeLevelName", + prop: "classifyInvokeText", cell: false, edit: 'refer' - }, - { - label: "鍒嗙被娉ㄥ叆", - prop: "classifyInvokeLevel", - cell: false, - edit: 'referName', }, { label: "鏋氫妇娉ㄥ叆", @@ -1327,7 +1380,8 @@ //鏃堕棿鏍煎紡涓嬫媺妗� codeDataFlag:false, // 缁勫悎瑙勫崟鍏冩牸缂栬緫鍥炲~ - componentRuleText:"" + componentRuleText:"", + } }, computed:{ @@ -1344,20 +1398,9 @@ oids.push(ele.oid); }); return oids.join(","); - } + }, }, 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) => { @@ -1391,6 +1434,7 @@ //鍙傜収閰嶇疆瀛愮粍浠� echoReferConfig(val){ console.log('val--',val) + this.referObject=val this.$set(this.CurrentCell,'referConfig',JSON.stringify(val)) }, @@ -1432,7 +1476,12 @@ CrudRend() { if (this.crudOid != '') { gridCodeClassifyTemplateAttr({'conditionMap[classifyTemplateOid]': this.crudOid}).then(res => { - this.ProData = res.data.data; + this.loading=true + setTimeout(() => { + this.ProData = res.data.data; + this.loading=false + }, 1000); + }).catch(res => { this.$message.error(res) }) @@ -1457,7 +1506,7 @@ citem.oid = '' this.busineAddList=Object.assign(citem, { orderNum: ++ordernum, - attributedatatype: citem.attrDataType, + attributeDataType: citem.attrDataType, attributeDataTypeText: this.vciFieldTypeMap[citem.attrDataType], controlLength: citem.attributeLength, valueArea: citem.range, @@ -1473,7 +1522,8 @@ sortAttrFlag: 'false', queryAttrFlag: 'true', seniorQueryAttrFlag: 'true', - attrTableWidth: 120 + attrTableWidth: 120, + ts:"" }) this.ProData.push(JSON.parse(JSON.stringify(this.busineAddList))) } @@ -1483,7 +1533,8 @@ }, //涓氬姟绫诲瀷閫夋嫨 businessSelect(selection, row) { - this.busineSelectList = selection + this.busineSelectList = selection; + console.log(selection) }, // 浠庝笟鍔$被鍨嬩腑閫夋嫨鏁版嵁寮圭獥 busineHandle() { @@ -1563,18 +1614,30 @@ this.rowOid = row.oid; this.CurrentCell=row; if(column.property == 'referConfig' ){ - this.$refs.referConfigFormDialog.isShowReferConfigForm = true; - this.$refs.referConfigFormDialog.onloadAttrData(); - }else if(column.property == 'classifyInvokeLevelName'){ + 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 == 'classifyInvokeText'){ 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; + if(this.attrSelectList[0].enumString != ""){ + this.tableData=JSON.parse(this.attrSelectList[0].enumString) + return + } }else if(column.property == 'parentCode'){ gridCodeClassifyTemplateAttr({ 'conditionMap[classifyTemplateOid]': this.Formlist[0].oid, @@ -1593,7 +1656,6 @@ }, saveRows() { this.editingRows = null; - console.log('1321') }, // 鏋氫妇娉ㄥ叆娣诲姞涓�琛岀┖鏁版嵁 addRow() { @@ -1619,6 +1681,11 @@ this.$message.warning('璇烽�夋嫨涓�鏉℃ā鏉垮睘鎬�') } else if (this.attrSelectList.length === 1) { this.enumVisible = true; + if(this.attrSelectList[0].enumString != ""){ + this.tableData=JSON.parse(this.attrSelectList[0].enumString) + return + } + } }, enumBeforeClose(done){ @@ -1635,15 +1702,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; } } @@ -1698,33 +1776,58 @@ } else if (this.attrSelectList.length < 1) { this.$message.warning('璇烽�夋嫨涓�鏉℃ā鏉挎暟鎹�') } else if (this.attrSelectList.length === 1) { + console.log(this.injectOption) this.injectVisible = true; - } }, //鍒嗙被娉ㄥ叆淇濆瓨 injectAddHandle() { + // 瀹氫箟灞曠ず绫诲瀷 let data = { - "娉ㄥ叆绫诲瀷": this.injectOption.type, - "娉ㄥ叆绫诲瀷鍚嶇О": this.injectOption.set, - "灞傜骇璁剧疆": this.injectOption.injectNum, - "鏄惁鍙慨鏀�": this.injectOption.change + "娉ㄥ叆绫诲瀷": this.injectOption.classifyInvokeAttr, + "娉ㄥ叆绫诲瀷鍚嶇О": this.injectOption.classifyInvokeAttrName, + "灞傜骇璁剧疆": this.injectOption.classifyInvokeLevel=='max'?this.injectOption.classifyNumber :'min', + "鏄惁鍙慨鏀�": this.injectOption.classifyInvokeEditFlag } + //鍗曞厓鏍肩紪杈戣祴鍊间竴閬� if(this.CurrentCell){ - this.$set(this.CurrentCell, "classifyInvokeLevelName", data); - this.$set(this.CurrentCell, "classifyInvokeLevel", JSON.stringify(this.injectOption)); + //濡傛灉鏄寚瀹氬眰璧嬪�间负鏁板瓧 + if(this.CurrentCell.classifyInvokeLevel!== 'min'){ + this.CurrentCell.classifyInvokeLevel=this.injectOption.classifyNumber + } + //鍏朵綑姝e父璧嬪�� + this.CurrentCell.classifyInvokeAttr=this.injectOption.classifyInvokeAttr, + this.CurrentCell.classifyInvokeAttrName=this.injectOption.classifyInvokeAttrName, + this.CurrentCell.classifyInvokeEditFlag=this.injectOption.classifyInvokeEditFlag, + this.$set(this.CurrentCell, "classifyInvokeText", data); + this.injectHandleReset() }else { - this.$set(this.attrSelectList[0], 'classifyInvokeLevelName', data); - this.$set(this.attrSelectList[0], 'classifyInvokeLevel', JSON.stringify(this.injectOption)); + //鍕鹃�夋搷浣� + for (const key in this.injectOption) { + this.attrSelectList[0][key] = this.injectOption[key]; + //濡傛灉鏄寚瀹氬眰璧嬪�间负鏁板瓧 + if(this.injectOption.classifyInvokeLevel !== 'min'){ + this.attrSelectList[0].classifyInvokeLevel=this.injectOption.classifyNumber + } + this.$set(this.attrSelectList[0],'classifyInvokeText',data) + } + this.injectHandleReset() } - this.injectVisible = false + if(this.injectOption.classifyInvokeLevel !== 'min'){ + this.injectOption.classifyInvokeLevel=this.injectOption.classifyNumber; + }else { + this.injectOption.classifyNumber=0; + } + this.injectVisible = false; + }, //鍒嗙被娉ㄥ叆娓呯┖ injectHandleReset() { - this.injectOption.type = ""; - this.injectOption.set = ""; - this.injectOption.change = ""; - this.injectOption.injectNum = ""; + this.injectOption.classifyInvokeAttrName = "鍒嗙被鍚嶇О"; + this.injectOption.classifyInvokeAttr = "name"; + this.injectOption.classifyInvokeLevel = "min"; + this.injectOption.classifyInvokeEditFlag = "true"; + this.injectOption.classifyNumber = "0"; }, // 鍒嗙被娉ㄥ叆鍙栨秷 injectRemove() { @@ -1790,11 +1893,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) { @@ -1815,7 +1927,13 @@ </script> <style scoped lang="scss" > -/deep/ .el-button { - margin: 0 10px 10px 0; +.app { + /deep/ .el-button { + //margin: 0 10px 10px 0; + } +} +.el-button-group { + margin-right: 10px; + margin-bottom: 10px; } </style> -- Gitblit v1.9.3