|
@@ -10,9 +10,8 @@
|
|
|
<div class="menu-item" @click="scrollToSection('educationExperience')">教育经历</div>
|
|
|
</div>
|
|
|
<div class="layerBox">
|
|
|
-
|
|
|
<div id="personalInfo">
|
|
|
- <tableTitle name="个人信息" />
|
|
|
+ <tableTitle1 name="个人信息" />
|
|
|
<!-- 个人信息表单内容 -->
|
|
|
</div>
|
|
|
<el-form :model="form" ref="form" :rules="formRules" label-position="left" label-width="120px">
|
|
@@ -32,10 +31,9 @@
|
|
|
<div>选择图片</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
-
|
|
|
</el-upload>
|
|
|
- <div class="imgBox" style="color:red;margin-left: 00px ;margin-bottom: 0px; padding-top: 0px;">
|
|
|
- 请添加图片,上传格式要求jpg、gif、png,不大于500 k</div>
|
|
|
+ <div class="photo_tips">
|
|
|
+ 请添加图片,上传格式要求jpg、gif、png,不大于500k</div>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="姓名:" prop="name" class="custom-align-right">
|
|
@@ -155,14 +153,14 @@
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="职位类别:" prop="job" class="custom-align-right">
|
|
|
- <el-select v-model="form.job" placeholder="请选择职位类别">
|
|
|
+ <el-select v-model="form.job" placeholder="请选择职位类别" @change="changeJobname">
|
|
|
<el-option v-for="item in jobPosition" :key="item.zwid" :label="item.zwname"
|
|
|
:value="item.zwid"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="具体职位:" prop="job_name_get" class="custom-align-right">
|
|
|
<el-select v-model="form.job_name_get" placeholder="请选择具体职位">
|
|
|
- <el-option v-for="item in jobPosition1" :key="item.zwid" :label="item.zwname"
|
|
|
+ <el-option v-for="item in job_name_arr" :key="item.zwid" :label="item.zwname"
|
|
|
:value="item.zwid"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -171,7 +169,7 @@
|
|
|
|
|
|
<el-form-item label="公司性质:" v-if="jobNature" prop="company_nature" class="custom-align-right">
|
|
|
<el-select v-model="form.company_nature" placeholder="请选择公司性质" @change='changeCompanyNature()'>
|
|
|
- <el-option v-for="item in jobNature" :key="item.evalue" :label="item.nature_name" :value="item.evalue">
|
|
|
+ <el-option v-for="item in jobNature" :key="item.id" :label="item.nature_name" :value="item.id">
|
|
|
</el-option>
|
|
|
|
|
|
</el-select>
|
|
@@ -189,27 +187,22 @@
|
|
|
<!-- <el-divider content-position="right"> </el-divider> -->
|
|
|
<div id="professionalSkills">
|
|
|
<tableTitle name="专业技能" />
|
|
|
+ <el-button type="primary" class="addBtn" @click="addSkill">
|
|
|
+ +添加
|
|
|
+ </el-button>
|
|
|
<!-- 专业技能表单内容 -->
|
|
|
</div>
|
|
|
- <el-form-item style="margin: 0px;">
|
|
|
- <el-button type="primary" @click="addSkill" style="display:inline-block;float: right;margin-bottom: 0px;">
|
|
|
- +
|
|
|
- 添加</el-button>
|
|
|
- </el-form-item>
|
|
|
<el-form-item v-for="(item, index) in form.skillList" :key="index" :label="'技能' + (index + 1) + ':'"
|
|
|
prop="skillList" class="custom-align-right">
|
|
|
<el-input v-model="form.skillList[index].skill" autocomplete="off" placeholder="请输入专业技能"></el-input>
|
|
|
</el-form-item>
|
|
|
+
|
|
|
<div id="workExperience">
|
|
|
<tableTitle name="工作经历" />
|
|
|
+ <el-button type="primary" class="addBtn" @click="addExperience">
|
|
|
+ +添加
|
|
|
+ </el-button>
|
|
|
</div>
|
|
|
- <el-form-item style="margin: 0px;">
|
|
|
- <el-button type="primary" @click="addExperience"
|
|
|
- style="display:inline-block ;float: right;margin-bottom: 0px;">
|
|
|
- +
|
|
|
- 添加</el-button>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
|
|
|
<div v-for="(item, index) in form.job_experience" :key="index">
|
|
|
|
|
@@ -226,12 +219,17 @@
|
|
|
:value="item.hyid"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="职位名称:" prop="job_name" class="custom-align-right">
|
|
|
- <el-select v-model="form.job_experience[index].job_name" placeholder="请选择职位名称"
|
|
|
- @change='changeCompanyNature()'>
|
|
|
+ <el-form-item label="职位类别:" prop="job_typename" class="custom-align-right">
|
|
|
+ <el-select v-model="form.job_experience[index].job_typename" placeholder="请选择职位类别"
|
|
|
+ @change="changeCompanyJobname">
|
|
|
<el-option v-for="item in jobPosition" :key="item.zwid" :label="item.zwname"
|
|
|
:value="item.zwid"></el-option>
|
|
|
-
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="具体职位:" prop="job_name" class="custom-align-right">
|
|
|
+ <el-select v-model="form.job_experience[index].job_name" placeholder="请选择具体职位">
|
|
|
+ <el-option v-for="item in company_jobname_arr" :key="item.zwid" :label="item.zwname"
|
|
|
+ :value="item.zwid"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="所属部门:" prop="department" class="custom-align-right">
|
|
@@ -258,16 +256,13 @@
|
|
|
|
|
|
<div id="educationExperience">
|
|
|
<tableTitle name="教育经历" />
|
|
|
+ <el-button type="primary" class="addBtn" @click="addEducation">
|
|
|
+ +添加
|
|
|
+ </el-button>
|
|
|
<!-- 教育经历表单内容 -->
|
|
|
</div>
|
|
|
- <el-form-item style="margin: 0px;">
|
|
|
- <el-button type="primary" @click="addEducation"
|
|
|
- style="display:inline-block ;float: right;margin-bottom: 0px;">
|
|
|
- +
|
|
|
- 添加</el-button>
|
|
|
- </el-form-item>
|
|
|
<div v-for="(item, index) in form.education_experience" :key="index">
|
|
|
- <el-form-item label="学校名称:" prop="school_name" class="custom-align-right">
|
|
|
+ <el-form-item label="学校名称:" prop="school_name" class="custom-align-right">
|
|
|
<el-input v-model="form.education_experience[index].school_name" autocomplete="off"
|
|
|
placeholder="请输入学校名称"></el-input>
|
|
|
</el-form-item>
|
|
@@ -289,7 +284,7 @@
|
|
|
range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="在校经历:" prop="school_experience" class="custom-align-right">
|
|
|
+ <el-form-item label="在校经历:" prop="school_experience" class="custom-align-right">
|
|
|
<el-input v-model="form.education_experience[index].school_experience" autocomplete="off" type="textarea"
|
|
|
aria-rowspan="6" placeholder="请输入在校经历"></el-input>
|
|
|
</el-form-item>
|
|
@@ -312,6 +307,7 @@
|
|
|
import { getWebSiteId, getUseType } from '@/utils/auth'
|
|
|
//表格标题
|
|
|
import tableTitle from './components/tableTitle';
|
|
|
+import tableTitle1 from './components/tableTitle1';
|
|
|
//引入公用样式
|
|
|
import '@/styles/global.less';
|
|
|
//格式化时间
|
|
@@ -319,7 +315,8 @@ import { formatLocalDate } from '@/utils/public';
|
|
|
|
|
|
export default {
|
|
|
components: {
|
|
|
- tableTitle
|
|
|
+ tableTitle,
|
|
|
+ tableTitle1
|
|
|
},
|
|
|
data() {
|
|
|
|
|
@@ -435,8 +432,8 @@ export default {
|
|
|
natures: [],
|
|
|
maritals: [],
|
|
|
incomes: [],
|
|
|
-
|
|
|
-
|
|
|
+ job_name_arr: [],//职位名称
|
|
|
+ company_jobname_arr: [],//公司职位名称
|
|
|
timeList: [],
|
|
|
// imgurl: "http://img.bjzxtw.org.cn/dev/image/jpeg/20250220/1740044079754901.png",
|
|
|
imgUrl: "",
|
|
@@ -457,20 +454,22 @@ export default {
|
|
|
|
|
|
form: {
|
|
|
experience: '',//工作经验
|
|
|
- industry: 1,//行业
|
|
|
- job: 1,//职位
|
|
|
+ industry: '',//行业
|
|
|
+ job: '',//职位
|
|
|
self_evaluation: '',//自我评价
|
|
|
city_arr_id: [],
|
|
|
skillList: [{ 'skill': '' }],
|
|
|
job_experience: [{
|
|
|
company_name: '',
|
|
|
- job_industry: 1,
|
|
|
- job_name: 1,
|
|
|
+ job_industry: '',
|
|
|
+ job_name: '',
|
|
|
+ job_typename: '',
|
|
|
department: '',
|
|
|
// job_timeList: ['2025-02-21 00:00:00', '2025-02-29 00:00:00'],
|
|
|
job_timeList: [],
|
|
|
performance: '',
|
|
|
job_content: ''
|
|
|
+
|
|
|
}],//工作经验
|
|
|
education_experience: [{
|
|
|
school_name: '',
|
|
@@ -494,7 +493,8 @@ export default {
|
|
|
job: '',//职位名称
|
|
|
company_name: [],//公司名称
|
|
|
job_industry: [],//行业
|
|
|
- job_name: [],//职位名称
|
|
|
+ job_name: [],//具体职位-工作经验
|
|
|
+ job_typename: [],//职位类别-工作经验
|
|
|
department: [],//所属部门
|
|
|
job_timeList: [],//工作时间
|
|
|
job_content: [],//工作内容
|
|
@@ -516,10 +516,11 @@ export default {
|
|
|
slelf_evaluation: [{ required: true, trigger: 'blur', validator: validateEmpty }],
|
|
|
company_name: [{ required: true, trigger: 'blur', validator: validateCompanyNameEmpty }],
|
|
|
job_industry: [{ required: true, trigger: 'blur', validator: validateJobIndustryEmpty }],
|
|
|
- job_name: [{ required: true, trigger: 'blur', validator: validateJobNameEmpty }],
|
|
|
- job_timeList: [{ required: true, trigger: 'blur', validator: validateJobTimeListEmpty }],
|
|
|
- job_content: [{ required: true, trigger: 'blur', validator: validateJobContentEmpty }],
|
|
|
+ // job_name: [{ required: true, trigger: 'blur', validator: validateEmpty }],
|
|
|
+ job_timeList: [{ required: true, trigger: 'blur', validator: validateArray }],
|
|
|
+ job_content: [{ required: true, trigger: 'blur', validator: validateArray }],
|
|
|
cat_arr_id: [{ required: true, trigger: 'blur', validator: validateArray }],
|
|
|
+ job_typename: [{ required: true, trigger: 'blur', validator: validateArray }],
|
|
|
},
|
|
|
//1.3富文本编辑器配置
|
|
|
|
|
@@ -535,7 +536,7 @@ export default {
|
|
|
if (data && data.children && data.children.length !== 0) {
|
|
|
return resolve(node)
|
|
|
}
|
|
|
- console.log(level)
|
|
|
+ // console.log(level)
|
|
|
let parentId = level == 0 ? 0 : data.value
|
|
|
let parames = {
|
|
|
'pid': parentId
|
|
@@ -570,23 +571,18 @@ export default {
|
|
|
if (data && data.children && data.children.length !== 0) {
|
|
|
return resolve(node)
|
|
|
}
|
|
|
-
|
|
|
let parentId;
|
|
|
-
|
|
|
if (data != undefined) {
|
|
|
parentId = data.value;
|
|
|
} else {
|
|
|
parentId = self.creatNews_pid_num.toString();
|
|
|
}
|
|
|
-
|
|
|
let parames = {
|
|
|
'website_id': self.form.web_site_id ? self.form.web_site_id : self.websiteid,
|
|
|
'pid': parentId
|
|
|
|
|
|
}
|
|
|
-
|
|
|
self.$store.dispatch('pool/get_creatNews_nav_son_actions', parames).then(res => {
|
|
|
-
|
|
|
if (res.data) {
|
|
|
const nodes = res.data.map(item => ({
|
|
|
value: item.category_id,
|
|
@@ -599,7 +595,6 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
-
|
|
|
cityData: {
|
|
|
checkStrictly: true,
|
|
|
lazy: true,
|
|
@@ -636,6 +631,23 @@ export default {
|
|
|
changeCompanyNature(val) {
|
|
|
this.$forceUpdate();
|
|
|
},
|
|
|
+ changeJobname(value) {
|
|
|
+ // 修改此处,确保传递的是正确的参数对象
|
|
|
+ this.form.job_name_get = ''; // 清空具体职位选择
|
|
|
+ this.$store.dispatch('news/getPositionList', { zwpid: value }).then(res => {
|
|
|
+ console.log(res.data, '-----res.job_name_arr----------------------')
|
|
|
+ this.job_name_arr = res.data;
|
|
|
+ })
|
|
|
+ },
|
|
|
+ changeCompanyJobname(value) {
|
|
|
+ // 修改此处,确保传递的是正确的参数对象
|
|
|
+ this.form.job_name = ''; // 清空具体职位选择
|
|
|
+ this.$store.dispatch('news/getPositionList', { zwpid: value }).then(res => {
|
|
|
+ // console.log(res.data, '-----changeCompanyJobname.getPositionList----------------------')
|
|
|
+ this.company_jobname_arr = res.data;
|
|
|
+ console.log(this.company_jobname_arr, '-----changeCompanyJobname.getPositionList----------------------')
|
|
|
+ })
|
|
|
+ },
|
|
|
getJobHuntingData() {
|
|
|
this.$store.dispatch('news/getJobHuntingData', {}).then(res => {
|
|
|
if (res.code == 200) {
|
|
@@ -647,9 +659,9 @@ export default {
|
|
|
this.maritals = this.jobEnum.filter(item => item.egroup === 'marital');
|
|
|
this.incomes = this.jobEnum.filter(item => item.egroup === 'income');
|
|
|
this.years = this.jobEnum.filter(item => item.egroup === 'years');
|
|
|
-
|
|
|
this.jobIndustry = res.data.jobIndustry;
|
|
|
this.jobNature = res.data.jobNature;
|
|
|
+ console.log(this.educations, '-----this.jobNature----------------------')
|
|
|
this.jobPosition = res.data.jobPosition.filter(item => item.zwpid == 0);
|
|
|
//具体职位
|
|
|
this.jobPosition1 = res.data.jobPosition.filter(item => item.zwpid !== 0);
|
|
@@ -673,7 +685,8 @@ export default {
|
|
|
},
|
|
|
addExperience() {
|
|
|
const hasEmptyExperience = this.form.job_experience.some(item => {
|
|
|
- if (item.company_name == '' || item.job_industry == '' || item.job_name == '' || item.job_timeList == '' || item.job_content == '') {
|
|
|
+ // console.log(item, '-------------item--------')
|
|
|
+ if (item.company_name == '' || item.job_industry == '' || item.job_name == '' || item.job_timeList == '' || item.job_content == '' || item.job_typename == '') {
|
|
|
this.$message.error('请先填写工作经历');
|
|
|
return true; // 返回 true 表示找到了空的 skill
|
|
|
}
|
|
@@ -686,6 +699,7 @@ export default {
|
|
|
company_name: '',
|
|
|
job_industry: '',
|
|
|
job_name: '',
|
|
|
+ job_typename: '',
|
|
|
department: '',
|
|
|
job_timeList: '',
|
|
|
performance: '',
|
|
@@ -835,6 +849,7 @@ export default {
|
|
|
company_name: [],//公司名称
|
|
|
job_industry: [],//行业
|
|
|
job_name: [],//职位名称
|
|
|
+ job_typename: [],//职位类别-工作经验
|
|
|
department: [],//所属部门
|
|
|
job_timeList: [],//工作时间
|
|
|
job_content: [],//工作内容
|
|
@@ -894,6 +909,7 @@ export default {
|
|
|
this.form.origin = res.data.origin;
|
|
|
this.form.city_arr_id = Array.isArray(res.data.city_arr_id) ? res.data.city_arr_id : JSON.parse(res.data.city_arr_id);
|
|
|
this.form.job_experience = JSON.parse(res.data.job_experience);
|
|
|
+ // console.log(this.form.job_experience, '-----------------this.form.job_experience----------------------')
|
|
|
this.form.education_experience = JSON.parse(res.data.education_experience);
|
|
|
this.form.skillList = JSON.parse(res.data.skillList);
|
|
|
this.form.job_name_get = res.data.job_name_get == null ? '' : parseInt(res.data.job_name_get);
|
|
@@ -1080,15 +1096,10 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
|
- '$route'(to, from) {
|
|
|
- console.log(from, '---------------------------------------');
|
|
|
- // 监听路由参数中的 id 变化,若变化则更新页面状态并获取数据
|
|
|
- if (to.query.id) {
|
|
|
- this.getMainData();
|
|
|
- }
|
|
|
- },
|
|
|
'form.job_experience': {
|
|
|
+ // console.log(form.job_experience, ',-=-------job_typename---------');
|
|
|
handler(newVal, oldVal) {
|
|
|
+ // console.log(oldVal, ',-=-------job_typename---------');
|
|
|
newVal.forEach((item, index) => {
|
|
|
// 确保每个对象都有默认值
|
|
|
// if (!item.company_name) item.job_industry = '';
|
|
@@ -1098,18 +1109,19 @@ export default {
|
|
|
// if (!item.job_content) item.job_content = '';
|
|
|
// if (!item.performance) item.performance = '';
|
|
|
// 检查 company_name 是否发生变化
|
|
|
- console.log(newVal[index].company_name, oldVal[index].company_name);
|
|
|
- console.log(newVal[index].job_industry, '---job_industry---');
|
|
|
+ // console.log(newVal[index].job_typename, oldVal[index].job_typename, '---job_typename---');
|
|
|
+ // console.log(newVal[index].job_industry, '---job_industry---');
|
|
|
this.form.company_name[index] = item.company_name;
|
|
|
this.form.job_industry[index] = item.job_industry;
|
|
|
this.form.job_name[index] = item.job_name;
|
|
|
+ this.form.job_typename[index] = item.job_typename;
|
|
|
this.form.department[index] = item.department;
|
|
|
this.form.job_timeList[index] = item.job_timeList;
|
|
|
this.form.job_content[index] = item.job_content;
|
|
|
|
|
|
- console.log(this.form.company_name[index], '-=-------company_name---------');
|
|
|
- console.log(this.form.job_industry, '-=-------job_industry---------');
|
|
|
- console.log(this.form.company_name, '-=-------job_name---------');
|
|
|
+
|
|
|
+ // console.log(this.form.job_industry, '-=-------job_industry---------');
|
|
|
+ // console.log(this.form.company_name, '-=-------job_name---------');
|
|
|
// if (oldVal[index] && oldVal[index].company_name !== item.company_name) {
|
|
|
// // 如果发生变化,就修改this.form.company_name相应的值
|
|
|
// }
|
|
@@ -1191,4 +1203,39 @@ export default {
|
|
|
|
|
|
}
|
|
|
|
|
|
+//该项不能为空几个字的位置
|
|
|
+::v-deep .el-form-item__error {
|
|
|
+ color: #ff4949;
|
|
|
+ font-size: 12px;
|
|
|
+ line-height: 1;
|
|
|
+ padding-top: 4px;
|
|
|
+ position: relative;
|
|
|
+}
|
|
|
+
|
|
|
+//输入框距离底部的距离
|
|
|
+::v-deep .el-form-item {
|
|
|
+ margin-bottom: 5px;
|
|
|
+}
|
|
|
+
|
|
|
+//图片提示文字样式
|
|
|
+.photo_tips {
|
|
|
+ font-size: 14px;
|
|
|
+ color: #999;
|
|
|
+}
|
|
|
+
|
|
|
+#educationExperience,
|
|
|
+#workExperience,
|
|
|
+#professionalSkills {
|
|
|
+ position: relative;
|
|
|
+}
|
|
|
+
|
|
|
+.addBtn {
|
|
|
+ position: absolute;
|
|
|
+ right: 0px;
|
|
|
+ top: -8px;
|
|
|
+ width: 78px;
|
|
|
+ // display: inline-block;
|
|
|
+ // margin-bottom: 0px;
|
|
|
+}
|
|
|
+
|
|
|
//执行v-deep穿透scope选择器 end------------------------------------------------------------>*/</style>
|