From 762ee921146f8557c2b9ce96df36ad85959c0f18 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 24 十月 2025 11:30:19 +0800
Subject: [PATCH] fix: bug

---
 apps/bMiniApp/src/subpackages/payrollManage/payrollManageDetail/InnerPage.vue |   71 ++++++++++++++++++++++++++++++++---
 1 files changed, 65 insertions(+), 6 deletions(-)

diff --git a/apps/bMiniApp/src/subpackages/payrollManage/payrollManageDetail/InnerPage.vue b/apps/bMiniApp/src/subpackages/payrollManage/payrollManageDetail/InnerPage.vue
index c62350c..95f4321 100644
--- a/apps/bMiniApp/src/subpackages/payrollManage/payrollManageDetail/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/payrollManage/payrollManageDetail/InnerPage.vue
@@ -58,12 +58,18 @@
           :name="item.name"
           :gender="item.gender"
           :isReal="item.isReal"
-          :totalWorkHours="item.totalWorkHours"
+          :totalWorkHours="item.timeoutHours"
           :settlementAmount="item.settlementAmount"
-        />
+        >
+          <template #actions v-if="form.auditStatus === EnumTaskSettlementAuditStatus.Wait">
+            <div class="payroll-manage-detail-card-actions">
+              <nut-button type="primary" plain @click="goPayrollChange(item)">淇敼</nut-button>
+            </div>
+          </template>
+        </PayrollManageDetailCard>
       </template>
     </InfiniteLoading>
-    <PageFooter v-if="form.">
+    <PageFooter v-if="form.auditStatus === EnumTaskSettlementAuditStatus.Wait">
       <PageFooterBtn type="primary" @click="auditTaskSettlement(EnumTaskSettlementAuditStatus.Pass)"
         >瀹℃牳閫氳繃</PageFooterBtn
       >
@@ -111,6 +117,12 @@
   auditStatus: 0,
   billingMethod: 0,
   settlementStatus: 0,
+
+  settlementTaskUsers: [] as API.GetSettlementTaskUsersQueryResultItem[],
+});
+
+const state = reactive({
+  isLoaded: false,
 });
 
 const {
@@ -141,6 +153,12 @@
     return res;
   },
   placeholderData: () => ({} as API.GetSettlementTaskUsersQueryResult),
+  onSuccess(res) {
+    if (!state.isLoaded) {
+      form.settlementTaskUsers = res?.data ?? [];
+      state.isLoaded = true;
+    }
+  },
 });
 
 const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading(
@@ -156,13 +174,13 @@
       pageModel: {
         rows: 20,
         page: pageParam,
-        totalCount: detail.value?.data.length,
+        totalCount: form.settlementTaskUsers.length,
       },
-      data: paginateList(detail.value?.data, pageParam, 20),
+      data: paginateList(form.settlementTaskUsers, pageParam, 20),
     });
   },
   {
-    enabled: computed(() => !!detail.value?.data),
+    enabled: computed(() => form.settlementTaskUsers?.length > 0),
   }
 );
 
@@ -172,6 +190,15 @@
       id: id,
       operatorToken: operatorToken,
       auditStatus: auditStatus,
+      rosters: form.settlementTaskUsers.map((item) => ({
+        id: item.id,
+        serviceFee: item.serviceFee,
+        timeoutHours: item.timeoutHours,
+        timeoutFee: item.timeoutFee,
+        otherFee: item.otherFee,
+        remark: item.remark,
+        settlementAmount: item.settlementAmount,
+      })),
     };
     let res = await taskServices.auditTaskSettlement(params);
     if (res) {
@@ -182,6 +209,32 @@
       });
     }
   } catch (error) {}
+}
+
+function goPayrollChange(item: API.GetSettlementTaskUsersQueryResultItem) {
+  Taro.navigateTo({
+    url: `${RouterPath.payrollChange}?orderRosterId=${item.id}&settleId=${id}&operatorToken=${operatorToken}`,
+    events: {
+      update: function (params: API.EditTaskSettlementOrderRosterCommand) {
+        // refetch();
+        form.settlementTaskUsers = form.settlementTaskUsers.map((item) => {
+          if (item.id == params.id) {
+            item.settlementAmount = params.settlementAmount;
+            item.actualSettlementAmount = params.actualSettlementAmount;
+            item.receiveAccount = params.receiveAccount;
+            item.bank = params.bank;
+            item.serviceFee = params.serviceFee;
+            item.timeoutHours = params.timeoutHours;
+            item.timeoutFee = params.timeoutFee;
+            item.otherFee = params.otherFee;
+            item.remark = params.remark;
+            return item;
+          }
+          return item;
+        });
+      },
+    },
+  });
 }
 </script>
 
@@ -218,5 +271,11 @@
       }
     }
   }
+
+  .payroll-manage-detail-card-actions {
+    --nut-button-default-height: 24px;
+
+    text-align: right;
+  }
 }
 </style>

--
Gitblit v1.9.1