From 5fb0afaeae8f7235e0a4c6e47a31123383dd5695 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期一, 30 十月 2023 13:47:01 +0800
Subject: [PATCH] 前端增加码段类型枚举类,实现修改码段类型时提供是否清空码值对话框功能
---
Source/UBCS-WEB/src/views/code/code.vue | 221 +++++++++++++++++++++++++++++++++----------------------
1 files changed, 132 insertions(+), 89 deletions(-)
diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index 4455cfb..f397beb 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
@@ -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>
@@ -1320,10 +1303,12 @@
import { mapGetters } from "vuex";
import { getByRoleUserList } from "@/api/system/user";
import func from "@/util/func";
+import secTypeEnum from '@/enumpack/CodeSecTypeEnum';
export default {
data() {
return {
+ crudOption:{...optionRule},
ruleForm: {},
query: {},
loading: true,
@@ -1586,11 +1571,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: {},
@@ -1646,6 +1655,7 @@
if (JSON.stringify(conditionMaps) != "{}") {
if (this.advancedQueryParam.currentOpen == "codeRule") {
this.query = conditionMaps;
+ // console.log(this.query);
this.onLoad(this.page);
} else {
this.sendGridCodeBasicSec(conditionMaps, true);
@@ -2302,6 +2312,12 @@
queryField: "lcStatus",
comboxKey: "codeSearchLCStatus",
},
+ {
+ data: [],
+ title: "鎵�鏈夎��",
+ fieldType: "text",
+ queryField: "ownerText",
+ },
];
} else {
this.advancedQueryParam.options = [
@@ -2406,11 +2422,11 @@
.catch((error) => {
this.releadDisabled = false;
});
+ this.releadDisabled = false;
} else {
this.updateStatus(oid, update);
}
},
-
/** 鎵撳紑缂栫爜瑙勫垯鍏嬮殕瀵硅瘽妗�*/
openCodeRuleDialog() {
if (!this.tipsMessage(this.selectionList)) {
@@ -2418,7 +2434,6 @@
}
this.cloneSettingBox = true;
},
-
/** 鎵撳紑浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹瀵硅瘽妗�*/
openOtherCodeRuleDialog() {
if (!this.tipsMessage(this.selectionList)) {
@@ -2536,7 +2551,7 @@
this.query = {};
this.onLoad(this.page);
},
- // 缂栫爜瑙勫垯蹇�熸煡璇�
+ // 缂栫爜瑙勫垯蹇�熸煡璇earchChange
searchChange(params, done) {
this.page.currentPage = 1;
// 澶氫釜conditionMap杩欐牱浼犲弬锛屽揩閫熸煡璇㈤粯璁ら噰鐢ㄦā绯婃煡璇�
@@ -2549,6 +2564,11 @@
}
this.query = requestData;
this.onLoad(this.page, this.query);
+ // console.log( this.findObject(this.optionRule.column,'id'))
+ // console.log(this.crudOption.column[0])
+ // this.crudOption.column && this.crudOption.column.length > 0
+ // ? (this.crudOption.column[0].value = '')
+ // : null;
done();
},
/** 缂栫爜瑙勫垯褰撳墠閫変腑琛屽彉鍖栫殑鏃跺�欒Е鍙�*/
@@ -2586,7 +2606,11 @@
},
onLoad(page, params = {}) {
this.loading = true;
- gridCodeRule(page.currentPage, page.pageSize, params).then((res) => {
+ gridCodeRule(
+ page.currentPage,
+ page.pageSize,
+ Object.assign({},params,this.query),
+ ).then((res) => {
//console.log(res.data);
const data = res.data.data;
this.page.total = data.total;
@@ -2641,13 +2665,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;
},
@@ -2670,16 +2694,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 (
@@ -2693,21 +2717,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鐨勮〃鍗曟牎楠岃缃笉涓婃墍浠ラ噰鐢ㄥ垽鏂殑鏂瑰紡鏉ュ仛琛ㄥ崟妫�楠屾柟寮�*/
@@ -2915,6 +2956,10 @@
/** 鍩虹鐮佹鍒犻櫎*/
deleteBasicCode() {
if (!this.tipsMessage(this.selectionBasicList)) {
+ return;
+ }
+ if (this.selectionList.at(-1).lcStatus != "Editing") {
+ this.$message.warning('缂栫爜瑙勫垯鐘舵�佷笉鏄�"缂栬緫涓�"锛屼笉鍏佽鍒犻櫎鐮佹!');
return;
}
let oid = this.selectionBasicList[0].oid;
@@ -3141,34 +3186,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, {
@@ -3321,6 +3351,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));
@@ -3376,10 +3415,14 @@
},
// 鏈�澶ф祦姘村彿
maxSerialNum() {
- if (this.selectionList.length === 0) {
+ if (this.selectionList.length <= 0) {
this.$message.warning("璇烽�夋嫨涓�鏉$紪鐮佽鍒欙紒");
return;
}
+ if(this.selectionList.length> 1){
+ this.$message.warning("鍙兘閫夋嫨涓�鏉$紪鐮佽鍒欙紒");
+ return;
+ }
this.maxSerial.visible = true;
this.maxSerial.ruleOid = this.selectionList[0]["oid"];
},
--
Gitblit v1.9.3