From a2f75928b5abc29949e5655a687a5ad0a77533ac Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 23 十二月 2025 09:08:37 +0800
Subject: [PATCH] fix: 甲方小程序

---
 apps/housekeepingMiniApp/src/custom-tab-bar/index.tsx                                         |    8 
 apps/cStandardMiniApp/config/dev.js                                                           |    1 
 apps/housekeepingMiniApp/src/pages/mine/index.vue                                             |  130 +-------
 apps/housekeepingMiniApp/src/components/Card/ReserveServiceCard.vue                           |  204 ++++++++++++++
 apps/housekeepingMiniApp/src/pages/service/3x_categoryData.ts                                 |    0 
 apps/housekeepingMiniApp/src/pages/mine/index.scss                                            |   14 
 apps/housekeepingMiniApp/config/index.js                                                      |    4 
 apps/housekeepingMiniApp/src/pages/service/service.config.ts                                  |    0 
 apps/housekeepingMiniApp/src/subpackages/sercice/serciceDetail/serciceDetail.vue              |   28 ++
 apps/housekeepingMiniApp/src/pages/service/service.vue                                        |    0 
 apps/housekeepingMiniApp/src/subpackages/mine/mineOrderManage/mineOrderManage.config.ts       |    0 
 apps/housekeepingMiniApp/src/subpackages/mine/mineOrderManage/InnerPage.vue                   |   93 ++++++
 apps/housekeepingMiniApp/src/subpackages/mine/mineReserveService/mineReserveService.config.ts |    0 
 apps/housekeepingMiniApp/src/pages/home/index.vue                                             |   20 +
 apps/housekeepingMiniApp/src/subpackages/mine/mineReserveService/InnerPage.vue                |   51 +--
 apps/housekeepingMiniApp/project.private.config.json                                          |   42 ++
 apps/housekeepingMiniApp/src/pages/service/InnerPage.vue                                      |    0 
 apps/housekeepingMiniApp/src/subpackages/mine/mineOrderManage/mineOrderManage.vue             |    4 
 apps/bStandardMiniApp/config/index.js                                                         |    2 
 apps/housekeepingMiniApp/src/subpackages/mine/mineReserveService/mineReserveService.vue       |    4 
 apps/housekeepingMiniApp/src/subpackages/sercice/serciceDetail/serciceDetail.config.ts        |    0 
 apps/housekeepingMiniApp/project.config.json                                                  |    4 
 /dev/null                                                                                     |   17 -
 apps/housekeepingMiniApp/src/subpackages/mine/setting/setting.vue                             |   30 --
 apps/housekeepingMiniApp/config/dev.js                                                        |    1 
 apps/housekeepingMiniApp/src/constants/tabBar.ts                                              |    4 
 apps/housekeepingMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue                   |   75 +----
 apps/cStandardMiniApp/config/index.js                                                         |    4 
 apps/housekeepingMiniApp/src/app.config.ts                                                    |   27 -
 apps/housekeepingMiniApp/src/constants/router.ts                                              |   21 -
 30 files changed, 488 insertions(+), 300 deletions(-)

diff --git a/apps/bStandardMiniApp/config/index.js b/apps/bStandardMiniApp/config/index.js
index 9ccd923..5ab37c5 100644
--- a/apps/bStandardMiniApp/config/index.js
+++ b/apps/bStandardMiniApp/config/index.js
@@ -108,7 +108,7 @@
       if (process.env.NODE_ENV === 'development') {
         chain
           .plugin('analyzer')
-          .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin, [{ analyzerPort: 8889 }]);
+          .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin, [{ analyzerPort: 8789 }]);
       }
 
       chain.plugin('unplugin-auto-import').use(
diff --git a/apps/cStandardMiniApp/config/dev.js b/apps/cStandardMiniApp/config/dev.js
index c84544a..e039fdb 100644
--- a/apps/cStandardMiniApp/config/dev.js
+++ b/apps/cStandardMiniApp/config/dev.js
@@ -16,6 +16,7 @@
       '@tarojs/plugin-mock',
       {
         mocks: mocks,
+        port: 9528,
       },
     ],
   ],
diff --git a/apps/cStandardMiniApp/config/index.js b/apps/cStandardMiniApp/config/index.js
index 14ef20c..794424f 100644
--- a/apps/cStandardMiniApp/config/index.js
+++ b/apps/cStandardMiniApp/config/index.js
@@ -106,7 +106,9 @@
     },
     webpackChain(chain, webpack) {
       if (process.env.NODE_ENV === 'development') {
-        chain.plugin('analyzer').use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin, []);
+        chain
+          .plugin('analyzer')
+          .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin, [{ analyzerPort: 8787 }]);
       }
 
       chain.plugin('unplugin-auto-import').use(
diff --git a/apps/housekeepingMiniApp/config/dev.js b/apps/housekeepingMiniApp/config/dev.js
index c84544a..98685b4 100644
--- a/apps/housekeepingMiniApp/config/dev.js
+++ b/apps/housekeepingMiniApp/config/dev.js
@@ -16,6 +16,7 @@
       '@tarojs/plugin-mock',
       {
         mocks: mocks,
+        port: 9529,
       },
     ],
   ],
diff --git a/apps/housekeepingMiniApp/config/index.js b/apps/housekeepingMiniApp/config/index.js
index 14ef20c..6b02ddf 100644
--- a/apps/housekeepingMiniApp/config/index.js
+++ b/apps/housekeepingMiniApp/config/index.js
@@ -106,7 +106,9 @@
     },
     webpackChain(chain, webpack) {
       if (process.env.NODE_ENV === 'development') {
-        chain.plugin('analyzer').use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin, []);
+        chain
+          .plugin('analyzer')
+          .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin, [{ analyzerPort: 8788 }]);
       }
 
       chain.plugin('unplugin-auto-import').use(
diff --git a/apps/housekeepingMiniApp/project.config.json b/apps/housekeepingMiniApp/project.config.json
index 6b6163a..65342d4 100644
--- a/apps/housekeepingMiniApp/project.config.json
+++ b/apps/housekeepingMiniApp/project.config.json
@@ -3,8 +3,8 @@
     "description": "",
     "setting": {
         "urlCheck": false,
-        "es6": true,
-        "enhance": true,
+        "es6": false,
+        "enhance": false,
         "postcss": false,
         "preloadBackgroundData": false,
         "minified": false,
diff --git a/apps/housekeepingMiniApp/project.private.config.json b/apps/housekeepingMiniApp/project.private.config.json
index a4a6932..411eb40 100644
--- a/apps/housekeepingMiniApp/project.private.config.json
+++ b/apps/housekeepingMiniApp/project.private.config.json
@@ -19,6 +19,46 @@
         "ignoreDevUnusedFiles": true,
         "useIsolateContext": true
     },
-    "condition": {},
+    "condition": {
+        "miniprogram": {
+            "list": [
+                {
+                    "name": "璁剧疆",
+                    "pathName": "subpackages/mine/setting/setting",
+                    "query": "",
+                    "scene": null,
+                    "launchMode": "default"
+                },
+                {
+                    "name": "鏀惰棌",
+                    "pathName": "subpackages/mine/mineCollectTask/mineCollectTask",
+                    "query": "",
+                    "launchMode": "default",
+                    "scene": null
+                },
+                {
+                    "name": "鎴戠殑璁㈠崟",
+                    "pathName": "subpackages/mine/mineOrderManage/mineOrderManage",
+                    "query": "",
+                    "launchMode": "default",
+                    "scene": null
+                },
+                {
+                    "name": "鎴戠殑棰勭害",
+                    "pathName": "subpackages/mine/mineReserveService/mineReserveService",
+                    "query": "",
+                    "launchMode": "default",
+                    "scene": null
+                },
+                {
+                    "name": "鎴戠殑",
+                    "pathName": "pages/mine/index",
+                    "query": "",
+                    "launchMode": "default",
+                    "scene": null
+                }
+            ]
+        }
+    },
     "libVersion": "3.11.2"
 }
