From 26054099b1beb5e190cbd229171a53a689872e75 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 22 十月 2025 19:26:26 +0800
Subject: [PATCH] fix: bug
---
apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue | 48 ++++++++++++++++--------
apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue | 17 ++++++--
packages/services/apiV2/typings.d.ts | 9 ++++
apps/cMiniApp/src/pages/task/InnerPage.vue | 29 ++++++++++----
apps/cMiniApp/project.private.config.json | 4 +-
packages/constants/apiEnum.ts | 8 ++++
6 files changed, 84 insertions(+), 31 deletions(-)
diff --git a/apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue b/apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue
index c74a2cc..a7b8834 100644
--- a/apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue
+++ b/apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue
@@ -27,9 +27,20 @@
<div v-else class="task-check-card-phone-status" :style="{ color: Colors.Success }">
{{ EnumTaskCheckReceiveStatusText[checkReceiveStatus] }}
</div> -->
- <nut-button type="primary" class="task-check-card-phone-btn" @click.stop="handleMore"
- >鎿嶄綔</nut-button
+ <template
+ v-if="props.submitCheckReceiveStatus !== EnumTaskUserSubmitCheckReceiveStatus.Fail"
>
+ <nut-button
+ v-if="!checkInTime || !checkOutTime"
+ type="primary"
+ class="task-check-card-phone-btn"
+ @click.stop="handleMore"
+ >鎿嶄綔</nut-button
+ >
+ <div v-else class="task-check-card-phone-status" :style="{ color: Colors.Success }">
+ {{ EnumTaskCheckReceiveStatusText[checkReceiveStatus] }}
+ </div>
+ </template>
</template>
<template v-else>
<nut-button
@@ -55,6 +66,8 @@
EnumTaskCheckReceiveStatus,
EnumTaskCheckReceiveStatusText,
EnumTaskCheckReceiveMethod,
+ EnumGetCheckReceiveTasksQueryResultItemCheckStatus,
+ EnumTaskUserSubmitCheckReceiveStatus,
} from '@12333/constants';
import { CheckInOrOutEventEnum } from '../constants';
import { Portal } from 'senin-mini/components';
@@ -82,32 +95,35 @@
/** 绛惧嚭鏃堕棿 */
checkOutTime?: string;
checkReceiveMethod?: EnumTaskCheckReceiveMethod;
+
+ submitCheckReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus;
};
const props = withDefaults(defineProps<Props>(), {});
const emit = defineEmits<{
(e: 'checkReceive'): void;
- (e: 'checkInOrOut', ev: CheckInOrOutEventEnum): void;
+ (e: 'checkInOrOut', ev: EnumTaskUserSubmitCheckReceiveStatus): void;
}>();
const menuList = computed(() => {
let _menuList = [];
if (props.checkReceiveMethod === EnumTaskCheckReceiveMethod.CheckIn) {
- _menuList.push(
- {
+ _menuList.push({
+ name: '鏈埌宀�',
+ value: ManageActions.OutWork,
+ });
+ if (!props.checkInTime) {
+ _menuList.push({
name: '绛惧埌',
value: ManageActions.CheckIn,
- },
- {
+ });
+ } else if (!props.checkOutTime) {
+ _menuList.push({
name: '绛惧嚭',
value: ManageActions.CheckOut,
- },
- {
- name: '鏈埌宀�',
- value: ManageActions.OutWork,
- }
- );
+ });
+ }
}
return _menuList;
@@ -138,13 +154,13 @@
function handleEmit(action: { name: string; value: number }) {
switch (action.value) {
case ManageActions.CheckIn:
- emit('checkInOrOut', CheckInOrOutEventEnum.CheckIn);
+ emit('checkInOrOut', EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive);
break;
case ManageActions.CheckOut:
- emit('checkInOrOut', CheckInOrOutEventEnum.CheckOut);
+ emit('checkInOrOut', EnumTaskUserSubmitCheckReceiveStatus.Success);
break;
case ManageActions.OutWork:
- emit('checkInOrOut', CheckInOrOutEventEnum.CheckOut);
+ emit('checkInOrOut', EnumTaskUserSubmitCheckReceiveStatus.Fail);
break;
}
}
diff --git a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
index d7cc662..77591a8 100644
--- a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
@@ -24,6 +24,7 @@
:contactPhoneNumber="item.contactPhoneNumber"
:checkReceiveStatus="item.checkReceiveStatus"
:checkReceiveMethod="detail?.checkReceiveMethod"
+ :submitCheckReceiveStatus="item.submitCheckReceiveStatus"
@checkReceive="goTaskDetail(item)"
@checkInOrOut="(ev) => checkReceiveTask(ev, item.id)"
/>
@@ -38,7 +39,11 @@
import { useInfiniteLoading } from '@12333/hooks';
import TaskCheckCard from '../components/TaskCheckCard.vue';
import { MyTaskCard } from '@12333/components';
-import { EnumTaskCheckReceiveMethod, EnumTaskCheckReceiveStatus } from '@12333/constants';
+import {
+ EnumTaskCheckReceiveMethod,
+ EnumTaskCheckReceiveStatus,
+ EnumTaskUserSubmitCheckReceiveStatus,
+} from '@12333/constants';
import { Message, setOSSLink } from '@12333/utils';
import dayjs from 'dayjs';
import { CheckInOrOutEventEnum } from '../constants';
@@ -95,16 +100,20 @@
}
}
-async function checkReceiveTask(ev: CheckInOrOutEventEnum, taskInfoUserId: string) {
+async function checkReceiveTask(ev: EnumTaskUserSubmitCheckReceiveStatus, taskInfoUserId: string) {
try {
let params: API.CheckReceiveTaskCommand = {
taskInfoUserId: taskInfoUserId,
date: dayjs(date).format('YYYY-MM-DD'),
};
- if (ev === CheckInOrOutEventEnum.CheckIn) {
+ if (ev === EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive) {
params.checkInTime = dayjs().format('YYYY-MM-DD HH:mm:ss');
- } else if (ev === CheckInOrOutEventEnum.CheckOut) {
+ params.checkReceiveStatus = ev;
+ } else if (ev === EnumTaskUserSubmitCheckReceiveStatus.Success) {
params.checkOutTime = dayjs().format('YYYY-MM-DD HH:mm:ss');
+ params.checkReceiveStatus = ev;
+ } else if (ev === EnumTaskUserSubmitCheckReceiveStatus.Fail) {
+ params.checkReceiveStatus = ev;
}
let res = await taskCheckReceiveServices.checkReceiveTask(params);
if (res) {
diff --git a/apps/cMiniApp/project.private.config.json b/apps/cMiniApp/project.private.config.json
index 81e4067..35a4f34 100644
--- a/apps/cMiniApp/project.private.config.json
+++ b/apps/cMiniApp/project.private.config.json
@@ -26,8 +26,8 @@
"name": "浠诲姟",
"pathName": "pages/task/task",
"query": "",
- "scene": null,
- "launchMode": "default"
+ "launchMode": "default",
+ "scene": null
},
{
"name": "绠�鍘嗚缁嗕俊鎭�",
diff --git a/apps/cMiniApp/src/pages/task/InnerPage.vue b/apps/cMiniApp/src/pages/task/InnerPage.vue
index 4d79b33..7340bc5 100644
--- a/apps/cMiniApp/src/pages/task/InnerPage.vue
+++ b/apps/cMiniApp/src/pages/task/InnerPage.vue
@@ -28,7 +28,10 @@
:addressName="item.addressName"
:begin-time="item.beginTime"
:end-time="item.endTime"
- showActions
+ :showActions="
+ item.checkReceiveMethod === EnumTaskCheckReceiveMethod.CheckIn &&
+ queryState.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed
+ "
@click="goSubmitTaskDetail(item)"
/>
</template>
@@ -40,7 +43,7 @@
import { MyTaskCard, ProTabs, ProTabPane, Calendar } from '@12333/components';
import Taro from '@tarojs/taro';
import { useCheckReceiveTasks, useTaskList } from '@12333/hooks';
-import { EnumTaskCheckReceiveStatus } from '@12333/constants';
+import { EnumTaskCheckReceiveStatus, EnumTaskCheckReceiveMethod } from '@12333/constants';
defineOptions({
name: 'InnerPage',
@@ -54,13 +57,21 @@
url: `${RouterPath.taskSubmitCheck}?id=${item.id}&date=${queryState.date}`,
});
}
- 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=${queryState.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/packages/constants/apiEnum.ts b/packages/constants/apiEnum.ts
index ead0641..a8ddffc 100644
--- a/packages/constants/apiEnum.ts
+++ b/packages/constants/apiEnum.ts
@@ -210,6 +210,14 @@
}
/** 娌″啓娉ㄩ噴 */
+export enum EnumGetCheckReceiveTasksQueryResultItemCheckStatus {
+ /**鏈埌宀� */
+ None = 10,
+ /**宸茬鍒� */
+ Completed = 20,
+}
+
+/** 娌″啓娉ㄩ噴 */
export enum EnumGetEnterpriseEmployeesQuerySignContractStatus {
/**鐏靛伐寰呯绾� */
UserWait = 10,
diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts
index 78ee6c3..7364408 100644
--- a/packages/services/apiV2/typings.d.ts
+++ b/packages/services/apiV2/typings.d.ts
@@ -836,6 +836,13 @@
Completed = 20,
}
+ enum EnumGetCheckReceiveTasksQueryResultItemCheckStatus {
+ /**鏈埌宀� */
+ None = 10,
+ /**宸茬鍒� */
+ Completed = 20,
+ }
+
enum EnumGetEnterpriseEmployeesQuerySignContractStatus {
/**鐏靛伐寰呯绾� */
UserWait = 10,
@@ -3555,6 +3562,7 @@
/** 鏈�杩戞彁浜ゆ椂闂� */
lastSubmitTime?: string;
checkReceiveStatus?: EnumTaskCheckReceiveStatus;
+ submitCheckReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus;
}
interface GetCheckReceiveTaskQueryResultObjectData {
@@ -3641,6 +3649,7 @@
checkReceiveStatus?: EnumTaskCheckReceiveStatus;
/** 鏈�杩戦獙鏀舵椂闂� */
lastCheckReceiveTime?: string;
+ checkedStatus?: EnumGetCheckReceiveTasksQueryResultItemCheckStatus;
}
interface GetCheckReceiveTaskUserSubmitCheckHistoriesQuery {
--
Gitblit v1.9.1