From 7aa9a5df273e2df95a7005a8a78004b684a53287 Mon Sep 17 00:00:00 2001 From: xiejun <xiejun@vci-tech.com> Date: 星期五, 12 一月 2024 09:26:16 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/components/Theme/ThemeClassifyTreeform.vue | 487 +++++++++-------------------------------------------- 1 files changed, 87 insertions(+), 400 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTreeform.vue b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTreeform.vue index 5882a33..3219fe6 100644 --- a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTreeform.vue +++ b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTreeform.vue @@ -1,126 +1,57 @@ <template> <div> - <avue-form v-model="loneTreeNewForm" :option="option" v-if="flag == 'renonly'"> + <avue-form v-model="loneTreeNewForm" :option="renonlyOption" v-if="flag == 'renonly'"> </avue-form> - <avue-form v-model="loneTreeNewForm" :option="this.options" @submit="submits" v-else-if="flag == 'edit'"> + <avue-form v-model="loneTreeNewForm" :option="this.editOption" @submit="submits" v-else-if="flag == 'edit'"> </avue-form> <div> <!-- 缂栫爜瑙勫垯--> - <el-dialog :visible.sync="MasterdialogVisible" title="涓恒�愮紪鐮佽鍒欍�戦�夊彇鍊�" append-to-body :before-close="masterEscHandler"> - <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="attrOption" @row-click="masterSelect"> - <template slot="radio" slot-scope="{row}"> - <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{ '' }} - </el-radio> - </template> - </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.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="masterEscHandler">鍙栨秷</el-button> - </div> - </div> - </el-dialog> + <ThemeChildren + ref="ThemeMasterChildren" + dialogTitle="缂栫爜瑙勫垯" + codeName="codeRuleOidName" + codeType="coderule" + code-lcstatus="Released" + :visible.sync="MasterdialogVisible" + :SelectOption="SelectOption" + :TreeAddform="loneTreeNewForm" + @defineHandler="handlerDefine" + ></ThemeChildren> <!-- 鍏抽敭灞炴�ф煡璇㈣鍒�--> - <el-dialog :visible.sync="KeydialogVisible" title="涓恒�愬叧閿睘鎬ф煡璇㈣鍒欍�戦�夊彇鍊�" append-to-body :before-close="KeyEscHandler"> - <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="attrOption" @row-click="KeySelect"> - <template slot="radio" slot-scope="{row}"> - <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{ '' }} - </el-radio> - </template> - </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="KeyEscHandler">鍙栨秷</el-button> - </div> - </div> - </el-dialog> - <!-- 鐩镐技椤规煡璇㈣鍒�--> - <el-dialog :visible.sync="SimidialogVisible" title="涓恒�愮浉浼奸」鏌ヨ瑙勫垯銆戦�夊彇鍊�" append-to-body :before-close="simEscHandler"> - <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="attrOption"@row-click="simSelect"> - <template slot="radio" slot-scope="{row}"> - <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{ '' }} - </el-radio> - </template> - </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="simEscHandler">鍙栨秷</el-button> - </div> - </div> - </el-dialog> + <ThemeChildren + ref="ThemeKeyChildren" + :SelectOption="SelectOption" + :TreeAddform="loneTreeNewForm" + :visible.sync="KeydialogVisible" + code-lcstatus="Enabled" + codeName="codeKeyAttrRepeatOidName" + codeType="codekeyattrrepeat" + dialogTitle="鍏抽敭灞炴�ф煡璇㈣鍒�" + @defineHandler="handlerDefine" + ></ThemeChildren> + <!-- 鐩镐技椤规煡璇㈣鍒� codeResembleRuleOidName SimidialogVisible--> + <ThemeChildren + ref="ThemeSimChildren" + :SelectOption="SelectOption" + :TreeAddform="loneTreeNewForm" + :visible.sync="SimidialogVisible" + code-lcstatus="Enabled" + codeName="codeResembleRuleOidName" + codeType="coderesemblerule" + dialogTitle="鐩镐技椤规煡璇㈣鍒�" + @defineHandler="handlerDefine" + ></ThemeChildren> <!-- 瀛樺偍鐨勪笟鍔$被鍨�--> - <el-dialog :visible.sync="BtmdialogVisible" title="涓恒�愪笟鍔$被鍨嬨�戦�夊彇鍊�" append-to-body :before-close="BtmEscHandler"> - <template> - <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px !important;"> - <el-option - v-for="item in masterSelectOption" - :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" @row-click="btmSelect"> - <template slot="radio" slot-scope="{row}"> - <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{ '' }} - </el-radio> - </template> - </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="BtmEscHandler">鍙栨秷</el-button> - </div> - </div> - </el-dialog> + <ThemeChildren + ref="ThemeBtmChildren" + :SelectOption="btmSelectOption" + :TreeAddform="loneTreeNewForm" + :visible.sync="BtmdialogVisible" + codeName="btmTypeName" + codeType="btmCode" + dialogTitle="涓氬姟绫诲瀷" + @defineHandler="handlerDefine" + ></ThemeChildren> </div> </div> </template> @@ -128,28 +59,16 @@ <script> import {defaultReferDataGrid,referDataGrid} from '@/api/MasterData/master' import {TreeEditSave} from '@/api/template/templateAttr' +import ThemeChildren from '@/components/FormTemplate/ThemeChildren' export default { + components: {ThemeChildren}, name: "classifyTreeform.vue", props: ['loneTreeNewForm','flag','Editclose','TreeFlag','nodeClickList'], data() { return { masterRow:null, - SelectFInd:"", - masterName:"", - masterOid:"", - KeyName:"", - KeyOid:"", - simName:"", - simOid:"", - btmName:"", - btmOid:"", - btmId:"", masterInput:'', MasterSearchSelects:"", - masterData:[], - KeyData:[], - simData:[], - BtmData:[], SelectOption:[ { value: 'name', @@ -160,7 +79,7 @@ label: '鑻辨枃鍚嶇О' } ], - masterSelectOption:[ + btmSelectOption:[ { value: 'id', label: '涓氬姟绫诲瀷缂栧彿' @@ -170,89 +89,6 @@ label: '涓氬姟绫诲瀷鍚嶇О' }, ], - SelectValue:'id', - btmOption:{ - columnBtn: false, - refreshBtn:false, - addBtn:false, - index:true, - border:true, - selection:true, - menu:false, - height:380, - column:[ - { - label:'涓氬姟绫诲瀷缂栧彿', - prop:'id' - }, - { - label:'涓氬姟绫诲瀷鍚嶇О', - prop:'name' - }, - { - label:'鎻忚堪', - prop:'description' - } - ] - }, - attrOption:{ - addBtn:false, - columnBtn: false, - refreshBtn:false, - index:true, - border:true, - menu:false, - height:380, - column:[ - { - label: '', - prop: 'radio', - width: 60, - display: false - }, - { - label:'鑻辨枃缂栧彿', - prop:'id' - }, - { - label:'涓枃鍚嶇О', - prop:'name' - }, - { - label:'鎻忚堪', - prop:'description' - } - ] - }, - masterOption:{ - columnBtn: false, - refreshBtn:false, - addBtn:false, - index:true, - border:true, - menu:false, - height:380, - column:[ - { - label: '', - prop: 'radio', - width: 60, - display: false - }, - { - label:'涓氬姟绫诲瀷缂栧彿', - prop:'id' - }, - { - label:'涓氬姟绫诲瀷鍚嶇О', - prop:'name' - }, - { - label:'鎻忚堪', - prop:'description' - } - ] - }, MasterdialogVisible:false, KeydialogVisible:false, SimidialogVisible:false, @@ -261,7 +97,7 @@ name: "鍝堝搱", sex: "鐢�" }, - option: { + renonlyOption: { submitBtn:false, emptyBtn:false, columnBtn:false, @@ -351,7 +187,7 @@ } }, computed:{ - options(){ + editOption(){ return{ column: [ { @@ -396,7 +232,7 @@ label:"缂栫爜瑙勫垯", prop:"codeRuleOidName", labelWidth:128, - focus:this.CodeFoucus, + focus:this.CodeFocus, readonly: true, }, { @@ -444,6 +280,34 @@ created() { }, methods: { + //鏍戠紪杈戝弬鐓у瓙缁勪欢浜嬩欢 + handlerDefine(val) { + const codeTypeMap = { + coderule: { + nameKey: 'codeRuleOidName', + oidKey: 'codeRuleOid' + }, + codekeyattrrepeat: { + nameKey: 'codeKeyAttrRepeatOidName', + oidKey: 'codeKeyAttrRepeatOid' + }, + coderesemblerule: { + nameKey: 'codeResembleRuleOidName', + oidKey: 'codeResembleRuleOid' + }, + btmCode: { + nameKey: 'btmTypeName', + oidKey: 'btmTypeId' + } + }; + + const codeType = codeTypeMap[val.codeType]; + if (codeType) { + this.$set(this.loneTreeNewForm, codeType.nameKey, val.crudName); + this.$set(this.loneTreeNewForm, codeType.oidKey, val.crudOid); + this.$emit('MasterHandler', this.loneTreeNewForm); + } + }, submits(form,done){ if(this.TreeFlag){ TreeEditSave(this.loneTreeNewForm).then(res=>{ @@ -468,204 +332,27 @@ error(err) { this.$message.success(err); }, - //缂栫爜瑙勫垯鍏抽棴 - masterEscHandler(){ - this.SelectFInd=''; - this.SelectValue='id'; - this.masterRow=null; - this.MasterdialogVisible=false; - }, - //鍏抽敭灞炴�у叧闂� - KeyEscHandler(){ - this.SelectFInd=''; - this.SelectValue='id'; - this.masterRow=null; - this.KeydialogVisible=false; - }, - //鐩镐技椤瑰叧闂� - simEscHandler(){ - this.SelectFInd=''; - this.SelectValue='id'; - this.masterRow=null; - this.SimidialogVisible=false; - }, - //瀛樺偍涓氬姟绫诲瀷鍏抽棴 - BtmEscHandler(){ - this.SelectFInd=''; - this.SelectValue='id'; - this.masterRow=null; - this.BtmdialogVisible=false; - }, - //缂栫爜瑙勫垯鏌ヨ - SelectFindeHandler(){ - const masterParameter = {}; - masterParameter[`conditionMap['${this.SelectValue}']`] = this.SelectFInd; - this.MasterdefaultRend(masterParameter) - }, //缂栫爜瑙勫垯澶辩劍 - CodeFoucus(){ + CodeFocus(){ 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.MasterdialogVisible=false; - this.masterSelectList=[] - this.$set(this.loneTreeNewForm,'codeRuleOidName',this.masterName) - this.$set(this.loneTreeNewForm,'codeRuleOid',this.masterOid) - this.$emit('MasterHandler',this.loneTreeNewForm) - } - }, - //缂栫爜澶氶�� - masterSelect(row){ - this.masterRow = row.$index; - this.masterSelectList = row; - this.masterName = row.name; - this.masterOid = row.oid; - }, - //缂栫爜鎺ュ彛 - MasterdefaultRend(masterParameter){ - defaultReferDataGrid({ - referType:'coderule', - isMuti:'false', - 'conditionMap["lcstatus"]':'Released', - 'limit':'-1', - ...masterParameter - }).then(res=>{ - this.masterData=res.data.records; - }) + this.$refs.ThemeMasterChildren.defaultSearchRend() }, //鍏抽敭灞炴�уけ鐒� 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) - } - }, - //鍏抽敭灞炴�ф煡璇� - KeySelectFindeHandler(){ - const masterParameter = {}; - masterParameter[`conditionMap['${this.SelectValue}']`] = this.SelectFInd; - this.KeydefaultRend(masterParameter) - }, - //鍏抽敭灞炴�ф帴鍙� - KeydefaultRend(masterParameter){ - defaultReferDataGrid({ - referType:'codekeyattrrepeat', - isMuti:'false', - 'conditionMap["lcstatus"]':'Enabled', - 'limit':'-1', - ...masterParameter - }).then(res=>{ - this.KeyData=res.data.records; - }) - }, - //鍏抽敭澶氶�� - KeySelect(row){ - this.masterRow = row.$index; - this.KeySelectLIst = row; - this.KeyName = row.name; - this.KeyOid = row.oid; + this.$refs.ThemeKeyChildren.defaultSearchRend(); }, //鐩镐技椤瑰け鐒� simFouce(){ this.SimidialogVisible=true; - this.simdefaultRend() + this.$refs.ThemeSimChildren.defaultSearchRend(); }, - //鐩镐技椤圭‘瀹� - 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(){ - const masterParameter = {}; - masterParameter[`conditionMap['${this.SelectValue}']`] = this.SelectFInd; - this.simdefaultRend(masterParameter) - }, - //鐩镐技椤瑰閫� - simSelect(row){ - this.masterRow = row.$index; - this.simSelectList = row; - this.simName = row.name; - this.simOid = row.oid; - }, - //鐩镐技椤归」鎺ュ彛 - simdefaultRend(masterParameter){ - defaultReferDataGrid({ - referType:'coderesemblerule', - isMuti:'false', - 'conditionMap["lcstatus"]':'Enabled', - 'limit':'-1', - ...masterParameter - }).then(res=>{ - this.simData=res.data.records; - }) - }, + //涓氬姟绫诲瀷澶辩劍 btmFoucus(){ - this.BtmdialogVisible=true; - this.btmdefaultRend() + this.BtmdialogVisible = true; + this.$refs.ThemeBtmChildren.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.btmId) - this.$set(this.loneTreeNewForm,'btmTypeId',this.btmId) - this.$emit('MasterHandler',this.loneTreeNewForm) - } - }, - //涓氬姟绫诲瀷鏌ヨ - BtmSelectFindeHandler(){ - const masterParameter = {}; - masterParameter[`conditionMap['${this.SelectValue}']`] = this.SelectFInd; - this.btmdefaultRend(masterParameter); - }, - //涓氬姟绫诲瀷澶氶�� - btmSelect(row){ - this.btmSelectList=row; - this.btmName=row.name; - this.btmOid=row.oid; - this.btmId=row.id; - }, - //涓氬姟绫诲瀷鎺ュ彛 - btmdefaultRend(masterParameter){ - referDataGrid({valueField:'id',isMuti:'false','limit':'-1',...masterParameter}).then(res=>{ - this.BtmData=res.data.data.records - }) - } } } </script> -- Gitblit v1.9.3