\ No newline at end of file
diff --git a/apps/housekeepingMiniApp/src/app.config.ts b/apps/housekeepingMiniApp/src/app.config.ts
index fdd4e46..2abdf2f 100644
--- a/apps/housekeepingMiniApp/src/app.config.ts
+++ b/apps/housekeepingMiniApp/src/app.config.ts
@@ -1,6 +1,6 @@
 export default defineAppConfig({
   entryPagePath: 'pages/home/index',
-  pages: ['pages/home/index', 'pages/task/task', 'pages/mine/index'],
+  pages: ['pages/home/index', 'pages/service/service', 'pages/mine/index'],
   requiredPrivateInfos: ['getLocation', 'chooseLocation'],
   permission: {
     'scope.userLocation': {
@@ -26,7 +26,7 @@
         text: '棣栭〉',
       },
       {
-        pagePath: 'pages/task/task',
+        pagePath: 'pages/service/service',
         iconPath: 'assets/tabbar/icon-task.png',
         selectedIconPath: 'assets/tabbar/icon-task-active.png',
         text: '鏈嶅姟',
@@ -75,30 +75,15 @@
     {
       root: 'subpackages/mine',
       pages: [
-        'mineSign/mineSign',
-        'mineHire/mineHire',
-        'mineHired/mineHired',
-        'mineCancel/mineCancel',
         'mineCollectTask/mineCollectTask',
-        'mineAgreementSign/mineAgreementSign',
-        'mineAgreementSignDetail/mineAgreementSignDetail',
+        'mineReserveService/mineReserveService',
+        'mineOrderManage/mineOrderManage',
         'setting/setting',
       ],
     },
     {
-      root: 'subpackages/wallet',
-      pages: [
-        'mineWallet/mineWallet',
-        'bindBankCard/bindBankCard',
-        'unboundBankCard/unboundBankCard',
-        'unboundAlipay/unboundAlipay',
-        'bindAlipay/bindAlipay',
-        'incomeDetail/incomeDetail',
-        'incomeDetailInfo/incomeDetailInfo',
-        'withdraw/withdraw',
-        'withdrawResult/withdrawResult',
-        'withdrawDetailInfo/withdrawDetailInfo',
-      ],
+      root: 'subpackages/sercice',
+      pages: ['serciceDetail/serciceDetail'],
     },
     {
       root: 'subpackages/user',
diff --git a/apps/housekeepingMiniApp/src/components/Card/ReserveServiceCard.vue b/apps/housekeepingMiniApp/src/components/Card/ReserveServiceCard.vue
new file mode 100644
index 0000000..01f128c
--- /dev/null
+++ b/apps/housekeepingMiniApp/src/components/Card/ReserveServiceCard.vue
@@ -0,0 +1,204 @@
+<template>
+  <div class="reserve-service-card-wrapper" :class="{ 'un-read': unRead }">
+    <div class="reserve-service-card-title-wrapper">
+      <div class="reserve-service-card-title">{{ name }}</div>
+      <slot name="title-right">
+        <TaskPrice
+          v-if="releaseStatus !== EnumTaskReleaseStatus.Stopped"
+          :value="toThousand(serviceFee ?? 0)"
+          :unit="BillingMethodEnumUnit[billingMethod]"
+          :billingMethod="billingMethod"
+        />
+      </slot>
+    </div>
+    <div class="reserve-service-card-item-list">
+      <div class="reserve-service-card-item">
+        鏈嶅姟鏃堕棿锛歿{ dayjs(beginTime).format('YYYY骞碝M鏈圖鏃�') }} 13:00-15:00
+      </div>
+      <div class="reserve-service-card-item">鏈嶅姟鍦板潃锛歿{ addressName }}</div>
+    </div>
+
+    <div class="reserve-service-card-footer">
+      <div class="reserve-service-card-left">
+        <div class="reserve-service-card-footer-address">鏈嶅姟鏈烘瀯锛氭垜鏄満鏋勫悕绉�</div>
+      </div>
+      <div class="reserve-service-card-status">寰呯‘璁�</div>
+    </div>
+  </div>
+</template>
+
+<script setup lang="ts">
+import {
+  EnumBillingMethod,
+  EnumSettlementCycle,
+  EnumTaskCheckReceiveStatus,
+  EnumTaskRecommendStatus,
+  EnumTaskReleaseStatus,
+  EnumTaskSettlementStatus,
+  EnumTaskStatus,
+  EnumUserGender,
+  EnumBillingMethodText,
+  EnumUserGenderText,
+  EnumSettlementCycleText,
+  BillingMethodEnumUnit,
+  EnumTaskUserHireStatus,
+} from '@12333/constants';
+import dayjs from 'dayjs';
+import { TaskUtils, toThousand } from '@12333/utils';
+import { TaskPrice } from '@12333/components';
+
+defineOptions({
+  name: 'ReserveServiceCard',
+});
+
+type Props = {
+  /** Id */
+  id?: string;
+  /** 浠诲姟鍚嶇О */
+  name: string;
+  /** 浠诲姟鍗曞彿 */
+  code?: string;
+  billingMethod?: EnumBillingMethod;
+  /** 鏈嶅姟璐� */
+  serviceFee?: number;
+  settlementCycle?: EnumSettlementCycle;
+  /** 绂忓埄 */
+  benefits?: API.GetTaskInfoQueryResultBenefit[];
+  genderLimit?: EnumUserGender;
+  /** 璧勬牸璇佷功绫诲瀷 */
+  credentialLimits?: API.GetTaskInfoQueryResultCredentialLimit[];
+  /** 浠诲姟鍦扮偣鎵�灞炵渷浠界紪鍙� */
+  provinceCode?: string;
+  /** 浠诲姟鍦扮偣鎵�灞炵渷浠� */
+  provinceContent?: string;
+  /** 浠诲姟鍦扮偣鎵�灞炲煄甯傜紪鍙� */
+  cityCode?: string;
+  /** 浠诲姟鍦扮偣鎵�灞炲煄甯� */
+  cityContent?: string;
+  /** 浠诲姟鍦扮偣鍚嶇О */
+  addressName?: string;
+  /** 浠诲姟鍦扮偣璇︾粏鍦板潃 */
+  addressDetail?: string;
+  /** 缁忓害 */
+  longitude?: number;
+  /** 绾害 */
+  latitude?: number;
+  /** 鎶ュ悕浜烘暟 */
+  userCount?: number;
+  status?: EnumTaskStatus;
+  /** 浠诲姟寮�濮嬫椂闂� */
+  beginTime?: string;
+  /** 浠诲姟缁撴潫鏃堕棿 */
+  endTime?: string;
+  releaseStatus?: EnumTaskReleaseStatus;
+  checkReceiveStatus?: EnumTaskCheckReceiveStatus;
+  settlementStatus?: EnumTaskSettlementStatus;
+  recommendStatus?: EnumTaskRecommendStatus;
+  /** 鍒涘缓鏃堕棿 */
+  createdTime?: string;
+  hireStatus?: EnumTaskUserHireStatus;
+
+  unRead?: boolean;
+};
+
+const props = withDefaults(defineProps<Props>(), {
+  showActions: true,
+
+  unRead: false,
+});
+
+const emit = defineEmits<{
+  (e: 'apply', id: string): void;
+}>();
+</script>
+
+<style lang="scss">
+@import '@/styles/common.scss';
+
+.reserve-service-card-wrapper {
+  padding: 24px 32px;
+  margin-bottom: 24px;
+  background-color: #fff;
+  border-radius: 12px;
+
+  .task-price {
+    color: boleGetCssVar('color', 'danger');
+  }
+
+  &.un-read {
+    position: relative;
+
+    &::before {
+      content: '';
+      position: absolute;
+      width: 12px;
+      height: 12px;
+      border-radius: 50%;
+      background-color: red;
+      right: 18px;
+      top: 12px;
+    }
+  }
+
+  &:last-child {
+    margin-bottom: 0;
+  }
+
+  .reserve-service-card-title-wrapper {
+    display: flex;
+    align-items: center;
+    margin-bottom: 14px;
+
+    .reserve-service-card-title {
+      flex: 1;
+      min-width: 0;
+      @include ellipsis;
+      font-size: 30px;
+      color: boleGetCssVar('text-color', 'primary');
+      line-height: 42px;
+    }
+  }
+
+  .reserve-service-card-item-list {
+    margin-bottom: 6px;
+
+    .reserve-service-card-item {
+      font-size: 24px;
+      color: boleGetCssVar('text-color', 'regular');
+      line-height: 36px;
+      margin-bottom: 6px;
+
+      &:last-child {
+        margin-bottom: 0;
+      }
+    }
+  }
+
+  .reserve-service-card-footer {
+    display: flex;
+    align-items: center;
+
+    .reserve-service-card-left {
+      flex: 1;
+      min-width: 0;
+      display: flex;
+      align-items: center;
+
+      .reserve-service-card-footer-address {
+        font-size: 24px;
+        color: boleGetCssVar('text-color', 'regular');
+        line-height: 36px;
+        flex: 1;
+        min-width: 0;
+        @include ellipsis;
+      }
+    }
+
+    .reserve-service-card-status {
+      font-size: 32px;
+      color: boleGetCssVar('text-color', 'regular');
+      line-height: 36px;
+    }
+  }
+}
+</style>
diff --git a/apps/housekeepingMiniApp/src/constants/router.ts b/apps/housekeepingMiniApp/src/constants/router.ts
index 2f62a74..8815c54 100644
--- a/apps/housekeepingMiniApp/src/constants/router.ts
+++ b/apps/housekeepingMiniApp/src/constants/router.ts
@@ -6,7 +6,7 @@
   loginByForm = '/subpackages/login/loginByForm/loginByForm',
   registerForm = '/subpackages/login/registerForm/registerForm',
   home = '/pages/home/index',
-  task = '/pages/task/task',
+  service = '/pages/service/service',
   mine = '/pages/mine/index',
   editRichContent = '/subpackages/editRichContent/editRichContent',
 
@@ -20,25 +20,12 @@
   authenticationFace = '/subpackages/authentication/authenticationFace/authenticationFace',
   citySelect = '/subpackages/city/citySelect/citySelect',
 
-  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',
-  mineAgreementSignDetail = '/subpackages/mine/mineAgreementSignDetail/mineAgreementSignDetail',
+  mineReserveService = '/subpackages/mine/mineReserveService/mineReserveService',
+  mineOrderManage = '/subpackages/mine/mineOrderManage/mineOrderManage',
   setting = '/subpackages/mine/setting/setting',
 
-  mineWallet = '/subpackages/wallet/mineWallet/mineWallet',
-  unboundBankCard = '/subpackages/wallet/unboundBankCard/unboundBankCard',
-  bindBankCard = '/subpackages/wallet/bindBankCard/bindBankCard',
-  unboundAlipay = '/subpackages/wallet/unboundAlipay/unboundAlipay',
-  bindAlipay = '/subpackages/wallet/bindAlipay/bindAlipay',
-  incomeDetail = '/subpackages/wallet/incomeDetail/incomeDetail',
-  incomeDetailInfo = '/subpackages/wallet/incomeDetailInfo/incomeDetailInfo',
-  withdraw = '/subpackages/wallet/withdraw/withdraw',
-  withdrawResult = '/subpackages/wallet/withdrawResult/withdrawResult',
-  withdrawDetailInfo = '/subpackages/wallet/withdrawDetailInfo/withdrawDetailInfo',
+  serciceDetail = '/subpackages/sercice/serciceDetail/serciceDetail',
 
   extraPage = '/subpackages/extraPage/extraPage/extraPage',
 }
diff --git a/apps/housekeepingMiniApp/src/constants/tabBar.ts b/apps/housekeepingMiniApp/src/constants/tabBar.ts
index aec3007..1471342 100644
--- a/apps/housekeepingMiniApp/src/constants/tabBar.ts
+++ b/apps/housekeepingMiniApp/src/constants/tabBar.ts
@@ -1,11 +1,11 @@
 export const TabBarPageRouter = {
   Home: '/pages/home/index',
-  Task: '/pages/task/task',
+  Service: '/pages/service/service',
   Mine: '/pages/mine/index',
 };
 
 export const TabBarPageRouterList = [
   TabBarPageRouter.Home,
-  TabBarPageRouter.Task,
+  TabBarPageRouter.Service,
   TabBarPageRouter.Mine,
 ];
diff --git a/apps/housekeepingMiniApp/src/custom-tab-bar/index.tsx b/apps/housekeepingMiniApp/src/custom-tab-bar/index.tsx
index 44fb564..f376b3a 100644
--- a/apps/housekeepingMiniApp/src/custom-tab-bar/index.tsx
+++ b/apps/housekeepingMiniApp/src/custom-tab-bar/index.tsx
@@ -49,7 +49,7 @@
   click: (url: string, index: number) => typeof url === 'string',
 };
 
-const whitePageList = [RouterPath.home, RouterPath.mine];
+const whitePageList = [RouterPath.home, RouterPath.service, RouterPath.mine];
 
 export default {
   name: 'CustomTabBar',
@@ -129,7 +129,7 @@
           }}
         >
           <TarBarItem
