import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter } from '@/utils/formatTime' import { TableColumn } from '@/types/table' import * as GxApi from '@/api/basedata/progx' const gxList = await GxApi.getAllGxs() // 表单校验 export const DeviceRules = reactive({ deviceNo: [required], deviceName: [required], gxId: [required] }) export const Device = useCrudSchemas(reactive([ // { // label: '主键、自增', // field: 'id', // sort: 'custom', // isForm: false, // }, { label: '设备编号', field: 'deviceNo', sort: 'custom', isSearch: true, }, { label: '设备名称', field: 'deviceName', sort: 'custom', isSearch: true, }, { label: '设备描述', field: 'deviceDesc', sort: 'custom', isSearch: false, }, { label: '所属工序', field: 'gxId', formatter: (_: Recordable, __: TableColumn, cellValue: number) => { return gxList.find((obj) => obj.id === cellValue)?.gxName }, search: { show: true, component: 'Select', api: () => gxList, componentProps: { optionsAlias: { labelField: 'gxName', valueField: 'id' } } }, form: { component: 'Select', api: () => gxList, componentProps: { optionsAlias: { labelField: 'gxName', valueField: 'id' } } } }, { label: '创建时间', field: 'createTime', sort: 'custom', formatter: dateFormatter, isSearch: false, search: { component: 'DatePicker', componentProps: { valueFormat: 'YYYY-MM-DD HH:mm:ss', type: 'daterange', defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] } }, isForm: false, }, { label: '操作', field: 'action', isForm: false, table: { width: 150, fixed: 'right' } } ]))