From 8099042b51891d1e58d6066f0247ba423f4457bd Mon Sep 17 00:00:00 2001 From: yyg1378265336 <1378265336@qq.com> Date: 星期四, 27 二月 2025 09:27:17 +0800 Subject: [PATCH] Merge branch 'master' of http://47.115.28.255:8110/r/TigerClouds-Tech/BS/TigerAdmin_2024 --- src/views/tigerprojects/bas/checkrule/checkrule.data.ts | 145 ++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 134 insertions(+), 11 deletions(-) diff --git a/src/views/tigerprojects/bas/checkrule/checkrule.data.ts b/src/views/tigerprojects/bas/checkrule/checkrule.data.ts index 21f0591..cdda900 100644 --- a/src/views/tigerprojects/bas/checkrule/checkrule.data.ts +++ b/src/views/tigerprojects/bas/checkrule/checkrule.data.ts @@ -1,7 +1,7 @@ import { BasicColumn } from '/@/components/Table'; import { FormSchema } from '/@/components/Table'; import { useI18n } from '/@/hooks/web/useI18n'; -import { isEmpty, isNullOrEmpty, isNullOrUnDef, isObject, isString } from '/@/utils/is'; +import { isEmpty, isNullOrEmpty, isNullOrUnDef, isNumber, isObject, isString } from '/@/utils/is'; import { h } from 'vue'; import { Tag } from 'ant-design-vue'; import { useMessage } from '/@/hooks/web/useMessage'; @@ -19,6 +19,49 @@ { title: '鏄庣粏鎻忚堪', dataIndex: 'DESCRIPTION', + }, + { + title: '鏁版嵁绫诲瀷', + dataIndex: 'DATA_TYPE', + customRender: ({ record }) => { + const type = record.DATA_TYPE; + var text = ''; + var color = 'blue'; + switch (type) { + case Data_Types.Character: + text = '绾瓧姣�'; + break; + case Data_Types.Numeric: + text = '绾暟瀛�'; + color = 'yellow'; + break; + case Data_Types.DateCode: + text = '鏃ユ湡'; + color = 'orange'; + break; + case Data_Types.TimeCode: + text = '鏃堕棿'; + color = '#bfbfbf'; + break; + case Data_Types.DbCheck: + text = '鍏宠仈鏍¢獙'; + color = '#0b9da9'; + break; + case Data_Types.FixedCode: + text = '鍥哄畾鍊�'; + color = 'green'; + break; + case Data_Types.SerialCode: + text = '娴佹按鍙�'; + color = '#b442df'; + break; + } + return h(Tag, { color: color }, () => text); + }, + }, + { + title: '鏍¢獙浣嶆暟', + dataIndex: 'CHECK_LENGTH', }, { title: '鏍¢獙浣嶆暟', @@ -47,7 +90,7 @@ text = record.DATA_VALUE; break; case Data_Types.SerialCode: - text = `${PrefixInteger(record.SERIAL_MIN,record.CHECK_LENGTH)}-${PrefixInteger(record.SERIAL_MAX,record.CHECK_LENGTH)}`; + text = `${PrefixInteger(record.SERIAL_MIN, record.CHECK_LENGTH)}-${PrefixInteger(record.SERIAL_MAX, record.CHECK_LENGTH)}`; break; } return h(Tag, { color: color }, () => text); @@ -192,7 +235,10 @@ formModel.CHECK_LENGTH = ''; } if (e == Data_Types.DbCheck || e == Data_Types.NoCheck) { - formModel.DATA_REGEX = `(.{${formModel.CHECK_LENGTH}}){${formModel.REPEAT_TIMES}}`; + formModel.DATA_REGEX = + formModel.CHECK_LENGTH > 0 + ? `(.{${formModel.CHECK_LENGTH}}){${formModel.REPEAT_TIMES}}` + : `(.*){${formModel.REPEAT_TIMES}}`; } if (e == Data_Types.SerialCode) { formModel.DATA_REGEX = `([0-9]{${formModel.CHECK_LENGTH}}){${formModel.REPEAT_TIMES}}`; @@ -497,12 +543,16 @@ // return Math.max(maxLength, str.length); }, 0); formModel.CHECK_LENGTH = _length; + if (formModel.FIXED_NOTLIKE == 'Y') { + formModel.DATA_RANGE = `${val}`; + formModel.DATA_REGEX = `([^${e.target.value.replace(new RegExp(',', 'g'), '|')}]{${formModel.CHECK_LENGTH}}){${formModel.REPEAT_TIMES}}`; + } } }, }; }, rules: [ - { + { required: true, // @ts-ignore validator: async (rule, value) => { @@ -616,10 +666,14 @@ formModel.DATA_REGEX = `(${_regex}){${formModel.REPEAT_TIMES}}`; } } - if ( - formModel.DATA_TYPE == Data_Types.DbCheck || - formModel.DATA_TYPE == Data_Types.NoCheck - ) { + //formModel.CHECK_LENGTH>0? `(.{${formModel.CHECK_LENGTH}}){${formModel.REPEAT_TIMES}}`: `(.*){${formModel.REPEAT_TIMES}}`; + if (formModel.DATA_TYPE == Data_Types.DbCheck) { + formModel.DATA_REGEX = + val > 0 + ? `(.{${val}}){${formModel.REPEAT_TIMES}}` + : `(.*){${formModel.REPEAT_TIMES}}`; + } + if (formModel.DATA_TYPE == Data_Types.NoCheck) { formModel.DATA_REGEX = `(.{${val}}){${formModel.REPEAT_TIMES}}`; } if (formModel.DATA_TYPE == Data_Types.SerialCode) { @@ -835,6 +889,77 @@ ifShow: ({ values }) => isSerial(values.DATA_TYPE), }, { + field: 'FIXED_NOTLIKE', + label: '鏄惁涓嶅寘鍚浐瀹氬��', + required: true, + component: 'Select', + colProps: { span: 12 }, + componentProps: ({ schema, tableAction, formActionType, formModel }) => { + return { + options: [ + { + label: '鏄�', + value: 'Y', + }, + { + label: '鍚�', + value: 'N', + }, + ], + onChange: (e) => { + if (isFixed(formModel.DATA_TYPE)) { + var val = typeof e == 'object' && e != null ? e.target.value : e; + formModel.DATA_RANGE =val == 'N'? formModel.DATA_VALUE: `${formModel.DATA_VALUE}`; + formModel.DATA_REGEX = + val == 'N' + ? `(${formModel.DATA_VALUE.replace(new RegExp(',', 'g'), '|')}){${formModel.REPEAT_TIMES}}` + : `([^${formModel.DATA_VALUE.replace(new RegExp(',', 'g'), '|')}]{${formModel.CHECK_LENGTH}}){${formModel.REPEAT_TIMES}}`; + } + }, + }; + }, + ifShow: ({ values }) => isFixed(values.DATA_TYPE), + }, + { + field: 'SERIAL_INTERVAL', + label: '娴佹按鍙峰彇鍙烽棿闅�', + component: 'Input', + dynamicRules: ({ values }) => { + return [ + { + required: true, + validator: (_, value) => { + if (!value) { + return Promise.reject('娴佹按鍙峰彇鍙烽棿闅斾笉鑳戒负绌�!'); + } + if (!isNumber(value)) { + return Promise.reject('璇疯緭鍏ユ暟瀛�!'); + } + if (Number(value) < 0) { + return Promise.reject('蹇呴渶杈撳叆澶т簬0鐨勬暟瀛�!'); + } + return Promise.resolve(); + }, + }, + ]; + }, + show: true, + colProps: { span: 12 }, + dynamicDisabled: ({ values }) => { + return false; + }, + ifShow: ({ values }) => isSerial(values.DATA_TYPE), + }, + { + field: 'SERIAL_IGNORE', + label: '娴佹按鍙疯烦鍙�', + component: 'Input', + // required: true, + show: true, + colProps: { span: 24 }, + ifShow: ({ values }) => isSerial(values.DATA_TYPE), + }, + { field: 'DATA_RANGE', label: '鏍¢獙鑼冨洿', component: 'Input', @@ -932,9 +1057,7 @@ label: '鏉$爜闀垮害', component: 'Input', colProps: { span: 8 }, - dynamicDisabled: ({ values }) => { - return true; - }, + dynamicDisabled: true, }, { field: 'CHECK_TYPE', -- Gitblit v1.9.3