From 388daad59d20da84118067593fc88a89e3f8c9d8 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期五, 07 七月 2023 17:59:50 +0800 Subject: [PATCH] 主题库7-7完善发现bug --- Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue | 426 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 377 insertions(+), 49 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue b/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue index cb2f4ff..6c22328 100644 --- a/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue +++ b/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue @@ -1,24 +1,104 @@ <template> <div> - <avue-form v-model="loneTreeNewForm" :option="option" @submit="submit" v-if="flag == 'renonly'"> + <avue-form v-model="loneTreeNewForm" :option="option" v-if="flag == 'renonly'"> </avue-form> - <avue-form v-model="loneTreeNewForm" :option="options" @submit="submit" v-else-if="flag == 'edit'"> + <avue-form v-model="loneTreeNewForm" :option="options" @submit="submits" v-else-if="flag == 'edit'"> </avue-form> <div> - <el-dialog :visible.sync="dialogVisible" title="涓恒�愮紪鐮佽鍒欍�戦�夊彇鍊�" append-to-body> - <div> - <el-input placeholder="璇烽�夋嫨鍐呭" v-model="masterInput" class="input-with-select"> - <el-select v-model="MasterSearchSelects" placeholder="璇烽�夋嫨"> - <el-option label="鑻辨枃鍚嶇О" value="0"></el-option> - <el-option label="涓枃鍚嶇О" value="1"></el-option> - </el-select> - <el-button slot="append" icon="el-icon-search"></el-button> - </el-input> - </div> +<!-- 缂栫爜瑙勫垯--> + <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="padding-top: 10px;display: flex; justify-content: flex-end" > - <el-button type="primary" size="small" @click="MasterHandlerClick">纭畾</el-button> - <el-button size="small" @click="dialogVisible=false">鍙栨秷</el-button> + <div style="height: 30px"> + <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.loneTreeNewForm.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.loneTreeNewForm.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.loneTreeNewForm.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> +<!-- 瀛樺偍鐨勪笟鍔$被鍨�--> + <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.loneTreeNewForm.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> </div> @@ -26,30 +106,67 @@ </template> <script> +import {defaultReferDataGrid,referDataGrid} from '@/api/MasterData/master' +import {TreeEditSave} from '@/api/template/templateAttr' export default { name: "classifyTreeform.vue", - props: ['loneTreeNewForm','flag'], + props: ['loneTreeNewForm','flag','Editclose'], data() { return { + SelectFInd:"", + masterName:"", + masterOid:"", + KeyName:"", + KeyOid:"", + simName:"", + simOid:"", + btmName:"", + btmOid:"", masterInput:'', MasterSearchSelects:"", - masterData:[ + masterData:[], + KeyData:[], + simData:[], + BtmData:[], + SelectOption:[ { - id:'001', - name:'001', - description:'001' + value: 'name', + label: '涓枃鍚嶇О' }, { - id:'002', - name:'002', - description:'002' + value: 'id', + label: '鑻辨枃鍚嶇О' } ], + SelectValue:"", + btmOption:{ + addBtn:false, + index:true, + border:true, + selection:true, + menu:false, + height:380, + column:[ + { + label:'涓氬姟绫诲瀷缂栧彿', + prop:'id' + }, + { + label:'涓氬姟绫诲瀷鍚嶇О', + prop:'name' + }, + { + label:'鎻忚堪', + prop:'description' + } + ] + }, masterOption:{ addBtn:false, index:true, border:true, selection:true, + menu:false, height:380, column:[ { @@ -66,7 +183,10 @@ } ] }, - dialogVisible:false, + MasterdialogVisible:false, + KeydialogVisible:false, + SimidialogVisible:false, + BtmdialogVisible:false, form: { name: "鍝堝搱", sex: "鐢�" @@ -78,9 +198,9 @@ column: [ { label: '涓婚搴�/鍒嗙被缂栧彿', - prop: 'btmtypeid', - labelWidth:128, - readonly: true, + prop: 'id', + labelWidth:135, + disabled: true, rules: [{ required: true, message: "涓婚搴�/鍒嗙被缂栧彿", @@ -90,8 +210,8 @@ { label: '涓婚搴�/鍒嗙被鍚嶇О', prop: 'name', - readonly: true, - labelWidth:128, + disabled: true, + labelWidth:135, rules: [{ required: true, message: "涓婚搴�/鍒嗙被鍚嶇О", @@ -102,13 +222,13 @@ label:"鎻忚堪", prop:"description", labelWidth:128, - readonly: true, + disabled: true, }, { label: '瀛樺偍鐨勪笟鍔$被鍨�', prop: 'btmtypename', labelWidth:128, - readonly: true, + disabled: true, rules: [{ required: true, message: "瀛樺偍鐨勪笟鍔$被鍨�", @@ -119,29 +239,27 @@ label:"缂栫爜瑙勫垯", prop:"coderuleoidName", labelWidth:128, - readonly: true, + disabled: true, }, { label:"鍏抽敭灞炴�ф煡璇㈣鍒�", prop:"codekeyattrrepeatoidName", labelWidth:128, - readonly: true, + disabled: true, }, { label:"鐩镐技鏌ヨ瑙勫垯", prop:"codeResembleRuleOidName", labelWidth:128, - readonly: true, + disabled: true, }, ] }, options: { - submitBtn:false, - emptyBtn:false, column: [ { label: '涓婚搴�/鍒嗙被缂栧彿', - prop: 'btmtypeid', + prop: 'id', labelWidth:128, rules: [{ required: true, @@ -168,6 +286,8 @@ label: '瀛樺偍鐨勪笟鍔$被鍨�', prop: 'btmtypename', labelWidth:128, + focus:this.btmFoucus, + readonly: true, rules: [{ required: true, message: "瀛樺偍鐨勪笟鍔$被鍨�", @@ -178,52 +298,260 @@ label:"缂栫爜瑙勫垯", prop:"coderuleoidName", labelWidth:128, - focus:this.CodeFoucus + focus:this.CodeFoucus, + readonly: true, }, { label:"鍏抽敭灞炴�ф煡璇㈣鍒�", prop:"codekeyattrrepeatoidName", labelWidth:128, + focus:this.Keyfouce, + readonly: true, }, { label:"鐩镐技鏌ヨ瑙勫垯", prop:"codeResembleRuleOidName", labelWidth:128, + focus: this.simFouce, + readonly: true, }, ] }, FormList: {}, - masterSelectList:[] + masterSelectList:[], + KeySelectLIst:[], + simSelectList:[], + btmSelectList:[] } }, + created() { + }, methods: { - submit(form, done) { - this.$message.success(JSON.stringify(form)); - done() + submits(form,done){ + TreeEditSave(this.loneTreeNewForm).then(res=>{ + this.$message.success('淇敼鎴愬姛'); + this.Editclose() + done() + }) }, error(err) { this.$message.success('璇锋煡鐪嬫帶鍒跺彴'); console.log(err) }, - CodeFoucus(){ - this.dialogVisible=true; - console.log(this.dialogVisible) + //缂栫爜瑙勫垯鏌ヨ + 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="" + } }, + //缂栫爜瑙勫垯澶辩劍 + CodeFoucus(){ + this.MasterdialogVisible=true; + this.MasterdefaultRend() + }, + //缂栫爜瑙勫垯纭畾 MasterHandlerClick(){ if(this.masterSelectList.length>1){ this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹�') }else if(this.masterSelectList.length<=0){ this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�') }else { - this.dialogVisible=false; - console.log(this.masterInput) - console.log(this.MasterSearchSelect) + this.MasterdialogVisible=false; + this.masterSelectList=[] + this.$set(this.loneTreeNewForm,'coderuleoidName',this.masterName) + this.$set(this.loneTreeNewForm,'coderuleoid',this.masterOid) + this.$emit('MasterHandler',this.loneTreeNewForm) + // console.log(this.loneTreeNewForm) } }, + //缂栫爜澶氶�� masterSelect(row){ - console.log(row) this.masterSelectList=row; + this.masterName=row[0].name; + this.masterOid=row[0].oid; + // console.log('oid',this.oid) + }, + //缂栫爜鎺ュ彛 + MasterdefaultRend(masterParameter){ + defaultReferDataGrid({ + referType:'coderule', + isMuti:'false', + 'conditionMap["lcstatus"]':'Released', + ...masterParameter + }).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.loneTreeNewForm,'codekeyattrrepeatoidName',this.KeyName) + this.$set(this.loneTreeNewForm,'codekeyattrrepeatoid',this.KeyOid) + this.$emit('MasterHandler',this.loneTreeNewForm) + console.log(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.loneTreeNewForm,'codeResembleRuleOidName',this.simName) + this.$set(this.loneTreeNewForm,'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; + }) + }, + //涓氬姟绫诲瀷澶辩劍 + 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.loneTreeNewForm,'btmtypename',this.btmName ||this.btmOid) + this.$set(this.loneTreeNewForm,'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 + }) } } } -- Gitblit v1.9.3