import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter } from '@/utils/formatTime' import { getSamplingScheme } from "@/api/qms/aql"; import {validateNum, validateSampleCode} from "@/utils/validator"; // 表单校验 export const AqlRules = reactive({ code: [required], inspectionQualification: [required], sampleCharacterCode: [required, {max: 1, message: '长度不得超过1个字符', trigger: 'blur' }, {validator: validateSampleCode, message: '请输入1个大写字母', trigger: 'blur' }], sampleQty: [required,{ validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator010: [required,{ validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator010: [required,{ validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator015: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator015: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator025: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator025: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator040: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator040: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator065: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator065: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator10: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator10: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator15: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator15: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator25: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator25: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator40: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator40: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a0separator65: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r0separator65: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a1separator0: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r1separator0: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a1separator5: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r1separator5: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a2separator5: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r2separator5: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a4separator0: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r4separator0: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a6separator5: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r6separator5: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a10: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r10: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a15: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r15: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a25: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r25: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a40: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r40: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a65: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r65: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a100: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r100: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a150: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r150: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a250: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r250: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a400: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r400: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a650: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r650: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], a1000: [required,{validator: validateNum, message: '请输入整数', trigger: 'blur' }], r1000: [required,{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: 'sampleQty', sort: 'custom', table: { width: 95 } }, { label: 'A0.01', field: 'a0separator010', sort: 'custom', table: { width: 105 } }, { label: 'R0.01', 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.04', field: 'a0separator040', sort: 'custom', table: { width: 105 } }, { label: 'R0.04', 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.1', field: 'a0separator10', sort: 'custom', table: { width: 105 } }, { label: 'R0.1', 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.4', field: 'a0separator40', sort: 'custom', table: { width: 105 } }, { label: 'R0.4', 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', } }, table: { width: 175 } }, // { // label: '是否可用', // field: 'available', // sort: 'custom', // dictType: DICT_TYPE.TRUE_FALSE, // dictClass: 'string', // 默认都是字符串类型其他暂不考虑 // form: { // component: 'Switch', // value: 'TRUE', // componentProps: { // inactiveValue: 'FALSE', // activeValue: 'TRUE' // } // }, // table: { // width: 110 // } // }, { label: '操作', field: 'action', isForm: false, table: { width: 150, fixed: 'right' } } ]))