maochaoying 2 years ago
parent
commit
fc6eeab6c2
  1. 12
      src/views/Index/components/Recruit/Card/index.vue
  2. 41
      src/views/Index/components/Recruit/Detail/index.vue
  3. 4
      src/views/Index/components/Recruit/index.vue

12
src/views/Index/components/Recruit/Card/index.vue

@ -85,6 +85,9 @@ const getClass = () => {
font-weight: bold; font-weight: bold;
color: #ffffff; color: #ffffff;
margin-bottom: 31px; margin-bottom: 31px;
transition-property: all;
transition-duration: 0.7s;
animation-fill-mode: forwards;
} }
.desc { .desc {
flex: 1; flex: 1;
@ -94,6 +97,9 @@ const getClass = () => {
font-family: 'SourceHanSans'; font-family: 'SourceHanSans';
font-weight: 300; font-weight: 300;
color: rgba(214, 214, 214, 1); color: rgba(214, 214, 214, 1);
transition-property: all;
transition-duration: 0.7s;
animation-fill-mode: forwards;
} }
.bottom { .bottom {
width: 100%; width: 100%;
@ -126,6 +132,12 @@ const getClass = () => {
overflow: hidden; overflow: hidden;
.dialog { .dialog {
background: rgba(40, 63, 231, 0.5); background: rgba(40, 63, 231, 0.5);
.title {
transform: scale(1.1);
}
.desc {
transform: scale(1.1);
}
} }
} }

41
src/views/Index/components/Recruit/Detail/index.vue

@ -59,26 +59,40 @@
<p class="font">北京市昌平区回龙观街道博纳集团3号楼一层产品梦工厂</p> <p class="font">北京市昌平区回龙观街道博纳集团3号楼一层产品梦工厂</p>
</div> </div>
</div> </div>
<div class="more_btn" @click="cancleDetail">
<span>更多岗位</span>
<img :src="Arrow" class="icon" alt="" />
<div
class="more_btn"
@click="cancleDetail"
v-on:mouseover="mouseover"
v-on:mouseleave="mouseleave"
>
<span class="return_btn">返回列表</span>
<img :src="arrowShow ? Arrow1 : Arrow" class="icon" alt="" />
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script setup> <script setup>
import Arrow1 from '@/assets/img/recruit/jiantou1.png'
import Arrow from '@/assets/img/recruit/jiantou2.png' import Arrow from '@/assets/img/recruit/jiantou2.png'
import Email from '@/assets/img/recruit/youjian.png' import Email from '@/assets/img/recruit/youjian.png'
import Earth from '@/assets/img/recruit/wangzhi.png' import Earth from '@/assets/img/recruit/wangzhi.png'
import Address from '@/assets/img/recruit/zuobiao.png' import Address from '@/assets/img/recruit/zuobiao.png'
import Ok from '@/assets/img/recruit/duigou.png' import Ok from '@/assets/img/recruit/duigou.png'
import { postDetail } from '@/mock/post' import { postDetail } from '@/mock/post'
import { ref } from 'vue'
const postInfo = postDetail[props.postId] const postInfo = postDetail[props.postId]
const props = defineProps({ const props = defineProps({
handleDetail: Function, handleDetail: Function,
postId: String, postId: String,
}) })
const arrowShow = ref(false)
const mouseover = () => {
arrowShow.value = true
}
const mouseleave = () => {
arrowShow.value = false
}
const cancleDetail = () => { const cancleDetail = () => {
props.handleDetail(false) props.handleDetail(false)
} }
@ -119,6 +133,13 @@ const cancleDetail = () => {
font-weight: 400; font-weight: 400;
color: #ffffff; color: #ffffff;
margin-right: 39px; margin-right: 39px;
transition-property: all;
transition-duration: 0.7s;
animation-fill-mode: forwards;
}
.btn:hover {
background: #fff;
color: $theme_color;
} }
.slary { .slary {
font-size: 18px; font-size: 18px;
@ -149,6 +170,13 @@ const cancleDetail = () => {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
margin-bottom: 19px; margin-bottom: 19px;
transition-property: all;
transition-duration: 0.7s;
animation-fill-mode: forwards;
}
.btn_skill:hover {
color: #fff;
background: #283fe7;
} }
.desc { .desc {
font-size: 18px; font-size: 18px;
@ -279,12 +307,19 @@ const cancleDetail = () => {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
cursor: pointer; cursor: pointer;
transition-property: all;
transition-duration: 0.7s;
animation-fill-mode: forwards;
.icon { .icon {
width: 5px; width: 5px;
height: 10px; height: 10px;
margin-left: 13px; margin-left: 13px;
} }
} }
.more_btn:hover {
background: $theme_color;
color: #fff;
}
} }
} }
</style> </style>

4
src/views/Index/components/Recruit/index.vue

@ -26,7 +26,7 @@
/> />
</div> </div>
<div <div
class="detail animate__animated animate__zoomInDown"
class="detail animate__animated animate__zoomIn"
v-if="showDetail" v-if="showDetail"
v-on:mouseleave="mouseleave" v-on:mouseleave="mouseleave"
id="post_detail_ani" id="post_detail_ani"
@ -52,7 +52,7 @@ const handleDetail = (flag, id) => {
postId.value = id postId.value = id
} }
const mouseleave = () => { const mouseleave = () => {
showDetail.value = false
// showDetail.value = false
} }
onMounted(() => { onMounted(() => {
handleScreenAuto('#recruit_container') handleScreenAuto('#recruit_container')

Loading…
Cancel
Save