|
@@ -3,12 +3,12 @@
|
|
|
* @Version: 1.0
|
|
|
* @Autor: XuTongZhang
|
|
|
* @Date: 2020-07-30 10:17:25
|
|
|
- * @LastEditors: XuTongZhang
|
|
|
- * @LastEditTime: 2020-08-17 15:57:05
|
|
|
+ * @LastEditors : yuanrunwei
|
|
|
+ * @LastEditTime : 2021-02-04 20:21:30
|
|
|
-->
|
|
|
<template>
|
|
|
<div class="indexPage">
|
|
|
- <v-input :btn="btn" :list="list" @search="search" @exports="exports"></v-input>
|
|
|
+ <v-input :btn="btn" :list="list" @search="search" @exports="exports" @upload="upload=true"></v-input>
|
|
|
<v-table :table="table" :tableList="tableList" :sortType="true" :queryData="queryData" :form="searchForm" @details="details" @update="update"></v-table>
|
|
|
<v-pager @page="callPage" :total="totalrecords"></v-pager>
|
|
|
<!-- <resume :dialogFormVisible="dialogFormVisible" :close="close" :info="info" :searchForm="searchForm" :queryData="queryData"></resume> -->
|
|
@@ -53,6 +53,94 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</el-dialog>
|
|
|
+ <!-- upload -->
|
|
|
+ <el-dialog :visible.sync="upload" width="600px" :before-close="() => {upload=false}" :close-on-click-modal="false">
|
|
|
+ <el-form label-width="140px" label-position="right">
|
|
|
+ <el-form-item label="姓名">
|
|
|
+ <el-input placeholder="请输入姓名" v-model="uploadForm.delivererName" maxlength="32" show-word-limit></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="性别">
|
|
|
+ <el-select v-model="uploadForm.delivererSex" class="select" placeholder="请选择性别">
|
|
|
+ <el-option v-for="item in [{ value: 0, label: '女' }, { value: 1, label: '男' }]" :key="item.value" :label="item.label" :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="请选择出生日期">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="uploadForm.delivererBirthday"
|
|
|
+ value-format="yyyy/MM/dd"
|
|
|
+ type="date"
|
|
|
+ placeholder="选择日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="手机号码">
|
|
|
+ <el-input placeholder="请输入手机号码" v-model.number="uploadForm.delivererPhone" maxlength="11" show-word-limit></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="邮箱">
|
|
|
+ <el-input placeholder="请输入邮箱" v-model="uploadForm.delivererMail" maxlength="32" show-word-limit></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="国籍">
|
|
|
+ <el-input placeholder="请输入国籍" v-model="uploadForm.delivererNationality" maxlength="32" show-word-limit></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="联系地址">
|
|
|
+ <el-input placeholder="请输入联系地址" v-model="uploadForm.delivererAddress" maxlength="32" show-word-limit></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="意向城市-省市">
|
|
|
+ <!-- <el-input placeholder="请选择意向城市-省市" v-model="uploadForm.delivererIntention" maxlength="32" show-word-limit></el-input> -->
|
|
|
+ <!-- <el-cascader placeholder="请选择意向城市-省市" v-model="uploadForm.delivererIntention" :props="{
|
|
|
+ lazy: true,
|
|
|
+ value: 'id',
|
|
|
+ label: 'name',
|
|
|
+ lazyLoad (node, resolve) {
|
|
|
+ const { level } = node;
|
|
|
+ $api.post('/addr/all_addr').then(result=>{
|
|
|
+ resolve(result.list.map(item => ({
|
|
|
+ value: item.id,
|
|
|
+ label: item.name,
|
|
|
+ leaf: level >= 2,
|
|
|
+ })))
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }"></el-cascader> -->
|
|
|
+ <el-cascader :options="addrOptions" placeholder="请选择意向城市-省市" v-model="uploadForm.delivererIntention" :props="{
|
|
|
+ value: 'name',
|
|
|
+ label: 'name'
|
|
|
+ }"></el-cascader>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="学历">
|
|
|
+ <el-select class="select" v-model="uploadForm.delivererEducation" placeholder="请选择学历">
|
|
|
+ <el-option v-for="item in ['大专', '本科', '研究生', '博士', '其他']" :key="item" :label="item" :value="item"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="年级">
|
|
|
+ <el-input placeholder="请输入年级" v-model="uploadForm.delivererGrade" maxlength="200" show-word-limit></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="语言能力">
|
|
|
+ <el-cascader
|
|
|
+ v-model="uploadForm.delivererLanguageAbility"
|
|
|
+ :options="options"
|
|
|
+ :props="{
|
|
|
+ multiple:false,
|
|
|
+ emitPath:false
|
|
|
+ }"
|
|
|
+ :show-all-levels="false"
|
|
|
+ clearable></el-cascader>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="期望薪资">
|
|
|
+ <el-input placeholder="请输入期望薪资" v-model="uploadForm.delivererExpectSalary" maxlength="200" show-word-limit></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="工作年限">
|
|
|
+ <el-select v-model="uploadForm.delivererWorkExp" class="select" placeholder="请选择工作年限">
|
|
|
+ <el-option v-for="item in expOptions" :key="item.value" :label="item.label" :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button @click="upload = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="handleSubmit">提 交</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -73,12 +161,52 @@ export default {
|
|
|
tableList: [],
|
|
|
dialogFormVisible: false,
|
|
|
dialogVisible: false,
|
|
|
+ upload: false,
|
|
|
page: 1,
|
|
|
totalrecords: 0,
|
|
|
pickList: [],
|
|
|
downList1: [],
|
|
|
searchForm: {},
|
|
|
form: {},
|
|
|
+ uploadForm: {
|
|
|
+ delivererName: '',
|
|
|
+ delivererSex: 0,
|
|
|
+ delivererBirthday: '',
|
|
|
+ delivererPhone: '',
|
|
|
+ delivererMail: '',
|
|
|
+ delivererNationality: '',
|
|
|
+ delivererAddress: '',
|
|
|
+ delivererIntention: '',
|
|
|
+ delivererEducation: '',
|
|
|
+ delivererGrade: '',
|
|
|
+ delivererLanguageAbility: '',
|
|
|
+ delivererExpectSalary: '',
|
|
|
+ delivererWorkExp: ''
|
|
|
+ },
|
|
|
+ options: [],
|
|
|
+ addrOptions: [],
|
|
|
+ expOptions: [
|
|
|
+ {
|
|
|
+ value: '1年以内工作经验',
|
|
|
+ label: '1年以内工作经验'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: '1-3年工作经验',
|
|
|
+ label: '1-3年工作经验'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: '3-5年工作经验',
|
|
|
+ label: '3-5年工作经验'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: '5-10年工作经验',
|
|
|
+ label: '5-10年工作经验'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: '10年以上工作经验',
|
|
|
+ label: '10年以上工作经验'
|
|
|
+ }
|
|
|
+ ],
|
|
|
rules: {
|
|
|
delivererEducation: [{
|
|
|
required: true,
|
|
@@ -182,6 +310,11 @@ export default {
|
|
|
name: '导出',
|
|
|
type: 'primary',
|
|
|
method: 'exports'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '上传简历',
|
|
|
+ type: 'primary',
|
|
|
+ method: 'upload'
|
|
|
}
|
|
|
],
|
|
|
table: {
|
|
@@ -279,6 +412,7 @@ export default {
|
|
|
mounted () {
|
|
|
this.queryData()
|
|
|
this.queryDownList()
|
|
|
+ this.handleOptions()
|
|
|
},
|
|
|
methods: {
|
|
|
queryData (form = {}) {
|
|
@@ -371,6 +505,61 @@ export default {
|
|
|
callPage (val) {
|
|
|
this.page = val
|
|
|
this.queryData(this.searchForm)
|
|
|
+ },
|
|
|
+ handleOptions () {
|
|
|
+ this.options = ['不限', '英语', '日语', '俄语', '阿拉伯语', '法语', '德语', '西班牙语', '葡萄牙语', '意大利语', '韩语/朝鲜语', '普通话', '粤语', '闽南话', '上海话', '其他'].map(item => {
|
|
|
+ return {
|
|
|
+ label: item,
|
|
|
+ value: item,
|
|
|
+ children: [item + '-一般', item + '-良好', item + '-熟练', item + '-精通'].map(item => {
|
|
|
+ return {
|
|
|
+ label: item,
|
|
|
+ value: item
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.$api.post('/addr/all_addr').then(result => {
|
|
|
+ this.addrOptions = result.list.map(item => (
|
|
|
+ {
|
|
|
+ name: item.name,
|
|
|
+ children: item.children.map(item => ({
|
|
|
+ name: item.name
|
|
|
+ }))
|
|
|
+ }
|
|
|
+ ))
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleSubmit () {
|
|
|
+ const reg = /^\w+@[a-z0-9]+\.[a-z]{2,4}$/
|
|
|
+ if (!reg.test(this.uploadForm.delivererMail)) {
|
|
|
+ this.$message.error('请输入正确的邮箱')
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ this.$api.post('/resumeInfo/uploadResume', {
|
|
|
+ reqdata: {
|
|
|
+ ...this.uploadForm,
|
|
|
+ delivererIntention: `${this.uploadForm.delivererIntention[0]} ${this.uploadForm.delivererIntention[1]}`
|
|
|
+ }
|
|
|
+ }).then(result => {
|
|
|
+ this.upload = false
|
|
|
+ this.uploadForm = {
|
|
|
+ delivererName: '',
|
|
|
+ delivererSex: 0,
|
|
|
+ delivererBirthday: '',
|
|
|
+ delivererPhone: '',
|
|
|
+ delivererMail: '',
|
|
|
+ delivererNationality: '',
|
|
|
+ delivererAddress: '',
|
|
|
+ delivererIntention: '',
|
|
|
+ delivererEducation: '',
|
|
|
+ delivererGrade: '',
|
|
|
+ delivererLanguageAbility: '',
|
|
|
+ delivererExpectSalary: '',
|
|
|
+ delivererWorkExp: ''
|
|
|
+ }
|
|
|
+ this.queryData()
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
}
|