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