mirror of
https://github.com/jeecgboot/JeecgBoot.git
synced 2026-01-03 12:05:28 +08:00
153 lines
3.5 KiB
TypeScript
153 lines
3.5 KiB
TypeScript
import { BasicColumn, FormSchema } from '/@/components/Table';
|
|
import { render } from '/@/utils/common/renderUtils';
|
|
import { duplicateCheckDelay } from '/@/views/system/user/user.api';
|
|
import { validateCheckRule } from '/@/views/system/checkRule/check.rule.api';
|
|
import { array } from 'vue-types';
|
|
|
|
export const columns: BasicColumn[] = [
|
|
{
|
|
title: '规则名称',
|
|
dataIndex: 'ruleName',
|
|
width: 200,
|
|
align: 'center',
|
|
},
|
|
{
|
|
title: '规则编码',
|
|
dataIndex: 'ruleCode',
|
|
width: 200,
|
|
align: 'center',
|
|
},
|
|
{
|
|
title: '规则描述',
|
|
dataIndex: 'ruleDescription',
|
|
width: 300,
|
|
align: 'center',
|
|
customRender: function ({ text }) {
|
|
return render.renderTip(text, 30);
|
|
},
|
|
},
|
|
];
|
|
|
|
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_check_rule',
|
|
fieldName: 'rule_code',
|
|
fieldVal: value,
|
|
dataId: model.id,
|
|
};
|
|
duplicateCheckDelay(params)
|
|
.then((res) => {
|
|
res.success ? resolve() : reject('规则编码已存在!');
|
|
})
|
|
.catch((err) => {
|
|
reject(err.message || '校验失败');
|
|
});
|
|
});
|
|
},
|
|
},
|
|
];
|
|
},
|
|
},
|
|
{
|
|
field: 'ruleDescription',
|
|
label: '规则描述',
|
|
colProps: { span: 24 },
|
|
component: 'InputTextArea',
|
|
componentProps: {
|
|
placeholder: '请输入规则描述',
|
|
rows: 2,
|
|
},
|
|
},
|
|
];
|
|
|
|
export const checkRuleInput: FormSchema[] = [
|
|
{
|
|
label: '123',
|
|
field: 'ruleCode',
|
|
component: 'Input',
|
|
show: false,
|
|
},
|
|
{
|
|
field: 'testValue',
|
|
label: '需要测试的值:',
|
|
component: 'Input',
|
|
componentProps: ({ formModel }) => {
|
|
return {
|
|
onChange: (e) => {
|
|
formModel.testValue = e.target.value;
|
|
},
|
|
};
|
|
},
|
|
dynamicRules: ({ model }) => {
|
|
const { ruleCode } = model;
|
|
return [
|
|
{
|
|
required: false,
|
|
validator: (_, value) => {
|
|
return new Promise((resolve, reject) => {
|
|
if (ruleCode && value) {
|
|
/*console.log({ruleCode,value})*/
|
|
validateCheckRule(ruleCode, value)
|
|
.then((res) => {
|
|
//console.log(1233, res)
|
|
res['success'] ? resolve() : reject(res['message']);
|
|
})
|
|
.catch((err) => {
|
|
reject(err.message || err);
|
|
});
|
|
} else {
|
|
resolve();
|
|
}
|
|
});
|
|
},
|
|
},
|
|
];
|
|
},
|
|
},
|
|
];
|