Files
rsxm-master/src/views/recruitment/components/enterpriseEmploymentCard.vue

165 lines
3.6 KiB
Vue
Raw Normal View History

2025-08-22 18:12:29 +08:00
<script setup>
2025-09-18 15:58:57 +08:00
import { defineProps } from "vue";
import { ref, reactive, onMounted, getCurrentInstance } from "vue";
onMounted(() => {
console.log(props.type1, "ceshi");
});
2025-08-22 18:12:29 +08:00
import Carousel from "@/views/recruitment/components/carousel.vue";
const props = defineProps({
title: {
type: String,
default: "标题"
},
info: {
type: Object,
default: () => {}
},
description: {
type: String,
default: ""
2025-09-18 15:58:57 +08:00
},
type1: {
type: Object,
default: () => ({
title: "",
count: "",
class: ""
})
},
type2: {
type: Object,
default: () => ({
title: "",
count: "",
class: ""
})
2025-08-22 18:12:29 +08:00
}
2025-09-18 15:58:57 +08:00
});
2025-08-22 18:12:29 +08:00
</script>
<template>
<div class="enterpriseEmploymentWrapper">
<div class="titleWrapper">
<div class="left">{{ title }}</div>
<div class="right">{{ description }}</div>
</div>
2025-10-22 22:42:42 +08:00
<slot name="header"></slot>
2025-08-22 18:12:29 +08:00
<div class="row">
2025-09-18 15:58:57 +08:00
<div :class="type1.class">
<div class="title">{{ type1.title }}</div>
<div class="count">{{ type1.count }}</div>
2025-08-22 18:12:29 +08:00
</div>
2025-09-18 15:58:57 +08:00
<div :class="type2.class">
<div class="title">{{ type2.title }}</div>
<div class="count">{{ type2.count }}</div>
2025-08-22 18:12:29 +08:00
</div>
2025-10-22 22:42:42 +08:00
<div :class="type2.class">
<div class="title">{{ type2.title }}</div>
<div class="count">{{ type2.count }}</div>
</div>
2025-08-22 18:12:29 +08:00
</div>
<div class="cardWrapper">
2025-09-18 15:58:57 +08:00
<slot>
<!-- <carousel /> -->
2025-08-22 18:12:29 +08:00
</slot>
</div>
</div>
</template>
<style scoped lang="scss">
.enterpriseEmploymentWrapper {
position: relative;
width: 20.729vw;
height: 24.6875vw;
background: url("~@/assets/recruitment/module_bg.svg") no-repeat;
background-size: 100% 100%;
.cardWrapper {
position: relative;
2025-09-18 15:58:57 +08:00
height: calc(100% - 6.2vw);
margin: 0 1vw;
2025-08-22 18:12:29 +08:00
}
.row {
display: flex;
2025-10-22 22:42:42 +08:00
justify-content:space-between;
2025-08-22 18:12:29 +08:00
margin: 0.521vw 0.573vw 0;
.count {
font-size: 1.042vw;
2025-09-18 15:58:57 +08:00
color: #48fafc;
2025-08-22 18:12:29 +08:00
}
.title {
2025-09-18 15:58:57 +08:00
color: #ffffff;
2025-08-22 18:12:29 +08:00
margin-bottom: 0.46875vw;
font-size: 0.729vw;
}
.modelItem1 {
padding-top: 1.09375vw;
2025-09-18 15:58:57 +08:00
padding-left: 4vw;
text-align: left;
2025-08-22 18:12:29 +08:00
background: url("~@/assets/recruitment/model1.svg") no-repeat;
2025-09-18 15:58:57 +08:00
background-size: auto 100%;
width: 9.823vw;
2025-08-22 18:12:29 +08:00
height: 4.167vw;
}
.modelItem2 {
padding-top: 1.09375vw;
2025-09-18 15:58:57 +08:00
padding-left: 4vw;
text-align: left;
2025-08-22 18:12:29 +08:00
background: url("~@/assets/recruitment/model2.svg") no-repeat;
2025-09-18 15:58:57 +08:00
background-size: auto 100%;
width: 9.823vw;
2025-08-22 18:12:29 +08:00
height: 4.167vw;
}
2025-10-22 22:42:42 +08:00
.modelItem3 {
padding-top: 0.8vw;
padding-left: 3.2vw;
text-align: left;
// background: url("~@/assets/recruitment/model2.svg") no-repeat;
// background-size: auto 100%;
width: 7vw;
height: 4.167vw;
}
.first{
background: url("~@/assets/recruitment/first.svg") no-repeat;
background-size: auto 100%;
}
.seconed{
background: url("~@/assets/recruitment/seconed.svg") no-repeat;
background-size: auto 100%;
}
.third{
background: url("~@/assets/recruitment/third.svg") no-repeat;
background-size: auto 100%;
}
2025-08-22 18:12:29 +08:00
}
.titleWrapper {
display: flex;
justify-content: space-between;
height: 1.5625vw;
line-height: 1.5625vw;
font-size: 0.833vw;
font-family: PingFang SC, PingFang SC;
.left {
margin-left: 2.917vw;
font-weight: 600;
text-align: left;
font-style: normal;
text-transform: none;
2025-09-18 15:58:57 +08:00
color: #a9f0ff;
2025-08-22 18:12:29 +08:00
}
.right {
margin-right: 1.042vw;
2025-09-18 15:58:57 +08:00
color: #a9f0ff;
2025-08-22 18:12:29 +08:00
}
}
}
</style>