From bbf1716b183ba87839c803f1d1d02b1f94472e93 Mon Sep 17 00:00:00 2001
From: dengxin <2390584170@qq.com>
Date: Sat, 17 Feb 2024 14:51:57 +0800
Subject: [PATCH] =?UTF-8?q?=E7=AE=80=E5=8E=86=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
api/resume.js | 15 ++
components/vertical-menu/vertical-menu.vue | 7 +-
pageMy/my/resume/index.vue | 209 ++++++++++++++-------
3 files changed, 164 insertions(+), 67 deletions(-)
diff --git a/api/resume.js b/api/resume.js
index 0a1150c..5e19483 100644
--- a/api/resume.js
+++ b/api/resume.js
@@ -50,6 +50,21 @@ export const setLearn = (id, learnSkill) => {
});
};
+/*保存我的简历信息*/
+export const setResume = ({id,education,wage,workplace,telephone}) => {
+ return request({
+ url: "/api/jobslink-api/user/user/resume/update",
+ method: "post",
+ data: {
+ id,
+ education,
+ wage,
+ workplace,
+ telephone
+ },
+ });
+};
+
/*行业库*/
export const getTrade = () => {
return request({
diff --git a/components/vertical-menu/vertical-menu.vue b/components/vertical-menu/vertical-menu.vue
index 5977e5c..74fc3cb 100644
--- a/components/vertical-menu/vertical-menu.vue
+++ b/components/vertical-menu/vertical-menu.vue
@@ -54,7 +54,7 @@
:defaultIds="areaModal.defaultIds" :showToolbar="false" :showBottombar="true"
:labelName="areaModal.labelName">
-
+
@@ -283,8 +283,13 @@ export default {
this.areaModal.address = [...new Set(val.value)].join(' / ')
console.log(this.areaModal.address);
this.areaModal.addressShow = false
+ },
+ pickerIndustryFunc(val) {
+ console.log(val);
+ this.industryModal.industryShow = false
}
+
}
}
diff --git a/pageMy/my/resume/index.vue b/pageMy/my/resume/index.vue
index d547526..b33ca37 100644
--- a/pageMy/my/resume/index.vue
+++ b/pageMy/my/resume/index.vue
@@ -19,7 +19,7 @@
我的职业技能
-
+
@@ -36,73 +36,58 @@
-
+
您想工作的地点
-
- {{ myResume.cityId ? getCity(myResume.cityId) : '请选择' }}
+
+ {{ myResume.city == {} ? myResume.city.id ? getCity(myResume.city.id) : myResume.city.workplace : '请选择' }}
-
+
您的学历
-
- {{ myResume.education ? this.myResume.education : '请选择' }}
+
+ {{ myResume.education == {} ? myResume.education.label : '请选择' }}
-
+
您的期望薪资
-
- {{ myResume.wage ? this.myResume.wage : '请选择' }}
+
+ {{ myResume.wage ? myResume.wage : '请选择' }}
-
-
-
+
-
+
+
+
+
+
+
+
+
+
@@ -115,7 +100,8 @@ import {
myResume,
removeSkills,
setCity,
- setLearn
+ setLearn,
+ setResume
} from '@/api/resume.js';
import mSlideList from '@/components/mark-slide-list/mark-slide-list.vue';
import controller from '@/components/mark-slide-list/controller';
@@ -127,9 +113,15 @@ export default {
data() {
return {
controller: new controller(),
- myResume: {},
+ myResume: {
+ city: {},
+ education: {},
+ wage: "",
+ phone: "",
+ },
mySkills: [],
- id: '',
+ id: '1298609524179660801',
+ // id: '',
buttonList: [{
title: '删除',
background: '#ff3b32',
@@ -137,25 +129,46 @@ export default {
}],
showPicker: false,
showType: "",
- columns: [
- ['MBA/EMBA', '博士', '硕士', '本科', '大专', '高中', '中专/中技'
- , '初中及以下', '不限'
- ]
- ],
+ columns: [[]],
+
+ canSubMit: false,
+ isShowButton: false,
+ isShowBorder: false,
+ isShowAddSkill: true
}
},
onShow() {
- this.getResume()
this.getSkill()
},
+ created() {
+ this.getResume()
+ },
computed: {
...mapGetters(['userInfo', 'auth'])
},
+ watch: {
+ myResume: {
+ handler: function (newVal, oldVal) {
+ if (newVal.city && newVal.education && newVal.wage && newVal.phone) {
+ this.canSubMit = true;
+ } else {
+ this.canSubMit = false;
+ }
+ },
+ deep: true
+ }
+ },
methods: {
getResume() {
myResume().then(res => {
const data = res.data.data
- this.myResume = data
+ this.myResume = {
+ city: { workplace: data.workplace },
+ education: { label: data.education },
+ wage: data.wage,
+ phone: data.telephone
+ }
+ this.isShowButton = false;
if (data && data.id) {
this.id = data.id
}
@@ -191,11 +204,12 @@ export default {
uni.$off('setCity')
uni.$on('setCity', ({ detail }) => {
console.log(detail, '---------------');
-
- setCity(this.id, detail.parentLabel + '-' + detail.label).then(res => {
- this.myResume.cityId = detail.id
- this.getResume()
- })
+ this.isShowButton = true
+ this.myResume.city = detail
+ // setCity(this.id, detail.parentLabel + '-' + detail.label).then(res => {
+ // this.myResume.cityId = detail.id
+ // this.getResume()
+ // })
})
uni.navigateTo({
url: `/pages/setCity/setCity?maxLayer=2`
@@ -233,29 +247,79 @@ export default {
switch (type) {
case "education":
this.columns =
- [['MBA/EMBA', '博士', '硕士', '本科', '大专', '高中', '中专/中技'
- , '初中及以下', '不限'
+ [[
+ { label: 'MBA/EMBA', value: 0 }, { label: '博士', value: 1 }, { label: '硕士', value: 2 }, { label: '本科', value: 3 },
+ { label: '大专', value: 4 }, { label: '高中', value: 5 }, { label: '中专/中技', value: 6 }, { label: '初中及以下,', value: 7 },
+ { label: '不限', value: 8 }
]]
break;
case "wage":
- this.columns =[['10-15元/小时', '16-20元/小时', '21-25元/小时', '26-30元/小时', '30元/小时以上', '100-150元/天', '151-200元/天'
- , '201-250元/天', '251-300元/天',"300元/天以上","2000元(含)以下/月","2000-5000元(含)/月","5000-8000元(含)/月",
- "8000-10000元(含)/月","10000-15000元(含)/月","15000-20000元(含)/月","20000-25000元(含)/月","25000-30000元(含)/月","30000元以上/月","面议、暂无要求"
- ]]
-
-
+ this.columns = [['10-15元/小时', '16-20元/小时', '21-25元/小时', '26-30元/小时', '30元/小时以上', '100-150元/天', '151-200元/天'
+ , '201-250元/天', '251-300元/天', "300元/天以上", "2000元(含)以下/月", "2000-5000元(含)/月", "5000-8000元(含)/月",
+ "8000-10000元(含)/月", "10000-15000元(含)/月", "15000-20000元(含)/月", "20000-25000元(含)/月", "25000-30000元(含)/月", "30000元以上/月", "面议、暂无要求"
+ ]]
+
+
break;
default:
-
+
break;
}
+ this.isShowButton = true;
this.showPicker = true;
},
pickerButtonFunc(e) {
console.log(e, this.myResume, this.myResume[this.showType]);
this.myResume[this.showType] = e.value[0];
this.showPicker = false;
+ },
+ setPhoneFunc(e) {
+ this.myResume.phone = e;
+ },
+ setPhoneFunc1(e) {
+ this.isShowButton = true;
+ },
+ showToast(text) {
+ this.$refs.uToast.show({
+ type: 'error',
+ icon: false,
+ title: '失败主题',
+ message: text,
+ iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/error.png',
+ })
+ },
+
+ subMitResume() {
+ console.log(this.myResume);
+ this.isShowBorder = true;
+ if (!this.canSubMit) return;
+ const { city, education, phone, wage } = this.myResume
+ // 中国大陆手机号码正则表达式
+ const mobileRegex = /\b(1[3-9]\d{9})\b/;
+ // 中国大陆座机号码正则表达式
+ const landlineRegex = /\b(0\d{2,3}-\d{7,8}(-\d{1,4})?)\b/;
+
+
+ if (mobileRegex.test(phone) || landlineRegex.test(phone)) {
+ // 电话号码格式正确
+ console.log(phone, "电话号码格式正确");
+ setResume({
+ id: this.id, education: education.label, workplace: city.parentLabel + '-' + city.label, telephone: phone, wage
+ }).then(res => {
+ this.isShowButton = false;
+ this.getResume()
+ })
+ } else {
+ // 电话号码格式不正确
+ console.log(phone, "电话号码格式不正确");
+ this.showToast("电话号码格式不正确");
+ }
+ return;
+
+
+
+
}
}
}
@@ -284,7 +348,7 @@ export default {
}
.nochoose {
- color: #ccc;
+ /* color: #ccc; */
}
.jobcontent {
@@ -294,6 +358,7 @@ export default {
align-items: center;
justify-content: space-between;
line-height: 63rpx;
+ border: 1px solid #fff;
}
.jobcontent image {
@@ -381,4 +446,16 @@ page {
align-items: center;
justify-content: flex-start;
}
+
+.saveWrapper {
+ width: 80%;
+ padding: 20rpx;
+ margin: 0 auto;
+ padding-bottom: 60rpx;
+}
+
+
+.input-error {
+ color: red;
+}