From 3e20408521d46b1086a5e77b914d04afb9630ab0 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期五, 28 七月 2023 10:37:02 +0800 Subject: [PATCH] 主题库开启编辑分类注入bug --- Source/UBCS-WEB/src/components/Tree/attrCrud.vue | 291 ++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 173 insertions(+), 118 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Tree/attrCrud.vue b/Source/UBCS-WEB/src/components/Tree/attrCrud.vue index 24b66f7..8f655e7 100644 --- a/Source/UBCS-WEB/src/components/Tree/attrCrud.vue +++ b/Source/UBCS-WEB/src/components/Tree/attrCrud.vue @@ -1,41 +1,52 @@ <template> <div> - <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag"class="app"> - + <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag" class="app"> + <el-button-group> <!--鏂板--> - <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 && editOpenFlag && (!checkStatus || crudLCStatus=='Editing' )" size="small" type="primary" icon="el-icon-plus" plain @click="busineHandle">娣诲姞 {{ msg }}</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 v-if=" attrEditVisible == false && attrFlagChiledren==false && editOpenFlag&&(!checkStatus || crudLCStatus=='Editing')" size="small" @click="fullscreenHandle" icon="el-icon-full-screen">鍏ㄥ睆缂栬緫</el-button> <!-- 楠岃瘉瑙勫垯--> - <el-button v-if="!checkStatus || crudLCStatus=='Editing'" icon="el-icon-info" size="small" @click="ruleAddHandler">楠岃瘉瑙勫垯</el-button> + <el-button v-if="(!checkStatus || crudLCStatus=='Editing' )&& editOpenFlag" icon="el-icon-info" size="small" @click="ruleAddHandler">楠岃瘉瑙勫垯</el-button> <!-- 灞炴�у垎缁�--> - <el-button v-if="!checkStatus || crudLCStatus=='Editing'" icon="el-icon-menu" size="small" @click="attrVisibleHandle">灞炴�у垎缁�</el-button> - - + <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-menu" size="small" @click="attrVisibleHandle">灞炴�у垎缁�</el-button> + </el-button-group> + <el-button-group> + <!--鏂板--> <!-- 鍒嗙被娉ㄥ叆--> - <el-button v-if="!checkStatus || crudLCStatus=='Editing'" icon="el-icon-magic-stick" size="small" @click="injectBtn">鍒嗙被娉ㄥ叆</el-button> + <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-magic-stick" size="small" @click="injectBtn">鍒嗙被娉ㄥ叆</el-button> <!-- 缁勫悎瑙勫垯--> - <el-button v-if="!checkStatus || crudLCStatus=='Editing'" size="small" @click="isShowHandler">缁勫悎瑙勫垯</el-button> + <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-film" size="small" @click="isShowHandler">缁勫悎瑙勫垯</el-button> <!-- 鏋氫妇娉ㄥ叆--> - <el-button v-if="!checkStatus || crudLCStatus=='Editing'" size="small" @click="enmuVisHandle">鏋氫妇娉ㄥ叆</el-button> + <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-c-scale-to-original" size="small" @click="enmuVisHandle">鏋氫妇娉ㄥ叆</el-button> <!-- 绾ц仈灞炴��--> - <el-button v-if="!checkStatus|| crudLCStatus=='Editing'" size="small" @click="CascadeHandle">绾ц仈灞炴��</el-button> + <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" 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 v-if="!checkStatus|| crudLCStatus=='Editing'" size="small" @click="addsHandler" icon="el-icon-check">淇濆瓨</el-button> + <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" size="small" @click="addsHandler" icon="el-icon-check">淇濆瓨</el-button> <!-- 鍒犻櫎--> - <el-button v-if="!checkStatus || crudLCStatus=='Editing'" size="small" @click="CrudRemove" icon="el-icon-delete">鍒犻櫎</el-button> + <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" 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> + <!-- 鏄惁寮�鍚紪杈� --> + <el-button-group> + <el-button size="small" plain icon="el-icon-view" v-if="(!checkStatus|| crudLCStatus=='Editing') && !editOpenFlag" @click="editOpen" >寮�鍚紪杈�</el-button> + </el-button-group> </div> <!-- 寮圭獥--> <div> @@ -115,23 +126,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> @@ -246,6 +257,7 @@ @selection-change="selectionChange" v-if="this.crudArrayFlag" ref="referAttrCrud" + v-loading="loading" > <el-table-column type="selection" @@ -265,7 +277,7 @@ > <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> + @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' " @blur="selectChangeHandler(item.editConfig,index)"> @@ -277,7 +289,7 @@ </el-option> </el-select> <el-switch - v-if="item.edit === 'switch'" v-model="row[item.prop]" active-value="true" + v-if="item.edit === 'switch'" v-model="row[item.prop]" active-value="true" :disabled="!editOpenFlag" inactive-value="false"> </el-switch> <span v-else>{{ row[item.prop] }}</span> @@ -318,6 +330,10 @@ type: Boolean, default: false }, + editOpenFlag:{ + type: Boolean, + default: false + }, crudLCStatus: { type: String, default: 'Editing' @@ -354,10 +370,28 @@ }, 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 ''; + }, + editOpenFlag:{ + handler(newval,oldval){ + console.log(newval) + }, + deep:true, + immediate:true } + }, data() { return { + loading:false, referConfigText:"", referConfigVisble:false, referConfigOption:{ @@ -787,11 +821,12 @@ addvisible: false, //鍒嗙被娉ㄥ叆option injectOption: { - type: "鍒嗙被鍚嶇О", - set: "鏈�灏忓眰", - change: "鏄�", + classifyInvokeAttrName:'鍒嗙被鍚嶇О', + classifyInvokeAttr: "name", + classifyInvokeEditFlag: "true", + classifyInvokeLevel:'min', //鍒嗙被娉ㄥ叆璁℃暟鍣� - injectNum: 0, + classifyNumber:0, }, // 灞炴�ч獙璇佽緭鍏ユ RulesForm: { @@ -1220,15 +1255,9 @@ }, { label: "鍒嗙被娉ㄥ叆", - prop: "classifyInvokeLevelName", + prop: "classifyInvokeText", cell: false, edit: 'refer' - }, - { - label: "鍒嗙被娉ㄥ叆", - prop: "classifyInvokeLevel", - cell: false, - edit: 'referName', }, { label: "鏋氫妇娉ㄥ叆", @@ -1357,7 +1386,7 @@ oids.push(ele.oid); }); return oids.join(","); - } + }, }, mounted() { }, @@ -1435,7 +1464,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) }) @@ -1563,50 +1597,52 @@ //琛ㄦ牸琛岀紪杈� handleCellClicks(row, column) { - this.editingRows = row; - this.editShows = column.property; - this.rowOid = row.oid; - this.CurrentCell=row; - if(column.property == 'referConfig' ){ - 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; - } - 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, - '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) - } + if(this.editOpenFlag){ + this.editingRows = row; + this.editShows = column.property; + this.rowOid = row.oid; + this.CurrentCell=row; + if(column.property == 'referConfig' ){ + 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, + '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() { this.editingRows = null; @@ -1731,34 +1767,58 @@ this.$message.warning('璇烽�夋嫨涓�鏉℃ā鏉挎暟鎹�') } else if (this.attrSelectList.length === 1) { 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 } + //鍗曞厓鏍肩紪杈戣祴鍊间竴閬� + // noinspection JSCheckFunctionSignatures 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.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 = "0"; + this.injectOption.classifyInvokeAttrName = "鍒嗙被鍚嶇О"; + this.injectOption.classifyInvokeAttr = "name"; + this.injectOption.classifyInvokeLevel = "min"; + this.injectOption.classifyInvokeEditFlag = "true"; + this.injectOption.classifyNumber = "0"; }, // 鍒嗙被娉ㄥ叆鍙栨秷 injectRemove() { @@ -1778,12 +1838,7 @@ }, //琛ㄦ牸閲嶇疆 reset() { - // this.CrudRend( - this.referConfigVisble=true; - this.referConfigOption = { - referConfig: 'confing', - } - console.log(this.referConfigOption) + this.CrudRend() }, //鍚屾鍒板叾浠栨ā鏉� syncHandle() { @@ -1847,16 +1902,12 @@ // 鎺掑簭 sortChange(val) { console.log(val) - // switch (val.order) { - // // case "ascending": - // // this.data = this.data.sort((a,b) => { return b['name'].localeCompare(a['name']) }) - // // this.data = this.data.sort((a,b) => { return b['id'].localeCompare(a['id']) }) - // // break; - // // case "descending": - // // this.data = this.data.sort((a,b) => { return a['name'].localeCompare(b['name']) }) - // // this.data = this.data.sort((a,b) => { return a['id'].localeCompare(b['id']) }) - // // break; - // } + }, + editOpen(){ + this.editOpenFlag=true; + console.log('涓嶇瓑浜�',this.checkStatus) + console.log('绛変簬',this.editOpenFlag) + console.log('绛変簬',this.crudLCStatus) } } } @@ -1865,7 +1916,11 @@ <style scoped lang="scss" > .app { /deep/ .el-button { - margin: 0 10px 10px 0; + //margin: 0 10px 10px 0; } } +.el-button-group { + margin-right: 10px; + margin-bottom: 10px; +} </style> -- Gitblit v1.9.3