-            text={'鎵惧伐浣�'}
+            text={'棣栭〉'}
             icon="../assets/tabbar/icon-home.png"
             activeIcon="../assets/tabbar/icon-home-active.png"
             pagePath={TabBarPageRouter.Home}
@@ -141,10 +141,10 @@
           ></TarBarItem>
 
           <TarBarItem
-            text="浠诲姟"
+            text="鏈嶅姟"
             icon="../assets/tabbar/icon-task.png"
             activeIcon="../assets/tabbar/icon-task-active.png"
-            pagePath={TabBarPageRouter.Task}
+            pagePath={TabBarPageRouter.Service}
             currentPath={_router.path}
             active={system.activeTab === 1}
             className="task"
diff --git a/apps/housekeepingMiniApp/src/pages/home/index.vue b/apps/housekeepingMiniApp/src/pages/home/index.vue
index bee98ed..9003be4 100644
--- a/apps/housekeepingMiniApp/src/pages/home/index.vue
+++ b/apps/housekeepingMiniApp/src/pages/home/index.vue
@@ -32,6 +32,11 @@
             </nut-swiper-item>
           </nut-swiper>
         </div>
+        <div class="home-recommend-wrapper">
+          <div class="home-recommend-item">鎺ㄨ崘</div>
+          <div class="home-recommend-item">鎺ㄨ崘</div>
+          <div class="home-recommend-item">鎺ㄨ崘</div>
+        </div>
         <nut-grid class="home-gird">
           <nut-grid-item text="text"><Dongdong /></nut-grid-item>
           <nut-grid-item text="text"><Dongdong /></nut-grid-item>
@@ -191,6 +196,21 @@
     grid-template-columns: repeat(2, 1fr);
     grid-gap: 20px;
   }
+
+  .home-recommend-wrapper {
+    margin-bottom: 20px;
+    display: flex;
+    gap: 20px;
+
+    .home-recommend-item {
+      flex: 1;
+      min-width: 0;
+      height: 200px;
+      background-color: #fff;
+      border-radius: 12px;
+      padding: 24px 32px;
+    }
+  }
 }
 
 .home-list {
diff --git a/apps/housekeepingMiniApp/src/pages/mine/index.scss b/apps/housekeepingMiniApp/src/pages/mine/index.scss
index 0e0604e..567cdd8 100644
--- a/apps/housekeepingMiniApp/src/pages/mine/index.scss
+++ b/apps/housekeepingMiniApp/src/pages/mine/index.scss
@@ -26,7 +26,8 @@
       display: flex;
       flex-direction: column;
       padding: 6px 0;
-      justify-content: space-between;
+      // justify-content: space-between;
+      justify-content: center;
 
       .user-info-item {
         font-weight: 600;
@@ -99,6 +100,17 @@
           width: 32px;
           height: 32px;
         }
+
+        .mine-order-list-title-arrow-wrapper {
+          display: flex;
+          align-items: center;
+
+          .mine-order-list-title-sub-text {
+            font-size: 24px;
+            color: boleGetCssVar('text-color', 'secondary');
+            line-height: 28px;
+          }
+        }
       }
       .mine-order-list-content {
         padding: 24px 0;
diff --git a/apps/housekeepingMiniApp/src/pages/mine/index.vue b/apps/housekeepingMiniApp/src/pages/mine/index.vue
index 68cc1c8..32979ef 100644
--- a/apps/housekeepingMiniApp/src/pages/mine/index.vue
+++ b/apps/housekeepingMiniApp/src/pages/mine/index.vue
@@ -11,44 +11,12 @@
       <img :src="OssAssets.mine.Bg" class="mine-page-bg" :style="{ height: `${bgHeight}px` }" />
     </template>
     <ContentView>
-      <UserHomeTopView :showUserHomePageBtn="isLogin" :showOperation="isLogin">
+      <UserHomeTopView :showOperation="isLogin">
         <template #avatar>
           <div class="mine-avatar-wrapper" @click="goLogin">
             <UserAvatar :size="52" class="mine-avatar" />
             <div class="user-info" v-if="isLogin">
               <div class="user-info-item">{{ userDetail?.name ?? '' }}</div>
-              <div class="user-info-auth">
-                <div class="user-info-auth-item">
-                  <div class="user-info-unCertified">
-                    <div
-                      class="user-info-unCertified-text"
-                      v-if="userDetail?.realStatus === EnumPersonalUserRealStatus.UnReal"
-                    >
-                      鏈璇�
-                    </div>
-                    <div class="user-info-unCertified-text" v-else>
-                      {{ EnumUserRealMethodText[userDetail?.realMethod]
-                      }}{{ EnumPersonalUserRealStatusText[userDetail?.realStatus] }}
-                    </div>
-                    <div
-                      class="user-info-unCertified-btn"
-                      @click.stop="goAuthentication"
-                      v-if="
-                        userDetail?.realStatus === EnumPersonalUserRealStatus.UnReal ||
-                        userDetail?.realStatus === EnumPersonalUserRealStatus.Fail
-                      "
-                    >
-                      绔嬪嵆璁よ瘉
-                    </div>
-                  </div>
-                  <!-- <div class="user-info-unCertified" v-else>
-                    <img :src="IconAuth" class="user-info-unCertified-icon" />
-                    <div class="user-info-unCertified-text">
-                      {{ EnumUserRealMethodText[userDetail?.realMethod] }}{{ EnumPersonalUserRealStatusText[userDetail?.realStatus] }}
-                    </div>
-                  </div> -->
-                </div>
-              </div>
             </div>
             <div class="mine-go-login" v-else>鍘荤櫥褰�</div>
           </div>
@@ -56,89 +24,57 @@
       </UserHomeTopView>
     </ContentView>
     <ContentScrollView v-if="isLogin" class="mine-content-scroll-view">
-      <List class="mine-list-wrapper mine-balance">
-        <div class="mine-balance-content">
-          <div class="mine-balance-content-item">
-            <div class="mine-balance-content-item-title">鎴戠殑鏀剁泭</div>
-            <div class="mine-balance-content-item-money income">
-              锟{ toThousand(userDetail?.incomeCount ?? 0) }}
-            </div>
-          </div>
-          <div class="mine-balance-content-item">
-            <div class="mine-balance-content-item-title">寰呯粨绠�</div>
-            <div class="mine-balance-content-item-money settlement">
-              锟{ toThousand(userDetail?.waitSettlement ?? 0) }}
-            </div>
-          </div>
-          <div class="mine-balance-content-item">
-            <div class="mine-balance-content-item-title">宸插彂鏀�</div>
-            <div class="mine-balance-content-item-money withdraw">
-              锟{ toThousand(userDetail?.releaseedCount ?? 0) }}
-            </div>
-          </div>
-        </div>
-        <div class="mine-balance-btn" @click="goMineWallet">
-          杩涘叆鎴戠殑閽卞寘
-          <img :src="IconArrow" class="mine-balance-btn-icon" />
-        </div>
-      </List>
       <List class="mine-list-wrapper mine-order-list">
         <div class="mine-order-list-title">
