From dbfe744e5136c1d5977b233a8f12ed0efccc4d3c Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期日, 19 十月 2025 20:01:44 +0800
Subject: [PATCH] feat: 1.2.0.1
---
src/views/ServiceChargeManage/ServiceChargeDetail.vue | 111 ++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 88 insertions(+), 23 deletions(-)
diff --git a/src/views/ServiceChargeManage/ServiceChargeDetail.vue b/src/views/ServiceChargeManage/ServiceChargeDetail.vue
index bbaaa59..c6b8b7e 100644
--- a/src/views/ServiceChargeManage/ServiceChargeDetail.vue
+++ b/src/views/ServiceChargeManage/ServiceChargeDetail.vue
@@ -91,11 +91,21 @@
<div class="chuck-add-or-edit-actions">
<el-button class="chuck-add-or-edit-actions" @click="handleBack">鍙栨秷</el-button>
<el-button
- v-if="isSettlement"
+ v-if="
+ isSettlement &&
+ (!form.auditStatus || form.auditStatus !== EnumTaskSettlementAuditStatus.Pass)
+ "
class="chuck-add-or-edit-actions"
type="primary"
@click="handleSubmit()"
- >缁撶畻</el-button
+ >缁撶畻鐢宠</el-button
+ >
+ <el-button
+ v-if="isSettlement && form.auditStatus === EnumTaskSettlementAuditStatus.Pass"
+ class="chuck-add-or-edit-actions"
+ type="primary"
+ @click="handleSubmit()"
+ >鎻愪氦缁撶畻</el-button
>
</div>
</ChunkCell>
@@ -134,7 +144,15 @@
import EditAccountInfoDialog from './components/EditAccountInfoDialog.vue';
import SettleDetailDialog from './components/SettleDetailDialog.vue';
import { Message } from '@bole-core/core';
-import { downloadFile, paginateList, setOssFileName, toThousand } from '@/utils';
+import { SettlementReceiveStatusText, EnumTaskSettlementAuditStatus } from '@/constants';
+import {
+ downloadFile,
+ downloadFileByUrl,
+ paginateList,
+ setOssFileName,
+ setOSSLink,
+ toThousand,
+} from '@/utils';
import _ from 'lodash';
defineOptions({
@@ -152,12 +170,15 @@
emits: {
onClick: (role) => openDialog(role),
},
+ extraProps: {
+ hide: () => !isSettlement.value,
+ },
},
]);
const route = useRoute();
const id = (route.params.id as string) ?? '';
const settlement = (route.query.settlement as string) ?? '';
-
+// const settlementAccess = route.query.settlementAccess ?? '';
const isSettlement = computed(() => !!settlement);
const form = reactive({
@@ -170,6 +191,11 @@
settlementTaskUsers: [] as API.GetSettlementTaskUsersQueryResultItem[],
settlementUrl: [] as UploadUserFile[],
+
+ settlementAccess: '' as any as EnumEnterpriseWalletAccess,
+ isSettlement: isSettlement.value,
+
+ auditStatus: '' as any as EnumTaskSettlementAuditStatus,
});
const BaseState = {
@@ -178,15 +204,21 @@
const state = reactive({ ...BaseState });
-const { isLoading } = useQuery({
- queryKey: ['taskUserServices/getSettlementTaskUsers', id],
+const { isLoading, refetch } = useQuery({
+ queryKey: ['taskUserServices/getSettlementTaskUsers', id, toRef(form, 'isSettlement')],
queryFn: async () => {
- return await taskUserServices.getSettlementTaskUsers(
- { id: id },
- {
- showLoading: false,
- }
- );
+ let params: API.APIgetSettlementTaskUsersParams = {
+ id: id,
+ };
+ // if (form.settlementAccess) {
+ // params.settlementAccess = Number(form.settlementAccess);
+ // }
+ if (form.isSettlement) {
+ params.isImport = true;
+ }
+ return await taskUserServices.getSettlementTaskUsers(params, {
+ showLoading: false,
+ });
},
placeholderData: () => ({} as API.GetSettlementTaskUsersQueryResult),
onSuccess(res) {
@@ -196,8 +228,10 @@
form.settlementAmount = res?.detail?.settlementAmount ?? 0;
form.actualSettlementAmount = res?.detail?.actualSettlementAmount ?? 0;
form.code = res?.detail?.code;
- form.settlementOrderName = setOssFileName(res?.detail?.settlementOrderName);
- form.settlementOrderTime = res?.detail?.settlementOrderTime ?? '';
+ form.settlementAccess = res?.detail?.settlementAccess;
+ form.auditStatus = res?.detail?.auditStatus;
+ // form.settlementOrderName = setOssFileName(res?.detail?.settlementOrderName);
+ // form.settlementOrderTime = res?.detail?.settlementOrderTime ?? '';
}
// if (res?.errors?.length > 0) {
// Message.tipMessage('瀛樺湪瀵煎叆閿欒鐨勬暟鎹紝鏄惁瀵煎嚭锛�').then(() => {
@@ -265,6 +299,7 @@
settlementTime: { type: 'date' },
settlementAmount: { type: 'money' },
actualSettlementAmount: { type: 'money' },
+ settlementReceiveStatus: { type: 'enum', valueEnum: SettlementReceiveStatusText },
},
}
);
@@ -277,7 +312,9 @@
actualSettlementAmount: null as number,
receiveAccount: '',
bank: '',
- bankBranch: '',
+ totalWorkHours: null as number,
+ settlementAccess: form.settlementAccess,
+ // bankBranch: '',
},
});
@@ -289,7 +326,9 @@
actualSettlementAmount: row?.actualSettlementAmount ?? null,
receiveAccount: row?.receiveAccount ?? '',
bank: row?.bank ?? '',
- bankBranch: row?.bankBranch ?? '',
+ totalWorkHours: row?.totalWorkHours ?? null,
+ settlementAccess: form.settlementAccess,
+ // bankBranch: row?.bankBranch ?? '',
});
}
}
@@ -302,11 +341,14 @@
actualSettlementAmount: editForm.actualSettlementAmount,
receiveAccount: editForm.receiveAccount,
bank: editForm.bank,
- bankBranch: editForm.bankBranch,
+ totalWorkHours: editForm.totalWorkHours,
+ // bankBranch: editForm.bankBranch,
};
let res = await taskServices.editTaskSettlementOrderRoster(params);
if (res) {
Message.successMessage('鎿嶄綔鎴愬姛');
+ form.isSettlement = false;
+ refetch();
getList(paginationState.pageIndex);
}
} catch (error) {}
@@ -327,9 +369,33 @@
let res = await taskServices.importTaskSettlementOrderRosters(params);
if (res) {
Message.successMessage('鎿嶄綔鎴愬姛');
+ form.isSettlement = false;
+ refetch();
getList(paginationState.pageIndex);
+ if (res?.errors?.length > 0) {
+ Message.tipMessage('瀛樺湪瀵煎叆閿欒鐨勬暟鎹紝鏄惁瀵煎嚭锛�').then(() => {
+ XLSXUtils.exportToXLSX({
+ workbookDataList: res.errors,
+ fileName: '缁撶畻瀵煎叆-閿欒鏁版嵁',
+ workbookHeaderMap: {
+ name: '濮撳悕',
+ identity: '韬唤璇佸彿',
+ contactPhoneNumber: '鎵嬫満鍙�',
+ bank: '鎵�灞為摱琛�',
+ bankBranch: '鎵�灞炴敮琛�',
+ receiveAccount: '鏀舵璐︽埛',
+ settlementAmount: '缁撶畻閲戦',
+ actualSettlementAmount: '瀹炲彂閲戦',
+ errorMessage: '閿欒淇℃伅',
+ },
+ });
+ });
+ }
}
- } catch (error) {}
+ } catch (error) {
+ } finally {
+ form.settlementUrl = [] as UploadUserFile[];
+ }
}
function handleSubmit() {
@@ -339,6 +405,7 @@
code: form.code,
settlementUserCount: form.settlementTaskUsers.length,
actualSettlementAmount: form.actualSettlementAmount,
+ settlementAccess: form.settlementAccess,
});
}
@@ -354,6 +421,7 @@
code: '',
settlementUserCount: 0,
actualSettlementAmount: 0,
+ settlementAccess: '' as any as EnumEnterpriseWalletAccess,
},
});
@@ -385,12 +453,9 @@
let params: API.ExportTaskSettlementOrderRostersCommand = {
id: id,
};
- let res = await taskServices.exportTaskSettlementOrderRosters(params, {
- responseType: 'blob',
- getResponse: true,
- });
+ let res = await taskServices.exportTaskSettlementOrderRosters(params);
if (res) {
- downloadFile(res, `${form.name}-${form.code}`, 'xlsx');
+ downloadFileByUrl(setOSSLink(res), `${form.name}-${form.code}`);
}
} catch (error) {}
},
--
Gitblit v1.9.1