zhengyiming
8 天以前 2b7fccce78fe4d57d73f4cf350cbe16b75a72fd4
packages/components/src/Card/TaskCard.vue
@@ -1,23 +1,29 @@
<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">
@@ -29,8 +35,24 @@
</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',
@@ -38,9 +60,30 @@
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>(), {