-          <div class="mine-order-list-title-text">鎴戠殑璁㈠崟</div>
-          <img :src="IconArrow" class="mine-order-list-title-icon" />
+          <div class="mine-order-list-title-text">鎴戠殑棰勭害</div>
+          <div class="mine-order-list-title-arrow-wrapper" @click="goMineReserveService">
+            <div class="mine-order-list-title-sub-text">鍏ㄩ儴棰勭害</div>
+            <img :src="IconArrow" class="mine-order-list-title-icon" />
+          </div>
         </div>
         <div class="mine-order-list-content">
           <nut-badge
             class="mine-order-list-item"
             top="8"
             :dot="userDetail?.taskCount > 0"
-            @click="goMineSign"
+            @click="goMineReserveService"
           >
             <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"
             :dot="userDetail?.hirePassTaskCount > 0"
-            @click="goMineHired"
+            @click="goMineReserveService"
           >
             <img :src="IconOrderHire" 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"
             :dot="userDetail?.arrangeCompleteTaskCount > 0"
-            @click="goMineHire"
+            @click="goMineReserveService"
           >
             <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="goMineHire"
-          >
-            <img :src="IconOrderHire" 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?.hireRefuseTaskCount ?? 0"
-            @click="goMineCancel"
+            :dot="userDetail?.arrangeCompleteTaskCount > 0"
+            @click="goMineReserveService"
           >
-            <img :src="IconOrderCancel" class="mine-order-list-icon" />
+            <img :src="IconOrderHire" 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">
-        <ListItem :icon="IconCollect" title="鎴戞敹钘忕殑浠诲姟" @click="goMineCollectTask"></ListItem>
-        <ListItem :icon="IconAgreement" title="鍗忚绛剧害" @click="goMineAgreementSign"></ListItem>
+        <ListItem :icon="IconCollect" title="璁㈠崟绠$悊" @click="goMineOrderManage"></ListItem>
+        <ListItem :icon="IconCollect" title="鏀惰棌澶�" @click="goMineCollectTask"></ListItem>
+        <ListItem :icon="IconAgreement" title="鍗囩骇浼佷笟鐗�" @click="goAuthentication"></ListItem>
         <ListItem :icon="IconSetting" title="璁剧疆" @click="goSetting"></ListItem>
         <!-- <ListItem :icon="IconRecruit" title="鎴戣鎷涗汉/鐢ㄤ汉" @click="goSetting"></ListItem> -->
       </List>
@@ -161,11 +97,7 @@
 import { useUser, useIsLogin, useGoLogin } from '@/hooks';
 import Taro from '@tarojs/taro';
 import { RouterPath, OssAssets } from '@/constants';
-import {
-  EnumUserRealMethodText,
-  EnumPersonalUserRealStatusText,
-  EnumPersonalUserRealStatus,
-} from '@12333/constants';
+import { EnumPersonalUserRealStatus } from '@12333/constants';
 import { List, ListItem, CustomerServiceButton } from '@12333/components';
 import { useSystemStore } from '@/stores/modules/system';
 import PageLayoutWithBg from '@/components/Layout/PageLayoutWithBg.vue';
@@ -225,27 +157,17 @@
 function goAuthentication() {
   goPage(RouterPath.authenticationHome);
 }
-function goMineSign() {
-  goPage(RouterPath.mineSign);
-}
-function goMineHire() {
-  goPage(RouterPath.mineHire);
-}
-function goMineCancel() {
-  goPage(RouterPath.mineCancel);
-}
-function goMineHired() {
-  goPage(RouterPath.mineHired);
-}
+
 function goMineCollectTask() {
   goPage(RouterPath.mineCollectTask);
 }
