gaoluyang
2026-08-11 4807d8b687853e75a815b3aa9aecbc2554063aa4
src/views/srm/tender/data.ts
@@ -2,6 +2,8 @@
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
import {
  BIDDING_MODE_MAP,
  BIDDING_MODE_OPTIONS,
  TENDER_STATUS_CELLTAG,
  TENDER_STATUS_OPTIONS,
  TENDER_TYPE_CELLTAG,
@@ -20,11 +22,23 @@
      },
    },
    {
      component: 'Input',
      fieldName: '_partial',
      dependencies: {
        triggerFields: [''],
        show: () => false,
      },
    },
    {
      fieldName: 'tenderNo',
      label: '招标编号',
      component: 'Input',
      rules: 'required',
      componentProps: { placeholder: '请输入招标编号' },
      dependencies: {
        triggerFields: ['_partial'],
        show: (values) => !values._partial,
      },
    },
    {
      fieldName: 'tenderName',
@@ -32,6 +46,10 @@
      component: 'Input',
      rules: 'required',
      componentProps: { placeholder: '请输入招标项目名称' },
      dependencies: {
        triggerFields: ['_partial'],
        show: (values) => !values._partial,
      },
    },
    {
      fieldName: 'tenderType',
@@ -42,18 +60,30 @@
        placeholder: '请选择招标类型',
        options: TENDER_TYPE_OPTIONS,
      },
      dependencies: {
        triggerFields: ['_partial'],
        show: (values) => !values._partial,
      },
    },
    {
      fieldName: 'purchaseOrg',
      label: '采购组织',
      component: 'Input',
      componentProps: { placeholder: '请输入采购组织' },
      dependencies: {
        triggerFields: ['_partial'],
        show: (values) => !values._partial,
      },
    },
    {
      fieldName: 'projectLeaderName',
      label: '项目负责人',
      component: 'Input',
      componentProps: { placeholder: '请输入项目负责人' },
      dependencies: {
        triggerFields: ['_partial'],
        show: (values) => !values._partial,
      },
    },
    {
      fieldName: 'budgetAmount',
@@ -63,6 +93,10 @@
        class: '!w-full',
        min: 0,
        placeholder: '请输入预算金额',
      },
      dependencies: {
        triggerFields: ['_partial'],
        show: (values) => !values._partial,
      },
    },
    {
@@ -76,6 +110,10 @@
        format: 'YYYY-MM-DD HH:mm:ss',
        valueFormat: 'YYYY-MM-DD HH:mm:ss',
      },
      dependencies: {
        triggerFields: ['_partial'],
        show: (values) => !values._partial,
      },
    },
    {
      fieldName: 'endTime',
@@ -88,6 +126,10 @@
        format: 'YYYY-MM-DD HH:mm:ss',
        valueFormat: 'YYYY-MM-DD HH:mm:ss',
      },
      dependencies: {
        triggerFields: ['_partial'],
        show: (values) => !values._partial,
      },
    },
    {
      fieldName: 'bidOpenTime',
@@ -99,6 +141,29 @@
        showTime: true,
        format: 'YYYY-MM-DD HH:mm:ss',
        valueFormat: 'YYYY-MM-DD HH:mm:ss',
      },
      dependencies: {
        triggerFields: ['_partial'],
        show: (values) => !values._partial,
      },
    },
    {
      fieldName: 'biddingMode',
      label: '招投标模式',
      component: 'Select',
      rules: 'required',
      componentProps: {
        placeholder: '请选择招投标模式',
        options: BIDDING_MODE_OPTIONS,
      },
      dependencies: {
        triggerFields: ['_partial', 'id'],
        show: (values) => !values._partial,
        componentProps: (values) => ({
          disabled: !!values.id,
          placeholder: '请选择招投标模式',
          options: BIDDING_MODE_OPTIONS,
        }),
      },
    },
    {
@@ -153,6 +218,16 @@
        options: TENDER_STATUS_OPTIONS,
      },
    },
    {
      fieldName: 'biddingMode',
      label: '招投标模式',
      component: 'Select',
      componentProps: {
        placeholder: '请选择招投标模式',
        allowClear: true,
        options: BIDDING_MODE_OPTIONS,
      },
    },
  ];
}
@@ -173,6 +248,12 @@
      minWidth: 100,
      cellRender: { name: 'CellTag', props: TENDER_STATUS_CELLTAG },
    },
    {
      field: 'biddingMode',
      title: '招标模式',
      minWidth: 100,
      formatter: ({ cellValue }) => BIDDING_MODE_MAP[cellValue] || cellValue,
    },
    { field: 'budgetAmount', title: '预算金额', minWidth: 120 },
    { field: 'purchaseOrg', title: '采购组织', minWidth: 100 },
    { field: 'startTime', title: '开始时间', minWidth: 160 },