wupengfei
2025-03-13 186234cb3833e620aa0ae46212fe337eb2d6e77d
packages/components/src/Card/FlexJobCard.vue
@@ -1,10 +1,15 @@
<template>
  <div class="flexJob-card-wrapper">
    <FlexJobTopView />
    <FlexJobTopView
      :name="name"
      :age="age"
      :genderType="genderType"
      :isRealName="isRealName"
      :arrangeCount="arrangeCount"
      :educationalLevel="educationalLevel"
    />
    <div class="flexJob-card-done-list">
      {{
        '做过:客房服务员、客房服务员、客房客房服务员、客房做过:客房服务员、客房服务员、客房客房服务员、客房'
      }}
      {{ workExperience }}
    </div>
    <div class="flexJob-card-done-detail" v-if="showDoneDetail">
      <div class="flexJob-card-done-detail-item">
@@ -16,14 +21,16 @@
      <div class="flexJob-card-footer-left-wrapper">
        <div class="flexJob-card-footer-left" v-if="showFooterLeft">
          <slot name="footerLeft">
            <div class="flexJob-card-footer-text">取消收藏</div>
            <div class="flexJob-card-footer-text" @click.stop="emit('cancelCollection')">
              取消收藏
            </div>
          </slot>
        </div>
      </div>
      <div class="flexJob-card-footer-right" v-if="showFooterRight">
        <slot name="footerRight">
          <nut-button type="primary">立即联系</nut-button>
          <nut-button type="primary" @click.stop="emit('contact')">立即联系</nut-button>
        </slot>
      </div>
    </div>
@@ -31,10 +38,9 @@
</template>
<script setup lang="ts">
import IconMale from '@/assets/mine/icon-male.png';
import IconFemale from '@/assets/mine/icon-female.png';
import { CommonTaskCardProps } from './card';
import FlexJobTopView from './FlexJobTopView.vue';
import { Gender } from '@12333/constants';
defineOptions({
  name: 'FlexJobCard',
@@ -44,6 +50,14 @@
  showFooterLeft?: boolean;
  showFooterRight?: boolean;
  showDoneDetail?: boolean;
  name?: string;
  genderType?: Gender;
  age?: number;
  isRealName?: boolean;
  educationalLevel?: string;
  workExperience?: string;
  arrangeCount?: number;
};
const props = withDefaults(defineProps<Props>(), {
@@ -51,6 +65,11 @@
  showFooterRight: true,
  showDoneDetail: true,
});
const emit = defineEmits<{
  (e: 'cancelCollection'): void;
  (e: 'contact'): void;
}>();
</script>
<style lang="scss">
@@ -119,6 +138,10 @@
      --nut-button-default-font-size: 24px;
      --nut-button-default-height: 52px;
      --nut-button-default-line-height: 49px;
      .nut-button {
        min-width: 144rpx;
      }
    }
  }
}