flat: 页面初始化
This commit is contained in:
@@ -1,22 +1,191 @@
|
||||
<template>
|
||||
<view>
|
||||
|
||||
<view class="app-container">
|
||||
<view class="careerfair-AI">AI+就业服务程序</view>
|
||||
<view class="careerfair-tab">
|
||||
<view class="careerfair-tab-options actived">现场招聘</view>
|
||||
<view class="careerfair-tab-options">VR虚拟招聘会</view>
|
||||
</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>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
<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();
|
||||
});
|
||||
|
||||
// 获取往后三十天日期
|
||||
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,
|
||||
});
|
||||
}
|
||||
dates[0].date = '今天';
|
||||
dates[1].date = '明天';
|
||||
return dates;
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
<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;
|
||||
.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;
|
||||
</style>
|
||||
|
@@ -1,24 +1,117 @@
|
||||
<template>
|
||||
<view class="content"></view>
|
||||
<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 { reactive, inject, watch } from 'vue';
|
||||
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');
|
||||
});
|
||||
// $api.sleep(2000).then(() => {
|
||||
// navTo('/pages/login/login');
|
||||
// });
|
||||
});
|
||||
|
||||
watch(
|
||||
@@ -29,6 +122,156 @@ watch(
|
||||
</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;
|
||||
|
@@ -50,7 +50,7 @@ export default {
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="stylus">
|
||||
<style lang="stylus" scoped>
|
||||
.tab-container
|
||||
width: 100%
|
||||
height: 100%
|
||||
|
@@ -20,7 +20,7 @@
|
||||
<view class="color_FFFFFF fs_30">选择您的性别1/6</view>
|
||||
<view class="color_D9D9D9">个人信息仅用于推送优质内容</view>
|
||||
</view>
|
||||
<view class="fl_box fl_justmiddle">
|
||||
<view class="fl_box fl_justmiddle fl_1 fl_alstart">
|
||||
<view class="tabtwo-sex">
|
||||
<image class="sex-img" src="../../static/icon/woman.png"></image>
|
||||
<view class="mar_top5">女</view>
|
||||
@@ -72,7 +72,6 @@
|
||||
<view class="eductionbtn">留学-硕士</view>
|
||||
<view class="eductionbtn">留学-博士</view>
|
||||
</view>
|
||||
<view class="fl_box fl_justmiddle"></view>
|
||||
<view class="nextstep" @tap="nextStep">下一步</view>
|
||||
</view>
|
||||
</template>
|
||||
@@ -86,7 +85,7 @@
|
||||
<view class="salary">
|
||||
<scroll-view class="salary-content" :show-scrollbar="false" :scroll-y="true">
|
||||
<view class="salary-content-item">不限</view>
|
||||
<view class="salary-content-item">2k</view>
|
||||
<view class="salary-content-item salary-content-item-selected">2k</view>
|
||||
<view class="salary-content-item">5k</view>
|
||||
<view class="salary-content-item">10k</view>
|
||||
<view class="salary-content-item">15k</view>
|
||||
@@ -94,7 +93,7 @@
|
||||
<view class="center-text">至</view>
|
||||
<scroll-view class="salary-content" :show-scrollbar="false" :scroll-y="true">
|
||||
<view class="salary-content-item">不限</view>
|
||||
<view class="salary-content-item">2k</view>
|
||||
<view class="salary-content-item salary-content-item-selected">2k</view>
|
||||
<view class="salary-content-item">5k</view>
|
||||
<view class="salary-content-item">10k</view>
|
||||
<view class="salary-content-item">15k</view>
|
||||
@@ -112,21 +111,59 @@
|
||||
<view class="color_FFFFFF fs_30">您期望的求职区域5/6</view>
|
||||
<view class="color_D9D9D9">个人信息仅用于推送优质内容</view>
|
||||
</view>
|
||||
<view class="fl_box fl_justmiddle"></view>
|
||||
<view class="eduction-content">
|
||||
<view class="eductionbtn eductionbtned">市南区</view>
|
||||
<view class="eductionbtn">市北区</view>
|
||||
<view class="eductionbtn">李沧区</view>
|
||||
<view class="eductionbtn">崂山区</view>
|
||||
<view class="eductionbtn">荒岛区</view>
|
||||
<view class="eductionbtn">城阳区</view>
|
||||
<view class="eductionbtn">即墨区</view>
|
||||
<view class="eductionbtn">胶州市</view>
|
||||
<view class="eductionbtn">平度市</view>
|
||||
<view class="eductionbtn">莱西市</view>
|
||||
<view class="eductionbtn">不限区域</view>
|
||||
</view>
|
||||
<view class="nextstep" @tap="nextStep">下一步</view>
|
||||
</view>
|
||||
</template>
|
||||
<!-- tab6 -->
|
||||
<template v-slot:tab6>
|
||||
<view class="tabtwo">
|
||||
<view class="tabtwo-top">
|
||||
<view class="tabtwo sex-two">
|
||||
<view class="tabtwo-top mar_top25 mar_le25">
|
||||
<view class="color_FFFFFF fs_30">您的期望岗位6/6</view>
|
||||
<view class="color_D9D9D9">个人信息仅用于推送优质内容</view>
|
||||
</view>
|
||||
<view class="fl_box fl_justmiddle"></view>
|
||||
<!-- <view class="nextstep" @tap="complate">完成</view> -->
|
||||
<view class="sex-search">
|
||||
<uni-icons class="iconsearch" type="search" size="20"></uni-icons>
|
||||
<input class="uni-input searchinput" confirm-type="search" />
|
||||
</view>
|
||||
<view class="sex-content fl_1">
|
||||
<scroll-view :show-scrollbar="false" :scroll-y="true" class="sex-content-left">
|
||||
<view
|
||||
v-for="item in state.station"
|
||||
:key="item.value"
|
||||
class="left-list-btn"
|
||||
:class="{ 'left-list-btned': item.value === state.stationCateLog }"
|
||||
@click="changeStationLog(item)"
|
||||
>
|
||||
{{ item.label }}
|
||||
</view>
|
||||
</scroll-view>
|
||||
<scroll-view :show-scrollbar="false" :scroll-y="true" class="sex-content-right">
|
||||
<view class="grid-sex">
|
||||
<view class="sex-right-btn sex-right-btned">客户经理</view>
|
||||
<view class="sex-right-btn">客户经理</view>
|
||||
<view class="sex-right-btn">客户经理</view>
|
||||
<view class="sex-right-btn">客户经理</view>
|
||||
<view class="sex-right-btn">客户经理</view>
|
||||
<view class="sex-right-btn">客户经理</view>
|
||||
<view class="sex-right-btn">客户经理</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
<navigator url="/pages/index/index" open-type="reLaunch" hover-class="other-navigator-hover">
|
||||
<button class="nextstep" @tap="complate">完成</button>
|
||||
<button class="nextstep confirmStep">完成</button>
|
||||
</navigator>
|
||||
</view>
|
||||
</template>
|
||||
@@ -139,8 +176,30 @@ import tabcontrolVue from './components/tabcontrol.vue';
|
||||
import { reactive, inject, watch, ref } from 'vue';
|
||||
const { statusBarHeight } = inject('deviceInfo');
|
||||
const { $api, navTo } = inject('globalFunction');
|
||||
const tabCurrent = ref(4);
|
||||
// 初始化
|
||||
const station = [
|
||||
{ label: '销售/商务拓展', value: 1 },
|
||||
{ label: '人事/行政/财务/法务', value: 2 },
|
||||
{ label: '互联网/通信及硬件', value: 3 },
|
||||
{ label: '运维/测试', value: 4 },
|
||||
{ label: '销售/商务拓展', value: 5 },
|
||||
{ label: '人事/行政/财务/法务', value: 6 },
|
||||
{ label: '互联网/通信及硬件', value: 7 },
|
||||
{ label: '运维/测试', value: 8 },
|
||||
{ label: '销售/商务拓展', value: 9 },
|
||||
{ label: '人事/行政/财务/法务', value: 10 },
|
||||
{ label: '互联网/通信及硬件', value: 11 },
|
||||
{ label: '销售/商务拓展', value: 12 },
|
||||
{ label: '人事/行政/财务/法务', value: 13 },
|
||||
{ label: '互联网/通信及硬件', value: 14 },
|
||||
];
|
||||
// status
|
||||
const tabCurrent = ref(0);
|
||||
const state = reactive({
|
||||
station: station,
|
||||
stationCateLog: 1,
|
||||
});
|
||||
const fromValue = reactive({
|
||||
sex: 1,
|
||||
});
|
||||
|
||||
@@ -150,7 +209,10 @@ setTimeout(() => {
|
||||
const getuserinfo = (e) => {
|
||||
console.log(e);
|
||||
};
|
||||
|
||||
// 行为
|
||||
function changeStationLog(item) {
|
||||
state.stationCateLog = item.value;
|
||||
}
|
||||
function nextStep() {
|
||||
tabCurrent.value += 1;
|
||||
}
|
||||
@@ -161,11 +223,11 @@ function handleScroll(event) {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus">
|
||||
<style lang="stylus" scoped>
|
||||
.container
|
||||
width: 100%;
|
||||
height: 100%
|
||||
background: linear-gradient(#4778EC, #002979);
|
||||
width: 100%;
|
||||
height: calc(100vh - var(--window-top) - var(--status-bar-height) - var(--window-bottom));
|
||||
position: relative;
|
||||
|
||||
.login-content
|
||||
@@ -207,6 +269,8 @@ function handleScroll(event) {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
height: calc(100% - 40rpx);
|
||||
.tabtwo-top
|
||||
margin: 222rpx 0 0 0;
|
||||
width: 100%;
|
||||
@@ -264,10 +328,6 @@ function handleScroll(event) {
|
||||
background: #13C57C;
|
||||
color: #FFFFFF;
|
||||
.nextstep
|
||||
position: absolute;
|
||||
top: 80%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, 0)
|
||||
width: 630rpx;
|
||||
height: 98rpx;
|
||||
border-radius: 20rpx;
|
||||
@@ -276,6 +336,9 @@ function handleScroll(event) {
|
||||
line-height: 98rpx;
|
||||
font-size: 36rpx;
|
||||
color: #FFFFFF;
|
||||
margin-bottom: 150rpx;
|
||||
.confirmStep
|
||||
margin-bottom: 50rpx;
|
||||
.eduction-content
|
||||
width: fit-content;
|
||||
display: grid;
|
||||
@@ -297,7 +360,7 @@ function handleScroll(event) {
|
||||
.salary
|
||||
width: fit-content;
|
||||
display: grid;
|
||||
grid-template-columns: 300rpx auto 300rpx;
|
||||
grid-template-columns: 300rpx 40rpx 300rpx;
|
||||
// grid-gap: 20rpx;
|
||||
margin-top: 50rpx;
|
||||
.center-text
|
||||
@@ -314,4 +377,80 @@ function handleScroll(event) {
|
||||
border-radius: 20rpx;
|
||||
background: #d9d9d9;
|
||||
text-align: center;
|
||||
font-size: 38rpx;
|
||||
.salary-content-item-selected
|
||||
margin: 10rpx 5rpx 10rpx 5rpx;
|
||||
background: #13C57C;
|
||||
color: #FFFFFF;
|
||||
.sex-two
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
background: #4678ec;
|
||||
.sex-search
|
||||
width: calc(100% - 28rpx - 28rpx);
|
||||
padding: 10rpx 28rpx;
|
||||
display: grid;
|
||||
// grid-template-columns: 50rpx auto;
|
||||
position: relative;
|
||||
.iconsearch
|
||||
position: absolute;
|
||||
left: 40rpx;
|
||||
top: 20rpx;
|
||||
.searchinput
|
||||
border-radius: 10rpx;
|
||||
background: #FFFFFF;
|
||||
padding: 10rpx 0 10rpx 58rpx;
|
||||
.sex-content
|
||||
background: #FFFFFF;
|
||||
border-radius: 20rpx;
|
||||
width: 100%;
|
||||
margin-top: 20rpx;
|
||||
margin-bottom: 40rpx;
|
||||
display: flex;
|
||||
border-bottom: 2px solid #D9D9D9;
|
||||
overflow: hidden
|
||||
.sex-content-left
|
||||
width: 250rpx;
|
||||
.left-list-btn
|
||||
padding: 0 24rpx;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
height: 100rpx;
|
||||
text-align: center;
|
||||
color: #606060;
|
||||
font-size: 28rpx;
|
||||
.left-list-btned
|
||||
color: #4778EC;
|
||||
position: relative;
|
||||
.left-list-btned::after
|
||||
position: absolute;
|
||||
left: 20rpx;
|
||||
content: '';
|
||||
width: 7rpx;
|
||||
height: 38rpx;
|
||||
background: #4778EC;
|
||||
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
||||
|
||||
.sex-content-right
|
||||
border-left: 2px solid #D9D9D9;
|
||||
flex: 1;
|
||||
.grid-sex
|
||||
display: grid;
|
||||
grid-template-columns: 50% 50%;
|
||||
place-items: center;
|
||||
.sex-right-btn
|
||||
width: 211rpx;
|
||||
height: 84rpx;
|
||||
font-size: 35rpx;
|
||||
line-height: 41rpx;
|
||||
text-align: center;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
background: #D9D9D9;
|
||||
border-radius: 20rpx;
|
||||
margin-top:30rpx;
|
||||
color: #606060;
|
||||
.sex-right-btned
|
||||
color: #FFFFFF;
|
||||
background: #4778EC;
|
||||
</style>
|
||||
|
@@ -1,19 +1,158 @@
|
||||
<template>
|
||||
<view>
|
||||
|
||||
<view class="app-container">
|
||||
<view class="mine-AI">AI+就业服务程序</view>
|
||||
<view class="mine-userinfo">
|
||||
<view class="userindo-head">
|
||||
<image class="userindo-head-img" src="/static/icon/flame2.png"></image>
|
||||
</view>
|
||||
<view class="userinfo-ls">
|
||||
<view class="userinfo-ls-name">用户名</view>
|
||||
<view class="userinfo-ls-resume">简历完成度80%,建议优化</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mine-tab">
|
||||
<view class="tab-item" @click="navTo('/packageA/pages/myResume/myResume')">
|
||||
<image class="item-img" src="/static/icon/resume.png"></image>
|
||||
<view class="item-text">我的简历</view>
|
||||
</view>
|
||||
<view class="tab-item">
|
||||
<image class="item-img" src="/static/icon/collect.png"></image>
|
||||
<view class="item-text">我的收藏</view>
|
||||
</view>
|
||||
<view class="tab-item">
|
||||
<image class="item-img" src="/static/icon/browse.png"></image>
|
||||
<view class="item-text">我的浏览</view>
|
||||
</view>
|
||||
<view class="tab-item">
|
||||
<image class="item-img" src="/static/icon/quaters.png"></image>
|
||||
<view class="item-text">意向岗位</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mine-options">
|
||||
<view class="mine-options-item">实名认证</view>
|
||||
<view class="mine-options-item">素质测评</view>
|
||||
<view class="mine-options-item">AI面试</view>
|
||||
<view class="mine-options-item">账号与安全</view>
|
||||
<view class="mine-options-item">通知与提醒</view>
|
||||
<view class="mine-logout">退出登录</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
<script setup>
|
||||
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');
|
||||
</script>
|
||||
|
||||
<style lang="stylus">
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
.app-container
|
||||
width: 100%;
|
||||
min-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;
|
||||
.mine-AI
|
||||
height: 42rpx;
|
||||
font-family: Inter, Inter;
|
||||
font-weight: 400;
|
||||
font-size: 35rpx;
|
||||
color: #FFFFFF;
|
||||
line-height: 41rpx;
|
||||
padding: 85rpx 0 0 30rpx;
|
||||
.mine-userinfo
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
padding: 64rpx;
|
||||
.userindo-head
|
||||
width: 101rpx;
|
||||
height: 101rpx;
|
||||
background: #D9D9D9;
|
||||
border-radius: 50%
|
||||
overflow: hidden
|
||||
margin-right: 40rpx;
|
||||
.userindo-head-img
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
.userinfo-ls
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
.userinfo-ls-name
|
||||
font-size: 42rpx;
|
||||
color: #FFFFFF;
|
||||
.userinfo-ls-resume
|
||||
font-size: 21rpx;
|
||||
color: #D9D9D9;
|
||||
.mine-tab
|
||||
margin: 0 30rpx;
|
||||
height: calc(155rpx - 30rpx);
|
||||
background: #FFFFFF;
|
||||
border-radius: 17rpx 17rpx 17rpx 17rpx;
|
||||
display: flex;
|
||||
padding: 15rpx;
|
||||
.tab-item
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: calc(100% / 4);
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
.item-img
|
||||
height: 55rpx;
|
||||
width: 50rpx;
|
||||
.item-text
|
||||
font-size: 21rpx;
|
||||
color: #000000;
|
||||
line-height: 25rpx;
|
||||
text-align: center;
|
||||
margin-top: 10rpx;
|
||||
.tab-item::after
|
||||
position: absolute;
|
||||
right: 0;
|
||||
content: '';
|
||||
width: 0rpx;
|
||||
height: 96rpx;
|
||||
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
||||
border-right: 2rpx solid #4778EC;
|
||||
.tab-item:last-child::after
|
||||
border-right: 0;
|
||||
.tab-item:nth-child(2)>.item-img
|
||||
width: 51rpx;
|
||||
height: 45rpx;
|
||||
.tab-item:nth-child(3)>.item-img
|
||||
width: 62rpx;
|
||||
height: 41rpx;
|
||||
.tab-item:nth-child(4)>.item-img
|
||||
width: 45rpx;
|
||||
height: 47rpx;
|
||||
.mine-options
|
||||
margin: 43rpx 30rpx;
|
||||
min-height: 155rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 17rpx 17rpx 17rpx 17rpx;
|
||||
display: flex;
|
||||
padding: 24rpx 45rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-height: min-content;
|
||||
.mine-options-item
|
||||
height: 80rpx;
|
||||
font-size: 28rpx;
|
||||
color: #000000;
|
||||
line-height: 80rpx;
|
||||
border-bottom: 2rpx solid #4778EC;
|
||||
padding: 0 30rpx;
|
||||
.mine-logout
|
||||
margin: 250rpx auto 0 auto;
|
||||
width: 399rpx;
|
||||
height: 96rpx;
|
||||
background: #FFAD47;
|
||||
border-radius: 17rpx 17rpx 17rpx 17rpx;
|
||||
text-align: center;
|
||||
line-height: 96rpx;
|
||||
color: #FFFFFF;
|
||||
font-size: 35rpx;
|
||||
</style>
|
||||
|
@@ -1,19 +1,131 @@
|
||||
<template>
|
||||
<view>
|
||||
|
||||
<view class="app-container">
|
||||
<view class="msg-AI">AI+就业服务程序</view>
|
||||
<view class="msg-tab">
|
||||
<view class="msg-tab-item" :class="{ actived: state.current === 0 }" @click="seemsg(0)">全部</view>
|
||||
<view class="msg-tab-item" :class="{ actived: state.current === 1 }" @click="seemsg(1)">未读</view>
|
||||
</view>
|
||||
<view class="msg-list">
|
||||
<swiper class="swiper" :current="state.current" @change="changeSwiperMsgType">
|
||||
<swiper-item class="list">
|
||||
<view class="list-card">
|
||||
<view class="card-img">
|
||||
<image class="card-img-flame" src="/static/icon/flame2.png"></image>
|
||||
</view>
|
||||
<view class="card-info">
|
||||
<view class="info-title">今日推荐</view>
|
||||
<view class="info-text">这里有9个职位很适合你,快来看看吧</view>
|
||||
</view>
|
||||
<view class="card-time">刚才</view>
|
||||
</view>
|
||||
</swiper-item>
|
||||
<swiper-item class="list">
|
||||
<view class="list-card">
|
||||
<view class="card-img">
|
||||
<image class="card-img-flame" src="/static/icon/flame2.png"></image>
|
||||
</view>
|
||||
<view class="card-info">
|
||||
<view class="info-title">今日推荐</view>
|
||||
<view class="info-text">这里有9个职位很适合你,快来看看吧</view>
|
||||
</view>
|
||||
<view class="card-time">刚才</view>
|
||||
</view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
<script setup>
|
||||
import { reactive, inject, watch, ref, onMounted } from 'vue';
|
||||
import { onLoad, onShow } from '@dcloudio/uni-app';
|
||||
const state = reactive({
|
||||
current: 0,
|
||||
all: [{}],
|
||||
});
|
||||
|
||||
onLoad(() => {});
|
||||
|
||||
// 查看消息类型
|
||||
function changeSwiperMsgType(e) {
|
||||
const currented = e.detail.current;
|
||||
state.current = currented;
|
||||
}
|
||||
function seemsg(index) {
|
||||
state.current = index;
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus">
|
||||
<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;
|
||||
|
||||
.msg-AI
|
||||
height: 42rpx;
|
||||
font-family: Inter, Inter;
|
||||
font-weight: 400;
|
||||
font-size: 35rpx;
|
||||
color: #FFFFFF;
|
||||
line-height: 41rpx;
|
||||
padding: 85rpx 0 0 30rpx;
|
||||
.msg-tab
|
||||
padding: 85rpx 0 0 30rpx;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
color: #D9D9D9;
|
||||
.msg-tab-item
|
||||
margin-right: 40rpx;
|
||||
.actived
|
||||
font-size: 28rpx;
|
||||
color: #FFFFFF;
|
||||
text-shadow: 0px 7px 7px rgba(0,0,0,0.25);
|
||||
.msg-list
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
.swiper
|
||||
height: 100%;
|
||||
.list
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.list-card
|
||||
height: calc(119rpx - 26rpx - 26rpx);
|
||||
width: calc(100% - 36rpx - 36rpx - 23rpx - 23rpx);
|
||||
background: #FFFFFF;
|
||||
border-radius: 17rpx;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
padding: 26rpx 36rpx;
|
||||
margin: 36rpx 23rpx;
|
||||
.card-img
|
||||
width: 63rpx;
|
||||
height: 63rpx;
|
||||
background: #D9D9D9;
|
||||
border-radius: 50%
|
||||
display: grid;
|
||||
place-items: center;
|
||||
margin-right: 30rpx;
|
||||
.card-img-flame
|
||||
width: 36rpx;
|
||||
height: 44rpx;
|
||||
.card-info
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
.info-title
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #000000;
|
||||
.info-text
|
||||
font-size: 17rpx;
|
||||
color: #606060;
|
||||
.card-time
|
||||
font-size: 17rpx;
|
||||
color: #606060;
|
||||
</style>
|
||||
|
182
pages/nearby/components/four.vue
Normal file
182
pages/nearby/components/four.vue
Normal file
@@ -0,0 +1,182 @@
|
||||
<template>
|
||||
<scroll-view :scroll-y="true" class="nearby-scroll">
|
||||
<view class="two-head">
|
||||
<view class="head-item active">市北区</view>
|
||||
<view class="head-item" v-for="(item, index) in 10" :key="index">中山路商圈</view>
|
||||
</view>
|
||||
<view class="nearby-list">
|
||||
<view class="list-head" @touchmove.stop.prevent>
|
||||
<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>
|
||||
<uni-icons type="plusempty" style="margin-right: 10rpx" size="20"></uni-icons>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="tab-op-right">
|
||||
<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>
|
||||
</view>
|
||||
<view class="one-cards">
|
||||
<view class="card-box" v-for="(item, index) in 20" :key="index">
|
||||
<view class="box-row mar_top0">
|
||||
<view class="row-left">销售工程师-高级销售经理</view>
|
||||
<view class="row-right">1万-2万</view>
|
||||
</view>
|
||||
<view class="box-row">
|
||||
<view class="row-left">
|
||||
<view class="row-tag">本科</view>
|
||||
<view class="row-tag">1-5年</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-row mar_top0">
|
||||
<view class="row-item mineText">2024.1.8</view>
|
||||
<view class="row-item mineText">8人</view>
|
||||
<view class="row-item mineText textblue">匹配度93%</view>
|
||||
<view class="row-item">
|
||||
<uni-icons type="star" size="28"></uni-icons>
|
||||
<!-- <uni-icons type="star-filled" color="#FFCB47" size="30"></uni-icons> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-row">
|
||||
<view class="row-left mineText">湖南沃森电气科技有限公司</view>
|
||||
<view class="row-right mineText">青岛 青岛经济技术开发区 550m</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { reactive, inject, watch, ref, onMounted } from 'vue';
|
||||
const state = reactive({});
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
.nearby-scroll
|
||||
overflow: hidden;
|
||||
.two-head
|
||||
margin: 24rpx;
|
||||
padding: 26rpx;
|
||||
background: #FFFFFF;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
grid-column-gap: 40rpx;
|
||||
grid-row-gap: 30rpx;
|
||||
border-radius: 17rpx 17rpx 17rpx 17rpx;
|
||||
.head-item
|
||||
min-width: 129rpx;
|
||||
height: 44rpx;
|
||||
line-height: 44rpx;
|
||||
text-align: center;
|
||||
width: fit-content;
|
||||
background: #D9D9D9;
|
||||
border-radius: 17rpx 17rpx 17rpx 17rpx;
|
||||
font-size: 21rpx;
|
||||
color: #606060;
|
||||
.active
|
||||
background: #4778EC;
|
||||
color: #FFFFFF;
|
||||
.nearby-list
|
||||
margin-top: 40rpx;
|
||||
background: linear-gradient( 180deg, #4778EC 0%, #002979 100%);
|
||||
.list-head
|
||||
height: 77rpx;
|
||||
background-color: #FFFFFF;
|
||||
border-radius: 17rpx 17rpx 0rpx 0rpx;
|
||||
position: relative;
|
||||
top: -17rpx;
|
||||
z-index: 9999;
|
||||
.tab-options
|
||||
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;
|
||||
|
||||
.one-cards
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 20rpx;
|
||||
.card-box
|
||||
width: calc(100% - 36rpx - 36rpx);
|
||||
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 17rpx;
|
||||
padding: 15rpx 36rpx;
|
||||
margin-top: 24rpx;
|
||||
.box-row
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: 8rpx;
|
||||
align-items: center;
|
||||
.mineText
|
||||
font-weight: 400;
|
||||
font-size: 21rpx;
|
||||
color: #606060;
|
||||
.textblue
|
||||
color: #4778EC;
|
||||
.row-left
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.row-tag
|
||||
background: #13C57C;
|
||||
border-radius: 17rpx 17rpx 17rpx 17rpx;
|
||||
font-size: 21rpx;
|
||||
color: #FFFFFF;
|
||||
line-height: 25rpx;
|
||||
text-align: center;
|
||||
padding: 4rpx 8rpx;
|
||||
margin-right: 23rpx;
|
||||
.card-box:first-child
|
||||
margin-top: -14rpx;
|
||||
</style>
|
222
pages/nearby/components/one.vue
Normal file
222
pages/nearby/components/one.vue
Normal file
@@ -0,0 +1,222 @@
|
||||
<template>
|
||||
<scroll-view :scroll-y="true" class="nearby-scroll">
|
||||
<view class="nearby-map" @touchmove.stop.prevent>
|
||||
<zhuo-tianditu-MultiPoint-Mapper
|
||||
ref="tMap"
|
||||
:showLabel="false"
|
||||
:showCirle="true"
|
||||
api-key="e122b0518f43b32dcc256edbae20a5d1"
|
||||
@onLoad="LoadComplite"
|
||||
></zhuo-tianditu-MultiPoint-Mapper>
|
||||
</view>
|
||||
<view class="nearby-list">
|
||||
<view class="list-head" @touchmove.stop.prevent>
|
||||
<view class="tab-options">
|
||||
<view class="tab-scroll" ref="progress">
|
||||
<view class="tab-scr-d" :style="`width: ${state.progressWidth}`">
|
||||
<view class="">1km</view>
|
||||
<view class="">5km</view>
|
||||
<view class="">10km</view>
|
||||
</view>
|
||||
<bingProgressComponent
|
||||
strokeWidth="7px"
|
||||
:max="10"
|
||||
activeColor="#13C57C"
|
||||
handleWidth="10px"
|
||||
handleHeight="10px"
|
||||
handleBorderRadius="5px"
|
||||
handleColor="#4778EC"
|
||||
@change="progressChange"
|
||||
:showInfo="false"
|
||||
:width="state.progressWidth"
|
||||
></bingProgressComponent>
|
||||
</view>
|
||||
<view class="tab-op-right">
|
||||
<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>
|
||||
</view>
|
||||
<view class="one-cards">
|
||||
<view class="card-box" v-for="(item, index) in 20" :key="index">
|
||||
<view class="box-row mar_top0">
|
||||
<view class="row-left">销售工程师-高级销售经理</view>
|
||||
<view class="row-right">1万-2万</view>
|
||||
</view>
|
||||
<view class="box-row">
|
||||
<view class="row-left">
|
||||
<view class="row-tag">本科</view>
|
||||
<view class="row-tag">1-5年</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-row mar_top0">
|
||||
<view class="row-item mineText">2024.1.8</view>
|
||||
<view class="row-item mineText">8人</view>
|
||||
<view class="row-item mineText textblue">匹配度93%</view>
|
||||
<view class="row-item">
|
||||
<uni-icons type="star" size="28"></uni-icons>
|
||||
<!-- <uni-icons type="star-filled" color="#FFCB47" size="30"></uni-icons> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-row">
|
||||
<view class="row-left mineText">湖南沃森电气科技有限公司</view>
|
||||
<view class="row-right mineText">青岛 青岛经济技术开发区 550m</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import bingProgressComponent from '/components/bing-progress/bing-progress.vue';
|
||||
import { reactive, inject, watch, ref, onMounted, onBeforeUnmount } from 'vue';
|
||||
const tMap = ref();
|
||||
const progress = ref();
|
||||
const state = reactive({
|
||||
progressWidth: '150px',
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
const query = uni.createSelectorQuery().in(this);
|
||||
query
|
||||
.select('.tab-scroll')
|
||||
.boundingClientRect((data) => {
|
||||
state.progressWidth = data.width - 50 + 'px';
|
||||
})
|
||||
.exec();
|
||||
tMap.value.open(104.397894, 31.126855);
|
||||
});
|
||||
|
||||
// 初始化
|
||||
function LoadComplite() {
|
||||
console.log('天地图加载完成');
|
||||
const list = [
|
||||
{
|
||||
id: 0,
|
||||
label: '',
|
||||
lat: 31.126855,
|
||||
lon: 104.397894,
|
||||
},
|
||||
];
|
||||
tMap.value.addFeature(list);
|
||||
}
|
||||
function progressChange(e) {
|
||||
tMap.value.changeRange(e.value);
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
.nearby-scroll
|
||||
overflow: hidden;
|
||||
.nearby-map
|
||||
height: 467rpx;
|
||||
background: #e8e8e8;
|
||||
.nearby-list
|
||||
background: linear-gradient( 180deg, #4778EC 0%, #002979 100%);
|
||||
.list-head
|
||||
height: 77rpx;
|
||||
background-color: #FFFFFF;
|
||||
border-radius: 17rpx 17rpx 0rpx 0rpx;
|
||||
position: relative;
|
||||
top: -17rpx;
|
||||
z-index: 9999;
|
||||
.tab-options
|
||||
margin-top: -15rpx;
|
||||
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;
|
||||
flex: 1;
|
||||
padding-right: 20rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
.tab-scr-d
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
font-weight: 400;
|
||||
font-size: 21rpx;
|
||||
color: #000000;
|
||||
.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;
|
||||
|
||||
.one-cards
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 0 20rpx;
|
||||
.card-box
|
||||
width: calc(100% - 36rpx - 36rpx);
|
||||
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 17rpx;
|
||||
padding: 15rpx 36rpx;
|
||||
margin-top: 24rpx;
|
||||
.box-row
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: 8rpx;
|
||||
align-items: center;
|
||||
.mineText
|
||||
font-weight: 400;
|
||||
font-size: 21rpx;
|
||||
color: #606060;
|
||||
.textblue
|
||||
color: #4778EC;
|
||||
.row-left
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.row-tag
|
||||
background: #13C57C;
|
||||
border-radius: 17rpx 17rpx 17rpx 17rpx;
|
||||
font-size: 21rpx;
|
||||
color: #FFFFFF;
|
||||
line-height: 25rpx;
|
||||
text-align: center;
|
||||
padding: 4rpx 8rpx;
|
||||
margin-right: 23rpx;
|
||||
.card-box:first-child
|
||||
margin-top: 6rpx;
|
||||
</style>
|
248
pages/nearby/components/three.vue
Normal file
248
pages/nearby/components/three.vue
Normal file
@@ -0,0 +1,248 @@
|
||||
<template>
|
||||
<scroll-view :scroll-y="true" class="nearby-scroll">
|
||||
<view class="three-head" @touchmove.stop.prevent>
|
||||
<scroll-view class="scroll-head" :scroll-x="true" :show-scrollbar="false">
|
||||
<view class="metro">
|
||||
<view class="metro-one">1号线</view>
|
||||
<view class="metro-two">王家港-东郭庄</view>
|
||||
<view class="metro-three">
|
||||
<view class="three-background">
|
||||
<view class="three-items">
|
||||
<view class="three-item">
|
||||
<view class="item-dont dontstart"></view>
|
||||
<view class="item-text">王家港</view>
|
||||
</view>
|
||||
<view class="three-item" v-for="(item, index) in 20" :key="index">
|
||||
<view class="item-dont"></view>
|
||||
<view class="item-text">王家港</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
<view class="nearby-list">
|
||||
<view class="list-head" @touchmove.stop.prevent>
|
||||
<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>
|
||||
<uni-icons type="plusempty" style="margin-right: 10rpx" size="20"></uni-icons>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="tab-op-right">
|
||||
<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>
|
||||
</view>
|
||||
<view class="one-cards">
|
||||
<view class="card-box" v-for="(item, index) in 20" :key="index">
|
||||
<view class="box-row mar_top0">
|
||||
<view class="row-left">销售工程师-高级销售经理</view>
|
||||
<view class="row-right">1万-2万</view>
|
||||
</view>
|
||||
<view class="box-row">
|
||||
<view class="row-left">
|
||||
<view class="row-tag">本科</view>
|
||||
<view class="row-tag">1-5年</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-row mar_top0">
|
||||
<view class="row-item mineText">2024.1.8</view>
|
||||
<view class="row-item mineText">8人</view>
|
||||
<view class="row-item mineText textblue">匹配度93%</view>
|
||||
<view class="row-item">
|
||||
<uni-icons type="star" size="28"></uni-icons>
|
||||
<!-- <uni-icons type="star-filled" color="#FFCB47" size="30"></uni-icons> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-row">
|
||||
<view class="row-left mineText">湖南沃森电气科技有限公司</view>
|
||||
<view class="row-right mineText">青岛 青岛经济技术开发区 550m</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { reactive, inject, watch, ref, onMounted } from 'vue';
|
||||
const state = reactive({});
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
.nearby-scroll
|
||||
overflow: hidden;
|
||||
.three-head
|
||||
margin: 24rpx;
|
||||
padding: 26rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 17rpx 17rpx 17rpx 17rpx;
|
||||
.scroll-head
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
.metro
|
||||
width: 100%;
|
||||
.metro-one
|
||||
font-size: 28rpx;
|
||||
color: #000000;
|
||||
line-height: 33rpx;
|
||||
.metro-two
|
||||
font-size: 21rpx;
|
||||
color: #606060;
|
||||
line-height: 25rpx;
|
||||
margin-top: 6rpx;
|
||||
.metro-three
|
||||
width: fit-content;
|
||||
margin-top: 26rpx;
|
||||
.three-background
|
||||
position: relative;
|
||||
.three-items
|
||||
position: relative;
|
||||
top: -17rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
z-index: 2;
|
||||
.three-item
|
||||
margin-right: 70rpx;
|
||||
.item-dont
|
||||
width: 17rpx;
|
||||
height: 17rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 50%;
|
||||
position: relative;
|
||||
margin-bottom: 10rpx;
|
||||
.dontstart::after
|
||||
position: absolute;
|
||||
content: '始';
|
||||
color: #FFFFFF;
|
||||
font-size: 20rpx;
|
||||
text-align: center;
|
||||
left: 0;
|
||||
top: -5rpx;
|
||||
width: 27rpx;
|
||||
height: 27rpx;
|
||||
line-height: 28rpx;
|
||||
background: blue;
|
||||
border-radius: 50%;
|
||||
.item-text
|
||||
width: 23rpx;
|
||||
font-size: 21rpx;
|
||||
color: #606060;
|
||||
line-height: 25rpx;
|
||||
text-align: center;
|
||||
.three-item:last-child
|
||||
margin-right: 0;
|
||||
.three-background::after
|
||||
position: absolute;
|
||||
content: '';
|
||||
left: 0;
|
||||
top: -17rpx;
|
||||
width: 100%;
|
||||
height: 17rpx;
|
||||
background: #FFCB47;
|
||||
border-radius: 17rpx 17rpx 17rpx 17rpx;
|
||||
z-index: 1;
|
||||
.nearby-list
|
||||
margin-top: 40rpx;
|
||||
background: linear-gradient( 180deg, #4778EC 0%, #002979 100%);
|
||||
.list-head
|
||||
height: 77rpx;
|
||||
background-color: #FFFFFF;
|
||||
border-radius: 17rpx 17rpx 0rpx 0rpx;
|
||||
position: relative;
|
||||
top: -17rpx;
|
||||
z-index: 9999;
|
||||
.tab-options
|
||||
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;
|
||||
|
||||
.one-cards
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 20rpx;
|
||||
.card-box
|
||||
width: calc(100% - 36rpx - 36rpx);
|
||||
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 17rpx;
|
||||
padding: 15rpx 36rpx;
|
||||
margin-top: 24rpx;
|
||||
.box-row
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: 8rpx;
|
||||
align-items: center;
|
||||
.mineText
|
||||
font-weight: 400;
|
||||
font-size: 21rpx;
|
||||
color: #606060;
|
||||
.textblue
|
||||
color: #4778EC;
|
||||
.row-left
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.row-tag
|
||||
background: #13C57C;
|
||||
border-radius: 17rpx 17rpx 17rpx 17rpx;
|
||||
font-size: 21rpx;
|
||||
color: #FFFFFF;
|
||||
line-height: 25rpx;
|
||||
text-align: center;
|
||||
padding: 4rpx 8rpx;
|
||||
margin-right: 23rpx;
|
||||
.card-box:first-child
|
||||
margin-top: -14rpx;
|
||||
</style>
|
190
pages/nearby/components/two.vue
Normal file
190
pages/nearby/components/two.vue
Normal file
@@ -0,0 +1,190 @@
|
||||
<template>
|
||||
<scroll-view :scroll-y="true" class="nearby-scroll">
|
||||
<view class="two-head">
|
||||
<view class="head-item active">市北区</view>
|
||||
<view class="head-item">市北区</view>
|
||||
<view class="head-item">市北区</view>
|
||||
<view class="head-item">市北区</view>
|
||||
<view class="head-item">市北区</view>
|
||||
<view class="head-item">市北区</view>
|
||||
<view class="head-item">市北区</view>
|
||||
<view class="head-item">市北区</view>
|
||||
<view class="head-item">市北区</view>
|
||||
<view class="head-item">市北区</view>
|
||||
</view>
|
||||
<view class="nearby-list">
|
||||
<view class="list-head" @touchmove.stop.prevent>
|
||||
<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>
|
||||
<uni-icons type="plusempty" style="margin-right: 10rpx" size="20"></uni-icons>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="tab-op-right">
|
||||
<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>
|
||||
</view>
|
||||
<view class="one-cards">
|
||||
<view class="card-box" v-for="(item, index) in 20" :key="index">
|
||||
<view class="box-row mar_top0">
|
||||
<view class="row-left">销售工程师-高级销售经理</view>
|
||||
<view class="row-right">1万-2万</view>
|
||||
</view>
|
||||
<view class="box-row">
|
||||
<view class="row-left">
|
||||
<view class="row-tag">本科</view>
|
||||
<view class="row-tag">1-5年</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-row mar_top0">
|
||||
<view class="row-item mineText">2024.1.8</view>
|
||||
<view class="row-item mineText">8人</view>
|
||||
<view class="row-item mineText textblue">匹配度93%</view>
|
||||
<view class="row-item">
|
||||
<uni-icons type="star" size="28"></uni-icons>
|
||||
<!-- <uni-icons type="star-filled" color="#FFCB47" size="30"></uni-icons> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-row">
|
||||
<view class="row-left mineText">湖南沃森电气科技有限公司</view>
|
||||
<view class="row-right mineText">青岛 青岛经济技术开发区 550m</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { reactive, inject, watch, ref, onMounted } from 'vue';
|
||||
const state = reactive({});
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
.nearby-scroll
|
||||
overflow: hidden;
|
||||
.two-head
|
||||
margin: 24rpx;
|
||||
padding: 26rpx;
|
||||
background: #FFFFFF;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
grid-column-gap: 40rpx;
|
||||
grid-row-gap: 30rpx;
|
||||
border-radius: 17rpx 17rpx 17rpx 17rpx;
|
||||
.head-item
|
||||
min-width: 129rpx;
|
||||
height: 44rpx;
|
||||
line-height: 44rpx;
|
||||
text-align: center;
|
||||
width: fit-content;
|
||||
background: #D9D9D9;
|
||||
border-radius: 17rpx 17rpx 17rpx 17rpx;
|
||||
font-size: 21rpx;
|
||||
color: #606060;
|
||||
.active
|
||||
background: #4778EC;
|
||||
color: #FFFFFF;
|
||||
.nearby-list
|
||||
margin-top: 40rpx;
|
||||
background: linear-gradient( 180deg, #4778EC 0%, #002979 100%);
|
||||
.list-head
|
||||
height: 77rpx;
|
||||
background-color: #FFFFFF;
|
||||
border-radius: 17rpx 17rpx 0rpx 0rpx;
|
||||
position: relative;
|
||||
top: -17rpx;
|
||||
z-index: 9999;
|
||||
.tab-options
|
||||
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;
|
||||
|
||||
.one-cards
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 20rpx;
|
||||
.card-box
|
||||
width: calc(100% - 36rpx - 36rpx);
|
||||
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 17rpx;
|
||||
padding: 15rpx 36rpx;
|
||||
margin-top: 24rpx;
|
||||
.box-row
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-top: 8rpx;
|
||||
align-items: center;
|
||||
.mineText
|
||||
font-weight: 400;
|
||||
font-size: 21rpx;
|
||||
color: #606060;
|
||||
.textblue
|
||||
color: #4778EC;
|
||||
.row-left
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.row-tag
|
||||
background: #13C57C;
|
||||
border-radius: 17rpx 17rpx 17rpx 17rpx;
|
||||
font-size: 21rpx;
|
||||
color: #FFFFFF;
|
||||
line-height: 25rpx;
|
||||
text-align: center;
|
||||
padding: 4rpx 8rpx;
|
||||
margin-right: 23rpx;
|
||||
.card-box:first-child
|
||||
margin-top: -14rpx;
|
||||
</style>
|
84
pages/nearby/nearby.vue
Normal file
84
pages/nearby/nearby.vue
Normal file
@@ -0,0 +1,84 @@
|
||||
<template>
|
||||
<view class="app-container">
|
||||
<view class="nearby-head">
|
||||
<view class="head-item" :class="{ actived: state.current === 0 }" @click="changeType(0)">附近工作</view>
|
||||
<view class="head-item" :class="{ actived: state.current === 1 }" @click="changeType(1)">区县工作</view>
|
||||
<view class="head-item" :class="{ actived: state.current === 2 }" @click="changeType(2)">地铁周边</view>
|
||||
<view class="head-item" :class="{ actived: state.current === 3 }" @click="changeType(3)">商圈附近</view>
|
||||
</view>
|
||||
<view class="nearby-content">
|
||||
<swiper class="swiper" :current="state.current" @change="changeSwiperType">
|
||||
<swiper-item class="swiper-item" disable-touch>
|
||||
<oneComponent></oneComponent>
|
||||
</swiper-item>
|
||||
<swiper-item class="swiper-item">
|
||||
<twoComponent></twoComponent>
|
||||
</swiper-item>
|
||||
<swiper-item class="swiper-item">
|
||||
<threeComponent></threeComponent>
|
||||
</swiper-item>
|
||||
<swiper-item class="swiper-item">
|
||||
<fourComponent></fourComponent>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import oneComponent from './components/one.vue';
|
||||
import twoComponent from './components/two.vue';
|
||||
import threeComponent from './components/three.vue';
|
||||
import fourComponent from './components/four.vue';
|
||||
import { reactive, inject, watch, ref, onMounted } from 'vue';
|
||||
import { onLoad, onShow } from '@dcloudio/uni-app';
|
||||
const state = reactive({
|
||||
current: 2,
|
||||
all: [{}],
|
||||
});
|
||||
|
||||
onLoad(() => {});
|
||||
|
||||
// 查看消息类型
|
||||
function changeSwiperType(e) {
|
||||
const currented = e.detail.current;
|
||||
state.current = currented;
|
||||
}
|
||||
function changeType(index) {
|
||||
state.current = index;
|
||||
}
|
||||
</script>
|
||||
|
||||
<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;
|
||||
.nearby-head
|
||||
height: 63rpx;
|
||||
font-size: 28rpx;
|
||||
color: #FFFFFF;
|
||||
line-height: 63rpx;
|
||||
text-align: center;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.head-item
|
||||
width: calc(100% / 4);
|
||||
z-index: 9
|
||||
.actived
|
||||
width: 169rpx;
|
||||
height: 63rpx;
|
||||
background: #13C57C;
|
||||
box-shadow: 0rpx 7rpx 7rpx 0rpx rgba(0,0,0,0.25);
|
||||
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
||||
.nearby-content
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
.swiper
|
||||
height: 100%;
|
||||
.swiper-item
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
</style>
|
Reference in New Issue
Block a user