From 01e7edf41912e62d4a1b5a137d30cebf5609303d Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期二, 16 九月 2025 15:06:36 +0800 Subject: [PATCH] Merge branch 'dev-v1.1' of http://120.26.58.240:8888/r/flexJobAdminBClient into dev-v1.1 --- src/views/ServiceChargeManage/ServiceChargeDetail.vue | 175 ++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 120 insertions(+), 55 deletions(-) diff --git a/src/views/ServiceChargeManage/ServiceChargeDetail.vue b/src/views/ServiceChargeManage/ServiceChargeDetail.vue index 72b74e5..dd0843d 100644 --- a/src/views/ServiceChargeManage/ServiceChargeDetail.vue +++ b/src/views/ServiceChargeManage/ServiceChargeDetail.vue @@ -74,13 +74,13 @@ > <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 v-bind="proTableProps" :columns="SettlementListColumns" - :show-operation-column="false" + :operationBtns="operationBtns" :auto-height="false" ref="proTable" :tableProps="{ @@ -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,45 +273,84 @@ 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); + if (res?.errors?.length > 0) { + Message.tipMessage('瀛樺湪瀵煎叆閿欒鐨勬暟鎹紝鏄惁瀵煎嚭锛�').then(() => { + XLSXUtils.exportToXLSX({ + workbookDataList: res.errors, + fileName: '缁撶畻瀵煎叆-閿欒鏁版嵁', + workbookHeaderMap: { + name: '濮撳悕', + identity: '韬唤璇佸彿', + taskName: '浠诲姟鍚嶇О', + settlementAmount: '缁撶畻閲戦', + actualSettlementAmount: '瀹炲彂閲戦', + receiveAccount: '鏀舵璐︽埛', + bank: '鎵�灞為摱琛�', + bankBranch: '寮�鎴锋敮琛屽悕绉�', + errorMessage: '閿欒淇℃伅', + }, + }); + }); + } + } + } catch (error) { + } finally { + form.settlementUrl = [] as UploadUserFile[]; } } @@ -341,21 +380,47 @@ }); 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) { + console.log('res: ', res); + //@ts-ignore + downloadFile(res?.data, `${form.name}-${form.code}`, 'xlsx'); + } + } catch (error) {} + }, + 1000, + { leading: true, trailing: false } +); function handleBack() { closeViewPush(route, { -- Gitblit v1.9.1