| | |
| | | import type { VbenFormApi, VbenFormSchema } from '#/adapter/form'; |
| | | import type { VxeTableGridOptions } from '#/adapter/vxe-table'; |
| | | import type { MesProTaskApi } from '#/api/mes/pro/task'; |
| | | import type { MesWmMaterialStockApi } from '#/api/mes/wm/materialstock'; |
| | | import type { MesWmProductIssueApi } from '#/api/mes/wm/productissue'; |
| | | import type { MesWmProductIssueDetailApi } from '#/api/mes/wm/productissue/detail'; |
| | |
| | | |
| | | import { h, markRaw } from 'vue'; |
| | | |
| | | import { |
| | | DICT_TYPE, |
| | | MesAutoCodeRuleCode, |
| | | MesProWorkOrderStatusEnum, |
| | | } from '@vben/constants'; |
| | | import { DICT_TYPE, MesAutoCodeRuleCode } from '@vben/constants'; |
| | | import { getDictOptions } from '@vben/hooks'; |
| | | |
| | | import { Button } from 'ant-design-vue'; |
| | |
| | | import { generateAutoCode } from '#/api/mes/md/autocode/record'; |
| | | import { getRangePickerDefaultProps } from '#/utils'; |
| | | import { MdItemSelect } from '#/views/mes/md/item/components'; |
| | | import { MdWorkstationSelect } from '#/views/mes/md/workstation/components'; |
| | | import { ProTaskSelect } from '#/views/mes/pro/task/components'; |
| | | import { ProWorkOrderSelect } from '#/views/mes/pro/workorder/components'; |
| | | import { WmMaterialStockSelect } from '#/views/wls/materialstock/components'; |
| | | import { |
| | | WmWarehouseAreaSelect, |
| | |
| | | rules: 'required', |
| | | }, |
| | | { |
| | | fieldName: 'workOrderId', |
| | | fieldName: 'workOrderCode', |
| | | label: '生产订单', |
| | | component: markRaw(ProWorkOrderSelect), |
| | | component: 'Input', |
| | | componentProps: { |
| | | placeholder: '请选择生产订单', |
| | | status: MesProWorkOrderStatusEnum.CONFIRMED, |
| | | // 订单变更:清空已选生产任务,避免任务与订单不一致 |
| | | onChange: async () => { |
| | | await formApi?.setFieldValue('taskId', undefined); |
| | | }, |
| | | placeholder: '请输入生产订单号', |
| | | }, |
| | | rules: 'selectRequired', |
| | | }, |
| | | { |
| | | fieldName: 'taskId', |
| | | fieldName: 'taskCode', |
| | | label: '生产任务', |
| | | component: markRaw(ProTaskSelect), |
| | | component: 'Input', |
| | | componentProps: { |
| | | placeholder: '请选择生产任务', |
| | | // 选中任务后自动带出其工作站 |
| | | onChange: async (task?: MesProTaskApi.Task) => { |
| | | await formApi?.setFieldValue('workstationId', task?.workstationId); |
| | | }, |
| | | placeholder: '请输入生产任务号', |
| | | }, |
| | | dependencies: { |
| | | triggerFields: ['workOrderId'], |
| | | componentProps: (values) => ({ |
| | | disabled: !values.workOrderId, |
| | | placeholder: values.workOrderId ? '请选择生产任务' : '请先选择生产订单', |
| | | workOrderId: values.workOrderId, |
| | | }), |
| | | }, |
| | | rules: 'selectRequired', |
| | | }, |
| | | { |
| | | fieldName: 'workstationId', |
| | | fieldName: 'workstationName', |
| | | label: '工作站', |
| | | component: markRaw(MdWorkstationSelect), |
| | | component: 'Input', |
| | | componentProps: { |
| | | placeholder: '请选择工作站', |
| | | placeholder: '请输入工作站名称', |
| | | }, |
| | | }, |
| | | { |