wupengfei
2025-11-12 10089efc8a1417e20f741259d839883abf30d1c2
src/views/ServiceChargeManage/ServiceChargeDetail.vue
@@ -74,12 +74,18 @@
            >
              <el-button text type="primary" class="pro-table-operation-btn">导入</el-button>
            </BlFileUpload> -->
            <el-button type="primary" link @click="handleExport()">导出</el-button>
            <el-button
              v-if="checkSubModuleItemShow('pageButton', 'exportBtn')"
              type="primary"
              link
              @click="handleExport()"
              >导出</el-button
            >
          </template>
        </ProTableQueryFilterBar>
        <ProTableV2
          v-bind="proTableProps"
          :columns="SettlementListColumns"
          :columns="column"
          :operationBtns="operationBtns"
          :auto-height="false"
          ref="proTable"
@@ -139,7 +145,6 @@
  BlFileUpload,
  UploadUserFile,
} from '@bole-core/components';
import { SettlementListColumns } from './constants';
import { useQuery } from '@tanstack/vue-query';
import * as taskServices from '@/services/api/task';
import * as taskUserServices from '@/services/api/taskUser';
@@ -164,12 +169,9 @@
const { closeViewPush } = useRouteView();
const eventContext = useGlobalEventContext();
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'editBtn',
      name: '编辑',
    },
const operationBtnMap: Record<string, OperationBtnType> = {
  editBtn: {
    emits: {
      onClick: (role) => openDialog(role),
    },
@@ -178,11 +180,7 @@
        row.settlementReceiveStatus !== SettlementReceiveStatus.Refunded,
    },
  },
  {
    data: {
      enCode: 'editBtn',
      name: '重新结算',
    },
  reSettleBtn: {
    emits: {
      onClick: (role) => againSureTaskSettlementOrderRoster(role),
    },
@@ -191,7 +189,11 @@
        row.settlementReceiveStatus !== SettlementReceiveStatus.Refunded,
    },
  },
]);
};
const { column, operationBtns, checkSubModuleItemShow } = useAccess({
  operationBtnMap,
});
const route = useRoute();
const id = (route.params.id as string) ?? '';
const settlement = (route.query.settlement as string) ?? '';
@@ -460,13 +462,19 @@
}
function handleSubmit() {
  let actualList = form.settlementTaskUsers.filter((x) => x.actualSettlementAmount > 0);
  const actualSettlementAmount = actualList.reduce(
    (pre, cur) => pre + cur.actualSettlementAmount,
    0
  );
  const settlementAmount = actualList.reduce((pre, cur) => pre + cur.settlementAmount, 0);
  handleSettleEdit({
    id: id,
    name: form.name,
    code: form.code,
    settlementUserCount: form.settlementTaskUsers.length,
    actualSettlementAmount: form.actualSettlementAmount,
    settlementAmount: form.settlementAmount,
    settlementUserCount: actualList.length,
    actualSettlementAmount: actualSettlementAmount,
    settlementAmount: settlementAmount,
    settlementAccess: form.settlementAccess,
  });
}