Files
ks-app-employment-service/pages/index/index.vue
2024-11-18 16:33:37 +08:00

279 lines
9.3 KiB
Vue

<template>
<view class="app-containers">
<view class="index-AI">AI+就业服务程序</view>
<view class="index-option">
<view class="option-left">
<view class="left-item" @click="navTo('/pages/nearby/nearby')">附近</view>
<view class="left-item" @click="navTo('/packageA/pages/choiceness/choiceness')">精选</view>
<view class="left-item">职业图谱</view>
</view>
<view class="option-right">
<input class="uni-input right-input" confirm-type="search" />
<uni-icons class="iconsearch" color="#FFFFFF" type="search" size="20"></uni-icons>
</view>
</view>
<!-- tab -->
<view class="tab-options">
<scroll-view :scroll-x="true" :show-scrollbar="false" class="tab-scroll">
<view class="tab-op-left">
<view class="tab-list" v-for="(item, index) in 4" :key="index">中国万岁</view>
</view>
</scroll-view>
<view class="tab-op-right">
<uni-icons type="plusempty" style="margin-right: 10rpx" size="20"></uni-icons>
<view class="tab-recommend">推荐</view>
<view class="tab-filter">
<view class="tab-number">1000+</view>
<image class="image" src="/static/icon/filter.png"></image>
</view>
</view>
</view>
<!-- waterfalls -->
<scroll-view :scroll-y="true" class="falls-scroll">
<view class="falls">
<custom-waterfalls-flow ref="waterfallsFlowRef" :value="state.list">
<template v-slot:default="item">
<view class="item">
<view class="falls-card" @click="navTo('/packageA/pages/post/post')">
<view class="falls-card-title">销售工程师</view>
<view class="falls-card-pay">1-2/</view>
<view class="falls-card-education">本科</view>
<view class="falls-card-experience">3-5</view>
<view class="falls-card-company">德阳人社</view>
<view class="falls-card-company">青岛 青岛经济技术开发区</view>
<view class="falls-card-pepleNumber">
<view>2024.1.8</view>
<view>8</view>
</view>
<view class="falls-card-matchingrate">
<view class="">匹配度95%</view>
<uni-icons type="star" size="30"></uni-icons>
<uni-icons type="star-filled" color="#FFCB47" size="30"></uni-icons>
</view>
</view>
</view>
</template>
</custom-waterfalls-flow>
</view>
</scroll-view>
</view>
</template>
<script setup>
import img from '/static/icon/filter.png';
import { reactive, inject, watch, ref, onMounted } from 'vue';
import { onLoad, onShow } from '@dcloudio/uni-app';
import useUserStore from '../../stores/useUserStore';
const { $api, navTo } = inject('globalFunction');
const userStore = useUserStore();
const waterfallsFlowRef = ref(null);
const state = reactive({
title: '123123123房贷首付打的手机家里好玩的很浓厚第卡后sdhiwohdijasnbdhoui1很努力',
list: [
{
image: img,
hide: true,
},
{
image: img,
hide: true,
},
{
image: img,
hide: true,
},
{
image: img,
hide: true,
},
{
image: img,
hide: true,
},
{
image: img,
hide: true,
},
{
image: img,
hide: true,
},
{
image: img,
hide: true,
},
],
});
onShow(() => {
console.log('onShow');
});
onLoad(() => {
console.log('onLoad');
// $api.sleep(2000).then(() => {
// navTo('/pages/login/login');
// });
});
watch(
() => state.title,
(newValue, oldValue) => {},
{ deep: true }
);
</script>
<style lang="stylus" scoped>
.app-containers
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;
.index-AI
height: 42rpx;
font-family: Inter, Inter;
font-weight: 400;
font-size: 35rpx;
color: #FFFFFF;
line-height: 41rpx;
padding: 85rpx 0 0 30rpx;
.index-option
margin-top: 27rpx;
display: flex;
.option-left
display: flex;
width: 427rpx;
height: 56rpx;
background: #4778EC;
border-radius: 0rpx 17rpx 17rpx 0rpx;
align-items: center;
.left-item
width: 117rpx;
text-align: center;
line-height: 47rpx;
height: 47rpx;
margin-right: 27rpx;
color: #FFFFFF;
.left-item:active
color: blue;
.option-right
flex: 1;
position: relative;
display: flex;
justify-content: center;
align-items: center;
padding: 0 49rpx;
.right-input
width: 100%;
height: 45rpx;
background: rgba(255,255,255,0.5);
border-radius: 17rpx 17rpx 17rpx 17rpx;
border: 3rpx solid #FFFFFF;
padding: 0 50rpx 0 10rpx;
color: #FFFFFF;
.iconsearch
position: absolute;
right: 60rpx;
.tab-options
margin-top: 10rpx;
display: flex;
align-items: center;
justify-content: space-between;
height: 77rpx;
background: #FFFFFF;
border-radius: 17rpx 17rpx 0rpx 0rpx;
padding: 0 24rpx;
overflow: hidden;
.tab-scroll
height: 77rpx;
line-height: 77rpx;
flex: 1;
overflow: hidden;
padding-right: 10rpx;
.tab-op-left
display: flex;
align-items: center;
flex-wrap: nowrap;
.tab-list
text-align: center;
white-space: nowrap;
margin-right: 30rpx;
font-size: 28rpx;
color: #606060;
.tab-op-right
display: flex;
align-items: center;
.tab-recommend
white-space: nowrap;
width: 92rpx;
height: 42rpx;
background: #4778EC;
border-radius: 17rpx 17rpx 0rpx 17rpx;
text-align: center;
color: #FFFFFF;
font-size: 21rpx;
line-height: 42rpx;
margin-right: 12rpx;
.tab-number
font-size: 21rpx;
color: #606060;
line-height: 25rpx;
text-align: center;
.tab-filter
display: flex;
.image
width: 28rpx;
height: 27rpx;
.falls-scroll
flex: 1;
overflow: hidden
.falls
padding: 20rpx 40rpx;
.falls-card
padding: 30rpx;
.falls-card-title
height: 49rpx;
font-size: 42rpx;
color: #606060;
line-height: 49rpx;
text-align: left;
.falls-card-pay
height: 50rpx;
font-size: 35rpx;
color: #002979;
line-height: 50rpx;
text-align: left;
.falls-card-education,.falls-card-experience
width: fit-content;
height: 30rpx;
background: #13C57C;
border-radius: 17rpx 17rpx 17rpx 17rpx;
padding: 0 10rpx;
line-height: 30rpx;
font-weight: 400;
font-size: 21rpx;
color: #FFFFFF;
text-align: center;
margin-top: 14rpx;
.falls-card-company,.falls-card-pepleNumber
margin-top: 14rpx;
font-size: 21rpx;
color: #606060;
line-height: 25rpx;
text-align: left;
.falls-card-pepleNumber
display: flex;
justify-content: space-between;
align-items: center;
.falls-card-matchingrate
margin-top: 10rpx;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 21rpx;
color: #4778EC;
text-align: left;
.logo
width: 100px;
height: 100px;
</style>