gaoluyang
2 天以前 7a5c5250b66cc6faffbcac9e192073473c50f79f
src/views/wls/returnvendor/data.ts
@@ -7,13 +7,14 @@
import { h, markRaw } from 'vue';
import { DICT_TYPE, MesAutoCodeRuleCode } from '../../../packages/constants/src';
import { DICT_TYPE, MesAutoCodeRuleCode } from '@vben/constants';
import { Button } from 'ant-design-vue';
import { generateAutoCode } from '#/api/mes/md/autocode/record';
import { MdItemSelect } from '#/views/mes/md/item/components';
import { MdVendorSelect } from '#/views/mes/md/vendor/components';
import { ErpPurchaseOrderSelect } from '#/views/erp/purchase/order/components';
import { WmBatchSelect } from '#/views/wls/batch/components';
import { WmMaterialStockSelect } from '#/views/wls/materialstock/components';
import {
@@ -87,11 +88,26 @@
      rules: 'required',
    },
    {
      fieldName: 'purchaseOrderCode',
      label: '采购订单号',
      fieldName: 'vendorName',
      label: '',
      component: 'Input',
      dependencies: {
        triggerFields: [''],
        show: () => false,
      },
    },
    {
      fieldName: 'purchaseOrderId',
      label: '采购订单',
      component: markRaw(ErpPurchaseOrderSelect),
      componentProps: {
        placeholder: '请输入采购订单号',
        placeholder: '请选择采购订单',
        onChange: (item: any) => {
          if (item?.supplierId && formApi) {
            formApi.setFieldValue('vendorId', item.supplierId);
            formApi.setFieldValue('vendorName', item.supplierName);
          }
        },
      },
    },
    {
@@ -100,6 +116,15 @@
      component: markRaw(MdVendorSelect),
      componentProps: {
        placeholder: '请选择供应商',
        disabled: true,
      },
      dependencies: {
        triggerFields: ['vendorName'],
        componentProps: (values) => ({
          placeholder: '请选择供应商',
          disabled: true,
          vendorName: values.vendorName as string,
        }),
      },
      rules: 'selectRequired',
    },
@@ -112,7 +137,7 @@
        format: 'YYYY-MM-DD HH:mm:ss',
        placeholder: '请选择退货日期',
        showTime: true,
        valueFormat: 'x',
        valueFormat: 'YYYY-MM-DD HH:mm:ss',
      },
      rules: 'required',
    },
@@ -414,7 +439,10 @@
}
/** 拣货明细新增/修改的表单 */
export function useDetailFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
export function useDetailFormSchema(
  formApi?: VbenFormApi,
  onStockChange?: (stock?: MesWmMaterialStockApi.MaterialStock) => void,
): VbenFormSchema[] {
  return [
    {
      fieldName: 'quantityMax',
@@ -439,10 +467,10 @@
      componentProps: {
        // 选择库存记录后,自动回填仓库/库区/库位/批次/数量
        onChange: async (stock?: MesWmMaterialStockApi.MaterialStock) => {
          onStockChange?.(stock);
          await formApi?.setValues({
            areaId: stock?.areaId,
            batchCode: stock?.batchCode,
            batchId: stock?.batchId,
            locationId: stock?.locationId,
            quantity: stock?.quantity,
            quantityMax: stock?.quantity,