-function goMineAgreementSign() {
-  goPage(RouterPath.mineAgreementSign);
+
+function goMineReserveService() {
+  goPage(RouterPath.mineReserveService);
 }
 
-function goMineWallet() {
-  goPage(RouterPath.mineWallet);
+function goMineOrderManage() {
+  goPage(RouterPath.mineOrderManage);
 }
 </script>
 
diff --git a/apps/housekeepingMiniApp/src/pages/task/3x_categoryData.ts b/apps/housekeepingMiniApp/src/pages/service/3x_categoryData.ts
similarity index 100%
rename from apps/housekeepingMiniApp/src/pages/task/3x_categoryData.ts
rename to apps/housekeepingMiniApp/src/pages/service/3x_categoryData.ts
diff --git a/apps/housekeepingMiniApp/src/pages/task/InnerPage.vue b/apps/housekeepingMiniApp/src/pages/service/InnerPage.vue
similarity index 100%
rename from apps/housekeepingMiniApp/src/pages/task/InnerPage.vue
rename to apps/housekeepingMiniApp/src/pages/service/InnerPage.vue
diff --git a/apps/housekeepingMiniApp/src/pages/task/task.config.ts b/apps/housekeepingMiniApp/src/pages/service/service.config.ts
similarity index 100%
rename from apps/housekeepingMiniApp/src/pages/task/task.config.ts
rename to apps/housekeepingMiniApp/src/pages/service/service.config.ts
diff --git a/apps/housekeepingMiniApp/src/pages/task/task.vue b/apps/housekeepingMiniApp/src/pages/service/service.vue
similarity index 100%
rename from apps/housekeepingMiniApp/src/pages/task/task.vue
rename to apps/housekeepingMiniApp/src/pages/service/service.vue
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSign/InnerPage.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSign/InnerPage.vue
deleted file mode 100644
index 498c579..0000000
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSign/InnerPage.vue
+++ /dev/null
@@ -1,85 +0,0 @@
-<template>
-  <ProTabs
-    v-model="queryState.userSignContractStatus"
-    name="home-tab"
-    :showPaneContent="false"
-    class="home-tabs"
-    isTransparent
-    title-gutter="12"
-    title-scroll
-  >
-    <ProTabPane :title="`鍏ㄩ儴`" :pane-key="0"></ProTabPane>
-    <ProTabPane :title="`寰呯绾" :pane-key="EnumTaskUserSignContractStatus.Wait"></ProTabPane>
-    <ProTabPane :title="`鐢熸晥涓璥" :pane-key="EnumTaskUserSignContractStatus.Pass"></ProTabPane>
-    <ProTabPane :title="`宸茬粓姝" :pane-key="EnumTaskUserSignContractStatus.Stop"></ProTabPane>
-  </ProTabs>
-  <InfiniteLoading
-    scrollViewClassName="common-infinite-scroll-list home-list"
-    v-bind="infiniteLoadingProps"
-    :key="queryState.userSignContractStatus"
-  >
-    <template #renderItem="{ item }">
-      <MineAgreementSignCard
-        :enterpriseName="item.enterpriseName"
-        :userSignContractStatus="item.userSignContractStatus"
-        @click="goDetail(item)"
-      >
-      </MineAgreementSignCard>
-    </template>
-  </InfiniteLoading>
-</template>
-
-<script setup lang="ts">
-import { MineAgreementSignCard, ProTabs, ProTabPane } from '@12333/components';
-import { useUserStore } from '@/stores/modules/user';
-import { useInfiniteLoading } from '@12333/hooks';
-import { EnumPagedListOrder, EnumTaskUserSignContractStatus } from '@12333/constants';
-import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee';
-import Taro from '@tarojs/taro';
-
-defineOptions({
-  name: 'InnerPage',
-});
-
-const queryState = reactive({
-  userSignContractStatus: 0 as any as EnumTaskUserSignContractStatus,
-});
-
-const userStore = useUserStore();
-
-const { infiniteLoadingProps } = useInfiniteLoading(
-  ({ pageParam }) => {
-    let params: API.GetPersonalUserElectronSignsQuery = {
-      pageModel: {
-        rows: 20,
-        page: pageParam,
-        orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
-      },
-      userSignContractStatus: Number(queryState.userSignContractStatus)
-        ? queryState.userSignContractStatus
-        : null,
-    };
-
-    return enterpriseEmployeeServices.getPersonalUserElectronSigns(params, {
-      showLoading: false,
-    });
-  },
-  {
-    queryKey: ['enterpriseEmployeeServices/getPersonalUserElectronSigns', queryState],
-  }
-);
-
-function goDetail(row: API.GetPersonalUserElectronSignsQueryResultItem) {
-  Taro.navigateTo({
-    url: `${RouterPath.mineAgreementSignDetail}?id=${row.id}`,
-  });
-}
-</script>
-
-<style lang="scss">
-@import '@/styles/common.scss';
-
-// .mineAgreementSign-page-wrapper {
-//
-// }
-</style>
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSign/mineAgreementSign.config.ts b/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSign/mineAgreementSign.config.ts
deleted file mode 100644
index 305fdb1..0000000
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSign/mineAgreementSign.config.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export default definePageConfig({
-  disableScroll: true,
-});
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSign/mineAgreementSign.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSign/mineAgreementSign.vue
deleted file mode 100644
index 3bf5d51..0000000
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSign/mineAgreementSign.vue
+++ /dev/null
@@ -1,17 +0,0 @@
-<template>
-  <PageLayoutWithBg class="mineAgreementSign-page-wrapper" :title="'鍗忚绛剧害'">
-    <InnerPage></InnerPage>
-  </PageLayoutWithBg>
-</template>
-
-<script setup lang="ts">
-import InnerPage from './InnerPage.vue';
-
-defineOptions({
-  name: 'mineAgreementSign',
-});
-</script>
-
-<style lang="scss">
-@import '@/styles/common.scss';
-</style>
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
deleted file mode 100644
index cb8ae8c..0000000
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
+++ /dev/null
@@ -1,190 +0,0 @@
-<template>
-  <LoadingLayout>
-    <ContentScrollView :paddingH="false" style="background-color: transparent">
-      <div class="mine-agreement-sign-detail">
-        <MineAgreementSignDetailCard title="鍩烘湰淇℃伅">
-          <template #content>
-            <MineAgreementSignDetailItem
-              label="鍗忚缂栧彿"
-              :detail="detail?.contractCode"
-            ></MineAgreementSignDetailItem>
-            <MineAgreementSignDetailItem
-              label="鍗忚鐘舵��"
-              :detail="EnumTaskUserSignContractStatusSignText[detail?.userSignContractStatus]"
-            ></MineAgreementSignDetailItem>
-          </template>
-        </MineAgreementSignDetailCard>
-        <MineAgreementSignDetailCard title="绛剧害鏂逛俊鎭� - 鍛樺伐">
-          <template #content>
-            <MineAgreementSignDetailItem
-              label="鍛樺伐濮撳悕"
-              :detail="detail?.name"
-            ></MineAgreementSignDetailItem>
-            <MineAgreementSignDetailItem
-              label="璇佷欢绫诲瀷"
-              :detail="detail?.identityType"
-            ></MineAgreementSignDetailItem>
-            <MineAgreementSignDetailItem
-              label="璇佷欢鍙风爜"
-              :detail="detail?.identity"
-            ></MineAgreementSignDetailItem>
-            <MineAgreementSignDetailItem
-              label="绛剧害鏃堕棿"
-              :detail="format(detail?.userSignContractTime, 'YYYY-MM-DD')"
-            ></MineAgreementSignDetailItem>
-          </template>
-        </MineAgreementSignDetailCard>
-        <MineAgreementSignDetailCard title="绛剧害鏂逛俊鎭� - 鍏徃涓讳綋">
-          <template #content>
-            <MineAgreementSignDetailItem
-              label="涓讳綋绫诲瀷"
-              :detail="detail?.enterpriseType"
-            ></MineAgreementSignDetailItem>
-            <MineAgreementSignDetailItem
-              label="绛剧害涓讳綋"
-              :detail="detail?.enterpriseName"
-            ></MineAgreementSignDetailItem>
-            <MineAgreementSignDetailItem
-              label="绛剧害鏃堕棿"
-              :detail="format(detail?.enterpriseSignContractTime, 'YYYY-MM-DD')"
-            ></MineAgreementSignDetailItem>
-          </template>
-        </MineAgreementSignDetailCard>
-        <MineAgreementSignDetailCard title="绛剧害鍐呭">
-          <template #content>
-            <MineAgreementSignDetailItem label="鍗忚鍐呭">
-              <template #detail>
-                <div class="detail-card-btn" @click="checkAgreement">鏌ョ湅鍗忚</div>
-              </template>
-            </MineAgreementSignDetailItem>
-          </template>
-        </MineAgreementSignDetailCard>
-      </div>
-    </ContentScrollView>
-    <PageFooter v-if="detail?.userSignContractStatus === EnumTaskUserSignContractStatus.Wait">
-      <PageFooterBtn type="primary" @click="goToSign" :loading="btnLoading">鍘荤绾�</PageFooterBtn>
-    </PageFooter>
-  </LoadingLayout>
-</template>
-
-<script setup lang="ts">
-import { useQuery } from '@tanstack/vue-query';
-import MineAgreementSignDetailCard from './MineAgreementSignDetailCard.vue';
-import MineAgreementSignDetailItem from './MineAgreementSignDetailItem.vue';
-import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee';
-import {
-  EnumElectronSignAccess,
-  EnumTaskUserSignContractStatus,
-  EnumTaskUserSignContractStatusSignText,
-} from '@12333/constants';
-import { format, hiddenPhone, Message, setOSSLink, openDocument } from '@12333/utils';
-import Taro from '@tarojs/taro';
-import _ from 'lodash';
-
-defineOptions({
-  name: 'InnerPage',
-});
-
-const { userDetail } = useUser();
-const router = Taro.useRouter();
-const options = Taro.getLaunchOptionsSync();
-//鐏靛伐Id
-const id = router.params?.id;
-const code = router.params?.code || options?.query?.scene;
-const btnLoading = ref(false);
-
-const {
-  isLoading,
-  isError,
-  data: detail,
-  refetch,
-} = useQuery({
-  queryKey: ['enterpriseEmployeeServices/getPersonalUserElectronSign', id, code],
-  queryFn: async () => {
-    return await enterpriseEmployeeServices.getPersonalUserElectronSign(
-      { id: id, code: code },
-      {
-        showLoading: false,
-      }
-    );
-  },
-  placeholderData: () => ({} as API.GetPersonalUserElectronSignQueryResult),
-  onSuccess(data) {
-    // if (data.isExistTradeChatRecord) setTrue();
-  },
-});
-
-async function checkAgreement() {
-  try {
-    const res = await refetch();
-    if (res?.data?.userSignContractStatus === EnumTaskUserSignContractStatus.Wait) {
-      goToSign();
-    }
-    if (
-      res?.data?.userSignContractStatus === EnumTaskUserSignContractStatus.Stop ||
-      res?.data?.userSignContractStatus === EnumTaskUserSignContractStatus.Pass
-    ) {
-      if (!res?.data?.contractUrl) {
-        Message.warning('鍗忚鏃犳硶鏌ョ湅锛岃绋嶅悗鍐嶈瘯');
-        return;
-      }
-      openDocument(setOSSLink(res?.data?.contractUrl));
-    }
-  } catch (error) {}
-}
-
-const goToSign = useAccessReal(async () => {
-  try {
-    btnLoading.value = true;
-    let params: API.PersonalUserElectronSignCommand = {
-      id: detail.value?.id,
-      returnUrl: `${RouterPath.mineAgreementSignDetail}?id=${id}`,
-    };
-    let res = await enterpriseEmployeeServices.personalUserElectronSign(params);
-    if (res) {
-      if (detail.value?.contractTemplateAccess === EnumElectronSignAccess.AlipaySign) {
-        try {
-          await Message.confirm({
-            message: `绛剧害鐭俊宸插彂閫佽嚦鎮�${hiddenPhone(
-              detail.value?.contactPhoneNumber
-            )}鐨勬墜鏈猴紝璇峰強鏃舵煡鐪嬪苟绛剧害`,
-            cancelText: '鏈敹鍒扮煭淇�',
-          });
-        } catch (error) {
-          goToSign();
-        }
-      } else {
-        const encodedUrl = encodeURIComponent(res.signContractLongUrl);
-        Taro.redirectTo({ url: `${RouterPath.extraPage}?url=${encodedUrl}` });
-      }
-      btnLoading.value = false;
-    } else {
-      btnLoading.value = false;
-    }
-  } catch (error) {
-    btnLoading.value = false;
-  }
-});
-
-Taro.useDidShow(() => {
-  refetch();
-});
-</script>
-
-<style lang="scss">
-@import '@/styles/common.scss';
-
-.mineAgreementSignDetail-page-wrapper {
-  .mine-agreement-sign-detail {
-    padding: 20px 28px 0;
-
-    .mine-agreement-sign-detail-card {
-      margin-bottom: 24px;
-    }
-  }
-
-  .detail-card-btn {
-    color: boleGetCssVar('color', 'primary');
-  }
-}
-</style>
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSignDetail/MineAgreementSignDetailCard.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSignDetail/MineAgreementSignDetailCard.vue
deleted file mode 100644
index 756807e..0000000
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSignDetail/MineAgreementSignDetailCard.vue
+++ /dev/null
@@ -1,41 +0,0 @@
-<template>
-  <div class="mine-agreement-sign-detail-card">
-    <div class="mine-agreement-sign-detail-card-title">
-      <slot name="title">
-        {{ title }}
-      </slot>
-    </div>
-    <div class="mine-agreement-sign-detail-card-content">
-      <slot name="content"></slot>
-    </div>
-  </div>
-</template>
-
-<script setup lang="ts">
-defineOptions({
-  name: 'MineAgreementSignDetailCard',
-});
-
-type Props = {
-  title?: string;
-};
-
-const props = withDefaults(defineProps<Props>(), {});
-</script>
-
-<style lang="scss">
-@import '@/styles/common.scss';
-
-.mine-agreement-sign-detail-card {
-  background-color: #fff;
-  border-radius: 12px;
-  padding: 24px 34px 34px;
-
-  .mine-agreement-sign-detail-card-title {
-    font-size: 30px;
-    line-height: 42px;
-    color: boleGetCssVar('text-color', 'primary');
-    margin-bottom: 36px;
-  }
-}
-</style>
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSignDetail/MineAgreementSignDetailItem.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSignDetail/MineAgreementSignDetailItem.vue
deleted file mode 100644
index 2d7db50..0000000
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSignDetail/MineAgreementSignDetailItem.vue
+++ /dev/null
@@ -1,64 +0,0 @@
-<template>
-  <div class="mine-agreement-sign-detail-item">
-    <div
-      class="mine-agreement-sign-detail-item-lebel"
-      :style="{ width: labelWidth, textAlign: textAlign }"
-    >
-      <slot name="label">
-        {{ label }}
-      </slot>
-    </div>
-    <div class="mine-agreement-sign-detail-item-detail">
-      <slot name="detail">
-        {{ detail }}
-      </slot>
-    </div>
-  </div>
-</template>
-
-<script setup lang="ts">
-defineOptions({
-  name: 'MineAgreementSignDetailItem',
-});
-
-type Props = {
-  label?: string;
-  detail?: string;
-  labelWidth?: any;
-  textAlign?: any;
-};
-
-const props = withDefaults(defineProps<Props>(), {
-  labelWidth: '50px',
-  textAlign: 'left',
-});
-</script>
-
-<style lang="scss">
-@import '@/styles/common.scss';
-
-.mine-agreement-sign-detail-item {
-  margin-bottom: 24px;
-  display: flex;
-  align-items: center;
-
-  &:last-child {
-    margin-bottom: 0;
-  }
-
-  .mine-agreement-sign-detail-item-lebel {
-    font-size: 24px;
-    line-height: 36px;
-    margin-right: 24px;
-    color: boleGetCssVar('text-color', 'regular');
-  }
-
-  .mine-agreement-sign-detail-item-detail {
-    font-size: 24px;
-    line-height: 36px;
-    color: boleGetCssVar('text-color', 'primary');
-    flex: 1;
-    min-width: 0;
-  }
-}
-</style>
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSignDetail/mineAgreementSignDetail.config.ts b/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSignDetail/mineAgreementSignDetail.config.ts
deleted file mode 100644
index 305fdb1..0000000
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSignDetail/mineAgreementSignDetail.config.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export default definePageConfig({
-  disableScroll: true,
-});
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSignDetail/mineAgreementSignDetail.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSignDetail/mineAgreementSignDetail.vue
deleted file mode 100644
index 2be18fe..0000000
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineAgreementSignDetail/mineAgreementSignDetail.vue
+++ /dev/null
@@ -1,17 +0,0 @@
-<template>
-  <PageLayoutWithBg class="mineAgreementSignDetail-page-wrapper" :title="'鍗忚璇︽儏'">
-    <InnerPage> </InnerPage>
-  </PageLayoutWithBg>
-</template>
-
-<script setup lang="ts">
-import InnerPage from './InnerPage.vue';
-
-defineOptions({
-  name: 'mineAgreementSignDetail',
-});
-</script>
-
-<style lang="scss">
-@import '@/styles/common.scss';
-</style>
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineCancel/InnerPage.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineCancel/InnerPage.vue
deleted file mode 100644
index 48ee139..0000000
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineCancel/InnerPage.vue
+++ /dev/null
@@ -1,72 +0,0 @@
-<template>
-  <InfiniteLoading
-    scrollViewClassName="common-infinite-scroll-list home-list"
-    v-bind="infiniteLoadingProps"
-  >
-    <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">{{ '宸插彇娑�' }}</div>
-        </template>
-      </TaskCard>
-    </template>
-  </InfiniteLoading>
-</template>
-
-<script setup lang="ts">
-import { TaskCard } from '@12333/components';
-import { useInfiniteLoading } from '@12333/hooks';
-import { EnumPagedListOrder } from '@12333/constants';
-import * as taskServices from '@12333/services/apiV2/task';
-import Taro from '@tarojs/taro';
-
-defineOptions({
-  name: 'InnerPage',
-});
-
-const { infiniteLoadingProps } = useInfiniteLoading(
-  ({ pageParam }) => {
-    let params: API.GetPersonalCancelTaskInfosQuery = {
-      pageModel: {
-        rows: 20,
-        page: pageParam,
-        orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
-      },
-    };
-    return taskServices.getPersonalCancelTaskInfos(params, {
-      showLoading: false,
-    });
-  },
-  {
-    queryKey: ['taskServices/getPersonalCancelTaskInfos'],
-  }
-);
-
-function goTaskDetail(item: API.GetPersonalHireTaskInfosQueryResultItem) {
-  Taro.navigateTo({
-    url: `${RouterPath.taskDetail}?id=${item.id}&from=cancel`,
-  });
-}
-</script>
-
-<style lang="scss">
-@import '@/styles/common.scss';
-
-.mineCancel-page-wrapper {
-  .task-card-actions-text {
-    font-size: 24px;
-    line-height: 42px;
-    color: #9fa4ac;
-  }
-}
-</style>
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineCancel/mineCancel.config.ts b/apps/housekeepingMiniApp/src/subpackages/mine/mineCancel/mineCancel.config.ts
deleted file mode 100644
index 305fdb1..0000000
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineCancel/mineCancel.config.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export default definePageConfig({
-  disableScroll: true,
-});
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue
index 39bcc63..65f8309 100644
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue
+++ b/apps/housekeepingMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue
@@ -1,31 +1,17 @@
 <template>
-  <div class="my-collect-task">
-    <div class="my-collect-task-title">鏀惰棌浠诲姟鍒楄〃</div>
-    <div class="my-collect-task-btn" @click="clearExpiredTask">娓呯┖宸插け鏁堜换鍔�</div>
-  </div>
   <InfiniteLoading
     scrollViewClassName="common-infinite-scroll-list home-list"
     v-bind="infiniteLoadingProps"
   >
-    <template #renderItem="{ item }">
+    <div class="mineCollectTask-service-list">
       <TaskCard
-        :id="item.id"
-        :name="item.name"
-        :address-name="item.addressName"
-        :begin-time="item.beginTime"
-        :end-time="item.endTime"
-        :gender-limit="item.genderLimit"
-        :service-fee="item.serviceFee"
-        :billing-method="item.billingMethod"
-        :settlement-cycle="item.settlementCycle"
-        :benefits="item.benefits"
-        :show-actions="true"
-        :release-status="item.releaseStatus"
-        :hireStatus="item.hireStatus"
-        @apply="goTaskDetail"
-      >
-      </TaskCard>
-    </template>
+        v-for="item in infiniteLoadingProps.flattenListData"
+        :key="item.id"
+        @click="goSerciceDetail(item)"
+        v-bind="item"
+        style="min-width: 0"
+      />
+    </div>
   </InfiniteLoading>
 </template>
 
@@ -35,7 +21,6 @@
 import * as taskUserServices from '@12333/services/apiV2/taskUser';
 import { useInfiniteLoading, useTaskList } from '@12333/hooks';
 import Taro from '@tarojs/taro';
-import { Message } from '@12333/utils';
 
 defineOptions({
   name: 'InnerPage',
@@ -51,56 +36,28 @@
       isCollected: true,
     };
 
-    return taskServices.getTaskInfos(params, {
+    return taskServices.getOpenTaskInfos(params, {
       showLoading: false,
     });
   },
   {
-    queryKey: ['taskServices/getTaskInfos'],
+    queryKey: ['taskServices/getOpenTaskInfos'],
   }
 );
 
-function goTaskDetail(id: string) {
+function goSerciceDetail(item: any) {
   Taro.navigateTo({
-    url: `${RouterPath.taskDetail}?id=${id}&from=apply`,
+    url: `${RouterPath.serciceDetail}?id=${item.id}`,
   });
 }
-
-async function clearExpiredTask() {
-  try {
-    await Message.confirm({
-      message: '纭畾瑕佹竻绌哄凡澶辨晥浠诲姟鍚楋紵',
-    });
-    let res = await taskUserServices.clearTaskCollect({});
-    if (res) {
-      Message.success('娓呯┖鎴愬姛');
-      invalidateQueries();
-    }
-  } catch (error) {}
-}
 </script>
 
 <style lang="scss">
 @import '@/styles/common.scss';
 
-.mineCollectTask-page-wrapper {
-  .my-collect-task {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    padding: 30px 40px;
-
-    .my-collect-task-title {
-      font-size: 28px;
-      line-height: 40px;
-      color: boleGetCssVar('text-color', 'primary');
-    }
-
-    .my-collect-task-btn {
-      font-size: 24px;
-      line-height: 34px;
-      color: boleGetCssVar('text-color', 'regular');
-    }
-  }
+.mineCollectTask-service-list {
+  display: grid;
+  grid-template-columns: repeat(2, 1fr);
+  grid-gap: 20px;
 }
 </style>
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineHire/InnerPage.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineHire/InnerPage.vue
deleted file mode 100644
index 494c1a5..0000000
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineHire/InnerPage.vue
+++ /dev/null
@@ -1,114 +0,0 @@
-<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"
-        :unRead="item.unRead"
-        @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,
-  EnumTaskUserArrangeStatus,
-  EnumReadScene,
-} 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 }],
-      },
-      // status: GetPersonalHireTaskInfosQueryStatus.InProcess,
-      arrangeStatus: EnumTaskUserArrangeStatus.Complete,
-    };
-    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}&from=hire&readScene=${EnumReadScene.TaskUserArrangePassForPersonal}`,
-  });
-}
-</script>
-
-<style lang="scss">
-@import '@/styles/common.scss';
-
-.mineHire-page-wrapper {
-  .task-card-actions-text {
-    font-size: 24px;
-    line-height: 42px;
-  }
-}
-</style>
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineHire/mineHire.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineHire/mineHire.vue
deleted file mode 100644
index 30a41f3..0000000
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineHire/mineHire.vue
+++ /dev/null
@@ -1,17 +0,0 @@
-<template>
-  <PageLayoutWithBg class="mineHire-page-wrapper" :title="'浠诲姟涓�'">
-    <InnerPage></InnerPage>
-  </PageLayoutWithBg>
-</template>
-
-<script setup lang="ts">
-import InnerPage from './InnerPage.vue';
-
-defineOptions({
-  name: 'mineHire',
-});
-</script>
-
-<style lang="scss">
-@import '@/styles/common.scss';
-</style>
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineHired/InnerPage.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineHired/InnerPage.vue
deleted file mode 100644
index c24d147..0000000
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineHired/InnerPage.vue
+++ /dev/null
@@ -1,113 +0,0 @@
-<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"
-        :unRead="item.unRead"
-        @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,
-  EnumReadScene,
-} 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}&readScene=${EnumReadScene.TaskUserHirePassForPersonal}`,
-  });
-}
-</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/housekeepingMiniApp/src/subpackages/mine/mineHired/mineHired.config.ts b/apps/housekeepingMiniApp/src/subpackages/mine/mineHired/mineHired.config.ts
deleted file mode 100644
index 305fdb1..0000000
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineHired/mineHired.config.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export default definePageConfig({
-  disableScroll: true,
-});
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineHired/mineHired.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineHired/mineHired.vue
deleted file mode 100644
index 855ba32..0000000
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineHired/mineHired.vue
+++ /dev/null
@@ -1,17 +0,0 @@
-<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/housekeepingMiniApp/src/subpackages/mine/mineOrderManage/InnerPage.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineOrderManage/InnerPage.vue
new file mode 100644
index 0000000..d9f02d0
--- /dev/null
+++ b/apps/housekeepingMiniApp/src/subpackages/mine/mineOrderManage/InnerPage.vue
@@ -0,0 +1,93 @@
+<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="GetPersonalApplyTaskInfosQueryStatus.WaitHire"
+    ></ProTabPane>
+    <ProTabPane
+      :title="`宸叉敮浠榒"
+      :pane-key="GetPersonalApplyTaskInfosQueryStatus.WaitSignContract"
+    ></ProTabPane>
+    <ProTabPane
+      :title="`宸插畬鎴恅"
+      :pane-key="GetPersonalApplyTaskInfosQueryStatus.HireRefuse"
+    ></ProTabPane>
+  </ProTabs>
+  <InfiniteLoading
+    scrollViewClassName="common-infinite-scroll-list home-list"
+    v-bind="infiniteLoadingProps"
+    :key="queryState.status"
+  >
+    <template #renderItem="{ item }">
+      <ReserveServiceCard
+        :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="goSerciceDetail(item)"
+      >
+      </ReserveServiceCard>
+    </template>
+  </InfiniteLoading>
+</template>
+
+<script setup lang="ts">
+import { ProTabs, ProTabPane } from '@12333/components';
+import { useUserStore } from '@/stores/modules/user';
+import { useInfiniteLoading } from '@12333/hooks';
+import { EnumPagedListOrder, GetPersonalApplyTaskInfosQueryStatus } 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 GetPersonalApplyTaskInfosQueryStatus,
+});
+
+const userStore = useUserStore();
+
+const { infiniteLoadingProps } = useInfiniteLoading(
+  ({ pageParam }) => {
+    let params: API.GetTaskInfosQuery = {
+      pageModel: {
+        rows: 20,
+        page: pageParam,
+        orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
+      },
+    };
+
+    return taskServices.getOpenTaskInfos(params, {
+      showLoading: false,
+    });
+  },
+  {
+    queryKey: ['taskServices/getOpenTaskInfos', queryState],
+  }
+);
+
+function goSerciceDetail(item: any) {
+  Taro.navigateTo({
+    url: `${RouterPath.serciceDetail}?id=${item.id}`,
+  });
+}
+</script>
+
+<style lang="scss">
+@import '@/styles/common.scss';
+</style>
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineHire/mineHire.config.ts b/apps/housekeepingMiniApp/src/subpackages/mine/mineOrderManage/mineOrderManage.config.ts
similarity index 100%
rename from apps/housekeepingMiniApp/src/subpackages/mine/mineHire/mineHire.config.ts
rename to apps/housekeepingMiniApp/src/subpackages/mine/mineOrderManage/mineOrderManage.config.ts
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineCancel/mineCancel.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineOrderManage/mineOrderManage.vue
similarity index 69%
rename from apps/housekeepingMiniApp/src/subpackages/mine/mineCancel/mineCancel.vue
rename to apps/housekeepingMiniApp/src/subpackages/mine/mineOrderManage/mineOrderManage.vue
index c38a214..c0fe38e 100644
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineCancel/mineCancel.vue
+++ b/apps/housekeepingMiniApp/src/subpackages/mine/mineOrderManage/mineOrderManage.vue
@@ -1,5 +1,5 @@
 <template>
