zhangback
2025-11-06 9cc446b229c94c097e77e0a014919a3aa91a88eb
ui/admin-ui3/src/views/tms/tmsSettlementEntity/index.vue
@@ -1,5 +1,5 @@
<template>
  <basicContainer >
  <basicContainer>
    <avue-crud
        :option="option"
        :table-loading="pageF.loading"
@@ -50,301 +50,461 @@
</template>
<script setup name="tmsSettlementEntity" lang="ts">
  import {TmsSettlementEntityI,addTmsSettlementEntity, delTmsSettlementEntity, exportTmsSettlementEntity, getTmsSettlementEntity, listTmsSettlementEntity, updateTmsSettlementEntity} from "@/api/tms/tmsSettlementEntity";
  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 {
  TmsSettlementEntityI,
  addTmsSettlementEntity,
  delTmsSettlementEntity,
  exportTmsSettlementEntity,
  getTmsSettlementEntity,
  listTmsSettlementEntity,
  updateTmsSettlementEntity
} from "@/api/tms/tmsSettlementEntity";
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";
  const { proxy } = useCurrentInstance();
  const crudRef = ref();
const {proxy} = useCurrentInstance();
const crudRef = ref();
  const permissionList = computed(()=>{
    return {
      addBtn: hasPermission(["tms:tmsSettlementEntity:add"]),
      delBtn: hasPermission(["tms:tmsSettlementEntity:remove"]),
      editBtn: hasPermission(["tms:tmsSettlementEntity:edit"]),
      viewBtn: hasPermission(["tms:tmsSettlementEntity:query"]),
    }
  })
