From 36fff14de9bb4808d8dbf5c586baf331986e53a3 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 31 十月 2023 22:56:22 +0800 Subject: [PATCH] 修改可输可选新增方法,完善部分漏改按钮code --- Source/UBCS-WEB/src/views/code/code.vue | 236 +++++++++++++++++++++++++++++++++------------------------- 1 files changed, 133 insertions(+), 103 deletions(-) diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue index 1c397cf..f9d2ddb 100644 --- a/Source/UBCS-WEB/src/views/code/code.vue +++ b/Source/UBCS-WEB/src/views/code/code.vue @@ -1,5 +1,5 @@ <template> - <basic-container class="code-total" style="height: 100%"> + <basic-container class="code-total" style=" height: 100%"> <!-- 缂栫爜瑙勫垯淇℃伅灞曠ず鍖哄煙 --> <basic-container class="code-rule-container"> <p @@ -36,8 +36,7 @@ > <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� --> <template slot="menu" slot-scope="scope"> - <el-button - v-show="scope.row.lcStatus == 'Editing' ? true : false" + <el-button v-if="permissionList.editBtn && (scope.row.lcStatus == 'Editing' ? true : false)" icon="el-icon-edit" plain size="small" @@ -45,8 +44,7 @@ @click="openEdit(scope.row)" >缂� 杈� </el-button> - <el-button - v-show="scope.row.lcStatus == 'Editing' ? true : false" + <el-button v-if="permissionList.releaseBtn && (scope.row.lcStatus == 'Editing' ? true : false)" :loading="releadDisabled" icon="el-icon-position" plain @@ -55,8 +53,7 @@ @click="enableOrDeactivatse(scope.row.oid, 'release')" >鍙� 甯� </el-button> - <el-button - v-show="scope.row.lcStatus == 'Released' ? true : false" + <el-button v-if="permissionList.deactivateBtn && (scope.row.lcStatus == 'Released' ? true : false)" icon="el-icon-video-pause" plain size="small" @@ -64,8 +61,7 @@ @click="enableOrDeactivatse(scope.row.oid, 'disable')" >鍋� 鐢� </el-button> - <el-button - v-show="scope.row.lcStatus == 'Disabled' ? true : false" + <el-button v-if="permissionList.enableBtn && (scope.row.lcStatus == 'Disabled' ? true : false)" icon="el-icon-video-play" plain size="small" @@ -76,7 +72,7 @@ </template> <!-- 琛ㄦ牸涓婃柟鎸夐挳鍖哄煙 --> <template slot="menuLeft" slot-scope="scope"> - <el-button + <el-button v-if="permissionList.rulDelBtn" icon="el-icon-delete" plain size="small" @@ -85,16 +81,15 @@ > 鍒� 闄� </el-button> - <el-button + <el-button v-if="permissionList.advancedQueryBtn" icon="el-icon-search" plain size="small" type="primary" - @click="openAdvancedQuery('codeRule')" - > + @click="openAdvancedQuery('codeRule')"> 楂樼骇鏌ヨ </el-button> - <el-button + <el-button v-if="permissionList.cloneBtn" icon="icon-kelong" plain size="small" @@ -102,7 +97,7 @@ > 鍏� 闅� </el-button> - <el-button + <el-button v-if="permissionList.otherCloneBtn" icon="icon-lianjiekelong" plain size="small" @@ -111,7 +106,7 @@ > 浠庡叾浠栬鍒欎腑鍏嬮殕鐮佹 </el-button> - <el-button + <el-button v-if="permissionList.usescopeBtn" icon="el-icon-s-help" plain size="small" @@ -119,7 +114,7 @@ > 浣跨敤鑼冨洿 </el-button> - <el-button + <el-button v-if="permissionList.clearBtn" icon="icon-qingkong" plain size="small" @@ -127,7 +122,7 @@ > 娓呯┖鐮佸�� </el-button> - <el-button + <el-button v-if="permissionList.escapeOwnerBtn" icon="el-icon-guide" plain size="small" @@ -135,7 +130,7 @@ > 杞Щ鎵�鏈夎�� </el-button> - <el-button + <el-button v-if="permissionList.maxSerialnumBtn" icon="el-icon-data-analysis" plain size="small" @@ -223,21 +218,18 @@ <!-- 鍩虹鐮佹灞曠ず鍖哄煙 --> <basic-container class="code-basicsec-container"> <p - style=" - margin-top: -5px; + style="margin-top: -5px; margin-bottom: 4px; font-weight: 570; font-size: 19px; - color: #0e2d5f; - " - > + color: #0e2d5f;"> 鐮佹绠$悊 </p> <avue-crud ref="crudBasic" :data="basicData" :option="optionBasic" - :permission="permissionList" + :permission="basicPermissionList" :table-loading="loadingBasic" class="code-basic-crud" @row-click="codeBasicSecRowClick" @@ -248,8 +240,7 @@ > <!-- 鍩虹鐮佹琛ㄦ牸鍐呮搷浣滄寜閽� --> <template slot="menu" slot-scope="scope"> - <el-button - v-show="currentRuleLcStatus != 'Editing'" + <el-button v-if="basicPermissionList.viewBtn && currentRuleLcStatus != 'Editing'" icon="el-icon-view" plain size="small" @@ -257,8 +248,7 @@ @click="openBasicDialog('view', scope.row)" >鏌ョ湅 </el-button> - <el-button - v-show="currentRuleLcStatus === 'Editing'" + <el-button v-if="basicPermissionList.editBtn && currentRuleLcStatus === 'Editing'" icon="el-icon-edit" plain size="small" @@ -266,11 +256,7 @@ @click="openBasicDialog('edit', scope.row)" >缂栬緫 </el-button> - <el-button - v-show=" - scope.row.secType === 'codeclassifysec' || - scope.row.secType == 'codefixedsec' - " + <el-button v-if="basicPermissionList.basicMgrBtn && (scope.row.secType === 'codeclassifysec' || scope.row.secType == 'codefixedsec')" icon="el-icon-setting" plain size="small" @@ -278,8 +264,7 @@ @click="openBasicSecCodeValueMgr(scope.row)" >鐮佸�肩鐞� </el-button> - <el-button - v-show="scope.row.orderNum > 1" + <el-button v-if="basicPermissionList.basicMoveupBtn && scope.row.orderNum > 1" icon="el-icon-arrow-up" plain size="small" @@ -287,7 +272,7 @@ @click="upOrderNum(scope.row)" >涓婄Щ </el-button> - <el-button + <el-button v-if="basicPermissionList.basicDownBtn" icon="el-icon-arrow-down" plain size="small" @@ -299,7 +284,7 @@ <!-- 鍩虹鐮佹琛ㄦ牸宸︿笂鏂规寜閽尯鍩� --> <template slot="menuLeft" slot-scope="scope"> - <el-button + <el-button v-if="basicPermissionList.addBtn" :disabled="selectionList.length <= 0" icon="el-icon-plus" size="small" @@ -308,7 +293,7 @@ > 鏂� 澧� </el-button> - <el-button + <el-button v-if="basicPermissionList.basicDelBtn" :disabled="selectionList.length <= 0" icon="el-icon-delete" plain @@ -318,7 +303,7 @@ > 鍒� 闄� </el-button> - <el-button + <el-button v-if="basicPermissionList.basicAdvancedQueryBtn" :disabled="selectionList.length <= 0" icon="el-icon-search" plain @@ -1128,9 +1113,9 @@ > <el-option v-for="item in enumParam.codeFillSeparator" - :key="item.itemValue" - :label="item.itemName" - :value="item.itemValue" + :key="item.dictKey" + :label="item.dictValue" + :value="item.dictValue" > </el-option> </el-select> @@ -1201,9 +1186,7 @@ </el-row> </div> <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="selectedListClassifyLinkAttr" - >纭� 瀹�</el-button - > + <el-button type="primary" @click="selectedListClassifyLinkAttr">纭� 瀹�</el-button> <el-button @click="isShowSelectAttrOption = false">鍙� 娑�</el-button> </div> </el-dialog> @@ -1310,6 +1293,7 @@ saveCodeClassifyValueOrder, } from "@/api/code/codeClassifyValue"; import { getDictionary } from "@/api/omd/enum"; +import { getDictionaryBiz } from "@/api/system/dictbiz"; import optionBasic from "@/const/code/codebasic"; import optionRule from "@/const/code/mdmrule"; import attrOption from "@/const/code/selectAttrOptionDialog"; @@ -1320,6 +1304,7 @@ import { mapGetters } from "vuex"; import { getByRoleUserList } from "@/api/system/user"; import func from "@/util/func"; +import secTypeEnum from '@/enumpack/CodeSecTypeEnum'; export default { data() { @@ -1587,11 +1572,35 @@ ...mapGetters(["permission"]), permissionList() { return { - addBtn: this.vaildData(this.permission.codeRule_add, true), - viewBtn: this.vaildData(this.permission.codeRule_view, false), - delBtn: this.vaildData(this.permission.plCodeRule_delete, false), - editBtn: this.vaildData(this.permission.codeRule_edit, true), + // 缂栫爜瑙勫垯鐩稿叧鎸夐挳 + addBtn: this.vaildData(this.permission.code_rule.code_rule_add, false), + //viewBtn: this.vaildData(this.permission.code_rule.code_rule_view, false), + rulDelBtn: this.vaildData(this.permission.code_rule.code_rule_delete, false), + editBtn: this.vaildData(this.permission.code_rule.code_rule_edit, false), + deactivateBtn: this.vaildData(this.permission.code_rule.code_rule_deactivate, false), + enableBtn: this.vaildData(this.permission.code_rule.code_rule_enable, false), + releaseBtn: this.vaildData(this.permission.code_rule. code_rule_release, false), + advancedQueryBtn: this.vaildData(this.permission.code_rule.code_rule_advanced_query, false), + cloneBtn: this.vaildData(this.permission.code_rule.code_rule_clone, false), + otherCloneBtn: this.vaildData(this.permission.code_rule.code_rule_other_clone, false), + usescopeBtn: this.vaildData(this.permission.code_rule.code_rule_usescope, false), + clearBtn: this.vaildData(this.permission.code_rule.code_rule_clear, false), + escapeOwnerBtn: this.vaildData(this.permission.code_rule.code_rule_escape_owner, false), + maxSerialnumBtn: this.vaildData(this.permission.code_rule.code_rule_max_serialnum, false), }; + }, + basicPermissionList() { + return{ + // 鍩虹鐮佹鐩稿叧鎸夐挳 + addBtn: this.vaildData(this.permission.code_rule.code_basic_add, false), + editBtn: this.vaildData(this.permission.code_rule.code_basic_edit, false), + viewBtn: this.vaildData(this.permission.code_rule. code_basic_view, false), + basicDelBtn: this.vaildData(this.permission.code_rule.code_basic_delete, false), + basicAdvancedQueryBtn: this.vaildData(this.permission.code_rule.code_basic_advanced_query, false), + basicMgrBtn: this.vaildData(this.permission.code_rule.code_basic_mgr, false), + basicMoveupBtn: this.vaildData(this.permission.code_rule.code_basic_moveup, false), + basicDownBtn: this.vaildData(this.permission.code_rule.code_basic_down, false), + } }, }, watch: {}, @@ -1604,6 +1613,16 @@ this.$refs.crud.doLayout(); this.$refs.crudBasic.doLayout(); }); + }, + // 鐢熷懡閽╁瓙鍑芥暟 + beforeDestroy() { + // 娓呴櫎鎸囧畾缂撳瓨 + localStorage.removeItem('codeSecType'); + localStorage.removeItem('codeSecLength'); + localStorage.removeItem('codeFillType'); + localStorage.removeItem('codeLevelType'); + localStorage.removeItem('codeCutType'); + localStorage.removeItem('codeGetValueType'); }, methods: { @@ -2414,11 +2433,11 @@ .catch((error) => { this.releadDisabled = false; }); + this.releadDisabled = false; } else { this.updateStatus(oid, update); } }, - /** 鎵撳紑缂栫爜瑙勫垯鍏嬮殕瀵硅瘽妗�*/ openCodeRuleDialog() { if (!this.tipsMessage(this.selectionList)) { @@ -2426,7 +2445,6 @@ } this.cloneSettingBox = true; }, - /** 鎵撳紑浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹瀵硅瘽妗�*/ openOtherCodeRuleDialog() { if (!this.tipsMessage(this.selectionList)) { @@ -2600,9 +2618,9 @@ onLoad(page, params = {}) { this.loading = true; gridCodeRule( - page.currentPage, - page.pageSize, - Object.assign({},params,this.query), + page.currentPage, + page.pageSize, + Object.assign({},params,this.query), ).then((res) => { //console.log(res.data); const data = res.data.data; @@ -2658,13 +2676,13 @@ this.basicSecDialogTitle = "淇敼鐮佹淇℃伅"; this.showbtn = true; this.basicSecOnlyRead = false; - //涓篺orm缁戝畾鍊� } else { this.basicSecDialogTitle = "鏌ョ湅鐮佹淇℃伅"; this.showbtn = false; this.basicSecOnlyRead = true; } //console.log(this.form); + //涓篺orm缁戝畾鍊� this.changeSectypeFormItems(condition == "add" ? null : row); this.addBasicCodeSettingBox = true; }, @@ -2687,16 +2705,16 @@ type: "success", message: "鎿嶄綔鎴愬姛!", }); + // 鍏抽棴瀵硅瘽妗� + this.addBasicCodeSettingBox = false; + // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇 + this.loadBasic(this.selectionList[0]); }, (error) => { window.console.log(error); } ); - // 鍏抽棴瀵硅瘽妗� - this.addBasicCodeSettingBox = false; } - // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇 - this.loadBasic(this.selectionList[0]); } else { // 鍙兘鍙傜収寮曠敤鐨勪笟鍔$被鍨嬩細鍙戠敓鏀瑰彉鎵�浠ヨ繖鍎跨洿鎺ュreferConfig鐨刯son杩涜鏀瑰彉 if ( @@ -2710,21 +2728,38 @@ // let referValueInfo = JSON.parse(this.form.referValueInfo); // referValueInfo.referType = this.form.referBtmId; } - editSave(this.form).then( + let oldBasicSec = this.selectionBasicList.at(-1); + let secType = this.form.secType; + Vue.set(this.form, 'isClearValue', false); + if((oldBasicSec.secType == "codefixedsec" || oldBasicSec.secType === "codeclassifysec") && oldBasicSec.secType != secType){ + await this.$confirm("鐮佹绫诲瀷鐢便��"+oldBasicSec.secTypeText+"銆戯紝淇敼涓�"+"銆�"+secTypeEnum.getTextByValue(secType)+"銆戯紝璇烽棶鏄惁闇�瑕佹竻绌哄叧鑱旂殑鐮佸�硷紵", "鎻愮ず", { + distinguishCancelAndClose: true, + closeOnClickModal: false, + confirmButtonText: "娓呯┖鐮佸��", + cancelButtonText: "淇濈暀鐮佸��", + }).then(() => { + // 娓呯┖鐮佸�� + this.form.isClearValue = true; + }).catch(action => { + this.form.isClearValue = false; + }); + } + await editSave(this.form).then( () => { this.$message({ type: "success", message: "鎿嶄綔鎴愬姛!", }); + this.loadBasic(this.selectionList[0]); + // 鍏抽棴瀵硅瘽妗� + this.addBasicCodeSettingBox = false; }, (error) => { window.console.log(error); } ); - this.loadBasic(this.selectionList[0]); - // 鍏抽棴瀵硅瘽妗� - this.addBasicCodeSettingBox = false; } + // 鍙栨秷淇濆瓨鎸夐挳鍔犺浇鏁堟灉 this.isLoadingSecCodeAddBtn = false; }, /** 鍥犱负elementui鐨勮〃鍗曟牎楠岃缃笉涓婃墍浠ラ噰鐢ㄥ垽鏂殑鏂瑰紡鏉ュ仛琛ㄥ崟妫�楠屾柟寮�*/ @@ -2934,7 +2969,7 @@ if (!this.tipsMessage(this.selectionBasicList)) { return; } - if (this.selectionBasicList[0].lcStatus != "Editing") { + if (this.selectionList.at(-1).lcStatus != "Editing") { this.$message.warning('缂栫爜瑙勫垯鐘舵�佷笉鏄�"缂栬緫涓�"锛屼笉鍏佽鍒犻櫎鐮佹!'); return; } @@ -3162,34 +3197,19 @@ ) { this.loadCodeSecType(); } - if (row != null) { - this.form = { - oid: row.oid, - id: row.id, //缂栧彿, - name: row.name, //鍚嶇О - secType: row.secType, //鐮佹绫诲瀷 - description: row.description, //鎻忚堪 - serialDependFlag: row.serialDependFlag == "true" ? true : false, //鏄惁娴佹按渚濊禆 - serialDependOrder: row.serialDependOrder, //娴佹按渚濊禆椤哄簭 - nullableFlag: row.nullableFlag == "true" ? true : false, //鏄惁涓虹┖ - displayFlag: row.displayFlag == "true" ? true : false, - componentCodeFlag: row.componentCodeFlag == "true" ? true : false, //鏄惁鍙備笌缂栫爜 - pkCodeRule: row.pkCodeRule, //鎵�灞炵紪鐮佽鍒� - }; - } else { - this.form = { - id: this.form.id, //缂栧彿 - name: this.form.name, //鍚嶇О - secType: this.form.secType, //鐮佹绫诲瀷 - description: this.form.description, //鎻忚堪 - serialDependFlag: this.form.serialDependFlag, //鏄惁娴佹按渚濊禆 - serialDependOrder: this.form.serialDependOrder, //娴佹按渚濊禆椤哄簭 - nullableFlag: this.form.nullableFlag, //鏄惁涓虹┖ - displayFlag: this.form.displayFlag, // - componentCodeFlag: this.form.componentCodeFlag, //鏄惁鍙備笌缂栫爜 - pkCodeRule: this.form.pkCodeRule, //鎵�灞炵紪鐮佽鍒� - }; - } + this.form = { + oid: row !=null ? row.oid:this.form.oid, + id: row !=null ? row.id:this.form.id, //缂栧彿, + name: row !=null ? row.name:this.form.name, //鍚嶇О + secType: row !=null ? row.secType:this.form.secType, //鐮佹绫诲瀷 + description: row !=null ? row.description:this.form.description, //鎻忚堪 + serialDependFlag: this.isNullJsonBoolean(row,this.form, 'serialDependFlag'), //鏄惁娴佹按渚濊禆 + serialDependOrder: row !=null ? row.serialDependOrder:this.form.serialDependOrder, //娴佹按渚濊禆椤哄簭 + nullableFlag: this.isNullJsonBoolean(row, this.form, 'nullableFlag'), //鏄惁涓虹┖ + displayFlag: this.isNullJsonBoolean(row, this.form, 'displayFlag'), + componentCodeFlag: this.isNullJsonBoolean(row, this.form, 'componentCodeFlag'), //鏄惁鍙備笌缂栫爜 + pkCodeRule: row !=null ? row.pkCodeRule:this.form.pkCodeRule, //鎵�灞炵紪鐮佽鍒� + }; if (this.form.secType === "codefixedsec") { //鍥哄畾鐮佹 this.form = Object.assign({}, this.form, { @@ -3342,6 +3362,15 @@ this.loadCodeFillSeparator(); } }, + // 鍒ゆ柇Boolean鍊兼槸鍚︿负绌猴紝骞朵笖瀵箂tr绫诲瀷甯冨皵鍊艰繘琛岃浆鎹� + isNullJsonBoolean(row,form,attr) { + //console.log(row[attr],form[attr]); + if(row != null){ + return JSON.parse(row[attr]); + }else { + return form[attr]; + } + }, /** 绗竴娆¤姹傜殑鏋氫妇鏁版嵁鏀剧紦瀛�*/ getLocalStorageEnum(enumKey) { let enumCach = JSON.parse(localStorage.getItem(enumKey)); @@ -3375,16 +3404,17 @@ this.enumParam.codeFillType = this.getLocalStorageEnum("codeFillType") || []; }, loadCodeFillSeparator() { - let enumCach = JSON.parse(localStorage.getItem("codeFillSeparator")); - if (enumCach == null) { - getDictionary("codeFillSeparator").then((res) => { - this.enumParam.codeFillSeparator = res.data.data; - localStorage.setItem( - "codeFillSeparator", - JSON.stringify(res.data.data) - ); - }); - } + //let enumCach = JSON.parse(localStorage.getItem("codeFillSeparator")); + //if (enumCach == null) { + getDictionaryBiz({code:"codeFillSeparator"}).then((res) => { + this.enumParam.codeFillSeparator = res.data.data; + //console.log(this.enumParam.codeFillSeparator); + localStorage.setItem( + "codeFillSeparator", + JSON.stringify(res.data.data) + ); + }); + //} }, loadCodeLevelType() { this.enumParam.codeLevelType = this.getLocalStorageEnum("codeLevelType") || []; -- Gitblit v1.9.3