From 36bbbf27de681da9bcf4cfc759f2cb948df5b302 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 16 九月 2025 16:49:14 +0800
Subject: [PATCH] feat: 接口对接

---
 src/views/ServiceChargeManage/ServiceChargeManage.vue |  145 ++++++++++++++++++++++++------------------------
 1 files changed, 72 insertions(+), 73 deletions(-)

diff --git a/src/views/ServiceChargeManage/ServiceChargeManage.vue b/src/views/ServiceChargeManage/ServiceChargeManage.vue
index 6888c19..affb651 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,15 +30,15 @@
               end-placeholder="鎴鏃ユ湡"
               clearable
               @change="getList()"
-              tooltipContent="鍒涘缓鏃堕棿"
+              tooltipContent="缁撶畻鏃堕棿"
             ></FieldDatePicker>
-          </QueryFilterItem> -->
+          </QueryFilterItem>
           <QueryFilterItem>
             <SearchInput
               v-model="extraParamState.keywords"
               style="width: 250px"
               placeholder="浠诲姟鍚嶇О"
-              @on-click-search="getList"
+              @on-click-search="getList()"
               @keyup.enter="getList()"
             >
             </SearchInput>
@@ -46,7 +46,7 @@
         </template>
         <template #btn>
           <el-button type="primary" link @click="handleDownloadTemplate()">缁撶畻鍗曟ā鏉�</el-button>
-          <el-button type="primary" @click="handleAdd()">涓婁紶缁撶畻鍗�</el-button>
+          <!-- <el-button type="primary" @click="handleAdd()">涓婁紶缁撶畻鍗�</el-button> -->
           <!-- <el-button type="primary" @click="handleDownloadTemplate()">瀵煎嚭</el-button> -->
         </template>
       </ProTableQueryFilterBar>
@@ -55,7 +55,7 @@
         :columns="ServiceChargeManageColumns"
         :operationBtns="operationBtns"
       >
-        <template #operationBtn-uploadBtn="{ row }">
+        <!-- <template #operationBtn-uploadBtn="{ row }">
           <BlFileUpload
             v-model:file-url="editForm.settlementUrl"
             ref="uploadRef"
@@ -84,13 +84,12 @@
           >
             <el-button text type="primary" class="pro-table-operation-btn">閲嶆柊涓婁紶</el-button>
           </BlFileUpload>
-        </template>
+        </template> -->
       </ProTableV2>
     </AppContainer>
     <UploadStatementDialog v-bind="dialogProps" />
     <SettleDetailDialog v-bind="dialogSettleProps" />
     <RechargeEnterpriseWalletDialog v-bind="dialogRechargeProps" />
-    <AlipayWalletRecharge v-bind="dialogAlipayWalletProps" />
   </LoadingLayout>
 </template>
 
@@ -117,14 +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 * as enterpriseWalletServices from '@/services/api/enterpriseWallet';
 import { ModelValueType } from 'element-plus';
 import UploadStatementDialog from './components/UploadStatementDialog.vue';
 import SettleDetailDialog from './components/SettleDetailDialog.vue';
 import RechargeEnterpriseWalletDialog from './components/RechargeEnterpriseWalletDialog.vue';
-import AlipayWalletRecharge from './components/AlipayWalletRecharge.vue';
 import { Message } from '@bole-core/core';
 
 defineOptions({
@@ -132,42 +129,42 @@
 });
 
 const operationBtns = defineOperationBtns([
-  {
-    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: '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: API.GetSettlementTasksQueryResultItem) => openSettleDialog(role),
+      onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role, 'settlement'),
     },
     extraProps: {
       hide: (role: API.GetSettlementTasksQueryResultItem) =>
         !(
-          role.settlementOrderStatus === EnumTaskSettlementOrderStatus.Completed &&
-          role.settlementStatus === EnumTaskSettlementStatus.Wait
+          role.settlementStatus === EnumTaskSettlementStatus.Wait &&
+          role.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed
         ),
     },
   },
@@ -181,7 +178,10 @@
     },
     extraProps: {
       hide: (role: API.GetSettlementTasksQueryResultItem) =>
-        role.settlementStatus !== EnumTaskSettlementStatus.InProcess,
+        !(
+          role.settlementStatus === EnumTaskSettlementStatus.InProcess &&
+          role.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed
+        ),
     },
   },
   {
@@ -190,12 +190,12 @@
       name: '璇︽儏',
     },
     emits: {
-      onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role.id),
+      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: {
@@ -250,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, {
@@ -272,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) =>
@@ -295,7 +299,16 @@
 });
 
 async function handleAddOrEdit() {
-  goDetail(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 {
@@ -337,35 +350,12 @@
   handleAdd: handleRechargeAdd,
   editForm: rechargeEditForm,
 } = useFormDialog({
-  onConfirm: rechargeEnterpriseWallet,
   defaultFormParams: {
+    access: EnumEnterpriseWalletAccess.Alipay,
     amount: null as number,
     remark: '',
   },
 });
-
-const { dialogProps: dialogAlipayWalletProps, handleAdd: handleAlipayWalletAdd } = useFormDialog({
-  onConfirm: rechargeEnterpriseWallet,
-  defaultFormParams: {
-    alipayUrl: '',
-  },
-});
-
-async function rechargeEnterpriseWallet() {
-  try {
-    let params: API.RechargeEnterpriseWalletCommand = {
-      access: EnumEnterpriseWalletAccess.Alipay,
-      amount: rechargeEditForm.amount,
-      remark: rechargeEditForm.remark,
-    };
-    let res = await enterpriseWalletServices.rechargeEnterpriseWallet(params);
-    if (res) {
-      handleAlipayWalletAdd({
-        alipayUrl: res.payUrl,
-      });
-    }
-  } catch (error) {}
-}
 
 function openSettleDialog(row: API.GetSettlementTasksQueryResultItem) {
   handleSettleEdit({
@@ -396,23 +386,32 @@
   row: API.GetSettlementTasksQueryResultItem
 ) {
   if (response.path) {
-    goDetail(row.id, response.path);
+    goSettlementDetail(row.id, response.path);
   }
 }
 
-async function goDetail(id: string, url?: string) {
+async function goSettlementDetail(id: string, url?: string) {
   await router.push({
     name: 'ServiceChargeDetail',
     params: {
       id: id,
     },
-    query: {
-      url: url ? url : '',
-    },
   });
   editForm.settlementUrl = [] as UploadUserFile[];
 }
 
+function goDetail(row: API.GetSettlementTasksQueryResultItem, settlement?: string) {
+  router.push({
+    name: 'ServiceChargeDetail',
+    params: {
+      id: row?.id ?? '',
+    },
+    query: {
+      settlement: settlement ? settlement : '',
+    },
+  });
+}
+
 function handleExport(val) {
   console.log('val: ', val);
 }

--
Gitblit v1.9.1