-  <PageLayoutWithBg class="mineCancel-page-wrapper" :title="'宸插彇娑�'">
+  <PageLayoutWithBg class="mineHire-page-wrapper" :title="'鎴戠殑璁㈠崟'">
     <InnerPage></InnerPage>
   </PageLayoutWithBg>
 </template>
@@ -8,7 +8,7 @@
 import InnerPage from './InnerPage.vue';
 
 defineOptions({
-  name: 'mineCancel',
+  name: 'mineOrderManage',
 });
 </script>
 
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineSign/InnerPage.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineReserveService/InnerPage.vue
similarity index 60%
rename from apps/housekeepingMiniApp/src/subpackages/mine/mineSign/InnerPage.vue
rename to apps/housekeepingMiniApp/src/subpackages/mine/mineReserveService/InnerPage.vue
index 0115ec4..3557d83 100644
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineSign/InnerPage.vue
+++ b/apps/housekeepingMiniApp/src/subpackages/mine/mineReserveService/InnerPage.vue
@@ -14,13 +14,14 @@
       :pane-key="GetPersonalApplyTaskInfosQueryStatus.WaitHire"
     ></ProTabPane>
     <ProTabPane
-      :title="`寰呯绾"
+      :title="`寰呮湇鍔"
       :pane-key="GetPersonalApplyTaskInfosQueryStatus.WaitSignContract"
     ></ProTabPane>
     <ProTabPane
