hldy_vue/src/views/system/fillRule/fill.rule.data.ts

113 lines
2.4 KiB
TypeScript
Raw Normal View History

2025-03-10 17:08:02 +08:00
import { BasicColumn, FormSchema } from '/@/components/Table';
import { duplicateCheckDelay } from '/@/views/system/user/user.api';
export const columns: BasicColumn[] = [
{
title: '规则名称',
dataIndex: 'ruleName',
width: 200,
align: 'center',
},
{
title: '规则编码',
dataIndex: 'ruleCode',
width: 200,
align: 'center',
},
{
title: '规则实现类',
dataIndex: 'ruleClass',
width: 300,
align: 'center',
},
{
title: '规则参数',
dataIndex: 'ruleParams',
width: 200,
align: 'center',
},
];
export const searchFormSchema: FormSchema[] = [
{
field: 'ruleName',
label: '规则名称',
component: 'Input',
colProps: { span: 6 },
},
{
field: 'ruleCode',
label: '规则编码',
component: 'Input',
colProps: { span: 6 },
},
];
export const formSchema: FormSchema[] = [
{
label: '',
field: 'id',
component: 'Input',
show: false,
},
{
field: 'ruleName',
label: '规则名称',
component: 'Input',
required: true,
colProps: { span: 24 },
},
{
field: 'ruleCode',
label: '规则编码',
component: 'Input',
colProps: { span: 24 },
dynamicDisabled: ({ values }) => {
return !!values.id;
},
dynamicRules: ({ model }) => {
return [
{
required: true,
validator: (_, value) => {
return new Promise((resolve, reject) => {
if (!value) {
return reject('请输入规则编码!');
}
let params = {
tableName: 'sys_fill_rule',
fieldName: 'rule_code',
fieldVal: value,
dataId: model.id,
};
duplicateCheckDelay(params)
.then((res) => {
res.success ? resolve() : reject('规则编码已存在!');
})
.catch((err) => {
reject(err.message || '校验失败');
});
});
},
},
];
},
},
{
field: 'ruleClass',
label: '规则实现类',
component: 'Input',
required: true,
colProps: { span: 24 },
},
{
field: 'ruleParams',
label: '规则参数',
colProps: { span: 24 },
component: 'JAddInput',
componentProps: {
min: 0,
},
},
];