From 600a0319374e7ff53f801777d3dca25951cac1ca Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 21 十月 2025 16:08:50 +0800
Subject: [PATCH] fix: bug

---
 apps/cMiniApp/src/subpackages/mine/mineHired/mineHired.config.ts |    3 
 apps/cMiniApp/src/subpackages/wallet/bindBankCard/InnerPage.vue  |   10 +-
 apps/cMiniApp/src/subpackages/wallet/bindAlipay/InnerPage.vue    |    8 +
 packages/services/apiV2/electronSign.ts                          |   15 +++
 apps/cMiniApp/src/constants/router.ts                            |    1 
 apps/cMiniApp/src/subpackages/mine/mineHire/mineHire.vue         |    2 
 apps/cMiniApp/src/subpackages/mine/mineHired/mineHired.vue       |   17 ++++
 packages/services/apiV2/typings.d.ts                             |   13 ++
 apps/cMiniApp/src/app.config.ts                                  |    1 
 apps/cMiniApp/src/subpackages/mine/mineHired/InnerPage.vue       |  111 +++++++++++++++++++++++++++
 apps/cMiniApp/src/subpackages/mine/mineHire/InnerPage.vue        |   12 +-
 apps/cMiniApp/src/pages/mine/index.vue                           |   25 +++++
 12 files changed, 200 insertions(+), 18 deletions(-)

diff --git a/apps/cMiniApp/src/app.config.ts b/apps/cMiniApp/src/app.config.ts
index daac73e..fa41cff 100644
--- a/apps/cMiniApp/src/app.config.ts
+++ b/apps/cMiniApp/src/app.config.ts
@@ -77,6 +77,7 @@
       pages: [
         'mineSign/mineSign',
         'mineHire/mineHire',
+        'mineHired/mineHired',
         'mineCancel/mineCancel',
         'mineCollectTask/mineCollectTask',
         'mineAgreementSign/mineAgreementSign',
diff --git a/apps/cMiniApp/src/constants/router.ts b/apps/cMiniApp/src/constants/router.ts
index 9ec415c..ad70779 100644
--- a/apps/cMiniApp/src/constants/router.ts
+++ b/apps/cMiniApp/src/constants/router.ts
@@ -33,6 +33,7 @@
 
   mineSign = '/subpackages/mine/mineSign/mineSign',
   mineHire = '/subpackages/mine/mineHire/mineHire',
+  mineHired = '/subpackages/mine/mineHired/mineHired',
   mineCancel = '/subpackages/mine/mineCancel/mineCancel',
   mineCollectTask = '/subpackages/mine/mineCollectTask/mineCollectTask',
   mineAgreementSign = '/subpackages/mine/mineAgreementSign/mineAgreementSign',
diff --git a/apps/cMiniApp/src/pages/mine/index.vue b/apps/cMiniApp/src/pages/mine/index.vue
index 3dc8ac2..2eb33ed 100644
--- a/apps/cMiniApp/src/pages/mine/index.vue
+++ b/apps/cMiniApp/src/pages/mine/index.vue
@@ -95,9 +95,27 @@
             @click="goMineSign"
           >
             <img :src="IconOrderSign" class="mine-order-list-icon" />
-            <div class="mine-order-list-text">鎴戠殑鎶ュ悕</div>
+            <div class="mine-order-list-text">宸叉姤鍚�</div>
           </nut-badge>
           <nut-badge
+            class="mine-order-list-item"
+            top="8"
+            :value="userDetail?.inProcessTaskCount ?? 0"
+            @click="goMineHire"
+          >
+            <img :src="IconOrderHire" class="mine-order-list-icon" />
+            <div class="mine-order-list-text">浠诲姟涓�</div>
+          </nut-badge>
+          <nut-badge
+            class="mine-order-list-item"
+            top="8"
+            :value="userDetail?.hirePassTaskCount ?? 0"
+            @click="goMineHired"
+          >
+            <img :src="IconOrderHire" class="mine-order-list-icon" />
+            <div class="mine-order-list-text">宸插綍鐢�</div>
+          </nut-badge>
+          <!-- <nut-badge
             class="mine-order-list-item"
             top="8"
             :value="userDetail?.hirePassTaskCount ?? 0"
@@ -114,7 +132,7 @@
           >
             <img :src="IconOrderCancel" class="mine-order-list-icon" />
             <div class="mine-order-list-text">宸插彇娑�</div>
-          </nut-badge>
+          </nut-badge> -->
         </div>
       </List>
       <List class="mine-list-wrapper mine-setting-list">
@@ -215,6 +233,9 @@
 function goMineCancel() {
   goPage(RouterPath.mineCancel);
 }
+function goMineHired() {
+  goPage(RouterPath.mineHired);
+}
 function goMineCollectTask() {
   goPage(RouterPath.mineCollectTask);
 }
diff --git a/apps/cMiniApp/src/subpackages/mine/mineHire/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineHire/InnerPage.vue
index 95d9666..03230f5 100644
--- a/apps/cMiniApp/src/subpackages/mine/mineHire/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/mine/mineHire/InnerPage.vue
@@ -1,5 +1,5 @@
 <template>
-  <ProTabs
+  <!-- <ProTabs
     v-model="queryState.status"
     name="home-tab"
     :showPaneContent="false"
@@ -18,7 +18,7 @@
       :title="`宸插畬鎴恅"
       :pane-key="GetPersonalHireTaskInfosQueryStatus.Completed"
     ></ProTabPane>
-  </ProTabs>
+  </ProTabs> -->
   <InfiniteLoading
     scrollViewClassName="common-infinite-scroll-list home-list"
     v-bind="infiniteLoadingProps"
@@ -57,6 +57,7 @@
   GetPersonalHireTaskInfosQueryStatus,
   GetPersonalHireTaskInfosQueryStatusText,
   GetPersonalHireTaskInfosQueryStatusColor,
+  EnumTaskUserArrangeStatus,
 } from '@12333/constants';
 import * as taskServices from '@12333/services/apiV2/task';
 import Taro from '@tarojs/taro';
