| | |
| | | import type { VbenFormApi, VbenFormSchema } from '#/adapter/form'; |
| | | import type { VxeTableGridOptions } from '#/adapter/vxe-table'; |
| | | import type { MesWmArrivalNoticeApi } from '#/api/mes/wm/arrivalnotice'; |
| | | import type { MesWmArrivalNoticeLineApi } from '#/api/mes/wm/arrivalnotice/line'; |
| | | import type { MesWmItemReceiptApi } from '#/api/mes/wm/itemreceipt'; |
| | | import type { MesWmItemReceiptDetailApi } from '#/api/mes/wm/itemreceipt/detail'; |
| | |
| | | |
| | | import { h, markRaw } from 'vue'; |
| | | |
| | | import { |
| | | DICT_TYPE, |
| | | MesAutoCodeRuleCode, |
| | | MesWmArrivalNoticeStatusEnum, |
| | | } from '@vben/constants'; |
| | | import { DICT_TYPE, MesAutoCodeRuleCode } from '@vben/constants'; |
| | | |
| | | 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 { ErpSupplierSelect } from '#/views/erp/purchase/supplier/components'; |
| | | import { |
| | | WmArrivalNoticeLineSelect, |
| | | WmArrivalNoticeSelect, |
| | | } from '#/views/wls/arrivalnotice/components'; |
| | | import { WmArrivalNoticeLineSelect } from '#/views/wls/arrivalnotice/components'; |
| | | import { |
| | | WmWarehouseAreaSelect, |
| | | WmWarehouseLocationSelect, |
| | |
| | | rules: 'required', |
| | | }, |
| | | { |
| | | fieldName: 'noticeId', |
| | | fieldName: 'noticeCode', |
| | | label: '到货通知单', |
| | | component: markRaw(WmArrivalNoticeSelect), |
| | | component: 'Input', |
| | | componentProps: { |
| | | // 选择到货通知单后,自动回填供应商和采购订单号 |
| | | onChange: async (notice?: MesWmArrivalNoticeApi.ArrivalNotice) => { |
| | | await formApi?.setValues({ |
| | | purchaseOrderCode: notice?.purchaseOrderCode, |
| | | vendorId: notice?.vendorId, |
| | | vendorName: notice?.vendorName, |
| | | }); |
| | | }, |
| | | status: MesWmArrivalNoticeStatusEnum.PENDING_RECEIPT, |
| | | placeholder: '请输入到货通知单号', |
| | | }, |
| | | }, |
| | | { |
| | | fieldName: 'vendorName', |
| | | fieldName: 'noticeId', |
| | | component: 'Input', |
| | | dependencies: { |
| | | triggerFields: [''], |
| | |
| | | }, |
| | | }, |
| | | { |
| | | fieldName: 'vendorId', |
| | | fieldName: 'vendorName', |
| | | label: '供应商', |
| | | component: markRaw(ErpSupplierSelect), |
| | | component: 'Input', |
| | | componentProps: { |
| | | placeholder: '请选择供应商', |
| | | onChange: async (supplier?: any) => { |
| | | await formApi?.setFieldValue('vendorName', supplier?.name); |
| | | }, |
| | | }, |
| | | rules: 'selectRequired', |
| | | dependencies: { |
| | | triggerFields: ['vendorName'], |
| | | componentProps: (values) => ({ |
| | | placeholder: '请选择供应商', |
| | | supplierName: values.vendorName as string, |
| | | }), |
| | | placeholder: '请输入供应商', |
| | | }, |
| | | }, |
| | | { |
| | |
| | | }, |
| | | }, |
| | | { |
| | | fieldName: 'vendorId', |
| | | fieldName: 'vendorName', |
| | | label: '供应商', |
| | | component: markRaw(ErpSupplierSelect), |
| | | component: 'Input', |
| | | componentProps: { |
| | | placeholder: '请选择供应商', |
| | | allowClear: true, |
| | | placeholder: '请输入供应商', |
| | | }, |
| | | }, |
| | | { |