const permissionList = computed(() => {
  return {
    addBtn: hasPermission(["tms:tmsSettlementEntity:add"]),
    delBtn: hasPermission(["tms:tmsSettlementEntity:remove"]),
    editBtn: hasPermission(["tms:tmsSettlementEntity:edit"]),
    viewBtn: hasPermission(["tms:tmsSettlementEntity:query"]),
  }
})
  const data = reactive({
    form:<TmsSettlementEntityI>{},
    queryParams:<TmsSettlementEntityI&PageQueryInterface>{},
    page: <PagesInterface>{
      pageSize: 10,
      total: 0,
      currentPage: 1,
    },
    selectionList:[],
  })
  const {queryParams,form,page,selectionList} = toRefs(data);
  const option = ref({
    pageKey: 'TmsSettlementEntity',
    rowKey: 'id',
    column: {
                                id: {
          label: '系统编号',
                  addDisplay :true,
        editDisplay : false,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                customerType: {
const data = reactive({
  form: <TmsSettlementEntityI>{},
  queryParams: <TmsSettlementEntityI & PageQueryInterface>{},
  page: <PagesInterface>{
    pageSize: 10,
    total: 0,
    currentPage: 1,
  },
  selectionList: [],
})
const {queryParams, form, page, selectionList} = toRefs(data);
const option = ref({
  pageKey: 'TmsSettlementEntity',
  rowKey: 'id',
  labelWidth:150,
  searchLabelWidth: 120,
  group:[
    {
      label: '基本信息',
      prop: 'jbxx',
      column:{
        customerType: {
          label: '客户类型',
                      type: 'select', dataType:'string', dicUrl: '/system/dict/data/type/customer_type',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay :true,
        hide :false,
        search :true,
                      rules: [
              {
                required: true,
                message: "客户类型不能为空", trigger: "change"
                 }
            ],                  },
                                customerShortName: {
          type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/customer_type',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: false,minWidth:150,
          search: true,
          rules: [
            {
              required: true,
              message: "客户类型不能为空", trigger: "change"
            }
          ],
        },
        customerShortName: {
          label: '客户简称',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay :true,
        hide :false,
        search :true,
                      rules: [
              {
                required: true,
                message: "客户简称不能为空", trigger: "blur" }
            ],                  },
                                customerCode: {
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: false,minWidth:150,
          search: true,
          rules: [
            {
              required: true,
              message: "客户简称不能为空", trigger: "blur"
            }
          ],
        },
        customerCode: {
          label: '客户编号',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay :true,
        hide :false,
        search :true,
                      rules: [
              {
                required: true,
                message: "客户编号不能为空", trigger: "blur" }
            ],                  },
                                customerFullName: {
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: false,minWidth:150,
          search: true,
          rules: [
            {
              required: true,
              message: "客户编号不能为空", trigger: "blur"
            }
          ],
        },
        customerFullName: {
          label: '客户全称',
                      type: 'textarea', minRows: 3, maxRows: 5,
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                businessRegistrationNumber: {
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: true,
          search: false,
        },
        businessRegistrationNumber: {
          label: '经营登记证件号码',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                address: {
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: true,
          search: false,
        },
        address: {
          label: '地址',
                      type: 'textarea', minRows: 3, maxRows: 5,
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                contactName: {
          label: '联系人姓名',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay :true,
        hide :false,
        search :true,
                      rules: [
              {
                required: true,
                message: "联系人姓名不能为空", trigger: "blur" }
            ],                  },
                                contactPhone: {
          label: '联系人电话',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                contactEmail: {
          label: '联系人邮箱',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                businessContactName: {
          label: '商务对接人名称',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay :true,
        hide :false,
        search :true,
                      rules: [
              {
                required: true,
                message: "商务对接人名称不能为空", trigger: "blur" }
            ],                  },
                                businessContactPhone: {
          label: '商务对接人电话',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                businessContactEmail: {
          label: '商务对接人邮箱',
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        search : false,
                  },
                                creditRating: {
          label: '客户信用评级',
                      type: 'select', dataType:'string', dicUrl: '/system/dict/data/type/sys_credit_rating',
                  addDisplay : false,
        editDisplay : false,
        viewDisplay :true,
        hide :false,
        search :true,
                  },
                                creditLimitAmount: {
          label: '信用额度',
                  addDisplay : false,
        editDisplay : false,
        viewDisplay :true,
        hide :false,
        search :true,
                  },
                                creditLimitQuantity: {
          label: '信用额度',
                  addDisplay : false,
        editDisplay : false,
        viewDisplay :true,
        hide :false,
        search :true,
                  },
                                operatingStatus: {
          label: '经营状态',
                      type: 'select', dataType:'string', dicUrl: '/system/dict/data/type/business_status',
                  addDisplay : false,
        editDisplay : false,
        viewDisplay :true,
        hide :false,
        search :true,
                      rules: [
              {
                required: true,
                message: "经营状态不能为空", trigger: "change"
                 }
            ],                  },
                                contractStatus: {
          label: '合同状态',
                      type: 'select', dataType:'string', dicUrl: '/system/dict/data/type/contract_status',
                  addDisplay : false,
        editDisplay : false,
        viewDisplay :true,
        hide :false,
        search :true,
                      rules: [
              {
                required: true,
                message: "合同状态不能为空", trigger: "change"
                 }
            ],                  },
                                dataStatus: {
          label: '数据状态',
                      type: 'select', dataType:'string', dicUrl: '/system/dict/data/type/data_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,
                  },
                                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,
                  },
                                remark: {
          label: '备注',
                      type: 'textarea', minRows: 3, maxRows: 5,
                  addDisplay :true,
        editDisplay :true,
        viewDisplay : false,
        hide : true,
        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:listTmsSettlementEntity,
    getDetailApi:getTmsSettlementEntity,
    exportApi:exportTmsSettlementEntity,
    deleteApi:delTmsSettlementEntity,
    addApi:addTmsSettlementEntity,
    updateApi:updateTmsSettlementEntity,
    handleUpdateFunc:()=>{
      crudRef.value.rowEdit(selectionList.value[0]);
          type: 'textarea', minRows: 3, maxRows: 5,
          addDisplay: true,
          editDisplay: true,span:24,
          viewDisplay: true,
          hide: true,
          search: false,
        },
      }
    },
    handleSelectionChangeFunc:(selection:any)=>{
      selectionList.value = selection;
    {
      label: '联系人信息',
      prop: 'lxrxx',
      column: {
        contactName: {
          label: '联系人姓名',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: false,minWidth:150,
          search: true,
          rules: [
            {
              required: true,
              message: "联系人姓名不能为空", trigger: "blur"
            }
          ],
        },
        contactPhone: {
          label: '联系人电话',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: true,
          search: false,
        },
        contactEmail: {
          label: '联系人邮箱',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: true,
          search: false,
        },
      }
    },
    {
      label: '商务对接信息',
      prop: 'swjdxx',
      column: {
        businessContactName: {
          label: '商务对接人名称',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: false,minWidth:150,labelWidth:140,
          search: true,
          rules: [
            {
              required: true,
              message: "商务对接人名称不能为空", trigger: "blur"
            }
          ],
        },
        businessContactPhone: {
          label: '商务对接人电话',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: true,
          search: false,
        },
        businessContactEmail: {
          label: '商务对接人邮箱',
          addDisplay: true,
          editDisplay: true,
          viewDisplay: true,
          hide: true,
          search: false,
        },
      }
    },
    {
      label: '信用信息',
      prop: 'xyxx',
      addDisplay: false,
      editDisplay: false,
      viewDisplay: true,
      column: {
        creditRating: {
          label: '客户信用评级',
          type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/sys_credit_rating',
          addDisplay: false,
          editDisplay: false,
          viewDisplay: true,
          hide: false,minWidth:150,
          search: true,
        },
        creditLimitAmount: {
          label: '信用额度',
          addDisplay: false,
          editDisplay: false,
          viewDisplay: true,
          hide: false,minWidth:150,
          search: true,
        },
        creditLimitQuantity: {
          label: '信用额度',
          addDisplay: false,
          editDisplay: false,
          viewDisplay: true,
          hide: false,minWidth:150,
          search: true,
        },
        operatingStatus: {
          label: '经营状态',
          type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/business_status',
          addDisplay: false,
          editDisplay: false,
          viewDisplay: true,
          hide: false,minWidth:150,
          search: true,
          rules: [
            {
              required: true,
              message: "经营状态不能为空", trigger: "change"
            }
          ],
        },
        contractStatus: {
          label: '合同状态',
          type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/contract_status',
          addDisplay: false,
          editDisplay: false,
          viewDisplay: true,
          hide: false,minWidth:150,
          search: true,
          rules: [
            {
              required: true,
              message: "合同状态不能为空", trigger: "change"
            }
          ],
        },
      }
    },
    {
      label: '其他信息',
      prop: 'qtyxx',
      column: {
        dataStatus: {
          label: '数据状态',
          type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/data_status',
          addDisplay: false,
          editDisplay: false,
          viewDisplay: true,
          hide: false,minWidth:150,
          search: true,
          rules: [
            {
              required: true,
              message: "数据状态不能为空", trigger: "change"
            }
          ],
        },
        createBy: {
          label: '创建人',
          addDisplay: false,
          editDisplay: false,
          viewDisplay: true,
          hide: true,
          search: false,
        },
        createTime: {
          label: '创建时间',
          type: 'date', valueFormat: 'YYYY-MM-DD',
          addDisplay: false,
          editDisplay: false,
          viewDisplay: true,
          hide: true,
          search: false,
        },
        updateBy: {
          label: '更新人',
          addDisplay: false,
          editDisplay: false,
          viewDisplay: true,
          hide: false,minWidth:150,
          search: false,
        },
        updateTime: {
          label: '更新时间',
          type: 'date', valueFormat: 'YYYY-MM-DD',
          addDisplay: false,
          editDisplay: false,
          viewDisplay: true,
          hide: false,minWidth:150,
          search: false,
        },
        remark: {
          label: '备注',
          type: 'textarea', minRows: 3, maxRows: 5,
          addDisplay: true,
          editDisplay: true,span:24,
          viewDisplay: true,
          hide: true,
          search: false,
        },
      }
    }
  })
  ],
  column: {
    customerType: {
      label: '客户类型',
      type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/customer_type',
      display: false,
      hide: false,minWidth:150,
      search: true,
    },
    customerShortName: {
      label: '客户简称',
      display: false,
      hide: false,minWidth:150,
      search: true,
    },
    customerCode: {
      label: '客户编号',
      display: false,
      hide: false,minWidth:150,
      search: true,
    },
    contactName: {
      label: '联系人姓名',
      display: false,
      hide: false,minWidth:150,
      search: true,
    },
    businessContactName: {
      label: '商务对接人名称',
      display: false,
      hide: false,minWidth:150,labelWidth:140,
      search: true,
      rules: [
        {
          required: true,
          message: "商务对接人名称不能为空", trigger: "blur"
        }
      ],
    },
    creditRating: {
      label: '客户信用评级',
      type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/sys_credit_rating',
      display: false,
      hide: false,minWidth:150,
      search: true,
    },
    creditLimitAmount: {
      label: '信用额度',
      display: false,
      hide: false,minWidth:150,
      search: true,
    },
    creditLimitQuantity: {
      label: '信用额度',
      display: false,
      hide: false,minWidth:150,
      search: true,
    },
    operatingStatus: {
      label: '经营状态',
      type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/business_status',
      display: false,
      hide: false,minWidth:150,
      search: true,
    },
    contractStatus: {
      label: '合同状态',
      type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/contract_status',
      display: false,
      hide: false,minWidth:150,
      search: true,
    },
    dataStatus: {
      label: '数据状态',
      type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/data_status',
      display: false,
      hide: false,minWidth:150,
      search: true,
      rules: [
        {
          required: true,
          message: "数据状态不能为空", trigger: "change"
        }
      ],
    },
    updateBy: {
      label: '更新人',
      display: false,
      hide: false,minWidth:150,
      search: false,
    },
    updateTime: {
      label: '更新时间',
      display: false,
      hide: false,minWidth:180,
      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: listTmsSettlementEntity,
  getDetailApi: getTmsSettlementEntity,
  exportApi: exportTmsSettlementEntity,
  deleteApi: delTmsSettlementEntity,
  addApi: addTmsSettlementEntity,
  updateApi: updateTmsSettlementEntity,
  handleUpdateFunc: () => {
    crudRef.value.rowEdit(selectionList.value[0]);
  },
  handleSelectionChangeFunc: (selection: any) => {
    selectionList.value = selection;
  }
})
</script>