Files
ks-app-employment-service/pages/careerfair/careerfair.vue

203 lines
7.1 KiB
Vue
Raw Normal View History

2024-11-08 11:55:23 +08:00
<template>
2024-11-18 16:33:37 +08:00
<view class="app-container">
<view class="careerfair-AI">AI+就业服务程序</view>
<view class="careerfair-tab">
<view class="careerfair-tab-options actived">现场招聘</view>
2025-03-29 11:51:48 +08:00
<view class="careerfair-tab-options" @click="textXcx">VR虚拟招聘会</view>
2024-11-18 16:33:37 +08:00
</view>
<scroll-view :scroll-x="true" :show-scrollbar="false" class="careerfair-scroll">
<view class="careerfair-date">
<view class="date-list" v-for="(item, index) in state.dateList" :key="index">
<view class="date-list-item">{{ item.day }}</view>
<view class="date-list-item active">{{ item.date }}</view>
</view>
</view>
</scroll-view>
<scroll-view :scroll-y="true" class="careerfair-list-scroll">
<view class="careerfair-list">
<view class="careerfair-list-card" v-for="(item, index) in 10" :key="index">
<view class="card-title">2024年春季青岛市商贸服务业招聘会</view>
<view class="card-intro">
<view class="line_2">内容简介</view>
<view class="intro-distance">500m以内</view>
</view>
<view class="card-address">市南区延安三路105号</view>
<view class="card-footer">
<view class="cardfooter-lf">
<view class="card-company">市南区就业人才中心</view>
<view class="card-date">7月31日周三14:00-18:00</view>
</view>
<view class="cardfooter-ri" @click="navTo('/packageA/pages/exhibitors/exhibitors')">
查看详情
</view>
</view>
</view>
</view>
</scroll-view>
2024-11-08 11:55:23 +08:00
</view>
</template>
2024-11-18 16:33:37 +08:00
<script setup>
import { reactive, inject, watch, ref, onMounted } from 'vue';
import { onLoad, onShow } from '@dcloudio/uni-app';
const { $api, navTo } = inject('globalFunction');
const state = reactive({
dateList: [],
});
onLoad(() => {
state.dateList = getNextMonthDates();
});
2025-03-29 11:51:48 +08:00
document.addEventListener('UniAppJSBridgeReady', function () {
console.log(123);
});
function textXcx() {
jWeixin.miniProgram.postMessage({
data: {
pathUrl: '你好,小程序', //传递的参数
},
});
}
2024-11-18 16:33:37 +08:00
// 获取往后三十天日期
function getNextMonthDates() {
const today = new Date();
const dates = [];
const dayNames = ['日', '一', '二', '三', '四', '五', '六'];
for (let i = 0; i < 30; i++) {
const date = new Date(today); // 创建当天的副本
date.setDate(today.getDate() + i); // 设置日期为往后第 i 天
const formattedDate = date.toISOString().slice(0, 10).slice(8); // 格式化为 YYYY-MM-DD
const dayOfWeek = dayNames[date.getDay()]; // 获取星期几
dates.push({
date: formattedDate,
day: dayOfWeek,
});
2024-11-08 11:55:23 +08:00
}
2024-11-18 16:33:37 +08:00
dates[0].date = '今天';
dates[1].date = '明天';
return dates;
}
2024-11-08 11:55:23 +08:00
</script>
2024-11-18 16:33:37 +08:00
<style lang="stylus" scoped>
.app-container
width: 100%;
height: calc(100vh - var(--window-top) - var(--status-bar-height) - var(--window-bottom));
background: linear-gradient( 180deg, #4778EC 0%, #002979 100%);
display: flex;
flex-direction: column;
2025-03-28 15:19:42 +08:00
position: fixed
2024-11-18 16:33:37 +08:00
.careerfair-AI
height: 42rpx;
font-family: Inter, Inter;
font-weight: 400;
font-size: 35rpx;
color: #FFFFFF;
line-height: 41rpx;
padding: 85rpx 0 0 30rpx;
.careerfair-tab
margin: 20rpx 0 0 30rpx;
width: fit-content;
display: flex;
flex-wrap: nowrap;
.careerfair-tab-options
background: #4778EC;
padding: 0 20rpx;
height: 63rpx;
line-height: 63rpx;
font-weight: 400;
font-size: 28rpx;
color: #FFFFFF;
text-align: center;
.actived
position: relative;
background: #FFAD47;
box-shadow: 0rpx 7rpx 7rpx 0rpx rgba(0,0,0,0.25);
.careerfair-tab-options:first-child
border-radius: 17rpx 0rpx 0rpx 0rpx;
.careerfair-tab-options:last-child
border-radius: 0rpx 17rpx 0rpx 0rpx;
.careerfair-scroll
background: #4778EC;
.careerfair-date
height: 119rpx;
display: flex;
flex-wrap: nowrap;
align-items: center;
color: #FFFFFF;
width: fit-content;
.date-list
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: calc(750rpx / 7);
.date-list-item:nth-child(2)
font-size: 19rpx;
margin-top: 10rpx;
.active
width: 52rpx;
height: 52rpx;
background: #FFAD47;
border-radius: 0rpx 0rpx 0rpx 0rpx;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
.careerfair-list-scroll
overflow: hidden;
background: linear-gradient( 180deg, rgba(255,255,255,0.2) 0%, #FFFFFF 100%);
.careerfair-list
display: flex;
flex-direction: column;
align-items: center;
padding: 25rpx 28rpx;
.careerfair-list-card
margin-top: 36rpx;
width: calc(100% - 40rpx);
background: #FFFFFF;
border-radius: 17rpx 17rpx 17rpx 17rpx;
padding: 20rpx;
.card-title
height: 68rpx;
font-size: 35rpx;
color: #606060;
line-height: 68rpx;
.card-intro,.card-address,.card-company,.card-date
font-weight: 400;
font-size: 21rpx;
color: #606060;
line-height: 25rpx;
margin-top: 13rpx;
.card-footer
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
align-items: center;
.cardfooter-ri
width: 206rpx;
height: 56rpx;
line-height: 56rpx;
font-size: 28rpx;
text-align: center;
color: #FFFFFF;
background: #FFAD47;
border-radius: 17rpx 17rpx 17rpx 17rpx;
.card-intro
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: nowrap;
.intro-distance
height: 30rpx;
background: #13C57C;
padding: 3rpx 8rpx;
line-height: 30rpx;
color: #FFFFFF;
font-size: 21rpx;
border-radius: 17rpx 17rpx 17rpx 17rpx;
.careerfair-list-card:first-child
margin-top: 0;
2024-11-08 11:55:23 +08:00
</style>