From 3362fc8656fb3587198beb71a56b5bf6525027cc Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期二, 19 三月 2024 11:29:56 +0800
Subject: [PATCH] 整合修改代码
---
Source/UBCS-WEB/src/views/code/code.vue | 267 ++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 194 insertions(+), 73 deletions(-)
diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index 03b6b62..a7032b9 100644
--- a/Source/UBCS-WEB/src/views/code/code.vue
+++ b/Source/UBCS-WEB/src/views/code/code.vue
@@ -2,7 +2,7 @@
<basic-container class="code-total" style=" height: 100%">
<!-- 缂栫爜瑙勫垯淇℃伅灞曠ず鍖哄煙 -->
<basic-container class="code-rule-container">
- <div style="height: 40vh;overflow: auto;">
+ <div style="height: 49vh;overflow: auto;">
<p
style="
margin-top: -5px;
@@ -142,7 +142,6 @@
</template>
</avue-crud>
</div>
-
</basic-container>
<!-- 楂樼骇鏌ヨ瀵硅瘽妗� -->
@@ -220,7 +219,7 @@
<!-- 鍩虹鐮佹灞曠ず鍖哄煙 -->
<basic-container class="code-basicsec-container">
- <div style="height: 38.5vh;overflow: auto">
+ <div style="height: 29.3vh;overflow: auto">
<p
style="margin-top: -5px;
margin-bottom: 4px;
@@ -404,9 +403,7 @@
margin-top: 20px;
display: flex;
align-items: center;
- justify-content: center;
- "
- >
+ justify-content: center;">
<el-button
class="button"
icon="el-icon-circle-plus"
@@ -642,19 +639,35 @@
<el-form-item
:label-width="leftFormLabelWidth"
label="鍓嶇紑:">
- <el-input
+ <!-- <el-input
v-model="form.prefixCode"
:readonly="basicSecOnlyRead"
- ></el-input>
+ ></el-input> -->
+ <el-select v-model="form.prefixCode" :disabled="basicSecOnlyRead" clearable>
+ <el-option
+ v-for="(option, index) in preFixOrSuffixChars"
+ :key="index"
+ :label="option.label"
+ :value="option.value">
+ </el-option>
+ </el-select>
</el-form-item>
<el-form-item
:label-width="leftFormLabelWidth"
label="鍚庣紑:">
- <el-input
+ <!-- <el-input
v-model="form.suffixCode"
:readonly="basicSecOnlyRead">
- </el-input>
+ </el-input> -->
+ <el-select v-model="form.suffixCode" :disabled="basicSecOnlyRead" clearable>
+ <el-option
+ v-for="(option, index) in preFixOrSuffixChars"
+ :key="index"
+ :label="option.label"
+ :value="option.value">
+ </el-option>
+ </el-select>
</el-form-item>
<el-form-item :label-width="leftFormLabelWidth" label="鎻忚堪:">
@@ -838,13 +851,13 @@
:disabled="basicSecOnlyRead"
filterable
placeholder="璇烽�夋嫨"
- @blur="inputSelectBlur"
+ clearable
>
<el-option
v-for="item in enumParam.codeFillSeparator"
- :key="item.dictKey"
- :label="item.dictValue"
- :value="item.dictValue"
+ :key="item.lable"
+ :label="item.lable"
+ :value="item.value"
>
</el-option>
</el-select>
@@ -883,11 +896,12 @@
</el-form-item>
<el-form-item
:label-width="rightFormLabelWidth"
- label="鑷畾涔夌殑娴佹按绠楁硶:"
+ label="鑷畾涔夋祦姘寸畻娉�:"
>
<template>
<vciWebRefer
ref="refer"
+ :disabled="basicSecOnlyRead"
:display="true"
:referConfig="this.referConfig || {}"
:serialType="form.serialType"
@@ -896,8 +910,6 @@
@setReferValue="setReferValue"
></vciWebRefer>
</template>
-
-
</el-form-item>
</div>
<!-- 灞傜骇鐮佹 -->
@@ -911,6 +923,7 @@
v-model="form.codeLevelType"
:disabled="basicSecOnlyRead"
placeholder="璇烽�夋嫨"
+ @change="changeLevelType"
>
<el-option
v-for="item in enumParam.codeLevelType"
@@ -929,6 +942,7 @@
ref="codeLevelValue"
v-model.number="form.codeLevelValue"
:readonly="basicSecOnlyRead"
+ :disabled="form.codeLevelType != 'code_level_special'"
></el-input>
</el-form-item>
<el-form-item
@@ -1142,13 +1156,13 @@
:disabled="basicSecOnlyRead"
filterable
placeholder="璇烽�夋嫨"
- @blur="inputSelectBlur"
+ clearable
>
<el-option
v-for="item in enumParam.codeFillSeparator"
- :key="item.dictKey"
- :label="item.dictValue"
- :value="item.dictValue"
+ :key="item.lable"
+ :label="item.lable"
+ :value="item.value"
>
</el-option>
</el-select>
@@ -1290,8 +1304,6 @@
</refer-config-dialog>
</el-dialog>
- <!-- 鑷畾涔夋祦姘村弬鐓х粍浠�-->
-
</basic-container>
</template>
@@ -1332,8 +1344,9 @@
deleteCodeClassifyValue,
saveCodeClassifyValueOrder,
} from "@/api/code/codeClassifyValue";
+import { getSelectList, getRegexStr } from "@/api/code/codeCharcter"
import {getDictionary} from "@/api/omd/enum";
-import {getDictionaryBiz} from "@/api/system/dictbiz";
+// import {getDictionaryBiz} from "@/api/system/dictbiz";
import optionBasic from "@/const/code/codebasic";
import optionRule from "@/const/code/mdmrule";
import attrOption from "@/const/code/selectAttrOptionDialog";
@@ -1357,7 +1370,28 @@
required: true,
trigger: 'blur',
validator: (rule, value, callback) => {
- const Formats = ['yy', 'yyyy', 'yyyy-MM', 'yy-MM', 'yyyy-MM-dd', 'yy-MM-dd', 'yyyy-MM-dd HH:mm:ss', 'yy-MM-dd HH:mm:ss', 'HH:mm:ss'];
+ const Formats = [
+ 'yy',
+ 'yyyy',
+ 'yy-MM',
+ 'yyMM',
+ 'yyyy-MM',
+ 'yyyyMM',
+ 'yy-MM-dd',
+ 'yyMMdd',
+ 'yyyy-MM-dd',
+ 'yyyyMMdd',
+ 'yyyy-MM-dd HH:mm:ss',
+ 'yy-MM-dd HH:mm:ss',
+ 'HH:mm:ss',
+ 'yyyyMMdd HH:mm:ss',
+ 'yyMMdd HH:mm:ss',
+ 'yyyy-MM-dd HHmmss',
+ 'yy-MM-dd HHmmss',
+ 'yyyyMMdd HHmmss',
+ 'yyMMdd HHmmss',
+ 'HHmmss'
+ ];
if (!Formats.includes(this.form.codeDateFormatStr)) {
return callback(new Error('璇疯緭鍏ユ纭棩鏈熸牸寮忥紝渚嬪yyyy-MM-dd锛堝苟鍖哄垎澶у皬鍐欙級锛�'));
}
@@ -1371,7 +1405,7 @@
showField: 'customCodeSerialClassText',
field: 'customCodeSerialClass',
fieldMap: {
- serialType: "serialType"
+ serialType: "serialType",
},
placeholder: '璇烽�夋嫨鑷畾涔夋祦姘�',
options: {
@@ -1660,6 +1694,9 @@
//寮曠敤鐮佹涓弬鐓ч厤缃粍浠剁浉鍏冲弬鏁�
referConfigOption: {},
referConfigVisble: false,
+
+ preFixOrSuffixChars: [], //鍓嶅悗缂�瀛楃鍒楄〃
+
};
},
computed: {
@@ -1722,10 +1759,12 @@
//鑷畾涔夋祦姘村け鐒�
setReferValue(data) {
if (data.field) {
- this.form[data.field] = data.value || "";
+ // this.form[data.field] = data.value || "";
+ this.form.customCodeSerialClass = data.rawData[0].id || "";
+ console.log(this.form.customCodeSerialClass);
this.form[data.showField] = data.text || "";
this.form.serialType = data.rawData[0].serialType || "";
-
+ this.form.customCodeSerialType = data.rawData[0].serialType || "";
}
},
/** 杞Щ瑙勫垯鎵�鏈夎�呭璇濇 */
@@ -1979,9 +2018,12 @@
this.codeFixdForm.codeFixedSecOid = row.codefixedsecoid;
},
/** 鏂板鐮佸��*/
- addCodeSecValue(condition) {
+ async addCodeSecValue(condition) {
if (condition === "codefixedsec") {
if (!this.tipsCodeSecValueMessage(this.codeFixdForm.id)) {
+ return;
+ }
+ if(!await this.regexCharacter(this.codeFixdForm.id)){
return;
}
this.codeFixdForm.codeFixedSecOid = this.codefixedsecOrCodeclassifysec.oid;
@@ -2006,6 +2048,9 @@
if (!this.tipsCodeSecValueMessage(this.codeClassifyForm.id)) {
return;
}
+ if(!await this.regexCharacter(this.codeClassifyForm.id)){
+ return;
+ }
this.codeClassifyForm.codeClassifySecOid =
this.codefixedsecOrCodeclassifysec.oid;
addSaveCodeClassifyValue(this.codeClassifyForm).then(
@@ -2028,39 +2073,13 @@
);
}
},
- /** 娓呯┖鐮佸�艰〃鍗� */
- clearFixedOrClassifyForm(condition) {
- //鐐瑰嚮鍙栨秷鏃舵竻绌鸿〃鍗曚笌褰撳墠閫変腑鐨勭爜鍊硷紝骞剁鐢ㄦ寜閽�
- this.selectedFixedOrCodeclassifyValue = "";
- if (condition === "close") {
- this.codeFixdForm = this.$options.data().codeFixdForm;
- this.codeClassifyForm = this.$options.data().codeClassifyForm;
- }
- if (condition === "codefixedsec") {
- this.codeFixdForm.description = "";
- this.codeFixdForm.codeFixedSecOid = "";
- } else {
- this.codeClassifyForm = this.$options.data().codeClassifyForm;
- }
- },
- /** 娣诲姞鎴栦慨鏀圭爜鍊间箣鍓嶅鐮佸�奸暱搴︽牴鎹鍒欒繘琛屾牎楠� */
- tipsCodeSecValueMessage(id) {
- if (id.trim() == "") {
- this.$message.warning("鐮佸�间笉鑳戒负绌猴紒");
- return false;
- }
- if (id.trim().length > this.codefixedsecOrCodeclassifysec.codeSecLength) {
- this.$message.warning(
- "鐮佸�奸暱搴︿笉鑳藉ぇ浜�" + this.codefixedsecOrCodeclassifysec.codeSecLength
- );
- return false;
- }
- return true;
- },
/** 淇敼鐮佸�� */
- editCodeSecValue(condition) {
+ async editCodeSecValue(condition) {
if (condition == "codefixedsec") {
if (!this.tipsCodeSecValueMessage(this.codeFixdForm.id)) {
+ return;
+ }
+ if(!await this.regexCharacter(this.codeFixdForm.id)){
return;
}
//浠ュ墠鏄洿鎺ユ妸褰撳墠閫変腑琛岀殑鎵�鏈夋暟鎹兘杩涜鎻愪氦锛屼絾鍏跺疄鍙渶瑕佷紶杈撲竴浜涘繀瑕佸弬鏁板嵆鍙紝杩欏効鍋氫簡淇敼锛岄渶瑕佷紶鍏朵粬鍙傛暟鐨勮鑷娣诲姞
@@ -2090,6 +2109,9 @@
if (!this.tipsCodeSecValueMessage(this.codeClassifyForm.id)) {
return;
}
+ if(!await this.regexCharacter(this.codeClassifyForm.id)){
+ return;
+ }
this.codeClassifyForm.oid =
this.selectedFixedOrCodeclassifyValue.attributes.oid;
// 鍒嗙被鐮佹锛屽瓙鍒嗙被鍜岀埗鍒嗙被涔嬮棿涓嶈兘鐩镐簰鏇存敼
@@ -2117,6 +2139,54 @@
}
);
}
+ },
+ /**
+ * 鍙敤瀛楃闆嗙爜鍊兼鍒欐牎楠�
+ * @return true:婊¤冻闄愬埗锛宖alse锛氫笉婊¤冻闄愬埗
+ */
+ async regexCharacter(str){
+ var regex = null;
+ // 鑾峰彇鍒伴厤缃ソ鐨勫彲鐢ㄥ瓧绗︽鍒�
+ await getRegexStr({codeRuleId: this.selectionList[0].oid,chartType: "charset"}).then(res=>{
+ // console.log(res.data.data);
+ regex = new RegExp(res.data.data);
+ });
+ // console.log(regex);
+ // console.log(regex.test(str));
+ if(regex != "" && !regex.test(str)){
+ this.$message.warning("娣诲姞鐨勭爜鍊兼湭鍦ㄥ彲鐢ㄥ瓧绗﹂泦涓厤缃紒");
+ return false;
+ }
+ return true;
+ },
+ /** 娓呯┖鐮佸�艰〃鍗� */
+ clearFixedOrClassifyForm(condition) {
+ //鐐瑰嚮鍙栨秷鏃舵竻绌鸿〃鍗曚笌褰撳墠閫変腑鐨勭爜鍊硷紝骞剁鐢ㄦ寜閽�
+ this.selectedFixedOrCodeclassifyValue = "";
+ if (condition === "close") {
+ this.codeFixdForm = this.$options.data().codeFixdForm;
+ this.codeClassifyForm = this.$options.data().codeClassifyForm;
+ }
+ if (condition === "codefixedsec") {
+ this.codeFixdForm.description = "";
+ this.codeFixdForm.codeFixedSecOid = "";
+ } else {
+ this.codeClassifyForm = this.$options.data().codeClassifyForm;
+ }
+ },
+ /** 娣诲姞鎴栦慨鏀圭爜鍊间箣鍓嶅鐮佸�奸暱搴︽牴鎹鍒欒繘琛屾牎楠� */
+ tipsCodeSecValueMessage(id) {
+ if (id.trim() == "") {
+ this.$message.warning("鐮佸�间笉鑳戒负绌猴紒");
+ return false;
+ }
+ if (id.trim().length > this.codefixedsecOrCodeclassifysec.codeSecLength) {
+ this.$message.warning(
+ "鐮佸�奸暱搴︿笉鑳藉ぇ浜�" + this.codefixedsecOrCodeclassifysec.codeSecLength
+ );
+ return false;
+ }
+ return true;
},
/** 鍒犻櫎鐮佸�� */
delCodeSecValue(condition) {
@@ -2448,6 +2518,8 @@
},
{
data: [],
+
+
title: "鎻忚堪",
fieldType: "text",
queryField: "description",
@@ -2508,8 +2580,8 @@
/** 鍙戝竷缂栫爜瑙勫垯 */
async enableOrDeactivatse(oid, update) {
if (update === "release") {
- this.releadDisabled = true;
// 閬垮厤鐢ㄦ埛閲嶅鐐瑰嚮鎸夐挳
+ this.releadDisabled = true;
await checkLikeCodeRule(oid)
.then((res) => {
//console.log(res)
@@ -2764,7 +2836,6 @@
},
/** 鎵撳紑鏂板鎴栫紪杈戝熀纭�鐮佹瀵硅瘽妗�*/
openBasicDialog(condition, row) {
- //console.log(row);
if (condition == "add") {
this.basicSecDialogTitle = "娣诲姞鐮佹淇℃伅";
this.showbtn = true;
@@ -2785,7 +2856,18 @@
//console.log(this.form);
//涓篺orm缁戝畾鍊�
this.changeSectypeFormItems(condition == "add" ? null : row);
+ // 鑾峰彇鍓嶅悗缂�鍙敤瀛楃
+ this.loadPreOrSuffixChars();
+ // 琛ヤ綅鏃跺瓧绗�
+ // this.loadCodeFillSeparator();
this.addBasicCodeSettingBox = true;
+ },
+ /** 鑾峰彇鍓嶅悗缂�瀛楃 */
+ loadPreOrSuffixChars(){
+ getSelectList({codeRuleId: this.selectionList[0].oid,chartType: "prefix"}).then(res=>{
+ this.preFixOrSuffixChars = res.data.data;
+ // console.log(this.preFixOrSuffixChars);
+ })
},
/** 鏂板鍩虹鐮佹*/
async saveOrEditBasicCode() {
@@ -2808,7 +2890,7 @@
type: "success",
message: "鎿嶄綔鎴愬姛!",
});
- console.log(this.form)
+ // console.log(this.form)
// 鍏抽棴瀵硅瘽妗�
this.addBasicCodeSettingBox = false;
// 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇
@@ -3014,6 +3096,32 @@
this.$refs.codeDateFormatStr.$el.querySelector("input").focus();
return false;
}
+ const Formats = [
+ 'yy',
+ 'yyyy',
+ 'yy-MM',
+ 'yyMM',
+ 'yyyy-MM',
+ 'yyyyMM',
+ 'yy-MM-dd',
+ 'yyMMdd',
+ 'yyyy-MM-dd',
+ 'yyyyMMdd',
+ 'yyyy-MM-dd HH:mm:ss',
+ 'yy-MM-dd HH:mm:ss',
+ 'HH:mm:ss',
+ 'yyyyMMdd HH:mm:ss',
+ 'yyMMdd HH:mm:ss',
+ 'yyyy-MM-dd HHmmss',
+ 'yy-MM-dd HHmmss',
+ 'yyyyMMdd HHmmss',
+ 'yyMMdd HHmmss',
+ 'HHmmss'
+ ];
+ if (!Formats.includes(this.form.codeDateFormatStr)) {
+ this.$message.warning('璇锋鏌ユ棩鏈熸牸寮忥紒');
+ return;
+ }
} else if (this.form.secType === "codeclassifysec") {
//鍒嗙被鐮佹
if (form.codeSecLengthType == "") {
@@ -3058,6 +3166,12 @@
}
}
return true;
+ },
+ /** 灞傜骇鐮佹閫夋嫨涓烘渶灏忓眰绾ф椂娓呯┖灞傜骇鐨勫�� */
+ changeLevelType(){
+ if(this.form.codeLevelType === 'code_level_min'){
+ this.form.codeLevelValue = '';
+ }
},
/** 鍒ゆ柇鏁版嵁鏄惁閫夋嫨浠ュ強鍙兘閫夋嫨鍗曟潯鏁版嵁*/
tipsMessage(list) {
@@ -3286,12 +3400,12 @@
this.form.referConfig = "";
}
},
- /** 琛ヤ綅鏃剁殑瀛楃锛屽疄鐜板彲杈撳彲閫�*/
- inputSelectBlur(e) {
+ /** 琛ヤ綅鏃剁殑瀛楃锛屽疄鐜板彲杈撳彲閫� TODO:鍥犱负澧炲姞浜嗗彲鐢ㄥ瓧绗﹂泦鎺у埗锛屾墍浠ヨ繖鍎垮純鐢ㄤ簡鍙敤瀛楃闆嗙殑鏁堟灉*/
+ /*inputSelectBlur(e) {
if (e.target.value) {
this.form.codeFillSeparator = e.target.value;
}
- },
+ },*/
/** 鐮佹绫诲瀷鏀瑰彉鏃讹紝澧炲姞瀵瑰簲鐨刦orm琛ㄥ崟涓殑灞炴��*/
changeSectypeFormItems(row) {
//console.log(row)
@@ -3380,6 +3494,14 @@
row != null && row.customCodeSerialClass != ""
? row.customCodeSerialClass
: "", //鑷畾涔夋祦姘寸畻娉�
+ customCodeSerialClassText:
+ row != null && row.customCodeSerialClassText != ""
+ ? row.customCodeSerialClassText
+ : "", //鑷畾涔夋祦姘寸畻娉曟樉绀哄��
+ customCodeSerialType:
+ row != null && row.customCodeSerialType != ""
+ ? row.customCodeSerialType
+ : "", //鑷畾涔夋祦姘寸畻娉曠被鍨�
});
this.loadCodeFillType();
this.loadCodeFillSeparator();
@@ -3484,7 +3606,7 @@
if (enumCach == null) {
getDictionary({code: enumKey}).then((res) => {
enumCach = res.data.data;
- localStorage.setItem(enumKey, JSON.stringify(res.data.data));
+ localStorage.setItem(enumKey, JSON.stringify(enumCach));
});
}
return enumCach;
@@ -3494,7 +3616,7 @@
this.loadCodeSecType();
this.loadCodeSecLength();
this.loadCodeFillType();
- this.loadCodeFillSeparator();
+ // this.loadCodeFillSeparator();
this.loadCodeLevelType();
this.loadCodeCutType();
this.loadCodeGetValueType();
@@ -3513,15 +3635,14 @@
loadCodeFillSeparator() {
//let enumCach = JSON.parse(localStorage.getItem("codeFillSeparator"));
//if (enumCach == null) {
- getDictionaryBiz({code: "codeFillSeparator"}).then((res) => {
+ getSelectList({codeRuleId: this.selectionList[0].oid,chartType: "fillerChar"}).then((res) => {
this.enumParam.codeFillSeparator = res.data.data;
//console.log(this.enumParam.codeFillSeparator);
- localStorage.setItem(
- "codeFillSeparator",
- JSON.stringify(res.data.data)
- );
+ // localStorage.setItem(
+ // "codeFillSeparator",
+ // JSON.stringify(res.data.data)
+ // );
});
- //}
},
loadCodeLevelType() {
this.enumParam.codeLevelType = this.getLocalStorageEnum("codeLevelType") || [];
--
Gitblit v1.9.3