From 0a8a3f71f2e50f0603077197d9b1971431a64b36 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期三, 28 八月 2024 23:24:33 +0800 Subject: [PATCH] 条码规则更新 --- src/views/tigerprojects/bas/checkrule/checkrule.data.ts | 97 +++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 87 insertions(+), 10 deletions(-) diff --git a/src/views/tigerprojects/bas/checkrule/checkrule.data.ts b/src/views/tigerprojects/bas/checkrule/checkrule.data.ts index 0dd63c3..071f55e 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'; @@ -90,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); @@ -235,7 +235,10 @@ formModel.CHECK_LENGTH = ''; } if (e == Data_Types.DbCheck || e == Data_Types.NoCheck) { - formModel.DATA_REGEX = formModel.CHECK_LENGTH>0? `(.{${formModel.CHECK_LENGTH}}){${formModel.REPEAT_TIMES}}`: `(.*){${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}}`; @@ -540,6 +543,10 @@ // 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}}`; + } } }, }; @@ -660,14 +667,13 @@ } } //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.DbCheck) { + formModel.DATA_REGEX = + val > 0 + ? `(.{${val}}){${formModel.REPEAT_TIMES}}` + : `(.*){${formModel.REPEAT_TIMES}}`; } - if ( - formModel.DATA_TYPE == Data_Types.NoCheck - ) { + if (formModel.DATA_TYPE == Data_Types.NoCheck) { formModel.DATA_REGEX = `(.{${val}}){${formModel.REPEAT_TIMES}}`; } if (formModel.DATA_TYPE == Data_Types.SerialCode) { @@ -883,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', -- Gitblit v1.9.3