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 |   65 +++++++++++++++++++++++++-------
 1 files changed, 50 insertions(+), 15 deletions(-)

diff --git a/src/views/ServiceChargeManage/ServiceChargeManage.vue b/src/views/ServiceChargeManage/ServiceChargeManage.vue
index e72ac87..c85f0b2 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"
@@ -30,9 +30,9 @@
               end-placeholder="鎴鏃ユ湡"
               clearable
               @change="getList()"
-              tooltipContent="鍒涘缓鏃堕棿"
+              tooltipContent="缁撶畻鏃堕棿"
             ></FieldDatePicker>
-          </QueryFilterItem> -->
+          </QueryFilterItem>
           <QueryFilterItem>
             <SearchInput
               v-model="extraParamState.keywords"
@@ -89,6 +89,7 @@
     </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, setOssFileName } 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({
@@ -176,7 +178,10 @@
     },
     extraProps: {
       hide: (role: API.GetSettlementTasksQueryResultItem) =>
-        role.settlementStatus !== EnumTaskSettlementStatus.InProcess,
+        !(
+          role.settlementOrderStatus === EnumTaskSettlementOrderStatus.Completed &&
+          role.settlementStatus === EnumTaskSettlementStatus.InProcess
+        ),
     },
   },
   {
@@ -187,10 +192,10 @@
     emits: {
       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: {
@@ -207,6 +212,8 @@
 ]);
 
 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,9 +274,11 @@
     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) =>
@@ -288,7 +299,16 @@
 });
 
 async function handleAddOrEdit() {
-  goSettlementDetail(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 {
@@ -311,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({
@@ -357,9 +395,6 @@
     name: 'ServiceChargeDetail',
     params: {
       id: id,
-    },
-    query: {
-      url: url ? url : '',
     },
   });
   editForm.settlementUrl = [] as UploadUserFile[];

--
Gitblit v1.9.1