From 9d8be8e7580ef577def96c852288a5a95eab4ea3 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 11 七月 2023 19:22:53 +0800 Subject: [PATCH] 代码整合,前端代码打包 --- Source/UBCS-WEB/src/components/Tree/classifyTrees.vue | 322 ++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 243 insertions(+), 79 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue index 5090b8c..c659dfa 100644 --- a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue +++ b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue @@ -2,8 +2,9 @@ <template> <el-container> <!-- 宸︿晶鑿滃崟--> - <el-aside> + <el-aside > <basic-container style="height: 85vh; max-height: 155vh; overflow-y: scroll;"> + <div> <div> <div style="display: flex;justify-content: space-around"> <el-button plain size="small" type="primary" @click="TreeAdd">娣诲姞</el-button> @@ -30,10 +31,13 @@ <el-input v-model="TreeAddform.description" autocomplete="off" style="width: 585px"></el-input> </el-form-item> <el-form-item label="缂栫爜瑙勫垯锛�" label-width="150px"> - <el-input v-model="TreeAddform.coderuleoidName" autocomplete="off" style="width: 585px" @focus="CodeFoucus"></el-input> + <el-input v-model="TreeAddform.codeRuleOidName" autocomplete="off" style="width: 585px" @focus="CodeFoucus"></el-input> + </el-form-item> + <el-form-item label="涓氬姟绫诲瀷锛�" label-width="150px" v-if="TreeFlagCode==false"> + <el-input v-model="TreeAddform.btmTypeName" autocomplete="off" style="width: 585px" @focus="btmFoucus"></el-input> </el-form-item> <el-form-item label="鍏抽敭灞炴�ф煡璇㈣鍒欙細" label-width="150px"> - <el-input v-model="TreeAddform.codekeyattrrepeatoidName" autocomplete="off" @focus="Keyfouce" + <el-input v-model="TreeAddform.codeKeyAttrRepeatOidName" autocomplete="off" @focus="Keyfouce" style="width: 585px"></el-input> </el-form-item> <el-form-item label="鐩镐技鏌ヨ瑙勫垯锛�" label-width="150px"> @@ -48,15 +52,16 @@ </el-dialog> <!-- 淇敼瀵硅瘽妗�--> <el-dialog :visible.sync="TreeEditFormVisible" append-to-body title="淇敼鍒嗙被"> - <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'edit'" @MasterHandler="MasterHandler" :Editclose=" ()=>{TreeEditFormVisible=false}"></classifyTreeform> + <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'edit'" @MasterHandler="MasterHandler" :Editclose=" ()=>{TreeEditFormVisible=false}" :TreeFlag="TreeFlagCode" ::nodeClickList="nodeClickList"></classifyTreeform> </el-dialog> <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata" :defaultExpandAll="false" :option="Treeoption" style="height: 80.5vh;padding-top: 5px;padding-bottom: 30px" - @node-click=" nodeClick" - @check-change="checkChange" + @node-click="nodeClick" + class="classifyTree" > </avue-tree> + </div> </basic-container> </el-aside> <el-main> @@ -64,7 +69,7 @@ <!-- 鍙充晶琛ㄦ牸--> <avue-tabs :option="tabOption" @change="handleChange"></avue-tabs> <span v-if="type.prop==='tab1'"> - <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'renonly'"></classifyTreeform> + <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'renonly'" ></classifyTreeform> </span> <span v-else-if="type.prop==='tab2'"> <basic-container> @@ -114,7 +119,7 @@ <el-aside width="300px"> <div style="margin-bottom: 5px"><el-tag>涓婚搴撳垎绫�</el-tag></div> <!-- 鍏嬮殕妯℃澘鐨勬爲 娌跨敤棣栭〉鏍戠殑loading鍜宱ption锛屼絾鏄痙ata鍜寁-model缁戝畾鐨勬暟鎹垱寤轰竴涓柊鐨勫彉閲忥紝鍙﹀鐐瑰嚮鏂规硶涔熸槸閲嶆柊鑾峰彇鏉ユ搷浣滃厠闅嗘ā鏉跨殑鏁版嵁--> - <avue-tree ref="tree" v-model="TreeAvueform" v-loading="loading" :data="Treedata" + <avue-tree v-model="TreeAvueform" v-loading="loading" :data="Treedata" :defaultExpandAll="false" :option="Treeoption" style="height: 50.5vh;margin-right: 10px" @@ -160,6 +165,35 @@ </el-dialog> </el-dialog> </template> + <template #menu="{ size, row }"> + <el-button + v-show="row.lcStatus === 'Released'" + @click="upAndStopAndStart(row, 'upVersion')" + :loading="row.upVersionLoad" + icon="el-icon-upload2" + type="text" + :size="size" + >鍗囩増</el-button + > + <el-button + v-show="row.lcStatus === 'Released'" + @click="upAndStopAndStart(row, 'stopLose')" + :loading="row.stopLoseLoad" + icon="el-icon-circle-close" + type="text" + :size="size" + >鍋滅敤/澶辨晥</el-button + > + <el-button + v-show="['Disabled', 'Editing'].includes(row.lcStatus)" + @click="upAndStopAndStart(row, 'startRelease')" + :loading="row.startReleaseLoad" + icon="el-icon-circle-check" + type="text" + :size="size" + >鍚敤/鍙戝竷</el-button + > + </template> </avue-crud> </basic-container> @@ -206,7 +240,7 @@ </template> <avue-crud :data="KeyData" :option="masterOption" @select="KeySelect"></avue-crud> <div style="height: 30px"> - <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.TreeAddform.codekeyattrrepeatoidName ==''?'鏈缃��':this.TreeAddform.codekeyattrrepeatoidName}}]</div> + <div style="display: inline-block;float: left;border: 1px solid #eeeeee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.TreeAddform.codeKeyAttrRepeatOidName ==''?'鏈缃��':this.TreeAddform.codekeyattrrepeatoidName}}]</div> <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" > <el-button type="primary" size="small" @click="KeyHandlerClick">纭畾</el-button> <el-button size="small" @click="KeydialogVisible=false">鍙栨秷</el-button> @@ -237,6 +271,30 @@ </div> </div> </el-dialog> +<!-- 涓氬姟绫诲瀷--> + <el-dialog :visible.sync="BtmdialogVisible" title="涓恒�愪笟鍔$被鍨嬭鍒欍�戦�夊彇鍊�" append-to-body> + <template> + <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px !important;"> + <el-option + v-for="item in SelectOption" + :key="item.value" + :label="item.label" + :value="item.value" + style="width: 130px"> + </el-option> + </el-select> + <el-input style="width: 260px;margin-left: 15px" placeholder="杈撳叆鍊煎悗杩涜妯$硦鏌ヨ" v-model="SelectFInd"></el-input> + <el-button size="small" type="primary" plain @click="BtmSelectFindeHandler" style="margin-left: 20px">鏌ヨ</el-button> + </template> + <avue-crud :data="BtmData" :option="masterOption" @select="btmSelect"></avue-crud> + <div style="height: 30px"> + <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.TreeAddform.btmTypeName}}]</div> + <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" > + <el-button type="primary" size="small" @click="btmHandlerClick">纭畾</el-button> + <el-button size="small" @click="BtmdialogVisible=false">鍙栨秷</el-button> + </div> + </div> + </el-dialog> </basic-container> </el-main> </el-container> @@ -257,7 +315,10 @@ addSave, deleteData, editSave, - copy + copy, + upVersion, + stopLose, + startRelease } from "@/api/template/templateAttr"; import {defaultReferDataGrid,referDataGrid} from '@/api/MasterData/master' export default { @@ -268,6 +329,8 @@ inject: [, "crudTreeData"], data() { return { + //鏍戣妭鐐规樉绀洪殣钘� + TreeFlagCode:false, //缂栫爜瑙勫垯 MasterdialogVisible:false, masterData:[], @@ -286,6 +349,12 @@ simData:[], SimidialogVisible:false, simSelectList:[], + //涓氬姟绫诲瀷 + btmName:"", + btmOid:"", + BtmData:[], + BtmdialogVisible:false, + btmSelectList:[], masterOption:{ addBtn:false, index:true, @@ -387,11 +456,11 @@ //鐩镐技鏌ヨ瑙勫垯 codeResembleRuleOidName: "", //鍏抽敭灞炴�ф煡璇㈣鍒� - codekeyattrrepeatoidName: "", + codeKeyAttrRepeatOidName: "", //缂栫爜瑙勫垯 - coderuleoidName: "", + codeRuleOidName: "", //瀛樺偍鐨勪笟鍔$被鍨� - btmtypename: "" + btmTypeName: "" }, //avue-tree鏁版嵁锛屾殏鏃舵病鏈変綔鐢紝閲岄潰鍔熻兘鐢╡lement鍐欎簡锛屽彧鐢╝vue鐨勪竴涓爲缁勪欢涓嶇敤鍐呯疆琛ㄥ崟浜嗐�� TreeAvueform: {}, @@ -473,11 +542,21 @@ column: [ { label: "妯℃澘缂栧彿", - prop: "id" + prop: "id", + rules: [{ + required: true, + message: "妯℃澘缂栧彿", + trigger: "blur" + }] }, { label: "妯℃澘鍚嶇О", prop: "name", + rules: [{ + required: true, + message: "妯℃澘鍚嶇О", + trigger: "blur" + }] }, { label: "妯℃澘鎻忚堪", @@ -522,13 +601,44 @@ ], //浼犻�掔粰瀛愮粍浠跺姩鎬佹覆鏌撶殑鏁版嵁 TreeList: {}, - codeClassifyOid: "" + codeClassifyOid: "", + upAndStopAndStartData: { + upVersion: { + tip: "鏄惁杩涜鍗囩増锛�", + typeText: "鍗囩増", + funAPi: upVersion, + load: 'upVersionLoad' + }, + stopLose: { + tip: "妯℃澘鍙湁鍙戝竷鐘舵�佹墠鑳借浣跨敤锛屾槸鍚︾‘瀹氬仠鐢紵", + typeText: "鍋滅敤/澶辨晥", + funAPi: stopLose, + load: 'stopLoseLoad' + }, + startRelease: { + tip: "鏄惁纭畾鍚敤/鍙戝竷杩欎釜妯℃澘锛屾ā鏉垮彧鏈夊彂甯冪姸鎬佹墠鑳借浣跨敤锛屾槸鍚︾户缁紵", + typeText: "鍚敤/鍙戝竷", + funAPi: startRelease, + load: 'startReleaseLoad' + } + } } }, //tab鏍忛粯璁ゆ槸琛ㄦ牸 mounted() { this.type = this.tabOption.column[0]; this.getAttr(); + const treeEle = this.$refs.tree.$el + treeEle.addEventListener('click', (e) => { + if (e.target.nodeName !== 'SPAN') { + this.$refs.tree.setCurrentKey(null) + this.nodeClickList = {} + this.TreeList=[] + this.TreeFlagCode=false + console.log('鍚嶵reeList',this.TreeList) + console.log('鍚巒odeClickList',this.nodeClickList) + } + }, true) }, computed:{ crudTreeOption(){ @@ -541,11 +651,21 @@ column: [ { label: "妯℃澘缂栧彿", - prop: "id" + prop: "id", + rules: [{ + required: true, + message: "妯℃澘缂栧彿", + trigger: "blur" + }] }, { - label:"妯℃澘鍚嶇О", - prop:"name" + label: "妯℃澘鍚嶇О", + prop: "name", + rules: [{ + required: true, + message: "妯℃澘鍚嶇О", + trigger: "blur" + }] }, { label: "妯℃澘鎻忚堪", @@ -606,8 +726,8 @@ }else { this.MasterdialogVisible=false; this.masterSelectList=[] - this.$set(this.TreeAddform,'coderuleoidName',this.masterName) - this.$set(this.TreeAddform,'coderuleOid',this.masterOid) + this.$set(this.TreeAddform,'codeRuleOidName',this.masterName) + this.$set(this.TreeAddform,'codeRuleOid',this.masterOid) this.$emit('MasterHandler',this.loneTreeNewForm) console.log(this.loneTreeNewForm) } @@ -635,9 +755,9 @@ }else { this.KeydialogVisible=false; this.KeySelectLIst=[] - this.$set(this.TreeAddform,'codeResembleRuleOidName',this.simName) - this.$set(this.TreeAddform,'codeResembleRuleOid',this.simOid) - this.$emit('MasterHandler',this.loneTreeNewForm) + this.$set(this.TreeAddform,'codeKeyAttrRepeatOidName',this.KeyName) + this.$set(this.TreeAddform,'codeKeyAttrRepeatOid',this.KeyOid) + console.log(this.TreeAddform) } }, //鍏抽敭灞炴�ф煡璇� @@ -728,6 +848,56 @@ this.simData=res.data.records; }) }, + //涓氬姟绫诲瀷澶辩劍 + btmFoucus(){ + this.BtmdialogVisible=true; + this.btmdefaultRend() + }, + //涓氬姟绫诲瀷纭畾 + btmHandlerClick(){ + if(this.btmSelectList.length>1){ + this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹�') + }else if(this.btmSelectList.length<=0){ + this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�') + }else { + this.BtmdialogVisible=false; + this.btmSelectList=[] + this.$set(this.TreeAddform,'btmTypeName',this.btmName) + this.$set(this.TreeAddform,'btmTypeId',this.btmOid) + this.$emit('MasterHandler',this.loneTreeNewForm) + } + }, + //涓氬姟绫诲瀷鏌ヨ + BtmSelectFindeHandler(){ + if(this.SelectValue == 'id'){ + const masterParameter={ + 'conditionMap[id]':this.SelectFInd + } + this.btmdefaultRend(masterParameter); + this.SelectValue="" + this.SelectFInd="" + }else if(this.SelectValue == 'name'){ + const masterParameter={ + 'conditionMap[name]':this.SelectFInd + } + this.btmdefaultRend(masterParameter) + this.SelectValue="" + this.SelectFInd="" + } + }, + //涓氬姟绫诲瀷澶氶�� + btmSelect(row){ + this.btmSelectList=row; + this.btmName=row[0].name; + this.btmOid=row[0].oid; + }, + //涓氬姟绫诲瀷鎺ュ彛 + btmdefaultRend(masterParameter){ + referDataGrid({valueField:'id',isMuti:'false',...masterParameter}).then(res=>{ + // console.log(res) + this.BtmData=res.data.data.records + }) + }, //瀛愪紶鐖� MasterHandler(val){ this.TreeList=val @@ -780,23 +950,28 @@ }, //鏍戣妭鐐规坊鍔犱簨浠� TreeAddHandler() { - const data = this.TreeAddform - this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid) - console.log('data',data) - TreeSave(data).then(() => { - this.$message({ - type: 'success', - message: '娣诲姞鎴愬姛!' + const data = this.TreeAddform; + // data.btmtypename= this.TreeList.btmtypename + this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid); + console.log("data", data); + TreeSave(data) + .then(() => { + this.$message({ + type: "success", + message: "娣诲姞鎴愬姛!", + }); + Object.keys(this.TreeAddform).forEach(key => { + this.TreeAddform[key] = ""; + }); + this.getAttr(); + this.TreeAddFormVisible = false; + }) + .catch((res) => { + this.$message({ + type: "warning", + message: res, + }); }); - this.getAttr(); - this.TreeAddFormVisible = false - this.TreeAddform = "" - }).catch(res => { - this.$message({ - type: 'warning', - message: res - }); - }) }, //鏍戣妭鐐瑰垹闄ゆ寜閽� TreeDel() { @@ -856,13 +1031,14 @@ }, //淇敼鍥炲~ TreeEdit() { - if (this.nodeClickList == "") { + if ( Object.keys(this.nodeClickList).length<1) { this.$message({ type: 'warning', message: '璇峰厛浠庢爲涓婇�夋嫨涓�鏉℃暟鎹�!' }); } else { this.TreeEditFormVisible = true; + console.log(this.TreeList) } }, //鏍戝埛鏂� @@ -935,6 +1111,9 @@ //鏍戠偣鍑讳簨浠� async nodeClick(data) { //瀹氫箟涓�涓ā鏉垮睘鎬d锛屾暟鎹槸妯℃澘绠$悊琛ㄦ牸閲岄潰鐨刼id + if(data.parentId == ""){ + this.TreeFlagCode=true; + } this.nodeClickList = data this.ProData=[] try { @@ -964,6 +1143,9 @@ this.$message.error(error) } }, + treeClick(e) { + console.log(e); + }, //鍏嬮殕妯℃澘鏍戠殑鐐瑰嚮鍒囨崲鏁版嵁 async ClonenodeClick(data){ this.ClonenodeClickList=data; @@ -980,44 +1162,6 @@ handleChange(column) { this.type = column; }, - // //楂樼骇鏌ヨ鎸夐挳 - // handleSelectChange(key) { - // const selectedValue = this.FindSelect[key]; - // console.log(selectedValue) - // console.log(this.QueryArray[0]) - // switch (this.FindSelect[key]) { - // case '0': - // this.QueryArray[key] = ''; - // this.$set(this.QueryArray, key, ''); - // // 濡傛灉閫変腑鐨勬槸妯℃澘缂栧彿锛岀浉搴旂殑杈撳叆妗嗗弻鍚戠粦瀹氬叧绯讳负 QueryArray.id - // this.$set(this.QueryArray, 'id', this.QueryArray[key]); - // break; - // case '1': - // this.QueryArray[key] = ''; - // this.$set(this.QueryArray, key, ''); - // // 濡傛灉閫変腑鐨勬槸妯℃澘鍚嶇О锛岀浉搴旂殑杈撳叆妗嗗弻鍚戠粦瀹氬叧绯讳负 QueryArray.name - // this.$set(this.QueryArray, 'name', this.QueryArray[key]); - // break; - // case '2': - // this.QueryArray[key] = ''; - // this.$set(this.QueryArray, key, ''); - // // 濡傛灉閫変腑鐨勬槸妯℃澘鎻忚堪锛岀浉搴旂殑杈撳叆妗嗗弻鍚戠粦瀹氬叧绯讳负 QueryArray.description - // this.$set(this.QueryArray, 'description', this.QueryArray[key]); - // break; - // case '3': - // this.QueryArray[key] = ''; - // this.$set(this.QueryArray, key, ''); - // // 濡傛灉閫変腑鐨勬槸鐗堟湰鍙凤紝鐩稿簲鐨勮緭鍏ユ鍙屽悜缁戝畾鍏崇郴涓� QueryArray.revisionValue - // this.$set(this.QueryArray, 'revisionValue', this.QueryArray[key]); - // break; - // case '4': - // this.QueryArray[key] = ''; - // this.$set(this.QueryArray, key, ''); - // // 濡傛灉閫変腑鐨勬槸鐘舵�侊紝鐩稿簲鐨勮緭鍏ユ鍙屽悜缁戝畾鍏崇郴涓� QueryArray.lcStatus - // this.$set(this.QueryArray, 'lcStatus', this.QueryArray[key]); - // break; - // } - // }, AdvQueries() { this.FindFormVisible = false //濡傛灉鍏ㄩ儴涓虹┖ allEmpty涓簍rue @@ -1143,7 +1287,6 @@ }); } else { this.CloneinnerVisible=true; - } }, //鐐瑰嚮浠庡叾瀹冩ā鏉垮厠闅� @@ -1198,6 +1341,27 @@ this.FormLoing = false }, 600); }, + upAndStopAndStart(row, type) { + this.$confirm(this.upAndStopAndStartData[type]["tip"], "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }).then(() => { + this.$set(row, this.upAndStopAndStartData[type]["load"], true) + const { ts, oid } = row; + this.upAndStopAndStartData[type]['funAPi']({ ts, oid }).then((res) => { + if (res.data.code === 200) { + this.$set(row, this.upAndStopAndStartData[type]["load"], false) + this.TemRefresh(); + this.$message.success( + this.upAndStopAndStartData[type]["typeText"] + "鎴愬姛锛�" + ); + } + }).catch(() => { + this.$set(row, this.upAndStopAndStartData[type]["load"], false) + }); + }); + }, } } </script> -- Gitblit v1.9.3