吴晓阳
发布于 2025-07-24 / 56 阅读
0

Vben Admin 企业级管理系统框架

Vben Admin

组件联动

    {
      ...useFormItemSpan(3),
      ...useFormBoolSelect(),
      fieldName: 'IsUnifiedDelivery',
      label: '是否统一交货',
    },
    {
      ...useFormItemSpan(3),
      ...useFormDatePicker(),
      dependencies: {
        show(values) {
          return !!values.IsUnifiedDelivery;
        },
        trigger(value) {
          if (value.IsUnifiedDelivery && value.UnifiedDeliveryDate) {
            value.SalesDetailList.forEach((item: any) => {
              item.DeliveryDate = value.UnifiedDeliveryDate;
            });
          }
        },
        triggerFields: ['IsUnifiedDelivery', 'UnifiedDeliveryDate'],
      },
      fieldName: 'UnifiedDeliveryDate',
      label: '统一交货日期',
    },
    {
      ...useFormItemSpan(3),
      ...useFormInput('请输入快递备注'),
      dependencies: {
        if(values) {
          return [5201, 5202].includes(values.OutboundMethodId * 1);
        },
        triggerFields: ['OutboundMethodId'],
      },
      fieldName: 'CourierRemark',
      label: '快递备注',
    },
    {
      ...useFormItemSpan(6),
      component: 'Select',
      componentProps: {
        allowClear: true,
        placeholder: '请选择税率',
        options: [
          { label: '不含税', value: 0 },
          { label: '1%', value: 0.01 },
          { label: '2%', value: 0.02 },
          { label: '3%', value: 0.03 },
          { label: '4%', value: 0.04 },
          { label: '5%', value: 0.05 },
          { label: '6%', value: 0.06 },
          { label: '7%', value: 0.07 },
          { label: '8%', value: 0.08 },
          { label: '9%', value: 0.09 },
          { label: '10%', value: 0.1 },
          { label: '11%', value: 0.11 },
          { label: '12%', value: 0.12 },
          { label: '13%', value: 0.13 },
          { label: '14%', value: 0.14 },
          { label: '15%', value: 0.15 },
          { label: '16%', value: 0.16 },
        ],

      },
      fieldName: 'TaxRate',
      label: '税率',
    },
    {
      ...useFormItemSpan(6),
      ...useFormInput('税额将自动计算'),
      fieldName: 'TaxAmount',
      label: '税额',
      componentProps: {
        placeholder: '税额将自动计算',
        readonly: true,
        disabled: true,
      },
      dependencies: {
        trigger: (values: any, formApi: any) => {
          const receivedAmount = parseFloat(values.ReceivedAmount) || 0;
          const taxRate = parseFloat(values.TaxRate) || 0;
          const taxAmount = receivedAmount / (1 + taxRate) * taxRate;
          formApi.setFieldValue('TaxAmount', taxAmount.toFixed(2));
        },
        triggerFields: ['ReceivedAmount', 'TaxRate'],
      },
    },
    {
      ...useFormItemSpan(4),
      ...useFormInput('公司编号/公司名称/联系人/联系方式等关键词'),
      fieldName: 'Keyword',
      label: '',
    },

    { key: 'Keyword', type: 'like', value: valueMap.Keyword },
import { nextTick } from 'vue';  

setTimeout(() => {
    nextTick(() => {
      gridApi.grid?.setAllTreeExpand(true);
    });
  }, 0);