wupengfei
6 天以前 41d9daf134e8f096eca81278967a2683f81ae03c
src/views/ServiceChargeManage/ServiceChargeDetail.vue
@@ -96,21 +96,21 @@
        </ProTableV2>
        <div class="chuck-add-or-edit-actions">
          <el-button class="chuck-add-or-edit-actions" @click="handleBack">取消</el-button>
          <!-- <el-button
          <el-button
            v-if="
              isSettlement &&
              (!form.auditStatus || form.auditStatus !== EnumTaskSettlementAuditStatus.Pass)
            "
            class="chuck-add-or-edit-actions"
            type="primary"
            @click="handleSubmit()"
            >结算申请</el-button
          > -->
            @click="handleSubmit('confirm')"
            >结算确认</el-button
          >
          <el-button
            v-if="isSettlement"
            v-if="isSettlement && form.auditStatus === EnumTaskSettlementAuditStatus.Pass"
            class="chuck-add-or-edit-actions"
            type="primary"
            @click="handleSubmit()"
            @click="handleSubmit('submit')"
            >提交结算</el-button
          >
        </div>
@@ -156,6 +156,7 @@
import {
  downloadFile,
  downloadFileByUrl,
  hiddenIDNumberForEnd4,
  paginateList,
  setOssFileName,
  setOSSLink,
@@ -177,7 +178,11 @@
    },
    extraProps: {
      hide: (row: API.GetSettlementTaskUsersQueryResultItem) =>
        row.settlementReceiveStatus !== SettlementReceiveStatus.Refunded,
        !(
          (row.settlementReceiveStatus === SettlementReceiveStatus.Refunded &&
            form.auditStatus === EnumTaskSettlementAuditStatus.Pass) ||
          form.auditStatus === EnumTaskSettlementAuditStatus.Wait
        ),
    },
  },
  reSettleBtn: {
@@ -332,6 +337,11 @@
      },
      timeoutFee: { type: 'money' },
      otherFee: { type: 'money' },
      identity: {
        formatter: (row: API.GetSettlementTaskUsersQueryResultItem) => {
          return hiddenIDNumberForEnd4(row.identity);
        },
      },
    },
  }
);
@@ -461,7 +471,7 @@
  }
}
function handleSubmit() {
function handleSubmit(submitStatus: string) {
  let actualList = form.settlementTaskUsers.filter((x) => x.actualSettlementAmount > 0);
  const actualSettlementAmount = actualList.reduce(
    (pre, cur) => pre + cur.actualSettlementAmount,
@@ -472,6 +482,7 @@
    id: id,
    name: form.name,
    code: form.code,
    submitStatus: submitStatus,
    settlementUserCount: actualList.length,
    actualSettlementAmount: actualSettlementAmount,
    settlementAmount: settlementAmount,
@@ -489,6 +500,7 @@
    id: '',
    name: '',
    code: '',
    submitStatus: '',
    settlementUserCount: 0,
    settlementAmount: 0,
    actualSettlementAmount: 0,
@@ -497,7 +509,37 @@
});
async function handleSettle() {
  sureTaskSettlementOrder();
  if (settleEditForm.submitStatus === 'confirm') {
    auditTaskSettlement();
  }
  if (settleEditForm.submitStatus === 'submit') {
    sureTaskSettlementOrder();
  }
}
async function auditTaskSettlement() {
  try {
    let params: API.AuditTaskSettlementCommand = {
      id: id,
      auditStatus: EnumTaskSettlementAuditStatus.Pass,
      rosters: form.settlementTaskUsers.map((item) => ({
        id: item.id,
        serviceFee: item.serviceFee,
        timeoutHours: item.timeoutHours,
        timeoutFee: item.timeoutFee,
        otherFee: item.otherFee,
        remark: item.remark,
        settlementAmount: item.settlementAmount,
      })),
    };
    let res = await taskServices.auditTaskSettlement(params);
    if (res) {
      Message.successMessage('操作成功');
      // eventContext.emit('sureTaskSettlementOrder');
      // handleBack();
      refetch();
    }
  } catch (error) {}
}
async function sureTaskSettlementOrder() {