From 715d5d9675a524648b0aea2b961fe5a4430ea4fa Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期二, 16 九月 2025 13:24:32 +0800 Subject: [PATCH] feat: 接口对接 --- src/views/ServiceChargeManage/ServiceChargeDetail.vue | 149 +++++++++++++++++++++++++++++++------------------ 1 files changed, 95 insertions(+), 54 deletions(-) diff --git a/src/views/ServiceChargeManage/ServiceChargeDetail.vue b/src/views/ServiceChargeManage/ServiceChargeDetail.vue index 72b74e5..73a3b98 100644 --- a/src/views/ServiceChargeManage/ServiceChargeDetail.vue +++ b/src/views/ServiceChargeManage/ServiceChargeDetail.vue @@ -74,7 +74,7 @@ > <el-button text type="primary" class="pro-table-operation-btn">瀵煎叆</el-button> </BlFileUpload> - <el-button type="primary" link @click="handleDownload()">瀵煎嚭</el-button> + <el-button type="primary" link @click="handleExport()">瀵煎嚭</el-button> </template> </ProTableQueryFilterBar> <ProTableV2 @@ -94,7 +94,7 @@ v-if="isSettlement" class="chuck-add-or-edit-actions" type="primary" - @click="handleSubmit" + @click="handleSubmit()" >缁撶畻</el-button > </div> @@ -134,7 +134,8 @@ import EditAccountInfoDialog from './components/EditAccountInfoDialog.vue'; import SettleDetailDialog from './components/SettleDetailDialog.vue'; import { Message } from '@bole-core/core'; -import { paginateList, setOssFileName, toThousand } from '@/utils'; +import { downloadFile, paginateList, setOssFileName, toThousand } from '@/utils'; +import _ from 'lodash'; defineOptions({ name: 'ServiceChargeDetail', @@ -155,10 +156,9 @@ ]); const route = useRoute(); const id = (route.params.id as string) ?? ''; -const url = (route.query.url as string) ?? ''; const settlement = (route.query.settlement as string) ?? ''; -const isSettlement = computed(() => !!url || !!settlement); +const isSettlement = computed(() => !!settlement); const form = reactive({ name: '', @@ -179,10 +179,10 @@ const state = reactive({ ...BaseState }); const { isLoading } = useQuery({ - queryKey: ['taskUserServices/getSettlementTaskUsers', id, url], + queryKey: ['taskUserServices/getSettlementTaskUsers', id], queryFn: async () => { return await taskUserServices.getSettlementTaskUsers( - { taskInfoId: id, settlementOrderUrl: url }, + { id: id }, { showLoading: false, } @@ -199,25 +199,25 @@ form.settlementOrderName = setOssFileName(res?.detail?.settlementOrderName); form.settlementOrderTime = res?.detail?.settlementOrderTime ?? ''; } - if (res?.errors?.length > 0) { - Message.tipMessage('瀛樺湪瀵煎叆閿欒鐨勬暟鎹紝鏄惁瀵煎嚭锛�').then(() => { - XLSXUtils.exportToXLSX({ - workbookDataList: res.errors, - fileName: '缁撶畻瀵煎叆-閿欒鏁版嵁', - workbookHeaderMap: { - name: '濮撳悕', - identity: '韬唤璇佸彿', - taskName: '浠诲姟鍚嶇О', - settlementAmount: '缁撶畻閲戦', - actualSettlementAmount: '瀹炲彂閲戦', - receiveAccount: '鏀舵璐︽埛', - bank: '鎵�灞為摱琛�', - bankBranch: '寮�鎴锋敮琛屽悕绉�', - errorMessage: '閿欒淇℃伅', - }, - }); - }); - } + // if (res?.errors?.length > 0) { + // Message.tipMessage('瀛樺湪瀵煎叆閿欒鐨勬暟鎹紝鏄惁瀵煎嚭锛�').then(() => { + // XLSXUtils.exportToXLSX({ + // workbookDataList: res.errors, + // fileName: '缁撶畻瀵煎叆-閿欒鏁版嵁', + // workbookHeaderMap: { + // name: '濮撳悕', + // identity: '韬唤璇佸彿', + // taskName: '浠诲姟鍚嶇О', + // settlementAmount: '缁撶畻閲戦', + // actualSettlementAmount: '瀹炲彂閲戦', + // receiveAccount: '鏀舵璐︽埛', + // bank: '鎵�灞為摱琛�', + // bankBranch: '寮�鎴锋敮琛屽悕绉�', + // errorMessage: '閿欒淇℃伅', + // }, + // }); + // }); + // } getList(); }, enabled: !!id, @@ -273,46 +273,63 @@ onConfirm: handleAddOrEdit, defaultFormParams: { id: '', - name: '', + settlementAmount: null as number, + actualSettlementAmount: null as number, + receiveAccount: '', + bank: '', + bankBranch: '', }, }); -function openDialog(row?) { +function openDialog(row?: API.GetSettlementTaskUsersQueryResultItem) { if (row) { handleEdit({ id: row?.id, - name: row?.name, + settlementAmount: row?.settlementAmount ?? null, + actualSettlementAmount: row?.actualSettlementAmount ?? null, + receiveAccount: row?.receiveAccount ?? '', + bank: row?.bank ?? '', + bankBranch: row?.bankBranch ?? '', }); } } -async function handleAddOrEdit() {} - -async function sureTaskSettlementOrder() { +async function handleAddOrEdit() { try { - let params: API.SureTaskSettlementOrderCommand = { - taskInfoId: id, - settlementOrderUrl: url, - taskInfoUsers: - proTableProps.value.tableData?.length > 0 - ? proTableProps.value.tableData.map( - (x) => ({ ...x } as API.SureTaskSettlementOrderCommandUser) - ) - : [], + let params: API.EditTaskSettlementOrderRosterCommand = { + id: editForm.id, + settlementAmount: editForm.settlementAmount, + actualSettlementAmount: editForm.actualSettlementAmount, + receiveAccount: editForm.receiveAccount, + bank: editForm.bank, + bankBranch: editForm.bankBranch, }; - let res = await taskServices.sureTaskSettlementOrder(params); + let res = await taskServices.editTaskSettlementOrderRoster(params); if (res) { Message.successMessage('鎿嶄綔鎴愬姛'); - eventContext.emit('sureTaskSettlementOrder'); - handleBack(); + getList(paginationState.pageIndex); } } catch (error) {} } function handleUploadSuccess(response: UploadUserFile & { file: File & { uid: number } }) { if (response.path) { - // sureTaskSettlementOrder(); + importTaskSettlementOrderRosters(response.path); } +} + +async function importTaskSettlementOrderRosters(url: string) { + try { + let params: API.ImportTaskSettlementOrderRostersCommand = { + id: id, + url: url, + }; + let res = await taskServices.importTaskSettlementOrderRosters(params); + if (res) { + Message.successMessage('鎿嶄綔鎴愬姛'); + getList(paginationState.pageIndex); + } + } catch (error) {} } function handleSubmit() { @@ -341,21 +358,45 @@ }); async function handleSettle() { + sureTaskSettlementOrder(); +} + +async function sureTaskSettlementOrder() { try { let params: API.SureTaskSettlementCommand = { - taskInfoId: settleEditForm.id, + taskInfoId: id, }; - console.log('params: ', params); - // let res = await taskServices.sureTaskSettlement(params); - // if (res) { - // Message.successMessage('鎿嶄綔鎴愬姛'); - // eventContext.emit('sureTaskSettlementOrder'); - // handleBack(); - // } + let res = await taskServices.sureTaskSettlement(params); + if (res) { + Message.successMessage('鎿嶄綔鎴愬姛'); + eventContext.emit('sureTaskSettlementOrder'); + handleBack(); + } } catch (error) {} } -function handleDownload() {} +const handleExport = _.debounce( + async () => { + if (paginationState.total === 0) { + Message.warnMessage('娌℃湁鏁版嵁鍙互瀵煎嚭鍝'); + return; + } + try { + let params: API.ExportTaskSettlementOrderRostersCommand = { + id: id, + }; + let res = await taskServices.exportTaskSettlementOrderRosters(params, { + responseType: 'blob', + getResponse: true, + }); + if (res) { + downloadFile(res, `${form.name}-${form.code}`, 'xlsx'); + } + } catch (error) {} + }, + 1000, + { leading: true, trailing: false } +); function handleBack() { closeViewPush(route, { -- Gitblit v1.9.1