From 729acc0d40415356ad91c6989eb5005fe61ee388 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期五, 04 八月 2023 11:11:49 +0800 Subject: [PATCH] 主题库切换无数据分类上表下表一致-主题库添加修改默认英文名以及查询后不清空 --- Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue | 291 ++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 214 insertions(+), 77 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue index 0e22d34..7a1b978 100644 --- a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue +++ b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue @@ -1,7 +1,6 @@ <template> <div> - <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag" class="app"> - + <div style="display: flex;flex-wrap: wrap; display: inline-block" v-if="this.crudArrayFlag" class="app" > <el-button-group> <!--鏂板--> <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> @@ -14,7 +13,7 @@ </el-button-group> <el-button-group> <!-- 淇濆瓨--> - <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" size="small" type="success" plain @click="addsHandler" icon="el-icon-check">淇濆瓨</el-button> + <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" size="small" type="success" plain @click.prevent="addsHandler" icon="el-icon-check">淇濆瓨</el-button> <!-- 棰勮鎺掑簭--> <el-button size="small" @click="orderHandle" icon="el-icon-arrow-down">棰勮鎺掑簭</el-button> <!-- 鍒犻櫎--> @@ -48,6 +47,16 @@ <el-button-group> <el-button size="small" plain icon="el-icon-view" v-if="(!checkStatus|| crudLCStatus=='Editing') && !editOpenFlag && attrEditVisible == false && attrFlagChiledren==false" @click="editOpen" >寮�鍚紪杈�</el-button> </el-button-group> + <el-select v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" size="small" v-model="selectvalue" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in selectoptions" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + <el-switch v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" v-model="switchvalue" @change="batchSetFlag" active-value="true" style="margin:6px 0 0 10px"> + </el-switch> </div> <!-- 寮圭獥--> <div> @@ -79,6 +88,12 @@ <el-dialog :visible.sync="enumVisible" append-to-body title="鏋氫妇娉ㄥ叆" :before-close="this.enumBeforeClose"> <!-- 娓叉煋琛ㄦ牸鍙婃寜閽� --> <!-- 娓叉煋琛ㄦ牸鍙婃寜閽� --> + <el-alert + title="璇锋柊澧炲悗鐐瑰嚮鍗曞厓鏍艰緭鍏ユ灇涓炬暟鎹�" + type="success" + style="margin-bottom: 10px;display: inline-block" + :closable="false"> + </el-alert> <div> <el-button icon="el-icon-plus" type="primary" @click="addRow">鏂板</el-button> <el-table :data="tableData" style="width: 100%" @cell-click="handleCellClick" @@ -156,11 +171,11 @@ </div> </el-dialog> <!-- 灞炴�у垎缁�--> - <el-dialog :visible.sync="attrVisible" append-to-body style="width: 800px; left:30vw;top: 10vh ;" + <el-dialog :visible.sync="attrVisible" append-to-body :before-close="attrClose" style="width: 800px; left:30vw;top: 10vh ;" title="杈撳叆鍒嗙粍鐨勫悕绉�"> <el-form ref="form" label-width="70px"> <el-form-item label="灞炴�у垎缁�"> - <el-input v-model="attrModel"></el-input> + <el-input v-model="attrModel" autofocus></el-input> </el-form-item> <div style="display: flex;justify-content: flex-end"> <el-button size="small" type="primary" @click="attrHandle">鎻愪氦</el-button> @@ -207,8 +222,8 @@ </el-container> </el-dialog> <!-- 鍏ㄥ睆缂栬緫--> - <el-dialog :visible.sync="attrEditVisible" append-to-body fullscreen="true"> - <attrCrud :ProData="this.ProData" :attrFlagChiledren="this.attrFlag" :editOpenFlag="editOpenFlag" :crudArrayFlag="this.crudArrayFlag"></attrCrud> + <el-dialog :visible.sync="attrEditVisible" append-to-body fullscreen="true" :before-close="escEdit" > + <attrCrud :ProData="this.ProData" :attrFlagChiledren="this.attrFlag" @editCloseChildren="editClose" :editStyleFlag="editStyleFlag" :editOpenFlag="editOpenFlag" :crudArrayFlag="this.crudArrayFlag"></attrCrud> </el-dialog> <!-- 缁勫悎瑙勫垯--> <formula-editor :systemVariableTableData="systemVariableTableData" @@ -252,10 +267,11 @@ </div> <el-table :data="ProData" style="width: 100%" - :height="!this.editStyleFlag ? 450 : 900" + :height="this.editStyleFlag? 800 : 343" @cell-click="handleCellClicks" @select="selectHandle" @selection-change="selectionChange" + @row-click="rowClick" v-if="this.crudArrayFlag" ref="referAttrCrud" v-loading="loading" @@ -316,6 +332,7 @@ <script> import {AttrByBtm, gridCodeClassifyTemplateAttr, batchAddSave, copyto,listByFlag} from '@/api/template/templateAttr' import {getList} from "@/api/refer/table"; +import func from "@/util/func"; export default { name: "attrCrud .vue", @@ -331,7 +348,12 @@ type: Boolean, default: false }, + //鎺у埗鏄惁寮�鍚紪杈� editOpenFlag:{ + type: Boolean, + default: false + }, + editStyleFlag:{ type: Boolean, default: false }, @@ -356,11 +378,24 @@ crudArrayFlag:{ type: Boolean, default: false - } + }, }, watch:{ + crudOid:{ + handler(newval,oldval){ + if(newval){ + this.editOpenFlag=false + } + } + }, + crudArrayFlag:{ + handler(newval,olaval){ + console.log('crudArrayFlag',newval) + } + }, crudArray:{ handler(newval,oldval){ + console.log('crudArray',newval) if(newval != undefined){ if(newval.length>=1){ this.crudArrayFlag=true @@ -391,7 +426,6 @@ } }, 'injectOption.classifyInvokeAttr': function(newVal) { - console.log('newVal',newVal) if (newVal === "name") { this.injectOption.classifyInvokeAttrName='鍒嗙被鍚嶇О' } else if (newVal === "id") { @@ -401,7 +435,7 @@ }, editOpenFlag:{ handler(newval,oldval){ - console.log(newval) + console.log('editOpenFlag',newval) }, deep:true, immediate:true @@ -1390,7 +1424,50 @@ codeDataFlag:false, // 缁勫悎瑙勫崟鍏冩牸缂栬緫鍥炲~ componentRuleText:"", - + //妯℃澘灞炴�т笅鎷夎缃畇witch + selectoptions: [{ + value: 'keyAttrFlag', + label: '鍏抽敭灞炴��' + }, { + value: 'queryAttrFlag', + label: '鏌ヨ灞炴��' + }, { + value: 'seniorQueryAttrFlag', + label: '楂樼骇鏌ヨ灞炴��' + }, { + value: 'sameRepeatAttrFlag', + label: '鐩镐技鏌ラ噸灞炴��' + }, { + value: 'barcodeFlag', + label: '涓�缁寸爜' + }, { + value: 'qrcodeFlag', + label: '浜岀淮鐮�' + }, { + value: 'requireFlag', + label: '蹇呰緭' + }, { + value: 'formDisplayFlag', + label: '琛ㄥ崟鏄剧ず' + }, { + value: 'tableDisplayFlag', + label: '鍒楄〃鏄剧ず' + }, { + value: 'readonlyFlag', + label: '鍙' + }, { + value: 'sortAttrFlag', + label: '鍒楄〃鎺掑簭' + }, { + value: 'textareaFlag', + label: '澶氳鏂囨湰' + }, { + value: 'imageFlag', + label: '棰勮鍥�' + }], + //妯℃澘灞炴�т笅鎷夐�変腑鍊� + selectvalue: 'keyAttrFlag', + switchvalue:'false' } }, computed:{ @@ -1419,9 +1496,6 @@ }) }, methods: { - formAttr(row, column) { - console.log(row,column) - }, //鏂板鎼滅储 AddFindHandler(){ if(this.SelectValue == 'id'){ @@ -1442,7 +1516,6 @@ }, //鍙傜収閰嶇疆瀛愮粍浠� echoReferConfig(val){ - console.log('val--',val) this.referObject=val this.$set(this.CurrentCell,'referConfig',JSON.stringify(val)) @@ -1463,12 +1536,10 @@ this.$message.warning('璇烽�夋嫨妯℃澘灞炴��') } else { this.attrVisible = true; - console.log(this.attrSelectList) } }, //灞炴�у垎缁勬彁浜� attrHandle() { - console.log(this.attrSelectList) this.attrSelectList.forEach(item=>{ item.attributeGroup=this.attrModel }) @@ -1477,12 +1548,15 @@ }else { this.$set(this.attrSelectList[0], 'attributeGroup', this.attrModel) } - this.attrModel = ""; - this.attrVisible = false; + this.attrClose() }, //灞炴�у垎缁勬竻绌� attrRemove() { this.attrModel = "" + }, + attrClose(){ + this.attrModel = ""; + this.attrVisible=false }, //琛ㄦ牸鏁版嵁 CrudRend() { @@ -1545,7 +1619,6 @@ //涓氬姟绫诲瀷閫夋嫨 businessSelect(selection, row) { this.busineSelectList = selection; - console.log(selection) }, // 浠庝笟鍔$被鍨嬩腑閫夋嫨鏁版嵁寮圭獥 busineHandle() { @@ -1604,23 +1677,80 @@ selectHandle(selection, row) { this.attrOid = row.oid; this.attrRow = row; - console.log(row) }, //琛ㄦ牸閫夋嫨 selectionChange(list) { this.attrSelectList = list; - console.log(list) + }, + rowClick(row){ + this.$refs.referAttrCrud.clearSelection(); + this.attrSelectList = [row]; + this.$refs.referAttrCrud.setCurrentRow(row); + this.$refs.referAttrCrud.toggleRowSelection(row); //閫変腑褰撳墠琛� + + this.attrOid = row.oid; + this.attrRow = row; }, //淇濆瓨 - addsHandler() { - batchAddSave(JSON.parse(JSON.stringify(this.ProData))).then(res => { - this.$message.success('淇濆瓨鎴愬姛') - this.editOpenFlag=false - }).catch(()=>{ - this.$message.warning('淇濆瓨澶辫触锛岃鏌ョ湅鎺у埗鍙拌緭鍑猴紒') + addsHandler(event) { + this.$refs.referAttrCrud.sort("orderNum"); + var ischeck = true; + console.log(this.ProData) + this.ProData.forEach((item,index)=>{ + if((item.requireFlag && item.requireFlag.toString()=='true') && (item.readOnlyFlag && item.readOnlyFlag.toString()=='true')){ + this.$message.warning(item.name+"("+item.id+")蹇呰緭鐨勫睘鎬т笉鑳芥槸鍙"); + console.log(item) + ischeck=false; + return; + } + var num=0; + if(item.componentRule){ + //缁勫悎瑙勫垯 + num++ + } + if(item.enumString || item.enumId){ + //鏋氫妇 + num++ + } + if(item.referConfig || item.referBtmId){ + //鍙傜収 + num++ + } + if(item.codeDateFormat){ + //鏃堕棿鏍煎紡 + num++ + } + if(item.classifyInvokeLevel){ + //鍒嗙被娉ㄥ叆 + num++ + } + if(num>1 && ischeck){ + this.$message({ + showClose: true, + message: item.name+"("+item.id+") 灞炴�у彧鑳芥槸缁勫悎瑙勫垯锛屾灇涓撅紝鍙傜収锛屾椂闂存牸寮忥紝鍒嗙被娉ㄥ叆涓殑涓�绉�", + type: 'warning' + }); + ischeck=false; + return; + } }) + if(!ischeck){ + return ; + } + // 鏂板嚱鏁扮敤浜庢墽琛宐atchAddSave鏂规硶 + const executeBatchAddSave = () => { + batchAddSave(JSON.parse(JSON.stringify(this.ProData))).then(res => { + this.$message.success('淇濆瓨鎴愬姛') + this.editOpenFlag=false; + // 璋冪敤鐖剁粍浠朵慨鏀规寜閽姸鎬� + this.$emit('editCloseChildren') + }).catch(()=>{ + this.$message.warning('淇濆瓨澶辫触锛岃鏌ョ湅鎺у埗鍙拌緭鍑猴紒') + }); + } + // 鎵�鏈塱f鏉′欢鍜岄�昏緫閫氳繃鍚庤皟鐢╡xecuteBatchAddSave鍑芥暟 + executeBatchAddSave(); }, - //琛ㄦ牸琛岀紪杈� handleCellClicks(row, column) { if(this.editOpenFlag){ @@ -1629,7 +1759,6 @@ this.rowOid = row.oid; this.CurrentCell=row; if(column.property == 'referConfig' ){ - console.log( this.CurrentCell.referConfig) this.referConfigVisble= true; this.referConfigOption = { referConfig: this.CurrentCell.referConfig || '', @@ -1639,10 +1768,20 @@ referConfig:'', } } - console.log('--',this.referConfigOption) // this.$refs.referConfigFormDialog.onloadAttrData(); }else if(column.property == 'classifyInvokeText'){ this.injectVisible=true; + if (this.CurrentCell.classifyInvokeAttr != '') { + this.injectOption = { + classifyInvokeAttr: this.CurrentCell.classifyInvokeAttr, + classifyInvokeAttrName: this.CurrentCell.classifyInvokeAttrName, + classifyInvokeEditFlag: this.CurrentCell.classifyInvokeEditFlag, + classifyInvokeLevel: this.CurrentCell.classifyInvokeLevel == 'min' ? 'min' : 'max', + classifyNumber: this.CurrentCell.classifyInvokeLevel == 'min' ? '' : this.CurrentCell.classifyInvokeLevel + }; + } else { + this.injectHandleReset(); + } }else if(column.property == 'componentRule'){ if(this.CurrentCell){ this.CurrentCell.componentRule=this.componentRuleText; @@ -1660,7 +1799,6 @@ 'conditionMap[oid_notequal]': this.CurrentCell.oid, limit:-1 }).then(res => { - console.log(res) this.CascadeData = res.data.data; }) this.CascadeVisible=true; @@ -1669,6 +1807,9 @@ this.rulesVisible=true; }else if(column.property == 'attributeGroup'){ this.attrVisible = true; + if(this.CurrentCell.attributeGroup !== ''){ + this.attrModel=this.CurrentCell.attributeGroup + } } } }, @@ -1720,29 +1861,33 @@ }, //鏋氫妇娉ㄥ叆淇濆瓨 enumAddHandle() { - 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.tableData)); - this.tableData=[]; - this.enumVisible = false; - } - } + if(this.tableData.length>=1){ + 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.tableData)); + this.tableData=[]; + this.enumVisible = false; + } + } + }else { + this.$message.warning('璇锋坊鍔犳灇涓炬敞鍏ユ暟鎹紒') + } }, // 灏嗘鍦ㄧ紪杈戠殑琛岀殑鐘舵�佸彉涓� null锛屽嵆閫�鍑虹紪杈戠姸鎬� saveRow() { @@ -1781,7 +1926,6 @@ }, //楠岃瘉瑙勫垯妫�鏌� rulesExamine() { - console.log(this.RulesForm.expressionText) const regex = new RegExp(this.rulesData.ruleRowBds); if(regex.test(this.RulesForm.TestContent)){ this.$message.success('鏍¢獙鎴愬姛') @@ -1806,23 +1950,6 @@ "灞傜骇璁剧疆": this.injectOption.classifyInvokeLevel=='max'?this.injectOption.classifyNumber :'min', "鏄惁鍙慨鏀�": this.injectOption.classifyInvokeEditFlag } - //鍗曞厓鏍肩紪杈戣祴鍊间竴閬� - // noinspection JSCheckFunctionSignatures - if(this.CurrentCell){ - //濡傛灉鏄寚瀹氬眰璧嬪�间负鏁板瓧 - if(this.injectOption.classifyInvokeLevel!== 'min'){ - this.CurrentCell.classifyInvokeLevel=this.injectOption.classifyNumber - }else { - this.CurrentCell.classifyInvokeLevel='min' - } - //鍏朵綑姝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 { //鍕鹃�夋搷浣� for (const key in this.injectOption) { this.attrSelectList[0][key] = this.injectOption[key]; @@ -1835,7 +1962,7 @@ this.$set(this.attrSelectList[0],'classifyInvokeText',data) } this.injectHandleReset() - } + if(this.injectOption.classifyInvokeLevel !== 'min'){ this.injectOption.classifyInvokeLevel=this.injectOption.classifyNumber; }else { @@ -1854,7 +1981,8 @@ }, // 鍒嗙被娉ㄥ叆鍙栨秷 injectRemove() { - this.injectVisible = false + this.injectVisible = false; + this.injectHandleReset() }, //灞炴�фā鏉胯〃鏍煎崟鍏冩牸鐐瑰嚮浜嬩欢 //琛ㄦ牸鎿嶄綔鏍忓垹闄� @@ -1904,7 +2032,6 @@ this.$message.warning('璇烽�夋嫨涓�涓ā鏉�') } else { this.editStyleFlag=true; - // this.editOpenFlag=true; this.attrEditVisible = true; this.attrFlag = true; } @@ -1941,6 +2068,16 @@ //寮�鍚紪杈� editOpen(){ this.editOpenFlag=true; + }, + //瀹氫箟涓�涓叧闂紪杈戠殑鏂规硶渚涘瓙缁勪欢浣跨敤 + editClose(){ + this.editOpenFlag=false; + }, + //鎵归噺璁剧疆switch + batchSetFlag(value){ + this.attrSelectList.forEach(item=>{ + item[this.selectvalue]=value; + }) } } } -- Gitblit v1.9.3