Files
qhmes/jeecgboot-vue3/src/views/xslmes/mesXslMixerCondition/MesXslMixerCondition.data.ts

79 lines
2.8 KiB
Vue
Raw Normal View History

import { BasicColumn, FormSchema } from '/@/components/Table';
import { checkConditionCode, checkConditionName } from './MesXslMixerCondition.api';
export const columns: BasicColumn[] = [
{ title: '设备名称', align: 'center', dataIndex: 'equipmentId_dictText', width: 180 },
{ title: '条件名称', align: 'center', dataIndex: 'conditionName', width: 180 },
{ title: '条件代码', align: 'center', dataIndex: 'conditionCode', width: 160 },
{ title: '创建时间', align: 'center', dataIndex: 'createTime', width: 170 },
{ title: '创建用户', align: 'center', dataIndex: 'createBy', width: 120 },
{ title: '修改时间', align: 'center', dataIndex: 'updateTime', width: 170 },
];
export const searchFormSchema: FormSchema[] = [
{
label: '设备名称',
field: 'equipmentId',
component: 'JDictSelectTag',
componentProps: { dictCode: 'mes_xsl_equipment_ledger,equipment_name,id' },
colProps: { span: 6 },
},
{ label: '条件名称', field: 'conditionName', component: 'Input', colProps: { span: 6 } },
{ label: '条件代码', field: 'conditionCode', component: 'Input', colProps: { span: 6 } },
];
export const formSchema: FormSchema[] = [
{ label: '', field: 'id', component: 'Input', show: false },
{
label: '设备名称',
field: 'equipmentId',
component: 'JDictSelectTag',
required: true,
componentProps: { dictCode: 'mes_xsl_equipment_ledger,equipment_name,id', placeholder: '请选择设备名称' },
},
{
label: '条件名称',
field: 'conditionName',
component: 'Input',
required: true,
dynamicRules: ({ model }) => [
{ required: true, message: '请输入条件名称' },
{
validator: async (_rule, value) => {
const v = value == null ? '' : String(value).trim();
if (!v) return Promise.resolve();
try {
await checkConditionName({ conditionName: v, dataId: model?.id });
return Promise.resolve();
} catch (e: any) {
return Promise.reject(e?.response?.data?.message || e?.message || '条件名称不能重复');
}
},
trigger: 'blur',
},
],
},
{
label: '条件代码',
field: 'conditionCode',
component: 'Input',
required: true,
dynamicRules: ({ model }) => [
{ required: true, message: '请输入条件代码' },
{
validator: async (_rule, value) => {
const v = value == null ? '' : String(value).trim();
if (!v) return Promise.resolve();
try {
await checkConditionCode({ conditionCode: v, dataId: model?.id });
return Promise.resolve();
} catch (e: any) {
return Promise.reject(e?.response?.data?.message || e?.message || '条件代码不能重复');
}
},
trigger: 'blur',
},
],
},
];