From ae7248eb618da8235068bc6a3ea2abbad44f4f07 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期四, 03 八月 2023 18:10:44 +0800 Subject: [PATCH] 主题库模板属性 流程 阶段样式优化 --- Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue | 191 ++++++++++++++++++++++++++++++----------------- 1 files changed, 122 insertions(+), 69 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue index 3f35190..b18084c 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> <!-- 鍒犻櫎--> @@ -89,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" @@ -166,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> @@ -218,7 +223,7 @@ </el-dialog> <!-- 鍏ㄥ睆缂栬緫--> <el-dialog :visible.sync="attrEditVisible" append-to-body fullscreen="true" :before-close="escEdit" > - <attrCrud :ProData="this.ProData" :attrFlagChiledren="this.attrFlag" :editStyleFlag="editStyleFlag" :editOpenFlag="editOpenFlag" :crudArrayFlag="this.crudArrayFlag"></attrCrud> + <attrCrud :ProData="this.ProData" :attrFlagChiledren="this.attrFlag" @editCloseChildren="editClose" :editStyleFlag="editStyleFlag" :editOpenFlag="editOpenFlag" :crudArrayFlag="this.crudArrayFlag"></attrCrud> </el-dialog> <!-- 缁勫悎瑙勫垯--> <formula-editor :systemVariableTableData="systemVariableTableData" @@ -327,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", @@ -414,7 +420,6 @@ } }, 'injectOption.classifyInvokeAttr': function(newVal) { - console.log('newVal',newVal) if (newVal === "name") { this.injectOption.classifyInvokeAttrName='鍒嗙被鍚嶇О' } else if (newVal === "id") { @@ -1485,9 +1490,6 @@ }) }, methods: { - formAttr(row, column) { - console.log(row,column) - }, //鏂板鎼滅储 AddFindHandler(){ if(this.SelectValue == 'id'){ @@ -1508,7 +1510,6 @@ }, //鍙傜収閰嶇疆瀛愮粍浠� echoReferConfig(val){ - console.log('val--',val) this.referObject=val this.$set(this.CurrentCell,'referConfig',JSON.stringify(val)) @@ -1529,12 +1530,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 }) @@ -1543,12 +1542,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() { @@ -1611,7 +1613,6 @@ //涓氬姟绫诲瀷閫夋嫨 businessSelect(selection, row) { this.busineSelectList = selection; - console.log(selection) }, // 浠庝笟鍔$被鍨嬩腑閫夋嫨鏁版嵁寮圭獥 busineHandle() { @@ -1670,7 +1671,6 @@ selectHandle(selection, row) { this.attrOid = row.oid; this.attrRow = row; - console.log(row) }, //琛ㄦ牸閫夋嫨 selectionChange(list) { @@ -1686,15 +1686,65 @@ 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){ @@ -1712,10 +1762,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; @@ -1733,7 +1793,6 @@ 'conditionMap[oid_notequal]': this.CurrentCell.oid, limit:-1 }).then(res => { - console.log(res) this.CascadeData = res.data.data; }) this.CascadeVisible=true; @@ -1742,6 +1801,9 @@ this.rulesVisible=true; }else if(column.property == 'attributeGroup'){ this.attrVisible = true; + if(this.CurrentCell.attributeGroup !== ''){ + this.attrModel=this.CurrentCell.attributeGroup + } } } }, @@ -1793,29 +1855,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() { @@ -1854,7 +1920,6 @@ }, //楠岃瘉瑙勫垯妫�鏌� rulesExamine() { - console.log(this.RulesForm.expressionText) const regex = new RegExp(this.rulesData.ruleRowBds); if(regex.test(this.RulesForm.TestContent)){ this.$message.success('鏍¢獙鎴愬姛') @@ -1879,23 +1944,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]; @@ -1908,7 +1956,7 @@ this.$set(this.attrSelectList[0],'classifyInvokeText',data) } this.injectHandleReset() - } + if(this.injectOption.classifyInvokeLevel !== 'min'){ this.injectOption.classifyInvokeLevel=this.injectOption.classifyNumber; }else { @@ -1927,7 +1975,8 @@ }, // 鍒嗙被娉ㄥ叆鍙栨秷 injectRemove() { - this.injectVisible = false + this.injectVisible = false; + this.injectHandleReset() }, //灞炴�фā鏉胯〃鏍煎崟鍏冩牸鐐瑰嚮浜嬩欢 //琛ㄦ牸鎿嶄綔鏍忓垹闄� @@ -2014,6 +2063,10 @@ editOpen(){ this.editOpenFlag=true; }, + //瀹氫箟涓�涓叧闂紪杈戠殑鏂规硶渚涘瓙缁勪欢浣跨敤 + editClose(){ + this.editOpenFlag=false; + }, //鎵归噺璁剧疆switch batchSetFlag(value){ this.attrSelectList.forEach(item=>{ -- Gitblit v1.9.3