wupengfei
2025-03-13 186234cb3833e620aa0ae46212fe337eb2d6e77d
packages/components/src/Card/TaskCard.vue
@@ -1,23 +1,27 @@
<template>
  <div class="task-card-wrapper">
    <div class="task-card-title-wrapper">
      <div class="task-card-title">客房服务员</div>
      <TaskPrice :value="212" />
      <div class="task-card-title">{{ taskName }}</div>
      <slot name="title-right">
        <TaskPrice :value="212" />
      </slot>
    </div>
    <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">包三餐</div>
    </div>
    <div class="task-card-time">上班时间:07:00-15:30</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">包三餐</div>
      </div>
      <div class="task-card-time">上班时间:07:00-15:30</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">宁波雷迪森酒店</div>
        <div class="task-card-footer-address">{{ address }}</div>
      </div>
      <div class="task-card-actions">
      <div class="task-card-actions" v-if="showActions">
        <slot name="actions">
          <nut-button type="primary">报名</nut-button>
          <nut-button type="primary" @click.stop="handleSign">报名</nut-button>
        </slot>
      </div>
    </div>
@@ -26,16 +30,24 @@
<script setup lang="ts">
import TaskPrice from './TaskPrice.vue';
import { CommonTaskCardProps } from './card';
defineOptions({
  name: 'TaskCard',
});
type Props = {
  title?: string;
type Props = CommonTaskCardProps & {
  showActions?: boolean;
  taskName?: string;
  address?: string;
};
const props = withDefaults(defineProps<Props>(), {});
const props = withDefaults(defineProps<Props>(), {
  showActions: true,
});
function handleSign() {}
</script>
<style lang="scss">