flat:AI+
This commit is contained in:
@@ -9,7 +9,8 @@
|
||||
<view class="logo-title">就业</view>
|
||||
</view>
|
||||
<view class="btns">
|
||||
<button open-type="getUserInfo" @getuserinfo="getuserinfo" class="wxlogin">微信登录</button>
|
||||
<button class="wxlogin" @click="loginTest">登录</button>
|
||||
<!-- <button open-type="getUserInfo" @getuserinfo="getuserinfo" class="wxlogin">登录</button> -->
|
||||
<view class="wxaddress">青岛市公共就业和人才服务中心</view>
|
||||
</view>
|
||||
</template>
|
||||
@@ -21,15 +22,17 @@
|
||||
<view class="color_D9D9D9">个人信息仅用于推送优质内容</view>
|
||||
</view>
|
||||
<view class="fl_box fl_justmiddle fl_1 fl_alstart">
|
||||
<view class="tabtwo-sex">
|
||||
<view class="tabtwo-sex" @click="changeSex(1)">
|
||||
<image class="sex-img" src="../../static/icon/woman.png"></image>
|
||||
<view class="mar_top5">女</view>
|
||||
<view class="dot"></view>
|
||||
<view v-if="fromValue.sex === 1" class="dot doted"></view>
|
||||
<view v-else class="dot"></view>
|
||||
</view>
|
||||
<view class="tabtwo-sex">
|
||||
<view class="tabtwo-sex" @click="changeSex(0)">
|
||||
<image class="sex-img" src="../../static/icon/man.png"></image>
|
||||
<view class="mar_top5">男</view>
|
||||
<view class="dot doted"></view>
|
||||
<view v-if="fromValue.sex === 0" class="dot doted"></view>
|
||||
<view v-else class="dot"></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="nextstep" @tap="nextStep">下一步</view>
|
||||
@@ -43,10 +46,16 @@
|
||||
<view class="color_D9D9D9">个人信息仅用于推送优质内容</view>
|
||||
</view>
|
||||
<view class="fl_box fl_deri fl_almiddle">
|
||||
<view class="agebtn agebtned">30岁以下</view>
|
||||
<view class="agebtn">31-40岁</view>
|
||||
<view class="agebtn">41-50岁</view>
|
||||
<view class="agebtn">51岁以上</view>
|
||||
<!-- <view class="agebtn agebtned">30岁以下</view> -->
|
||||
<view
|
||||
class="agebtn"
|
||||
:class="{ agebtned: item.value === fromValue.age }"
|
||||
v-for="item in state.ageList"
|
||||
:key="item.value"
|
||||
@click="changeAge(item.value)"
|
||||
>
|
||||
{{ item.label }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="fl_box fl_justmiddle"></view>
|
||||
<view class="nextstep" @tap="nextStep">下一步</view>
|
||||
@@ -60,17 +69,15 @@
|
||||
<view class="color_D9D9D9">个人信息仅用于推送优质内容</view>
|
||||
</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">MBA/EMBA</view>
|
||||
<view class="eductionbtn">留学-学士</view>
|
||||
<view class="eductionbtn">留学-硕士</view>
|
||||
<view class="eductionbtn">留学-博士</view>
|
||||
<view
|
||||
class="eductionbtn"
|
||||
:class="{ eductionbtned: item.value === fromValue.education }"
|
||||
v-for="item in oneDictData('education')"
|
||||
@click="changeEducation(item.value)"
|
||||
:key="item.value"
|
||||
>
|
||||
{{ item.label }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="nextstep" @tap="nextStep">下一步</view>
|
||||
</view>
|
||||
@@ -83,22 +90,28 @@
|
||||
<view class="color_D9D9D9">个人信息仅用于推送优质内容</view>
|
||||
</view>
|
||||
<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 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>
|
||||
</scroll-view>
|
||||
<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 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>
|
||||
<view class="salary-content-item">15k</view>
|
||||
</scroll-view>
|
||||
<picker-view
|
||||
indicator-style="height: 140rpx;"
|
||||
:value="state.salayData"
|
||||
@change="bindChange"
|
||||
class="picker-view"
|
||||
>
|
||||
<picker-view-column>
|
||||
<view class="item" v-for="(item, index) in state.lfsalay" :key="index">
|
||||
<view class="item-child" :class="{ 'item-childed': state.salayData[0] === index }">
|
||||
{{ item }}k
|
||||
</view>
|
||||
</view>
|
||||
</picker-view-column>
|
||||
<view class="item-center">至</view>
|
||||
<picker-view-column>
|
||||
<view class="item" v-for="(item, index) in state.risalay" :key="index">
|
||||
<view class="item-child" :class="{ 'item-childed': state.salayData[2] === index }">
|
||||
{{ item }}k
|
||||
</view>
|
||||
</view>
|
||||
</picker-view-column>
|
||||
</picker-view>
|
||||
</view>
|
||||
<view class="fl_box fl_justmiddle"></view>
|
||||
<view class="nextstep" @tap="nextStep">下一步</view>
|
||||
@@ -112,17 +125,17 @@
|
||||
<view class="color_D9D9D9">个人信息仅用于推送优质内容</view>
|
||||
</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 class="eductionbtn eductionbtned">市南区</view> -->
|
||||
<view
|
||||
class="eductionbtn"
|
||||
:class="{ eductionbtned: item.value === fromValue.area }"
|
||||
v-for="item in oneDictData('area')"
|
||||
:key="item.value"
|
||||
@click="changeArea(item.value)"
|
||||
>
|
||||
{{ item.label }}
|
||||
</view>
|
||||
<!-- <view class="eductionbtn">不限区域</view> -->
|
||||
</view>
|
||||
<view class="nextstep" @tap="nextStep">下一步</view>
|
||||
</view>
|
||||
@@ -134,37 +147,13 @@
|
||||
<view class="color_FFFFFF fs_30">您的期望岗位6/6</view>
|
||||
<view class="color_D9D9D9">个人信息仅用于推送优质内容</view>
|
||||
</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>
|
||||
<expected-station @onChange="changeJobTitleId" :station="state.station"></expected-station>
|
||||
</view>
|
||||
<navigator url="/pages/index/index" open-type="reLaunch" hover-class="other-navigator-hover">
|
||||
<button class="nextstep confirmStep">完成</button>
|
||||
</navigator>
|
||||
<button class="nextstep confirmStep" @click="complete">完成</button>
|
||||
<!-- <navigator url="/pages/index/index" open-type="reLaunch" hover-class="other-navigator-hover">
|
||||
<button class="nextstep confirmStep" @click="complete">完成</button>
|
||||
</navigator> -->
|
||||
</view>
|
||||
</template>
|
||||
</tabcontrolVue>
|
||||
@@ -174,61 +163,125 @@
|
||||
<script setup>
|
||||
import tabcontrolVue from './components/tabcontrol.vue';
|
||||
import { reactive, inject, watch, ref } from 'vue';
|
||||
import { onLoad, onShow } from '@dcloudio/uni-app';
|
||||
import useUserStore from '@/stores/useUserStore';
|
||||
import useDictStore from '@/stores/useDictStore';
|
||||
const { statusBarHeight } = inject('deviceInfo');
|
||||
const { $api, navTo } = inject('globalFunction');
|
||||
// 初始化
|
||||
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 },
|
||||
];
|
||||
const { loginSetToken, getUserResume } = useUserStore();
|
||||
const { getDictSelectOption, oneDictData } = useDictStore();
|
||||
// status
|
||||
const tabCurrent = ref(0);
|
||||
const salay = [2, 5, 10, 15, 20, 25, 30, 50, 80, 100];
|
||||
const state = reactive({
|
||||
station: station,
|
||||
station: [],
|
||||
stationCateLog: 1,
|
||||
ageList: [],
|
||||
lfsalay: [2, 5, 10, 15, 20, 25, 30, 50],
|
||||
risalay: JSON.parse(JSON.stringify(salay)),
|
||||
salayData: [0, 0, 0],
|
||||
});
|
||||
const fromValue = reactive({
|
||||
sex: 1,
|
||||
age: '0',
|
||||
education: '4',
|
||||
salaryMin: 2000,
|
||||
salaryMax: 2000,
|
||||
area: 0,
|
||||
jobTitleId: '',
|
||||
});
|
||||
|
||||
setTimeout(() => {
|
||||
console.log('gg');
|
||||
}, 4000);
|
||||
const getuserinfo = (e) => {
|
||||
console.log(e);
|
||||
};
|
||||
// 行为
|
||||
function changeStationLog(item) {
|
||||
state.stationCateLog = item.value;
|
||||
onLoad((parmas) => {
|
||||
getDictSelectOption('age').then((data) => {
|
||||
state.ageList = data;
|
||||
});
|
||||
getTreeselect();
|
||||
});
|
||||
|
||||
// 选择薪资
|
||||
function bindChange(val) {
|
||||
state.salayData = val.detail.value;
|
||||
const copyri = JSON.parse(JSON.stringify(salay));
|
||||
const [lf, _, ri] = val.detail.value;
|
||||
state.risalay = copyri.slice(lf, copyri.length);
|
||||
fromValue.salaryMin = copyri[lf] * 1000;
|
||||
fromValue.salaryMax = state.risalay[ri] * 1000;
|
||||
}
|
||||
function changeSex(sex) {
|
||||
fromValue.sex = sex;
|
||||
}
|
||||
function changeAge(age) {
|
||||
fromValue.age = age;
|
||||
}
|
||||
function changeEducation(education) {
|
||||
fromValue.education = education;
|
||||
}
|
||||
function changeArea(area) {
|
||||
fromValue.area = area;
|
||||
}
|
||||
function changeJobTitleId(jobTitleId) {
|
||||
fromValue.jobTitleId = jobTitleId;
|
||||
}
|
||||
// 行为
|
||||
// function changeStationLog(item) {
|
||||
// state.stationCateLog = item.value;
|
||||
// }
|
||||
function nextStep() {
|
||||
tabCurrent.value += 1;
|
||||
}
|
||||
function handleScroll(event) {
|
||||
console.log('滚动条滚动', event.detail.scrollTop);
|
||||
console.log(Math.round(event.detail.scrollTop / 75));
|
||||
// this.activeIndex = Math.round(event.detail.scrollTop / 75);
|
||||
// function handleScroll(event) {
|
||||
// console.log('滚动条滚动', event.detail.scrollTop);
|
||||
// console.log(Math.round(event.detail.scrollTop / 75));
|
||||
// // this.activeIndex = Math.round(event.detail.scrollTop / 75);
|
||||
// }
|
||||
|
||||
// 获取职位
|
||||
function getTreeselect() {
|
||||
$api.createRequest('/app/common/jobTitle/treeselect', {}, 'GET').then((resData) => {
|
||||
state.station = resData.data;
|
||||
});
|
||||
}
|
||||
|
||||
// 登录
|
||||
function loginTest() {
|
||||
const params = {
|
||||
username: 'test',
|
||||
password: 'test',
|
||||
};
|
||||
$api.createRequest('/app/login', params, 'post').then((resData) => {
|
||||
$api.msg('模拟帐号密码测试登录成功');
|
||||
loginSetToken(resData.token).then((resume) => {
|
||||
if (resume.data.jobTitleId) {
|
||||
// 设置推荐列表,每次退出登录都需要更新
|
||||
useUserStore().initSeesionId();
|
||||
uni.reLaunch({
|
||||
url: '/pages/index/index',
|
||||
});
|
||||
} else {
|
||||
nextStep();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function complete() {
|
||||
$api.createRequest('/app/user/resume', fromValue, 'post').then((resData) => {
|
||||
$api.msg('完成');
|
||||
getUserResume();
|
||||
uni.reLaunch({
|
||||
url: '/pages/index/index',
|
||||
});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus" scoped>
|
||||
|
||||
.container
|
||||
background: linear-gradient(#4778EC, #002979);
|
||||
width: 100%;
|
||||
height: calc(100vh - var(--window-top) - var(--status-bar-height) - var(--window-bottom));
|
||||
position: relative;
|
||||
position: fixed;
|
||||
|
||||
.login-content
|
||||
position: absolute;
|
||||
@@ -360,9 +413,53 @@ function handleScroll(event) {
|
||||
.salary
|
||||
width: fit-content;
|
||||
display: grid;
|
||||
grid-template-columns: 300rpx 40rpx 300rpx;
|
||||
// grid-gap: 20rpx;
|
||||
grid-template-columns: 640rpx;
|
||||
grid-gap: 20rpx;
|
||||
margin-top: 50rpx;
|
||||
.picker-view {
|
||||
width: 100%;
|
||||
height: 600rpx;
|
||||
margin-top: 20rpx;
|
||||
.uni-picker-view-mask{
|
||||
background: rgba(0,0,0,0);
|
||||
}
|
||||
}
|
||||
.item {
|
||||
.item-child{
|
||||
line-height: 90rpx;
|
||||
font-size: 38rpx;
|
||||
color: #606060;
|
||||
text-align: center;
|
||||
background: #D9D9D9;
|
||||
border-radius: 20rpx;
|
||||
margin: 20rpx 10rpx 20rpx 10rpx;
|
||||
}
|
||||
.item-childed{
|
||||
line-height: 105rpx;
|
||||
margin: 10rpx 5rpx 10rpx 5rpx;
|
||||
background: #13C57C;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
}
|
||||
.item-center{
|
||||
width: 40rpx;
|
||||
line-height: 600rpx;
|
||||
width: 51rpx;
|
||||
height: 47rpx;
|
||||
font-family: Inter, Inter;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #FFFFFF;
|
||||
text-align: center;
|
||||
font-style: normal;
|
||||
text-transform: none;
|
||||
}
|
||||
.uni-picker-view-indicator:after{
|
||||
border: 0
|
||||
}
|
||||
.uni-picker-view-indicator:before{
|
||||
border: 0
|
||||
}
|
||||
.center-text
|
||||
color: #FFFFFF;
|
||||
text-align: center;
|
||||
@@ -386,71 +483,12 @@ function handleScroll(event) {
|
||||
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;
|
||||
overflow: hidden;
|
||||
height: 100%
|
||||
</style>
|
||||
|
Reference in New Issue
Block a user