From 354fa08d53f4cd97014bfb0008c8c5f0326bbdd3 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期一, 11 八月 2025 09:38:35 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp --- apps/bMiniApp/src/subpackages/task/taskCheck/InnerPage.vue | 50 +++++----------- apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue | 17 +++-- apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue | 16 ++--- packages/components/src/Card/FlexJobTopView.vue | 6 +- packages/constants/task.ts | 6 ++ apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue | 16 +++++ apps/bMiniApp/src/subpackages/task/components/TaskCheckPersonalView.vue | 4 apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue | 15 +++-- packages/components/src/Card/MyTaskCard.vue | 10 +- apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue | 4 packages/hooks/task.ts | 5 + 11 files changed, 77 insertions(+), 72 deletions(-) diff --git a/apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue index 3a23ff1..11a4540 100644 --- a/apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue +++ b/apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue @@ -61,10 +61,10 @@ const { queryMenuState, infiniteLoadingProps, invalidateQueries } = useTaskList(); const releaseing = computed(() => { - return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.releaseing ?? 0; + return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.inProcessReleaseCount ?? 0; }); const stoping = computed(() => { - return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.stoping ?? 0; + return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.stoppedReleaseCount ?? 0; }); async function handleChangeStatus( diff --git a/apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue b/apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue index 5334987..46667a7 100644 --- a/apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue +++ b/apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue @@ -10,13 +10,13 @@ > <template #actions> <nut-button - v-if="checkAcceptStatus === FlexTaskCheckAcceptStatusEnum.Wait" + v-if="checkAcceptStatus === EnumTaskCheckReceiveStatus.Wait" type="primary" class="task-check-card-phone-btn" >楠屾敹</nut-button > <div v-else class="task-check-card-phone-status" :style="{ color: Colors.Success }"> - {{ FlexTaskCheckAcceptStatusEnumText[checkAcceptStatus] }} + {{ EnumTaskCheckReceiveStatusText[checkAcceptStatus] }} </div> </template> </TaskCheckPersonalView> @@ -25,11 +25,12 @@ <script setup lang="ts"> import TaskCheckPersonalView from './TaskCheckPersonalView.vue'; -import { Colors, Gender } from '@12333/constants'; import { - FlexTaskCheckAcceptStatusEnum, - FlexTaskCheckAcceptStatusEnumText, -} from '@12333/constants/task'; + Colors, + EnumUserGender, + EnumTaskCheckReceiveStatus, + EnumTaskCheckReceiveStatusText, +} from '@12333/constants'; defineOptions({ name: 'TaskCheckCard', @@ -38,10 +39,10 @@ type Props = { avatarUrl?: string; name?: string; - genderType?: Gender; + genderType?: EnumUserGender; isRealName?: boolean; contactPhone?: string; - checkAcceptStatus?: API.FlexTaskCheckAcceptStatusEnum; + checkAcceptStatus?: EnumTaskCheckReceiveStatus; }; const props = withDefaults(defineProps<Props>(), {}); diff --git a/apps/bMiniApp/src/subpackages/task/components/TaskCheckPersonalView.vue b/apps/bMiniApp/src/subpackages/task/components/TaskCheckPersonalView.vue index 55a7923..c29a64e 100644 --- a/apps/bMiniApp/src/subpackages/task/components/TaskCheckPersonalView.vue +++ b/apps/bMiniApp/src/subpackages/task/components/TaskCheckPersonalView.vue @@ -19,7 +19,7 @@ <script setup lang="ts"> import { FlexJobTopView } from '@12333/components'; -import { Gender } from '@12333/constants'; +import { EnumUserGender } from '@12333/constants'; defineOptions({ name: 'TaskCheckPersonalView', @@ -28,7 +28,7 @@ type Props = { avatarUrl?: string; name?: string; - genderType?: Gender; + genderType?: EnumUserGender; isRealName?: boolean; contactPhone?: string; }; diff --git a/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue index db4237e..9d19582 100644 --- a/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue +++ b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue @@ -217,7 +217,21 @@ name: [{ required: true, message: '璇疯緭鍏ヤ换鍔″悕绉�' }], genderLimit: [{ required: true, message: '璇烽�夋嫨鎬у埆瑕佹眰' }], addressDetail: [{ required: true, message: '璇疯緭鍏ヨ缁嗗湴鍧�' }], - + billingMethod: [ + { + required: true, + message: '璇烽�夋嫨鏀惰垂鏂瑰紡', + validator: () => { + if (!form.billingMethod) { + return Promise.reject('璇烽�夋嫨鏈嶅姟璐圭被鍨�'); + } + if (!form.serviceFee) { + return Promise.reject('璇疯緭鍏ユ湇鍔¤垂'); + } + return Promise.resolve(true); + }, + }, + ], weMapInfo: [ { required: true, message: '璇疯缃伐浣滃湴鐐�', validator: FormValidator.validatorWeMap }, ], diff --git a/apps/bMiniApp/src/subpackages/task/taskCheck/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/taskCheck/InnerPage.vue index aba6805..639db70 100644 --- a/apps/bMiniApp/src/subpackages/task/taskCheck/InnerPage.vue +++ b/apps/bMiniApp/src/subpackages/task/taskCheck/InnerPage.vue @@ -1,7 +1,7 @@ <template> - <Calendar v-model="queryState.date"></Calendar> + <Calendar v-model="queryMenuState.time"></Calendar> <ProTabs - v-model="queryState.status" + v-model="queryMenuState.status" name="task-tab" :showPaneContent="false" class="task-tabs" @@ -9,20 +9,21 @@ title-gutter="8" title-scroll > + <ProTabPane title="寰呮彁浜�" pane-key="10"></ProTabPane> <ProTabPane title="寰呴獙鏀�" pane-key="10"></ProTabPane> <ProTabPane title="宸查獙鏀�" pane-key="20"></ProTabPane> </ProTabs> <InfiniteLoading scrollViewClassName="common-infinite-scroll-list" v-bind="infiniteLoadingProps" - :key="queryState.status" + :key="queryMenuState.status" > <template #renderItem="{ item }"> <MyTaskCard - :taskName="item.taskName" - :startDate="item.startDate" - :endDate="item.endDate" - :address="item.address" + :name="item.name" + :beginTime="item.beginTime" + :endTime="item.endTime" + :addressName="item.addressName" @click="goSubmitTaskDetail(item)" /> </template> @@ -32,42 +33,21 @@ <script setup lang="ts"> import { MyTaskCard, ProTabs, ProTabPane, Calendar } from '@12333/components'; import Taro from '@tarojs/taro'; -import { useInfiniteLoading } from '@12333/hooks'; -import { OrderInputType } from '@12333/constants'; -import * as flexWorkerServices from '@12333/services/api/FlexWorker'; +import { useTaskList } from '@12333/hooks'; defineOptions({ name: 'InnerPage', }); -const queryState = reactive({ - status: '10', - date: new Date(), +const { queryMenuState, infiniteLoadingProps } = useTaskList({ + defaultQueryMenuState: { + status: EnumTaskStatus.Wait, + }, }); -const { infiniteLoadingProps } = useInfiniteLoading( - ({ pageParam }) => { - let params: API.GetFlexTaskListInput = { - isOverCheck: queryState.status === '20', - pageModel: { - rows: 20, - page: pageParam, - orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }], - }, - }; - - return flexWorkerServices.getFlexTaskByIsOverCheck(params, { - showLoading: false, - }); - }, - { - queryKey: ['flexWorkerServices/getFlexTaskByIsOverCheck', queryState], - } -); - -function goSubmitTaskDetail(item: API.GetFlexTaskListOutput) { +function goSubmitTaskDetail(item: API.GetTaskInfosQueryResultItem) { Taro.navigateTo({ - url: `${RouterPath.taskCheckDetail}?taskId=${item.taskId}`, + url: `${RouterPath.taskCheckDetail}?taskId=${item.id}`, }); } </script> diff --git a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue index 5728029..a91b416 100644 --- a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue +++ b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue @@ -2,8 +2,8 @@ <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch"> <ContentView> <MyTaskCard - :task-name="detail.taskName" - :address="address" + :namee="detail.name" + :addressName="detail.addressName" :showMyTaskArrow="false" :showTime="false" ></MyTaskCard> @@ -32,7 +32,7 @@ <script setup lang="ts"> import Taro from '@tarojs/taro'; import { useQuery } from '@tanstack/vue-query'; -import * as flexWorkerServices from '@12333/services/api/FlexWorker'; +import * as taskServices from '@12333/services/apiV2/task'; import { useInfiniteLoading } from '@12333/hooks'; import { OrderInputType } from '@12333/constants'; import TaskCheckCard from '../components/TaskCheckCard.vue'; @@ -52,20 +52,16 @@ data: detail, refetch, } = useQuery({ - queryKey: ['flexWorkerServices/getFlexTaskDto', taskId], + queryKey: ['taskServices/getTaskInfo', taskId], queryFn: async () => { - return await flexWorkerServices.getFlexTaskDto( + return await taskServices.getTaskInfo( { id: taskId }, { showLoading: false, } ); }, - placeholderData: () => ({} as API.GetFlexTaskDtoOutput), -}); - -const address = computed(() => { - return `${detail.value.provinceName} ${detail.value.cityName} ${detail.value.areaName} ${detail.value.address}`; + placeholderData: () => ({} as API.GetTaskInfoQueryResult), }); const queryState = reactive({ diff --git a/apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue index 195ea72..b877a4a 100644 --- a/apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue +++ b/apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue @@ -8,8 +8,11 @@ title-gutter="8" title-scroll > - <ProTabPane :title="`寰呭畨鎺�(${notCount})`" :pane-key="EnumTaskStatus.Wait"></ProTabPane> - <ProTabPane :title="`宸插畨鎺�(${hasCount})`" :pane-key="EnumTaskStatus.Complete"></ProTabPane> + <ProTabPane :title="`寰呭畨鎺�(${waitAssignCount})`" :pane-key="EnumTaskStatus.Wait"></ProTabPane> + <ProTabPane + :title="`宸插畨鎺�(${completedAssignCount})`" + :pane-key="EnumTaskStatus.Complete" + ></ProTabPane> </ProTabs> <InfiniteLoading scrollViewClassName="common-infinite-scroll-list" @@ -62,11 +65,11 @@ }, }); -const hasCount = computed(() => { - return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.hasCount ?? 0; +const completedAssignCount = computed(() => { + return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.completedAssignCount ?? 0; }); -const notCount = computed(() => { - return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.notCount ?? 0; +const waitAssignCount = computed(() => { + return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.waitAssignCount ?? 0; }); function goSubmitTaskDetail(item: API.GetTaskInfosQueryResultItem) { diff --git a/packages/components/src/Card/FlexJobTopView.vue b/packages/components/src/Card/FlexJobTopView.vue index 35f10ac..4461f81 100644 --- a/packages/components/src/Card/FlexJobTopView.vue +++ b/packages/components/src/Card/FlexJobTopView.vue @@ -6,7 +6,7 @@ <div class="flexJob-card-top-info-name">{{ name }}</div> <div class="flexJob-card-top-info-gender"> <img - v-if="genderType === Gender.Male" + v-if="genderType === EnumUserGender.Male" :src="IconMale" class="flexJob-card-top-info-gender-icon" /> @@ -28,7 +28,7 @@ <script setup lang="ts"> import IconMale from '@/assets/mine/icon-male.png'; import IconFemale from '@/assets/mine/icon-female.png'; -import { AvatarImage, Gender } from '@12333/constants'; +import { AvatarImage, EnumUserGender } from '@12333/constants'; import { Avatar } from '@12333/components'; defineOptions({ @@ -40,7 +40,7 @@ avatarUrl?: string; name?: string; - genderType?: Gender; + genderType?: EnumUserGender; age?: number; educationalLevel?: string; arrangeCount?: number; diff --git a/packages/components/src/Card/MyTaskCard.vue b/packages/components/src/Card/MyTaskCard.vue index 8283af6..d86170e 100644 --- a/packages/components/src/Card/MyTaskCard.vue +++ b/packages/components/src/Card/MyTaskCard.vue @@ -6,7 +6,7 @@ </template> <div class="my-task-card-time" v-if="showTime"> {{ - `${dayjs(startDate).format('YYYY骞碝M鏈圖D鏃�')}鑷�${dayjs(endDate).format('YYYY骞碝M鏈圖D鏃�')}` + `${dayjs(beginTime).format('YYYY骞碝M鏈圖D鏃�')}鑷�${dayjs(endTime).format('YYYY骞碝M鏈圖D鏃�')}` }} </div> <div v-else></div> @@ -27,10 +27,10 @@ showMyTaskArrow?: boolean; showTime?: boolean; - startDate?: string; - endDate?: string; - taskName?: string; - address?: string; + name?: string; + beginTime?: string; + endTime?: string; + addressName?: string; }; const props = withDefaults(defineProps<Props>(), { diff --git a/packages/constants/task.ts b/packages/constants/task.ts index ef18f0a..bc23d2c 100644 --- a/packages/constants/task.ts +++ b/packages/constants/task.ts @@ -3,6 +3,7 @@ EnumUserGender, EnumSettlementCycle, EnumTaskReleaseStatus, + EnumTaskCheckReceiveStatus, } from './apiEnum'; export const EnumBillingMethodText = { @@ -40,3 +41,8 @@ [EnumTaskReleaseStatus.InProcess]: '鍙戝竷涓�', [EnumTaskReleaseStatus.Stopped]: '宸插仠姝�', }; + +export const EnumTaskCheckReceiveStatusText = { + [EnumTaskCheckReceiveStatus.Wait]: '寰呴獙鏀�', + [EnumTaskCheckReceiveStatus.Completed]: '宸查獙鏀�', +}; diff --git a/packages/hooks/task.ts b/packages/hooks/task.ts index 3a07d88..57079fd 100644 --- a/packages/hooks/task.ts +++ b/packages/hooks/task.ts @@ -11,6 +11,7 @@ import { trim } from '@12333/utils'; import { MaybeRef, reactive, ref, unref } from 'vue'; import * as taskServices from '@12333/services/apiV2/task'; +import dayjs from 'dayjs'; export enum HomeOrderType { Recommend = 'Recommend', @@ -28,6 +29,7 @@ settlementCycle?: EnumSettlementCycle; benefitCodes?: string; enterpriseId?: string; + time?: Date; }; }; @@ -43,6 +45,7 @@ status: '' as any as EnumTaskStatus, releaseStatus: EnumTaskReleaseStatus.InProcess, enterpriseId: '', + time: '' as any as Date, ...defaultQueryMenuState, }); @@ -75,6 +78,8 @@ status: queryMenuState.status, releaseStatus: queryMenuState.releaseStatus, enterpriseId: queryMenuState.enterpriseId, + beginTime: dayjs(queryMenuState.time).format('YYYY-MM-DD 00:00:00'), + endTime: dayjs(queryMenuState.time).format('YYYY-MM-DD 23:59:59'), }; return taskServices.getTaskInfos(params, { -- Gitblit v1.9.1