zhengyiming
2 天以前 852c9a7af36bcffb0c37cea6224c5391b5eac398
src/views/ServiceChargeManage/ServiceChargeDetail.vue
@@ -1,6 +1,6 @@
<template>
  <LoadingLayout :loading="isLoading">
    <AppContainer>
    <AppScrollContainer>
      <ChunkCell title="结算单详情">
        <ProForm :model="form" ref="formRef" label-width="120px" :is-read="true">
          <ProFormCol>
@@ -84,36 +84,32 @@
          :auto-height="false"
          ref="proTable"
          :tableProps="{
            maxHeight: '250px',
            maxHeight: '400px',
          }"
        >
        </ProTableV2>
        <div class="chuck-add-or-edit-actions">
          <el-button class="chuck-add-or-edit-actions" @click="handleBack">取消</el-button>
          <el-button
            v-if="form.auditStatus === EnumTaskSettlementAuditStatus.Wait"
            v-if="
              isSettlement &&
              (!form.auditStatus || form.auditStatus !== EnumTaskSettlementAuditStatus.Pass)
            "
            class="chuck-add-or-edit-actions"
            type="primary"
            @click="handleSubmit()"
            >结算申请</el-button
          >
          <el-button
            v-if="form.auditStatus === EnumTaskSettlementAuditStatus.Pass"
            v-if="isSettlement && form.auditStatus === EnumTaskSettlementAuditStatus.Pass"
            class="chuck-add-or-edit-actions"
            type="primary"
            @click="handleSubmit()"
            >提交结算</el-button
          >
          <el-button
            v-if="isSettlement"
            class="chuck-add-or-edit-actions"
            type="primary"
            @click="handleSubmit()"
            >结算</el-button
          >
        </div>
      </ChunkCell>
    </AppContainer>
    </AppScrollContainer>
    <EditAccountInfoDialog v-bind="dialogProps"></EditAccountInfoDialog>
    <SettleDetailDialog v-bind="dialogSettleProps" />
  </LoadingLayout>
@@ -122,6 +118,7 @@
import {
  LoadingLayout,
  AppContainer,
  AppScrollContainer,
  ChunkCell,
  ProForm,
  ProFormItemV2,
@@ -200,6 +197,8 @@
  isSettlement: isSettlement.value,
  auditStatus: '' as any as EnumTaskSettlementAuditStatus,
  timeoutServiceFee: 0,
});
const BaseState = {
@@ -234,6 +233,7 @@
      form.code = res?.detail?.code;
      form.settlementAccess = res?.detail?.settlementAccess;
      form.auditStatus = res?.detail?.auditStatus;
      form.timeoutServiceFee = res?.detail?.timeoutServiceFee ?? 0;
      // form.settlementOrderName = setOssFileName(res?.detail?.settlementOrderName);
      // form.settlementOrderTime = res?.detail?.settlementOrderTime ?? '';
    }
@@ -304,6 +304,13 @@
      settlementAmount: { type: 'money' },
      actualSettlementAmount: { type: 'money' },
      settlementReceiveStatus: { type: 'enum', valueEnum: SettlementReceiveStatusText },
      serviceFee: { type: 'money' },
      timeoutHours: {
        formatter: (row: API.GetSettlementTaskUsersQueryResultItem) =>
          row.timeoutHours ? `${row.timeoutHours}小时` : '',
      },
      timeoutFee: { type: 'money' },
      otherFee: { type: 'money' },
    },
  }
);
@@ -316,9 +323,15 @@
    actualSettlementAmount: null as number,
    receiveAccount: '',
    bank: '',
    totalWorkHours: null as number,
    // totalWorkHours: null as number,
    settlementAccess: form.settlementAccess,
    // bankBranch: '',
    timeoutServiceFee: 0,
    serviceFee: null as number,
    timeoutHours: null as number,
    timeoutFee: null as number,
    otherFee: null as number,
    remark: '',
  },
});
@@ -330,23 +343,36 @@
      actualSettlementAmount: row?.actualSettlementAmount ?? null,
      receiveAccount: row?.receiveAccount ?? '',
      bank: row?.bank ?? '',
      totalWorkHours: null as number,
      // totalWorkHours: row?.totalWorkHours ?? null,
      settlementAccess: form.settlementAccess,
      // bankBranch: row?.bankBranch ?? '',
      timeoutServiceFee: form.timeoutServiceFee,
      serviceFee: row?.serviceFee ?? 0,
      timeoutHours: row?.timeoutHours ?? null,
      timeoutFee: row?.timeoutFee ?? null,
      otherFee: row?.otherFee ?? null,
      remark: row?.remark ?? '',
    });
  }
}
async function handleAddOrEdit() {
  try {
    const settlementAmount =
      (editForm.timeoutFee ?? 0) + (editForm.serviceFee ?? 0) + (editForm.otherFee ?? 0);
    let params: API.EditTaskSettlementOrderRosterCommand = {
      id: editForm.id,
      settlementAmount: editForm.settlementAmount,
      settlementAmount: settlementAmount,
      actualSettlementAmount: editForm.actualSettlementAmount,
      receiveAccount: editForm.receiveAccount,
      bank: editForm.bank,
      totalWorkHours: editForm.totalWorkHours,
      // totalWorkHours: editForm.totalWorkHours,
      // bankBranch: editForm.bankBranch,
      serviceFee: editForm.serviceFee,
      timeoutHours: editForm.timeoutHours,
      timeoutFee: editForm.timeoutFee,
      otherFee: editForm.otherFee,
      remark: editForm.remark,
    };
    let res = await taskServices.editTaskSettlementOrderRoster(params);
    if (res) {
@@ -388,6 +414,7 @@
              bank: '所属银行',
              bankBranch: '所属支行',
              receiveAccount: '收款账户',
              totalWorkHours: '累计工时(小时)',
              settlementAmount: '结算金额',
              actualSettlementAmount: '实发金额',
              errorMessage: '错误信息',
@@ -409,6 +436,7 @@
    code: form.code,
    settlementUserCount: form.settlementTaskUsers.length,
    actualSettlementAmount: form.actualSettlementAmount,
    settlementAmount: form.settlementAmount,
    settlementAccess: form.settlementAccess,
  });
}
@@ -424,6 +452,7 @@
    name: '',
    code: '',
    settlementUserCount: 0,
    settlementAmount: 0,
    actualSettlementAmount: 0,
    settlementAccess: '' as any as EnumEnterpriseWalletAccess,
  },
@@ -489,6 +518,10 @@
    }
  }
}
.chuck-add-or-edit-actions {
  margin-bottom: 20px;
}
</style>
<style lang="scss">
.text-over-tooltip-content {