From ca03f54c785cc814b9efa75b3aa1985b1c30e960 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 15 十月 2025 17:29:03 +0800
Subject: [PATCH] feat: 结算调整

---
 src/views/ServiceChargeManage/ServiceChargeManage.vue |   62 +++++++++++++++++++++++--------
 1 files changed, 46 insertions(+), 16 deletions(-)

diff --git a/src/views/ServiceChargeManage/ServiceChargeManage.vue b/src/views/ServiceChargeManage/ServiceChargeManage.vue
index c85f0b2..4555ec4 100644
--- a/src/views/ServiceChargeManage/ServiceChargeManage.vue
+++ b/src/views/ServiceChargeManage/ServiceChargeManage.vue
@@ -3,10 +3,10 @@
     <AppContainer>
       <ProTableQueryFilterBar @on-reset="reset">
         <template #query>
-          <QueryFilterItem tip-content="缁撶畻鍗曠姸鎬�">
+          <QueryFilterItem tip-content="楠屾敹鐘舵��">
             <FieldRadio
-              v-model="extraParamState.settlementOrderStatus"
-              :value-enum="EnumTaskSettlementOrderStatusText"
+              v-model="extraParamState.checkReceiveStatus"
+              :value-enum="EnumTaskCheckReceiveStatusTextForFilter"
               buttonStyle
               showAllBtn
               @change="getList()"
@@ -38,15 +38,15 @@
               v-model="extraParamState.keywords"
               style="width: 250px"
               placeholder="浠诲姟鍚嶇О"
-              @on-click-search="getList"
+              @on-click-search="getList()"
               @keyup.enter="getList()"
             >
             </SearchInput>
           </QueryFilterItem>
         </template>
         <template #btn>
-          <el-button type="primary" link @click="handleDownloadTemplate()">缁撶畻鍗曟ā鏉�</el-button>
-          <el-button type="primary" @click="handleAdd()">涓婁紶缁撶畻鍗�</el-button>
+          <!-- <el-button type="primary" link @click="handleDownloadTemplate()">缁撶畻鍗曟ā鏉�</el-button> -->
+          <!-- <el-button type="primary" @click="handleAdd()">涓婁紶缁撶畻鍗�</el-button> -->
           <!-- <el-button type="primary" @click="handleDownloadTemplate()">瀵煎嚭</el-button> -->
         </template>
       </ProTableQueryFilterBar>
@@ -88,8 +88,9 @@
       </ProTableV2>
     </AppContainer>
     <UploadStatementDialog v-bind="dialogProps" />
-    <SettleDetailDialog v-bind="dialogSettleProps" />
+    <!-- <SettleDetailDialog v-bind="dialogSettleProps" /> -->
     <RechargeEnterpriseWalletDialog v-bind="dialogRechargeProps" />
+    <SettlMethodDialog v-bind="dialogSettlMethodProps" />
   </LoadingLayout>
 </template>
 
@@ -115,12 +116,16 @@
   EnumTaskSettlementOrderStatusText,
   EnumTaskSettlementOrderStatus,
   EnumTaskSettlementStatus,
+  EnumTaskCheckReceiveStatusText,
+  EnumTaskCheckReceiveStatusTextForFilter,
+  EnumTaskCheckReceiveStatus,
 } from '@/constants';
 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 SettlMethodDialog from './components/SettlMethodDialog.vue';
 import RechargeEnterpriseWalletDialog from './components/RechargeEnterpriseWalletDialog.vue';
 import { Message } from '@bole-core/core';
 
@@ -158,13 +163,13 @@
       name: '缁撶畻',
     },
     emits: {
-      onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role, 'settlement'),
+      onClick: (role: API.GetSettlementTasksQueryResultItem) => openSettleMethodDialog(role),
     },
     extraProps: {
       hide: (role: API.GetSettlementTasksQueryResultItem) =>
         !(
-          role.settlementOrderStatus === EnumTaskSettlementOrderStatus.Completed &&
-          role.settlementStatus === EnumTaskSettlementStatus.Wait
+          role.settlementStatus === EnumTaskSettlementStatus.Wait &&
+          role.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed
         ),
     },
   },
@@ -179,8 +184,8 @@
     extraProps: {
       hide: (role: API.GetSettlementTasksQueryResultItem) =>
         !(
-          role.settlementOrderStatus === EnumTaskSettlementOrderStatus.Completed &&
-          role.settlementStatus === EnumTaskSettlementStatus.InProcess
+          role.settlementStatus === EnumTaskSettlementStatus.InProcess &&
+          role.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed
         ),
     },
   },
@@ -190,7 +195,7 @@
       name: '璇︽儏',
     },
     emits: {
-      onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role),
+      onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role.id),
     },
     // extraProps: {
     //   hide: (role: API.GetSettlementTasksQueryResultItem) =>
@@ -248,7 +253,7 @@
           orderInput: extraParamState.orderInput,
         },
         keywords: extraParamState.keywords,
-        settlementOrderStatus: extraParamState.settlementOrderStatus,
+        checkReceiveStatus: extraParamState.checkReceiveStatus,
         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'),
@@ -266,6 +271,7 @@
     defaultExtraParams: {
       keywords: '',
       settlementOrderStatus: '' as any as EnumTaskSettlementOrderStatus,
+      checkReceiveStatus: '' as any as EnumTaskCheckReceiveStatus,
       settlementStatus: '' as any as EnumTaskSettlementStatus,
       time: [] as unknown as ModelValueType,
       orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
@@ -400,14 +406,38 @@
   editForm.settlementUrl = [] as UploadUserFile[];
 }
 
-function goDetail(row: API.GetSettlementTasksQueryResultItem, settlement?: string) {
+const {
+  dialogProps: dialogSettlMethodProps,
+  handleAdd: handleSettlMethodAdd,
+  editForm: settlMethodEditForm,
+} = useFormDialog({
+  onConfirm: handleSettlMethod,
+  defaultFormParams: {
+    id: '',
+    settlementAccess: '' as any as EnumEnterpriseWalletAccess,
+  },
+});
+
+function openSettleMethodDialog(row: API.GetSettlementTasksQueryResultItem) {
+  handleSettlMethodAdd({
+    id: row.id,
+    settlementAccess: '' as any as EnumEnterpriseWalletAccess,
+  });
+}
+
+async function handleSettlMethod() {
+  goDetail(settlMethodEditForm.id, 'settlement', settlMethodEditForm.settlementAccess);
+}
+
+function goDetail(id: string, settlement?: string, settlementAccess?: EnumEnterpriseWalletAccess) {
   router.push({
     name: 'ServiceChargeDetail',
     params: {
-      id: row?.id ?? '',
+      id: id ?? '',
     },
     query: {
       settlement: settlement ? settlement : '',
+      settlementAccess: settlementAccess ? settlementAccess : '',
     },
   });
 }

--
Gitblit v1.9.1