From 47482f386cefd756e1d1a745a5b13949fd709c77 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期三, 22 十一月 2023 18:19:05 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue | 323 +++++++++++++++++++++++++++++------------------------ 1 files changed, 177 insertions(+), 146 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue index 69351e6..5854b1a 100644 --- a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue +++ b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue @@ -8,22 +8,33 @@ <div> <div style="display: flex; flex-direction: column;"> <div style="display: flex;"> - <el-button plain size="small" type="primary" @click="TreeAdd" v-if="permissionList.TreeAddStatus">娣诲姞</el-button> - <el-button plain size="small" type="primary" @click="TreeEdit" v-if="permissionList.TreeEditStatus">淇敼</el-button> - <el-button plain size="small" type="primary" @click="TreeDel" v-if="permissionList.TreeDelStatus">鍒犻櫎</el-button> - <el-button plain size="small" type="primary" @click="flushed" v-if="permissionList.flushedStatus">鍒锋柊</el-button> + <el-button v-if="permissionList.TreeAddStatus" plain size="small" type="primary" @click="TreeAdd">娣诲姞 + </el-button> + <el-button v-if="permissionList.TreeEditStatus" plain size="small" type="primary" @click="TreeEdit">淇敼 + </el-button> + <el-button v-if="permissionList.TreeDelStatus" plain size="small" type="primary" @click="TreeDel">鍒犻櫎 + </el-button> + <el-button v-if="permissionList.flushedStatus" plain size="small" type="primary" @click="flushed">鍒锋柊 + </el-button> </div> <div style="display: flex; margin-top: 10px"> - <el-button plain size="small" type="primary" @click="Enable" v-if="permissionList.EnableStatus">鍚敤</el-button> - <el-button plain size="small" type="primary" @click="Deactivate" v-if="permissionList.DeactivateStatus">鍋滅敤</el-button> - <el-button plain size="small" type="primary" @click.native="ImportExcel" v-if="permissionList.ImportExcelStatus">瀵煎叆</el-button> - <el-button plain size="small" type="primary" @click="ExportExcel" v-if="permissionList.ExportExcelStatus">瀵煎嚭</el-button> + <el-button v-if="permissionList.EnableStatus" plain size="small" type="primary" @click="Enable">鍚敤 + </el-button> + <el-button v-if="permissionList.DeactivateStatus" plain size="small" type="primary" @click="Deactivate"> + 鍋滅敤 + </el-button> + <el-button v-if="permissionList.ImportExcelStatus" plain size="small" type="primary" + @click.native="ImportExcel">瀵煎叆 + </el-button> + <el-button v-if="permissionList.ExportExcelStatus" plain size="small" type="primary" + @click="ExportExcel">瀵煎嚭 + </el-button> </div> </div> <div style="display: flex;justify-content: space-around;margin-top: 5px;margin-bottom: 5px"> </div> </div> -<!-- 宸︿晶鏍�--> + <!-- 宸︿晶鏍�--> <div style="height: calc(100vh - 230px);overflow: auto"> <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata" :defaultExpandAll="false" @@ -66,10 +77,10 @@ <el-form-item label="鏄惁鍙備笌鍏抽敭灞炴�ф牎楠岋細" label-width="170px"> <el-switch v-model="TreeAddform.codeKeyAttrValue" - active-text="鏄�" - inactive-text="鍚�" active-color="#13ce66" + active-text="鏄�" inactive-color="#ff4949" + inactive-text="鍚�" @change="switchChange"> </el-switch> </el-form-item> @@ -117,9 +128,11 @@ </template> <template slot="menuLeft"> - <el-button plain size="small" type="primary" @click="FindeHanler" v-if="permissionList.FindStatus">鏌ヨ</el-button> - <el-button plain size="small" type="primary" @click="TemRefresh" v-if="permissionList.TemRefreshStatus">鍒锋柊</el-button> - <el-button plain size="small" type="primary" @click="CloneBtn" v-if="permissionList.CloneBtnStuatus">浠庡叾瀹冩ā鏉垮厠闅�</el-button> + <el-button v-if="permissionList.FindStatus" plain size="small" type="primary" + @click="FindeHanler">鏌ヨ</el-button> + <el-button v-if="permissionList.TemRefreshStatus" plain size="small" type="primary" + @click="TemRefresh">鍒锋柊</el-button> + <el-button v-if="permissionList.CloneBtnStuatus" plain size="small" type="primary" @click="CloneBtn">浠庡叾瀹冩ā鏉垮厠闅�</el-button> <!-- 鏌ヨ瀵硅瘽妗�--> <el-dialog :visible.sync="FindFormVisible" append-to-body title="楂樼骇鏌ヨ"> <div> @@ -415,6 +428,7 @@ import {defaultReferDataGrid, referDataGrid} from '@/api/MasterData/master' import func from "@/util/func"; import {mapGetters} from "vuex"; + export default { name: "classifyTrees.vue", data() { @@ -485,7 +499,7 @@ Option: { addBtn: false, index: true, - columnBtn:false, + columnBtn: false, border: true, menu: false, height: 380, @@ -597,8 +611,8 @@ codeRuleOidName: "", //瀛樺偍鐨勪笟鍔$被鍨� btmTypeName: "", - codeKeyAttrValue:true, - isParticipateCheck:1 + codeKeyAttrValue: true, + isParticipateCheck: 1 }, rules: { id: [ @@ -679,7 +693,7 @@ CloneSelect: [], //鍏嬮殕妯℃澘option ClonecrudTreeOption: { - columnBtn:false, + columnBtn: false, index: true, border: true, menu: false, @@ -790,26 +804,26 @@ }, computed: { ...mapGetters(["permission"]), - permissionList(){ - return{ - TreeAddStatus:this.vaildData(this.permission.classifyTree.tree_add,false), - TreeEditStatus:this.vaildData(this.permission.classifyTree.tree_edit,false), - TreeDelStatus:this.vaildData(this.permission.classifyTree.tree_delete,false), - flushedStatus:this.vaildData(this.permission.classifyTree.tree_break,false), - EnableStatus:this.vaildData(this.permission.classifyTree.tree_enable,false), - DeactivateStatus:this.vaildData(this.permission.classifyTree.tree_stop,false), - ImportExcelStatus:this.vaildData(this.permission.classifyTree.tree_import,false), - ExportExcelStatus:this.vaildData(this.permission.classifyTree.tree_export,false), - FindStatus:this.vaildData(this.permission.classifyTree.manage_search,false), - TemRefreshStatus:this.vaildData(this.permission.classifyTree.manage_break,false), - CloneBtnStuatus:this.vaildData(this.permission.classifyTree.manage_clone,false), + permissionList() { + return { + TreeAddStatus: this.vaildData(this.permission.classifyTree.tree_add, false), + TreeEditStatus: this.vaildData(this.permission.classifyTree.tree_edit, false), + TreeDelStatus: this.vaildData(this.permission.classifyTree.tree_delete, false), + flushedStatus: this.vaildData(this.permission.classifyTree.tree_break, false), + EnableStatus: this.vaildData(this.permission.classifyTree.tree_enable, false), + DeactivateStatus: this.vaildData(this.permission.classifyTree.tree_stop, false), + ImportExcelStatus: this.vaildData(this.permission.classifyTree.tree_import, false), + ExportExcelStatus: this.vaildData(this.permission.classifyTree.tree_export, false), + FindStatus: this.vaildData(this.permission.classifyTree.manage_search, false), + TemRefreshStatus: this.vaildData(this.permission.classifyTree.manage_break, false), + CloneBtnStuatus: this.vaildData(this.permission.classifyTree.manage_clone, false), } }, crudTreeOption() { return { index: true, border: true, - columnBtn:false, + columnBtn: false, height: 180, addBtn: this.Formlist.length <= 0 && this.nodeClickList != "", editBtn: false, @@ -866,7 +880,7 @@ }, methods: { // switch - switchChange(){ + switchChange() { this.TreeAddform.isParticipateCheck = this.TreeAddform.codeKeyAttrValue === true ? 1 : 0; // console.log(this.TreeAddform.isParticipateCheck) }, @@ -944,7 +958,7 @@ this.$set(this.TreeAddform, 'codeRuleOidName', this.masterName) this.$set(this.TreeAddform, 'codeRuleOid', this.masterOid) this.$emit('MasterHandler', this.loneTreeNewForm) - this.masterRow=null; + this.masterRow = null; } }, //缂栫爜鎺ュ彛 @@ -953,7 +967,7 @@ referType: 'coderule', isMuti: 'false', 'conditionMap["lcstatus"]': 'Released', - 'limit':'-1', + 'limit': '-1', ...masterParameter }).then(res => { this.masterData = res.data.records; @@ -974,7 +988,7 @@ this.KeySelectLIst = [] this.$set(this.TreeAddform, 'codeKeyAttrRepeatOidName', this.KeyName) this.$set(this.TreeAddform, 'codeKeyAttrRepeatOid', this.KeyOid) - this.masterRow=null; + this.masterRow = null; } }, //鍏抽敭灞炴�ф煡璇� @@ -989,7 +1003,7 @@ referType: 'codekeyattrrepeat', isMuti: 'false', 'conditionMap["lcstatus"]': 'Enabled', - 'limit':'-1', + 'limit': '-1', ...masterParameter }).then(res => { this.KeyData = res.data.records; @@ -1019,7 +1033,7 @@ this.$set(this.TreeAddform, 'codeResembleRuleOidName', this.simName) this.$set(this.TreeAddform, 'codeResembleRuleOid', this.simOid) this.$emit('MasterHandler', this.loneTreeNewForm) - this.masterRow=null; + this.masterRow = null; } }, //鐩镐技椤规煡璇� @@ -1041,7 +1055,7 @@ referType: 'coderesemblerule', isMuti: 'false', 'conditionMap["lcstatus"]': 'Enabled', - 'limit':'-1', + 'limit': '-1', ...masterParameter }).then(res => { this.simData = res.data.records; @@ -1065,7 +1079,7 @@ this.$set(this.TreeAddform, 'btmTypeName', this.btmName) this.$set(this.TreeAddform, 'btmTypeId', this.btmOid) this.$emit('MasterHandler', this.loneTreeNewForm) - this.masterRow=null; + this.masterRow = null; } }, //涓氬姟绫诲瀷鏌ヨ @@ -1083,7 +1097,7 @@ }, //涓氬姟绫诲瀷鎺ュ彛 btmdefaultRend(masterParameter) { - referDataGrid({valueField: 'id', isMuti: 'false','limit':'-1', ...masterParameter}).then(res => { + referDataGrid({valueField: 'id', isMuti: 'false', 'limit': '-1', ...masterParameter}).then(res => { this.BtmData = res.data.data.records }) }, @@ -1100,26 +1114,33 @@ }, //鍒嗙被鏍戞暟鎹鐞� getAttr() { - getAtrrList().then(res => { - this.Treedata = res.data; - this.CloneTreedata = res.data; - this.Treedata.forEach(() => { - for (let i = 0; i < this.Treedata.length; i++) { - this.Treedata[i].value = i; - } - }) - //璋冪敤淇敼灞炴�у悕鏂规硶 - this.ModifyProperties(this.CloneTreedata, 'name', 'label'); - this.CloneTreedata = this.CloneTreedata.map(item => { - if (item.attributes.lcStatus === "Disabled") { - item.label += '銆愬仠鐢ㄣ��'; - } - return item; - }); - }).catch(res => { - this.$message.error(res) - - }) + this.loading = true; + return new Promise((resolve, reject) => { + getAtrrList() + .then(res => { + this.Treedata = res.data; + this.CloneTreedata = res.data; + this.Treedata.forEach(() => { + for (let i = 0; i < this.Treedata.length; i++) { + this.Treedata[i].value = i; + } + }) + //璋冪敤淇敼灞炴�у悕鏂规硶 + this.ModifyProperties(this.CloneTreedata, 'name', 'label'); + this.CloneTreedata = this.CloneTreedata.map(item => { + if (item.attributes.lcStatus === "Disabled") { + item.label += '銆愬仠鐢ㄣ��'; + } + return item; + }); + this.loading = false; + resolve(); // 瀹屾垚璇锋眰锛岃皟鐢╮esolve鏂规硶 + }) + .catch(error => { + this.$message.error(error) + reject(error); // 璇锋眰鍑洪敊锛岃皟鐢╮eject鏂规硶 + }); + }); }, //瀹氫箟涓�涓慨鏀规暟鎹睘鎬у悕鐨勬柟娉� ModifyProperties(obj, oldName, newName) { @@ -1166,35 +1187,31 @@ this.$refs.myForm.clearValidate(); }, //鏍戣妭鐐规坊鍔犱簨浠� - TreeAddHandler() { + async TreeAddHandler() { if ((!this.TreeAddform.id || !this.TreeAddform.name) || (this.TreeFlagCode && !this.TreeAddform.btmTypeName)) { this.$message.warning('璇疯緭鍏ュ唴瀹癸紒'); - } else { + return; + } + try { const data = this.TreeAddform; this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid); - TreeSave(data) - .then(() => { - this.$message({ - type: "success", - message: "娣诲姞鎴愬姛!", - }); - Object.keys(this.TreeAddform).forEach(key => { - this.TreeAddform[key] = ""; - this.TreeAddform.codeKeyAttrValue = true; - this.TreeAddform.isParticipateCheck = 1; - }); - this.getAttr(); - this.TreeAddFormVisible = false; - //娣诲姞瀹屾垚鍚庡彸渚ф竻绌� - this.ProData = []; - this.Formlist = []; - }) - .catch((res) => { - this.$message({ - type: "warning", - message: res, - }); - }); + await TreeSave(data) + this.$message.success("娣诲姞鎴愬姛!"); + Object.keys(this.TreeAddform).forEach(key => { + this.TreeAddform[key] = ""; + }); + this.TreeAddform.codeKeyAttrValue = true; + this.TreeAddform.isParticipateCheck = 1; + this.getAttr(); + this.TreeAddFormVisible = false; + //娣诲姞瀹屾垚鍚庡彸渚ф竻绌� + this.ProData = []; + this.Formlist = []; + } catch (res) { + this.$message({ + type: "warning", + message: res, + }); } }, //鏍戣妭鐐瑰垹闄ゆ寜閽� @@ -1265,82 +1282,96 @@ } }, //鏍戝埛鏂� - flushed() { - this.loading = true - this.getAttr() - setTimeout(() => { - this.loading = false; + async flushed() { + await this.getAttr() this.$refs.tree.setCurrentKey(null); this.nodeClickList = {} this.TreeList = [] this.TreeFlagCode = true; - }, 600); }, //鍚敤鍜屽仠鐢ㄩ兘鍏堝垽鏂姸鎬� //鍚敤 - Enable() { + async Enable() { if (Object.keys(this.nodeClickList).length < 1) { - this.$message.warning('璇峰厛浠庢爲涓婇�夋嫨涓�鏉℃暟鎹�') - } else { - if (this.FlagObj.lcStatus == "Enabled") { - this.$message({ - type: 'warning', - message: '褰撳墠鍒嗙被涓嶆槸鍋滅敤鐘舵��' - }); - } else { - this.$confirm('鏄惁灏嗗瓙鍒嗙被涓�骞跺惎鐢紵', '鎻愮ず', { - confirmButtonText: '鏄�', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { - TreeEnable(this.nodeClickList).then(() => { - this.$message({ - type: 'success', - message: '鍚敤鎴愬姛!' - }); - this.getAttr() - }) - }).catch(() => { + this.$message.warning('璇峰厛浠庢爲涓婇�夋嫨涓�鏉℃暟鎹�'); + return; + } + if (this.FlagObj.lcStatus == "Enabled") { + this.$message({ + type: 'warning', + message: '褰撳墠鍒嗙被涓嶆槸鍋滅敤鐘舵��' + }); + return; + } + this.loading = true; + try { + const confirmResult = await this.$confirm('鏄惁灏嗗瓙鍒嗙被涓�骞跺惎鐢紵', '鎻愮ず', { + confirmButtonText: '鏄�', + cancelButtonText: '鍙栨秷', + type: 'warning' + }); + if (confirmResult) { + await TreeEnable(this.nodeClickList).then(res => { this.$message({ - type: 'info', - message: '宸插彇娑堝惎鐢�' + type: 'success', + message: '鍚敤鎴愬姛!' }); + }) + await this.getAttr(); + + } else { + this.$message({ + type: 'info', + message: '宸插彇娑堝惎鐢�' }); } + } catch (error) { + console.error(error); + } finally { + this.loading = false; + } + }, + + async Deactivate() { + if (Object.keys(this.nodeClickList).length < 1) { + this.$message.warning('璇峰厛浠庢爲涓婇�夋嫨涓�鏉℃暟鎹�'); + return; } - }, - //鍋滅敤 - Deactivate() { - if (Object.keys(this.nodeClickList).length < 1) { - this.$message.warning('璇峰厛浠庢爲涓婇�夋嫨涓�鏉℃暟鎹�') - } else { - if (this.FlagObj.lcStatus === "Disabled") { - this.$message({ - type: 'warning', - message: '褰撳墠鍒嗙被涓嶆槸鍚敤鐘舵��!' - }); - } else { - this.$confirm('鏄惁鍋滅敤褰撳墠鍒嗙被锛屽仠鐢ㄥ悗锛屽瓙鍒嗙被涔熷皢涓嶈兘琚娇鐢紝鏄惁缁х画锛�', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { - TreeDeactivate(this.nodeClickList).then(() => { - this.$message({ - type: 'success', - message: '鍋滅敤鎴愬姛!' - }); - this.nodeClickList['flag'] = true; - this.getAttr() - }) - }).catch(() => { + if (this.FlagObj.lcStatus === "Disabled") { + this.$message({ + type: 'warning', + message: '褰撳墠鍒嗙被涓嶆槸鍚敤鐘舵��!' + }); + return; + } + + this.loading = true; + try { + const confirmResult = await this.$confirm('鏄惁鍋滅敤褰撳墠鍒嗙被锛屽仠鐢ㄥ悗锛屽瓙鍒嗙被涔熷皢涓嶈兘琚娇鐢紝鏄惁缁х画锛�', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }); + if (confirmResult) { + await TreeDeactivate(this.nodeClickList).then(res => { this.$message({ - type: 'info', - message: '宸插彇娑堝仠鐢�' + type: 'success', + message: '鍋滅敤鎴愬姛!' }); + }) + this.nodeClickList['flag'] = true; + await this.getAttr(); + } else { + this.$message({ + type: 'info', + message: '宸插彇娑堝仠鐢�' }); } + } catch (error) { + console.error(error); + } finally { + this.loading = false; } }, //鏍戠偣鍑讳簨浠� @@ -1375,8 +1406,8 @@ this.crudOid = '' } this.TreeList = res3.data.data; - if(this.TreeList.isParticipateCheck === null || this.TreeList.isParticipateCheck === undefined ||this.TreeList.isParticipateCheck === ""){ - this.$set(this.TreeList,"isParticipateCheck",1) + if (this.TreeList.isParticipateCheck === null || this.TreeList.isParticipateCheck === undefined || this.TreeList.isParticipateCheck === "") { + this.$set(this.TreeList, "isParticipateCheck", 1) return } } catch (error) { -- Gitblit v1.9.3