import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter } from '@/utils/formatTime' import {getSamplingScheme} from "@/api/qms/aql"; import {validateNum} from "@/utils/validator"; // 表单校验 export const AqlRules = reactive({ code: [required], inspectionQualification: [required], sampleCharacterCode: [required], sampleSize: [required], a0separator010: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r0separator010: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a0separator015: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r0separator015: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a0separator025: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r0separator025: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a0separator040: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r0separator040: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a0separator065: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r0separator065: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a0separator10: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r0separator10: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a0separator15: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r0separator15: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a0separator25: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r0separator25: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a0separator40: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r0separator40: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a0separator65: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r0separator65: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a1separator0: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r1separator0: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a1separator5: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r1separator5: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a2separator5: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r2separator5: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a4separator0: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r4separator0: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a6separator5: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r6separator5: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a10: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r10: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a15: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r15: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a25: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r25: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a40: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r40: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a65: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r65: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a100: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r100: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a150: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r150: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a250: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r250: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a400: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r400: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a650: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r650: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], a1000: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], r1000: [{ validator:validateNum, message: '请输入整数', trigger: 'blur'}], }) const samplingSchemeList = await getSamplingScheme() export const Aql = useCrudSchemas(reactive([ { label: '采样方案编码', field: 'code', sort: 'custom', isSearch: true, form: { component: 'Select', componentProps: { options: samplingSchemeList, optionsAlias: { labelField: 'description', valueField: 'code' }, } }, table: { width: 175, fixed: 'left' } }, { label: '检验严格性', field: 'inspectionQualification', sort: 'custom', dictType: DICT_TYPE.INSPECTION_SEVERITY, dictClass: 'string', // 默认都是字符串类型其他暂不考虑 isSearch: true, form: { component: 'Select' }, table: { width: 130 } }, { label: '样本字码', field: 'sampleCharacterCode', sort: 'custom', isSearch: true, table: { width: 110 } }, { label: '样本量', field: 'sampleSize', sort: 'custom', table: { width: 95 } }, { label: 'A0_010', field: 'a0separator010', sort: 'custom', table: { width: 105 } }, { label: 'R0_010', field: 'r0separator010', sort: 'custom', table: { width: 105 } }, { label: 'A0_015', field: 'a0separator015', sort: 'custom', table: { width: 105 } }, { label: 'R0_015', field: 'r0separator015', sort: 'custom', table: { width: 105 } }, { label: 'A0_025', field: 'a0separator025', sort: 'custom', table: { width: 105 } }, { label: 'R0_025', field: 'r0separator025', sort: 'custom', table: { width: 105 } }, { label: 'A0_040', field: 'a0separator040', sort: 'custom', table: { width: 105 } }, { label: 'R0_040', field: 'r0separator040', sort: 'custom', table: { width: 105 } }, { label: 'A0_065', field: 'a0separator065', sort: 'custom', table: { width: 105 } }, { label: 'R0_065', field: 'r0separator065', sort: 'custom', table: { width: 105 } }, { label: 'A0_10', field: 'a0separator10', sort: 'custom', table: { width: 105 } }, { label: 'R0_10', field: 'r0separator10', sort: 'custom', table: { width: 105 } }, { label: 'A0_15', field: 'a0separator15', sort: 'custom', table: { width: 105 } }, { label: 'R0_15', field: 'r0separator15', sort: 'custom', table: { width: 105 } }, { label: 'A0_25', field: 'a0separator25', sort: 'custom', table: { width: 105 } }, { label: 'R0_25', field: 'r0separator25', sort: 'custom', table: { width: 105 } }, { label: 'A0_40', field: 'a0separator40', sort: 'custom', table: { width: 105 } }, { label: 'R0_40', field: 'r0separator40', sort: 'custom', table: { width: 105 } }, { label: 'A0_65', field: 'a0separator65', sort: 'custom', table: { width: 105 } }, { label: 'R0_65', field: 'r0separator65', sort: 'custom', table: { width: 105 } }, { label: 'A1_0', field: 'a1separator0', sort: 'custom', table: { width: 105 } }, { label: 'R1_0', field: 'r1separator0', sort: 'custom', table: { width: 105 } }, { label: 'A1_5', field: 'a1separator5', sort: 'custom', table: { width: 105 } }, { label: 'R1_5', field: 'r1separator5', sort: 'custom', table: { width: 105 } }, { label: 'A2_5', field: 'a2separator5', sort: 'custom', table: { width: 105 } }, { label: 'R2_5', field: 'r2separator5', sort: 'custom', table: { width: 105 } }, { label: 'A4_0', field: 'a4separator0', sort: 'custom', table: { width: 105 } }, { label: 'R4_0', field: 'r4separator0', sort: 'custom', table: { width: 105 } }, { label: 'A6_5', field: 'a6separator5', sort: 'custom', table: { width: 105 } }, { label: 'R6_5', field: 'r6separator5', sort: 'custom', table: { width: 105 } }, { label: 'A10', field: 'a10', sort: 'custom', table: { width: 105 } }, { label: 'R10', field: 'r10', sort: 'custom', table: { width: 105 } }, { label: 'A15', field: 'a15', sort: 'custom', table: { width: 105 } }, { label: 'R15', field: 'r15', sort: 'custom', table: { width: 105 } }, { label: 'A25', field: 'a25', sort: 'custom', table: { width: 105 } }, { label: 'R25', field: 'r25', sort: 'custom', table: { width: 105 } }, { label: 'A40', field: 'a40', sort: 'custom', table: { width: 105 } }, { label: 'R40', field: 'r40', sort: 'custom', table: { width: 105 } }, { label: 'A65', field: 'a65', sort: 'custom', table: { width: 105 } }, { label: 'R65', field: 'r65', sort: 'custom', table: { width: 105 } }, { label: 'A100', field: 'a100', sort: 'custom', table: { width: 105 } }, { label: 'R100', field: 'r100', sort: 'custom', table: { width: 105 } }, { label: 'A150', field: 'a150', sort: 'custom', table: { width: 105 } }, { label: 'R150', field: 'r150', sort: 'custom', table: { width: 105 } }, { label: 'A250', field: 'a250', sort: 'custom', table: { width: 105 } }, { label: 'R250', field: 'r250', sort: 'custom', table: { width: 105 } }, { label: 'A400', field: 'a400', sort: 'custom', table: { width: 105 } }, { label: 'R400', field: 'r400', sort: 'custom', table: { width: 105 } }, { label: 'A650', field: 'a650', sort: 'custom', table: { width: 105 } }, { label: 'R650', field: 'r650', sort: 'custom', table: { width: 105 } }, { label: 'A1000', field: 'a1000', sort: 'custom', table: { width: 105 } }, { label: 'R1000', field: 'r1000', sort: 'custom', table: { width: 105 } }, { label: '创建时间', field: 'createTime', sort: 'custom', formatter: dateFormatter, isForm: false, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' }, form: { component: 'DatePicker', componentProps: { style: {width: '100%'}, type: 'datetime', dateFormat: 'YYYY-MM-DD HH:mm:ss', valueFormat: 'x', } }, }, { label: '操作', field: 'action', isForm: false, table: { width: 150, fixed: 'right' } } ]))