wujianwei
2025-12-24 2aaa32f860d4f3fbda01eded1b20a7cab9d3a393
ui/admin-ui3/src/views/tms/tmsPlanOrder/index.vue
@@ -1,5 +1,5 @@
<template>
  <basicContainer >
  <basicContainer>
    <avue-crud
        :option="option"
        :table-loading="pageF.loading"
@@ -50,396 +50,805 @@
</template>
<script setup name="tmsPlanOrder" lang="ts">
  import {TmsPlanOrderI,addTmsPlanOrder, delTmsPlanOrder, exportTmsPlanOrder, getTmsPlanOrder, listTmsPlanOrder, updateTmsPlanOrder} from "@/api/tms/tmsPlanOrder";
  import useCurrentInstance from "@/utils/useCurrentInstance";
  import {computed,reactive, ref, toRefs} from "vue";
  import {PagesInterface, PageQueryInterface} from "@/utils/globalInterface";
  import {usePagePlus} from "@/hooks/usePagePlus";
  import {hasPermission} from "@/utils/permissionUtils";
import {
  TmsPlanOrderI,
  addTmsPlanOrder,
  delTmsPlanOrder,
  exportTmsPlanOrder,
  getTmsPlanOrder,
  listTmsPlanOrder,
  updateTmsPlanOrder
} from "@/api/tms/tmsPlanOrder";
import useCurrentInstance from "@/utils/useCurrentInstance";
import {computed, reactive, ref, toRefs} from "vue";
import {PagesInterface, PageQueryInterface} from "@/utils/globalInterface";
import {usePagePlus} from "@/hooks/usePagePlus";
import {hasPermission} from "@/utils/permissionUtils";
import {getTmsCustomerInfo, listTmsCustomerInfo} from "@/api/tms/tmsCustomerInfo";
import {getTmsProject, listTmsProject} from "@/api/tms/tmsProject";
import {getTmsContract, listTmsContract} from "@/api/tms/tmsContract";
import {getTmsServiceProvider, listTmsServiceProvider} from "@/api/tms/tmsServiceProvider";
  const { proxy } = useCurrentInstance();
  const crudRef = ref();
const {proxy} = useCurrentInstance();
const crudRef = ref();
  const permissionList = computed(()=>{
    return {
      addBtn: hasPermission(["tms:tmsPlanOrder:add"]),
      delBtn: hasPermission(["tms:tmsPlanOrder:remove"]),
      editBtn: hasPermission(["tms:tmsPlanOrder:edit"]),
      viewBtn: hasPermission(["tms:tmsPlanOrder:query"]),
    }
  })
