From 94e941341c4e2ac704f70c5ae61be2d6a61fcef4 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期二, 02 九月 2025 16:47:32 +0800 Subject: [PATCH] feat: 页面 --- src/views/ServiceChargeManage/ServiceChargeManage.vue | 150 +++++++++++++++++++++++++++++++++----------------- 1 files changed, 99 insertions(+), 51 deletions(-) diff --git a/src/views/ServiceChargeManage/ServiceChargeManage.vue b/src/views/ServiceChargeManage/ServiceChargeManage.vue index d9cbb15..47361e8 100644 --- a/src/views/ServiceChargeManage/ServiceChargeManage.vue +++ b/src/views/ServiceChargeManage/ServiceChargeManage.vue @@ -5,7 +5,7 @@ <template #query> <QueryFilterItem tip-content="缁撶畻鍗曠姸鎬�"> <FieldRadio - v-model="extraParamState.flexEnterpriseSettingStatus" + v-model="extraParamState.status" :value-enum="[ { label: '宸插畨鎺�', value: 1 }, { label: '寰呭畨鎺�', value: 0 }, @@ -17,7 +17,7 @@ </QueryFilterItem> <QueryFilterItem tip-content="缁撶畻鐘舵��"> <FieldRadio - v-model="extraParamState.flexEnterpriseSettingStatus" + v-model="extraParamState.status" :value-enum="[ { label: '宸插畨鎺�', value: 1 }, { label: '寰呭畨鎺�', value: 0 }, @@ -29,7 +29,7 @@ </QueryFilterItem> <QueryFilterItem> <FieldDatePicker - v-model="extraParamState.flexEnterpriseSettingStatus" + v-model="extraParamState.time" type="daterange" range-separator="~" start-placeholder="璧峰鏃ユ湡" @@ -52,18 +52,8 @@ </template> <template #btn> <el-button type="primary" link @click="handleDownloadTemplate()">缁撶畻鍗曟ā鏉�</el-button> - <BlFileUpload - :limitFileSize="10" - accept="xls,xlsx" - :showTip="false" - :show-file-list="false" - :on-success="handleUploadSuccess" - style="margin-right: 10px; margin-left: 10px" - > - <template #default> - <el-button type="primary">涓婁紶缁撶畻鍗�</el-button> - </template> - </BlFileUpload> + + <el-button type="primary" @click="openDialog()">涓婁紶缁撶畻鍗�</el-button> <el-button type="primary" @click="handleDownloadTemplate()">瀵煎嚭</el-button> </template> </ProTableQueryFilterBar> @@ -72,23 +62,10 @@ :columns="ServiceChargeManageColumns" :operationBtns="operationBtns" > - <template #operationBtn-uploadBtn="{ data, row }"> - <BlFileUpload - v-model:file-url="row.fileUrl" - :limitFileSize="2" - :limit="1" - accept="doc,docx" - ref="uploadRef" - :showTip="false" - :on-success="(response) => handleUpload(response, row)" - :show-file-list="false" - class="pro-table-operation-btn upload-style-btn" - > - <el-button link type="primary">涓婁紶</el-button> - </BlFileUpload> - </template> </ProTableV2> </AppContainer> + <UploadStatementDialog v-bind="dialogProps" /> + <SettleDetailDialog v-bind="dialogSettleProps" /> </LoadingLayout> </template> @@ -104,12 +81,15 @@ FieldDatePicker, FieldRadio, defineOperationBtns, - BlFileUpload, + useFormDialog, UploadUserFile, } from '@bole-core/components'; import { ServiceChargeManageColumns } from './constants'; -import { EnumUserGender } from '@/constants'; import { downloadFileByUrl } 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'; defineOptions({ name: 'ServiceChargeManageList', @@ -121,6 +101,24 @@ enCode: 'uploadBtn', name: '涓婁紶', }, + emits: { + onClick: (role) => openDialog(role), + }, + extraProps: { + hide: () => false, + }, + }, + { + data: { + enCode: 'reUploadBtn', + name: '閲嶆柊涓婁紶', + }, + emits: { + onClick: (role) => openDialog(role), + }, + extraProps: { + hide: () => false, + }, }, { data: { @@ -128,7 +126,22 @@ name: '缁撶畻', }, emits: { - onClick: (role) => goSettle(role), + onClick: (role) => openSettleDialog(role), + }, + extraProps: { + hide: () => false, + }, + }, + { + data: { + enCode: 'recallBtn', + name: '鎾ゅ洖', + }, + emits: { + onClick: (role) => handleRecall(role), + }, + extraProps: { + hide: () => false, }, }, { @@ -147,6 +160,9 @@ }, emits: { onClick: (role) => handleExport(role), + }, + extraProps: { + hide: () => false, }, }, ]); @@ -173,17 +189,15 @@ } = useTable( async ({ pageIndex, pageSize }, extraParamState) => { try { - let params: API.GetFlexEnterpriseInput = { + let params: API.GetTaskInfosQuery = { pageModel: { rows: pageSize, page: pageIndex, orderInput: extraParamState.orderInput, }, - flexEnterpriseSettingStatus: extraParamState.flexEnterpriseSettingStatus, - searchWord: extraParamState.searchWord, }; - let res = await flexEnterpriseServices.getFlexEnterpriseList(params, { + let res = await taskServices.getTaskInfos(params, { showLoading: !state.loading, }); return res; @@ -194,22 +208,62 @@ { defaultExtraParams: { searchWord: '', + status: 0, + time: [] as unknown as ModelValueType, orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], - flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus, }, - queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'], + queryKey: ['taskServices/getTaskInfos'], columnsRenderProps: {}, } ); -function goSettle(row) { - router.push({ - name: 'ServiceChargeSettle', - params: { - id: row.id, - }, +const { dialogProps, handleAdd, handleEdit, editForm } = useFormDialog({ + onConfirm: handleAddOrEdit, + defaultFormParams: { + id: '', + name: '', + settlementUrl: [] as UploadUserFile[], + }, +}); + +function openDialog(row?) { + if (row) { + handleEdit({ + id: row?.id, + name: row?.name, + settlementUrl: [] as UploadUserFile[], + }); + } else { + handleAdd(); + } +} + +async function handleAddOrEdit() {} + +const { + dialogProps: dialogSettleProps, + handleEdit: handleSettleEdit, + editForm: settleEditForm, +} = useFormDialog({ + onConfirm: handleSettle, + defaultFormParams: { + id: '', + name: '', + count: 0, + }, +}); + +async function handleSettle() {} + +function openSettleDialog(row?) { + handleSettleEdit({ + id: row.id, + name: row.name, + count: row.count, }); } + +function handleRecall(row) {} function goDetail(row) { router.push({ @@ -218,12 +272,6 @@ id: row.id, }, }); -} - -function handleUploadSuccess(response: UploadUserFile) {} - -function handleUpload(val, row) { - console.log('val: ', val); } function handleExport(val) { -- Gitblit v1.9.1