|
@@ -6,19 +6,19 @@
|
|
|
</template>
|
|
|
<template #main>
|
|
|
<el-row v-loading="loading">
|
|
|
- <el-form :model="info">
|
|
|
+ <el-form :model="info" :rules="rules" ref="info" class="demo-ruleForm">
|
|
|
<form-item label="企业名称">
|
|
|
{{ user.corpname }}
|
|
|
</form-item>
|
|
|
<form-item label="职位名称" prop="job_name">
|
|
|
<el-input placeholder="每个职位职能录入一个岗位" v-model="info.job_name"></el-input>
|
|
|
</form-item>
|
|
|
- <form-item label="职位分类">
|
|
|
+ <form-item label="职位分类" prop="category">
|
|
|
<el-select v-model="info.category" placeholder="点击选择职位" multiple style="width:100%;">
|
|
|
<el-option v-for="(item, index) in jobTypeList" :key="index" :label="item.name" :value="item.name"></el-option>
|
|
|
</el-select>
|
|
|
</form-item>
|
|
|
- <form-item label="工作城市">
|
|
|
+ <form-item label="工作城市" prop="city">
|
|
|
<tag-all-select
|
|
|
placeholder="点击选择城市"
|
|
|
:firstList="provinceList"
|
|
@@ -29,17 +29,17 @@
|
|
|
type="city"
|
|
|
></tag-all-select>
|
|
|
</form-item>
|
|
|
- <form-item label="工作性质">
|
|
|
+ <form-item label="工作性质" prop="is_practice">
|
|
|
<el-radio-group v-model="info.is_practice" size="small">
|
|
|
<el-radio v-for="(item, index) in type_list" :key="index" :label="item.type_value" border>{{ item.type_label }}</el-radio>
|
|
|
</el-radio-group>
|
|
|
</form-item>
|
|
|
- <form-item label="学历要求">
|
|
|
+ <form-item label="学历要求" prop="xl_req">
|
|
|
<el-select v-model="info.xl_req" placeholder="请选择学历要求">
|
|
|
<el-option v-for="(item, index) in edu_list" :key="index" :label="item.name" :value="item.name"></el-option>
|
|
|
</el-select>
|
|
|
</form-item>
|
|
|
- <form-item label="职位诱惑">
|
|
|
+ <form-item label="职位诱惑" prop="job_tag">
|
|
|
<tagCheckbox
|
|
|
placeholder="点击选择职位诱惑"
|
|
|
:firstList="entice_list"
|
|
@@ -49,14 +49,14 @@
|
|
|
type="job_tag"
|
|
|
></tagCheckbox>
|
|
|
</form-item>
|
|
|
- <form-item label="招聘人数">
|
|
|
+ <form-item label="招聘人数" prop="job_number">
|
|
|
<el-input-number v-model="info.job_number" :min="1" placeholder="添加需要招聘的人数" style="width:100%"></el-input-number>
|
|
|
</form-item>
|
|
|
- <form-item label="截止日期">
|
|
|
+ <form-item label="截止日期" prop="end_date">
|
|
|
<el-date-picker v-model="info.end_date" type="date" placeholder="选择日期" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
|
|
|
</el-date-picker>
|
|
|
</form-item>
|
|
|
- <form-item label="薪资">
|
|
|
+ <form-item label="薪资" prop="">
|
|
|
<el-col :span="6">
|
|
|
<el-input type="number" v-model="info.salary.min">
|
|
|
<template #append>
|
|
@@ -75,14 +75,14 @@
|
|
|
</el-input>
|
|
|
</el-col>
|
|
|
</form-item>
|
|
|
- <form-item label="薪酬福利">
|
|
|
+ <form-item label="薪酬福利" prop="welfare">
|
|
|
<el-col :span="8" v-for="(item, index) in welfare_list" :key="index">
|
|
|
<el-radio v-model="info.welfare" :label="item.name" :border="true" size="small">
|
|
|
{{ item.name }}
|
|
|
</el-radio>
|
|
|
</el-col>
|
|
|
</form-item>
|
|
|
- <form-item label="职位相关专业">
|
|
|
+ <form-item label="职位相关专业" prop="zy_req">
|
|
|
<!-- <tagSecSelect
|
|
|
placeholder="点击选择相关专业"
|
|
|
:selected="info.zy_req"
|
|
@@ -95,22 +95,24 @@
|
|
|
<el-input type="text" :rows="5" placeholder="请输入职位相关专业" v-model="info.zy_req"> </el-input>
|
|
|
<span style="color:red;">职位要求多专业时,用;分号相隔</span>
|
|
|
</form-item>
|
|
|
- <form-item label="职位描述">
|
|
|
+ <form-item label="职位描述" prop="job_desc">
|
|
|
<el-input type="textarea" :rows="5" placeholder="请输入职位描述" v-model="info.job_desc"> </el-input>
|
|
|
</form-item>
|
|
|
- <form-item label="简历投递说明">
|
|
|
+ <form-item label="简历投递说明" prop="apply_intro">
|
|
|
<el-input type="textarea" :rows="5" placeholder="请输入简历投递说明" v-model="info.apply_intro"> </el-input>
|
|
|
</form-item>
|
|
|
- <form-item label="岗位要求">
|
|
|
+ <form-item label="岗位要求" prop="job_req">
|
|
|
<el-input type="textarea" :rows="5" placeholder="请输入岗位要求" v-model="info.job_req"> </el-input>
|
|
|
</form-item>
|
|
|
- <form-item label="其他描述">
|
|
|
+ <form-item label="其他描述" prop="other">
|
|
|
<el-input type="textarea" :rows="5" placeholder="请输入其他描述" v-model="info.other"> </el-input>
|
|
|
</form-item>
|
|
|
|
|
|
<el-row type="flex" align="middle" justify="center">
|
|
|
<el-col :span="6">
|
|
|
- <el-button type="success" style="width:100%; margin: 1rem 0;" @click="toSubmit">提 交</el-button>
|
|
|
+ <el-button type="success" style="width:100%; margin: 1rem 0;" @click="toSubmit('info')"
|
|
|
+ >提 交</el-button
|
|
|
+ >
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
@@ -153,11 +155,24 @@ export default {
|
|
|
jobType: '',
|
|
|
drawer: false,
|
|
|
jobTypeList: [],
|
|
|
- provinceList: [{ label: '北京市', value: '110000' }, { label: '吉林省', value: '220000' }, { label: '沈阳省', value: '210000' }],
|
|
|
- secondList: [{ label: '长春市', value: '220100' }, { label: '吉林市', value: '220200' }],
|
|
|
- secondList1: [{ label: '沈阳市', value: '210100' }, { label: '大连市', value: '210200' }],
|
|
|
+ provinceList: [
|
|
|
+ { label: '北京市', value: '110000' },
|
|
|
+ { label: '吉林省', value: '220000' },
|
|
|
+ { label: '沈阳省', value: '210000' },
|
|
|
+ ],
|
|
|
+ secondList: [
|
|
|
+ { label: '长春市', value: '220100' },
|
|
|
+ { label: '吉林市', value: '220200' },
|
|
|
+ ],
|
|
|
+ secondList1: [
|
|
|
+ { label: '沈阳市', value: '210100' },
|
|
|
+ { label: '大连市', value: '210200' },
|
|
|
+ ],
|
|
|
cityList: [],
|
|
|
- type_list: [{ type_value: 0, type_label: '全职' }, { type_value: 1, type_label: '实习' }],
|
|
|
+ type_list: [
|
|
|
+ { type_value: 0, type_label: '全职' },
|
|
|
+ { type_value: 1, type_label: '实习' },
|
|
|
+ ],
|
|
|
edu_list: [],
|
|
|
entice_list: [
|
|
|
{ value: '1', label: '年底双薪' },
|
|
@@ -202,7 +217,27 @@ export default {
|
|
|
{ label: '宗教类', value: '14' },
|
|
|
{ label: '伦理类', value: '15' },
|
|
|
],
|
|
|
- subjectSub2: [{ label: '社会经济学', value: '16' }, { label: '国际经济学', value: '17' }, { label: '资本主义经济学', value: '18' }],
|
|
|
+ subjectSub2: [
|
|
|
+ { label: '社会经济学', value: '16' },
|
|
|
+ { label: '国际经济学', value: '17' },
|
|
|
+ { label: '资本主义经济学', value: '18' },
|
|
|
+ ],
|
|
|
+ rules: {
|
|
|
+ job_name: [{ required: true, message: '请输入职位名称', trigger: 'blur' }],
|
|
|
+ category: [{ required: false, message: '请输入职位分类', trigger: 'change' }],
|
|
|
+ city: [{ required: false, message: '请输入城市', trigger: 'blur' }],
|
|
|
+ is_practice: [{ required: true, message: '请输入工作性质', trigger: 'change' }],
|
|
|
+ xl_req: [{ required: true, message: '请输入学历要求', trigger: 'change' }],
|
|
|
+ job_tag: [{ required: false, message: '请输入职位标签', trigger: 'blur' }],
|
|
|
+ job_number: [{ required: true, message: '请输入招聘人数', trigger: 'blur' }],
|
|
|
+ end_date: [{ required: true, message: '请选择截止日期', trigger: 'blur' }],
|
|
|
+ welfare: [{ required: false, message: '请输入福利待遇', trigger: 'blur' }],
|
|
|
+ zy_req: [{ required: true, message: '请输入专业要求', trigger: 'blur' }],
|
|
|
+ job_desc: [{ required: true, message: '请输入职位描述', trigger: 'blur' }],
|
|
|
+ apply_intro: [{ required: true, message: '请输入简历投递说明', trigger: 'blur' }],
|
|
|
+ job_req: [{ required: false, message: '请输入岗位要求', trigger: 'blur' }],
|
|
|
+ other: [{ required: false, message: '请输入其他说明', trigger: 'blur' }],
|
|
|
+ },
|
|
|
}),
|
|
|
created() {
|
|
|
this.otherList();
|
|
@@ -249,55 +284,63 @@ export default {
|
|
|
this.$set(this, `cityList`, res);
|
|
|
}
|
|
|
},
|
|
|
- async toSubmit() {
|
|
|
- let result;
|
|
|
- let infos = JSON.parse(JSON.stringify(this.info));
|
|
|
- let mid = '';
|
|
|
- infos.salary.text = infos.salary.min + 'k-' + infos.salary.max + 'k/月';
|
|
|
- if (typeof infos.city === 'object') {
|
|
|
- infos.city.map(item => {
|
|
|
- mid === '' ? (mid = item.label) : (mid += `,${item.label}`);
|
|
|
- });
|
|
|
- infos.city = mid;
|
|
|
- mid = '';
|
|
|
- }
|
|
|
- if (typeof infos.job_tag === 'object') {
|
|
|
- infos.job_tag.map(item => {
|
|
|
- mid === '' ? (mid = item.label) : (mid += `,${item.label}`);
|
|
|
- });
|
|
|
- infos.job_tag = mid;
|
|
|
- mid = '';
|
|
|
- }
|
|
|
- if (typeof infos.zy_req === 'object') {
|
|
|
- infos.zy_req.map(item => {
|
|
|
- mid === '' ? (mid = item.label) : (mid += `,${item.label}`);
|
|
|
- });
|
|
|
- infos.zy_req = mid;
|
|
|
- mid = '';
|
|
|
- }
|
|
|
- if (typeof infos.category === 'object') {
|
|
|
- infos.category.map(item => {
|
|
|
- mid === '' ? (mid = item) : (mid += `,${item}`);
|
|
|
- });
|
|
|
- infos.category = mid;
|
|
|
- }
|
|
|
- if (this.info.id) {
|
|
|
- result = await this.postOperation({ type: 'update', data: { info: infos, id: this.$route.query.id } });
|
|
|
- } else {
|
|
|
- result = await this.postOperation({ type: 'add', data: { info: infos, corpname: this.user.corpname, corpid: this.user.corpid } });
|
|
|
- }
|
|
|
- if (`${result.errcode}` === '0') {
|
|
|
- this.$message.success('操作成功');
|
|
|
- if (this.isDialog) {
|
|
|
- this.$emit('jobSubmit', true);
|
|
|
- return;
|
|
|
+ async toSubmit(formName) {
|
|
|
+ this.$refs[formName].validate(async valid => {
|
|
|
+ if (valid) {
|
|
|
+ let result;
|
|
|
+ let infos = JSON.parse(JSON.stringify(this.info));
|
|
|
+ let mid = '';
|
|
|
+ infos.salary.text = infos.salary.min + 'k-' + infos.salary.max + 'k/月';
|
|
|
+ if (typeof infos.city === 'object') {
|
|
|
+ infos.city.map(item => {
|
|
|
+ mid === '' ? (mid = item.label) : (mid += `,${item.label}`);
|
|
|
+ });
|
|
|
+ infos.city = mid;
|
|
|
+ mid = '';
|
|
|
+ }
|
|
|
+ if (typeof infos.job_tag === 'object') {
|
|
|
+ infos.job_tag.map(item => {
|
|
|
+ mid === '' ? (mid = item.label) : (mid += `,${item.label}`);
|
|
|
+ });
|
|
|
+ infos.job_tag = mid;
|
|
|
+ mid = '';
|
|
|
+ }
|
|
|
+ if (typeof infos.zy_req === 'object') {
|
|
|
+ infos.zy_req.map(item => {
|
|
|
+ mid === '' ? (mid = item.label) : (mid += `,${item.label}`);
|
|
|
+ });
|
|
|
+ infos.zy_req = mid;
|
|
|
+ mid = '';
|
|
|
+ }
|
|
|
+ if (typeof infos.category === 'object') {
|
|
|
+ infos.category.map(item => {
|
|
|
+ mid === '' ? (mid = item) : (mid += `,${item}`);
|
|
|
+ });
|
|
|
+ infos.category = mid;
|
|
|
+ }
|
|
|
+ if (this.info.id) {
|
|
|
+ result = await this.postOperation({ type: 'update', data: { info: infos, id: this.$route.query.id } });
|
|
|
+ } else {
|
|
|
+ result = await this.postOperation({ type: 'add', data: { info: infos, corpname: this.user.corpname, corpid: this.user.corpid } });
|
|
|
+ }
|
|
|
+ if (`${result.errcode}` === '0') {
|
|
|
+ this.$message.success('操作成功');
|
|
|
+ if (this.isDialog) {
|
|
|
+ this.$emit('jobSubmit', true);
|
|
|
+ return;
|
|
|
+ } else {
|
|
|
+ this.$router.push('/manager/jobs/index');
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.$message.error(result.errmsg);
|
|
|
+ }
|
|
|
} else {
|
|
|
- this.$router.push('/manager/jobs/index');
|
|
|
+ console.log('error submit!!');
|
|
|
+ return false;
|
|
|
}
|
|
|
- } else {
|
|
|
- this.$message.error(result.errmsg);
|
|
|
- }
|
|
|
+ });
|
|
|
},
|
|
|
+
|
|
|
selectJobs(item) {
|
|
|
this.$set(this.info, `category`, item.label);
|
|
|
this.drawer = false;
|