From abe9f2de85ff402a4c989dbc1427807b4e3a59f4 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 06 七月 2023 13:56:17 +0800 Subject: [PATCH] 代码提交 --- Source/UBCS-WEB/src/components/Tree/classifyTrees.vue | 248 +++++++++++++++++++++++++++++++------------------ 1 files changed, 158 insertions(+), 90 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue index 4039188..4afd457 100644 --- a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue +++ b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue @@ -7,12 +7,13 @@ <div> <div style="display: flex;justify-content: space-around"> <el-button plain size="small" type="primary" @click="TreeAdd">娣诲姞</el-button> - <el-button plain size="small" type="primary" @click="ExportExcel">瀵煎嚭</el-button> - <el-button plain size="small" type="primary" @click="ImportExcel">瀵煎叆</el-button> + <el-button plain size="small" type="primary" @click="TreeEdit">淇敼</el-button> + <el-button plain size="small" type="primary" @click="TreeDel">鍒犻櫎</el-button> +<!-- <el-button plain size="small" type="primary" @click="ExportExcel">瀵煎嚭</el-button>--> +<!-- <el-button plain size="small" type="primary" @click="ImportExcel">瀵煎叆</el-button>--> <el-button plain size="small" type="primary" @click="flushed">鍒锋柊</el-button> </div> <div style="display: flex;justify-content: space-around;margin-top: 5px;margin-bottom: 5px"> - </div> </div> <!-- 鏍戣妭鐐规坊鍔犲璇濇--> @@ -27,9 +28,6 @@ </el-form-item> <el-form-item label="鎻忚堪锛�" label-width="150px"> <el-input v-model="TreeAddform.description" autocomplete="off" style="width: 585px"></el-input> - </el-form-item> - <el-form-item v-show="this.TreeFlag==false" label="瀛樺偍鐨勪笟鍔$被鍨嬶細" label-width="150px"> - <el-input v-model="TreeAddform.btmtypename" 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"></el-input> @@ -50,9 +48,9 @@ </el-dialog> <!-- 淇敼瀵硅瘽妗�--> <el-dialog :visible.sync="TreeEditFormVisible" append-to-body title="淇敼鍒嗙被"> - <classifyTreeform ref="childForm" :TreeNewForm="TreeList" :nodeList="nodeList"></classifyTreeform> + <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'edit'" @MasterHandler="MasterHandler" :Editclose=" ()=>{TreeEditFormVisible=false}"></classifyTreeform> </el-dialog> - <avue-tree ref="tree" v-model="TreeAvueform" v-loading="loading" :data="Treedata" :defaultExpandAll="false" + <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" @@ -66,7 +64,7 @@ <!-- 鍙充晶琛ㄦ牸--> <avue-tabs :option="tabOption" @change="handleChange"></avue-tabs> <span v-if="type.prop==='tab1'"> - <classifyTreeform ref="childForm" :TreeNewForm="TreeList" :nodeList="nodeList"></classifyTreeform> + <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'renonly'"></classifyTreeform> </span> <span v-else-if="type.prop==='tab2'"> <basic-container> @@ -74,18 +72,15 @@ @row-save="CrudRowSave" @row-del="CrudRowDel" @row-update="CrudRowUpdata" + :before-close="beforeClose" + @select="selectHandle" > <template slot="menuLeft"> - <el-button plain size="small" type="primary" @click="FindFormVisible = true;">鏌ヨ</el-button> + <el-button plain size="small" type="primary" @click="FindeHanler">鏌ヨ</el-button> <el-button plain size="small" type="primary" @click="TemRefresh">鍒锋柊</el-button> - <el-button plain size="small" type="primary" @click="TreeEdit">淇敼</el-button> - <el-button plain size="small" type="primary" @click="TreeDel">鍒犻櫎</el-button> <el-button plain size="small" type="primary" @click="Enable">鍚敤</el-button> <el-button plain size="small" type="primary" @click="Deactivate">鍋滅敤</el-button> <el-button plain size="small" type="primary" @click="CloneBtn">浠庡叾瀹冩ā鏉垮厠闅�</el-button> - <div style="display: inline-block"> <el-input v-model="FindText" placeholder="璇疯緭鍏ュ叧閿瓧鎸夊洖杞︽煡璇�" - size="small" - @keyup.enter.native="EnterFind"></el-input></div> <!-- 鏌ヨ瀵硅瘽妗�--> <el-dialog :visible.sync="FindFormVisible" append-to-body title="楂樼骇鏌ヨ"> <div> @@ -94,7 +89,7 @@ </div> <div style="padding-left: 80px;margin-top: 15px;"> <template v-for="(value, key) in FindSelect"> - <div style="display: flex;justify-content: space-around;width: 85%;margin-bottom: 15px"> + <div style="display: flex; justify-content: space-around; width: 85%; margin-bottom: 15px"> <el-select v-model="FindSelect[key]" placeholder="璇烽�夋嫨" style="width: 28%" @change="handleSelectChange(key)"> <el-option label="妯℃澘缂栧彿" value="0"></el-option> @@ -118,12 +113,12 @@ <el-container> <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" :defaultExpandAll="false" :option="Treeoption" style="height: 50.5vh;margin-right: 10px" - @node-click=" nodeClick" - @check-change="checkChange" + @node-click="ClonenodeClick" > </avue-tree> </el-aside> @@ -168,17 +163,13 @@ </avue-crud> </basic-container> - <templatePro :ProData="this.ProData"></templatePro> + <templatePro :ProData="this.ProData" :crudOid="this.crudOid" :crudArray="this.crudArray" :Formlist="this.Formlist" :codeClassifyOid="this.codeClassifyOid"></templatePro> </span> </basic-container> </el-main> </el-container> </template> <script> -//杩欓噷澹版槑涓�浜涜彍鍗曠粍浠剁敤娉曪細棣栧厛甯冨眬鍒嗕负宸︿晶鑿滃崟鍙充晶琛ㄦ牸锛屽彲鑳戒細鏈夊彸渚ab鏍忓姞琛ㄥ崟鐨勬儏鍐点�傛墍浠ュ彟澶栧紩鍏ヤ簡涓�涓彸渚ц〃鍗曠殑缁勪欢"classifyTreeform"銆� -//棣栧厛鐖剁粍浠惰皟鐢ㄥ瓙缁勪欢鑿滃崟锛岄�氳繃provide浼犻�掑弬鏁般�傛湁Treeoption宸︿晶鏍戞柊澧炶〃鍗曢」 Treedata宸︿晶鏍戣妭鐐归厤缃」 crudTreeOption鍙充晶琛ㄦ牸閰嶇疆椤� crudTreeData鍙充晶琛ㄦ牸鏄剧ず鍐呭 -//鍏朵腑琛ㄦ牸鐨勯厤缃」鐩存帴鐖朵紶瀛愪紶閫掕繃鏉ュ氨琛岋紝鐩存帴:option=浼犻�掔殑鍙傛暟鍚嶏紝閲岄潰鏁版嵁鏄剧ず鐨勫唴瀹瑰洜涓烘槸鍜屽乏渚ц仈鍔ㄧ殑锛屾墍浠ラ噸鏂颁竴涓狥ormlist锛岄�氳繃鐐瑰嚮鏍戣妭鐐逛笅鏍囨潵鍔ㄦ�佹覆鏌撳彸渚ц〃鏍硷紝涓嬮潰鏂规硶閮芥湁鍏蜂綋娉ㄩ噴 -//鐒跺悗鍐嶈鍙充晶鐨勮〃鍗曪紝涓撻棬瀹氫箟浜嗕竴涓粍浠讹紝閫氳繃鐖朵紶瀛愬啀鎶婅〃鍗曟暟鎹甌reeList浼犻�掕繃鍘伙紝浼犻�掑墠鍦�10deCLi1ck鏂规硶閲岄潰渚夸簡澶勭悊涔熸槸涓�涓仈鍔ㄧ殑鏁堟灉锛岃〃鍗曠殑閰嶇疆椤瑰湪鍝釜瀛愮粍浠舵垨鑰呯埗缁勪欢鍐欓兘鍙互銆� import { getAtrrList, TreeSave, @@ -187,7 +178,6 @@ TreeObjcet, TreeEnable, TreeDeactivate, - importClassify, gridCodeClassifyTemplate, getObjectByOid, gridCodeClassifyTemplateAttr, @@ -197,20 +187,28 @@ editSave, copy } from "@/api/template/templateAttr"; -import done from "@/views/work/done"; export default { name: "classifyTrees.vue", //浣跨敤inject鎺ユ敹鍙傛暟 //Treeoption宸︿晶鏍戞柊澧炶〃鍗曢」 Treedata宸︿晶鏍戣妭鐐� 閰嶇疆椤� crudTreeOption鍙充晶琛ㄦ牸閰嶇疆椤� crudTreeData鍙充晶琛ㄦ牸鏄剧ず鍐呭 //Treeform鍙充晶琛ㄥ崟閰嶇疆椤� - inject: ['crudTreeOption', "crudTreeData"], + inject: [, "crudTreeData"], data() { return { + addFlag:false, + // 琛ㄦ牸褰撳墠琛宨d + crudOid:"", + //琛ㄦ牸褰撳墠閫夋嫨鏁扮粍 + crudArray:[], //妯℃澘灞炴�у睍绀哄唴瀹� ProData: [], //鍥炶溅閿悳绱㈢粦瀹氬�� - FindText: "", + searchTemplate: { + searchCondition: 'id', + findText: "", + }, + //楂樼骇鏌ヨ瀵硅瘽妗� FindFormVisible: false, //鍏嬮殕妯℃澘瀵硅瘽妗� @@ -244,6 +242,7 @@ TreeAddFormVisible: false, //褰撳墠鐐瑰嚮椤� nodeClickList: "", + ClonenodeClickList:"", //鍒嗙被鍜屼富棰樺簱鐘舵�� TreeFlag: false, //鏍戝姞杞� @@ -264,7 +263,10 @@ }, //avue-tree鏁版嵁锛屾殏鏃舵病鏈変綔鐢紝閲岄潰鍔熻兘鐢╡lement鍐欎簡锛屽彧鐢╝vue鐨勪竴涓爲缁勪欢涓嶇敤鍐呯疆琛ㄥ崟浜嗐�� TreeAvueform: {}, + //鍏嬮殕鏍� + CloneTreeAvueform:{}, Treedata: [], + CloneTreedata:[], Treeoption: { addBtn: false, editBtn: false, @@ -290,7 +292,7 @@ CloneSelectOptions: [{ value: '0', label: '妯℃澘缂栧彿' - }, + }, { value: '1', label: '妯℃澘鍚嶇О' @@ -343,7 +345,7 @@ }, { label: "妯℃澘鍚嶇О", - prop: "name" + prop: "name", }, { label: "妯℃澘鎻忚堪", @@ -396,23 +398,73 @@ this.type = this.tabOption.column[0]; this.getAttr(); }, + computed:{ + crudTreeOption(){ + return{ + index: true, + border: true, + height:180, + selection:true, + addBtn:this.Formlist.length<=0 && this.nodeClickList != "", + column: [ + { + label: "妯℃澘缂栧彿", + prop: "id" + }, + { + label:"妯℃澘鍚嶇О", + prop:"name" + }, + { + label: "妯℃澘鎻忚堪", + prop:"description" + }, + { + label:"鐗堟湰鍙�", + prop:"revisionSeq", + display:false + }, + { + label:"鐘舵��", + prop:"lcStatusText", + display:false + } + ] + } + } + }, methods: { + MasterHandler(val){ + console.log('鐖朵翰',val) + this.TreeList=val + }, + //琛屽崟閫変簨浠� + selectHandle(selection,row){ + this.crudOid=row.oid; + this.crudArray=selection; + gridCodeClassifyTemplateAttr({'conditionMap[classifyTemplateOid]': this.Formlist[0].oid}).then(res => { + this.ProData = res.data.data; + }).catch(res => { + this.$message.error(res) + }) + }, //鍒嗙被鏍戞暟鎹鐞� 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.Treedata, 'text', 'label'); + this.ModifyProperties(this.CloneTreedata, 'name', 'label'); }).catch(res => { this.$message.error(res) }) }, - //瀹氫箟涓�涓慨鏀瑰璞″睘鎬у悕鐨勬柟娉� 杩欓噷鍒敼锛侊紒锛佸ソ鍍忔槸鍚庡彴鎺ュ彛鏁版嵁瀛楁涓嶄竴鑷达紝娣诲姞鐨勬柟娉曘�傚叿浣撲粈涔堝師鍥犳垜涔熷繕璁颁簡 + //瀹氫箟涓�涓慨鏀规暟鎹睘鎬у悕鐨勬柟娉� ModifyProperties(obj, oldName, newName) { for (let key in obj) { if (key === oldName) { @@ -515,7 +567,7 @@ message: '璇峰厛浠庢爲涓婇�夋嫨涓�鏉℃暟鎹�!' }); } else { - this.TreeEditFormVisible = true + this.TreeEditFormVisible = true; } }, //鏍戝埛鏂� @@ -541,7 +593,7 @@ cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { - TreeEnable(this.nodeClickList).then((res) => { + TreeEnable(this.nodeClickList).then(() => { this.$message({ type: 'success', message: '鍚敤鎴愬姛!' @@ -569,7 +621,7 @@ cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { - TreeDeactivate(this.nodeClickList).then((res) => { + TreeDeactivate(this.nodeClickList).then(() => { this.$message({ type: 'success', message: '鍋滅敤鎴愬姛!' @@ -589,7 +641,7 @@ async nodeClick(data) { //瀹氫箟涓�涓ā鏉垮睘鎬d锛屾暟鎹槸妯℃澘绠$悊琛ㄦ牸閲岄潰鐨刼id this.nodeClickList = data - console.log(data.oid) + this.ProData=[] try { await TreeObjcet(data.oid).then(res => { this.FlagObj = res.data.data @@ -598,44 +650,40 @@ }) //妯℃澘绠$悊琛ㄦ牸鏁版嵁 await gridCodeClassifyTemplate({'conditionMap[codeclassifyoid]': data.oid}).then(res => { - if (this.CloneVisible != true) { - this.Formlist = res.data.data.filter(item => { - if (item.codeclassifyoid != "") { - this.codeClassifyOid = item.codeclassifyoid - return item.codeclassifyoid == this.nodeClickList.oid - } - }) - } else { - this.CloneFormlist = res.data.data.filter(item => { - if (item.codeclassifyoid != "") { - this.codeClassifyOid = item.codeclassifyoid - return item.codeclassifyoid == this.nodeClickList.oid - } - }) - } - gridCodeClassifyTemplateAttr({'conditionMap[classifyTemplateOid]': this.Formlist[0].oid}).then(res => { - this.ProData = res.data.data - console.log(this.ProData) - }).catch(res => { - this.$message.error(res) + this.Formlist = res.data.data.filter(item => { + if (item.codeclassifyoid != "") { + this.codeClassifyOid = item.codeclassifyoid + return item.codeclassifyoid == this.nodeClickList.oid + } }) }).catch(res => { - console.log(res) + this.$message.error(res) }) // 鍩烘湰淇℃伅琛ㄥ崟鏁版嵁 await getObjectByOid(this.nodeClickList.oid).then(res => { - this.TreeList = res.data.data - // eslint-disable-next-line no-const-assig + this.TreeList = res.data.data; }).catch(res => { this.$message.error(res) }) } catch (error) { - console.log(error) + this.$message.error(error) } + }, + //鍏嬮殕妯℃澘鏍戠殑鐐瑰嚮鍒囨崲鏁版嵁 + async ClonenodeClick(data){ + this.ClonenodeClickList=data; + await gridCodeClassifyTemplate({'conditionMap[codeclassifyoid]': data.oid}).then(res=>{ + this.CloneFormlist = res.data.data.filter(item => { + if (item.codeclassifyoid != "") { + this.codeClassifyOid = item.codeclassifyoid + return item.codeclassifyoid == this.ClonenodeClickList.oid + } + }) + }) }, //tab鏍忓垏鎹� handleChange(column) { - this.type = column + this.type = column; }, // //楂樼骇鏌ヨ鎸夐挳 // handleSelectChange(key) { @@ -702,22 +750,23 @@ this.Formlist = res.data.data }) }, + //妯℃澘绠$悊琛ㄦ牸娣诲姞 CrudRowSave(row,done) { - debugger - console.log(nodeClickList.length) if (this.nodeClickList.length <= 0) { this.$message({ type: 'warning', message: '璇峰厛浠庢爲涓婇�夋嫨涓�鏉℃暟鎹�!' }); } else { - console.log(this.nodeClickList) - let codeClassifyOid = this.codeClassifyOid - this.$set(row, "codeclassifyoid", codeClassifyOid) - addSave(row).then(res => { + this.$set(row, "codeclassifyoid", this.nodeClickList.oid) + addSave(row).then(() => { + this.$message({ + type: "success", + message: "娣诲姞鎴愬姛!" + }); + done(row) this.CrudRend() - done() }).catch(res => { this.$message({ type: 'info', @@ -725,21 +774,24 @@ }); }) } + console.log('123',this.codeClassifyOid) }, //妯℃澘绠$悊淇敼 - CrudRowUpdata(row) { + CrudRowUpdata(row,index,done) { editSave(row).then(() => { this.CrudRend() - }).catch(res => { this.$message({ - type: 'info', - message: res + type: "success", + message: "鎿嶄綔鎴愬姛!" }); + done() + }).catch(res => { + this.$message.error(res) }) }, //妯℃澘绠$悊鍒犻櫎 CrudRowDel(row) { - deleteData(row).then(res => { + deleteData(row).then(()=> { this.CrudRend() }).catch(res => { this.$message({ @@ -748,21 +800,20 @@ }); }) }, - //妯℃澘绠$悊琛ㄦ牸鏌ヨ - EnterFind() { - console.log(this.Formlist) - if (this.FindText == "") { + //妯℃澘绠$悊琛ㄦ牸鏌ヨ,鍙湁涓�鏉℃暟鎹病蹇呰鍋氭悳绱� + /*nterFind() { + if (this.findText == "") { gridCodeClassifyTemplate().then(res => { this.Formlist = res.data.data }) } else { gridCodeClassifyTemplate().then(res => { this.Formlist = res.data.data.filter(item => { - return item.name.includes(this.FindText) + return item.name.includes(this.findText) }) }) } - }, + },*/ //鍏嬮殕妯℃澘鏌ヨ CloneEnterFind(){ gridCodeClassifyTemplate().then(res => { @@ -775,9 +826,17 @@ }) }) }, + // 鏌ヨ + FindeHanler(){ + if(this.nodeClickList != ""){ + this.FindFormVisible=true + }else { + this.$message.warning('璇蜂粠鏍戜笂閫夋嫨涓�鏉℃暟鎹�') + } + }, //鍏嬮殕妯℃澘閫夋嫨纭畾 Clonehandler(){ - if(this.CloneFormlist.length <= 0){ + if(this.CloneSelect.length <= 0){ this.$message({ type: 'warning', message: '璇烽�夋嫨瑕佸厠闅嗙殑妯℃澘!' @@ -788,7 +847,8 @@ message: '鍙兘閫夋嫨涓�鏉℃暟鎹�!' }); } else { - this.CloneinnerVisible=true + this.CloneinnerVisible=true; + } }, //鐐瑰嚮浠庡叾瀹冩ā鏉垮厠闅� @@ -804,16 +864,27 @@ }, //鍏嬮殕妯℃澘鍗曢�夋鏀瑰彉 selectionChange(row){ - console.log(row) - this.CloneSelect=row + this.CloneSelect=row; + //鍙屽悜缁戝畾锛屾彁浜よ〃鍗曡緭鍏ユ鍥炲~涓婂綋鍓嶉�夋嫨鐨勬暟鎹� this.CloneModel.id=row[0].id; this.CloneModel.name=row[0].name; + //杩欓噷鏈夌偣缁曪紝CloneSelect鏄垜閫夋嫨妗嗛�夋嫨鐨勬暟鎹�傜瓑浜巘his.nodeClickList.oid鏄洜涓猴紝鍏嬮殕妯℃澘浼犻�掓暟鎹鎶婂綋鍓嶉�夋嫨鏍戠殑oid浼犻�掔粰鍚庣銆傝�屼笉鏄綋鍓嶈鍏嬮殕妯℃澘鐨刼id + this.CloneSelect[0].codeclassifyoid=this.nodeClickList.oid }, //鍏嬮殕琛ㄥ崟鎻愪氦 - Clonesubmit(done){ - copy(this.CloneSelect[0]).then(res=>{ - console.log(res) - done() + Clonesubmit(row,done){ + //閲嶆柊璧嬪�糃loneSelect浼犻�掔殑鏁版嵁涓鸿緭鍏ユ鍙互淇敼鐨勬暟鎹紝CloneModel鎻愪氦琛ㄥ崟杈撳叆妗嗗弻鍚戠粦瀹氭暟鎹� + this.CloneSelect[0].id=this.CloneModel.id; + this.CloneSelect[0].name=this.CloneModel.name; + copy(this.CloneSelect[0]).then(()=>{ + //鍥犱负鏄祵濂楀脊绐楁墍浠ユ墜鍔ㄥ叧闂瑿loneinnerVisible锛孋loneVisible涓や釜寮圭獥銆� + this.CloneinnerVisible=false + this.CloneVisible=false + this.$message.success("澶嶅埗鎴愬姛") + this.CrudRend() + done(row) + }).catch(res=>{ + done(res) }) }, //鍒锋柊 @@ -831,10 +902,6 @@ setTimeout(() => { this.FormLoing = false }, 600); - }, - // 宸︽爲澶氶�� - checkChange(val) { - console.log(val) }, } } @@ -858,4 +925,5 @@ .my-messageboxs { width: 500px; } + </style> -- Gitblit v1.9.3