From 29a163df36dd12960a8a8592d0b25b36def8cb53 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期一, 10 七月 2023 23:00:48 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/components/Tree/classifyTrees.vue | 149 +++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 137 insertions(+), 12 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue index 55b44b4..9512d4b 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> - <basic-container style="height: 85vh; max-height: 155vh; overflow-y: scroll;"> + <el-aside > + <basic-container style="height: 85vh; max-height: 155vh; overflow-y: scroll;"@click.native="handleClickOutside" > + <div @click.native="handleClickOutside"> <div> <div style="display: flex;justify-content: space-around"> <el-button plain size="small" type="primary" @click="TreeAdd">娣诲姞</el-button> @@ -32,6 +33,9 @@ <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-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" style="width: 585px"></el-input> @@ -48,7 +52,7 @@ </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="TreeFlag" ::nodeClickList="nodeClickList"></classifyTreeform> </el-dialog> <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata" :defaultExpandAll="false" :option="Treeoption" @@ -57,6 +61,7 @@ @check-change="checkChange" > </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" @@ -266,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> @@ -300,6 +329,8 @@ inject: [, "crudTreeData"], data() { return { + //鏍戣妭鐐规樉绀洪殣钘� + TreeFlag:false, //缂栫爜瑙勫垯 MasterdialogVisible:false, masterData:[], @@ -318,6 +349,12 @@ simData:[], SimidialogVisible:false, simSelectList:[], + //涓氬姟绫诲瀷 + btmName:"", + btmOid:"", + BtmData:[], + BtmdialogVisible:false, + btmSelectList:[], masterOption:{ addBtn:false, index:true, @@ -505,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: "妯℃澘鎻忚堪", @@ -593,11 +640,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: "妯℃澘鎻忚堪", @@ -618,6 +675,18 @@ } }, methods: { + //鏍戣妭鐐瑰け鍘荤劍鐐� + handleClickOutside(event) { + const treeElement = this.$refs.tree.$el; + const targetElement = event.target; + if (!treeElement.contains(targetElement)) { + // 鍦ㄦ爲缁勪欢澶栭儴鐐瑰嚮锛屾竻绌洪�夋嫨鐘舵�� + // this.nodeClickList=[]; + // this.CloneTreeAvueform={} + console.log(this.nodeClickList ) + console.log(this.CloneTreeAvueform) + } + }, //缂栫爜瑙勫垯澶辩劍 CodeFoucus(){ this.MasterdialogVisible=true; @@ -780,6 +849,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 @@ -833,18 +952,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({ @@ -991,6 +1112,10 @@ //鏍戠偣鍑讳簨浠� async nodeClick(data) { //瀹氫箟涓�涓ā鏉垮睘鎬d锛屾暟鎹槸妯℃澘绠$悊琛ㄦ牸閲岄潰鐨刼id + console.log('鏍�',data) + if(data.parentId == ""){ + this.TreeFlag=true; + } this.nodeClickList = data this.ProData=[] try { -- Gitblit v1.9.3