-      :title="`宸茶阿缁漙"
+      :title="`宸插畬鎴恅"
       :pane-key="GetPersonalApplyTaskInfosQueryStatus.HireRefuse"
     ></ProTabPane>
+    <ProTabPane :title="`宸插彇娑坄" :pane-key="40"></ProTabPane>
   </ProTabs>
   <InfiniteLoading
     scrollViewClassName="common-infinite-scroll-list home-list"
@@ -28,7 +29,7 @@
     :key="queryState.status"
   >
     <template #renderItem="{ item }">
-      <TaskCard
+      <ReserveServiceCard
         :name="item.name"
         :begin-time="item.beginTime"
         :end-time="item.endTime"
@@ -37,33 +38,18 @@
         :service-fee="item.serviceFee"
         :settlement-cycle="item.settlementCycle"
         :address-name="item.addressName"
-        :unRead="item.unRead"
-        @click="goTaskDetail(item)"
+        @click="goSerciceDetail(item)"
       >
-        <template #actions>
-          <div
-            class="task-card-actions-text"
-            :style="{ color: GetPersonalApplyTaskInfosQueryStatusColor[item.status] }"
-          >
-            {{ GetPersonalApplyTaskInfosQueryStatusText[item.status] }}
-          </div>
-        </template>
-      </TaskCard>
+      </ReserveServiceCard>
     </template>
   </InfiniteLoading>
 </template>
 
 <script setup lang="ts">