@@ -77,10 +78,11 @@
         page: pageParam,
         orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
       },
+      arrangeStatus: EnumTaskUserArrangeStatus.Complete,
     };
-    if (Number(queryState.status)) {
-      params.status = queryState.status;
-    }
+    // if (Number(queryState.status)) {
+    //   params.status = queryState.status;
+    // }
     return taskServices.getPersonalHireTaskInfos(params, {
       showLoading: false,
     });
diff --git a/apps/cMiniApp/src/subpackages/mine/mineHire/mineHire.vue b/apps/cMiniApp/src/subpackages/mine/mineHire/mineHire.vue
index 8e27308..30a41f3 100644
--- a/apps/cMiniApp/src/subpackages/mine/mineHire/mineHire.vue
+++ b/apps/cMiniApp/src/subpackages/mine/mineHire/mineHire.vue
@@ -1,5 +1,5 @@
 <template>
-  <PageLayoutWithBg class="mineHire-page-wrapper" :title="'宸插畨鎺�'">
+  <PageLayoutWithBg class="mineHire-page-wrapper" :title="'浠诲姟涓�'">
     <InnerPage></InnerPage>
   </PageLayoutWithBg>
 </template>
diff --git a/apps/cMiniApp/src/subpackages/mine/mineHired/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineHired/InnerPage.vue
new file mode 100644
index 0000000..6bd3a03
--- /dev/null
+++ b/apps/cMiniApp/src/subpackages/mine/mineHired/InnerPage.vue
@@ -0,0 +1,111 @@
+<template>
+  <!-- <ProTabs
+    v-model="queryState.status"
+    name="home-tab"
+    :showPaneContent="false"
+    class="home-tabs"
+    isTransparent
+    title-gutter="12"
+    title-scroll
+  >
+    <ProTabPane :title="`鍏ㄩ儴`" :pane-key="0"></ProTabPane>
+    <ProTabPane :title="`寰呭紑濮媊" :pane-key="GetPersonalHireTaskInfosQueryStatus.Wait"></ProTabPane>
+    <ProTabPane
+      :title="`杩涜涓璥"
+      :pane-key="GetPersonalHireTaskInfosQueryStatus.InProcess"
+    ></ProTabPane>
+    <ProTabPane
+      :title="`宸插畬鎴恅"
+      :pane-key="GetPersonalHireTaskInfosQueryStatus.Completed"
+    ></ProTabPane>
+  </ProTabs> -->
+  <InfiniteLoading
+    scrollViewClassName="common-infinite-scroll-list home-list"
+    v-bind="infiniteLoadingProps"
+    :key="queryState.status"
+  >
+    <template #renderItem="{ item }">
+      <TaskCard
+        :name="item.name"
+        :begin-time="item.beginTime"
+        :end-time="item.endTime"
+        :billing-method="item.billingMethod"
+        :benefits="item.benefits"
+        :service-fee="item.serviceFee"
+        :settlement-cycle="item.settlementCycle"
+        :address-name="item.addressName"
+        @click="goTaskDetail(item)"
+      >
+        <template #actions>
+          <div
+            class="task-card-actions-text"
+            :style="{ color: GetPersonalHireTaskInfosQueryStatusColor[item.status] }"
+          >
+            {{ GetPersonalHireTaskInfosQueryStatusText[item.status] }}
+          </div>
+        </template>
+      </TaskCard>
+    </template>
+  </InfiniteLoading>
+</template>
+
+<script setup lang="ts">
+import { TaskCard, ProTabs, ProTabPane } from '@12333/components';
+import { useInfiniteLoading } from '@12333/hooks';
+import {
+  EnumPagedListOrder,
+  GetPersonalHireTaskInfosQueryStatus,
+  GetPersonalHireTaskInfosQueryStatusText,
+  GetPersonalHireTaskInfosQueryStatusColor,
+  EnumTaskUserHireStatus,
+} from '@12333/constants';
+import * as taskServices from '@12333/services/apiV2/task';
+import Taro from '@tarojs/taro';
+
+defineOptions({
+  name: 'InnerPage',
+});
+
+const queryState = reactive({
+  status: 0 as any as GetPersonalHireTaskInfosQueryStatus,
+});
+
+const { infiniteLoadingProps } = useInfiniteLoading(
+  ({ pageParam }) => {
+    let params: API.GetPersonalHireTaskInfosQuery = {
+      pageModel: {
+        rows: 20,
+        page: pageParam,
+        orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
+      },
+      hireStatus: EnumTaskUserHireStatus.Pass,
+    };
+    // if (Number(queryState.status)) {
+    //   params.status = queryState.status;
+    // }
+    return taskServices.getPersonalHireTaskInfos(params, {
+      showLoading: false,
+    });
+  },
+  {
+    queryKey: ['taskServices/getPersonalHireTaskInfos', queryState],
+  }
+);
+
+function goTaskDetail(item: API.GetPersonalHireTaskInfosQueryResultItem) {
+  Taro.navigateTo({
+    url: `${RouterPath.taskDetail}?id=${item.id}`,
+  });
+}
+</script>
+
+<style lang="scss">
+@import '@/styles/common.scss';
+
+.mineHired-page-wrapper {
+  .task-card-actions-text {
+    font-size: 24px;
+    line-height: 42px;
+  }
+}
+</style>
diff --git a/apps/cMiniApp/src/subpackages/mine/mineHired/mineHired.config.ts b/apps/cMiniApp/src/subpackages/mine/mineHired/mineHired.config.ts
new file mode 100644
index 0000000..305fdb1
--- /dev/null
+++ b/apps/cMiniApp/src/subpackages/mine/mineHired/mineHired.config.ts
@@ -0,0 +1,3 @@
+export default definePageConfig({
+  disableScroll: true,
+});
diff --git a/apps/cMiniApp/src/subpackages/mine/mineHired/mineHired.vue b/apps/cMiniApp/src/subpackages/mine/mineHired/mineHired.vue
new file mode 100644
index 0000000..855ba32
--- /dev/null
+++ b/apps/cMiniApp/src/subpackages/mine/mineHired/mineHired.vue
@@ -0,0 +1,17 @@
+<template>
+  <PageLayoutWithBg class="mineHired-page-wrapper" :title="'宸插綍鐢�'">
+    <InnerPage></InnerPage>
+  </PageLayoutWithBg>
+</template>
+
+<script setup lang="ts">
+import InnerPage from './InnerPage.vue';
+
+defineOptions({
+  name: 'mineHired',
+});
+</script>
+
+<style lang="scss">
+@import '@/styles/common.scss';
+</style>
diff --git a/apps/cMiniApp/src/subpackages/wallet/bindAlipay/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/bindAlipay/InnerPage.vue
index eddc800..48f2006 100644
--- a/apps/cMiniApp/src/subpackages/wallet/bindAlipay/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/wallet/bindAlipay/InnerPage.vue
@@ -12,12 +12,15 @@
 import { EnumUserBankCardAccess } from '@12333/constants';
 import { BindWalletView } from '@12333/components';
 import { usePersonalUserBankCard } from '../hooks';
