From 7569bb2d8f1fafa2058a8090078ebf21c1a3e486 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期四, 06 七月 2023 18:44:52 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/components/Tree/classifyTrees.vue | 374 +++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 319 insertions(+), 55 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue index 8331068..5090b8c 100644 --- a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue +++ b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue @@ -19,28 +19,25 @@ <!-- 鏍戣妭鐐规坊鍔犲璇濇--> <el-dialog :title="this.TreeFlag ? '娣诲姞鍒嗙被' :'娣诲姞涓婚搴�'" :visible.sync="TreeAddFormVisible" append-to-body style="width: 1700px;margin: auto"> - <el-form :model="TreeAddform"> - <el-form-item :label="this.TreeFlag ? '鍒嗙被缂栧彿锛�' :'涓婚搴撶紪鍙凤細'" label-width="150px" style="display: inline-block"> + <el-form :model="TreeAddform" :rules="rules"> + <el-form-item :label="this.TreeFlag ? '鍒嗙被缂栧彿锛�' :'涓婚搴撶紪鍙凤細'" label-width="150px" style="display: inline-block" prop="id"> <el-input v-model="TreeAddform.id" autocomplete="off" style="width: 170px"></el-input> </el-form-item> - <el-form-item :label="this.TreeFlag ? '鍒嗙被鍚嶇О锛�' :'涓婚搴撳悕绉帮細'" label-width="100px" style="display: inline-block"> + <el-form-item :label="this.TreeFlag ? '鍒嗙被鍚嶇О锛�' :'涓婚搴撳悕绉帮細'" label-width="110px" style="display: inline-block" prop="name"> <el-input v-model="TreeAddform.name" autocomplete="off" style="width: 170px"></el-input> </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> + <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"> - <el-input v-model="TreeAddform.codekeyattrrepeatoidName" autocomplete="off" + <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"> - <el-input v-model="TreeAddform.codeResembleRuleOidName" autocomplete="off" + <el-input v-model="TreeAddform.codeResembleRuleOidName" autocomplete="off" @focus="simFouce" style="width: 585px"></el-input> </el-form-item> </el-form> @@ -51,7 +48,7 @@ </el-dialog> <!-- 淇敼瀵硅瘽妗�--> <el-dialog :visible.sync="TreeEditFormVisible" append-to-body title="淇敼鍒嗙被"> - <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'edit'"></classifyTreeform> + <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'edit'" @MasterHandler="MasterHandler" :Editclose=" ()=>{TreeEditFormVisible=false}"></classifyTreeform> </el-dialog> <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata" :defaultExpandAll="false" :option="Treeoption" @@ -84,9 +81,6 @@ <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> @@ -95,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> @@ -171,15 +165,83 @@ </basic-container> <templatePro :ProData="this.ProData" :crudOid="this.crudOid" :crudArray="this.crudArray" :Formlist="this.Formlist" :codeClassifyOid="this.codeClassifyOid"></templatePro> </span> + <!-- 缂栫爜瑙勫垯--> + <el-dialog :visible.sync="MasterdialogVisible" title="涓恒�愮紪鐮佽鍒欍�戦�夊彇鍊�" append-to-body> + <template> + <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px"> + <el-option + v-for="item in SelectOption" + :key="item.value" + :label="item.label" + :value="item.value" + style="width: 150px"> + </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="SelectFindeHandler" style="margin-left: 20px">鏌ヨ</el-button> + </template> + <avue-crud :data="masterData" :option="masterOption" @select="masterSelect"></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.coderuleoidName ==''?'鏈缃��':this.TreeAddform.coderuleoidName}}]</div> + <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" > + <el-button type="primary" size="small" @click="MasterHandlerClick">纭畾</el-button> + <el-button size="small" @click="MasterdialogVisible=false">鍙栨秷</el-button> + </div> + </div> + </el-dialog> + <!-- 鍏抽敭灞炴�ф煡璇㈣鍒�--> + <el-dialog :visible.sync="KeydialogVisible" title="涓恒�愬叧閿睘鎬ф煡璇㈣鍒欍�戦�夊彇鍊�" append-to-body> + <template> + <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px"> + <el-option + v-for="item in SelectOption" + :key="item.value" + :label="item.label" + :value="item.value" + style="width: 150px"> + </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="KeySelectFindeHandler" style="margin-left: 20px">鏌ヨ</el-button> + </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="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> + </div> + </div> + </el-dialog> + <!-- 鐩镐技椤规煡璇㈣鍒�--> + <el-dialog :visible.sync="SimidialogVisible" title="涓恒�愮浉浼奸」鏌ヨ瑙勫垯銆戦�夊彇鍊�" append-to-body> + <template> + <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px"> + <el-option + v-for="item in SelectOption" + :key="item.value" + :label="item.label" + :value="item.value" + style="width: 150px"> + </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="SimSelectFindeHandler" style="margin-left: 20px">鏌ヨ</el-button> + </template> + <avue-crud :data="simData" :option="masterOption" @select="simSelect"></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.codeResembleRuleOidName ==''?'鏈缃��':this.TreeAddform.codeResembleRuleOidName}}]</div> + <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" > + <el-button type="primary" size="small" @click="simHandlerClick">纭畾</el-button> + <el-button size="small" @click="SimidialogVisible=false">鍙栨秷</el-button> + </div> + </div> + </el-dialog> </basic-container> </el-main> </el-container> </template> <script> -//杩欓噷澹版槑涓�浜涜彍鍗曠粍浠剁敤娉曪細棣栧厛甯冨眬鍒嗕负宸︿晶鑿滃崟鍙充晶琛ㄦ牸锛屽彲鑳戒細鏈夊彸渚ab鏍忓姞琛ㄥ崟鐨勬儏鍐点�傛墍浠ュ彟澶栧紩鍏ヤ簡涓�涓彸渚ц〃鍗曠殑缁勪欢"classifyTreeform"銆� -//棣栧厛鐖剁粍浠惰皟鐢ㄥ瓙缁勪欢鑿滃崟锛岄�氳繃provide浼犻�掑弬鏁般�傛湁Treeoption宸︿晶鏍戞柊澧炶〃鍗曢」 Treedata宸︿晶鏍戣妭鐐归厤缃」 crudTreeOption鍙充晶琛ㄦ牸閰嶇疆椤� crudTreeData鍙充晶琛ㄦ牸鏄剧ず鍐呭 -//鍏朵腑琛ㄦ牸鐨勯厤缃」鐩存帴鐖朵紶瀛愪紶閫掕繃鏉ュ氨琛岋紝鐩存帴:option=浼犻�掔殑鍙傛暟鍚嶏紝閲岄潰鏁版嵁鏄剧ず鐨勫唴瀹瑰洜涓烘槸鍜屽乏渚ц仈鍔ㄧ殑锛屾墍浠ラ噸鏂颁竴涓狥ormlist锛岄�氳繃鐐瑰嚮鏍戣妭鐐逛笅鏍囨潵鍔ㄦ�佹覆鏌撳彸渚ц〃鏍硷紝涓嬮潰鏂规硶閮芥湁鍏蜂綋娉ㄩ噴 -//鐒跺悗鍐嶈鍙充晶鐨勮〃鍗曪紝涓撻棬瀹氫箟浜嗕竴涓粍浠讹紝閫氳繃鐖朵紶瀛愬啀鎶婅〃鍗曟暟鎹甌reeList浼犻�掕繃鍘伙紝浼犻�掑墠鍦�10deCLi1ck鏂规硶閲岄潰渚夸簡澶勭悊涔熸槸涓�涓仈鍔ㄧ殑鏁堟灉锛岃〃鍗曠殑閰嶇疆椤瑰湪鍝釜瀛愮粍浠舵垨鑰呯埗缁勪欢鍐欓兘鍙互銆� import { getAtrrList, TreeSave, @@ -197,7 +259,7 @@ editSave, copy } from "@/api/template/templateAttr"; - +import {defaultReferDataGrid,referDataGrid} from '@/api/MasterData/master' export default { name: "classifyTrees.vue", //浣跨敤inject鎺ユ敹鍙傛暟 @@ -206,36 +268,66 @@ inject: [, "crudTreeData"], data() { return { - // //琛ㄦ牸option閰嶇疆椤� - // crudTreeOption: { - // index: true, - // border: true, - // height:180, - // selection:true, - // addBtn:this.addFlag, - // column: [ - // { - // label: "妯℃澘缂栧彿", - // prop: "id" - // }, - // { - // label:"妯℃澘鍚嶇О", - // prop:"name" - // }, - // { - // label: "妯℃澘鎻忚堪", - // prop:"description" - // }, - // { - // label:"鐗堟湰鍙�", - // prop:"revisionSeq" - // }, - // { - // label:"鐘舵��", - // prop:"lcStatusText" - // } - // ] - // }, + //缂栫爜瑙勫垯 + MasterdialogVisible:false, + masterData:[], + masterSelectList:[], + masterName:"", + masterOid:"", + //鍏抽敭灞炴�� + KeydialogVisible:false, + KeyName:"", + KeyOid:"", + KeyData:[], + KeySelectLIst:[], + //鐩镐技椤� + simName:"", + simOid:"", + simData:[], + SimidialogVisible:false, + simSelectList:[], + masterOption:{ + addBtn:false, + index:true, + border:true, + selection:true, + menu:false, + height:380, + column:[ + { + label:'鑻辨枃鍚嶇О', + prop:'id' + }, + { + label:'涓枃鍚嶇О', + prop:'name' + }, + { + label:'鎻忚堪', + prop:'description' + } + ] + }, + SelectOption:[ + { + value: 'name', + label: '涓枃鍚嶇О' + }, + { + value: 'id', + label: '鑻辨枃鍚嶇О' + } + ], + SelectValue:"", + SelectFInd:"", + rules: { + id: [ + { required: true, message: '璇疯緭鍏ュ悕绉�', trigger: 'blur' }, + ], + name:[ + { required: true, message: '璇疯緭鍏ョ紪鍙�', trigger: 'blur' }, + ] + }, addFlag:false, // 琛ㄦ牸褰撳墠琛宨d crudOid:"", @@ -244,7 +336,11 @@ //妯℃澘灞炴�у睍绀哄唴瀹� ProData: [], //鍥炶溅閿悳绱㈢粦瀹氬�� - FindText: "", + searchTemplate: { + searchCondition: 'id', + findText: "", + }, + //楂樼骇鏌ヨ瀵硅瘽妗� FindFormVisible: false, //鍏嬮殕妯℃澘瀵硅瘽妗� @@ -470,6 +566,172 @@ } }, methods: { + //缂栫爜瑙勫垯澶辩劍 + CodeFoucus(){ + this.MasterdialogVisible=true; + this.MasterdefaultRend() + }, + //缂栫爜澶氶�� + masterSelect(row){ + if(row.length>0){ + this.masterSelectList=row; + this.masterName=row[0].name; + this.masterOid=row[0].oid; + } + }, + //缂栫爜瑙勫垯鏌ヨ + SelectFindeHandler(){ + if(this.SelectValue == 'id'){ + const masterParameter={ + 'conditionMap[id]':this.SelectFInd + } + this.MasterdefaultRend(masterParameter); + this.SelectValue="" + this.SelectFInd="" + }else if(this.SelectValue == 'name'){ + const masterParameter={ + 'conditionMap[name]':this.SelectFInd + } + this.MasterdefaultRend(masterParameter) + this.SelectValue="" + this.SelectFInd="" + } + }, + //缂栫爜瑙勫垯纭畾 + MasterHandlerClick(){ + if(this.masterSelectList.length>1){ + this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹�') + }else if(this.masterSelectList.length<=0){ + this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�') + }else { + this.MasterdialogVisible=false; + this.masterSelectList=[] + this.$set(this.TreeAddform,'coderuleoidName',this.masterName) + this.$set(this.TreeAddform,'coderuleOid',this.masterOid) + this.$emit('MasterHandler',this.loneTreeNewForm) + console.log(this.loneTreeNewForm) + } + }, + //缂栫爜鎺ュ彛 + MasterdefaultRend(){ + defaultReferDataGrid({ + referType:'coderule', + isMuti:'false', + 'conditionMap["lcstatus"]':'Released' + }).then(res=>{ + this.masterData=res.data.records; + }) + }, + Keyfouce(){ + this.KeydialogVisible=true; + this.KeydefaultRend() + }, + //鍏抽敭灞炴�х‘瀹� + KeyHandlerClick(){ + if(this.KeySelectLIst.length>1){ + this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹�') + }else if(this.KeySelectLIst.length<=0){ + this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�') + }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) + } + }, + //鍏抽敭灞炴�ф煡璇� + KeySelectFindeHandler(){ + if(this.SelectValue == 'id'){ + const masterParameter={ + 'conditionMap[id]':this.SelectFInd + } + this.KeydefaultRend(masterParameter); + this.SelectValue="" + this.SelectFInd="" + }else if(this.SelectValue == 'name'){ + const masterParameter={ + 'conditionMap[name]':this.SelectFInd + } + this.KeydefaultRend(masterParameter) + this.SelectValue="" + this.SelectFInd="" + } + }, + //鍏抽敭灞炴�ф帴鍙� + KeydefaultRend(){ + defaultReferDataGrid({ + referType:'codekeyattrrepeat', + isMuti:'false', + 'conditionMap["lcstatus"]':'Enabled' + }).then(res=>{ + this.KeyData=res.data.records; + }) + }, + // 鍏抽敭澶氶�� + KeySelect(row){ + this.KeySelectLIst=row; + this.KeyName=row[0].name; + this.KeyOid=row[0].oid; + }, + //鍏抽敭澶辩劍 + simFouce(){ + this.SimidialogVisible=true; + this.simdefaultRend() + }, + //鐩镐技椤圭‘瀹� + simHandlerClick(){ + if(this.simSelectList.length>1){ + this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹�') + }else if(this.simSelectList.length<=0){ + this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�') + }else { + this.SimidialogVisible=false; + this.simSelectList=[] + this.$set(this.TreeAddform,'codeResembleRuleOidName',this.simName) + this.$set(this.TreeAddform,'codeResembleRuleOid',this.simOid) + this.$emit('MasterHandler',this.loneTreeNewForm) + } + }, + //鐩镐技椤规煡璇� + SimSelectFindeHandler(){ + if(this.SelectValue == 'id'){ + const masterParameter={ + 'conditionMap[id]':this.SelectFInd + } + this.simdefaultRend(masterParameter); + this.SelectValue="" + this.SelectFInd="" + }else if(this.SelectValue == 'name'){ + const masterParameter={ + 'conditionMap[name]':this.SelectFInd + } + this.simdefaultRend(masterParameter) + this.SelectValue="" + this.SelectFInd="" + } + }, + // 鐩镐技椤瑰閫� + simSelect(row){ + this.simSelectList=row; + this.simName=row[0].name; + this.simOid=row[0].oid; + console.log('oid',this.oid) + }, + //鐩镐技椤归」鎺ュ彛 + simdefaultRend(){ + defaultReferDataGrid({ + referType:'coderesemblerule', + isMuti:'false', + 'conditionMap["lcstatus"]':'Enabled' + }).then(res=>{ + this.simData=res.data.records; + }) + }, + //瀛愪紶鐖� + MasterHandler(val){ + this.TreeList=val + }, //琛屽崟閫変簨浠� selectHandle(selection,row){ this.crudOid=row.oid; @@ -520,6 +782,7 @@ TreeAddHandler() { const data = this.TreeAddform this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid) + console.log('data',data) TreeSave(data).then(() => { this.$message({ type: 'success', @@ -832,20 +1095,20 @@ }); }) }, - //妯℃澘绠$悊琛ㄦ牸鏌ヨ - EnterFind() { - 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 => { @@ -957,4 +1220,5 @@ .my-messageboxs { width: 500px; } + </style> -- Gitblit v1.9.3