From f3274a6594094d4419a0538ebc16d4601be4ef9d Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期四, 21 八月 2025 17:16:30 +0800 Subject: [PATCH] feat: 实名 --- apps/cMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue | 32 +++++++++- apps/cMiniApp/src/subpackages/mine/mineAgreementSign/InnerPage.vue | 33 +++------- apps/bMiniApp/.eslintrc-auto-import.json | 3 apps/cMiniApp/src/subpackages/wallet/unboundBankCard/InnerPage.vue | 7 + apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue | 2 apps/bMiniApp/auto-imports.d.ts | 1 apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue | 21 +++--- apps/cMiniApp/src/subpackages/wallet/mineWallet/mineWallet.vue | 2 apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue | 13 ++++ packages/components/src/Card/MineAgreementSignCard.vue | 35 +++-------- apps/cMiniApp/src/hooks/access.ts | 13 +++ apps/cMiniApp/src/subpackages/mine/mineAgreementSign/mineAgreementSign.vue | 2 apps/cMiniApp/src/subpackages/wallet/incomeDetail/incomeDetail.vue | 2 apps/cMiniApp/src/subpackages/wallet/incomeDetail/InnerPage.vue | 11 +++ 14 files changed, 105 insertions(+), 72 deletions(-) diff --git a/apps/bMiniApp/.eslintrc-auto-import.json b/apps/bMiniApp/.eslintrc-auto-import.json index be7295f..8d2ca3b 100644 --- a/apps/bMiniApp/.eslintrc-auto-import.json +++ b/apps/bMiniApp/.eslintrc-auto-import.json @@ -120,6 +120,7 @@ "EnumTaskStatus": true, "EnumUserGender": true, "EnumUserStatus": true, - "EnumUserType": true + "EnumUserType": true, + "useAccessAuthentication": true } } diff --git a/apps/bMiniApp/auto-imports.d.ts b/apps/bMiniApp/auto-imports.d.ts index 92fbd7a..a16c0b0 100644 --- a/apps/bMiniApp/auto-imports.d.ts +++ b/apps/bMiniApp/auto-imports.d.ts @@ -91,6 +91,7 @@ const toValue: typeof import('vue')['toValue'] const triggerRef: typeof import('vue')['triggerRef'] const unref: typeof import('vue')['unref'] + const useAccessAuthentication: typeof import('./src/hooks/access')['useAccessAuthentication'] const useAccessLogin: typeof import('./src/hooks/access')['useAccessLogin'] const useAttrs: typeof import('vue')['useAttrs'] const useAuth: typeof import('./src/hooks/user')['useAuth'] diff --git a/apps/cMiniApp/src/hooks/access.ts b/apps/cMiniApp/src/hooks/access.ts index 1631ceb..88bd89c 100644 --- a/apps/cMiniApp/src/hooks/access.ts +++ b/apps/cMiniApp/src/hooks/access.ts @@ -24,12 +24,21 @@ return _fn as T; } -export function useAccessReal<T extends (...args: any[]) => any>(fn: T) { +type UseAccessRealOptions = { + message?: string; +}; + +export function useAccessReal<T extends (...args: any[]) => any>( + fn: T, + options: UseAccessRealOptions = { message: '璇峰墠寰�瀹炲悕璁よ瘉' } +) { + const { message } = options; + console.log('message: ', message); const { isCertified } = useUser(); const _fn = useAccessLogin((...args2) => { if (!isCertified.value) { - Message.confirm({ message: '璇峰墠寰�瀹炲悕璁よ瘉' }).then(() => { + Message.confirm({ message: message }).then(() => { Taro.navigateTo({ url: `${RouterPath.authenticationHome}`, }); diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/InnerPage.vue index 7909b96..a2a8fdd 100644 --- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/InnerPage.vue @@ -19,13 +19,7 @@ :key="queryState.mineAgreementSignType" > <template #renderItem="{ item }"> - <MineAgreementSignCard @click="goDetail"> - <template #actions> - <div class="task-card-actions-text" :style="{ color: TaskStatusColor[10] }"> - {{ TaskStatusText[10] }} - </div> - </template> - </MineAgreementSignCard> + <MineAgreementSignCard @click="goDetail"> </MineAgreementSignCard> </template> </InfiniteLoading> </template> @@ -33,10 +27,10 @@ <script setup lang="ts"> import { MineAgreementSignCard, ProTabs, ProTabPane } from '@12333/components'; import { useUserStore } from '@/stores/modules/user'; -import { TaskStatusText, TaskStatusColor, TaskStatus } from '@/constants'; +import { TaskStatus } from '@/constants'; import { useInfiniteLoading } from '@12333/hooks'; -import { OrderInputType } from '@12333/constants'; -import * as flexWorkerServices from '@12333/services/api/FlexWorker'; +import { EnumPagedListOrder } from '@12333/constants'; +import * as taskServices from '@12333/services/apiV2/task'; import Taro from '@tarojs/taro'; defineOptions({ @@ -55,20 +49,16 @@ pageModel: { rows: 20, page: pageParam, - orderInput: [ - queryState.mineAgreementSignType === TaskStatus.All - ? { property: 'creationTime', order: OrderInputType.Desc } - : { property: 'lastShelfTime', order: OrderInputType.Desc }, - ], + orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], }, }; - return flexWorkerServices.getFlexTaskByArrange(params, { + return taskServices.getPersonalHireTaskInfos(params, { showLoading: false, }); }, { - queryKey: ['flexWorkerServices/getFlexTaskByArrange', queryState], + queryKey: ['taskServices/getPersonalHireTaskInfos', queryState], } ); @@ -82,10 +72,7 @@ <style lang="scss"> @import '@/styles/common.scss'; -.mineAgreementSign-page-wrapper { - .task-card-actions-text { - font-size: 24px; - line-height: 42px; - } -} +// .mineAgreementSign-page-wrapper { +// +// } </style> diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/mineAgreementSign.vue b/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/mineAgreementSign.vue index cbb5fe1..3bf5d51 100644 --- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/mineAgreementSign.vue +++ b/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/mineAgreementSign.vue @@ -1,5 +1,5 @@ <template> - <PageLayoutWithBg class="mineAgreementSign-page-wrapper" :title="'鍗忚绛剧害'" developing> + <PageLayoutWithBg class="mineAgreementSign-page-wrapper" :title="'鍗忚绛剧害'"> <InnerPage></InnerPage> </PageLayoutWithBg> </template> diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue index 0382b05..cd161c7 100644 --- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue @@ -93,7 +93,7 @@ const userStore = useUserStore(); -function goToSign() {} +const goToSign = useAccessReal(() => {}); </script> <style lang="scss"> diff --git a/apps/cMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue index 66fd069..3c3f8db 100644 --- a/apps/cMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue @@ -23,10 +23,10 @@ </template> </InfiniteLoading> </ContentScrollView> - <!-- <div class="taskCheckDetail-tips-wrapper"> + <div class="taskCheckDetail-tips-wrapper" v-if="!isBindBankCard"> <div class="taskCheckDetail-tips-text">鎮ㄥ皻鏈粦瀹氶摱琛屽崱锛屾殏鏃舵棤娉曠粨绠楁湇鍔¤垂</div> - <div class="taskCheckDetail-tips-btn">绔嬪嵆缁戝畾閾惰鍗′俊鎭�</div> - </div> --> + <div class="taskCheckDetail-tips-btn" @click="goBindBankCard">绔嬪嵆缁戝畾閾惰鍗′俊鎭�</div> + </div> </template> <script setup lang="ts"> @@ -43,6 +43,18 @@ const id = route.params?.id as string; const { infiniteLoadingProps } = useCheckReceiveTaskUserSubmits({ id: id }); + +const isBindBankCard = computed( + () => + infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.enterpriseEmployeeUser + ?.isBindBankCard +); + +function goBindBankCard() { + Taro.navigateTo({ + url: `${RouterPath.unboundBankCard}`, + }); +} </script> <style lang="scss"> @@ -56,5 +68,19 @@ margin-bottom: 16px; color: boleGetCssVar('text-color', 'primary'); } + + .taskCheckDetail-tips-wrapper { + text-align: center; + font-size: 24px; + line-height: 32px; + + .taskCheckDetail-tips-text { + color: boleGetCssVar('text-color', 'secondary'); + } + + .taskCheckDetail-tips-btn { + color: boleGetCssVar('color', 'primary'); + } + } } </style> diff --git a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue index a10ccc6..58fd1fc 100644 --- a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue @@ -121,7 +121,12 @@ :isFlex="false" @click="handleCall" ></PageFooterAction> - <PageFooterBtn v-if="from === 'sign'" type="primary" disabled> + <PageFooterBtn + v-if="from === 'sign'" + type="primary" + :disabled="detail?.applyButton === GetTaskInfoQueryResultApplyButton.WaitHire" + @click="handleSign" + > {{ GetTaskInfoQueryResultApplyButtonText[detail.applyButton] }} </PageFooterBtn> <PageFooterBtn @@ -176,6 +181,7 @@ GetPersonalHireTaskInfosQueryStatusColor, GetTaskInfoQueryResultHireButtonText, GetTaskInfoQueryResultHireButton, + GetTaskInfoQueryResultApplyButton, } from '@12333/constants'; import { useAccessLogin } from '@/hooks'; @@ -275,6 +281,11 @@ url: `${RouterPath.taskSubmitCheck}?id=${id}`, }); } +function handleSign() { + // Taro.navigateTo({ + // url: `${RouterPath}?id=${id}`, + // }); +} function goMap() { Taro.openLocation({ diff --git a/apps/cMiniApp/src/subpackages/wallet/incomeDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/incomeDetail/InnerPage.vue index b33d8d1..93e590f 100644 --- a/apps/cMiniApp/src/subpackages/wallet/incomeDetail/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/wallet/incomeDetail/InnerPage.vue @@ -9,6 +9,7 @@ format="YYYY骞碝鏈�" :max-date="nowDate" /> + <IconFont name="triangle-down" class="income-detail-time-picker-icon"></IconFont> </div> </template> </IncomeDetailListItem> @@ -25,6 +26,7 @@ <script setup lang="ts"> import { List, IncomeDetailListItem, ChooseInputWithDatePicker } from '@12333/components'; import { useUserStore } from '@/stores/modules/user'; +import { IconFont } from '@nutui/icons-vue-taro'; import Taro from '@tarojs/taro'; import dayjs from 'dayjs'; @@ -50,9 +52,12 @@ .incomeDetail-page-wrapper { .income-detail-time-picker { + position: relative; + .nut-input { border-bottom: none; padding: 0; + width: 100%; .input-text { font-size: 20px; @@ -64,6 +69,12 @@ display: none; } } + + .income-detail-time-picker-icon { + position: absolute; + top: 12px; + left: 220px; + } } } </style> diff --git a/apps/cMiniApp/src/subpackages/wallet/incomeDetail/incomeDetail.vue b/apps/cMiniApp/src/subpackages/wallet/incomeDetail/incomeDetail.vue index b8b35c9..9141308 100644 --- a/apps/cMiniApp/src/subpackages/wallet/incomeDetail/incomeDetail.vue +++ b/apps/cMiniApp/src/subpackages/wallet/incomeDetail/incomeDetail.vue @@ -1,5 +1,5 @@ <template> - <PageLayout class="incomeDetail-page-wrapper" :title="'鏀跺叆鏄庣粏'" developing> + <PageLayout class="incomeDetail-page-wrapper" :title="'鏀跺叆鏄庣粏'"> <InnerPage></InnerPage> </PageLayout> </template> diff --git a/apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue index 28ae10b..bae21d2 100644 --- a/apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue @@ -21,7 +21,7 @@ name: 'InnerPage', }); -const userStore = useUserStore(); +const { isCertified } = useUser(); const isBinding = ref(false); @@ -30,16 +30,15 @@ url: `${RouterPath.incomeDetail}`, }); } -function goBankBind() { - // Message.confirm({ message: '瀹屾垚瀹炲悕璁よ瘉鍚庢墠鍙繘琛岄摱琛屽崱缁戝畾' }).then(() => { - // Taro.navigateTo({ - // url: `${RouterPath.authenticationHome}`, - // }); - // }); - Taro.navigateTo({ - url: `${isBinding.value ? RouterPath.bindBankCard : RouterPath.unboundBankCard}`, - }); -} + +const goBankBind = useAccessReal( + () => { + Taro.navigateTo({ + url: `${isBinding.value ? RouterPath.bindBankCard : RouterPath.unboundBankCard}`, + }); + }, + { message: '瀹屾垚瀹炲悕璁よ瘉鍚庢墠鍙繘琛岄摱琛屽崱缁戝畾' } +); </script> <style lang="scss"> diff --git a/apps/cMiniApp/src/subpackages/wallet/mineWallet/mineWallet.vue b/apps/cMiniApp/src/subpackages/wallet/mineWallet/mineWallet.vue index 1d0382e..2a730f7 100644 --- a/apps/cMiniApp/src/subpackages/wallet/mineWallet/mineWallet.vue +++ b/apps/cMiniApp/src/subpackages/wallet/mineWallet/mineWallet.vue @@ -1,5 +1,5 @@ <template> - <PageLayout class="mineWallet-page-wrapper" :title="'鎴戠殑閽卞寘'" developing> + <PageLayout class="mineWallet-page-wrapper" :title="'鎴戠殑閽卞寘'"> <InnerPage></InnerPage> </PageLayout> </template> diff --git a/apps/cMiniApp/src/subpackages/wallet/unboundBankCard/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/unboundBankCard/InnerPage.vue index fd5fbd0..f458fa7 100644 --- a/apps/cMiniApp/src/subpackages/wallet/unboundBankCard/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/wallet/unboundBankCard/InnerPage.vue @@ -51,10 +51,10 @@ import { VerificationCodeBusinessType } from '@12333/constants'; import * as commonServices from '@12333/services/api/Common'; import Taro from '@tarojs/taro'; -import { useQuery } from '@tanstack/vue-query'; +import { useQuery, useQueryClient } from '@tanstack/vue-query'; const userResumeServices = {}; - +const queryClient = useQueryClient(); defineOptions({ name: 'InnerPage', }); @@ -124,6 +124,9 @@ Taro.navigateTo({ url: `${RouterPath.mineCurriculumVitae}`, }); + queryClient.invalidateQueries([ + 'taskCheckReceiveServices/getCheckReceiveTaskUserSubmits', + ]); }, }); } diff --git a/packages/components/src/Card/MineAgreementSignCard.vue b/packages/components/src/Card/MineAgreementSignCard.vue index 406d63e..87d8e5e 100644 --- a/packages/components/src/Card/MineAgreementSignCard.vue +++ b/packages/components/src/Card/MineAgreementSignCard.vue @@ -4,20 +4,17 @@ <div class="task-card-title">瀹佹尝浜哄姏鏃犲咖浜哄姏璧勬簮鏈夐檺鍏徃</div> </div> <div class="task-card-footer"> - <div class="task-card-left"> - <div class="task-card-time">2024.11.20 - 2025.11.19</div> + <div class="task-card-actions" :style="{ color: '#FF4D4F' }"> + {{ '寰呯绾�' }} </div> - <div class="task-card-actions"> - <slot name="actions"> - <nut-button type="primary">鎶ュ悕</nut-button> - </slot> - </div> + <img :src="IconArrow" class="task-card-arrow" /> </div> </div> </template> <script setup lang="ts"> import { CommonTaskCardProps } from './card'; +import IconArrow from '@/assets/setting/icon-arrow.png'; defineOptions({ name: 'MineAgreementSignCard', @@ -54,30 +51,18 @@ } } - .task-card-time { - font-size: 24px; - color: boleGetCssVar('text-color', 'secondary'); - line-height: 36px; - margin-bottom: 6px; - } - .task-card-footer { display: flex; align-items: center; - - .task-card-left { - flex: 1; - min-width: 0; - display: flex; - align-items: center; - } + justify-content: space-between; .task-card-actions { - --nut-button-default-font-size: 24px; + font-size: 24px; + } - .nut-button { - height: 26px; - } + .task-card-arrow { + width: 24px; + height: 24px; } } } -- Gitblit v1.9.1