From a17f731ee4bcad459c184be5a7c3de6c3619443b Mon Sep 17 00:00:00 2001 From: ludc Date: 星期三, 07 六月 2023 19:47:03 +0800 Subject: [PATCH] 代码整合 --- Source/UBCS-WEB/src/views/code/code.vue | 318 +++++++++++++++++++++++++++++++--------------------- 1 files changed, 190 insertions(+), 128 deletions(-) diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue index 9d36936..9016174 100644 --- a/Source/UBCS-WEB/src/views/code/code.vue +++ b/Source/UBCS-WEB/src/views/code/code.vue @@ -63,47 +63,54 @@ @click="handleDelete"> 鍒� 闄� </el-button> - <el-button size="small" + <el-button type="primary" + size="small" + icon="el-icon-search" + plain + @click="openAdvancedQuery('codeRule')"> + 楂樼骇鏌ヨ + </el-button> + <el-button + size="small" icon="icon-kelong" plain @click="openCodeRuleDialog"> 鍏� 闅� </el-button> - <el-button size="small" + <el-button + size="small" icon="icon-lianjiekelong" style="font-size: 12px;" plain @click="openOtherCodeRuleDialog"> 浠庡叾浠栬鍒欎腑鍏嬮殕鐮佹 </el-button> - <el-button size="small" + <el-button + size="small" icon="el-icon-s-help" plain @click="handleRange"> 浣跨敤鑼冨洿 </el-button> - <el-button size="small" + <el-button + size="small" icon="icon-qingkong" plain @click="clearAllCodeSec"> 娓呯┖鐮佸�� </el-button> - <el-button size="small" - icon="el-icon-search" - plain - @click="openAdvancedQuery"> - 楂樼骇鏌ヨ - </el-button> </template> </avue-crud> </basic-container> + <!-- 楂樼骇鏌ヨ瀵硅瘽妗� --> <advanced-query - ref="advancedQuery" + :ref="advancedQueryParam.ref" :options="advancedQueryParam.options" :visible.sync="advancedQueryParam.advancedQuerySettingBox" - v-model="value"> + @echoContion="echoSeniorContionMap"> </advanced-query> + <!-- 缂栫爜瑙勫垯鐩稿叧瀵硅瘽妗� --> <el-dialog title="缂栫爜瑙勫垯浣跨敤鑼冨洿" append-to-body @@ -117,6 +124,7 @@ @refresh-change="refreshUseRangeChange"> </avue-crud> </el-dialog> + <!-- 缂栫爜瑙勫垯,鍏嬮殕瀵硅瘽妗� --> <el-dialog title="鍏嬮殕缂栫爜瑙勫垯" append-to-body @@ -170,6 +178,7 @@ <el-button @click="cloneSettingBox = false">鍙� 娑�</el-button> </div> </el-dialog> + <!-- 缂栫爜瑙勫垯,浠庡叾浠栬鍒欏厠闅嗗璇濇 --> <el-dialog title="鍏嬮殕缂栫爜瑙勫垯鐨勫熀纭�淇℃伅" append-to-body @@ -286,6 +295,13 @@ plain @click="deleteBasicCode(scope.row)"> 鍒� 闄� + </el-button> + <el-button type="primary" + size="small" + icon="el-icon-search" + plain + @click="openAdvancedQuery('codeBasicSec')"> + 楂樼骇鏌ヨ </el-button> </template> @@ -786,7 +802,7 @@ addSave, refDataGridClassifySec, } from "@/api/code/codebasic"; - import { treeTopCodeClassify, listClassifyLinkAttr } from "@/api/code/codeclassify"; + import { listClassifyLinkAttr } from "@/api/code/codeclassify"; import { gridCodeFixedValue,addSaveCodeFixedValue,deleteCodeFixedValue,editCodeFixedValue,saveOrder } from "@/api/code/codeFixedValue"; import { treeCodeClassifyValue,addSaveCodeClassifyValue,editCodeClassifyValue,deleteCodeClassifyValue,saveCodeClassifyValueOrder } from "@/api/code/codeClassifyValue"; import { getDictionary } from "@/api/omd/enum"; @@ -799,18 +815,14 @@ import treeOption from "@/const/code/classifyTreeOptionDialog"; import classisyValueTreeOption from "@/const/code/classisyValueTreeDialog"; import parentClassifyParentOption from "@/const/code/parentClassifyParentOptionDialog"; - import referBtmOption from "@/const/code/referBtmDialog"; import fixedValueOption from "@/const/code/fixedValueMgrDialog"; import {mapGetters} from "vuex"; import func from "@/util/func"; import {MasterTable} from "@/api/GetItem"; -import referBtmTypeCrudDialog from '../../components/code-dialog-page/referBtmTypeCrudDialog.vue'; export default { - components: { referBtmTypeCrudDialog }, data() { return { - value:"1", ruleForm: {}, query: {}, loading: true, @@ -1054,67 +1066,12 @@ // 楂樼骇鏌ヨ瀵硅瘽妗嗙浉鍏冲弬鏁� advancedQueryParam: { + ref: 'advancedQuery', advancedQuerySettingBox: false, - searchForm: { - name: 'advanced', - }, - options: { - labelWidth: '110px', - // 鏌ヨ瀛楁 - searchfeildName: [ - { - label: '缂栧彿', - value: 'id', - }, - { - label: '鍚嶇О', - value: 'name', - }, - { - label: '鐘舵��', - value: 'status', - }, - ], - // 鏌ヨ鏉′欢 绛変簬銆佸寘鍚�佷笉绛変簬銆佷粙浜庘�︹�� - searchCondition: [ - { - label: '绛変簬', - value: '=', - }, - { - label: '鍖呭惈', - value: 'like', - }, - { - label: '澶т簬绛変簬', - value: '>=', - }, - { - label: '灏忎簬绛変簬', - value: '<=', - }, - { - label: '涓嶇瓑浜�', - value: '!=', - }, - { - label: '浠嬩簬', - value: 'between', - }, - ], - column: [ - { - type: 'text', - - - }, - { - - }, - ], - }, + options: [], + currentOpen: '', //褰撳墠鎵撳紑楂樼骇鏌ヨ鐨勭獥鍙f槸 + //conditionMapParams: {}, }, - }; }, @@ -1129,15 +1086,24 @@ }; }, }, - created() { - MasterTable({ - codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3", - functionId: 5, - }).then(res=>{ - console.log(res.data.tableDefineVO.seniorQueryColumns); - }) + watch:{ + }, methods: { + + /** 楂樼骇鏌ヨ瀵硅瘽妗嗙粍浠�,缁勪欢杩斿洖鐨勫�兼槸condtionMap[field]褰㈠紡鐨勬煡璇㈡潯浠讹紝淇濈暀浜嗗拰涔嬪墠涓�鏍风殑鏂瑰紡 */ + echoSeniorContionMap(conditionMaps){ + //console.log(conditionMaps); + if(JSON.stringify(conditionMaps)!='{}'){ + if(this.advancedQueryParam.currentOpen =='codeRule'){ + this.query = conditionMaps; + this.onLoad(this.page); + }else{ + this.sendGridCodeBasicSec(conditionMaps,true); + } + //console.log(conditionMaps); + } + }, /* 鍏紡缂栬緫妗嗗唴瀹规敼鍙�,瀛愮粍浠剁紪杈戝畬鍏紡涔嬪悗鍐呭鍥炴樉鏃惰皟鐢� */ updateFormulaContent(content){ @@ -1207,12 +1173,17 @@ refreshParentClassifyDataChange() { this.parentClassifyOnLoad(this.parentClsfyParams.parentClassifyDataPage, this.parentClsfyParams.parentClassifyQuery); }, + // TODO:寰呬慨鏀� parentClassifyOnLoad(page, params = {}) { let parentClsParam = this.parentClsfyParams; parentClsParam.classifyDialogLoading = true; let oid = this.selectionList.length==0 ? this.form.pkCodeRule:this.selectionList[0].oid; - Object.assign(params,{pkCodeRule:oid}) - refDataGridClassifySec(page.currentPage, page.pageSize, Object.assign(params, parentClsParam.parentClassifyQuery)).then(res => { + let conditionMaps = this.paramsToConditionMa({"pkCodeRule":oid}); + refDataGridClassifySec( + page.currentPage, + page.pageSize, + conditionMaps + ).then(res => { //console.log(res.data); const data = res.data.data; parentClsParam.parentClassifyDataPage.total = data.total; @@ -1234,16 +1205,15 @@ let attrParam = this.selectAttrParams; //console.log(this.currentSelectTreeData); attrParam.selectAttrOptionLoading = true; - let param = {}; - // 澶氫釜conditionMap杩欐牱浼犲弬 + let conditionMaps = {}; if(attrParam.selectAttrQeury){ - Object.keys(attrParam.selectAttrQeury).forEach(key=>{ - param['conditionMap['+key+']'] = attrParam.selectAttrQeury[key]; - }); + Object.keys(attrParam.selectAttrQeury).forEach(key=>{ + conditionMaps['conditionMap['+key+']'] = attrParam.selectAttrQeury[key]; + }); } - param['conditionMap[codeClassifyOid]'] = this.currentSelectTreeData.oid; - param['conditionMap[btmTypeOid]'] = this.currentSelectTreeData.btmTypeOid; - listClassifyLinkAttr(param).then(res=>{ + conditionMaps['conditionMap[codeClassifyOid]'] = this.currentSelectTreeData.oid; + conditionMaps['conditionMap[btmTypeOid]'] = this.currentSelectTreeData.btmTypeOid; + listClassifyLinkAttr(conditionMaps).then(res=>{ //console.log(res.data.data); attrParam.selectAttrData = res.data.data; attrParam.selectAttrOptionLoading = false; @@ -1929,15 +1899,25 @@ //瀛樺偍褰撳墠鍏宠仈鐨勭紪鐮佽鍒欑浉鍏充俊鎭� this.currentCodeRuleOid = row.oid; this.currentRuleLcStatus = row.lcStatus; - this.sendGridCodeBasicSec({"pkCodeRule":row.oid}); + this.sendGridCodeBasicSec({"pkCodeRule_equal":row.oid},false); }, // 鍙戦�佸姞杞藉熀纭�鐮佹鐨勮姹� - sendGridCodeBasicSec(condition){ + sendGridCodeBasicSec(condition,isAdancedQuery/** 鏄惁楂樼骇鏌ヨ */){ // 濡傛灉褰撳墠鍩虹鐮佹琛ㄤ腑鐨勬悳绱㈡寜閽闅愯棌锛屽氨闇�瑕佸湪姝ゅ紑鍚� if(this.selectionList.length>=0 && !this.$refs.crudBasic.option.column[0].search){ this.hideBasicTable(true); } - gridCodeBasicSec(1, -1, condition).then(res => { + let conditionMaps = {}; + if(condition && !isAdancedQuery){ + Object.keys(condition).forEach(key=>{ + conditionMaps['conditionMap[t.'+key+']'] = condition[key]; + }); + } + if(isAdancedQuery){ + condition['conditionMap[t.pkCodeRule_equal]'] = this.currentCodeRuleOid == null || this.currentCodeRuleOid == '' + ? this.selectionList[0].oid:this.currentCodeRuleOid; + } + gridCodeBasicSec(1, -1,isAdancedQuery ? condition:conditionMaps).then(res => { const data = res.data.data; if(this.cloneSettingBox){ this.cloneData = data.records; @@ -1965,11 +1945,11 @@ }, basicSearchChange(params, done){ //console.log(this.$refs.crudBasic); - this.sendGridCodeBasicSec(Object.assign(params,{"pkCodeRule":this.selectionList[this.selectionList.length-1].oid})); + this.sendGridCodeBasicSec(Object.assign(params,{"pkCodeRule_equal":this.selectionList[this.selectionList.length-1].oid}),false); done(); }, basicSearchReset(){ - this.sendGridCodeBasicSec({"pkCodeRule":this.selectionList[this.selectionList.length-1].oid}); + this.sendGridCodeBasicSec({"pkCodeRule_equal":this.selectionList[this.selectionList.length-1].oid},false); }, // 涓婄Щ涓嬬Щ鍩虹鐮佹 upOrderNum(row){ @@ -2032,10 +2012,79 @@ /** 缂栫爜瑙勫垯鐩稿叧鏂规硶 */ // 鎵撳紑楂樼骇鏌ヨ绐楀彛 - openAdvancedQuery(){ - //this.$refs.advancedQuery.visible = true; - //this.advancedQueryParam.timer = new Date().getTime() - this.advancedQueryParam.advancedQuerySettingBox = !this.advancedQueryParam.advancedQuerySettingBox; + openAdvancedQuery(condition){ + // MasterTable({ + // codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3", + // functionId: 5, + // }).then(res=>{ + // console.log(res.data.tableDefineVO.seniorQueryColumns); + // }) + if(condition=='codeRule'){ + this.advancedQueryParam.options = [ + { + data: [], + title: '缂栧彿', + fieldType: 'text', + queryField: 'id', + },{ + data: [], + title: '鍚嶇О', + fieldType: 'text', + queryField: 'name', + },{ + data: [], + title: '鎻忚堪', + fieldType: 'text', + queryField: 'description', + },{ + data: [ + // { + // key: '缂栬緫涓�', + // value: 'Editing', + // }, + // { + // key: '宸插彂甯�', + // value: 'Released', + // }, + // { + // key: '鍋滅敤', + // value: 'Disabled', + // }, + ], + title: '鐘舵��', + fieldType: 'combox', + queryField: 'lcStatus', + comboxKey: 'codeSearchLCStatus', + } + ] + }else { + this.advancedQueryParam.options = [ + { + data: [], + title: '鐮佹缂栧彿', + fieldType: 'text', + queryField: 't.id', + },{ + data: [], + title: '鐮佹鍚嶇О', + fieldType: 'text', + queryField: 't.name', + },{ + data: [], + title: '鎻忚堪', + fieldType: 'text', + queryField: 't.description', + },{ + data: [], + title: '鐮佹绫诲瀷', + fieldType: 'combox', + queryField: 't.secType', + comboxKey: 'codeSecType', + } + ] + } + this.advancedQueryParam.currentOpen = condition; + this.advancedQueryParam.advancedQuerySettingBox = true; }, // 鏌ヨ浣跨敤鑼冨洿 handleRange(){ @@ -2304,16 +2353,21 @@ this.onLoad(this.page); }, searchChange(params, done) { - this.query = params; this.page.currentPage = 1; - this.onLoad(this.page, params); + // 澶氫釜conditionMap杩欐牱浼犲弬锛屽揩閫熸煡璇㈤粯璁ら噰鐢ㄦā绯婃煡璇� + if(params){ + Object.keys(params).forEach(key=>{ + this.query['conditionMap['+key+'_like]'] = params[key]; + }); + } + this.onLoad(this.page); done(); }, // 缂栫爜瑙勫垯褰撳墠閫変腑琛屽彉鍖栫殑鏃跺�欒Е鍙� selectionChange(list) { this.selectionList = list; this.$refs.crud.setCurrentRow(this.selectionList[list.length-1]); - //褰撳墠閫変腑琛屼负绌虹殑鏃跺�欏氨灏嗙爜娈电鐞嗚〃鏍兼暟鎹疆绌� + //褰撳墠閫変腑琛屼负绌虹殑鏃跺�欏氨灏嗙爜娈电鐞嗚〃鏍兼暟鎹疆绌�,骞剁鐢ㄧ浉鍏冲姛鑳� if(list == ''){ this.basicData = []; this.hideBasicTable(false); @@ -2337,14 +2391,25 @@ refreshChange() { this.onLoad(this.page, this.query); }, - onLoad(page, params = {}) { + onLoad(page,params={}) { this.loading = true; - gridCodeRule(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { + gridCodeRule( + page.currentPage, + page.pageSize, + this.query + ).then(res => { //console.log(res.data); const data = res.data.data; this.page.total = data.total; this.data = data.records; this.loading = false; + // 鏌ヨ鐨勫�间负绌烘椂锛岃灏嗙爜娈电鐞嗙浉鍏崇殑鍐呭绂佺敤 + if(data.records.length <= 0) { + this.hideBasicTable(false); + this.selectionList = []; + this.basicData = []; + return; + } this.loadBasic(this.data[0]) this.$nextTick(() => { this.$refs.crud.toggleRowSelection(this.data[0]); @@ -2556,42 +2621,39 @@ } // console.log(this.form); }, + // 绗竴娆¤姹傜殑鏋氫妇鏁版嵁鏀剧紦瀛� + getLocalStorageEnum(key){ + let enumCach = JSON.parse(localStorage.getItem(key)); + if(enumCach == null) { + getDictionary({code: key}).then(res=>{ + enumCach = res.data.data; + localStorage.setItem(key,JSON.stringify(res.data.data)); + }) + } + return enumCach; + }, //鏋氫妇鍜屽彲杈撳彲閫夊唴瀹规煡璇� loadCodeSecType(){ - getDictionary({code: "codeSecType"}).then(res=>{ - this.enumParam.secTypeList = res.data.data; - }) + this.enumParam.secTypeList = this.getLocalStorageEnum("codeSecType"); this.loadCodeSecLength(); }, loadCodeSecLength(){ - getDictionary({code: "codeSecLength"}).then(res=>{ - this.enumParam.codeSecLengthType = res.data.data; - }) + this.enumParam.codeSecLengthType = this.getLocalStorageEnum("codeSecLength"); }, loadCodeFillType(){ - getDictionary({code: "codeFillType"}).then(res=>{ - this.enumParam.codeFillType = res.data.data; - }) + this.enumParam.codeFillType = this.getLocalStorageEnum("codeFillType"); }, loadCodeFillSeparator(){ - getDictionary({code: "codeFillSeparator"}).then(res=>{ - this.enumParam.codeFillSeparator = res.data.data; - }) + this.enumParam.codeFillSeparator = this.getLocalStorageEnum("codeFillSeparator"); }, loadCodeLevelType(){ - getDictionary({code: "codeLevelType"}).then(res=>{ - this.enumParam.codeLevelType = res.data.data; - }) + this.enumParam.codeLevelType = this.getLocalStorageEnum("codeLevelType"); }, loadCodeCutType(){ - getDictionary({code: "codeCutType"}).then(res=>{ - this.enumParam.codeCutType = res.data.data; - }) + this.enumParam.codeCutType = this.getLocalStorageEnum("codeCutType"); }, loadCodeGetValueType(){ - getDictionary({code: "codeGetValueType"}).then(res=>{ - this.enumParam.codeGetValueType = res.data.data; - }) + this.enumParam.codeGetValueType = this.getLocalStorageEnum("codeGetValueType"); }, } -- Gitblit v1.9.3