From e2cbcd64dd60014d82bd898ae51fd827e01e9c18 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期日, 19 十月 2025 16:28:39 +0800
Subject: [PATCH] feat: 1.2.0.1

---
 apps/bMiniApp/src/subpackages/payrollManage/payrollManage/InnerPage.vue            |  130 +++++++++---
 packages/services/apiV2/enterpriseWallet.ts                                        |   27 +-
 apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue                       |    1 
 packages/services/apiV2/typings.d.ts                                               |   73 ++++++
 apps/bMiniApp/src/subpackages/payrollManage/payrollManageDetail/InnerPage.vue      |  188 +++++++++++++++++-
 apps/bMiniApp/src/subpackages/payrollManage/components/PayrollManageDetailCard.vue |   10 
 packages/constants/apiEnum.ts                                                      |   10 +
 packages/services/apiV2/user.ts                                                    |   15 +
 apps/bMiniApp/project.private.config.json                                          |   90 ++++----
 9 files changed, 430 insertions(+), 114 deletions(-)

diff --git a/apps/bMiniApp/project.private.config.json b/apps/bMiniApp/project.private.config.json
index 198f283..ae82573 100644
--- a/apps/bMiniApp/project.private.config.json
+++ b/apps/bMiniApp/project.private.config.json
@@ -1,44 +1,50 @@
 {
-  "description": "椤圭洰绉佹湁閰嶇疆鏂囦欢銆傛鏂囦欢涓殑鍐呭灏嗚鐩� project.config.json 涓殑鐩稿悓瀛楁銆傞」鐩殑鏀瑰姩浼樺厛鍚屾鍒版鏂囦欢涓�傝瑙佹枃妗o細https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
-  "projectname": "bMiniApp",
-  "setting": {
-    "compileHotReLoad": true,
-    "bigPackageSizeSupport": true,
-    "urlCheck": false,
-    "coverView": true,
-    "lazyloadPlaceholderEnable": false,
-    "skylineRenderEnable": false,
-    "preloadBackgroundData": false,
-    "autoAudits": false,
-    "useApiHook": true,
-    "useApiHostProcess": true,
-    "showShadowRootInWxmlPanel": true,
-    "useStaticServer": false,
-    "useLanDebug": false,
-    "showES6CompileOption": false,
-    "checkInvalidKey": true,
-    "ignoreDevUnusedFiles": true,
-    "useIsolateContext": true
-  },
-  "condition": {
-    "miniprogram": {
-      "list": [
-        {
-          "name": "楠屾敹绠$悊",
-          "pathName": "subpackages/task/taskCheck/taskCheck",
-          "query": "",
-          "scene": null,
-          "launchMode": "default"
-        },
-        {
-          "name": "楠屾敹璇︽儏",
-          "pathName": "subpackages/task/taskCheckDetail/taskCheckDetail",
-          "query": "id=927b9898-1e9f-4aec-99aa-08ddf4e125c9&date=2025-10-19&checkReceiveStatus=10",
-          "launchMode": "default",
-          "scene": null
+    "description": "椤圭洰绉佹湁閰嶇疆鏂囦欢銆傛鏂囦欢涓殑鍐呭灏嗚鐩� project.config.json 涓殑鐩稿悓瀛楁銆傞」鐩殑鏀瑰姩浼樺厛鍚屾鍒版鏂囦欢涓�傝瑙佹枃妗o細https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
+    "projectname": "bMiniApp",
+    "setting": {
+        "compileHotReLoad": true,
+        "bigPackageSizeSupport": true,
+        "urlCheck": false,
+        "coverView": true,
+        "lazyloadPlaceholderEnable": false,
+        "preloadBackgroundData": false,
+        "autoAudits": false,
+        "useApiHook": true,
+        "useApiHostProcess": true,
+        "showShadowRootInWxmlPanel": true,
+        "useStaticServer": false,
+        "useLanDebug": false,
+        "showES6CompileOption": false,
+        "checkInvalidKey": true,
+        "ignoreDevUnusedFiles": true,
+        "useIsolateContext": true
+    },
+    "condition": {
+        "miniprogram": {
+            "list": [
+                {
+                    "name": "楠屾敹绠$悊",
+                    "pathName": "subpackages/task/taskCheck/taskCheck",
+                    "query": "",
+                    "launchMode": "default",
+                    "scene": null
+                },
+                {
+                    "name": "楠屾敹璇︽儏",
+                    "pathName": "subpackages/task/taskCheckDetail/taskCheckDetail",
+                    "query": "id=927b9898-1e9f-4aec-99aa-08ddf4e125c9&date=2025-10-19&checkReceiveStatus=10",
+                    "launchMode": "default",
+                    "scene": null
+                },
+                {
+                    "name": "",
+                    "pathName": "subpackages/payrollManage/payrollManageDetail/payrollManageDetail",
+                    "query": "id=22201b25-b058-4774-808c-08de0d1eb0de&operatorToken=47358a9a-02a0-41ef-8da1-0366266af084",
+                    "launchMode": "default",
+                    "scene": null
+                }
+            ]
         }
-      ]
-    }
-  },
-  "libVersion": "3.9.3"
-}
+    },
+    "libVersion": "3.9.3"
+}
\ No newline at end of file
diff --git a/apps/bMiniApp/src/subpackages/payrollManage/components/PayrollManageDetailCard.vue b/apps/bMiniApp/src/subpackages/payrollManage/components/PayrollManageDetailCard.vue
index 63ad84c..43ff9d8 100644
--- a/apps/bMiniApp/src/subpackages/payrollManage/components/PayrollManageDetailCard.vue
+++ b/apps/bMiniApp/src/subpackages/payrollManage/components/PayrollManageDetailCard.vue
@@ -5,11 +5,13 @@
         <div class="payroll-manage-detail-card-container">
           <div class="payroll-manage-detail-card-item">
             <div class="payroll-manage-detail-card-item-label">宸ユ椂锛�</div>
