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/ServiceChargeManage.vue | 150 ++++++++++++++++++++++++++++++++++---------------- 1 files changed, 102 insertions(+), 48 deletions(-) diff --git a/src/views/ServiceChargeManage/ServiceChargeManage.vue b/src/views/ServiceChargeManage/ServiceChargeManage.vue index cdc4296..c85f0b2 100644 --- a/src/views/ServiceChargeManage/ServiceChargeManage.vue +++ b/src/views/ServiceChargeManage/ServiceChargeManage.vue @@ -30,7 +30,7 @@ end-placeholder="鎴鏃ユ湡" clearable @change="getList()" - tooltipContent="鍒涘缓鏃堕棿" + tooltipContent="缁撶畻鏃堕棿" ></FieldDatePicker> </QueryFilterItem> <QueryFilterItem> @@ -47,7 +47,7 @@ <template #btn> <el-button type="primary" link @click="handleDownloadTemplate()">缁撶畻鍗曟ā鏉�</el-button> <el-button type="primary" @click="handleAdd()">涓婁紶缁撶畻鍗�</el-button> - <el-button type="primary" @click="handleDownloadTemplate()">瀵煎嚭</el-button> + <!-- <el-button type="primary" @click="handleDownloadTemplate()">瀵煎嚭</el-button> --> </template> </ProTableQueryFilterBar> <ProTableV2 @@ -55,7 +55,7 @@ :columns="ServiceChargeManageColumns" :operationBtns="operationBtns" > - <template #operationBtn-uploadBtn="{ row }"> + <!-- <template #operationBtn-uploadBtn="{ row }"> <BlFileUpload v-model:file-url="editForm.settlementUrl" ref="uploadRef" @@ -84,11 +84,12 @@ > <el-button text type="primary" class="pro-table-operation-btn">閲嶆柊涓婁紶</el-button> </BlFileUpload> - </template> + </template> --> </ProTableV2> </AppContainer> <UploadStatementDialog v-bind="dialogProps" /> <SettleDetailDialog v-bind="dialogSettleProps" /> + <RechargeEnterpriseWalletDialog v-bind="dialogRechargeProps" /> </LoadingLayout> </template> @@ -115,11 +116,12 @@ EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, } from '@/constants'; -import { downloadFileByUrl } from '@/utils'; +import { downloadFileByUrl, format, setOssFileName } from '@/utils'; import * as taskServices from '@/services/api/task'; import { ModelValueType } from 'element-plus'; import UploadStatementDialog from './components/UploadStatementDialog.vue'; import SettleDetailDialog from './components/SettleDetailDialog.vue'; +import RechargeEnterpriseWalletDialog from './components/RechargeEnterpriseWalletDialog.vue'; import { Message } from '@bole-core/core'; defineOptions({ @@ -127,36 +129,36 @@ }); const operationBtns = defineOperationBtns([ - { - data: { - enCode: 'uploadBtn', - name: '涓婁紶', - }, - extraProps: { - hide: (row: API.GetSettlementTasksQueryResultItem) => - row.settlementOrderStatus !== EnumTaskSettlementOrderStatus.Wait, - }, - }, - { - data: { - enCode: 'reUploadBtn', - name: '閲嶆柊涓婁紶', - }, - extraProps: { - hide: (row: API.GetSettlementTasksQueryResultItem) => - !( - row.settlementOrderStatus === EnumTaskSettlementOrderStatus.Completed && - row.settlementStatus === EnumTaskSettlementStatus.Wait - ), - }, - }, + // { + // data: { + // enCode: 'uploadBtn', + // name: '涓婁紶', + // }, + // extraProps: { + // hide: (row: API.GetSettlementTasksQueryResultItem) => + // row.settlementOrderStatus !== EnumTaskSettlementOrderStatus.Wait, + // }, + // }, + // { + // data: { + // enCode: 'reUploadBtn', + // name: '閲嶆柊涓婁紶', + // }, + // extraProps: { + // hide: (row: API.GetSettlementTasksQueryResultItem) => + // !( + // row.settlementOrderStatus === EnumTaskSettlementOrderStatus.Completed && + // row.settlementStatus === EnumTaskSettlementStatus.Wait + // ), + // }, + // }, { data: { enCode: 'settleBtn', name: '缁撶畻', }, emits: { - onClick: (role: API.GetSettlementTasksQueryResultItem) => openSettleDialog(role), + onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role, 'settlement'), }, extraProps: { hide: (role: API.GetSettlementTasksQueryResultItem) => @@ -176,7 +178,10 @@ }, extraProps: { hide: (role: API.GetSettlementTasksQueryResultItem) => - role.settlementStatus !== EnumTaskSettlementStatus.InProcess, + !( + role.settlementOrderStatus === EnumTaskSettlementOrderStatus.Completed && + role.settlementStatus === EnumTaskSettlementStatus.InProcess + ), }, }, { @@ -185,12 +190,12 @@ name: '璇︽儏', }, emits: { - onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role.id), + onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role), }, - extraProps: { - hide: (role: API.GetSettlementTasksQueryResultItem) => - role.settlementOrderStatus === EnumTaskSettlementOrderStatus.Wait, - }, + // extraProps: { + // hide: (role: API.GetSettlementTasksQueryResultItem) => + // role.settlementOrderStatus === EnumTaskSettlementOrderStatus.Wait, + // }, }, { data: { @@ -201,12 +206,14 @@ onClick: (role) => handleExport(role), }, extraProps: { - hide: () => false, + hide: () => true, }, }, ]); const router = useRouter(); + +const { userDetail } = useUser(); const eventContext = useGlobalEventContext(); @@ -243,6 +250,8 @@ keywords: extraParamState.keywords, settlementOrderStatus: extraParamState.settlementOrderStatus, settlementStatus: extraParamState.settlementStatus, + settlementTimeBegin: format(extraParamState.time?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), + settlementTimeEnd: format(extraParamState.time?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), }; let res = await taskServices.getSettlementTasks(params, { @@ -265,10 +274,16 @@ columnsRenderProps: { settlementOrderStatus: { type: 'enum', valueEnum: EnumTaskSettlementOrderStatusText }, settlementStatus: { type: 'enum', valueEnum: EnumTaskSettlementStatusText }, + checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskCheckReceiveStatusText }, actualSettlementAmount: { type: 'money' }, settlementAmount: { type: 'money' }, settlementTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, + createdTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, settlementOrderTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, + settlementOrderName: { + formatter: (row: API.GetSettlementTasksQueryResultItem) => + row.settlementOrderName && setOssFileName(row.settlementOrderName), + }, }, } ); @@ -284,8 +299,16 @@ }); async function handleAddOrEdit() { - console.log('editForm: ', editForm); - goDetail(editForm.id, editForm.settlementUrl[0]?.path); + try { + let params: API.ImportTaskSettlementOrderRostersCommand = { + id: editForm.id, + url: editForm.settlementUrl[0]?.path, + }; + let res = await taskServices.importTaskSettlementOrderRosters(params); + if (res) { + goSettlementDetail(editForm.id, editForm.settlementUrl[0]?.path); + } + } catch (error) {} } const { @@ -299,7 +322,7 @@ name: '', code: '', settlementUserCount: 0, - settlementAmount: 0, + actualSettlementAmount: 0, }, }); @@ -308,13 +331,31 @@ let params: API.SureTaskSettlementCommand = { taskInfoId: settleEditForm.id, }; - let res = await taskServices.sureTaskSettlement(params); + let res = await taskServices.sureTaskSettlement(params, { + skipErrorHandler: true, + }); if (res) { Message.successMessage('鎿嶄綔鎴愬姛'); getList(paginationState.pageIndex); } - } catch (error) {} + } catch (error) { + if (error?.info?.errorCode == 's510') { + handleRechargeAdd(); + } + } } + +const { + dialogProps: dialogRechargeProps, + handleAdd: handleRechargeAdd, + editForm: rechargeEditForm, +} = useFormDialog({ + defaultFormParams: { + access: EnumEnterpriseWalletAccess.Alipay, + amount: null as number, + remark: '', + }, +}); function openSettleDialog(row: API.GetSettlementTasksQueryResultItem) { handleSettleEdit({ @@ -322,13 +363,13 @@ name: row.name, code: row.code, settlementUserCount: row.settlementUserCount ?? 0, - settlementAmount: row.settlementAmount ?? 0, + actualSettlementAmount: row.actualSettlementAmount ?? 0, }); } async function handleRecall(row: API.GetSettlementTasksQueryResultItem) { try { - Message.tipMessage('纭瑕佹挙鍥炲悧锛�'); + await Message.tipMessage('纭瑕佹挙鍥炲悧锛�'); let params: API.RevokeTaskSettlementOrderCommand = { taskInfoId: row.id, }; @@ -345,18 +386,28 @@ row: API.GetSettlementTasksQueryResultItem ) { if (response.path) { - goDetail(row.id, response.path); + goSettlementDetail(row.id, response.path); } } -function goDetail(id: string, url?: string) { - router.push({ +async function goSettlementDetail(id: string, url?: string) { + await router.push({ name: 'ServiceChargeDetail', params: { id: id, }, + }); + editForm.settlementUrl = [] as UploadUserFile[]; +} + +function goDetail(row: API.GetSettlementTasksQueryResultItem, settlement?: string) { + router.push({ + name: 'ServiceChargeDetail', + params: { + id: row?.id ?? '', + }, query: { - url: url ? url : '', + settlement: settlement ? settlement : '', }, }); } @@ -366,6 +417,9 @@ } function handleDownloadTemplate() { - downloadFileByUrl('', '缁撶畻鍗曟ā鏉�'); + downloadFileByUrl( + 'https://parkmanagement.oss-cn-hangzhou.aliyuncs.com/FlexJob/temp/%E7%BB%93%E7%AE%97%E5%8D%95%E6%A8%A1%E6%9D%BF.xlsx', + '缁撶畻鍗曟ā鏉�' + ); } </script> -- Gitblit v1.9.1