From f6b61a485501f326debe52d77ea65d87fb34b37f Mon Sep 17 00:00:00 2001 From: 田源 <tianyuan@vci-tech.com> Date: 星期三, 05 三月 2025 17:57:09 +0800 Subject: [PATCH] 完善集成日志查询 --- Source/UBCS-WEB/src/views/code/code.vue | 772 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 445 insertions(+), 327 deletions(-) diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue index 9455958..60297f3 100644 --- a/Source/UBCS-WEB/src/views/code/code.vue +++ b/Source/UBCS-WEB/src/views/code/code.vue @@ -2,144 +2,146 @@ <basic-container class="code-total" style=" height: 100%"> <!-- 缂栫爜瑙勫垯淇℃伅灞曠ず鍖哄煙 --> <basic-container class="code-rule-container"> - <p - style=" + <div style="height: 49vh;overflow: auto;"> + <p + style=" margin-top: -5px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f; " - > - 缂栫爜瑙勫垯 - </p> - <avue-crud - ref="crud" - v-model="ruleForm" - :before-open="beforeOpen" - :data="data" - :option="optionRule" - :page.sync="page" - :permission="permissionList" - :table-loading="loading" - class="code-rule-crud" - @row-click="codeRuleRowClick" - @row-update="rowUpdate" - @row-save="rowSave" - @search-change="searchChange" - @search-reset="searchReset" - @selection-change="selectionChange" - @current-change="currentChange" - @size-change="sizeChange" - @refresh-change="refreshChange" - @on-load="onLoad" - > - <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� --> - <template slot="menu" slot-scope="scope"> - <el-button v-if="permissionList.editBtn && (scope.row.lcStatus == 'Editing' ? true : false)" - icon="el-icon-edit" - plain - size="small" - type="text" - @click="openEdit(scope.row)" - >缂� 杈� - </el-button> - <el-button v-if="permissionList.releaseBtn && (scope.row.lcStatus == 'Editing' ? true : false)" - :loading="releadDisabled" - icon="el-icon-position" - plain - size="small" - type="text" - @click="enableOrDeactivatse(scope.row.oid, 'release')" - >鍙� 甯� - </el-button> - <el-button v-if="permissionList.deactivateBtn && (scope.row.lcStatus == 'Released' ? true : false)" - icon="el-icon-video-pause" - plain - size="small" - type="text" - @click="enableOrDeactivatse(scope.row.oid, 'disable')" - >鍋� 鐢� - </el-button> - <el-button v-if="permissionList.enableBtn && (scope.row.lcStatus == 'Disabled' ? true : false)" - icon="el-icon-video-play" - plain - size="small" - type="text" - @click="enableOrDeactivatse(scope.row.oid, 'enable')" - >鍚� 鐢� - </el-button> - </template> - <!-- 琛ㄦ牸涓婃柟鎸夐挳鍖哄煙 --> - <template slot="menuLeft" slot-scope="scope"> - <el-button v-if="permissionList.rulDelBtn" - icon="el-icon-delete" - plain - size="small" - type="danger" - @click="handleDelete" - > - 鍒� 闄� - </el-button> - <el-button v-if="permissionList.advancedQueryBtn" - icon="el-icon-search" - plain - size="small" - type="primary" - @click="openAdvancedQuery('codeRule')"> - 楂樼骇鏌ヨ - </el-button> - <el-button v-if="permissionList.cloneBtn" - icon="icon-kelong" - plain - size="small" - @click="openCodeRuleDialog" - > - 鍏� 闅� - </el-button> - <el-button v-if="permissionList.otherCloneBtn" - icon="icon-lianjiekelong" - plain - size="small" - style="font-size: 12px" - @click="openOtherCodeRuleDialog" - > - 浠庡叾浠栬鍒欎腑鍏嬮殕鐮佹 - </el-button> - <el-button v-if="permissionList.usescopeBtn" - icon="el-icon-s-help" - plain - size="small" - @click="handleRange" - > - 浣跨敤鑼冨洿 - </el-button> - <el-button v-if="permissionList.clearBtn" - icon="icon-qingkong" - plain - size="small" - @click="clearAllCodeSec" - > - 娓呯┖鐮佸�� - </el-button> - <el-button v-if="permissionList.escapeOwnerBtn" - icon="el-icon-guide" - plain - size="small" - @click="escapeOwner" - > - 杞Щ鎵�鏈夎�� - </el-button> - <el-button v-if="permissionList.maxSerialnumBtn" - icon="el-icon-data-analysis" - plain - size="small" - @click="maxSerialNum" - > - 鏈�澶ф祦姘村彿 - </el-button> - </template> - </avue-crud> + > + 缂栫爜瑙勫垯 + </p> + <avue-crud + ref="crud" + v-model="ruleForm" + :before-open="beforeOpen" + :data="data" + :option="optionRule" + :page.sync="page" + :permission="permissionList" + :table-loading="loading" + class="code-rule-crud" + @row-click="codeRuleRowClick" + @row-update="rowUpdate" + @row-save="rowSave" + @search-change="searchChange" + @search-reset="searchReset" + @selection-change="selectionChange" + @current-change="currentChange" + @size-change="sizeChange" + @refresh-change="refreshChange" + @on-load="onLoad" + > + <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� --> + <template slot="menu" slot-scope="scope"> + <el-button v-if="permissionList.editBtn && (scope.row.lcStatus == 'Editing' ? true : false)" + icon="el-icon-edit" + plain + size="small" + type="text" + @click="openEdit(scope.row)" + >缂� 杈� + </el-button> + <el-button v-if="permissionList.releaseBtn && (scope.row.lcStatus == 'Editing' ? true : false)" + :loading="releadDisabled" + icon="el-icon-position" + plain + size="small" + type="text" + @click="enableOrDeactivatse(scope.row.oid, 'release')" + >鍙� 甯� + </el-button> + <el-button v-if="permissionList.deactivateBtn && (scope.row.lcStatus == 'Released' ? true : false)" + icon="el-icon-video-pause" + plain + size="small" + type="text" + @click="enableOrDeactivatse(scope.row.oid, 'disable')" + >鍋� 鐢� + </el-button> + <el-button v-if="permissionList.enableBtn && (scope.row.lcStatus == 'Disabled' ? true : false)" + icon="el-icon-video-play" + plain + size="small" + type="text" + @click="enableOrDeactivatse(scope.row.oid, 'enable')" + >鍚� 鐢� + </el-button> + </template> + <!-- 琛ㄦ牸涓婃柟鎸夐挳鍖哄煙 --> + <template slot="menuLeft" slot-scope="scope"> + <el-button v-if="permissionList.rulDelBtn" + icon="el-icon-delete" + plain + size="small" + type="danger" + @click="handleDelete" + > + 鍒� 闄� + </el-button> + <el-button v-if="permissionList.advancedQueryBtn" + icon="el-icon-search" + plain + size="small" + type="primary" + @click="openAdvancedQuery('codeRule')"> + 楂樼骇鏌ヨ + </el-button> + <el-button v-if="permissionList.cloneBtn" + icon="icon-kelong" + plain + size="small" + @click="openCodeRuleDialog" + > + 鍏� 闅� + </el-button> + <el-button v-if="permissionList.otherCloneBtn" + icon="icon-lianjiekelong" + plain + size="small" + style="font-size: 12px" + @click="openOtherCodeRuleDialog" + > + 浠庡叾浠栬鍒欎腑鍏嬮殕鐮佹 + </el-button> + <el-button v-if="permissionList.usescopeBtn" + icon="el-icon-s-help" + plain + size="small" + @click="handleRange" + > + 浣跨敤鑼冨洿 + </el-button> + <el-button v-if="permissionList.clearBtn" + icon="icon-qingkong" + plain + size="small" + @click="clearAllCodeSec" + > + 娓呯┖鐮佸�� + </el-button> + <el-button v-if="permissionList.escapeOwnerBtn" + icon="el-icon-guide" + plain + size="small" + @click="escapeOwner" + > + 杞Щ鎵�鏈夎�� + </el-button> + <el-button v-if="permissionList.maxSerialnumBtn" + icon="el-icon-data-analysis" + plain + size="small" + @click="maxSerialNum" + > + 鏈�澶ф祦姘村彿 + </el-button> + </template> + </avue-crud> + </div> </basic-container> <!-- 楂樼骇鏌ヨ瀵硅瘽妗� --> @@ -217,105 +219,107 @@ <!-- 鍩虹鐮佹灞曠ず鍖哄煙 --> <basic-container class="code-basicsec-container"> - <p - style="margin-top: -5px; + <div style="height: 29.3vh;overflow: auto"> + <p + style="margin-top: -5px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;"> - 鐮佹绠$悊 - </p> - <avue-crud - ref="crudBasic" - :data="basicData" - :option="optionBasic" - :permission="basicPermissionList" - :table-loading="loadingBasic" - class="code-basic-crud" - @row-click="codeBasicSecRowClick" - @search-change="basicSearchChange" - @search-reset="basicSearchReset" - @selection-change="selectionBasicChange" - @refresh-change="refreshChangeBasicSec" - > - <!-- 鍩虹鐮佹琛ㄦ牸鍐呮搷浣滄寜閽� --> - <template slot="menu" slot-scope="scope"> - <el-button v-if="basicPermissionList.viewBtn && currentRuleLcStatus != 'Editing'" - icon="el-icon-view" - plain - size="small" - type="text" - @click="openBasicDialog('view', scope.row)" - >鏌ョ湅 - </el-button> - <el-button v-if="basicPermissionList.editBtn && currentRuleLcStatus === 'Editing'" - icon="el-icon-edit" - plain - size="small" - type="text" - @click="openBasicDialog('edit', scope.row)" - >缂栬緫 - </el-button> - <el-button - v-if="basicPermissionList.basicMgrBtn && (scope.row.secType === 'codeclassifysec' || scope.row.secType == 'codefixedsec')" - icon="el-icon-setting" - plain - size="small" - type="text" - @click="openBasicSecCodeValueMgr(scope.row)" - >鐮佸�肩鐞� - </el-button> - <el-button v-if="basicPermissionList.basicMoveupBtn && scope.row.orderNum > 1" - icon="el-icon-arrow-up" - plain - size="small" - type="text" - @click="upOrderNum(scope.row)" - >涓婄Щ - </el-button> - <el-button v-if="basicPermissionList.basicDownBtn" - icon="el-icon-arrow-down" - plain - size="small" - type="text" - @click="downOrderNum(scope.row)" - >涓嬬Щ - </el-button> - </template> + 鐮佹绠$悊 + </p> + <avue-crud + ref="crudBasic" + :data="basicData" + :option="optionBasic" + :permission="basicPermissionList" + :table-loading="loadingBasic" + class="code-basic-crud" + @row-click="codeBasicSecRowClick" + @search-change="basicSearchChange" + @search-reset="basicSearchReset" + @selection-change="selectionBasicChange" + @refresh-change="refreshChangeBasicSec" + > + <!-- 鍩虹鐮佹琛ㄦ牸鍐呮搷浣滄寜閽� --> + <template slot="menu" slot-scope="scope"> + <el-button v-if="basicPermissionList.viewBtn && currentRuleLcStatus != 'Editing'" + icon="el-icon-view" + plain + size="small" + type="text" + @click="openBasicDialog('view', scope.row)" + >鏌ョ湅 + </el-button> + <el-button v-if="basicPermissionList.editBtn && currentRuleLcStatus === 'Editing'" + icon="el-icon-edit" + plain + size="small" + type="text" + @click="openBasicDialog('edit', scope.row)" + >缂栬緫 + </el-button> + <el-button + v-if="basicPermissionList.basicMgrBtn && (scope.row.secType === 'codeclassifysec' || scope.row.secType == 'codefixedsec')" + icon="el-icon-setting" + plain + size="small" + type="text" + @click="openBasicSecCodeValueMgr(scope.row)" + >鐮佸�肩鐞� + </el-button> + <el-button v-if="basicPermissionList.basicMoveupBtn && scope.row.orderNum > 1" + icon="el-icon-arrow-up" + plain + size="small" + type="text" + @click="upOrderNum(scope.row)" + >涓婄Щ + </el-button> + <el-button v-if="basicPermissionList.basicDownBtn" + icon="el-icon-arrow-down" + plain + size="small" + type="text" + @click="downOrderNum(scope.row)" + >涓嬬Щ + </el-button> + </template> - <!-- 鍩虹鐮佹琛ㄦ牸宸︿笂鏂规寜閽尯鍩� --> - <template slot="menuLeft" slot-scope="scope"> - <el-button v-if="basicPermissionList.addBtn" - :disabled="selectionList.length <= 0" - icon="el-icon-plus" - size="small" - type="primary" - @click="openAddBasicCodeSec" - > - 鏂� 澧� - </el-button> - <el-button v-if="basicPermissionList.basicDelBtn" - :disabled="selectionList.length <= 0" - icon="el-icon-delete" - plain - size="small" - type="danger" - @click="deleteBasicCode(scope.row)" - > - 鍒� 闄� - </el-button> - <el-button v-if="basicPermissionList.basicAdvancedQueryBtn" - :disabled="selectionList.length <= 0" - icon="el-icon-search" - plain - size="small" - type="primary" - @click="openAdvancedQuery('codeBasicSec')" - > - 楂樼骇鏌ヨ - </el-button> - </template> - </avue-crud> + <!-- 鍩虹鐮佹琛ㄦ牸宸︿笂鏂规寜閽尯鍩� --> + <template slot="menuLeft" slot-scope="scope"> + <el-button v-if="basicPermissionList.addBtn" + :disabled="selectionList.length <= 0" + icon="el-icon-plus" + size="small" + type="primary" + @click="openAddBasicCodeSec" + > + 鏂� 澧� + </el-button> + <el-button v-if="basicPermissionList.basicDelBtn" + :disabled="selectionList.length <= 0" + icon="el-icon-delete" + plain + size="small" + type="danger" + @click="deleteBasicCode(scope.row)" + > + 鍒� 闄� + </el-button> + <el-button v-if="basicPermissionList.basicAdvancedQueryBtn" + :disabled="selectionList.length <= 0" + icon="el-icon-search" + plain + size="small" + type="primary" + @click="openAdvancedQuery('codeBasicSec')" + > + 楂樼骇鏌ヨ + </el-button> + </template> + </avue-crud> + </div> </basic-container> <!-- 鐮佹鐮佸�肩鐞嗗璇濇 --> @@ -379,18 +383,12 @@ <el-col :span="13"> <basic-container> <div class="box" style="height: 60vh; margin-bottom: -40px"> - <el-form> - <el-form-item :label-width="50" label="鐮佸��:" required> - <el-input - v-model="codeClassifyForm.id" - style="width: 18vw" - ></el-input> + <el-form label-width="55px"> + <el-form-item label="鍚嶇О:" required> + <el-input v-model="codeClassifyForm.name"></el-input> </el-form-item> - <el-form-item :label-width="50" label="鍚嶇О:" required> - <el-input - v-model="codeClassifyForm.name" - style="width: 18vw" - ></el-input> + <el-form-item label="鐮佸��:"> + <el-input v-model="codeClassifyForm.id"></el-input> </el-form-item> </el-form> </div> @@ -399,9 +397,7 @@ margin-top: 20px; display: flex; align-items: center; - justify-content: center; - " - > + justify-content: center;"> <el-button class="button" icon="el-icon-circle-plus" @@ -587,7 +583,7 @@ > <!-- 绗竴灞傚璇濇,娣诲姞鐮佹淇℃伅瀵硅瘽妗嗕腑鐨勫唴瀹� --> <div class="add-basicsec-total"> - <el-form :model="form" class="add-basicsec-form" :rules="rules" > + <el-form :model="form" :rules="rules" class="add-basicsec-form"> <span class="left"> <el-form-item :label-width="leftFormLabelWidth" @@ -637,19 +633,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="鎻忚堪:"> @@ -833,13 +845,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> @@ -878,21 +890,20 @@ </el-form-item> <el-form-item :label-width="rightFormLabelWidth" - label="鑷畾涔夌殑娴佹按绠楁硶:" + label="鑷畾涔夋祦姘寸畻娉�:" > <template> <vciWebRefer ref="refer" - :referConfig="this.referConfig || {}" + :disabled="basicSecOnlyRead" :display="true" - :value="form.customCodeSerialClass" - :text="form.customCodeSerialClassText" + :referConfig="this.referConfig || {}" :serialType="form.serialType" + :text="form.customCodeSerialClassText" + :value="form.customCodeSerialClass" @setReferValue="setReferValue" ></vciWebRefer> </template> - - </el-form-item> </div> <!-- 灞傜骇鐮佹 --> @@ -906,6 +917,7 @@ v-model="form.codeLevelType" :disabled="basicSecOnlyRead" placeholder="璇烽�夋嫨" + @change="changeLevelType" > <el-option v-for="item in enumParam.codeLevelType" @@ -924,6 +936,7 @@ ref="codeLevelValue" v-model.number="form.codeLevelValue" :readonly="basicSecOnlyRead" + :disabled="form.codeLevelType != 'code_level_special'" ></el-input> </el-form-item> <el-form-item @@ -1023,9 +1036,9 @@ <!-- 鏃ユ湡鐮佹 --> <div v-show="form.secType === 'codedatesec' ? true : false"> <el-form-item - prop="Dateformat" :label-width="rightFormLabelWidth" label="鏃ユ湡鏍煎紡:" + prop="Dateformat" > <el-input ref="codeDateFormatStr" @@ -1137,13 +1150,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> @@ -1285,8 +1298,6 @@ </refer-config-dialog> </el-dialog> - <!-- 鑷畾涔夋祦姘村弬鐓х粍浠�--> - </basic-container> </template> @@ -1327,8 +1338,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"; @@ -1343,7 +1355,7 @@ import vciWebRefer from "../../components/refer/vciWebRefer"; export default { - components: { vciWebRefer }, + components: {vciWebRefer}, data() { return { rules: { @@ -1352,7 +1364,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锛堝苟鍖哄垎澶у皬鍐欙級锛�')); } @@ -1361,19 +1394,19 @@ } ] }, - referConfig:{ + referConfig: { title: '鑷畾涔夋祦姘村弬鐓�', showField: 'customCodeSerialClassText', field: 'customCodeSerialClass', - fieldMap: { - serialType:"serialType" + fieldMap: { + serialType: "serialType", }, - placeholder:'璇烽�夋嫨鑷畾涔夋祦姘�', - options: { + placeholder: '璇烽�夋嫨鑷畾涔夋祦姘�', + options: { // 璁剧疆榛樿鐨勫睘鎬� url: 'api/ubcs-code/codeSerialAlgorithmController/gridCodeSerialAlgorithm', - textField:'name', - valueField:'classFullName', + textField: 'name', + valueField: 'classFullName', isMuti: false, type: "grid", method: 'get', @@ -1655,6 +1688,9 @@ //寮曠敤鐮佹涓弬鐓ч厤缃粍浠剁浉鍏冲弬鏁� referConfigOption: {}, referConfigVisble: false, + + preFixOrSuffixChars: [], //鍓嶅悗缂�瀛楃鍒楄〃 + }; }, computed: { @@ -1715,12 +1751,14 @@ }, methods: { //鑷畾涔夋祦姘村け鐒� - setReferValue(data){ - if(data.field){ - this.form[data.field] = data.value || ""; + setReferValue(data) { + if (data.field) { + // 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 || ""; } }, /** 杞Щ瑙勫垯鎵�鏈夎�呭璇濇 */ @@ -1974,9 +2012,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; @@ -1998,7 +2039,14 @@ } ); } else { - if (!this.tipsCodeSecValueMessage(this.codeClassifyForm.id)) { + // if (!this.tipsCodeSecValueMessage(this.codeClassifyForm.id)) { + // return; + // } + if(!this.codeClassifyForm.name){ + this.$message.error('璇疯緭鍏ュ悕绉�'); + return; + } + if(!await this.regexCharacter(this.codeClassifyForm.id)){ return; } this.codeClassifyForm.codeClassifySecOid = @@ -2023,39 +2071,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; } //浠ュ墠鏄洿鎺ユ妸褰撳墠閫変腑琛岀殑鎵�鏈夋暟鎹兘杩涜鎻愪氦锛屼絾鍏跺疄鍙渶瑕佷紶杈撲竴浜涘繀瑕佸弬鏁板嵆鍙紝杩欏効鍋氫簡淇敼锛岄渶瑕佷紶鍏朵粬鍙傛暟鐨勮鑷娣诲姞 @@ -2085,6 +2107,9 @@ if (!this.tipsCodeSecValueMessage(this.codeClassifyForm.id)) { return; } + if(!await this.regexCharacter(this.codeClassifyForm.id)){ + return; + } this.codeClassifyForm.oid = this.selectedFixedOrCodeclassifyValue.attributes.oid; // 鍒嗙被鐮佹锛屽瓙鍒嗙被鍜岀埗鍒嗙被涔嬮棿涓嶈兘鐩镐簰鏇存敼 @@ -2112,6 +2137,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) { @@ -2503,8 +2576,8 @@ /** 鍙戝竷缂栫爜瑙勫垯 */ async enableOrDeactivatse(oid, update) { if (update === "release") { - this.releadDisabled = true; // 閬垮厤鐢ㄦ埛閲嶅鐐瑰嚮鎸夐挳 + this.releadDisabled = true; await checkLikeCodeRule(oid) .then((res) => { //console.log(res) @@ -2759,7 +2832,6 @@ }, /** 鎵撳紑鏂板鎴栫紪杈戝熀纭�鐮佹瀵硅瘽妗�*/ openBasicDialog(condition, row) { - //console.log(row); if (condition == "add") { this.basicSecDialogTitle = "娣诲姞鐮佹淇℃伅"; this.showbtn = true; @@ -2779,8 +2851,19 @@ } //console.log(this.form); //涓篺orm缁戝畾鍊� - this.changeSectypeFormItems(condition == "add" ? null:row); + 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() { @@ -2803,7 +2886,7 @@ type: "success", message: "鎿嶄綔鎴愬姛!", }); - console.log(this.form) + // console.log(this.form) // 鍏抽棴瀵硅瘽妗� this.addBasicCodeSettingBox = false; // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇 @@ -3009,6 +3092,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 == "") { @@ -3053,6 +3162,12 @@ } } return true; + }, + /** 灞傜骇鐮佹閫夋嫨涓烘渶灏忓眰绾ф椂娓呯┖灞傜骇鐨勫�� */ + changeLevelType(){ + if(this.form.codeLevelType === 'code_level_min'){ + this.form.codeLevelValue = ''; + } }, /** 鍒ゆ柇鏁版嵁鏄惁閫夋嫨浠ュ強鍙兘閫夋嫨鍗曟潯鏁版嵁*/ tipsMessage(list) { @@ -3281,12 +3396,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) @@ -3375,6 +3490,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(); @@ -3479,7 +3602,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; @@ -3489,7 +3612,7 @@ this.loadCodeSecType(); this.loadCodeSecLength(); this.loadCodeFillType(); - this.loadCodeFillSeparator(); + // this.loadCodeFillSeparator(); this.loadCodeLevelType(); this.loadCodeCutType(); this.loadCodeGetValueType(); @@ -3508,15 +3631,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") || []; @@ -3549,10 +3671,6 @@ font-size: 12px !important; } -.code-rule-crud > .avue-crud__search, -.code-basic-crud > .avue-crud__search { - margin-bottom: -15px; -} .clone-input-textarea > .el-form-item__content { width: 495px; -- Gitblit v1.9.3