diff --git a/src/views/eam/device/deviceinspectionjob/deviceInspectionMain.data.ts b/src/views/eam/device/deviceinspectionjob/deviceInspectionMain.data.ts index 70d39c6..ef2319b 100644 --- a/src/views/eam/device/deviceinspectionjob/deviceInspectionMain.data.ts +++ b/src/views/eam/device/deviceinspectionjob/deviceInspectionMain.data.ts @@ -9,16 +9,18 @@ import * as ItemApi from '@/api/eam/basic/item' import { validateHanset, validateNum, validateNum100 } from '@/utils/validator' import * as UserApi from '@/api/system/user' import { useUserStore } from '@/store/modules/user' -import { - DeviceMaintenanceMain, -} from '../devicemaintenancejob/deviceMaintenanceMain.data' +import { DeviceMaintenanceMain } from '../devicemaintenancejob/deviceMaintenanceMain.data' const userStore = useUserStore() const userListAll = await UserApi.getSimpleUserList() const factoryList = await selectAllFactoryArea() -const factoryListSelf = factoryList.filter(item => item.id == userStore.userSelfInfo.dept.parentId) +const factoryListSelf = factoryList.filter( + (item) => item.id == userStore.userSelfInfo.dept.parentId +) const deviceList = await DeviceAccountsApi.getDeviceAccountsNoPage({}) const deviceListAll = await DeviceAccountsApi.getDeviceAccountsAllNoPage({}) -const deviceListByFactory = deviceListAll.filter(item => item.factoryAreaNumber == userStore.userSelfInfo.deptId) +const deviceListByFactory = deviceListAll.filter( + (item) => item.factoryAreaNumber == userStore.userSelfInfo.deptId +) // const deviceListByFactoryAndStatus = deviceListByFactory.filter(item => item.status == '0') const userList = await selecUserByType({ classType: 'DEVICE', factoryAreaNumber: '', flag: 1 }) const dutyUserList = await selecUserByType({ classType: 'DEVICE', factoryAreaNumber: '' }) @@ -26,832 +28,803 @@ const repairList = await DeviceMaintenanceMainApi.getDeviceMainTempList('DEVICE' // 表单校验 export const DeviceInspectionMainRules = reactive({ number: [required], - deviceNumber: [ - required, - ], - factoryAreaNumber: [ - required, - ], - describes: [ - { max: 200, message: '不得超过200个字符', trigger: 'blur' }, - ], - maintenancePhone: [ - { validator: validateHanset, message: '输入电话格式不正确', trigger: 'blur' } - ], + deviceNumber: [required], + factoryAreaNumber: [required], + describes: [{ max: 200, message: '不得超过200个字符', trigger: 'blur' }], + maintenancePhone: [{ validator: validateHanset, message: '输入电话格式不正确', trigger: 'blur' }], status: [required], type: [required], - faultType: [required], + faultType: [required] }) -export const DeviceInspectionMain = useCrudSchemas(reactive([ - { - label: '检修编号', - field: 'number', - sort: 'custom', - table: { - width: '150', - fixed: 'left', - }, - isSearch: false, - isForm: false, - }, - { - label: '维修工单号', - field: 'maintenanceNumber', - sort: 'custom', - table: { - width: '150', - }, - isSearch: false, - // formatter: (_: Recordable, __: TableColumn, cellValue: number) => { - // return repairList.find((account) => account.number == cellValue)?.name - // }, - search: { - component: 'Select', - api: () => repairList, - componentProps: { - optionsAlias: { - labelField: 'describes', - valueField: 'number' - }, - filterable: true, - } - }, - // form: { - // component: 'Select', - // api: () => repairList, - // componentProps: { - // optionsAlias: { - // labelField: 'describes', - // valueField: 'number' - // }, - // filterable: true, - // }, - // } - form: { - componentProps: { - isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择备件', // 输入框占位文本 - searchField: 'number', // 查询弹窗赋值字段 - searchTitle: '备件', // 查询弹窗标题 - searchAllSchemas: DeviceMaintenanceMain.allSchemas, // 查询弹窗所需类 - searchPage: DeviceMaintenanceMainApi.getDeviceMaintenanceMainPage, // 查询弹窗所需分页方法 - searchCondition: [{ - key: 'type', - value: 'DEVICE', - message: '请选择设备模具编号!', - isMainValue: false - },{ - key: 'result', - value: 'TEMPORARILY', - message: '请选择设备模具编号!', - isMainValue: false - }] - } - } - }, - { - label: '厂区', - field: 'factoryAreaNumber', - sort: 'custom', - isSearch: false, - isDetail: false, - table: { - width: '150', - }, - api: () => factoryList, - formatter: (_: Recordable, __: TableColumn, cellValue: number) => { - return factoryList.find((account) => account.id == cellValue)?.name - }, - search: { - component: 'Select', - api: () => factoryList, - componentProps: { - optionsAlias: { - labelField: 'name', - valueField: 'id' - }, - filterable: true, +export const DeviceInspectionMain = useCrudSchemas( + reactive([ + { + label: '检修编号', + field: 'number', + sort: 'custom', + table: { + width: '150', + fixed: 'left' + }, + isSearch: false, + isForm: false + }, + { + label: '维修工单号', + field: 'maintenanceNumber', + sort: 'custom', + table: { + width: '150' + }, + isSearch: false, + // formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + // return repairList.find((account) => account.number == cellValue)?.name + // }, + search: { + component: 'Select', + api: () => repairList, + componentProps: { + optionsAlias: { + labelField: 'describes', + valueField: 'number' + }, + filterable: true + } + }, + // form: { + // component: 'Select', + // api: () => repairList, + // componentProps: { + // optionsAlias: { + // labelField: 'describes', + // valueField: 'number' + // }, + // filterable: true, + // }, + // } + form: { + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择备件', // 输入框占位文本 + searchField: 'number', // 查询弹窗赋值字段 + searchTitle: '备件', // 查询弹窗标题 + searchAllSchemas: DeviceMaintenanceMain.allSchemas, // 查询弹窗所需类 + searchPage: DeviceMaintenanceMainApi.getDeviceMaintenanceMainPage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'type', + value: 'DEVICE', + message: '请选择设备模具编号!', + isMainValue: false + }, + { + key: 'result', + value: 'TEMPORARILY', + message: '请选择设备模具编号!', + isMainValue: false + } + ] + } } }, - form: { - component: 'Select', + { + label: '厂区', + field: 'factoryAreaNumber', + sort: 'custom', + isSearch: false, + isDetail: false, + table: { + width: '150' + }, api: () => factoryList, - componentProps: { - disabled: true, - optionsAlias: { - labelField: 'name', - valueField: 'id' - }, - filterable: true, - placeholder: "请选择设备" + formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + return factoryList.find((account) => account.id == cellValue)?.name }, - } - }, - { - label: '设备', - field: 'deviceNumber', - sort: 'custom', - isSearch: true, - table: { - width: '150', - }, - api: () => deviceList, - formatter: (_: Recordable, __: TableColumn, cellValue: number) => { - return deviceListAll.find((account) => account.number == cellValue)?.name - }, - search: { - show: true, - component: 'Select', - api: () => deviceListByFactory, - componentProps: { - optionsAlias: { - labelField: 'name', - valueField: 'number' - }, - filterable: true, + search: { + component: 'Select', + api: () => factoryList, + componentProps: { + optionsAlias: { + labelField: 'name', + valueField: 'id' + }, + filterable: true + } + }, + form: { + component: 'Select', + api: () => factoryList, + componentProps: { + disabled: true, + optionsAlias: { + labelField: 'name', + valueField: 'id' + }, + filterable: true, + placeholder: '请选择设备' + } } }, - form: { - component: 'Select', + { + label: '设备', + field: 'deviceNumber', + sort: 'custom', + isSearch: true, + table: { + width: '150' + }, api: () => deviceList, - componentProps: { - optionsAlias: { - labelField: 'name', - valueField: 'number' - }, - filterable: true, + formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + return deviceListAll.find((account) => account.number == cellValue)?.name }, - } - }, + search: { + show: true, + component: 'Select', + api: () => deviceListByFactory, + componentProps: { + optionsAlias: { + labelField: 'name', + valueField: 'number' + }, + filterable: true + } + }, + form: { + component: 'Select', + api: () => deviceList, + componentProps: { + optionsAlias: { + labelField: 'name', + valueField: 'number' + }, + filterable: true + } + } + }, - { - label: '检修人', - field: 'maintenance', - sort: 'custom', - isSearch: false, - isDetail: false, - table: { - width: '150', - }, - api: () => userListAll, - formatter: (_: Recordable, __: TableColumn, cellValue: number) => { - return userListAll.find((account) => account.id == cellValue)?.nickname - }, - search: { - show: true, - component: 'Select', - api: () => dutyUserList, - componentProps: { - optionsAlias: { - labelField: 'name', - valueField: 'id' - }, - filterable: true, + { + label: '检修人', + field: 'maintenance', + sort: 'custom', + isSearch: false, + isDetail: false, + table: { + width: '150' + }, + api: () => userListAll, + formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + return userListAll.find((account) => account.id == cellValue)?.nickname + }, + search: { + show: true, + component: 'Select', + api: () => dutyUserList, + componentProps: { + optionsAlias: { + labelField: 'name', + valueField: 'id' + }, + filterable: true + } + }, + form: { + component: 'Select', + api: () => dutyUserList, + componentProps: { + disabled: false, + optionsAlias: { + labelField: 'name', + valueField: 'id' + }, + filterable: true, + placeholder: '请选择检修人' + } } }, - form: { - component: 'Select', - api: () => dutyUserList, - componentProps: { - disabled: false, - optionsAlias: { - labelField: 'name', - valueField: 'id' + { + label: '厂区', + field: 'factoryAreaNumber1', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail: true + }, + { + label: '检修人', + field: 'maintenance1', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail: true + }, + { + label: '检修人联系电话', + field: 'maintenancePhone', + sort: 'custom', + table: { + width: '150' + } + }, + { + label: '状态', + field: 'status', + sort: 'custom', + table: { + width: '150' + }, + isSearch: true, + dictType: DICT_TYPE.WEI_XIU_ORDER_STATUS, + dictClass: 'string', + form: { + component: 'Select', + componentProps: { + disabled: true, + placeholder: '请选择状态' }, - filterable: true, - placeholder: "请选择检修人" - }, - }, - }, - { - label: '厂区', - field: 'factoryAreaNumber1', - sort: 'custom', - isSearch: false, - isTable: false, - isForm: false, - isDetail: true - }, - { - label: '检修人', - field: 'maintenance1', - sort: 'custom', - isSearch: false, - isTable: false, - isForm: false, - isDetail: true - }, - { - label: '检修人联系电话', - field: 'maintenancePhone', - sort: 'custom', - table: { - width: '150', - }, - }, - { - label: '状态', - field: 'status', - sort: 'custom', - table: { - width: '150', - }, - isSearch: true, - dictType: DICT_TYPE.WEI_XIU_ORDER_STATUS, - dictClass: 'string', - form: { - component: 'Select', - componentProps: { - disabled: true, - placeholder: "请选择状态" - }, - filterable: true, - }, - }, - { - label: '类型', - field: 'type', - sort: 'custom', - table: { - width: '150', - }, - isSearch: false, - dictType: DICT_TYPE.DEVICE_MOLD_TYPE, - dictClass: 'string', - form: { - component: 'Select', - componentProps: { - disabled: true, - placeholder: "请选择设备" - }, - filterable: true, - }, - }, - { - label: '故障类型', - field: 'faultType', - sort: 'custom', - table: { - width: '150', - }, - // isSearch: false, - dictType: DICT_TYPE.FAULT_TYPE, - dictClass: 'string', - form: { - value: 'PM', - component: 'Select', - componentProps: { - // disabled: true, - placeholder: "请选择故障类型" - }, - filterable: true, - }, - }, - { - label: '工单来源类型', - field: 'sourceType', - sort: 'custom', - table: { - width: '150', - }, - dictType: DICT_TYPE.ORDER_SOURCE_TYPE, - dictClass: 'string', - form: { - value: '0', - component: 'Select', - componentProps: { - disabled: true, - placeholder: "请选择工单来源类型" - }, - }, - }, - { - label: '创建时间', - field: 'createTime', - sort: 'custom', - formatter: dateFormatter, - isForm: false, - table: { - width: '180', - }, - detail: { - width: 180, - dateFormat: 'YYYY-MM-DD HH:mm:ss' - }, - }, - { - label: '描述', - field: 'describes', - sort: 'custom', - isSearch: false, - table: { - width: '230', - }, - form: { - component: 'Input', - componentProps: { - type: 'textarea', + filterable: true } }, - }, - { - label: '验证人', - field: 'verifyer', - sort: 'custom', - isDetail: false, - isSearch: false, - isForm: false, - table: { - width: '150', - }, - api: () => userList, - formatter: (_: Recordable, __: TableColumn, cellValue: number) => { - return userListAll.find((account) => account.id == cellValue)?.nickname - }, - search: { - show: true, - component: 'Select', - api: () => dutyUserList, - componentProps: { - optionsAlias: { - labelField: 'name', - valueField: 'id' + { + label: '类型', + field: 'type', + sort: 'custom', + table: { + width: '150' + }, + isSearch: false, + dictType: DICT_TYPE.DEVICE_MOLD_TYPE, + dictClass: 'string', + form: { + component: 'Select', + componentProps: { + disabled: true, + placeholder: '请选择设备' }, - filterable: true, + filterable: true } }, - form: { - component: 'Select', - api: () => dutyUserList, - componentProps: { - // disabled: true, - optionsAlias: { - labelField: 'name', - valueField: 'id' + { + label: '故障类型', + field: 'faultType', + sort: 'custom', + table: { + width: '150' + }, + // isSearch: false, + dictType: DICT_TYPE.FAULT_TYPE, + dictClass: 'string', + form: { + value: 'PM', + component: 'Select', + componentProps: { + // disabled: true, + placeholder: '请选择故障类型' }, - filterable: true, - placeholder: "请选择维修人" + filterable: true + } + }, + { + label: '工单来源类型', + field: 'sourceType', + sort: 'custom', + table: { + width: '150' }, - } - }, - { - label: '验证人', - field: 'verifyerDetail', - sort: 'custom', - isSearch: false, - isTable: false, - isForm: false, - isDetail: true - }, - { - label: '验证意见', - field: 'verifyContent', - sort: 'custom', - isSearch: false, - isForm: false, - table: { - width: '230', - }, - }, - { - label: '完成时间', - field: 'completionTime', - sort: 'custom', - formatter: dateFormatter, - isForm: false, - table: { - width: '180', - }, - detail: { - width: 180, - dateFormat: 'YYYY-MM-DD HH:mm:ss' - }, - }, - { - label: '创建者', - field: 'creator', - sort: 'custom', - isSearch: false, - isForm: false, - table: { - width: 150 + dictType: DICT_TYPE.ORDER_SOURCE_TYPE, + dictClass: 'string', + form: { + value: '0', + component: 'Select', + componentProps: { + disabled: true, + placeholder: '请选择工单来源类型' + } + } + }, + { + label: '描述', + field: 'describes', + sort: 'custom', + isSearch: false, + table: { + width: '230' + }, + form: { + component: 'Input', + componentProps: { + type: 'textarea' } + } + }, + { + label: '验证人', + field: 'verifyer', + sort: 'custom', + isDetail: false, + isSearch: false, + isForm: false, + table: { + width: '150' + }, + api: () => userList, + formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + return userListAll.find((account) => account.id == cellValue)?.nickname }, - { - label: '创建时间', - field: 'createTime', - sort: 'custom', - formatter: dateFormatter, - isForm: false, - table: { - width: 170 + search: { + show: true, + component: 'Select', + api: () => dutyUserList, + componentProps: { + optionsAlias: { + labelField: 'name', + valueField: 'id' + }, + filterable: true } }, - { - label: '操作', - field: 'action', - isForm: false, - table: { - width: 200, - fixed: 'right' - }, - isDetail: false - } -])) - + form: { + component: 'Select', + api: () => dutyUserList, + componentProps: { + // disabled: true, + optionsAlias: { + labelField: 'name', + valueField: 'id' + }, + filterable: true, + placeholder: '请选择维修人' + } + } + }, + { + label: '验证人', + field: 'verifyerDetail', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail: true + }, + { + label: '验证意见', + field: 'verifyContent', + sort: 'custom', + isSearch: false, + isForm: false, + table: { + width: '230' + } + }, + { + label: '完成时间', + field: 'completionTime', + sort: 'custom', + formatter: dateFormatter, + isForm: false, + table: { + width: '180' + }, + detail: { + width: 180, + dateFormat: 'YYYY-MM-DD HH:mm:ss' + } + }, + { + label: '创建者', + field: 'creator', + sort: 'custom', + isSearch: false, + isForm: false, + table: { + width: 150 + } + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + isForm: false, + table: { + width: 170 + } + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 200, + fixed: 'right' + }, + isDetail: false + } + ]) +) // 表单校验 export const DeviceInspectionDetailRules = reactive({ - chargePeoples: [ - required, - ], + chargePeoples: [required], peoples: [ required, { validator: validateNum, message: '请输入正整数', trigger: 'blur' }, - { validator: validateNum100, message: '预估人数不得超出100', trigger: 'blur' }, + { validator: validateNum100, message: '预估人数不得超出100', trigger: 'blur' } ], estimatedMinutes: [ required, - { validator: validateNum, message: '请输入正整数', trigger: 'blur' }, + { validator: validateNum, message: '请输入正整数', trigger: 'blur' } ], number: [required], status: [required], - actualMinutes: [ - required, - { validator: validateNum, message: '请输入正整数', trigger: 'blur' }, - ], + actualMinutes: [required, { validator: validateNum, message: '请输入正整数', trigger: 'blur' }], maintenance: [required], - uncompleted: [ - { required: true, message: '该项为必填项', trigger: 'blur' } - ], + uncompleted: [{ required: true, message: '该项为必填项', trigger: 'blur' }] }) -export const DeviceInspectionDetail = useCrudSchemas(reactive([ - { - label: '检修编号', - field: 'number', - sort: 'custom', - table: { - width: '150' - }, - isSearch: false, - isForm: false, - isTableForm: false, - }, - { - label: '检修内容', - field: 'name', - sort: 'custom', - isSearch: true, - form: { - component: 'Input', - componentProps: { - type:'textarea' +export const DeviceInspectionDetail = useCrudSchemas( + reactive([ + { + label: '检修编号', + field: 'number', + sort: 'custom', + table: { + width: '150' + }, + isSearch: false, + isForm: false, + isTableForm: false + }, + { + label: '检修内容', + field: 'name', + sort: 'custom', + isSearch: true, + form: { + component: 'Input', + componentProps: { + type: 'textarea' + } } }, - }, - { - label: '责任人', - field: 'chargePeoples', - sort: 'custom', - table: { - width: '150', - }, - tableForm: { - type: 'Select', - initOptions: dutyUserList, - multiple: true, - collapseTags: true, - collapseTagsTooltip: true, - optionsAlias: { - labelField: 'name', - valueField: 'id' - }, - filterable: true, - }, - formatter: (_: Recordable, __: TableColumn, cellValue) => { - let cellValueList = [] - if (cellValue.includes(',')) { - cellValueList = cellValue?.split(','); - } else { - cellValueList = [cellValue] - } - return userListAll - .filter(item => cellValueList.includes(item.id.toString())) - .map(item => item.nickname) - .join(','); - }, - form: { - component: 'Select', - api: () => dutyUserList, - componentProps: { - disabled: false, + { + label: '责任人', + field: 'chargePeoples', + sort: 'custom', + table: { + width: '150' + }, + tableForm: { + type: 'Select', + initOptions: dutyUserList, + multiple: true, + collapseTags: true, + collapseTagsTooltip: true, optionsAlias: { labelField: 'name', valueField: 'id' }, - filterable: true, - placeholder: "请选择责任人", - multiple: true, + filterable: true }, - } - }, - { - label: '预计分钟', - field: 'estimatedMinutes', - sort: 'custom', - table: { - width: '150', - }, - isSearch: false, - isTable: true, - form: { - component: 'Input', - }, - }, - { - label: '预估人数', - field: 'peoples', - sort: 'custom', - table: { - width: '150', - }, - isSearch: false, - form: { - component: 'InputNumber', - }, - isTable: true, - tableForm: { - type: 'InputNumber', - }, - }, - - { - label: '实际分钟', - field: 'actualMinutes', - sort: 'custom', - table: { - width: '150', - }, - isSearch: false, - isTable: true, - form: { - component: 'Input', - }, - }, - { - label: '工程师确认', - field: 'engineer', - sort: 'custom', - isSearch: false, - table: { - width: '150', - }, - form: { - component: 'Input', - }, - }, - { - label: '是否完成', - field: 'status', - sort: 'custom', - table: { - width: '150', - }, - isSearch: false, - isTable: true, - dictType: DICT_TYPE.JX_DETAILS_STATUS, - dictClass: 'string', - form: { - component: 'Select', - componentProps: { - disabled: false, + formatter: (_: Recordable, __: TableColumn, cellValue) => { + let cellValueList = [] + if (cellValue.includes(',')) { + cellValueList = cellValue?.split(',') + } else { + cellValueList = [cellValue] + } + return userListAll + .filter((item) => cellValueList.includes(item.id.toString())) + .map((item) => item.nickname) + .join(',') + }, + form: { + component: 'Select', + api: () => dutyUserList, + componentProps: { + disabled: false, + optionsAlias: { + labelField: 'name', + valueField: 'id' + }, + filterable: true, + placeholder: '请选择责任人', + multiple: true + } + } + }, + { + label: '预计分钟', + field: 'estimatedMinutes', + sort: 'custom', + table: { + width: '150' + }, + isSearch: false, + isTable: true, + form: { + component: 'Input' } }, - tableForm: { - type: 'Select', - componentProps: { - disabled: false, + { + label: '预估人数', + field: 'peoples', + sort: 'custom', + table: { + width: '150' + }, + isSearch: false, + form: { + component: 'InputNumber' + }, + isTable: true, + tableForm: { + type: 'InputNumber' } }, - }, - { - label: '完成时间', - field: 'completionTime', - sort: 'custom', - formatter: dateFormatter, - table: { - width: '150', - }, - isSearch: false, - isTable: true, - form: { - component: 'DatePicker', - componentProps: { - type: 'datetime', - valueFormat: 'x' + { + label: '实际分钟', + field: 'actualMinutes', + sort: 'custom', + table: { + width: '150' + }, + isSearch: false, + isTable: true, + form: { + component: 'Input' } }, - tableForm: { - type: 'FormDateTime', - valueFormat: 'x' - }, - }, - { - label: '未完成原因', - field: 'uncompleted', - sort: 'custom', - isSearch: false, - isTable: true, - form: { - componentProps: { - type: 'textarea', - disabled: true, + { + label: '工程师确认', + field: 'engineer', + sort: 'custom', + isSearch: false, + table: { + width: '150' + }, + form: { + component: 'Input' } - } - }, - { - label: '备件', - field: 'itemNumbers1', - sort: 'custom', - table: { - }, - tableForm: { - isInpuFocusShow: true, // 开启查询弹窗 - searchListPlaceholder: '请选择备件', - searchField: 'itemNumbers1', - searchTitle: '备件', - multiple: true, - searchAllSchemas: ItemSearchTable.allSchemas, - searchPage: ItemApi.getItemList, - tableSelectionChange: (value) => { - console.log('value', value) - // tableData.value.itemNumbers1 = value.map(item => item.itemNumber) - }, - searchCondition: [{ - key: 'number', - value: 'deviceNumber', - message: '请选择设备模具编号!', - isMainValue: true - }] - }, - form: { - // labelMessage: '信息提示说明!!!', - componentProps: { - isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择备件', // 输入框占位文本 - searchField: 'itemNumbers1', // 查询弹窗赋值字段 - searchTitle: '备件', // 查询弹窗标题 - multiple: true, - searchAllSchemas: ItemSearchTable.allSchemas, // 查询弹窗所需类 - searchPage: ItemApi.getItemList, // 查询弹窗所需分页方法 - searchCondition: [{ - key: 'number', - value: 'deviceNumber', - message: '请选择设备模具编号!', - isMainValue: true - }] + }, + { + label: '是否完成', + field: 'status', + sort: 'custom', + table: { + width: '150' + }, + isSearch: false, + isTable: true, + dictType: DICT_TYPE.JX_DETAILS_STATUS, + dictClass: 'string', + form: { + component: 'Select', + componentProps: { + disabled: false + } + }, + tableForm: { + type: 'Select', + componentProps: { + disabled: false + } } }, - isSearch: false, - }, - { - label: '备件1', - field: 'itemNumbers', - sort: 'custom', - table: { - }, - isForm: false, - isDetail: false, - isTable: false, - isSearch: false, - isTableForm: false, - }, - { - label: '操作', - field: 'action', - isForm: false, - table: { - width: 150, - fixed: 'right' - }, - isDetail: false, - isTableForm: false, - } -])) + { + label: '完成时间', + field: 'completionTime', + sort: 'custom', + formatter: dateFormatter, + table: { + width: '150' + }, + isSearch: false, + isTable: true, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + tableForm: { + type: 'FormDateTime', + valueFormat: 'x' + } + }, + { + label: '未完成原因', + field: 'uncompleted', + sort: 'custom', + isSearch: false, + isTable: true, + form: { + componentProps: { + type: 'textarea', + disabled: true + } + } + }, + { + label: '备件', + field: 'itemNumbers1', + sort: 'custom', + table: {}, + tableForm: { + isInpuFocusShow: true, // 开启查询弹窗 + searchListPlaceholder: '请选择备件', + searchField: 'itemNumbers1', + searchTitle: '备件', + multiple: true, + searchAllSchemas: ItemSearchTable.allSchemas, + searchPage: ItemApi.getItemList, + tableSelectionChange: (value) => { + console.log('value', value) + // tableData.value.itemNumbers1 = value.map(item => item.itemNumber) + }, + searchCondition: [ + { + key: 'number', + value: 'deviceNumber', + message: '请选择设备模具编号!', + isMainValue: true + } + ] + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择备件', // 输入框占位文本 + searchField: 'itemNumbers1', // 查询弹窗赋值字段 + searchTitle: '备件', // 查询弹窗标题 + multiple: true, + searchAllSchemas: ItemSearchTable.allSchemas, // 查询弹窗所需类 + searchPage: ItemApi.getItemList, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'number', + value: 'deviceNumber', + message: '请选择设备模具编号!', + isMainValue: true + } + ] + } + }, + isSearch: false + }, + { + label: '备件1', + field: 'itemNumbers', + sort: 'custom', + table: {}, + isForm: false, + isDetail: false, + isTable: false, + isSearch: false, + isTableForm: false + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + }, + isDetail: false, + isTableForm: false + } + ]) +) // 表单校验 export const DeviceInspectionAddDetailRules = reactive({ - chargePeoples: [ - required, - ], + chargePeoples: [required], peoples: [ required, { validator: validateNum, message: '请输入正整数', trigger: 'blur' }, - { validator: validateNum100, message: '预估人数不得超出100', trigger: 'blur' }, + { validator: validateNum100, message: '预估人数不得超出100', trigger: 'blur' } ], estimatedMinutes: [ required, - { validator: validateNum, message: '请输入正整数', trigger: 'blur' }, + { validator: validateNum, message: '请输入正整数', trigger: 'blur' } ], number: [required], status: [required], - actualMinutes: [ - required, - { validator: validateNum, message: '请输入正整数', trigger: 'blur' }, - ], + actualMinutes: [required, { validator: validateNum, message: '请输入正整数', trigger: 'blur' }], maintenance: [required], - uncompleted: [ - { required: true, message: '该项为必填项', trigger: 'blur' } - ], + uncompleted: [{ required: true, message: '该项为必填项', trigger: 'blur' }] }) - -export const DeviceInspectionAddDetail = useCrudSchemas(reactive([ - { - label: '检修内容', - field: 'name', - sort: 'custom', - isSearch: true, - form: { - component: 'Input', - componentProps: { - type:'textarea' +export const DeviceInspectionAddDetail = useCrudSchemas( + reactive([ + { + label: '检修内容', + field: 'name', + sort: 'custom', + isSearch: true, + form: { + component: 'Input', + componentProps: { + type: 'textarea' + } } }, - }, - { - label: '责任人', - field: 'chargePeoples', - sort: 'custom', - table: { - width: '150', - }, - tableForm: { - type: 'Select', - initOptions: dutyUserList, - multiple: true, - collapseTags: true, - collapseTagsTooltip: true, - optionsAlias: { - labelField: 'name', - valueField: 'id' - }, - filterable: true, - }, - formatter: (_: Recordable, __: TableColumn, cellValue) => { - const cellValueList = cellValue?.split(','); - return userListAll - .filter(item => cellValueList.includes(item.id.toString())) - .map(item => item.nickname) - .join(','); - }, - form: { - component: 'Select', - api: () => dutyUserList, - componentProps: { - disabled: false, + { + label: '责任人', + field: 'chargePeoples', + sort: 'custom', + table: { + width: '150' + }, + tableForm: { + type: 'Select', + initOptions: dutyUserList, + multiple: true, + collapseTags: true, + collapseTagsTooltip: true, optionsAlias: { labelField: 'name', valueField: 'id' }, - filterable: true, - placeholder: "请选择责任人", - multiple: true, + filterable: true + }, + formatter: (_: Recordable, __: TableColumn, cellValue) => { + const cellValueList = cellValue?.split(',') + return userListAll + .filter((item) => cellValueList.includes(item.id.toString())) + .map((item) => item.nickname) + .join(',') }, + form: { + component: 'Select', + api: () => dutyUserList, + componentProps: { + disabled: false, + optionsAlias: { + labelField: 'name', + valueField: 'id' + }, + filterable: true, + placeholder: '请选择责任人', + multiple: true + } + } + }, + { + label: '预计分钟', + field: 'estimatedMinutes', + sort: 'custom', + table: { + width: '150' + }, + isSearch: false, + isTable: true, + form: { + component: 'Input' + } + }, + { + label: '预估人数', + field: 'peoples', + sort: 'custom', + table: { + width: '150' + }, + isSearch: false, + form: { + component: 'InputNumber' + }, + isTable: true, + tableForm: { + type: 'InputNumber' + } } - }, - { - label: '预计分钟', - field: 'estimatedMinutes', - sort: 'custom', - table: { - width: '150', - }, - isSearch: false, - isTable: true, - form: { - component: 'Input', - }, - }, - { - label: '预估人数', - field: 'peoples', - sort: 'custom', - table: { - width: '150', - }, - isSearch: false, - form: { - component: 'InputNumber', - }, - isTable: true, - tableForm: { - type: 'InputNumber', - }, - }, - -])) + ]) +)