From f251855688664c719801a535221df5876208fdbc Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 13 十一月 2025 16:13:37 +0800
Subject: [PATCH] fix: bug
---
src/views/ServiceChargeManage/ServiceChargeDetail.vue | 83 +++++++++++++++++++++++++++++------------
1 files changed, 58 insertions(+), 25 deletions(-)
diff --git a/src/views/ServiceChargeManage/ServiceChargeDetail.vue b/src/views/ServiceChargeManage/ServiceChargeDetail.vue
index d7df477..b4503cb 100644
--- a/src/views/ServiceChargeManage/ServiceChargeDetail.vue
+++ b/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"
@@ -90,7 +96,7 @@
</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)
@@ -98,10 +104,10 @@
class="chuck-add-or-edit-actions"
type="primary"
@click="handleSubmit()"
- >缁撶畻鐢宠</el-button
- > -->
+ >缁撶畻纭</el-button
+ >
<el-button
- v-if="isSettlement"
+ v-if="isSettlement && form.auditStatus === EnumTaskSettlementAuditStatus.Pass"
class="chuck-add-or-edit-actions"
type="primary"
@click="handleSubmit()"
@@ -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,28 +169,22 @@
const { closeViewPush } = useRouteView();
const eventContext = useGlobalEventContext();
-const operationBtns = defineOperationBtns([
- {
- data: {
- enCode: 'editBtn',
- name: '缂栬緫',
- },
+
+const operationBtnMap: Record<string, OperationBtnType> = {
+ editBtn: {
emits: {
onClick: (role) => openDialog(role),
},
extraProps: {
hide: (row: API.GetSettlementTaskUsersQueryResultItem) =>
!(
- form.settlementStatus === EnumTaskSettlementStatus.Fail ||
- form.settlementStatus === EnumTaskSettlementStatus.Part
+ (row.settlementReceiveStatus === SettlementReceiveStatus.Refunded &&
+ form.auditStatus === EnumTaskSettlementAuditStatus.Pass) ||
+ form.auditStatus === EnumTaskSettlementAuditStatus.Wait
),
},
},
- {
- data: {
- enCode: 'editBtn',
- name: '閲嶆柊缁撶畻',
- },
+ reSettleBtn: {
emits: {
onClick: (role) => againSureTaskSettlementOrderRoster(role),
},
@@ -194,7 +193,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) ?? '';
@@ -463,13 +466,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,
});
}
@@ -492,7 +501,31 @@
});
async function handleSettle() {
- sureTaskSettlementOrder();
+ auditTaskSettlement();
+}
+
+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();
+ }
+ } catch (error) {}
}
async function sureTaskSettlementOrder() {
--
Gitblit v1.9.1