From ca03f54c785cc814b9efa75b3aa1985b1c30e960 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期三, 15 十月 2025 17:29:03 +0800 Subject: [PATCH] feat: 结算调整 --- src/views/ServiceChargeManage/ServiceChargeDetail.vue | 78 ++++++++++++++++++++++++++++---------- 1 files changed, 57 insertions(+), 21 deletions(-) diff --git a/src/views/ServiceChargeManage/ServiceChargeDetail.vue b/src/views/ServiceChargeManage/ServiceChargeDetail.vue index bbaaa59..f19dca6 100644 --- a/src/views/ServiceChargeManage/ServiceChargeDetail.vue +++ b/src/views/ServiceChargeManage/ServiceChargeDetail.vue @@ -134,7 +134,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 } from '@/constants'; +import { + downloadFile, + downloadFileByUrl, + paginateList, + setOssFileName, + setOSSLink, + toThousand, +} from '@/utils'; import _ from 'lodash'; defineOptions({ @@ -152,12 +160,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({ @@ -178,15 +189,18 @@ const state = reactive({ ...BaseState }); -const { isLoading } = useQuery({ - queryKey: ['taskUserServices/getSettlementTaskUsers', id], +const { isLoading, refetch } = useQuery({ + queryKey: ['taskUserServices/getSettlementTaskUsers', id, settlementAccess], queryFn: async () => { - return await taskUserServices.getSettlementTaskUsers( - { id: id }, - { - showLoading: false, - } - ); + let params: API.APIgetSettlementTaskUsersParams = { + id: id, + }; + if (settlementAccess) { + params.settlementAccess = Number(settlementAccess); + } + return await taskUserServices.getSettlementTaskUsers(params, { + showLoading: false, + }); }, placeholderData: () => ({} as API.GetSettlementTaskUsersQueryResult), onSuccess(res) { @@ -196,8 +210,8 @@ 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.settlementOrderName = setOssFileName(res?.detail?.settlementOrderName); + // form.settlementOrderTime = res?.detail?.settlementOrderTime ?? ''; } // if (res?.errors?.length > 0) { // Message.tipMessage('瀛樺湪瀵煎叆閿欒鐨勬暟鎹紝鏄惁瀵煎嚭锛�').then(() => { @@ -265,6 +279,7 @@ settlementTime: { type: 'date' }, settlementAmount: { type: 'money' }, actualSettlementAmount: { type: 'money' }, + settlementReceiveStatus: { type: 'enum', valueEnum: SettlementReceiveStatusText }, }, } ); @@ -277,7 +292,7 @@ actualSettlementAmount: null as number, receiveAccount: '', bank: '', - bankBranch: '', + // bankBranch: '', }, }); @@ -289,7 +304,7 @@ actualSettlementAmount: row?.actualSettlementAmount ?? null, receiveAccount: row?.receiveAccount ?? '', bank: row?.bank ?? '', - bankBranch: row?.bankBranch ?? '', + // bankBranch: row?.bankBranch ?? '', }); } } @@ -302,11 +317,12 @@ actualSettlementAmount: editForm.actualSettlementAmount, receiveAccount: editForm.receiveAccount, bank: editForm.bank, - bankBranch: editForm.bankBranch, + // bankBranch: editForm.bankBranch, }; let res = await taskServices.editTaskSettlementOrderRoster(params); if (res) { Message.successMessage('鎿嶄綔鎴愬姛'); + refetch(); getList(paginationState.pageIndex); } } catch (error) {} @@ -327,9 +343,32 @@ let res = await taskServices.importTaskSettlementOrderRosters(params); if (res) { Message.successMessage('鎿嶄綔鎴愬姛'); + 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() { @@ -385,12 +424,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