-import { TaskCard, ProTabs, ProTabPane } from '@12333/components';
+import { ProTabs, ProTabPane } from '@12333/components';
 import { useUserStore } from '@/stores/modules/user';
 import { useInfiniteLoading } from '@12333/hooks';
-import {
-  EnumPagedListOrder,
-  GetPersonalApplyTaskInfosQueryStatus,
-  GetPersonalApplyTaskInfosQueryStatusText,
-  GetPersonalApplyTaskInfosQueryStatusColor,
-  EnumReadScene,
-} from '@12333/constants';
+import { EnumPagedListOrder, GetPersonalApplyTaskInfosQueryStatus } from '@12333/constants';
 import * as taskServices from '@12333/services/apiV2/task';
 import Taro from '@tarojs/taro';
 
@@ -79,39 +65,30 @@
 
 const { infiniteLoadingProps } = useInfiniteLoading(
   ({ pageParam }) => {
-    let params: API.GetPersonalApplyTaskInfosQuery = {
+    let params: API.GetTaskInfosQuery = {
       pageModel: {
         rows: 20,
         page: pageParam,
         orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
       },
     };
-    if (Number(queryState.status)) {
-      params.status = queryState.status;
-    }
-    return taskServices.getPersonalApplyTaskInfos(params, {
+
+    return taskServices.getOpenTaskInfos(params, {
       showLoading: false,
     });
   },
   {
-    queryKey: ['taskServices/getPersonalApplyTaskInfos', queryState],
+    queryKey: ['taskServices/getOpenTaskInfos', queryState],
   }
 );
 
-function goTaskDetail(item: API.GetPersonalApplyTaskInfosQueryResultItem) {
+function goSerciceDetail(item: any) {
   Taro.navigateTo({
-    url: `${RouterPath.taskDetail}?id=${item.id}&from=sign&readScene=${EnumReadScene.TaskUserApplyForPersonal}`,
+    url: `${RouterPath.serciceDetail}?id=${item.id}`,
   });
 }
 </script>
 
 <style lang="scss">
 @import '@/styles/common.scss';
-
-.mineSign-page-wrapper {
-  .task-card-actions-text {
-    font-size: 24px;
-    line-height: 42px;
-  }
-}
 </style>
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineHire/mineHire.config.ts b/apps/housekeepingMiniApp/src/subpackages/mine/mineReserveService/mineReserveService.config.ts
similarity index 100%
copy from apps/housekeepingMiniApp/src/subpackages/mine/mineHire/mineHire.config.ts
copy to apps/housekeepingMiniApp/src/subpackages/mine/mineReserveService/mineReserveService.config.ts
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineCancel/mineCancel.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineReserveService/mineReserveService.vue
similarity index 68%
copy from apps/housekeepingMiniApp/src/subpackages/mine/mineCancel/mineCancel.vue
copy to apps/housekeepingMiniApp/src/subpackages/mine/mineReserveService/mineReserveService.vue
index c38a214..5336104 100644
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineCancel/mineCancel.vue
+++ b/apps/housekeepingMiniApp/src/subpackages/mine/mineReserveService/mineReserveService.vue
@@ -1,5 +1,5 @@
 <template>
-  <PageLayoutWithBg class="mineCancel-page-wrapper" :title="'宸插彇娑�'">
+  <PageLayoutWithBg class="mineHire-page-wrapper" :title="'鎴戠殑棰勭害'">
     <InnerPage></InnerPage>
   </PageLayoutWithBg>
 </template>
@@ -8,7 +8,7 @@
 import InnerPage from './InnerPage.vue';
 
 defineOptions({
-  name: 'mineCancel',
+  name: 'mineReserveService',
 });
 </script>
 
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineSign/mineSign.config.ts b/apps/housekeepingMiniApp/src/subpackages/mine/mineSign/mineSign.config.ts
deleted file mode 100644
index 305fdb1..0000000
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineSign/mineSign.config.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export default definePageConfig({
-  disableScroll: true,
-});
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineSign/mineSign.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineSign/mineSign.vue
deleted file mode 100644
index 082fd8f..0000000
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineSign/mineSign.vue
+++ /dev/null
@@ -1,17 +0,0 @@
-<template>
-  <PageLayoutWithBg class="mineSign-page-wrapper" :title="'鎴戠殑鎶ュ悕'">
-    <InnerPage></InnerPage>
-  </PageLayoutWithBg>
-</template>
-
-<script setup lang="ts">
-import InnerPage from './InnerPage.vue';
-
-defineOptions({
-  name: 'mineSign',
-});
-</script>
-
-<style lang="scss">
-@import '@/styles/common.scss';
-</style>
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/setting/setting.vue b/apps/housekeepingMiniApp/src/subpackages/mine/setting/setting.vue
index 0bf35f9..515af4c 100644
--- a/apps/housekeepingMiniApp/src/subpackages/mine/setting/setting.vue
+++ b/apps/housekeepingMiniApp/src/subpackages/mine/setting/setting.vue
@@ -1,18 +1,10 @@
 <template>
   <PageLayout title="璁剧疆" class="setting-page-wrapper" hasBorder>
     <List>
-      <!-- <ListItem title="鐧诲綍璐﹀彿">
-        <template #extra>
-          <div class="user-account">
-            {{ userAccount }}
-          </div>
-        </template>
-      </ListItem> -->
-      <ListItem title="鐢ㄦ埛鍗忚" @click="goMineUserPolicy"></ListItem>
+      <ListItem title="涓汉淇℃伅" @click="goMineUserPolicy"></ListItem>
+      <ListItem title="鍦板潃绠$悊" @click="goMineUserPolicy"></ListItem>
       <ListItem title="闅愮鏀跨瓥" @click="goPrivacyPolicy"></ListItem>
       <ListItem title="閫�鍑虹櫥褰�" @click="handleLoginout"></ListItem>
-      <!-- <ListItem title="浜哄伐瀹㈡湇" @click="goMineService"></ListItem> -->
-      <!-- <nut-button :open-type="'contact'" class="setting-page-service">浜哄伐瀹㈡湇</nut-button> -->
     </List>
   </PageLayout>
 </template>
@@ -58,24 +50,6 @@
     });
   } catch (error) {}
 }
-
-function goMineService() {
-  // const encodedUrl = encodeURIComponent('https://work.weixin.qq.com/kfid/kfcd24e0c60fd91099');
-  Taro.openCustomerServiceChat({
-    extInfo: {
-      // url: 'https://work.weixin.qq.com/kfid/kfcd24e0c60fd91099',
-      url: `${RouterPath.setting}`,
-    },
-    corpId: 'wwc84cb8e0525c772f',
-    // corpId: 'kfc2335f41fb4f0c0bc',
-    fail: (res) => {
-      Taro.showToast({
-        title: res.errMsg,
-        icon: 'none',
-      });
-    },
-  });
-}
 </script>
 
 <style lang="scss">
diff --git a/apps/housekeepingMiniApp/src/subpackages/sercice/serciceDetail/serciceDetail.config.ts b/apps/housekeepingMiniApp/src/subpackages/sercice/serciceDetail/serciceDetail.config.ts
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/apps/housekeepingMiniApp/src/subpackages/sercice/serciceDetail/serciceDetail.config.ts
diff --git a/apps/housekeepingMiniApp/src/subpackages/sercice/serciceDetail/serciceDetail.vue b/apps/housekeepingMiniApp/src/subpackages/sercice/serciceDetail/serciceDetail.vue
new file mode 100644
index 0000000..1f5ba06
--- /dev/null
+++ b/apps/housekeepingMiniApp/src/subpackages/sercice/serciceDetail/serciceDetail.vue
@@ -0,0 +1,28 @@
+<template>
+  <PageLayoutWithBg class="mineHire-page-wrapper" :title="'鏈嶅姟鍚�'" :need-auth="false">
+    <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch">
+      <ContentScrollView style="background-color: transparent"> serciceDetail </ContentScrollView>
+    </LoadingLayout>
+  </PageLayoutWithBg>
+</template>
+
+<script setup lang="ts">
+import { useTaskInfo } from '@12333/hooks';
+import InnerPage from './InnerPage.vue';
+import Taro from '@tarojs/taro';
+
+defineOptions({
+  name: 'serciceDetail',
+});
+
+const router = Taro.useRouter();
+const id = router.params?.id ?? '';
+
+const { isLoading, isError, detail, refetch } = useTaskInfo({
+  id,
+});
+</script>
+
+<style lang="scss">
+@import '@/styles/common.scss';
+</style>

--
Gitblit v1.10.0