From 1d839bd0fca331b565deb640bbec0c85e3711791 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期五, 05 九月 2025 16:03:01 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobAdminBClient --- src/views/ServiceChargeManage/ServiceChargeManage.vue | 148 +++++++++++++++++++++++++++++------------------- 1 files changed, 89 insertions(+), 59 deletions(-) diff --git a/src/views/ServiceChargeManage/ServiceChargeManage.vue b/src/views/ServiceChargeManage/ServiceChargeManage.vue index 868fbbf..134f3d2 100644 --- a/src/views/ServiceChargeManage/ServiceChargeManage.vue +++ b/src/views/ServiceChargeManage/ServiceChargeManage.vue @@ -21,7 +21,7 @@ @change="getList()" /> </QueryFilterItem> - <QueryFilterItem> + <!-- <QueryFilterItem> <FieldDatePicker v-model="extraParamState.time" type="daterange" @@ -32,7 +32,7 @@ @change="getList()" tooltipContent="鍒涘缓鏃堕棿" ></FieldDatePicker> - </QueryFilterItem> + </QueryFilterItem> --> <QueryFilterItem> <SearchInput v-model="extraParamState.keywords" @@ -46,8 +46,8 @@ </template> <template #btn> <el-button type="primary" link @click="handleDownloadTemplate()">缁撶畻鍗曟ā鏉�</el-button> - <el-button type="primary" @click="openDialog()">涓婁紶缁撶畻鍗�</el-button> - <el-button type="primary" @click="handleDownloadTemplate()">瀵煎嚭</el-button> + <el-button type="primary" @click="handleAdd()">涓婁紶缁撶畻鍗�</el-button> + <!-- <el-button type="primary" @click="handleDownloadTemplate()">瀵煎嚭</el-button> --> </template> </ProTableQueryFilterBar> <ProTableV2 @@ -55,18 +55,34 @@ :columns="ServiceChargeManageColumns" :operationBtns="operationBtns" > - <template #operationBtn-uploadBtn="{ data, row }"> + <template #operationBtn-uploadBtn="{ row }"> <BlFileUpload - v-model:file-url="row.listFiles" - multiple + v-model:file-url="editForm.settlementUrl" ref="uploadRef" :showTip="false" :show-file-list="false" class="pro-table-operation-btn upload-style-btn" :on-success="(event) => handleUploadSuccess(event, row)" :limitFileSize="null" + :limit="1" + accept="xlsx,xls" > <el-button text type="primary" class="pro-table-operation-btn">涓婁紶</el-button> + </BlFileUpload> + </template> + <template #operationBtn-reUploadBtn="{ data, row }"> + <BlFileUpload + v-model:file-url="editForm.settlementUrl" + ref="uploadRef" + :showTip="false" + :show-file-list="false" + class="pro-table-operation-btn upload-style-btn" + :on-success="(event) => handleUploadSuccess(event, row)" + :limitFileSize="null" + :limit="1" + accept="xlsx,xls" + > + <el-button text type="primary" class="pro-table-operation-btn">閲嶆柊涓婁紶</el-button> </BlFileUpload> </template> </ProTableV2> @@ -93,8 +109,13 @@ BlFileUpload, } from '@bole-core/components'; import { ServiceChargeManageColumns } from './constants'; -import { EnumTaskSettlementStatusText, EnumTaskSettlementOrderStatusText } from '@/constants'; -import { downloadFileByUrl } from '@/utils'; +import { + EnumTaskSettlementStatusText, + EnumTaskSettlementOrderStatusText, + EnumTaskSettlementOrderStatus, + EnumTaskSettlementStatus, +} from '@/constants'; +import { downloadFileByUrl, setOssFileName } from '@/utils'; import * as taskServices from '@/services/api/task'; import { ModelValueType } from 'element-plus'; import UploadStatementDialog from './components/UploadStatementDialog.vue'; @@ -106,40 +127,43 @@ }); const operationBtns = defineOperationBtns([ - // { - // data: { - // enCode: 'uploadBtn', - // name: '涓婁紶', - // }, - // emits: { - // onClick: (role) => openDialog(role), - // }, - // extraProps: { - // hide: () => false, - // }, - // }, - // { - // data: { - // enCode: 'reUploadBtn', - // name: '閲嶆柊涓婁紶', - // }, - // emits: { - // onClick: (role) => openDialog(role), - // }, - // extraProps: { - // hide: () => false, - // }, - // }, + { + 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) => openSettleDialog(role), + onClick: (role: API.GetSettlementTasksQueryResultItem) => openSettleDialog(role), }, extraProps: { - hide: () => false, + hide: (role: API.GetSettlementTasksQueryResultItem) => + !( + role.settlementOrderStatus === EnumTaskSettlementOrderStatus.Completed && + role.settlementStatus === EnumTaskSettlementStatus.Wait + ), }, }, { @@ -161,7 +185,11 @@ name: '璇︽儏', }, emits: { - onClick: (role) => goDetail(role), + onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role.id), + }, + extraProps: { + hide: (role: API.GetSettlementTasksQueryResultItem) => + role.settlementOrderStatus === EnumTaskSettlementOrderStatus.Wait, }, }, { @@ -241,32 +269,28 @@ settlementAmount: { type: 'money' }, settlementTime: { 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), + }, }, } ); -const { dialogProps, handleAdd, handleEdit, editForm } = useFormDialog({ +const { dialogProps, handleAdd, editForm } = useFormDialog({ onConfirm: handleAddOrEdit, defaultFormParams: { + code: '', id: '', name: '', settlementUrl: [] as UploadUserFile[], }, }); -function openDialog(row?: API.GetSettlementTasksQueryResultItem) { - if (row) { - handleEdit({ - id: row?.id, - name: row?.name, - settlementUrl: [] as UploadUserFile[], - }); - } else { - handleAdd(); - } +async function handleAddOrEdit() { + console.log('editForm: ', editForm); + goDetail(editForm.id, editForm.settlementUrl[0]?.path); } - -async function handleAddOrEdit() {} const { dialogProps: dialogSettleProps, @@ -279,7 +303,7 @@ name: '', code: '', settlementUserCount: 0, - settlementAmount: 0, + actualSettlementAmount: 0, }, }); @@ -301,14 +325,14 @@ id: row.id, name: row.name, code: row.code, - settlementUserCount: row.settlementUserCount, - settlementAmount: row.settlementAmount, + settlementUserCount: row.settlementUserCount ?? 0, + actualSettlementAmount: row.actualSettlementAmount ?? 0, }); } async function handleRecall(row: API.GetSettlementTasksQueryResultItem) { try { - Message.tipMessage('纭瑕佹挙鍥炲悧锛�'); + await Message.tipMessage('纭瑕佹挙鍥炲悧锛�'); let params: API.RevokeTaskSettlementOrderCommand = { taskInfoId: row.id, }; @@ -324,19 +348,22 @@ response: UploadUserFile & { file: File & { uid: number } }, row: API.GetSettlementTasksQueryResultItem ) { - if (response.url) { - goDetail(row, response.url); + if (response.path) { + goDetail(row.id, response.path); } } -function goDetail(row: API.GetSettlementTasksQueryResultItem, url?: string) { - router.push({ +async function goDetail(id: string, url?: string) { + await router.push({ name: 'ServiceChargeDetail', + params: { + id: id, + }, query: { - id: row.id, url: url ? url : '', }, }); + editForm.settlementUrl = [] as UploadUserFile[]; } function handleExport(val) { @@ -344,6 +371,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