diff --git a/components/FormBuilder/FormItemsRenderer.js b/components/FormBuilder/FormItemsRenderer.js
index cb3816e..e13da12 100644
--- a/components/FormBuilder/FormItemsRenderer.js
+++ b/components/FormBuilder/FormItemsRenderer.js
@@ -94,11 +94,39 @@ const FormItemsRenderer = ({
// 获取验证规则
const getRules = (option) => {
- if (!useAutoGenerateRequired)
- return option.rules ? (Array.isArray(option.rules) ? option.rules : [option.rules]) : [];
if (option.render === FORM_ITEM_RENDER_ENUM.DIVIDER)
return [];
+ const rules = [];
+
+ /** @type {string | Function} */
+ const render = option.render || FORM_ITEM_RENDER_ENUM.INPUT;
+ switch (render) {
+ case FORM_ITEM_RENDER_ENUM.INPUT:
+ rules.push({ max: 50, message: "最多输入50字符" });
+ break;
+
+ case FORM_ITEM_RENDER_ENUM.TEXTAREA:
+ rules.push({ max: 500, message: "最多输入500字符" });
+ break;
+
+ case FORM_ITEM_RENDER_ENUM.INPUT_NUMBER:
+ case FORM_ITEM_RENDER_ENUM.NUMBER:
+ rules.push({ pattern: /^(\d+)(\.\d{1,2})?$/, message: "请输入正确的数字,最多保留两位小数" });
+ rules.push({
+ validator: (_, value) => {
+ if (value && Math.abs(parseFloat(value)) > Number.MAX_SAFE_INTEGER) {
+ return Promise.reject("输入数值超出安全范围");
+ }
+ return Promise.resolve();
+ }
+ });
+ break;
+ }
+
+ if (!useAutoGenerateRequired)
+ return option.rules ? (Array.isArray(option.rules) ? [...option.rules, ...rules] : [option.rules, ...rules]) : [];
+
// 支持动态计算 required
const required = typeof option.required === "function"
? option.required(getFormValues())
@@ -112,12 +140,7 @@ const FormItemsRenderer = ({
FORM_ITEM_RENDER_ENUM.NUMBER,
].includes(option.render);
- const rules = [
- {
- required: true,
- message: `${isBlurTrigger ? "请输入" : "请选择"}${option.label}`,
- },
- ];
+ rules.push({ required: true, message: `${isBlurTrigger ? "请输入" : "请选择"}${option.label}` });
if (option.rules) {
if (Array.isArray(option.rules)) {
@@ -127,10 +150,11 @@ const FormItemsRenderer = ({
rules.push(option.rules);
}
}
+
return rules;
}
- return option.rules ? (Array.isArray(option.rules) ? option.rules : [option.rules]) : [];
+ return option.rules ? (Array.isArray(option.rules) ? [...option.rules, ...rules] : [option.rules, ...rules]) : [];
};
// 获取key
@@ -148,10 +172,10 @@ const FormItemsRenderer = ({
switch (render) {
case FORM_ITEM_RENDER_ENUM.INPUT:
- return ;
+ return ;
case FORM_ITEM_RENDER_ENUM.TEXTAREA:
- return ;
+ return ;
case FORM_ITEM_RENDER_ENUM.INPUT_NUMBER:
case FORM_ITEM_RENDER_ENUM.NUMBER:
diff --git a/enum/uploadFile/gwj/index.js b/enum/uploadFile/gwj/index.js
index 31ddfce..119325b 100644
--- a/enum/uploadFile/gwj/index.js
+++ b/enum/uploadFile/gwj/index.js
@@ -76,6 +76,7 @@ export const UPLOAD_FILE_TYPE_ENUM = {
144: 144, // safety_environmental_inspection_defense_signature - 安全环保检查-申辩签字
146: 146, // safety_environmental_inspection_acceptance - 安全环保检查-验收
145: 145, // qualified_list_inspection - 清单检查合格
+ 147: 147, // hidden_qualified_listInspection_signature - 隐患清单排查签字
};
/**
@@ -153,4 +154,5 @@ export const UPLOAD_FILE_PATH_ENUM = {
144: "safety_environmental_inspection_defense_signature",
145: "qualified_list_inspection",
146: "safety_environmental_inspection_acceptance",
+ 147: "hidden_qualified_listInspection_signature",
};
diff --git a/utils/index.d.ts b/utils/index.d.ts
index d2fbfe6..ab90594 100644
--- a/utils/index.d.ts
+++ b/utils/index.d.ts
@@ -325,3 +325,10 @@ export function processTreeDataForOnlyLastLevel(
/** 子节点 */
[key: string]: any;
}[];
+
+/**
+ * 验证结束时间是否大于开始时间
+ */
+export function validatorEndTime(timeStart: string): {
+ validator: (_: any, value: any) => Promise;
+};
diff --git a/utils/index.js b/utils/index.js
index 22dcee6..c78045e 100644
--- a/utils/index.js
+++ b/utils/index.js
@@ -507,6 +507,22 @@ export const processTreeDataForOnlyLastLevel = (options) => {
});
};
+/**
+ * 验证结束时间是否大于开始时间
+ */
+export const validatorEndTime = (timeStart) => {
+ return {
+ validator: (_, value) => {
+ if (value && timeStart && value < timeStart) {
+ return Promise.reject("结束时间不能早于开始时间");
+ }
+ else {
+ return Promise.resolve();
+ }
+ },
+ }
+}
+
/**
* 获取文件url
*/