From 2871cb99e018f6bf9e2ef76a424a1429a7c818f0 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期四, 13 七月 2023 11:40:07 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/components/Tree/classifyTrees.vue | 144 +++++++++++++++++++++++++++++++++++------------- 1 files changed, 105 insertions(+), 39 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue index 106a39c..b1ed81c 100644 --- a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue +++ b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue @@ -2,16 +2,23 @@ <template> <el-container> <!-- 宸︿晶鑿滃崟--> - <el-aside> + <el-aside > <basic-container style="height: 85vh; max-height: 155vh; overflow-y: scroll;"> <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="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; flex-direction: column;"> + <div style="display: flex;"> + <el-button plain size="small" type="primary" @click="TreeAdd">娣诲姞</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="flushed">鍒锋柊</el-button> + </div> + <div style="display: flex; margin-top: 10px"> + <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="ImportExcel">瀵煎叆</el-button> + <el-button 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> @@ -32,7 +39,7 @@ <el-form-item label="缂栫爜瑙勫垯锛�" label-width="150px"> <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="TreeFlag==false"> + <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"> @@ -51,15 +58,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}" :TreeFlag="TreeFlag"></classifyTreeform> + <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'edit'" @MasterHandler="MasterHandler" :Editclose=" ()=>{TreeEditFormVisible=false}" :TreeFlag="TreeFlagCode" ::nodeClickList="nodeClickList" @referTreeForm="referTreeForm" @flushed="flushed"></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> @@ -67,11 +75,11 @@ <!-- 鍙充晶琛ㄦ牸--> <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> - <avue-crud v-model="crudForm" v-loading="FormLoing" :data="this.Formlist" :option="this.crudTreeOption" + <avue-crud ref="textCrud" v-model="crudForm" v-loading="FormLoing" :data="this.Formlist" :option="this.crudTreeOption" @row-save="CrudRowSave" @row-del="CrudRowDel" @row-update="CrudRowUpdata" @@ -81,8 +89,6 @@ <template slot="menuLeft"> <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="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> <!-- 鏌ヨ瀵硅瘽妗�--> <el-dialog :visible.sync="FindFormVisible" append-to-body title="楂樼骇鏌ヨ"> @@ -117,7 +123,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" @@ -143,6 +149,7 @@ <avue-crud v-model="ClonecrudForm" v-loading="FormLoing" :data="this.CloneFormlist" :option="this.ClonecrudTreeOption" @selection-change="selectionChange" + ></avue-crud> </div> </el-main> @@ -163,7 +170,16 @@ </el-dialog> </el-dialog> </template> - <template #menu="{ size, row }"> + <template #menu="{ size, row ,index}"> + <el-button type="text" + v-if="row.lcStatus != 'Released'" + icon="el-icon-edit-outline " + :size="size" + @click="$refs.textCrud.rowEdit(row)">缂栬緫</el-button> + <el-button type="text" + icon="el-icon-delete" + :size="size" + @click="$refs.textCrud.rowDel(row,index)">鍒犻櫎</el-button> <el-button v-show="row.lcStatus === 'Released'" @click="upAndStopAndStart(row, 'upVersion')" @@ -286,7 +302,7 @@ </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="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> @@ -324,11 +340,11 @@ //浣跨敤inject鎺ユ敹鍙傛暟 //Treeoption宸︿晶鏍戞柊澧炶〃鍗曢」 Treedata宸︿晶鏍戣妭鐐� 閰嶇疆椤� crudTreeOption鍙充晶琛ㄦ牸閰嶇疆椤� crudTreeData鍙充晶琛ㄦ牸鏄剧ず鍐呭 //Treeform鍙充晶琛ㄥ崟閰嶇疆椤� - inject: [, "crudTreeData"], + inject: ["crudTreeData"], data() { return { //鏍戣妭鐐规樉绀洪殣钘� - TreeFlag:false, + TreeFlagCode:false, //缂栫爜瑙勫垯 MasterdialogVisible:false, masterData:[], @@ -540,11 +556,21 @@ column: [ { label: "妯℃澘缂栧彿", - prop: "id" + prop: "id", + rules: [{ + required: true, + message: "妯℃澘缂栧彿", + trigger: "blur" + }] }, { label: "妯℃澘鍚嶇О", prop: "name", + rules: [{ + required: true, + message: "妯℃澘鍚嶇О", + trigger: "blur" + }] }, { label: "妯℃澘鎻忚堪", @@ -609,13 +635,24 @@ funAPi: startRelease, load: 'startReleaseLoad' } - } + }, + //妯℃澘绠$悊缂栬緫 + showEditBtn:false, } }, //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; + } + }, true) }, computed:{ crudTreeOption(){ @@ -625,14 +662,26 @@ height:180, selection:true, addBtn:this.Formlist.length<=0 && this.nodeClickList != "", + editBtn:false, + delBtn:false, 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: "妯℃澘鎻忚堪", @@ -653,6 +702,10 @@ } }, methods: { + //妯℃澘绠$悊宸插彂甯冪紪杈� + // checkShowEditBtn() { + // this.showEditBtn = this.Formlist.some(item => item.lcStatus === 'Released'); + // }, //缂栫爜瑙勫垯澶辩劍 CodeFoucus(){ this.MasterdialogVisible=true; @@ -829,8 +882,8 @@ }else { this.BtmdialogVisible=false; this.btmSelectList=[] - this.$set(this.loneTreeNewForm,'btmtypename',this.btmName ||this.btmOid) - this.$set(this.loneTreeNewForm,'btmtypeid',this.btmOid) + this.$set(this.TreeAddform,'btmTypeName',this.btmName) + this.$set(this.TreeAddform,'btmTypeId',this.btmOid) this.$emit('MasterHandler',this.loneTreeNewForm) } }, @@ -918,18 +971,20 @@ //鏍戣妭鐐规坊鍔犱簨浠� TreeAddHandler() { const data = this.TreeAddform; - data.btmTypeName= this.TreeList.btmtypename + // data.btmtypename= this.TreeList.btmtypename this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid); - // console.log("data", data); + 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; - this.TreeAddform = ""; }) .catch((res) => { this.$message({ @@ -996,7 +1051,7 @@ }, //淇敼鍥炲~ TreeEdit() { - if (this.nodeClickList == "") { + if ( Object.keys(this.nodeClickList).length<1) { this.$message({ type: 'warning', message: '璇峰厛浠庢爲涓婇�夋嫨涓�鏉℃暟鎹�!' @@ -1076,9 +1131,8 @@ //鏍戠偣鍑讳簨浠� async nodeClick(data) { //瀹氫箟涓�涓ā鏉垮睘鎬d锛屾暟鎹槸妯℃澘绠$悊琛ㄦ牸閲岄潰鐨刼id - console.log('鏍�',data) if(data.parentId == ""){ - this.TreeFlag=true; + this.TreeFlagCode=true; } this.nodeClickList = data this.ProData=[] @@ -1095,20 +1149,32 @@ this.codeClassifyOid = item.codeclassifyoid return item.codeclassifyoid == this.nodeClickList.oid } + console.log('Formlist',this.Formlist) }) }).catch(res => { this.$message.error(res) }) // 鍩烘湰淇℃伅琛ㄥ崟鏁版嵁 - await getObjectByOid(this.nodeClickList.oid).then(res => { - this.TreeList = res.data.data; - }).catch(res => { - this.$message.error(res) - }) + await getObjectByOid(this.nodeClickList.oid).then(res => { + this.TreeList = res.data.data; + }).catch(res => { + this.$message.error(res) + }) } catch (error) { this.$message.error(error) } }, + treeClick(e) { + console.log(e); + }, + //鍩烘湰淇℃伅琛ㄥ崟鍒锋柊 + referTreeForm(){ + getObjectByOid(this.nodeClickList.oid).then(res => { + this.TreeList = res.data.data; + }).catch(res => { + this.$message.error(res) + }) + }, //鍏嬮殕妯℃澘鏍戠殑鐐瑰嚮鍒囨崲鏁版嵁 async ClonenodeClick(data){ this.ClonenodeClickList=data; -- Gitblit v1.9.3