From 012821743b57aab8c12c3b04ae6bd123f64367e4 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 07 十一月 2025 11:05:27 +0800
Subject: [PATCH] Merge branch 'dev-1.3.0.1' of http://120.26.58.240:8888/r/flexJobMiniApp into dev-1.3.0.1
---
apps/bMiniApp/src/subpackages/task/taskHandleCheckDetail/InnerPage.vue | 20 --
apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue | 24 ---
apps/cMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue | 5
apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue | 86 ++++++++++---
packages/services/apiV2/typings.d.ts | 14 +-
apps/cMiniApp/src/pages/task/InnerPage.vue | 43 ++++---
apps/underTakeMiniApp/src/subpackages/task/taskHandleCheckDetail/InnerPage.vue | 20 --
packages/components/src/Card/TaskCheckFileCard.vue | 37 +++++
apps/cMiniApp/project.private.config.json | 14 ++
packages/utils/orderUtils.ts | 11 +
packages/hooks/task.ts | 75 ++++++++++++
11 files changed, 242 insertions(+), 107 deletions(-)
diff --git a/apps/bMiniApp/src/subpackages/task/taskHandleCheckDetail/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/taskHandleCheckDetail/InnerPage.vue
index c2e2779..df870ca 100644
--- a/apps/bMiniApp/src/subpackages/task/taskHandleCheckDetail/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/task/taskHandleCheckDetail/InnerPage.vue
@@ -41,6 +41,7 @@
import { Message, setOSSLink } from '@12333/utils';
import dayjs from 'dayjs';
import { goBack } from '@/utils';
+import { useCheckReceiveTaskUserSubmit } from '@12333/hooks';
defineOptions({
name: 'InnerPage',
@@ -50,22 +51,11 @@
const id = router.params?.id ?? '';
const date = router.params?.date ?? '';
-const {
- isLoading,
- isError,
- data: detail,
- refetch,
-} = useQuery({
- queryKey: ['taskCheckReceiveServices/getCheckReceiveTaskUserSubmit', id, date],
- queryFn: async () => {
- return await taskCheckReceiveServices.getCheckReceiveTaskUserSubmit(
- { taskInfoUserId: id, date: dayjs(date).format('YYYY-MM-DD') },
- {
- showLoading: false,
- }
- );
+const { isLoading, isError, detail, refetch } = useCheckReceiveTaskUserSubmit({
+ params: {
+ taskInfoUserId: id,
+ date: dayjs(date).format('YYYY-MM-DD'),
},
- placeholderData: () => ({} as API.GetCheckReceiveTaskUserSubmitQueryResult),
});
async function checkReceiveTask(checkReceiveStatus: EnumTaskUserSubmitCheckReceiveStatus) {
diff --git a/apps/cMiniApp/project.private.config.json b/apps/cMiniApp/project.private.config.json
index 35a4f34..48d64e1 100644
--- a/apps/cMiniApp/project.private.config.json
+++ b/apps/cMiniApp/project.private.config.json
@@ -23,6 +23,20 @@
"miniprogram": {
"list": [
{
+ "name": "楠屾敹璇︽儏",
+ "pathName": "subpackages/task/taskCheckDetail/taskCheckDetail",
+ "query": "id=b0e79981-56d5-4730-83e7-08de1d1fb9dd",
+ "scene": null,
+ "launchMode": "default"
+ },
+ {
+ "name": "鎻愪氦楠屾敹",
+ "pathName": "subpackages/task/taskSubmitCheck/taskSubmitCheck",
+ "query": "id=b0e79981-56d5-4730-83e7-08de1d1fb9dd&date=2025-11-07",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
"name": "浠诲姟",
"pathName": "pages/task/task",
"query": "",
diff --git a/apps/cMiniApp/src/pages/task/InnerPage.vue b/apps/cMiniApp/src/pages/task/InnerPage.vue
index 6be8d8a..375515e 100644
--- a/apps/cMiniApp/src/pages/task/InnerPage.vue
+++ b/apps/cMiniApp/src/pages/task/InnerPage.vue
@@ -29,7 +29,7 @@
:begin-time="item.beginTime"
:end-time="item.endTime"
:showActions="
- item.checkReceiveMethod === EnumTaskCheckReceiveMethod.CheckIn &&
+ OrderUtils.isContainCheckIn(item.checkReceiveMethods) &&
queryState.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed
"
@click="goSubmitTaskDetail(item)"
@@ -44,6 +44,8 @@
import Taro from '@tarojs/taro';
import { useCheckReceiveTasks, useTaskList } from '@12333/hooks';
import { EnumTaskCheckReceiveStatus, EnumTaskCheckReceiveMethod } from '@12333/constants';
+import { OrderUtils } from '@12333/utils';
+import dayjs from 'dayjs';
defineOptions({
name: 'InnerPage',
@@ -52,27 +54,32 @@
const { queryState, infiniteLoadingProps } = useCheckReceiveTasks();
function goSubmitTaskDetail(item: API.GetCheckReceiveTasksQueryResultItem) {
+ const _date = dayjs(queryState.date).format('YYYY-MM-DD');
if (Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.WaitSubmit) {
Taro.navigateTo({
- url: `${RouterPath.taskSubmitCheck}?id=${item.id}&date=${queryState.date}`,
+ url: `${RouterPath.taskSubmitCheck}?id=${item.id}&date=${_date}`,
+ });
+ } else {
+ Taro.navigateTo({
+ url: `${RouterPath.taskCheckDetail}?id=${item.id}`,
});
}
- if (item.checkReceiveMethod === EnumTaskCheckReceiveMethod.CheckIn) {
- if (Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.Completed) {
- Taro.navigateTo({
- url: `${RouterPath.taskUserSubmitCheckHistories}?id=${item.id}&date=${queryState.date}`,
- });
- }
- } else {
- if (
- Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.WaitCheckReceive ||
- Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.Completed
- ) {
- Taro.navigateTo({
- url: `${RouterPath.taskCheckDetail}?id=${item.id}`,
- });
- }
- }
+ // if (item.checkReceiveMethod === EnumTaskCheckReceiveMethod.CheckIn) {
+ // if (Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.Completed) {
+ // Taro.navigateTo({
+ // url: `${RouterPath.taskUserSubmitCheckHistories}?id=${item.id}&date=${_date}`,
+ // });
+ // }
+ // } else {
+ // if (
+ // Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.WaitCheckReceive ||
+ // Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.Completed
+ // ) {
+ // Taro.navigateTo({
+ // url: `${RouterPath.taskCheckDetail}?id=${item.id}`,
+ // });
+ // }
+ // }
}
</script>
diff --git a/apps/cMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
index 4b1898d..053cf28 100644
--- a/apps/cMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
@@ -11,13 +11,16 @@
></MyTaskCard>
<div class="taskCheckFileCard-status-title">楠屾敹鐓х墖</div>
<InfiniteLoading
- scrollViewClassName="common-infinite-scroll-list task-list"
+ scrollViewClassName="common-infinite-scroll-list-no-padding task-list"
v-bind="infiniteLoadingProps"
>
<template #renderItem="{ item }">
<TaskCheckFileCard
:created-time="item?.createdTime"
+ :userCheckInTime="item?.userCheckInTime"
+ :userCheckOutTime="item?.userCheckOutTime"
:checkReceiveStatus="item?.checkReceiveStatus"
+ :checkReceiveMethods="item?.checkReceiveMethods"
:files="item?.files?.map((x) => setOSSLink(x))"
></TaskCheckFileCard>
</template>
diff --git a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
index 7591634..7ecb2b6 100644
--- a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
@@ -75,7 +75,7 @@
v-if="
from === 'hire' &&
!(
- detail?.checkReceiveMethod === EnumTaskCheckReceiveMethod.CheckIn &&
+ isContainCheckIn &&
detail?.hireButton === GetTaskInfoQueryResultHireButton.ApplyCheckReceive
)
"
@@ -128,6 +128,7 @@
EnumTaskCheckReceiveMethod,
} from '@12333/constants';
import { useAccessLogin } from '@/hooks';
+import { useTaskInfo } from '@12333/hooks';
defineOptions({
name: 'InnerPage',
@@ -141,26 +142,7 @@
const id = router.params?.id ?? '';
const from = router.params?.from ?? '';
-const {
- isLoading,
- isError,
- data: detail,
- refetch,
-} = useQuery({
- queryKey: ['taskServices/getTaskInfo', id],
- queryFn: async () => {
- return await taskServices.getTaskInfo(
- { id: id },
- {
- showLoading: false,
- }
- );
- },
- placeholderData: () => ({} as API.GetTaskInfoQueryResult),
- onSuccess(data) {
- // if (data.isExistTradeChatRecord) setTrue();
- },
-});
+const { isLoading, isError, detail, refetch, isContainCheckIn } = useTaskInfo({ id });
const { isCollapse, setTrue } = useToggle();
diff --git a/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue
index 06f4438..e30c3d2 100644
--- a/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue
@@ -1,32 +1,47 @@
<template>
- <ContentScrollView :paddingH="false">
- <nut-form :model-value="form" ref="formRef" :rules="rules">
- <nut-form-item label="涓婁紶鐓х墖:" class="bole-form-item alignTop" prop="files" required>
- <Uploader
- v-model:file-list="form.files"
- :maximum="9"
- :limitFileSize="10"
- class="bole-uploader nopaddingtop"
- :sourceType="['camera']"
+ <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch">
+ <ContentScrollView :paddingH="false">
+ <nut-form :model-value="form" ref="formRef" :rules="rules">
+ <nut-form-item label="涓婁紶鐓х墖:" class="bole-form-item alignTop" prop="files" required>
+ <Uploader
+ v-model:file-list="form.files"
+ :maximum="9"
+ :limitFileSize="10"
+ class="bole-uploader nopaddingtop"
+ :sourceType="['camera']"
+ >
+ </Uploader>
+ </nut-form-item>
+ </nut-form>
+ </ContentScrollView>
+ <PageFooter :isOnlyAction="false">
+ <template v-if="isContainCheckIn">
+ <PageFooterBtn type="primary" v-if="!detail.userCheckHistoryType" @click="handleCheckIn()"
+ >绛惧埌</PageFooterBtn
>
- </Uploader>
- </nut-form-item>
- </nut-form>
- </ContentScrollView>
- <PageFooter :isOnlyAction="false">
- <PageFooterBtn type="primary" @click="handleSubmit()">鎻愪氦</PageFooterBtn>
- </PageFooter>
+ <PageFooterBtn
+ v-else-if="detail.userCheckHistoryType === EnumTaskUserSubmitCheckHistoryType.CheckIn"
+ type="primary"
+ @click="handleCheckOut()"
+ >绛惧嚭</PageFooterBtn
+ >
+ </template>
+ <PageFooterBtn v-else type="primary" @click="handleSubmit()">鎻愪氦</PageFooterBtn>
+ </PageFooter>
+ </LoadingLayout>
</template>
<script setup lang="ts">
import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
import { FileItem } from '@nutui/nutui-taro/dist/types/__VUE/uploader/type';
-import { FormValidator, Message } from '@12333/utils';
+import { FormValidator, Message, OrderUtils, convertApiPath2Url } from '@12333/utils';
import * as taskCheckReceiveServices from '@12333/services/apiV2/taskCheckReceive';
import Taro from '@tarojs/taro';
import { goBack } from '@/utils';
import { useQueryClient } from '@tanstack/vue-query';
import dayjs from 'dayjs';
+import { useCheckReceiveTaskUserSubmit } from '@12333/hooks';
+import { EnumTaskUserSubmitCheckHistoryType } from '@12333/constants';
defineOptions({
name: 'InnerPage',
@@ -37,6 +52,18 @@
const date = route.params?.date as string;
const queryClient = useQueryClient();
+const { isLoading, isError, detail, refetch, isContainCheckIn } = useCheckReceiveTaskUserSubmit({
+ params: {
+ taskInfoId: id,
+ date: dayjs(date).format('YYYY-MM-DD'),
+ },
+ onSuccess(data) {
+ if (data.files?.length > 0) {
+ form.files = data.files.map(convertApiPath2Url);
+ }
+ },
+});
+
const form = reactive({
files: [] as FileItem[],
});
@@ -47,6 +74,24 @@
const formRef = ref<any>(null);
+function handleCheckIn() {
+ if (!formRef.value) return;
+ formRef.value.validate().then(({ valid, errors }: any) => {
+ if (valid) {
+ submitCheckReceiveTask(EnumTaskUserSubmitCheckHistoryType.CheckIn);
+ }
+ });
+}
+
+function handleCheckOut() {
+ if (!formRef.value) return;
+ formRef.value.validate().then(({ valid, errors }: any) => {
+ if (valid) {
+ submitCheckReceiveTask(EnumTaskUserSubmitCheckHistoryType.CheckOut);
+ }
+ });
+}
+
function handleSubmit() {
if (!formRef.value) return;
formRef.value.validate().then(({ valid, errors }: any) => {
@@ -56,12 +101,13 @@
});
}
-async function submitCheckReceiveTask() {
+async function submitCheckReceiveTask(userCheckHistoryType?: EnumTaskUserSubmitCheckHistoryType) {
try {
let params: API.SubmitCheckReceiveTaskCommand = {
taskInfoId: id,
date: dayjs(date).format('YYYY-MM-DD'),
files: form.files.map((x) => x.path),
+ userCheckHistoryType,
};
let res = await taskCheckReceiveServices.submitCheckReceiveTask(params);
if (res) {
@@ -75,7 +121,3 @@
} catch (error) {}
}
</script>
-
-<style lang="scss">
-@import '@/styles/common.scss';
-</style>
diff --git a/apps/underTakeMiniApp/src/subpackages/task/taskHandleCheckDetail/InnerPage.vue b/apps/underTakeMiniApp/src/subpackages/task/taskHandleCheckDetail/InnerPage.vue
index 35e7759..d66bb31 100644
--- a/apps/underTakeMiniApp/src/subpackages/task/taskHandleCheckDetail/InnerPage.vue
+++ b/apps/underTakeMiniApp/src/subpackages/task/taskHandleCheckDetail/InnerPage.vue
@@ -41,6 +41,7 @@
import { Message, setOSSLink } from '@12333/utils';
import dayjs from 'dayjs';
import { goBack } from '@/utils';
+import { useCheckReceiveTaskUserSubmit } from '@12333/hooks';
defineOptions({
name: 'InnerPage',
@@ -50,22 +51,11 @@
const id = router.params?.id ?? '';
const date = router.params?.date ?? '';
-const {
- isLoading,
- isError,
- data: detail,
- refetch,
-} = useQuery({
- queryKey: ['taskCheckReceiveServices/getCheckReceiveTaskUserSubmit', id, date],
- queryFn: async () => {
- return await taskCheckReceiveServices.getCheckReceiveTaskUserSubmit(
- { taskInfoUserId: id, date: dayjs(date).format('YYYY-MM-DD') },
- {
- showLoading: false,
- }
- );
+const { isLoading, isError, detail, refetch } = useCheckReceiveTaskUserSubmit({
+ params: {
+ taskInfoUserId: id,
+ date: dayjs(date).format('YYYY-MM-DD'),
},
- placeholderData: () => ({} as API.GetCheckReceiveTaskUserSubmitQueryResult),
});
async function checkReceiveTask(checkReceiveStatus: EnumTaskUserSubmitCheckReceiveStatus) {
diff --git a/packages/components/src/Card/TaskCheckFileCard.vue b/packages/components/src/Card/TaskCheckFileCard.vue
index 74eb4a8..063ee6d 100644
--- a/packages/components/src/Card/TaskCheckFileCard.vue
+++ b/packages/components/src/Card/TaskCheckFileCard.vue
@@ -1,8 +1,26 @@
<template>
<div class="taskCheckFileCard-wrapper">
<div class="taskCheckFileCard-status-wrapper">
- <div class="taskCheckFileCard-time">
- {{ props.createdTime ? dayjs(props.createdTime).format('YYYY-MM-DD HH:mm:ss') : '' }}
+ <div class="taskCheckFileCard-time-wrapper">
+ <template v-if="OrderUtils.isContainCheckIn(checkReceiveMethods)">
+ <div class="taskCheckFileCard-time">
+ 绛惧埌鏃堕棿锛歿{
+ props.userCheckInTime
+ ? dayjs(props.userCheckInTime).format('YYYY-MM-DD HH:mm:ss')
+ : ''
+ }}
+ </div>
+ <div class="taskCheckFileCard-time">
+ 绛惧嚭鏃堕棿锛歿{
+ props.userCheckOutTime
+ ? dayjs(props.userCheckOutTime).format('YYYY-MM-DD HH:mm:ss')
+ : ''
+ }}
+ </div>
+ </template>
+ <div class="taskCheckFileCard-time" v-else>
+ {{ props.createdTime ? dayjs(props.createdTime).format('YYYY-MM-DD HH:mm:ss') : '' }}
+ </div>
</div>
<div
class="taskCheckFileCard-status"
@@ -45,8 +63,9 @@
Colors,
EnumTaskUserSubmitCheckReceiveStatus,
EnumTaskUserSubmitCheckReceiveStatusText,
+ EnumTaskCheckReceiveMethod,
} from '@12333/constants';
-import { setOSSLink } from '@12333/utils';
+import { setOSSLink, OrderUtils } from '@12333/utils';
import dayjs from 'dayjs';
defineOptions({
@@ -59,6 +78,14 @@
files?: string[];
showCheckReceiveStatus?: boolean;
+
+ /** 鐢ㄦ埛绛惧埌鏃堕棿 */
+ userCheckInTime?: string;
+ /** 鐢ㄦ埛绛惧嚭鏃堕棿 */
+ userCheckOutTime?: string;
+
+ /** 楠屾敹鏂瑰紡 */
+ checkReceiveMethods?: EnumTaskCheckReceiveMethod[];
};
const props = withDefaults(defineProps<Props>(), {
@@ -72,7 +99,7 @@
.taskCheckFileCard-wrapper {
.taskCheckFileCard-status-wrapper {
display: flex;
- align-items: center;
+ align-items: flex-start;
justify-content: space-between;
}
@@ -80,7 +107,7 @@
font-weight: 400;
font-size: 24px;
color: boleGetCssVar('text-color', 'regular');
- line-height: 32px;
+ line-height: 44px;
}
.taskCheckFileCard-img-grid {
diff --git a/packages/hooks/task.ts b/packages/hooks/task.ts
index f86c812..58642d8 100644
--- a/packages/hooks/task.ts
+++ b/packages/hooks/task.ts
@@ -12,7 +12,7 @@
EnumTaskUserApplyStatus,
} from '@12333/constants';
import _ from 'lodash';
-import { trim } from '@12333/utils';
+import { OrderUtils, trim } from '@12333/utils';
import { computed, MaybeRef, reactive, Ref, ref, unref } from 'vue';
import * as taskServices from '@12333/services/apiV2/task';
import * as enterpriseWalletServices from '@12333/services/apiV2/enterpriseWallet';
@@ -225,3 +225,76 @@
return { settlementAccessList };
}
+
+type UseTaskInfoOptions = {
+ id: MaybeRef<string>;
+ onSuccess?: (data: API.GetTaskInfoQueryResult) => any;
+};
+
+export function useTaskInfo({ id, onSuccess }: UseTaskInfoOptions) {
+ const {
+ isLoading,
+ isError,
+ data: detail,
+ refetch,
+ } = useQuery({
+ queryKey: ['taskServices/getTaskInfo', id],
+ queryFn: async () => {
+ return await taskServices.getTaskInfo(
+ { id: unref(id) },
+ {
+ showLoading: false,
+ }
+ );
+ },
+ placeholderData: () => ({} as API.GetTaskInfoQueryResult),
+ onSuccess(data) {
+ onSuccess?.(data);
+ },
+ });
+
+ const isContainCheckIn = computed(() =>
+ OrderUtils.isContainCheckIn(detail.value?.checkReceiveMethods)
+ );
+
+ return { detail, isLoading, isError, refetch, isContainCheckIn };
+}
+
+type UseCheckReceiveTaskUserSubmitOptions = {
+ params: MaybeRef<API.APIgetCheckReceiveTaskUserSubmitParams>;
+ onSuccess?: (data: API.GetCheckReceiveTaskUserSubmitQueryResult) => any;
+};
+
+export function useCheckReceiveTaskUserSubmit({
+ params,
+ onSuccess,
+}: UseCheckReceiveTaskUserSubmitOptions) {
+ const {
+ isLoading,
+ isError,
+ data: detail,
+ refetch,
+ } = useQuery({
+ queryKey: ['taskCheckReceiveServices/getCheckReceiveTaskUserSubmit', params],
+ queryFn: async () => {
+ const _params = unref(params);
+ return await taskCheckReceiveServices.getCheckReceiveTaskUserSubmit(
+ // { ..._params, date: dayjs(_params.date).format('YYYY-MM-DD') },
+ _params,
+ {
+ showLoading: false,
+ }
+ );
+ },
+ placeholderData: () => ({} as API.GetCheckReceiveTaskUserSubmitQueryResult),
+ onSuccess(data) {
+ onSuccess?.(data);
+ },
+ });
+
+ const isContainCheckIn = computed(() =>
+ OrderUtils.isContainCheckIn(detail.value?.checkReceiveMethods)
+ );
+
+ return { detail, isLoading, isError, refetch, isContainCheckIn };
+}
diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts
index 850b84c..da91ba1 100644
--- a/packages/services/apiV2/typings.d.ts
+++ b/packages/services/apiV2/typings.d.ts
@@ -590,10 +590,6 @@
remark?: string;
/** 缁撶畻閲戦 */
settlementAmount?: number;
- /** 绛惧埌鏃堕棿 */
- checkInTime?: string;
- /** 绛惧嚭鏃堕棿 */
- checkOutTime?: string;
checkHistoryType?: EnumTaskUserSubmitCheckHistoryType;
checkReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus;
}
@@ -4140,6 +4136,8 @@
checkHistoryType?: EnumTaskUserSubmitCheckHistoryType;
/** 楠屾敹鐓х墖 */
files?: string[];
+ /** 楠屾敹鏂瑰紡 */
+ checkReceiveMethods?: EnumTaskCheckReceiveMethod[];
}
interface GetCheckReceiveTaskUserSubmitsQuery {
@@ -4181,6 +4179,8 @@
checkReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus;
/** 楠屾敹鏃堕棿 */
checkReceiveTime?: string;
+ /** 楠屾敹鏂瑰紡 */
+ checkReceiveMethods?: EnumTaskCheckReceiveMethod[];
}
interface GetCheckReceiveTaskUserSubmitsQueryResultObjectData {
@@ -4218,6 +4218,8 @@
endTime?: string;
/** 浠诲姟鍦扮偣鍚嶇О */
addressName?: string;
+ /** 楠屾敹鏂瑰紡 */
+ checkReceiveMethods?: EnumTaskCheckReceiveMethod[];
}
interface GetCodeUrlQueryResult {
@@ -8683,10 +8685,6 @@
taskInfoId?: string;
/** 鏃ユ湡 */
date?: string;
- /** 鐢ㄦ埛绛惧埌鏃堕棿 */
- userCheckInTime?: string;
- /** 鐢ㄦ埛绛惧嚭鏃堕棿 */
- userCheckOutTime?: string;
userCheckHistoryType?: EnumTaskUserSubmitCheckHistoryType;
/** 闄勪欢 */
files?: string[];
diff --git a/packages/utils/orderUtils.ts b/packages/utils/orderUtils.ts
index ef5a469..14844c1 100644
--- a/packages/utils/orderUtils.ts
+++ b/packages/utils/orderUtils.ts
@@ -1,4 +1,8 @@
-import { EnumBillingMethod, BillingMethodEnumUnit } from '@12333/constants';
+import {
+ EnumBillingMethod,
+ BillingMethodEnumUnit,
+ EnumTaskCheckReceiveMethod,
+} from '@12333/constants';
export class OrderUtils {
static getServiceFeeText(serviceFee: number, billingMethod: EnumBillingMethod) {
@@ -7,4 +11,9 @@
}
return `${serviceFee ?? 0}${BillingMethodEnumUnit[billingMethod]}`;
}
+
+ static isContainCheckIn(checkReceiveMethods: EnumTaskCheckReceiveMethod[]) {
+ if (!checkReceiveMethods) return false;
+ return checkReceiveMethods.includes(EnumTaskCheckReceiveMethod.CheckIn);
+ }
}
--
Gitblit v1.10.0