You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

584 lines
13 KiB

1 year ago
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime'
1 year ago
import { getSamplingScheme } from "@/api/qms/aql";
import { validateNum } from "@/utils/validator";
1 year ago
// 表单校验
export const AqlRules = reactive({
code: [required],
1 year ago
inspectionQualification: [required],
11 months ago
sampleCharacterCode: [required, {max: 1, 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' }],
1 year ago
})
1 year ago
const samplingSchemeList = await getSamplingScheme()
1 year ago
export const Aql = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '采样方案编码',
field: 'code',
1 year ago
sort: 'custom',
isSearch: true,
1 year ago
form: {
component: 'Select',
componentProps: {
options: samplingSchemeList,
optionsAlias: {
labelField: 'description',
valueField: 'code'
},
}
},
table: {
width: 175,
fixed: 'left'
}
1 year ago
},
{
label: '检验严格性',
field: 'inspectionQualification',
sort: 'custom',
1 year ago
dictType: DICT_TYPE.INSPECTION_SEVERITY,
dictClass: 'string', // 默认都是字符串类型其他暂不考虑
1 year ago
isSearch: true,
1 year ago
form: {
component: 'Select'
},
table: {
width: 130
}
1 year ago
},
{
label: '样本字码',
field: 'sampleCharacterCode',
sort: 'custom',
isSearch: true,
table: {
width: 110
}
1 year ago
},
{
12 months ago
label: '样品份数',
field: 'sampleQty',
1 year ago
sort: 'custom',
table: {
width: 95
}
1 year ago
},
{
1 year ago
label: 'A0.01',
1 year ago
field: 'a0separator010',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'R0.01',
1 year ago
field: 'r0separator010',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'A0.015',
1 year ago
field: 'a0separator015',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'R0.015',
1 year ago
field: 'r0separator015',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'A0.025',
1 year ago
field: 'a0separator025',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'R0.025',
1 year ago
field: 'r0separator025',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'A0.04',
1 year ago
field: 'a0separator040',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'R0.04',
1 year ago
field: 'r0separator040',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'A0.065',
1 year ago
field: 'a0separator065',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'R0.065',
1 year ago
field: 'r0separator065',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'A0.1',
1 year ago
field: 'a0separator10',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'R0.1',
1 year ago
field: 'r0separator10',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'A0.15',
1 year ago
field: 'a0separator15',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'R0.15',
1 year ago
field: 'r0separator15',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'A0.25',
1 year ago
field: 'a0separator25',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'R0.25',
1 year ago
field: 'r0separator25',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'A0.4',
1 year ago
field: 'a0separator40',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'R0.4',
1 year ago
field: 'r0separator40',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'A0.65',
1 year ago
field: 'a0separator65',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'R0.65',
1 year ago
field: 'r0separator65',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'A1.0',
1 year ago
field: 'a1separator0',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'R1.0',
1 year ago
field: 'r1separator0',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'A1.5',
1 year ago
field: 'a1separator5',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'R1.5',
1 year ago
field: 'r1separator5',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'A2.5',
1 year ago
field: 'a2separator5',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'R2.5',
1 year ago
field: 'r2separator5',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'A4.0',
1 year ago
field: 'a4separator0',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'R4.0',
1 year ago
field: 'r4separator0',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'A6.5',
1 year ago
field: 'a6separator5',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
1 year ago
label: 'R6.5',
1 year ago
field: 'r6separator5',
1 year ago
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'A10',
field: 'a10',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'R10',
field: 'r10',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'A15',
field: 'a15',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'R15',
field: 'r15',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'A25',
field: 'a25',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'R25',
field: 'r25',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'A40',
field: 'a40',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'R40',
field: 'r40',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'A65',
field: 'a65',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'R65',
field: 'r65',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'A100',
field: 'a100',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'R100',
field: 'r100',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'A150',
field: 'a150',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'R150',
field: 'r150',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'A250',
field: 'a250',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'R250',
field: 'r250',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'A400',
field: 'a400',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'R400',
field: 'r400',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'A650',
field: 'a650',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'R650',
field: 'r650',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'A1000',
field: 'a1000',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: 'R1000',
field: 'r1000',
sort: 'custom',
table: {
width: 105
}
1 year ago
},
{
label: '创建时间',
field: 'createTime',
sort: 'custom',
formatter: dateFormatter,
isForm: false,
1 year ago
detail: {
dateFormat: 'YYYY-MM-DD HH:mm:ss'
},
1 year ago
form: {
component: 'DatePicker',
componentProps: {
1 year ago
style: { width: '100%' },
1 year ago
type: 'datetime',
dateFormat: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x',
}
},
1 year ago
table: {
width: 175
}
1 year ago
},
// {
// 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
// }
// },
1 year ago
{
label: '操作',
field: 'action',
isForm: false,
table: {
width: 150,
fixed: 'right'
}
}
]))