parent ea64cdba
...@@ -19,7 +19,7 @@ import articleList from "@/components/articleList/index.vue"; ...@@ -19,7 +19,7 @@ import articleList from "@/components/articleList/index.vue";
import { getArticleListApi, getArticleTypesApi } from "@/api/article.js"; import { getArticleListApi, getArticleTypesApi } from "@/api/article.js";
import { reactive, ref } from "vue"; import { reactive, ref } from "vue";
const active = ref(""); const active = ref("");
const typeList = ref([{ id: -1, name: "招聘会" }]); const typeList = ref([{ id: -1, name: "招聘会岗位报名" }]);
getArticleTypesApi(2).then(res => { getArticleTypesApi(2).then(res => {
typeList.value.push(...res.data); typeList.value.push(...res.data);
}); });
......
...@@ -7,10 +7,13 @@ ...@@ -7,10 +7,13 @@
<template #title>   <text class="student">登录</text> </template> <template #title>   <text class="student">登录</text> </template>
</nav-bar> </nav-bar>
<view class="title"> <view class="title">
<img src="@/static/image/icon/login.png" alt=""> <img src="@/static/image/icon/login.png" alt="" />
<text class="t2">安全、便捷的就业、创业服务平台</text> <text class="t2">安全、便捷的就业、创业服务平台</text>
</view> </view>
<button class="login-btn" @click="login">授权手机号登录</button> <view class="box">
<text class="box-text">观山湖区人力资源和社会保障局</text>
<button class="login-btn" @click="login">授权手机号登录</button>
</view>
</view> </view>
{{ res }} {{ res }}
</div> </div>
...@@ -79,27 +82,36 @@ const login = () => { ...@@ -79,27 +82,36 @@ const login = () => {
flex-direction: column; flex-direction: column;
margin-top: 176rpx; margin-top: 176rpx;
text-align: center; text-align: center;
img{ img {
width: 368rpx; width: 368rpx;
margin: 0 auto; margin: 0 auto;
} }
.t2 { .t2 {
font-size: 24rpx; font-size: 24rpx;
color: #1b2026; color: #1b2026;
margin-top:28rpx ; margin-top: 28rpx;
} }
} }
.login-btn { .box {
position: absolute; position: fixed;
bottom: 336rpx; bottom: 336rpx;
left: 50%; left: 0;
width: 640rpx; text-align: center;
height: 96rpx; width: 100%;
font-size: 34rpx; .box-text{
line-height: 96rpx; font-size: 28rpx;
color: #ffffff; color: #0E2761;
background-color: #1f86ff; font-family: 苹方-;
transform: translate(-50%, 0); }
.login-btn {
width: 640rpx;
height: 96rpx;
font-size: 34rpx;
line-height: 96rpx;
color: #ffffff;
background-color: #1f86ff;
margin-top:60rpx ;
}
} }
} }
</style> </style>
...@@ -47,12 +47,12 @@ ...@@ -47,12 +47,12 @@
@select="navigationSelect" @select="navigationSelect"
/> --> /> -->
<!-- 公司介绍 --> <!-- 公司介绍 -->
<view class="pos-introduce pos-padding-top0" v-if="partTimeJobData.introduction"> <view class="pos-introduce pos-padding-top0">
<view class="title"> <view class="title">
<text class="text">公司介绍</text> <text class="text">公司介绍</text>
</view> </view>
<view class="pos-duty activeClass"> <view class="pos-duty activeClass">
<text>{{ partTimeJobData.introduction }}</text> <text>{{ partTimeJobData.introduction || '无'}}</text>
</view> </view>
</view> </view>
<!-- 公司基本信息 --> <!-- 公司基本信息 -->
...@@ -78,14 +78,14 @@ ...@@ -78,14 +78,14 @@
</view> </view>
</view> </view>
<!-- 企业简介 --> <!-- 企业简介 -->
<view class="pos-introduce pos-padding-top0"> <!-- <view class="pos-introduce pos-padding-top0">
<view class="title"> <view class="title">
<text class="text">企业简介</text> <text class="text">企业简介</text>
</view> </view>
<view class="pos-int"> <view class="pos-int">
<text class="pos-label">{{partTimeJobData.introduction || '无'}}</text> <text class="pos-label">{{partTimeJobData.introduction || '无'}}</text>
</view> </view>
</view> </view> -->
<!-- 职位推荐 --> <!-- 职位推荐 -->
<view <view
class="pos-recommend" class="pos-recommend"
......
...@@ -7,9 +7,8 @@ ...@@ -7,9 +7,8 @@
placeholder="请输入要查询的内容" placeholder="请输入要查询的内容"
placeholder-class="log-input-p" placeholder-class="log-input-p"
type="text" type="text"
@confirm="confirm"
/> />
<wd-icon class="search-icon" name="search"></wd-icon> <wd-icon class="search-icon" name="search" @tap="confirm"></wd-icon>
</view> </view>
</NavBar> </NavBar>
<!-- 轮播区 --> <!-- 轮播区 -->
...@@ -59,10 +58,12 @@ ...@@ -59,10 +58,12 @@
@confirm="handleConfirmMajor" @confirm="handleConfirmMajor"
use-default-slot use-default-slot
> >
<view class="item">{{ majorText || "全部" }} <view class="arrow"></view> </view> <view class="item">{{ majorText || "不限" }} <view class="arrow"></view> </view>
</wd-col-picker> </wd-col-picker>
</view> </view>
<view class="item" :class="{ active: maskType == 'other' }" @tap="openMask('other')">更多筛选<view class="arrow"></view></view> <view class="item" :class="{ active: maskType == 'other' }" @tap="openMask('other')"
>更多筛选<view class="arrow"></view
></view>
</view> </view>
</view> </view>
<!-- 蒙版弹框 --> <!-- 蒙版弹框 -->
...@@ -313,9 +314,11 @@ const handleConfirmCity = ({ value, selectedItems }) => { ...@@ -313,9 +314,11 @@ const handleConfirmCity = ({ value, selectedItems }) => {
cityText.value = selectedItems[textIndex].name; cityText.value = selectedItems[textIndex].name;
} }
const [provinceCode1, cityCode1, districtCode1] = value; const [provinceCode1, cityCode1, districtCode1] = value;
provinceCode = provinceCode1 || "" provinceCode = provinceCode1 || "";
cityCode = cityCode1 || ""; cityCode = cityCode1 || "";
districtCode = districtCode1 || "" districtCode = districtCode1 || "";
pageNo = 1;
positionListData.value = [];
getListData(); getListData();
}; };
...@@ -415,16 +418,27 @@ const getColumnsCity = () => { ...@@ -415,16 +418,27 @@ const getColumnsCity = () => {
const majorValue = ref([]); const majorValue = ref([]);
const majorOpstion = ref([]); const majorOpstion = ref([]);
const columnChangeMajor = ({ selectedItem, resolve, finish }) => { const columnChangeMajor = ({ selectedItem, resolve, finish }) => {
if (selectedItem.children) { if (selectedItem.name === "不限") {
resolve(selectedItem.children);
} else {
finish(); finish();
} else {
if (selectedItem.children) {
resolve(selectedItem.children);
} else {
finish();
}
} }
}; };
const handleConfirmMajor = ({ value }) => { const handleConfirmMajor = ({ value }) => {
majorText.value = value[1]; if (value[0] === "不限") {
majorName = value[0] + '-' + value[1]; majorText.value = "不限";
getListData() majorRequirement = null;
} else {
majorText.value = value[1];
majorRequirement = value[0] + "-" + value[1];
}
pageNo = 1;
positionListData.value = [];
getListData();
}; };
const majorText = ref(""); const majorText = ref("");
getMajorTreeApi().then(res => { getMajorTreeApi().then(res => {
...@@ -435,6 +449,10 @@ getMajorTreeApi().then(res => { ...@@ -435,6 +449,10 @@ getMajorTreeApi().then(res => {
children: res.data[key] children: res.data[key]
})) }))
); );
majorOpstion.value[0].unshift({
name: "不限",
children: []
});
} }
}); });
...@@ -549,7 +567,7 @@ let pageNo = 1, ...@@ -549,7 +567,7 @@ let pageNo = 1,
pageSize = 10, pageSize = 10,
provinceCode = null, provinceCode = null,
cityCode = null, cityCode = null,
majorName = null, majorRequirement = null,
districtCode = null, districtCode = null,
minSalary = null, minSalary = null,
maxSalary = null, maxSalary = null,
...@@ -639,14 +657,16 @@ const resetParams = () => { ...@@ -639,14 +657,16 @@ const resetParams = () => {
accommodation = null; accommodation = null;
identityRequirement = null; identityRequirement = null;
jobTypePid = null; jobTypePid = null;
pageNo = 1;
positionListData.value = [];
getListData();
}; };
// 职位搜索 // 职位搜索
const confirm = e => { const confirm = e => {
reset().then(res => { pageNo = 1;
keyword.value = e.detail.value; positionListData.value = [];
getListData(); getListData();
});
}; };
// 职位筛选搜索 // 职位筛选搜索
const confirmParameters = () => { const confirmParameters = () => {
...@@ -662,7 +682,7 @@ const getListData = () => { ...@@ -662,7 +682,7 @@ const getListData = () => {
keyword: keyword.value || null, keyword: keyword.value || null,
provinceCode: provinceCode || null, provinceCode: provinceCode || null,
cityCode: cityCode || null, cityCode: cityCode || null,
majorName:majorName || null, majorRequirement: majorRequirement || null,
districtCode: districtCode || null, districtCode: districtCode || null,
minSalary: minSalary || null, minSalary: minSalary || null,
maxSalary: maxSalary || null, maxSalary: maxSalary || null,
...@@ -671,7 +691,6 @@ const getListData = () => { ...@@ -671,7 +691,6 @@ const getListData = () => {
identityRequirement: identityRequirement || null, identityRequirement: identityRequirement || null,
jobTypePid: jobTypePid || null jobTypePid: jobTypePid || null
}; };
console.log("data", data);
getjobListApi(data).then(res => { getjobListApi(data).then(res => {
if (res.code == 200) { if (res.code == 200) {
positionListData.value = [...positionListData.value, ...res.data]; positionListData.value = [...positionListData.value, ...res.data];
...@@ -782,6 +801,7 @@ const getListData = () => { ...@@ -782,6 +801,7 @@ const getListData = () => {
.search-form { .search-form {
display: flex; display: flex;
justify-content: space-between;
align-items: center; align-items: center;
width: 452rpx; width: 452rpx;
height: 72rpx; height: 72rpx;
...@@ -792,7 +812,7 @@ const getListData = () => { ...@@ -792,7 +812,7 @@ const getListData = () => {
.search-icon { .search-icon {
width: 28rpx; width: 28rpx;
height: 28rpx; height: 28rpx;
margin-left: 32rpx; margin-right: 32rpx;
color: #86909c; color: #86909c;
} }
input { input {
......
...@@ -10,11 +10,14 @@ ...@@ -10,11 +10,14 @@
<img v-if="avatarPath" :src="evn.APP_IMAGE_BASE_API + avatarPath" /> <img v-if="avatarPath" :src="evn.APP_IMAGE_BASE_API + avatarPath" />
<img v-else src="@/static/image/user/default-avatar.png" alt="" /> <img v-else src="@/static/image/user/default-avatar.png" alt="" />
</view> </view>
<view class="name">{{ realName || "未实名" }}</view> <view class="name" @click="navigateTo('/pages/user/resume/essentialInformation/index')">
<view class="education">{{ schoolName }} | {{ educationLevelText || "无" }}</view> <text >{{ realName || "未实名" }}</text>
<img src="@/static/image/user/write.png" />
</view>
<view class="education">{{ schoolName || '暂未写入' }} | {{ educationLevelText || "无" }}</view>
</view> </view>
<!-- 我的简历 --> <!-- 我的简历 -->
<view class="my-resume"> <!-- <view class="my-resume">
<img src="@/static/image/user/resume.png" mode="" /> <img src="@/static/image/user/resume.png" mode="" />
<view> <view>
<view class="flex-between"> <view class="flex-between">
...@@ -23,7 +26,7 @@ ...@@ -23,7 +26,7 @@
</view> </view>
<view class="t1">完善简历可获得更多机会哦~</view> <view class="t1">完善简历可获得更多机会哦~</view>
</view> </view>
</view> </view> -->
<!-- 导航 --> <!-- 导航 -->
<view class="nav"> <view class="nav">
<view class="item flex-between" v-for="(v, i) in navList" :key="i" @click="navigateTo(v.url)"> <view class="item flex-between" v-for="(v, i) in navList" :key="i" @click="navigateTo(v.url)">
...@@ -64,14 +67,19 @@ const navigateTo = url => { ...@@ -64,14 +67,19 @@ const navigateTo = url => {
const navList = [ const navList = [
{ {
icon: new URL("@/static/image/user/bag.png", import.meta.url).href, icon: new URL("@/static/image/user/bag.png", import.meta.url).href,
url: "/pages/user/matching/index", url: "/pages/user/resume/index",
text: "系统匹配岗位" text: "我的简历"
}, },
{ {
icon: new URL("@/static/image/user/history.png", import.meta.url).href, icon: new URL("@/static/image/user/history.png", import.meta.url).href,
url: "/pages/user/myDelivery/index?type=我的投递", url: "/pages/user/myDelivery/index?type=我的投递",
text: "我的投递" text: "我的投递"
}, },
{
icon: new URL("@/static/image/user/bag.png", import.meta.url).href,
url: "/pages/user/matching/index",
text: "系统匹配岗位"
},
// { // {
// icon: new URL("@/static/image/user/feedback.png", import.meta.url).href, // icon: new URL("@/static/image/user/feedback.png", import.meta.url).href,
// url: "/pages/user/myDelivery/index?type=我的面试", // url: "/pages/user/myDelivery/index?type=我的面试",
...@@ -87,19 +95,19 @@ const navList = [ ...@@ -87,19 +95,19 @@ const navList = [
url: "/pages/login/index", url: "/pages/login/index",
text: "退出登录" text: "退出登录"
}, },
// { {
// icon: new URL("@/static/image/user/loginout.png", import.meta.url).href, icon: new URL("@/static/image/user/loginout.png", import.meta.url).href,
// url: "/pages/test", url: "/pages/test",
// text: "测试页面" text: "测试页面"
// }, },
// { {
// icon: new URL("@/static/image/user/loginout.png", import.meta.url).href, icon: new URL("@/static/image/user/loginout.png", import.meta.url).href,
// url: "/pages/login/test", url: "/pages/login/test",
// fn: () => { fn: () => {
// removeToken(); removeToken();
// }, },
// text: "退出登录(去测试登录)" text: "退出登录(去测试登录)"
// } }
]; ];
/* 个人信息 */ /* 个人信息 */
const realName = ref(""); const realName = ref("");
...@@ -148,6 +156,7 @@ const getUserInfo = () => { ...@@ -148,6 +156,7 @@ const getUserInfo = () => {
.user-info { .user-info {
flex-direction: column; flex-direction: column;
margin-top: 20rpx; margin-top: 20rpx;
margin-bottom: 100rpx;
.avatar { .avatar {
margin-bottom: 32rpx; margin-bottom: 32rpx;
img { img {
...@@ -157,9 +166,17 @@ const getUserInfo = () => { ...@@ -157,9 +166,17 @@ const getUserInfo = () => {
} }
} }
.name { .name {
font-size: 36rpx; display: flex;
font-weight: 600; align-items: center;
color: #1b2026; color: #1b2026;
text{
font-size: 36rpx;
font-weight: 600;
}
img{
width: 24rpx;
margin-left:10rpx ;
}
} }
.education { .education {
margin-top: 12rpx; margin-top: 12rpx;
......
...@@ -266,7 +266,7 @@ ...@@ -266,7 +266,7 @@
<!-- 特种作业证 --> <!-- 特种作业证 -->
<view class="my-info-list flex-column"> <view class="my-info-list flex-column">
<view class="my-info-title label"> <view class="my-info-title label">
<text>特种作业证</text> <text>特种作业证(选填)</text>
</view> </view>
<input <input
class="my-info-form" class="my-info-form"
...@@ -318,7 +318,7 @@ ...@@ -318,7 +318,7 @@
/> />
</view> </view>
<!-- 邮箱 --> <!-- 邮箱 -->
<view class="my-info-list flex-column"> <!-- <view class="my-info-list flex-column">
<view class="my-info-title label"> <view class="my-info-title label">
<text>邮箱</text> <text>邮箱</text>
</view> </view>
...@@ -329,7 +329,7 @@ ...@@ -329,7 +329,7 @@
placeholder="请填写邮箱" placeholder="请填写邮箱"
placeholder-class="placeholder-style" placeholder-class="placeholder-style"
/> />
</view> </view> -->
</view> </view>
<view class="my-form-submit" v-if="!cropperFlag"> <view class="my-form-submit" v-if="!cropperFlag">
<button class="my-form-button" @tap="submit">保 存</button> <button class="my-form-button" @tap="submit">保 存</button>
...@@ -499,14 +499,22 @@ const levelOpstion = ref([]); ...@@ -499,14 +499,22 @@ const levelOpstion = ref([]);
const majorValue = ref([]); const majorValue = ref([]);
const majorOpstion = ref([]); const majorOpstion = ref([]);
const columnChangeMajor = ({ selectedItem, resolve, finish }) => { const columnChangeMajor = ({ selectedItem, resolve, finish }) => {
if (selectedItem.children) { if (selectedItem.name === "不限") {
resolve(selectedItem.children);
} else {
finish(); finish();
} else {
if (selectedItem.children) {
resolve(selectedItem.children);
} else {
finish();
}
} }
}; };
const handleConfirmMajor = ({ value }) => { const handleConfirmMajor = ({ value }) => {
userInfo.value.major = value[0] + '-' + value[1] if (value[0] === "不限") {
userInfo.value.major = "不限";
} else {
userInfo.value.major = value[0] + '-' + value[1]
}
}; };
getMajorTreeApi().then(res => { getMajorTreeApi().then(res => {
console.log(res); console.log(res);
...@@ -517,6 +525,10 @@ getMajorTreeApi().then(res => { ...@@ -517,6 +525,10 @@ getMajorTreeApi().then(res => {
children: res.data[key] children: res.data[key]
})) }))
); );
majorOpstion.value[0].unshift({
name: "不限",
children: []
});
} }
}); });
...@@ -559,6 +571,9 @@ const getData = async () => { ...@@ -559,6 +571,9 @@ const getData = async () => {
residenceCodes.value = data.residenceCodes; residenceCodes.value = data.residenceCodes;
birthCodes.value = data.birthCodes; birthCodes.value = data.birthCodes;
userInfo.value.identityTypes = data.identityTypes.split(",").map(item => item * 1); userInfo.value.identityTypes = data.identityTypes.split(",").map(item => item * 1);
if (!data.major) {
userInfo.value.major = "不限";
}
if (data.positionalTitle) { if (data.positionalTitle) {
userInfo.value.positionalTitleOne = data.positionalTitle.split("-")[0]; userInfo.value.positionalTitleOne = data.positionalTitle.split("-")[0];
userInfo.value.positionalTitleTwo = data.positionalTitle.split("-")[1]; userInfo.value.positionalTitleTwo = data.positionalTitle.split("-")[1];
...@@ -604,7 +619,7 @@ const submit = () => { ...@@ -604,7 +619,7 @@ const submit = () => {
birthCodes: birthCodes.value, birthCodes: birthCodes.value,
residenceAddress: provinceCityDistrict.value + "-" + residenceAddress, residenceAddress: provinceCityDistrict.value + "-" + residenceAddress,
birthAddress: provinceCityDistrict2.value + "-" + birthAddress, birthAddress: provinceCityDistrict2.value + "-" + birthAddress,
major, major:major==="不限"?null:major,
positionalTitle: positionalTitleOne + "-" + positionalTitleTwo, positionalTitle: positionalTitleOne + "-" + positionalTitleTwo,
professionalCertificates: professionalCertificatesOne + "-" + professionalCertificatesTwo, professionalCertificates: professionalCertificatesOne + "-" + professionalCertificatesTwo,
citizenId, citizenId,
......
...@@ -2,11 +2,11 @@ ...@@ -2,11 +2,11 @@
<NavBar :showIcon="true" backgroundBox="#ffffff" :showTitle="true" title="我的简历"></NavBar> <NavBar :showIcon="true" backgroundBox="#ffffff" :showTitle="true" title="我的简历"></NavBar>
<div class="resume-page"> <div class="resume-page">
<!-- 个人信息 --> <!-- 个人信息 -->
<view class="user-info flex-between" @click="navigateTo('/pages/user/resume/essentialInformation/index')"> <view class="user-info flex-between">
<view> <view>
<view class="name" <view class="name"
>{{ resumeData.realName || "未实名" }} >{{ resumeData.realName || "未实名" }}
<img src="@/static/image/icon/edit.png" /> <!-- <img src="@/static/image/icon/edit.png" /> -->
</view> </view>
<view class="other" <view class="other"
>{{ resumeData.workExperienceYear }}年经验·{{ resumeData.age }}岁·{{ resumeData.educationLevel }}</view >{{ resumeData.workExperienceYear }}年经验·{{ resumeData.age }}岁·{{ resumeData.educationLevel }}</view
......
...@@ -36,7 +36,7 @@ instance.interceptors.request.use( ...@@ -36,7 +36,7 @@ instance.interceptors.request.use(
// 响应拦截器 // 响应拦截器
instance.interceptors.response.use( instance.interceptors.response.use(
response => { response => {
let { code, message } = response.data; let { code, message,data } = response.data;
if (code === 4 || code === 8) { if (code === 4 || code === 8) {
uni.showToast({ uni.showToast({
title: message, title: message,
...@@ -60,20 +60,35 @@ instance.interceptors.response.use( ...@@ -60,20 +60,35 @@ instance.interceptors.response.use(
} }
}); });
} else if (code === 13) { } else if (code === 13) {
uni.showModal({ if (data > 0) {
title: '您的帐号已失效', uni.showModal({
content: '由于您超过1月未登录现已将您的账号禁用您可完成申述后继续使用', title: '您的申诉已提交',
showCancel: true, content: '请等待审核,无需重复提交',
confirmText: '立即申述', success: function (confirm) {
success: function (confirm) { if (confirm.confirm) {
if (confirm.confirm) { xma.navigateTo({
xma.navigateTo({ url: '/pages/postionList/appeal/index'
url: '/pages/postionList/appeal/index' })
}) }
} }
})
} } else {
}); uni.showModal({
title: '您的帐号已失效',
content: '由于您超过1月未登录现已将您的账号禁用您可完成申述后继续使用',
showCancel: true,
confirmText: '立即申述',
success: function (confirm) {
if (confirm.confirm) {
xma.navigateTo({
url: '/pages/postionList/appeal/index'
})
}
}
});
}
} }
uni.hideLoading() uni.hideLoading()
// 在这里可以对响应数据进行预处理 // 在这里可以对响应数据进行预处理
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment