From 172fb97fa79d08a5fb23f5330676a4ed2c776a68 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期二, 09 九月 2025 15:20:08 +0800 Subject: [PATCH] fix: bug --- src/views/ServiceChargeManage/ServiceChargeDetail.vue | 137 ++++++++++++++++++++++++++++++--------------- 1 files changed, 90 insertions(+), 47 deletions(-) diff --git a/src/views/ServiceChargeManage/ServiceChargeDetail.vue b/src/views/ServiceChargeManage/ServiceChargeDetail.vue index 756a31a..3770baa 100644 --- a/src/views/ServiceChargeManage/ServiceChargeDetail.vue +++ b/src/views/ServiceChargeManage/ServiceChargeDetail.vue @@ -1,6 +1,6 @@ <template> - <LoadingLayout :loading="isLoading"> - <AppScrollContainer> + <LoadingLayout :loading="state.loading"> + <AppContainer> <ChunkCell title="缁撶畻鍗曡鎯�"> <ProForm :model="form" ref="formRef" label-width="120px" :is-read="true"> <ProFormCol> @@ -34,12 +34,14 @@ <ProFormCol> <ProFormColItem :span="8"> <ProFormItemV2 label="缁撶畻閲戦:" prop="settlementAmount"> - <ProFormInputNumber v-model="form.settlementAmount"> </ProFormInputNumber> + <ProFormInputNumber v-model="form.settlementAmount" format-value="money"> + </ProFormInputNumber> </ProFormItemV2> </ProFormColItem> <ProFormColItem :span="8"> <ProFormItemV2 label="瀹炲彂閲戦:" prop="actualSettlementAmount"> - <ProFormInputNumber v-model="form.actualSettlementAmount"> </ProFormInputNumber> + <ProFormInputNumber v-model="form.actualSettlementAmount" format-value="money"> + </ProFormInputNumber> </ProFormItemV2> </ProFormColItem> </ProFormCol> @@ -67,7 +69,7 @@ </el-steps> </div> </ChunkCell> --> - <ChunkCell title="缁撶畻鍚嶅崟"> + <ChunkCell title="缁撶畻鍚嶅崟" style="flex: 1"> <ProTableQueryFilterBar @on-reset="reset"> <template #query> <QueryFilterItem> @@ -84,28 +86,33 @@ <ProTableV2 v-bind="proTableProps" :columns="SettlementListColumns" - :operationBtns="operationBtns" + :show-operation-column="false" :auto-height="false" ref="proTable" :tableProps="{ - maxHeight: '400px', + maxHeight: '250px', }" > </ProTableV2> <div class="chuck-add-or-edit-actions"> - <el-button @click="handleBack">鍙栨秷</el-button> - <el-button class="chuck-add-or-edit-actions" type="primary" @click="handleSubmit" + <el-button class="chuck-add-or-edit-actions" @click="handleBack">鍙栨秷</el-button> + <el-button + v-if="!isDetail" + class="chuck-add-or-edit-actions" + type="primary" + @click="handleSubmit" >纭</el-button > </div> </ChunkCell> - </AppScrollContainer> + </AppContainer> <EditAccountInfoDialog v-bind="dialogProps"></EditAccountInfoDialog> </LoadingLayout> </template> <script setup lang="ts"> import { LoadingLayout, + AppContainer, AppScrollContainer, ChunkCell, ProForm, @@ -129,6 +136,7 @@ import * as taskUserServices from '@/services/api/taskUser'; import EditAccountInfoDialog from './components/EditAccountInfoDialog.vue'; import { Message } from '@bole-core/core'; +import { paginateList, setOssFileName, toThousand } from '@/utils'; defineOptions({ name: 'ServiceChargeDetail', @@ -149,8 +157,10 @@ ]); const route = useRoute(); -const id = (route.query.id as string) ?? ''; +const id = (route.params.id as string) ?? ''; const url = (route.query.url as string) ?? ''; + +const isDetail = computed(() => !url); const form = reactive({ name: '', @@ -161,27 +171,38 @@ settlementOrderTime: '', }); -const { isLoading } = useQuery({ - queryKey: ['taskServices/getSettlementTask', id], - queryFn: async () => { - return await taskServices.getSettlementTask( - { id: id }, - { - showLoading: false, - } - ); - }, - placeholderData: () => ({} as API.GetSettlementTaskQueryResult), - onSuccess(data) { - form.name = data.name; - form.settlementAmount = data.settlementAmount; - form.actualSettlementAmount = data.actualSettlementAmount; - form.code = data.code; - form.settlementOrderName = data.settlementOrderName; - form.settlementOrderTime = data.settlementOrderTime; - }, - enabled: !!id, +const BaseState = { + loading: true, +}; + +const state = reactive({ ...BaseState }); + +onMounted(async () => { + await getList(); + state.loading = false; }); + +// const { isLoading } = useQuery({ +// queryKey: ['taskServices/getSettlementTask', id], +// queryFn: async () => { +// return await taskServices.getSettlementTask( +// { id: id }, +// { +// showLoading: false, +// } +// ); +// }, +// placeholderData: () => ({} as API.GetSettlementTaskQueryResult), +// onSuccess(data) { +// form.name = data.name; +// form.settlementAmount = data.settlementAmount ?? 0; +// form.actualSettlementAmount = data.actualSettlementAmount ?? 0; +// form.code = data.code; +// form.settlementOrderName = setOssFileName(data.settlementOrderName); +// form.settlementOrderTime = data.settlementOrderTime ?? ''; +// }, +// enabled: !!id, +// }); const { getDataSource: getList, @@ -192,19 +213,36 @@ } = useTable( async ({ pageIndex, pageSize }, extraParamState) => { try { - let params: API.GetSettlementTaskUsersQuery = { + let params: API.APIgetSettlementTaskUsersParams = { + taskInfoId: id, + settlementOrderUrl: url, + }; + let res = await taskUserServices.getSettlementTaskUsers(params); + if (extraParamState.keywords) { + res.data = res.data?.filter((item) => { + return ( + item.name.includes(extraParamState.keywords) || + item.contactPhoneNumber.includes(extraParamState.keywords) || + item.identity.includes(extraParamState.keywords) + ); + }); + } + if (res?.detail) { + form.name = res?.detail?.name; + form.settlementAmount = res?.detail?.settlementAmount ?? 0; + form.actualSettlementAmount = res?.detail?.actualSettlementAmount ?? 0; + form.code = res?.detail?.code; + form.settlementOrderName = setOssFileName(res?.detail?.settlementOrderName); + form.settlementOrderTime = res?.detail?.settlementOrderTime ?? ''; + } + return Promise.resolve({ pageModel: { rows: pageSize, page: pageIndex, - orderInput: extraParamState.orderInput, + totalCount: res.data.length, }, - taskInfoId: id, - // settlementOrderUrl:form. - keywords: extraParamState.keywords, - }; - - let res = await taskUserServices.getSettlementTaskUsers(params); - return res; + data: paginateList(res.data, pageIndex, pageSize), + }); } catch (error) { console.log('error: ', error); } @@ -214,8 +252,12 @@ keywords: '', orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], }, - queryKey: ['taskUserServices/getOpenTaskInfos'], - columnsRenderProps: {}, + queryKey: ['taskUserServices/getSettlementTaskUsers'], + columnsRenderProps: { + settlementTime: { type: 'date' }, + settlementAmount: { type: 'money' }, + actualSettlementAmount: { type: 'money' }, + }, } ); @@ -243,7 +285,12 @@ let params: API.SureTaskSettlementOrderCommand = { taskInfoId: id, settlementOrderUrl: url, - taskInfoUsers: [], + taskInfoUsers: + proTableProps.value.tableData?.length > 0 + ? proTableProps.value.tableData.map( + (x) => ({ ...x } as API.SureTaskSettlementOrderCommandUser) + ) + : [], }; let res = await taskServices.sureTaskSettlementOrder(params); if (res) { @@ -259,10 +306,6 @@ name: 'ServiceChargeManageList', }); } - -onMounted(() => { - getList(); -}); </script> <style lang="scss" scoped> -- Gitblit v1.9.1