| | |
| | | <template> |
| | | <div class="task-card-wrapper"> |
| | | <div class="task-card-title-wrapper"> |
| | | <div class="task-card-title">{{ taskName }}</div> |
| | | <div class="task-card-title">{{ name }}</div> |
| | | <slot name="title-right"> |
| | | <TaskPrice :value="212" /> |
| | | <TaskPrice :value="serviceFee ?? 0" :unit="BillingMethodEnumUnit[billingMethod]" /> |
| | | </slot> |
| | | </div> |
| | | <slot> |
| | | <div class="task-card-welfare-list"> |
| | | <div class="task-card-welfare-list-item">日结</div> |
| | | <div class="task-card-welfare-list-item">男女不限</div> |
| | | <div class="task-card-welfare-list-item"> |
| | | {{ EnumSettlementCycleText[settlementCycle] }} |
| | | </div> |
| | | <div class="task-card-welfare-list-item">{{ TaskUtils.getGenderText(genderLimit) }}</div> |
| | | <div class="task-card-welfare-list-item">包三餐</div> |
| | | </div> |
| | | <div class="task-card-time">上班时间:07:00-15:30</div> |
| | | <div class="task-card-time"> |
| | | {{ dayjs(beginTime).format('YYYY年MM月DD日') }}至{{ |
| | | dayjs(endTime).format('YYYY年MM月DD日') |
| | | }} |
| | | </div> |
| | | </slot> |
| | | <div class="task-card-footer"> |
| | | <div class="task-card-left"> |
| | | <div class="task-card-footer-tag">H</div> |
| | | <div class="task-card-footer-address">{{ address }}</div> |
| | | <div class="task-card-footer-address">{{ 'address' }}</div> |
| | | </div> |
| | | <div class="task-card-actions" v-if="showActions"> |
| | | <slot name="actions"> |
| | |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { |
| | | EnumBillingMethod, |
| | | EnumSettlementCycle, |
| | | EnumTaskCheckReceiveStatus, |
| | | EnumTaskRecommendStatus, |
| | | EnumTaskReleaseStatus, |
| | | EnumTaskSettlementStatus, |
| | | EnumTaskStatus, |
| | | EnumUserGender, |
| | | EnumBillingMethodText, |
| | | EnumUserGenderText, |
| | | EnumSettlementCycleText, |
| | | BillingMethodEnumUnit, |
| | | } from '@12333/constants'; |
| | | import TaskPrice from './TaskPrice.vue'; |
| | | import { CommonTaskCardProps } from './card'; |
| | | import dayjs from 'dayjs'; |
| | | import { TaskUtils } from '@12333/utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'TaskCard', |
| | |
| | | |
| | | type Props = CommonTaskCardProps & { |
| | | showActions?: boolean; |
| | | |
| | | taskName?: string; |
| | | address?: string; |
| | | /** Id */ |
| | | id?: string; |
| | | /** 任务名称 */ |
| | | name: string; |
| | | /** 任务单号 */ |
| | | code?: string; |
| | | billingMethod?: EnumBillingMethod; |
| | | /** 服务费 */ |
| | | serviceFee?: number; |
| | | settlementCycle?: EnumSettlementCycle; |
| | | genderLimit?: EnumUserGender; |
| | | /** 报名人数 */ |
| | | userCount?: number; |
| | | status?: EnumTaskStatus; |
| | | /** 任务开始时间 */ |
| | | beginTime?: string; |
| | | /** 任务结束时间 */ |
| | | endTime?: string; |
| | | releaseStatus?: EnumTaskReleaseStatus; |
| | | checkReceiveStatus?: EnumTaskCheckReceiveStatus; |
| | | settlementStatus?: EnumTaskSettlementStatus; |
| | | recommendStatus?: EnumTaskRecommendStatus; |
| | | /** 创建时间 */ |
| | | createdTime?: string; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), { |