-            <div class="payroll-manage-detail-card-item-text">{{ contactPhoneNumber }}</div>
+            <div class="payroll-manage-detail-card-item-text">{{ totalWorkHours }}</div>
           </div>
           <div class="payroll-manage-detail-card-item">
             <div class="payroll-manage-detail-card-item-label">缁撶畻閲戦锛�</div>
-            <div class="payroll-manage-detail-card-item-text">{{ contactPhoneNumber }}</div>
+            <div class="payroll-manage-detail-card-item-text">
+              {{ `楼${toThousand(settlementAmount)}` }}
+            </div>
           </div>
           <slot name="actions"></slot>
         </div>
@@ -21,6 +23,7 @@
 <script setup lang="ts">
 import { FlexJobTopView } from '@12333/components';
 import { EnumUserGender } from '@12333/constants';
+import { toThousand } from '@12333/utils';
 
 defineOptions({
   name: 'PayrollManageDetailCard',
@@ -31,7 +34,8 @@
   name?: string;
   gender?: EnumUserGender;
   isReal?: boolean;
-  contactPhoneNumber?: string;
+  totalWorkHours: number;
+  settlementAmount?: number;
 };
 
 const props = withDefaults(defineProps<Props>(), {});
diff --git a/apps/bMiniApp/src/subpackages/payrollManage/payrollManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/payrollManage/payrollManage/InnerPage.vue
index 3647a1d..137c23d 100644
--- a/apps/bMiniApp/src/subpackages/payrollManage/payrollManage/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/payrollManage/payrollManage/InnerPage.vue
@@ -1,6 +1,6 @@
 <template>
   <ProTabs
-    v-model="queryMenuState.status"
+    v-model="queryState.paymentStatus"
     name="task-tab"
     :showPaneContent="false"
     class="task-tabs"
@@ -8,74 +8,136 @@
     title-gutter="8"
     title-scroll
   >
-    <ProTabPane :title="`寰呭鏍�(${waitAssignCount})`" :pane-key="EnumTaskStatus.Wait"></ProTabPane>
     <ProTabPane
-      :title="`宸插鏍�(${completedAssignCount})`"
-      :pane-key="EnumTaskStatus.Complete"
+      :title="`寰呭鏍�(${waitAuditCount})`"
+      :pane-key="GetSettlementTasksQueryPaymentStatus.WaitAudit"
     ></ProTabPane>
     <ProTabPane
-      :title="`宸插彂鏀�(${completedAssignCount})`"
-      :pane-key="EnumTaskStatus.Complete"
+      :title="`宸插鏍�(${completedAuditCount})`"
+      :pane-key="GetSettlementTasksQueryPaymentStatus.CompletedAudit"
+    ></ProTabPane>
+    <ProTabPane
+      :title="`宸插彂鏀�(${completedReleaseCount})`"
+      :pane-key="GetSettlementTasksQueryPaymentStatus.CompletedRelease"
     ></ProTabPane>
   </ProTabs>
   <InfiniteLoading
     scrollViewClassName="common-infinite-scroll-list"
     v-bind="infiniteLoadingProps"
-    :key="queryMenuState.status"
+    :key="queryState.paymentStatus"
   >
     <template #renderItem="{ item }">
       <IncomeDetailListItem
-        :title="item.name"
-        :funds="100"
-        :item="dayjs(item.createdTime).format('YYYY-MM-DD HH:mm:ss')"
-        :value="`閽卞寘浣欓锛�${toThousand(item.serviceFee)}`"
-        @click="goPayrollManageDetail(item)"
+        :title="item.code"
+        :funds="item.settlementAmount"
+        :item="dayjs(item.settlementTime).format('YYYY-MM-DD HH:mm:ss')"
+        @click="openPassword(item)"
       >
       </IncomeDetailListItem>
     </template>
   </InfiniteLoading>
+  <nut-short-password
+    v-model="form.password"
+    v-model:visible="form.passwordVisible"
+    @focus="form.showKeyboard = true"
+    tips="璇疯緭鍏ユ搷浣滃瘑鐮�"
+    desc="鏄庣粏闇�杈撳叆鎿嶄綔瀵嗙爜鎵嶈兘鏌ョ湅"
+    :length="6"
+    @complete="complete"
+  >
+  </nut-short-password>
+  <nut-number-keyboard
+    v-model="form.password"
+    v-model:visible="form.showKeyboard"
+    @blur="form.showKeyboard = false"
+  >
+  </nut-number-keyboard>
 </template>
 
 <script setup lang="ts">
 import { ProTabs, ProTabPane, IncomeDetailListItem } from '@12333/components';
 import Taro from '@tarojs/taro';
 import dayjs from 'dayjs';
-import { toThousand } from '@12333/utils';
-import { EnumTaskStatus } from '@12333/constants';
-import { useTaskList } from '@12333/hooks';
+import { GetSettlementTasksQueryPaymentStatus, EnumPagedListOrder } from '@12333/constants';
+import * as taskServices from '@12333/services/apiV2/task';
+import * as userServices from '@12333/services/apiV2/user';
+import { useInfiniteLoading } from '@12333/hooks';
 
 defineOptions({
   name: 'InnerPage',
 });
 
-const { queryMenuState, infiniteLoadingProps } = useTaskList({
-  defaultQueryMenuState: {
-    status: EnumTaskStatus.Wait,
+const form = reactive({
+  password: '',
+  passwordVisible: false,
+  showKeyboard: false,
+  id: '',
+});
+
+const queryState = reactive({
+  paymentStatus: GetSettlementTasksQueryPaymentStatus.WaitAudit,
+});
+
+const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading(
+  ({ pageParam }) => {
+    let params: API.GetSettlementTasksQuery = {
+      pageModel: {
+        rows: 20,
+        page: pageParam,
+        orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
+      },
+      paymentStatus: queryState.paymentStatus,
+    };
+    return taskServices.getSettlementTasks(params, {
+      showLoading: false,
+    });
   },
+  {
+    queryKey: ['taskServices/getSettlementTasks', queryState],
+  }
+);
+
+const completedAuditCount = computed(() => {
+  return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.completedAuditCount ?? 0;
+});
+const waitAuditCount = computed(() => {
+  return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.waitAuditCount ?? 0;
+});
+const completedReleaseCount = computed(() => {
+  return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.completedReleaseCount ?? 0;
 });
 
-const completedAssignCount = computed(() => {
-  return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.completedAssignCount ?? 0;
-});
-const waitAssignCount = computed(() => {
-  return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.waitAssignCount ?? 0;
-});
+function openPassword(item: API.GetSettlementTasksQueryResultItem) {
+  form.passwordVisible = true;
+  form.id = item.id;
+}
 
-function goPayrollManageDetail(item: API.GetTaskInfosQueryResultItem) {
+function complete(value: string) {
+  form.passwordVisible = false;
+  buildOperatorToken(value);
+}
+
+async function buildOperatorToken(value: string) {
+  try {
+    let params: API.BuildOperatorTokenCommand = {
+      password: value,
+    };
+    let res = await userServices.buildOperatorToken(params);
+    if (res) {
+      goPayrollManageDetail(form.id, res.operatorToken);
+    }
+  } catch (error) {
+    form.showKeyboard = false;
+  }
+}
+
+async function goPayrollManageDetail(id: string, operatorToken: string) {
   Taro.navigateTo({
-    url: `${RouterPath.payrollManageDetail}?id=${
-      item.id
-    }&date=${'Fri Oct 17 2025 18:49:01 GMT+0800'}`,
+    url: `${RouterPath.payrollManageDetail}?id=${id}&operatorToken=${operatorToken}`,
   });
 }
 </script>
 
 <style lang="scss">
 @import '@/styles/common.scss';
-
-.taskManage-page-wrapper {
-  .dark-btn {
-    margin-left: 12px;
-  }
-}
 </style>
diff --git a/apps/bMiniApp/src/subpackages/payrollManage/payrollManageDetail/InnerPage.vue b/apps/bMiniApp/src/subpackages/payrollManage/payrollManageDetail/InnerPage.vue
index bdc50ab..c62350c 100644
--- a/apps/bMiniApp/src/subpackages/payrollManage/payrollManageDetail/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/payrollManage/payrollManageDetail/InnerPage.vue
@@ -2,9 +2,48 @@
   <LoadingLayout>
     <ContentView>
       <div class="payroll-manage-detail-top">
-        <div class="payroll-manage-detail-top-title"></div>
+        <div class="payroll-manage-detail-top-title">浠诲姟淇℃伅</div>
         <div class="payroll-manage-detail-top-content">
-          <div class="payroll-manage-detail-top-content-item"></div>
+          <div class="payroll-manage-detail-top-content-item">
+            <div class="payroll-manage-detail-top-content-item-label">浠诲姟鍚嶇О锛�</div>
+            <div class="payroll-manage-detail-top-content-item-text">{{ form.name }}</div>
+          </div>
+          <div class="payroll-manage-detail-top-content-item">
+            <div class="payroll-manage-detail-top-content-item-label">鏈嶅姟璐归噾棰濓細</div>
+            <div class="payroll-manage-detail-top-content-item-text">
+              {{ `${form.serviceFee ?? 0}${EnumBillingMethodText[form.billingMethod]}` }}
+            </div>
+          </div>
+          <div class="payroll-manage-detail-top-content-item">
+            <div class="payroll-manage-detail-top-content-item-label">缁撶畻浜烘暟锛�</div>
+            <div class="payroll-manage-detail-top-content-item-text">
+              {{ `${form.settlementCount ?? 0}浜篳 }}
+            </div>
+          </div>
+          <div class="payroll-manage-detail-top-content-item">
+            <div class="payroll-manage-detail-top-content-item-label">缁撶畻閲戦锛�</div>
+            <div class="payroll-manage-detail-top-content-item-text">
+              {{ `${toThousand(form.settlementAmount ?? 0)}鍏僠 }}
+            </div>
+          </div>
+          <div
+            class="payroll-manage-detail-top-content-item"
+            v-if="form.auditStatus !== EnumTaskSettlementAuditStatus.Wait"
+          >
+            <div class="payroll-manage-detail-top-content-item-label">瀹℃牳鏃堕棿锛�</div>
+            <div class="payroll-manage-detail-top-content-item-text">
+              {{ dayjs(form.auditTime).format('YYYY-MM-DD') }}
+            </div>
+          </div>
+          <div
+            class="payroll-manage-detail-top-content-item"
+            v-if="form.settlementStatus === EnumTaskSettlementStatus.Completed"
+          >
+            <div class="payroll-manage-detail-top-content-item-label">缁撶畻鏃堕棿锛�</div>
+            <div class="payroll-manage-detail-top-content-item-text">
+              {{ dayjs(form.settlementTime).format('YYYY-MM-DD') }}
+            </div>
+          </div>
         </div>
       </div>
       <ChunkTitle title="浜哄憳鍒楄〃" />
@@ -19,22 +58,40 @@
           :name="item.name"
           :gender="item.gender"
           :isReal="item.isReal"
-          :contactPhoneNumber="item.contactPhoneNumber"
-          :checkReceiveStatus="item.checkReceiveStatus"
+          :totalWorkHours="item.totalWorkHours"
+          :settlementAmount="item.settlementAmount"
         />
       </template>
     </InfiniteLoading>
+    <PageFooter v-if="form.">
+      <PageFooterBtn type="primary" @click="auditTaskSettlement(EnumTaskSettlementAuditStatus.Pass)"
+        >瀹℃牳閫氳繃</PageFooterBtn
+      >
+      <PageFooterBtn
+        type="primary"
+        plain
+        @click="auditTaskSettlement(EnumTaskSettlementAuditStatus.Fail)"
+        >椹冲洖</PageFooterBtn
+      >
+    </PageFooter>
   </LoadingLayout>
 </template>
 
 <script setup lang="ts">
 import Taro from '@tarojs/taro';
-import * as taskCheckReceiveServices from '@12333/services/apiV2/taskCheckReceive';
-import { useCheckReceiveTaskUserSubmits, useInfiniteLoading } from '@12333/hooks';
+import * as taskUserServices from '@12333/services/apiV2/taskUser';
+import * as taskServices from '@12333/services/apiV2/task';
+import { useInfiniteLoading } from '@12333/hooks';
+import {
+  EnumBillingMethodText,
+  EnumTaskSettlementAuditStatus,
+  EnumTaskSettlementStatus,
+} from '@12333/constants';
 import PayrollManageDetailCard from '../components/PayrollManageDetailCard.vue';
-import { EnumTaskCheckReceiveStatus } from '@12333/constants';
-import { setOSSLink } from '@12333/utils';
+import { Message, paginateList, setOSSLink, toThousand } from '@12333/utils';
+import { useQuery } from '@tanstack/vue-query';
 import dayjs from 'dayjs';
+import { goBack } from '@/utils';
 
 defineOptions({
   name: 'InnerPage',
@@ -42,27 +99,124 @@
 
 const router = Taro.useRouter();
 const id = router.params?.id ?? '';
-const date = router.params?.date ?? '';
-const checkReceiveStatus = Number(router.params?.checkReceiveStatus);
+const operatorToken = router.params?.operatorToken ?? '';
 
-const { infiniteLoadingProps } = useInfiniteLoading(
+const form = reactive({
+  name: '',
+  serviceFee: 0,
+  settlementCount: 0,
+  settlementAmount: 0,
+  settlementTime: '',
+  auditTime: '',
+  auditStatus: 0,
+  billingMethod: 0,
+  settlementStatus: 0,
+});
+
+const {
+  isLoading,
+  isError,
+  data: detail,
+  refetch,
+} = useQuery({
+  queryKey: ['taskUserServices/getSettlementTaskUsers', id, operatorToken],
+  queryFn: async () => {
+    let res = await taskUserServices.getSettlementTaskUsers(
+      { id: id, operatorToken: operatorToken },
+      {
+        showLoading: false,
+      }
+    );
+    if (res) {
+      form.name = res.detail?.name;
+      form.serviceFee = res.detail?.serviceFee;
+      form.settlementCount = res.data?.length;
+      form.settlementAmount = res.detail?.settlementAmount;
+      form.settlementTime = res.detail?.settlementTime;
+      form.auditTime = res.detail?.auditTime;
+      form.auditStatus = res.detail?.auditStatus;
+      form.settlementStatus = res.detail?.settlementStatus;
+      form.billingMethod = res.detail?.billingMethod;
+    }
+    return res;
+  },
+  placeholderData: () => ({} as API.GetSettlementTaskUsersQueryResult),
+});
+
+const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading(
   ({ pageParam }) => {
     let params: API.GetCheckReceiveTaskQuery = {
       pageModel: {
         rows: 20,
         page: pageParam,
       },
-      taskInfoId: id,
-      date: dayjs(date).format('YYYY-MM-DD'),
-      checkReceiveStatus: 30,
     };
 
-    return taskCheckReceiveServices.getCheckReceiveTask(params, {
-      showLoading: false,
+    return Promise.resolve({
+      pageModel: {
+        rows: 20,
+        page: pageParam,
+        totalCount: detail.value?.data.length,
+      },
+      data: paginateList(detail.value?.data, pageParam, 20),
     });
   },
   {
-    queryKey: ['taskCheckReceiveServices/getCheckReceiveTask'],
+    enabled: computed(() => !!detail.value?.data),
   }
 );
+
+async function auditTaskSettlement(auditStatus: EnumTaskSettlementAuditStatus) {
+  try {
+    let params: API.AuditTaskSettlementCommand = {
+      id: id,
+      operatorToken: operatorToken,
+      auditStatus: auditStatus,
+    };
+    let res = await taskServices.auditTaskSettlement(params);
+    if (res) {
+      Message.success('鎿嶄綔鎴愬姛', {
+        onClosed() {
+          goBack();
+        },
+      });
+    }
+  } catch (error) {}
+}
 </script>
+
+<style lang="scss">
+@import '@/styles/common.scss';
+
+.payrollManageDetail-page-wrapper {
+  .payroll-manage-detail-top {
+    padding: 24px 32px;
+    margin-bottom: 24px;
+    background-color: #fff;
+    border-radius: 12px;
+
+    .payroll-manage-detail-top-title {
+      font-size: 32px;
+      font-weight: bold;
+      margin-bottom: 14px;
+    }
+
+    .payroll-manage-detail-top-content {
+      .payroll-manage-detail-top-content-item {
+        font-size: 24px;
+        line-height: 40px;
+
+        .payroll-manage-detail-top-content-item-label {
+          display: inline-flex;
+          color: boleGetCssVar('text-color', 'primary');
+        }
+
+        .payroll-manage-detail-top-content-item-text {
+          display: inline-flex;
+          color: boleGetCssVar('text-color', 'regular');
+        }
+      }
+    }
+  }
+}
+</style>
diff --git a/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
index 6087e03..985ea7b 100644
--- a/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
@@ -277,7 +277,6 @@
   ChooseInputWithCheckbox,
 } from '@12333/components';
 import { FormValidator, Message } from '@12333/utils';
-import * as flexWorkerServices from '@12333/services/api/FlexWorker';
 import * as taskServices from '@12333/services/apiV2/task';
 import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
 import Taro from '@tarojs/taro';
diff --git a/packages/constants/apiEnum.ts b/packages/constants/apiEnum.ts
index 3d11edb..1c1c992 100644
--- a/packages/constants/apiEnum.ts
+++ b/packages/constants/apiEnum.ts
@@ -819,6 +819,16 @@
   Completed = 20,
 }
 
+/** 鍙戣柂鐘舵�� */
+export enum GetSettlementTasksQueryPaymentStatus {
+  /**寰呭鏍� */
+  WaitAudit = 10,
+  /**宸插鏍� */
+  CompletedAudit = 20,
+  /**宸插彂鏀� */
+  CompletedRelease = 30,
+}
+
 /** 鎴戠殑鎶ュ悕鍒楄〃-璇︽儏-鎸夐挳绫诲瀷 */
 export enum GetTaskInfoQueryResultApplyButton {
   /**寰呯‘璁� */
diff --git a/packages/services/apiV2/enterpriseWallet.ts b/packages/services/apiV2/enterpriseWallet.ts
index 3ad6a31..b146c99 100644
--- a/packages/services/apiV2/enterpriseWallet.ts
+++ b/packages/services/apiV2/enterpriseWallet.ts
@@ -195,6 +195,21 @@
   });
 }
 
+/** 瀵煎嚭浼佷笟浣欓璇︽儏 POST /api/user/enterpriseWallet/exportEnterpriseBalanceDetails */
+export async function exportEnterpriseBalanceDetails(
+  body: API.ExportEnterpriseBalanceDetailsCommand,
+  options?: API.RequestConfig
+) {
+  return request<string>('/api/user/enterpriseWallet/exportEnterpriseBalanceDetails', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 鏀粯瀹濋�氱煡鍥炰紶 GET /api/user/enterpriseWallet/getAlipayNotify */
 export async function getAlipayNotify(
   body: API.GetAlipayNotifyCommand,
@@ -493,18 +508,6 @@
       ...(options || {}),
     }
   );
-}
-
-/** 娴嬭瘯寰俊鏀粯 POST /api/user/enterpriseWallet/testWeChatPay */
-export async function testWeChatPay(body: API.TestWeChatPayCommand, options?: API.RequestConfig) {
-  return request<boolean>('/api/user/enterpriseWallet/testWeChatPay', {
-    method: 'POST',
-    headers: {
-      'Content-Type': 'application/json-patch+json',
-    },
-    data: body,
-    ...(options || {}),
-  });
 }
 
 /** 淇敼浼佷笟寰俊鏀粯閽卞寘缁撶畻璐︽埛 POST /api/user/enterpriseWallet/updateEnterpriseWeChatPayWalletBankAccountInfo */
diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts
index 5dac705..b417c8a 100644
--- a/packages/services/apiV2/typings.d.ts
+++ b/packages/services/apiV2/typings.d.ts
@@ -241,8 +241,10 @@
   interface APIgetSettlementTaskUsersParams {
     /** 缁撶畻璁㈠崟Id */
     id?: string;
-    /** 缁撶畻閫氶亾 */
-    settlementAccess?: EnumEnterpriseWalletAccess;
+    /** 鏄惁瀵煎叆鐢ㄦ埛 */
+    isImport?: boolean;
+    /** 鎿嶄綔浠ょ墝 */
+    operatorToken?: string;
   }
 
   interface APIgetTaskEnterpriseParams {
@@ -350,6 +352,8 @@
     auditStatus?: EnumTaskSettlementAuditStatus;
     /** 瀹℃牳澶囨敞 */
     auditRemark?: string;
+    /** 鎿嶄綔浠ょ墝 */
+    operatorToken?: string;
   }
 
   interface BaiduOcrBusinessLicenseResultModel {
@@ -1331,6 +1335,15 @@
     VERIFY_FAIL = 1,
     /**楠岃瘉涓紝鍟嗘埛鍙彂璧锋彁鐜板皾璇� */
     VERIFYING = 2,
+  }
+
+  interface ExportEnterpriseBalanceDetailsCommand {
+    /** 浼佷笟閽卞寘Id */
+    enterpriseWalletId?: string;
+    /** 鍒涘缓鏃堕棿-璧峰 */
+    createdTimeStart?: string;
+    /** 鍒涘缓鏃堕棿-鎴 */
+    createdTimeEnd?: string;
   }
 
   interface ExportTaskCheckReceiveTaskUsersCommand {
@@ -3492,6 +3505,7 @@
     applyEndTime?: string;
     checkReceiveMethod?: EnumTaskCheckReceiveMethod;
     paymentMethod?: EnumTaskPaymentMethod;
+    settlementAccess?: EnumEnterpriseWalletAccess;
     /** 浠诲姟鎻忚堪 */
     description?: string;
     /** 浠诲姟鍦扮偣鍚嶇О */
@@ -3544,6 +3558,7 @@
     applyEndTime?: string;
     checkReceiveMethod?: EnumTaskCheckReceiveMethod;
     paymentMethod?: EnumTaskPaymentMethod;
+    settlementAccess?: EnumEnterpriseWalletAccess;
     /** 浠诲姟鎻忚堪 */
     description?: string;
     /** 浠诲姟鍦扮偣鍚嶇О */
@@ -4920,6 +4935,7 @@
     applyEndTime?: string;
     checkReceiveMethod?: EnumTaskCheckReceiveMethod;
     paymentMethod?: EnumTaskPaymentMethod;
+    settlementAccess?: EnumEnterpriseWalletAccess;
     /** 浠诲姟鎻忚堪 */
     description?: string;
     billingMethod?: EnumBillingMethod;
@@ -4969,6 +4985,7 @@
     applyEndTime?: string;
     checkReceiveMethod?: EnumTaskCheckReceiveMethod;
     paymentMethod?: EnumTaskPaymentMethod;
+    settlementAccess?: EnumEnterpriseWalletAccess;
     /** 浠诲姟鎻忚堪 */
     description?: string;
     billingMethod?: EnumBillingMethod;
@@ -5011,6 +5028,7 @@
     applyEndTime?: string;
     checkReceiveMethod?: EnumTaskCheckReceiveMethod;
     paymentMethod?: EnumTaskPaymentMethod;
+    settlementAccess?: EnumEnterpriseWalletAccess;
     /** 浠诲姟鎻忚堪 */
     description?: string;
     billingMethod?: EnumBillingMethod;
@@ -5617,6 +5635,7 @@
   interface GetSettlementTasksQuery {
     /** 鍏抽敭瀛� */
     keywords?: string;
+    paymentStatus?: GetSettlementTasksQueryPaymentStatus;
     settlementOrderStatus?: EnumTaskSettlementOrderStatus;
     settlementStatus?: EnumTaskSettlementStatus;
     checkReceiveStatus?: EnumTaskCheckReceiveStatus;
@@ -5627,7 +5646,17 @@
     pageModel?: PagedListQueryPageModel;
   }
 
+  enum GetSettlementTasksQueryPaymentStatus {
+    /**寰呭鏍� */
+    WaitAudit = 10,
+    /**宸插鏍� */
+    CompletedAudit = 20,
+    /**宸插彂鏀� */
+    CompletedRelease = 30,
+  }
+
   interface GetSettlementTasksQueryResult {
+    objectData?: GetSettlementTasksQueryResultObjectData;
     pageModel?: PagedListQueryResultPageModel;
     /** 鏁版嵁 */
     data?: GetSettlementTasksQueryResultItem[];
@@ -5659,6 +5688,16 @@
     settlementRemark?: string;
     /** 缁撶畻浜烘暟 */
     settlementUserCount?: number;
+    auditStatus?: EnumTaskSettlementAuditStatus;
+  }
+
+  interface GetSettlementTasksQueryResultObjectData {
+    /** 寰呭鏍� */
+    waitAuditCount?: number;
+    /** 宸插鏍� */
+    completedAuditCount?: number;
+    /** 宸插彂鏀� */
+    completedReleaseCount?: number;
   }
 
   interface GetSettlementTaskUsersQueryResult {
@@ -5685,6 +5724,7 @@
     verifyWorkHours?: number;
     /** 瓒呮椂鏈嶅姟璐� */
     timeoutServiceFee?: number;
+    settlementAccess?: EnumEnterpriseWalletAccess;
     settlementOrderStatus?: EnumTaskSettlementOrderStatus;
     /** 缁撶畻鍗曞悕绉� */
     settlementOrderName?: string;
@@ -5697,6 +5737,13 @@
     settlementStatus?: EnumTaskSettlementStatus;
     /** 缁撶畻鏃堕棿 */
     settlementTime?: string;
+    auditStatus?: EnumTaskSettlementAuditStatus;
+    /** 瀹℃牳澶囨敞 */
+    auditRemark?: string;
+    /** 瀹℃牳鏃堕棿 */
+    auditTime?: string;
+    /** 瀹℃牳鎿嶄綔浜� */
+    auditOperator?: string;
     /** 澶囨敞 */
     settlementRemark?: string;
   }
@@ -5708,12 +5755,20 @@
     taskInfoUserId?: string;
     /** 鐢ㄦ埛淇℃伅Id */
     userId?: string;
+    /** 澶村儚 */
+    avatar?: string;
     /** 濮撳悕 */
     name?: string;
     /** 韬唤璇佸彿 */
     identity?: string;
     /** 鎵嬫満鍙� */
     contactPhoneNumber?: string;
+    gender?: EnumUserGender;
+    /** 骞撮緞 */
+    age?: number;
+    /** 鏄惁瀹炲悕 */
+    isReal?: boolean;
+    realMethod?: EnumUserRealMethod;
     /** 绱宸ユ椂 */
     totalWorkHours?: number;
     /** 鎵�灞為摱琛� */
@@ -5908,6 +5963,7 @@
     applyEndTime?: string;
     checkReceiveMethod?: EnumTaskCheckReceiveMethod;
     paymentMethod?: EnumTaskPaymentMethod;
+    settlementAccess?: EnumEnterpriseWalletAccess;
     /** 浠诲姟鎻忚堪 */
     description?: string;
     /** 鍒涘缓鏃堕棿 */
@@ -6041,6 +6097,7 @@
     applyEndTime?: string;
     checkReceiveMethod?: EnumTaskCheckReceiveMethod;
     paymentMethod?: EnumTaskPaymentMethod;
+    settlementAccess?: EnumEnterpriseWalletAccess;
     /** 浠诲姟鎻忚堪 */
     description?: string;
     releaseStatus?: EnumTaskReleaseStatus;
@@ -6860,6 +6917,13 @@
     id?: string;
   }
 
+  interface ResetUserOperatorPasswordsCommand {
+    /** Id */
+    ids?: string[];
+    /** 鎿嶄綔瀵嗙爜 */
+    operatorPassword?: string;
+  }
+
   interface ResetUserPasswordsCommand {
     /** Id */
     ids?: string[];
@@ -7246,7 +7310,7 @@
     /** 浠诲姟鍦扮偣鍚嶇О */
     addressName: string;
     /** 浠诲姟鍦扮偣璇︾粏鍦板潃 */
-    addressDetail: string;
+    addressDetail?: string;
     /** 缁忓害 */
     longitude?: number;
     /** 绾害 */
@@ -7261,6 +7325,7 @@
     applyEndTime?: string;
     checkReceiveMethod?: EnumTaskCheckReceiveMethod;
     paymentMethod?: EnumTaskPaymentMethod;
+    settlementAccess?: EnumEnterpriseWalletAccess;
     /** 浠诲姟鎻忚堪 */
     description?: string;
     /** Id */
@@ -7734,8 +7799,6 @@
     /** 澶囨敞 */
     remark?: string;
   }
-
-  type TestWeChatPayCommand = Record<string, any>;
 
   interface UpdateEnterpriseWeChatPayWalletBankAccountInfoCommand {
     /** 浼佷笟Id */
diff --git a/packages/services/apiV2/user.ts b/packages/services/apiV2/user.ts
index eb29746..00b2379 100644
--- a/packages/services/apiV2/user.ts
+++ b/packages/services/apiV2/user.ts
@@ -191,6 +191,21 @@
   });
 }
 
+/** 閲嶇疆鐢ㄦ埛鎿嶄綔瀵嗙爜 POST /api/user/user/resetUserOperatorPasswords */
+export async function resetUserOperatorPasswords(
+  body: API.ResetUserOperatorPasswordsCommand,
+  options?: API.RequestConfig
+) {
+  return request<number>('/api/user/user/resetUserOperatorPasswords', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 閲嶇疆鐢ㄦ埛瀵嗙爜 POST /api/user/user/resetUserPasswords */
 export async function resetUserPasswords(
   body: API.ResetUserPasswordsCommand,

--
Gitblit v1.9.1