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 | 80 ++++++++++++++++++++++++++++----------- 1 files changed, 57 insertions(+), 23 deletions(-) diff --git a/apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue b/apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue index 5334987..801c3ee 100644 --- a/apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue +++ b/apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue @@ -1,23 +1,44 @@ <template> - <div class="task-check-card-wrapper"> + <div class="task-check-card-wrapper" @click.stop="emit('checkReceive')"> <TaskCheckPersonalView class="task-check-card-view" - :avatarUrl="avatarUrl" + :avatar="avatar" :name="name" - :genderType="genderType" - :isRealName="isRealName" - :contactPhone="contactPhone" + :gender="gender" + :isReal="isReal" + :contactPhoneNumber="contactPhoneNumber" > <template #actions> - <nut-button - v-if="checkAcceptStatus === FlexTaskCheckAcceptStatusEnum.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] }} - </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> @@ -25,26 +46,39 @@ <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, + EnumTaskCheckReceiveMethod, +} from '@12333/constants'; +import { CheckInOrOutEventEnum } from '../constants'; defineOptions({ name: 'TaskCheckCard', }); type Props = { - avatarUrl?: string; + avatar?: string; name?: string; - genderType?: Gender; - isRealName?: boolean; - contactPhone?: string; - checkAcceptStatus?: API.FlexTaskCheckAcceptStatusEnum; + gender?: EnumUserGender; + isReal?: boolean; + contactPhoneNumber?: string; + checkReceiveStatus?: EnumTaskCheckReceiveStatus; + /** 绛惧埌鏃堕棿 */ + checkInTime?: string; + /** 绛惧嚭鏃堕棿 */ + checkOutTime?: string; + checkReceiveMethod?: EnumTaskCheckReceiveMethod; }; const props = withDefaults(defineProps<Props>(), {}); + +const emit = defineEmits<{ + (e: 'checkReceive'): void; + (e: 'checkInOrOut', ev: CheckInOrOutEventEnum): void; +}>(); </script> <style lang="scss"> -- Gitblit v1.9.1