+import { goBack } from '@/utils';
 
 defineOptions({
   name: 'InnerPage',
 });
 
 const switchTab = useSwitchTab();
+
+const { updateUserInfo } = useUser();
 
 const { detail } = usePersonalUserBankCard({
   access: EnumUserBankCardAccess.AliPay,
@@ -33,9 +36,8 @@
     if (res) {
       Message.success('瑙g粦鎴愬姛', {
         onClosed() {
-          switchTab({
-            url: RouterPath.mine,
-          });
+          updateUserInfo();
+          goBack();
         },
       });
     }
diff --git a/apps/cMiniApp/src/subpackages/wallet/bindBankCard/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/bindBankCard/InnerPage.vue
index b43adc1..287d3a3 100644
--- a/apps/cMiniApp/src/subpackages/wallet/bindBankCard/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/wallet/bindBankCard/InnerPage.vue
@@ -1,6 +1,6 @@
 <template>
   <BindWalletView
-    :type="EnumUserBankCardAccess.AliPay"
+    :type="EnumUserBankCardAccess.Bank"
     :detail="detail"
     @Unbind="handleUnbind"
   ></BindWalletView>
@@ -12,12 +12,13 @@
 import { EnumUserBankCardAccess } from '@12333/constants';
 import { BindWalletView } from '@12333/components';
 import { usePersonalUserBankCard } from '../hooks';
+import { goBack } from '@/utils';
 
 defineOptions({
   name: 'InnerPage',
 });
 
-const switchTab = useSwitchTab();
+const { updateUserInfo } = useUser();
 
 const { detail } = usePersonalUserBankCard({
   access: EnumUserBankCardAccess.Bank,
@@ -33,9 +34,8 @@
     if (res) {
       Message.success('瑙g粦鎴愬姛', {
         onClosed() {
-          switchTab({
-            url: RouterPath.mine,
-          });
+          updateUserInfo();
+          goBack();
         },
       });
     }
diff --git a/packages/services/apiV2/electronSign.ts b/packages/services/apiV2/electronSign.ts
index 40af0af..e7d5a93 100644
--- a/packages/services/apiV2/electronSign.ts
+++ b/packages/services/apiV2/electronSign.ts
@@ -32,6 +32,21 @@
   });
 }
 
+/** 鏍¢獙鍚堝悓妯℃澘涓氬姟缂栧彿鏄惁瀛樺湪 POST /api/user/electronSign/checkExistContractTemplateCode */
+export async function checkExistContractTemplateCode(
+  body: API.CheckExistContractTemplateCodeCommand,
+  options?: API.RequestConfig
+) {
+  return request<boolean>('/api/user/electronSign/checkExistContractTemplateCode', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 鐢靛瓙绛惧洖浼� POST /api/user/electronSign/electronSignCallback */
 export async function electronSignCallback(
   body: API.ElectronSignCallbackCommand,
diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts
index 57302ba..943e9cc 100644
--- a/packages/services/apiV2/typings.d.ts
+++ b/packages/services/apiV2/typings.d.ts
@@ -459,6 +459,13 @@
     accesses?: EnumElectronSignAccess[];
   }
 
+  interface CheckExistContractTemplateCodeCommand {
+    /** 妯℃澘Id锛堢紪杈戞椂浼犲叆锛� */
+    id?: string;
+    /** 涓氬姟缂栧彿 */
+    code: string;
+  }
+
   type CheckHealthQuery = Record<string, any>;
 
   interface CheckOperatorTokenCommand {
@@ -5054,6 +5061,8 @@
   }
 
   interface GetPersonalHireTaskInfosQuery {
+    hireStatus?: EnumTaskUserHireStatus;
+    arrangeStatus?: EnumTaskUserArrangeStatus;
     status?: GetPersonalHireTaskInfosQueryStatus;
     pageModel?: PagedListQueryPageModel;
   }
@@ -6696,14 +6705,14 @@
     identity?: string;
     /** 鎵嬫満鍙� */
     contactPhoneNumber?: string;
+    /** 绱宸ユ椂 */
+    totalWorkHours?: number;
     /** 鎵�灞為摱琛� */
     bank?: string;
     /** 鎵�灞炴敮琛� */
     bankBranch?: string;
     /** 鏀舵璐︽埛 */
     receiveAccount?: string;
-    /** 绱宸ユ椂 */
-    totalWorkHours?: number;
     /** 缁撶畻閲戦 */
     settlementAmount?: number;
     /** 瀹炲彂閲戦 */

--
Gitblit v1.9.1