From 92b51e47eb0e53e1e8e13aa0f9135603e1bb03a0 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期日, 19 十月 2025 14:38:36 +0800
Subject: [PATCH] fix: 验收管理
---
apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue | 73 +++++++++++++++++++++++++++++++++---
1 files changed, 66 insertions(+), 7 deletions(-)
diff --git a/apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue b/apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue
index db091ef..801c3ee 100644
--- a/apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue
+++ b/apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue
@@ -1,9 +1,44 @@
<template>
- <div class="task-check-card-wrapper">
- <TaskCheckPersonalView class="task-check-card-view">
+ <div class="task-check-card-wrapper" @click.stop="emit('checkReceive')">
+ <TaskCheckPersonalView
+ class="task-check-card-view"
+ :avatar="avatar"
+ :name="name"
+ :gender="gender"
+ :isReal="isReal"
+ :contactPhoneNumber="contactPhoneNumber"
+ >
<template #actions>
- <nut-button type="primary" class="task-check-card-phone-btn">楠屾敹</nut-button>
- <!-- <div class="task-check-card-phone-status" :style="{ color: Colors.Success }">楠屾敹閫氳繃</div> -->
+ <template v-if="checkReceiveMethod === EnumTaskCheckReceiveMethod.CheckIn">
+ <nut-button
+ v-if="!checkInTime"
+ type="primary"
+ class="task-check-card-phone-btn"
+ @click.stop="emit('checkInOrOut', CheckInOrOutEventEnum.CheckIn)"
+ >绛惧埌</nut-button
+ >
+ <nut-button
+ v-else-if="!checkOutTime"
+ type="primary"
+ class="task-check-card-phone-btn"
+ @click.stop="emit('checkInOrOut', CheckInOrOutEventEnum.CheckOut)"
+ >绛惧嚭</nut-button
+ >
+ <div v-else class="task-check-card-phone-status" :style="{ color: Colors.Success }">
+ {{ EnumTaskCheckReceiveStatusText[checkReceiveStatus] }}
+ </div>
+ </template>
+ <template v-else>
+ <nut-button
+ v-if="checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitCheckReceive"
+ type="primary"
+ class="task-check-card-phone-btn"
+ >楠屾敹</nut-button
+ >
+ <div v-else class="task-check-card-phone-status" :style="{ color: Colors.Success }">
+ {{ EnumTaskCheckReceiveStatusText[checkReceiveStatus] }}
+ </div>
+ </template>
</template>
</TaskCheckPersonalView>
</div>
@@ -11,15 +46,39 @@
<script setup lang="ts">
import TaskCheckPersonalView from './TaskCheckPersonalView.vue';
-import { Colors } from '@12333/constants';
+import {
+ Colors,
+ EnumUserGender,
+ EnumTaskCheckReceiveStatus,
+ EnumTaskCheckReceiveStatusText,
+ EnumTaskCheckReceiveMethod,
+} from '@12333/constants';
+import { CheckInOrOutEventEnum } from '../constants';
defineOptions({
name: 'TaskCheckCard',
});
-// type Props = {};
+type Props = {
+ avatar?: string;
+ name?: string;
+ gender?: EnumUserGender;
+ isReal?: boolean;
+ contactPhoneNumber?: string;
+ checkReceiveStatus?: EnumTaskCheckReceiveStatus;
+ /** 绛惧埌鏃堕棿 */
+ checkInTime?: string;
+ /** 绛惧嚭鏃堕棿 */
+ checkOutTime?: string;
+ checkReceiveMethod?: EnumTaskCheckReceiveMethod;
+};
-// const props = withDefaults(defineProps<Props>(), {});
+const props = withDefaults(defineProps<Props>(), {});
+
+const emit = defineEmits<{
+ (e: 'checkReceive'): void;
+ (e: 'checkInOrOut', ev: CheckInOrOutEventEnum): void;
+}>();
</script>
<style lang="scss">
--
Gitblit v1.9.1