From 258b6ce3a359bceb354ca3ea55c73bfb0cad0dc1 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 04 九月 2025 17:47:14 +0800
Subject: [PATCH] feat: 页面

---
 src/views/ServiceChargeManage/ServiceChargeDetail.vue |   86 +++++++++++++++++++++++++++++++------------
 1 files changed, 62 insertions(+), 24 deletions(-)

diff --git a/src/views/ServiceChargeManage/ServiceChargeDetail.vue b/src/views/ServiceChargeManage/ServiceChargeDetail.vue
index 0f4c891..756a31a 100644
--- a/src/views/ServiceChargeManage/ServiceChargeDetail.vue
+++ b/src/views/ServiceChargeManage/ServiceChargeDetail.vue
@@ -10,22 +10,21 @@
               </ProFormItemV2>
             </ProFormColItem>
             <ProFormColItem :span="8">
-              <ProFormItemV2 label="浠诲姟缂栧彿:" prop="name">
-                <ProFormText v-model="form.name"> </ProFormText>
+              <ProFormItemV2 label="浠诲姟缂栧彿:" prop="code">
+                <ProFormText v-model="form.code"> </ProFormText>
               </ProFormItemV2>
             </ProFormColItem>
-            <ProFormColItem :span="8"></ProFormColItem>
           </ProFormCol>
           <ProFormCol>
             <ProFormColItem :span="8">
-              <ProFormItemV2 label="缁撶畻鍗曞悕绉�:" prop="name">
-                <ProFormText v-model="form.name"> </ProFormText>
+              <ProFormItemV2 label="缁撶畻鍗曞悕绉�:" prop="settlementOrderName">
+                <ProFormText v-model="form.settlementOrderName"> </ProFormText>
               </ProFormItemV2>
             </ProFormColItem>
             <ProFormColItem :span="8">
-              <ProFormItemV2 label="涓婁紶鏃堕棿:" prop="name">
+              <ProFormItemV2 label="涓婁紶鏃堕棿:" prop="settlementOrderTime">
                 <ProFormDatePicker
-                  v-model="form.name"
+                  v-model="form.settlementOrderTime"
                   type="date"
                   format="YYYY-MM-DD HH:mm"
                 ></ProFormDatePicker>
@@ -34,13 +33,13 @@
           </ProFormCol>
           <ProFormCol>
             <ProFormColItem :span="8">
-              <ProFormItemV2 label="缁撶畻閲戦:" prop="money">
-                <ProFormInputNumber v-model="form.money"> </ProFormInputNumber>
+              <ProFormItemV2 label="缁撶畻閲戦:" prop="settlementAmount">
+                <ProFormInputNumber v-model="form.settlementAmount"> </ProFormInputNumber>
               </ProFormItemV2>
             </ProFormColItem>
             <ProFormColItem :span="8">
-              <ProFormItemV2 label="瀹炲彂閲戦:" prop="money">
-                <ProFormInputNumber v-model="form.money"> </ProFormInputNumber>
+              <ProFormItemV2 label="瀹炲彂閲戦:" prop="actualSettlementAmount">
+                <ProFormInputNumber v-model="form.actualSettlementAmount"> </ProFormInputNumber>
               </ProFormItemV2>
             </ProFormColItem>
           </ProFormCol>
@@ -93,6 +92,12 @@
           }"
         >
         </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
+          >
+        </div>
       </ChunkCell>
     </AppScrollContainer>
     <EditAccountInfoDialog v-bind="dialogProps"></EditAccountInfoDialog>
@@ -110,27 +115,27 @@
   ProFormColItem,
   ProFormDatePicker,
   ProFormInputNumber,
-  ProFormRadio,
   useTable,
   ProTableV2,
   defineOperationBtns,
   SearchInput,
   QueryFilterItem,
   ProTableQueryFilterBar,
-  TextOverTooltip,
   useFormDialog,
 } from '@bole-core/components';
-import { Edit, Upload } from '@element-plus/icons-vue';
 import { SettlementListColumns } from './constants';
 import { useQuery } from '@tanstack/vue-query';
-import { downloadFileByUrl } from '@bole-core/core';
 import * as taskServices from '@/services/api/task';
+import * as taskUserServices from '@/services/api/taskUser';
 import EditAccountInfoDialog from './components/EditAccountInfoDialog.vue';
+import { Message } from '@bole-core/core';
 
 defineOptions({
   name: 'ServiceChargeDetail',
 });
 
+const { closeViewPush } = useRouteView();
+const eventContext = useGlobalEventContext();
 const operationBtns = defineOperationBtns([
   {
     data: {
@@ -144,27 +149,36 @@
 ]);
 
 const route = useRoute();
-const id = (route.params.id as string) ?? '';
+const id = (route.query.id as string) ?? '';
+const url = (route.query.url as string) ?? '';
 
 const form = reactive({
   name: '',
-  money: 0,
-  status: 1,
+  settlementAmount: 0,
+  actualSettlementAmount: 0,
+  code: '',
+  settlementOrderName: '',
+  settlementOrderTime: '',
 });
 
 const { isLoading } = useQuery({
-  queryKey: ['taskServices/getTaskInfo', id],
+  queryKey: ['taskServices/getSettlementTask', id],
   queryFn: async () => {
-    return await taskServices.getTaskInfo(
+    return await taskServices.getSettlementTask(
       { id: id },
       {
         showLoading: false,
       }
     );
   },
-  placeholderData: () => ({} as API.GetTaskInfoQueryResult),
+  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,
 });
@@ -178,16 +192,18 @@
 } = useTable(
   async ({ pageIndex, pageSize }, extraParamState) => {
     try {
-      let params: API.GetOpenTaskInfosQuery = {
+      let params: API.GetSettlementTaskUsersQuery = {
         pageModel: {
           rows: pageSize,
           page: pageIndex,
           orderInput: extraParamState.orderInput,
         },
+        taskInfoId: id,
+        // settlementOrderUrl:form.
         keywords: extraParamState.keywords,
       };
 
-      let res = await taskServices.getOpenTaskInfos(params);
+      let res = await taskUserServices.getSettlementTaskUsers(params);
       return res;
     } catch (error) {
       console.log('error: ', error);
@@ -198,7 +214,7 @@
       keywords: '',
       orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
     },
-    queryKey: ['taskServices/getOpenTaskInfos'],
+    queryKey: ['taskUserServices/getOpenTaskInfos'],
     columnsRenderProps: {},
   }
 );
@@ -222,6 +238,28 @@
 
 async function handleAddOrEdit() {}
 
+async function handleSubmit() {
+  try {
+    let params: API.SureTaskSettlementOrderCommand = {
+      taskInfoId: id,
+      settlementOrderUrl: url,
+      taskInfoUsers: [],
+    };
+    let res = await taskServices.sureTaskSettlementOrder(params);
+    if (res) {
+      Message.successMessage('鎿嶄綔鎴愬姛');
+      eventContext.emit('sureTaskSettlementOrder');
+      handleBack();
+    }
+  } catch (error) {}
+}
+
+function handleBack() {
+  closeViewPush(route, {
+    name: 'ServiceChargeManageList',
+  });
+}
+
 onMounted(() => {
   getList();
 });

--
Gitblit v1.9.1