const permissionList = computed(() => {
  return {
    addBtn: hasPermission(["tms:tmsPlanOrder:add"]),
    delBtn: hasPermission(["tms:tmsPlanOrder:remove"]),
    editBtn: hasPermission(["tms:tmsPlanOrder:edit"]),
    viewBtn: hasPermission(["tms:tmsPlanOrder:query"]),
  }
})
  const data = reactive({
    form:<TmsPlanOrderI>{},
    queryParams:<TmsPlanOrderI&PageQueryInterface>{},
    page: <PagesInterface>{
      pageSize: 10,
      total: 0,
      currentPage: 1,
    },
    selectionList:[],
  })
  const {queryParams,form,page,selectionList} = toRefs(data);
  const option = ref({
    pageKey: 'TmsPlanOrder',
    rowKey: 'id',
    column: {
                                id: {
          label: '主键ID',
                  addDisplay : false,
        editDisplay : false,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                planCode: {
          label: '计划单号,系统自动生成唯一编号',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay :true,
        hide :false,
        search :true,
                      rules: [
              {
                required: true,
                message: "计划单号,系统自动生成唯一编号不能为空", trigger: "blur" }
            ],                  },
                                planName: {
const data = reactive({
  form: <TmsPlanOrderI>{},
  queryParams: <TmsPlanOrderI & PageQueryInterface>{},
  page: <PagesInterface>{
    pageSize: 10,
    total: 0,
    currentPage: 1,
  },
  selectionList: [],
})
const {queryParams, form, page, selectionList} = toRefs(data);
const option = ref({
  pageKey: 'TmsPlanOrder',
  rowKey: 'id',
  labelWidth: 120,
  searchLabelWidth: 120,
  group: [
    {
      label: '基本信息',
      prop: 'jbxx',
      column:{
        planCode: {
          label: '计划单号',
          addDisplay: false,
          editDisplay: true, disabled: true,
          viewDisplay: true,
          rules: [
            {
              required: true,
              message: "计划单号,系统自动生成唯一编号不能为空", trigger: "blur"
            }
          ],
        },
        planName: {
          label: '计划单名称',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay :true,
        hide :false,
        search :true,
                      rules: [
              {
                required: true,
                message: "计划单名称不能为空", trigger: "blur" }
            ],                  },
                                customerId: {
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: false,
          search: true,
          rules: [
            {
              required: true,
              message: "计划单名称不能为空", trigger: "blur"
            }
          ],
        },
        customerId: {
          label: '客户',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay :true,
        hide :false,
        search :true,
                      rules: [
              {
                required: true,
                message: "客户不能为空", trigger: "blur" }
            ],                  },
                                projectId: {
          label: '关联项目',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay :true,
        hide :false,
        search :true,
                  },
                                contractId: {
          label: '关联合同',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay :true,
        hide :false,
        search :true,
                  },
                                orderType: {
          label: '订单类型',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay :true,
        hide :false,
        search :true,
                      rules: [
              {
                required: true,
                message: "订单类型不能为空", trigger: "change"
                 }
            ],                  },
                                signType: {
          label: '签收类型',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay :true,
        hide :false,
        search :true,
                      rules: [
              {
                required: true,
                message: "签收类型不能为空", trigger: "change"
                 }
            ],                  },
                                vehicleProviderId: {
          label: '车辆服务商',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay :true,
        hide :false,
        search :true,
                      rules: [
              {
                required: true,
                message: "车辆服务商不能为空", trigger: "blur" }
            ],                  },
                                isUrgent: {
          label: '是否紧急',
                      type: 'radio', dicUrl: '/system/dict/data/type/sys_number_is',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay :true,
        hide :false,
        search :true,
                      rules: [
              {
                required: true,
                message: "是否紧急不能为空", trigger: "blur" }
            ],                  },
                                shipperId: {
          label: '发货人',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay :true,
        hide :false,
        search :true,
                      rules: [
              {
                required: true,
                message: "发货人不能为空", trigger: "blur" }
            ],                  },
                                shipperMobile: {
          label: '发货人手机号',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                shipperAddress: {
          label: '发货人地址',
                      type: 'textarea', minRows: 3, maxRows: 5,
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                shipperRegionCode: {
          label: '发货行政区域',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                receiverId: {
          label: '收货人',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay :true,
        hide :false,
        search :true,
                      rules: [
              {
                required: true,
                message: "收货人不能为空", trigger: "blur" }
            ],                  },
                                receiverMobile: {
          label: '收货人手机号',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                receiverAddress: {
          label: '收货人地址',
                      type: 'textarea', minRows: 3, maxRows: 5,
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                receiverRegionCode: {
          label: '收货行政区域',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                vehicleTypeIds: {
          label: '适用车型',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                planStartTime: {
          label: '计划开始时间',
                      type: 'date', valueFormat: 'YYYY-MM-DD',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                planEndTime: {
          label: '计划结束时间',
                      type: 'date', valueFormat: 'YYYY-MM-DD',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                planTotalCount: {
          label: '计划车次总数',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                allowOverDispatch: {
          label: '是否允许超派',
                      type: 'radio', dicUrl: '/system/dict/data/type/sys_number_is',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                      rules: [
              {
                required: true,
                message: "是否允许超派不能为空", trigger: "blur" }
            ],                  },
                                requiredLoadTime: {
          label: '要求装货时间',
                      type: 'date', valueFormat: 'YYYY-MM-DD',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                requiredUnloadTime: {
          label: '要求卸货时间',
                      type: 'date', valueFormat: 'YYYY-MM-DD',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                transportType: {
          label: '运输方式',
                      type: 'select', dataType:'string', dicUrl: '/system/dict/data/type/dispatch_transport_mode',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                loadMethod: {
          label: '配载方式',
                      type: 'select', dataType:'string', dicUrl: '/system/dict/data/type/load_method',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                status: {
          label: '状态',
                      type: 'select', dataType:'string', dicUrl: '/system/dict/data/type/tms_dispatch_order_status',
                  addDisplay : false,
        editDisplay : false,
        viewDisplay :true,
        hide :false,
        search :true,
                      rules: [
              {
                required: true,
                message: "状态不能为空", trigger: "change"
                 }
            ],                  },
                                createBy: {
          label: '创建人',
                  addDisplay : false,
        editDisplay : false,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                createTime: {
          label: '创建时间',
                      type: 'date', valueFormat: 'YYYY-MM-DD',
                  addDisplay : false,
        editDisplay : false,
        viewDisplay : false,
        hide : true,
        search : false,
                      rules: [
              {
                required: true,
                message: "创建时间不能为空", trigger: "blur" }
            ],                  },
                                updateBy: {
          label: '更新人',
                  addDisplay : false,
        editDisplay : false,
        viewDisplay : false,
        hide :false,
        search : false,
                  },
                                updateTime: {
          label: '更新时间',
                      type: 'date', valueFormat: 'YYYY-MM-DD',
                  addDisplay : false,
        editDisplay : false,
        viewDisplay : false,
        hide :false,
        search : false,
                      rules: [
              {
                required: true,
                message: "更新时间不能为空", trigger: "blur" }
            ],                  },
                                remark: {
          label: '备注',
                      type: 'textarea', minRows: 3, maxRows: 5,
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
          }
  })
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: false,
          search: true,
          rules: [
            {
              required: true,
              message: "客户不能为空", trigger: "change"
            }
          ],
          type: 'table',suffixIcon:'search',dataType: 'string',
          children:{
            border: true,
            searchMenuSpan: 5,
            column:{
              customerType: {
                label: '客户类型', minWidth: 120,
                type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/customer_type',
                search: true,
              },
              customerShortName: {
                label: '客户简称', minWidth: 130,
                search: true,
              },
              customerCode: {
                label: '客户编号',minWidth: 120,
                search: true,
              },
              contactName: {
                label: '联系人姓名',minWidth: 120,
              },
              signCompanyName: {
                label: '签约公司', minWidth: 150,
              },
            },
  const { tableData,pageF,rowSave,rowUpdate,rowDel,beforeOpen,searchChange,
    searchReset,selectionChange,onLoad,currentChange,sizeChange,handleDelete,handleExport,handleUpdate,refreshChange} = usePagePlus({
    form:form,
    option:option,
    queryParams:queryParams,
    idKey:'id',
    page:page.value,
    getListApi:listTmsPlanOrder,
    getDetailApi:getTmsPlanOrder,
    exportApi:exportTmsPlanOrder,
    deleteApi:delTmsPlanOrder,
    addApi:addTmsPlanOrder,
    updateApi:updateTmsPlanOrder,
    handleUpdateFunc:()=>{
      crudRef.value.rowEdit(selectionList.value[0]);
          },
          props:{
            label: 'customerShortName',
            value: 'id'
          },
          onLoad: ({ page, value, data }: { page: any, value: any, data: any }, callback:any) => {
            if (value){
              let id = value;
              if (Array.isArray(value)){
                id = value[0]
              }
              getTmsCustomerInfo(id).then(res=>{
                return callback(res.data||{})
              })
            }else{
              listTmsCustomerInfo({pageSize:page.pageSize,pageNum:page.currentPage,...data}).then(res=>{
                return callback({
                  total: res.total,
                  data: res.rows||[],
                })
              })
            }
          }
        },
        projectId: {
          label: '关联项目',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: false,
          search: true,
          type: 'table',suffixIcon:'search',dataType: 'string',
          children:{
            border: true,
            searchMenuSpan: 5,
            column:{
              projectName: {
                label: '项目名称', minWidth: 130,
                search: true,
              },
              projectCode: {
                label: '项目编号',minWidth: 120,
                search: true,
              },
              status: {
                label: '状态',dataType: 'string',
                type: 'radio', dicUrl: '/system/dict/data/type/data_status',
                addDisplay: false,minWidth: 150,
                editDisplay: false,
                viewDisplay: true,
                hide: false,
                search: true,
                rules: [
                  {
                    required: true,
                    message: "状态不能为空", trigger: "blur"
                  }
                ],
              },
            },
          },
          props:{
            label: 'projectName',
            value: 'id'
          },
          onLoad: ({ page, value, data }: { page: any, value: any, data: any }, callback:any) => {
            if (value){
              let id = value;
              if (Array.isArray(value)){
                id = value[0]
              }
              getTmsProject(id).then(res=>{
                return callback(res.data||{})
              })
            }else{
              listTmsProject({pageSize:page.pageSize,pageNum:page.currentPage,...data}).then(res=>{
                return callback({
                  total: res.total,
                  data: res.rows||[],
                })
              })
            }
          }
        },
        contractId: {
          label: '关联合同',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: false,
          search: true,
          type: 'table',suffixIcon:'search',dataType: 'string',
          children:{
            border: true,
            searchMenuSpan: 5,
            column:{
              contractCode: {
                label: '合同编号', minWidth: 130,
                search: true,
              },
              contractName: {
                label: '合同名称',minWidth: 120,
                search: true,
              },
              contractType: {
                label: '合同类型',minWidth: 120,
                type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/contract_type',
                search: true,
              },
              signDate: {
                label: '签约日期', minWidth: 150,
              },
              contractDate: {
                label: '合同期限',
                display: false,
                hide: false,
                search: false,minWidth:300,
                formatter: (row:any, column:any) => {
                  if (row.contractStartDate && row.contractEndDate) {
                    return row.contractStartDate + '~' + row.contractEndDate
                  }
                  return ''
                },
              },
            },
          },
          props:{
            label: 'contractName',
            value: 'id'
          },
          onLoad: ({ page, value, data }: { page: any, value: any, data: any }, callback:any) => {
            if (value){
              let id = value;
              if (Array.isArray(value)){
                id = value[0]
              }
              getTmsContract(id).then(res=>{
                return callback(res.data||{})
              })
            }else{
              listTmsContract({pageSize:page.pageSize,pageNum:page.currentPage,...data}).then(res=>{
                return callback({
                  total: res.total,
                  data: res.rows||[],
                })
              })
            }
          }
        },
        orderType: {
          label: '订单类型',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          type: 'select',dataType:'string', dicUrl: '/system/dict/data/type/order_type',
          hide: false,
          search: true,
          rules: [
            {
              required: true,
              message: "订单类型不能为空", trigger: "change"
            }
          ],
        },
        signType: {
          label: '签收类型',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: false,
          type: 'select',dataType:'string', dicUrl: '/system/dict/data/type/sign_type',
          search: true,
          rules: [
            {
              required: true,
              message: "签收类型不能为空", trigger: "change"
            }
          ],
        },
        vehicleProviderId: {
          label: '车辆服务商',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: true,
          rules: [
            {
              required: true,
              message: "车辆服务商不能为空", trigger: "blur"
            }
          ],
          type: 'table', suffixIcon: 'search',dataType: 'string',
          children: {
            border: true,
            searchLabelWidth: 100,
            searchMenuSpan: 5,
            column: {
              serviceCode: {
                label: '服务商编码', minWidth: 130,
                search: true,
              },
              serviceShortName: {
                label: '服务商简称', minWidth: 120,
                search: true,
              },
              serviceType: {
                label: '服务类型', multiple: true,
                type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/service_type',
                minWidth: 150,
              },
              isTransport: {
                label: '是否运输服务商',
                type: 'radio', dataType: 'string', dicUrl: '/system/dict/data/type/sys_number_is',
                minWidth: 150,
              },
              isStorage: {
                label: '是否仓储服务商',
                type: 'radio', dataType: 'string', dicUrl: '/system/dict/data/type/sys_number_is',
                minWidth: 150,
              },
              isExpress: {
                label: '是否快递服务商',
                type: 'radio', dataType: 'string', dicUrl: '/system/dict/data/type/sys_number_is',
                minWidth: 150,
              },
              contactName: {
                label: '联系人姓名', minWidth: 120,
              },
            },
          },
          props: {
            label: 'serviceShortName',
            value: 'id'
          },
          onLoad: ({page, value, data}: { page: any, value: any, data: any }, callback: any) => {
            if (value) {
              let id = value;
              if (Array.isArray(value)) {
                id = value[0]
              }
              getTmsServiceProvider(id).then(res => {
                return callback(res.data || {})
              })
            } else {
              listTmsServiceProvider({pageSize: page.pageSize, pageNum: page.currentPage, ...data}).then(res => {
                return callback({
                  total: res.total,
                  data: res.rows || [],
                })
              })
            }
          }
        },
        isUrgent: {
          label: '是否紧急',
          type: 'radio',dataType: 'string', dicUrl: '/system/dict/data/type/sys_number_is',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: false,
          search: true,
          rules: [
            {
              required: true,
              message: "是否紧急不能为空", trigger: "blur"
            }
          ],
        },
      }
    },
    handleSelectionChangeFunc:(selection:any)=>{
      selectionList.value = selection;
    {
      label: '发货人信息',
      prop: 'fhrxx',
      column: {
        shipperId: {
          label: '发货人',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: false,
          search: true,
          rules: [
            {
              required: true,
              message: "发货人不能为空", trigger: "blur"
            }
          ],
        },
        shipperMobile: {
          label: '发货人手机号',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: false,
          hide: true,
          search: false,
        },
        shipperRegionCode: {
          label: '发货行政区域',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: false,
          span:24,
          hide: true,
          search: false,
        },
        shipperAddress: {
          label: '发货人地址',
          type: 'textarea', minRows: 3, maxRows: 5,
          addDisplay: true,
          editDisplay: true,span:24,
          viewDisplay: false,
          hide: true,
          search: false,
        },
      }
    },
    {
      label: '收货人信息',
      prop: 'shxx',
      column: {
        receiverId: {
          label: '收货人',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: false,
          search: true,
          rules: [
            {
              required: true,
              message: "收货人不能为空", trigger: "blur"
            }
          ],
        },
        receiverMobile: {
          label: '收货人手机号',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: false,
          hide: true,
          search: false,
        },
        receiverRegionCode: {
          label: '收货行政区域',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: false,      span:24,
          hide: true,
          search: false,
        },
        receiverAddress: {
          label: '收货人地址',
          type: 'textarea', minRows: 3, maxRows: 5,
          span:24,
          addDisplay: true,
          editDisplay: true,
          viewDisplay: false,
          hide: true,
          search: false,
        },
      }
    },
    {
      label: '计划详情',
      prop: 'jhxq',
      column: {
        vehicleTypeIds: {
          label: '适用车型',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: false,
          hide: true,
          search: false,
        },
        planStartTime: {
          label: '计划开始时间',
          type: 'date', valueFormat: 'YYYY-MM-DD',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: false,
          hide: true,
          search: false,
        },
        planEndTime: {
          label: '计划结束时间',
          type: 'date', valueFormat: 'YYYY-MM-DD',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: false,
          hide: true,
          search: false,
        },
        planTotalCount: {
          label: '计划车次总数',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: false,
          hide: true,
          search: false,
        },
        allowOverDispatch: {
          label: '是否允许超派',
          type: 'radio', dicUrl: '/system/dict/data/type/sys_number_is',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: false,
          hide: true,
          search: false,
          rules: [
            {
              required: true,
              message: "是否允许超派不能为空", trigger: "blur"
            }
          ],
        },
        requiredLoadTime: {
          label: '要求装货时间',
          type: 'date', valueFormat: 'YYYY-MM-DD',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: false,
          hide: true,
          search: false,
        },
        requiredUnloadTime: {
          label: '要求卸货时间',
          type: 'date', valueFormat: 'YYYY-MM-DD',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: false,
          hide: true,
          search: false,
        },
        transportType: {
          label: '运输方式',
          type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/dispatch_transport_mode',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: false,
          hide: true,
          search: false,
        },
        loadMethod: {
          label: '配载方式',
          type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/load_method',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: false,
          hide: true,
          search: false,
        },
      }
    },
    {
      label: '其他信息',
      prop: 'qtxq',
      column: {
        status: {
          label: '状态',
          type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/tms_dispatch_order_status',
          addDisplay: false,
          editDisplay: false,
          viewDisplay: true,
          hide: false,
          search: true,
          rules: [
            {
              required: true,
              message: "状态不能为空", trigger: "change"
            }
          ],
        },
        createBy: {
          label: '创建人',
          addDisplay: false,
          editDisplay: false,
          viewDisplay: false,
          hide: true,
          search: false,
        },
        createTime: {
          label: '创建时间',
          type: 'date', valueFormat: 'YYYY-MM-DD',
          addDisplay: false,
          editDisplay: false,
          viewDisplay: false,
          hide: true,
          search: false,
          rules: [
            {
              required: true,
              message: "创建时间不能为空", trigger: "blur"
            }
          ],
        },
        updateBy: {
          label: '更新人',
          addDisplay: false,
          editDisplay: false,
          viewDisplay: false,
          hide: false,
          search: false,
        },
        updateTime: {
          label: '更新时间',
          type: 'date', valueFormat: 'YYYY-MM-DD',
          addDisplay: false,
          editDisplay: false,
          viewDisplay: false,
          hide: false,
          search: false,
          rules: [
            {
              required: true,
              message: "更新时间不能为空", trigger: "blur"
            }
          ],
        },
        remark: {
          label: '备注',
          type: 'textarea', minRows: 3, maxRows: 5,
          addDisplay: true,
          editDisplay: true,
          viewDisplay: false,
          hide: true,
          search: false,
        },
      }
    }
  })
  ],
  column: {
    // id: {
    //   label: '主键ID',
    //   addDisplay: false,
    //   editDisplay: false,
    //   viewDisplay: false,
    //   hide: true,
    //   search: false,
    // },
    planCode: {
      label: '计划单号',
      display: false,
      hide: false,
      search: true,
    },
    planName: {
      label: '计划单名称',
      display: false,
      hide: false,
      search: true,
    },
    customerName: {
      label: '客户',
      display: false,
      hide: false,
      search: true,
    },
    projectName: {
      label: '关联项目',
      display: false,
      hide: false,
      search: true,
    },
    contractName: {
      label: '关联合同',
      display: false,
      hide: false,
      search: true,
    },
    orderType: {
      label: '订单类型',
      display: false,
      hide: false,
      search: true,
    },
    signType: {
      label: '签收类型',
      display: false,
      hide: false,
      search: true,
    },
    vehicleProviderName: {
      label: '车辆服务商',
      display: false,
      hide: false,
      search: true,
    },
    isUrgent: {
      label: '是否紧急',
      type: 'radio',dataType:'string', dicUrl: '/system/dict/data/type/sys_number_is',
      display: false,
      hide: false,
      search: true,
    },
    shipperName: {
      label: '发货人',
      display: false,
      hide: false,
      search: true,
    },
    receiverName: {
      label: '收货人',
      display: false,
      hide: false,
      search: true,
    },
    status: {
      label: '状态',
      type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/tms_dispatch_order_status',
      display: false,
      hide: false,
      search: true,
    },
    updateBy: {
      label: '更新人',
      display: false,
      hide: false,
      search: false,
    },
    updateTime: {
      label: '更新时间',
      display: false,
      hide: false,
      search: false,
    },
  }
})
const {
  tableData,
  pageF,
  rowSave,
  rowUpdate,
  rowDel,
  beforeOpen,
  searchChange,
  searchReset,
  selectionChange,
  onLoad,
  currentChange,
  sizeChange,
  handleDelete,
  handleExport,
  handleUpdate,
  refreshChange
} = usePagePlus({
  form: form,
  option: option,
  queryParams: queryParams,
  idKey: 'id',
  page: page.value,
  getListApi: listTmsPlanOrder,
  getDetailApi: getTmsPlanOrder,
  exportApi: exportTmsPlanOrder,
  deleteApi: delTmsPlanOrder,
  addApi: addTmsPlanOrder,
  updateApi: updateTmsPlanOrder,
  handleUpdateFunc: () => {
    crudRef.value.rowEdit(selectionList.value[0]);
  },
  handleSelectionChangeFunc: (selection: any) => {
    selectionList.value = selection;
  }
})
</script>