wujianwei
6 天以前 89fd2cf7202c321512c2ea699a3a220a7138ed44
ui/admin-ui3/src/views/cwgl/pendingSettlementBusiness/index.vue
@@ -191,7 +191,7 @@
      label: '客户名称',
      search: true,
      minWidth: 220,
      showOverflowTooltip: true,
      type: 'select',           // 设置为下拉框类型
      dicData: [], // 使用 selectCustomName 作为数据源
      disabled: false  // 根据需要设置是否禁用
@@ -204,14 +204,28 @@
    vehicleType: {
      label: '车型', search: true,
    },
    // createdTime: {
    //   label: '下单时间',
    //   display: false,
    //   search: true,
    //   type: 'date',
    //   format: 'YYYY-MM-DD',
    //   searchSpan: 5, minWidth: 120,
    //   valueFormat: 'YYYY-MM-DD',
    // },
    createdTimeArray: {
      label: '下单时间',
      search: true,
      searchRange: true,
      type: 'daterange',
      startPlaceholder: '开始日期',
      endPlaceholder: '结束日期',
      valueFormat: 'YYYY-MM-DD',
      hide: true
    },
    createdTime: {
      label: '下单时间',
      display: false,
      search: true,
      type: 'date',
      format: 'YYYY-MM-DD',
      searchSpan: 5, minWidth: 120,
      valueFormat: 'YYYY-MM-DD',
      minWidth: 180,
    },
    operationMode: {
      label: '运营模式',
@@ -246,15 +260,18 @@
    carrierName: {
      label: '承运商',
      minWidth: 210,
      minWidth: 220,
      showOverflowTooltip: true,
    },
    departureLocation: {
      label: '出发地',
      minWidth: 200,
      minWidth: 220,
      showOverflowTooltip: true,
    },
    arrivalLocation: {
      label: '目的地',
      minWidth: 200,
      minWidth: 220,
      showOverflowTooltip: true,
    },
@@ -308,17 +325,26 @@
      minWidth: 120,
    },
      relatedBillName: {
      label: '关联联账单名称',
    isCreate: {
      label: '是否已入账', dataType: 'string',
      type: 'select',
      fixed: 'right',
      minWidth: 120,
      search: true,
      dicUrl: '/system/dict/data/type/sys_whether_type',
    },
    billName: {
      label: '关联账单名称',
      fixed: 'right',
      minWidth: 120,
      search: true,
    },
    isIncomeMatched: {
      label: '是否匹配收入',
      type: 'select',
      dataType: 'string',
      minWidth: 120,
      dicUrl: '/system/dict/data/type/sys_matching_status',
    },
    isCostMatched: {
@@ -328,14 +354,8 @@
      minWidth: 120,
      dicUrl: '/system/dict/data/type/sys_matching_status',
    },
    isCreate: {
      label: '是否已入账', dataType: 'string',
      type: 'select',
      fixed: 'right',
      minWidth: 120,
      dicUrl: '/system/dict/data/type/sys_whether_type',
    },
    relatedBillStatus: {
      minWidth: 120,
      label: '关联账单状态',
@@ -442,17 +462,37 @@
      crudRef.value.rowEdit(selectionList.value[0]);
    },
    handleSelectionChangeFunc: (selection: any) => {
      if (selection.every((item: any) => item.isCreate == '0')) {
        generateDisabled.value = false;
      } else {
        generateDisabled.value = true;
        if (selection.length > 0) {
          proxy.$message.warning('请选择未入账的记录');
      if (selection.length > 0) {
        // 检查是否所有记录都是未入账状态(isCreate == '0')
        const allNotCreated = selection.every((item: any) => item.isCreate == '0');
        // 检查是否所有记录的客户名称都相同
        const sameCustomer = selection.every((item: any) => item.customerName === selection[0].customerName);
        if (allNotCreated && sameCustomer) {
          generateDisabled.value = false;
        } else {
          generateDisabled.value = true;
          if (!allNotCreated) {
            proxy.$message.warning('请选择未入账的记录');
          } else if (!sameCustomer) {
            proxy.$message.warning('请选择相同客户名称的记录');
          }
        }
      } else {
        generateDisabled.value = false;
      }
      selectionList.value = selection;
      selectionList.value = selection;
    },
    getBeginListFunc: (params = {}) => {
      // 创建新参数对象
      let newParams = { ...params };
      newParams = proxy.addDateRangeNew(newParams, newParams?.createdTimeArray, 'createdTime') || [];
      delete newParams.createdTimeArray;
      queryParams.value = newParams;
      return newParams;
    }
  })
const dialog = reactive({
  visible: false,
@@ -540,7 +580,7 @@
  dispatchNo.value = row.dispatchNo;
  dialog.title = '费用明细';
  if (activeName.value == 'first') {
    listEstimatedReceivable({ dispatchNo: row.dispatchNo, feeType: 1 }).then((res) => {
    listEstimatedReceivable({ dispatchNo: row.dispatchNo, feeType: 1, isConfirmed: 1 }).then((res) => {
      if (res.code === 200) {
        dialog.detail = true;
        tableDataList.value = res.rows || [];
@@ -548,7 +588,7 @@
    })
  } else if (activeName.value == 'second') {
    // 这里可以添加查询收入相关的逻辑
    listEstimatedReceivable({ dispatchNo: row.dispatchNo, feeType: 0 }).then((res) => {
    listEstimatedReceivable({ dispatchNo: row.dispatchNo, feeType: 0, isConfirmed: 1 }).then((res) => {
      if (res.code === 200) {
        dialog.detail = true;
        tableDataList.value = res.rows || [];
@@ -557,7 +597,7 @@
  }
}
const getListVable = (dispatchNo, feeType) => {
  listEstimatedReceivable({ dispatchNo: dispatchNo, feeType: feeType }).then((res) => {
  listEstimatedReceivable({ dispatchNo: dispatchNo, feeType: feeType, isConfirmed: 1 }).then((res) => {
    if (res.code === 200) {
      tableDataList.value = res.rows || [];
    }
@@ -595,3 +635,13 @@
  return sums;
}
</script>
<style>
:deep(.avue-crud__table) {
  overflow-y: auto;
}
:deep(.el-scrollbar__bar.is-horizontal) {
  pointer-events: auto;
}
</style>