gaoluyang
7 天以前 6f35f9dc767e99ad701f7f6e2f5d4c52b6cc1d0f
src/views/wls/productissue/data.ts
@@ -7,20 +7,14 @@
import { h, markRaw } from 'vue';
import {
  DICT_TYPE,
  MesAutoCodeRuleCode,
  MesProWorkOrderStatusEnum,
} from '../../../packages/constants/src';
import { getDictOptions } from '../../../packages/effects/hooks/src';
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 { ProWorkOrderSelect } from '#/views/mes/pro/workorder/components';
import { WmMaterialStockSelect } from '#/views/wls/materialstock/components';
import {
  WmWarehouseAreaSelect,
@@ -98,28 +92,35 @@
      component: 'DatePicker',
      componentProps: {
        class: '!w-full',
        format: 'YYYY-MM-DD HH:mm:ss',
        format: 'YYYY-MM-DD',
        placeholder: '请选择需求时间',
        showTime: true,
        valueFormat: 'x',
        showTime: false,
        valueFormat: 'YYYY-MM-DD HH:mm:ss',
      },
      rules: 'required',
    },
    {
      fieldName: 'workOrderId',
      fieldName: 'workOrderCode',
      label: '生产订单',
      component: markRaw(ProWorkOrderSelect),
      component: 'Input',
      componentProps: {
        status: MesProWorkOrderStatusEnum.CONFIRMED,
        placeholder: '请输入生产订单号',
      },
      rules: 'selectRequired',
    },
    {
      fieldName: 'workstationId',
      label: '工作站',
      component: markRaw(MdWorkstationSelect),
      fieldName: 'taskCode',
      label: '生产任务',
      component: 'Input',
      componentProps: {
        placeholder: '请选择工作站',
        placeholder: '请输入生产任务号',
      },
    },
    {
      fieldName: 'workstationName',
      label: '工作站',
      component: 'Input',
      componentProps: {
        placeholder: '请输入工作站名称',
      },
    },
    {
@@ -201,6 +202,11 @@
      minWidth: 140,
    },
    {
      field: 'taskCode',
      title: '生产任务',
      minWidth: 140,
    },
    {
      field: 'workstationName',
      title: '工作站',
      minWidth: 120,
@@ -209,7 +215,7 @@
      field: 'requiredTime',
      title: '需求时间',
      width: 180,
      formatter: 'formatDateTime',
      formatter: 'formatDate',
    },
    {
      field: 'status',
@@ -370,6 +376,14 @@
      },
    },
    {
      fieldName: 'batchId',
      component: 'Input',
      dependencies: {
        triggerFields: [''],
        show: () => false,
      },
    },
    {
      fieldName: 'itemId',
      label: '物料',
      component: markRaw(MdItemSelect),
@@ -382,12 +396,13 @@
      label: '库存记录',
      component: markRaw(WmMaterialStockSelect),
      componentProps: {
        // 选择库存记录后,自动回填仓库/库区/库位/批次/数量
        // 选择库存记录后,自动回填物料/仓库/库区/库位/批次/数量,全部以库存记录为准
        onChange: async (stock?: MesWmMaterialStockApi.MaterialStock) => {
          await formApi?.setValues({
            areaId: stock?.areaId,
            batchCode: stock?.batchCode,
            batchId: stock?.batchId,
            itemId: stock?.itemId,
            locationId: stock?.locationId,
            quantity: stock?.quantity,
            quantityMax: stock?.quantity,
@@ -399,7 +414,8 @@
      dependencies: {
        triggerFields: ['itemId'],
        componentProps: (values) => ({
          itemId: values.itemId,
          // 库存选择弹窗只识别 mdmItemId 入参,并用它作为 itemId 过滤条件
          mdmItemId: values.itemId,
        }),
      },
    },