|
@@ -1,194 +1,709 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
- <el-form-item label="候选人姓名" prop="userName">
|
|
|
- <el-input v-model="form.userName" placeholder="请输入姓名" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="手机号码" prop="mobile">
|
|
|
- <el-input v-model="form.mobile" placeholder="请输入手机号码" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="简历附件" prop="resumeFile">
|
|
|
- <!-- <file-upload v-model="form.resumeFile" /> -->
|
|
|
- <el-upload
|
|
|
- class="upload-demo"
|
|
|
- :action="FileAction"
|
|
|
- :on-change="handleChange"
|
|
|
- :file-list="fileList"
|
|
|
+ <div class="formWrapper">
|
|
|
+ <h2 style="margin-left: 30px">{{ title }}</h2>
|
|
|
+ <el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
|
|
+ <el-form-item label="候选人姓名" prop="userName">
|
|
|
+ <el-input v-model="form.userName" placeholder="请输入姓名" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="手机号" prop="mobile">
|
|
|
+ <el-input
|
|
|
+ v-model="form.mobile"
|
|
|
+ placeholder="请输入手机号"
|
|
|
+ maxlength="11"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="简历附件" prop="resumeFile">
|
|
|
+ <el-upload
|
|
|
+ class="upload-demo"
|
|
|
+ :action="FileAction"
|
|
|
+ :file-list="fileList"
|
|
|
+ :on-success="handleFileSuccess"
|
|
|
+ :limit="1"
|
|
|
+ >
|
|
|
+ <el-button size="small" type="primary">选择文件</el-button>
|
|
|
+ </el-upload>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="工作地" prop="workingPlace">
|
|
|
+ <el-input v-model="form.workingPlace" placeholder="请输入工作地" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="学历" prop="degree">
|
|
|
+ <el-input v-model="form.degree" placeholder="请输入学历" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="性别" prop="gender">
|
|
|
+ <el-select
|
|
|
+ v-model="form.gender"
|
|
|
+ placeholder="请选择性别"
|
|
|
+ style="width: 100%"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="dict in dict.type.sys_user_sex"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="年龄" prop="age">
|
|
|
+ <el-input v-model="form.age" placeholder="请输入年龄" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="居住地" prop="residence">
|
|
|
+ <el-input v-model="form.residence" placeholder="请输入居住地" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="专业" prop="major">
|
|
|
+ <el-input v-model="form.major" placeholder="请输入专业" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="行业经验" prop="industryExperience">
|
|
|
+ <el-input
|
|
|
+ v-model="form.industryExperience"
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="毕业院校" prop="graduateCollege">
|
|
|
+ <el-input
|
|
|
+ v-model="form.graduateCollege"
|
|
|
+ placeholder="请输入毕业院校"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="岗位" prop="position">
|
|
|
+ <el-input v-model="form.position" placeholder="请输入岗位" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="语言能力" prop="languageAbility">
|
|
|
+ <el-input
|
|
|
+ v-model="form.languageAbility"
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="证书" prop="certificate">
|
|
|
+ <el-input
|
|
|
+ v-model="form.certificate"
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="电子邮箱" prop="email">
|
|
|
+ <el-input v-model="form.email" placeholder="请输入电子邮箱" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="生日" prop="birthday">
|
|
|
+ <el-date-picker
|
|
|
+ clearable
|
|
|
+ v-model="form.birthday"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="请选择生日"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="工作年限" prop="experience">
|
|
|
+ <el-input
|
|
|
+ v-model="form.experience"
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="期望薪资" prop="exceptedSalary">
|
|
|
+ <el-input
|
|
|
+ v-model="form.exceptedSalary"
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="最近工作公司" prop="lastCompany">
|
|
|
+ <el-input
|
|
|
+ v-model="form.lastCompany"
|
|
|
+ placeholder="请输入最近工作公司"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="最近工作行业" prop="lastIndustry">
|
|
|
+ <el-input
|
|
|
+ v-model="form.lastIndustry"
|
|
|
+ placeholder="请输入最近工作行业"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="最近工作职位" prop="lastPosition">
|
|
|
+ <el-input
|
|
|
+ v-model="form.lastPosition"
|
|
|
+ placeholder="请输入最近工作职位"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="专业技能" prop="keyWords">
|
|
|
+ <el-input
|
|
|
+ v-model="form.keyWords"
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="自我评价" prop="selfEvaluation">
|
|
|
+ <el-input
|
|
|
+ v-model="form.selfEvaluation"
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item
|
|
|
+ label="工作履历"
|
|
|
+ prop="workList"
|
|
|
+ class="long-el-form-item"
|
|
|
>
|
|
|
- <el-button size="small" type="primary">选择文件</el-button>
|
|
|
- </el-upload>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="工作地" prop="workingPlace">
|
|
|
- <el-input v-model="form.workingPlace" placeholder="请输入工作地" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="学历" prop="degree">
|
|
|
- <el-input v-model="form.degree" placeholder="请输入学历" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="性别" prop="gender">
|
|
|
- <el-input v-model="form.gender" placeholder="请输入性别" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="年龄" prop="age">
|
|
|
- <el-input v-model="form.age" placeholder="请输入年龄" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="居住地" prop="residence">
|
|
|
- <el-input v-model="form.residence" placeholder="请输入居住地" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="专业" prop="major">
|
|
|
- <el-input v-model="form.major" placeholder="请输入专业" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="行业经验" prop="industryExperience">
|
|
|
- <el-input
|
|
|
- v-model="form.industryExperience"
|
|
|
- type="textarea"
|
|
|
- placeholder="请输入内容"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="毕业院校" prop="graduateCollege">
|
|
|
- <el-input v-model="form.graduateCollege" placeholder="请输入毕业院校" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="岗位" prop="position">
|
|
|
- <el-input v-model="form.position" placeholder="请输入岗位" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="语言能力" prop="languageAbility">
|
|
|
- <el-input
|
|
|
- v-model="form.languageAbility"
|
|
|
- type="textarea"
|
|
|
- placeholder="请输入内容"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="证书" prop="certificate">
|
|
|
- <el-input
|
|
|
- v-model="form.certificate"
|
|
|
- type="textarea"
|
|
|
- placeholder="请输入内容"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="电子邮箱" prop="email">
|
|
|
- <el-input v-model="form.email" placeholder="请输入电子邮箱" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="生日" prop="birthday">
|
|
|
- <el-date-picker
|
|
|
- clearable
|
|
|
- v-model="form.birthday"
|
|
|
- type="date"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- placeholder="请选择生日"
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ plain
|
|
|
+ icon="el-icon-plus"
|
|
|
+ size="mini"
|
|
|
+ @click="handleAddWork"
|
|
|
+ >添加工作履历</el-button
|
|
|
+ >
|
|
|
+ <el-table :data="form.workList" ref="workTable" border>
|
|
|
+ <el-table-column
|
|
|
+ label="公司名称"
|
|
|
+ width="300"
|
|
|
+ align="center"
|
|
|
+ prop="companyName"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.companyName" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="公司地址"
|
|
|
+ width="200"
|
|
|
+ align="center"
|
|
|
+ prop="companyPosition"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.companyPosition" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="入职时间"
|
|
|
+ width="120"
|
|
|
+ align="center"
|
|
|
+ prop="iinductionStartDate"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.iinductionStartDate" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="离职时间"
|
|
|
+ width="120"
|
|
|
+ align="center"
|
|
|
+ prop="iinductionEndDate"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.iinductionEndDate" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="证明人"
|
|
|
+ width="120"
|
|
|
+ align="center"
|
|
|
+ prop="leaderName"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.leaderName" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="证明人联系方式"
|
|
|
+ width="140"
|
|
|
+ align="center"
|
|
|
+ prop="leaderMobile"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.leaderMobile" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="岗位"
|
|
|
+ width="200"
|
|
|
+ align="center"
|
|
|
+ prop="postionName"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.postionName" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="离职原因"
|
|
|
+ width="150"
|
|
|
+ align="center"
|
|
|
+ prop="reason"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.reason" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="工作描述"
|
|
|
+ width="300"
|
|
|
+ align="center"
|
|
|
+ prop="workDetail"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input type="textarea" v-model="scope.row.workDetail" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" align="center" fixed="right">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ @click="handleWorkRowDelete(scope.$index, scope.row)"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="项目经验"
|
|
|
+ prop="projectList"
|
|
|
+ class="long-el-form-item"
|
|
|
>
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="工作年限" prop="experience">
|
|
|
- <el-input
|
|
|
- v-model="form.experience"
|
|
|
- type="textarea"
|
|
|
- placeholder="请输入内容"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="期望薪资" prop="exceptedSalary">
|
|
|
- <el-input
|
|
|
- v-model="form.exceptedSalary"
|
|
|
- type="textarea"
|
|
|
- placeholder="请输入内容"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="最近工作公司" prop="lastCompany">
|
|
|
- <el-input v-model="form.lastCompany" placeholder="请输入最近工作公司" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="最近工作行业" prop="lastIndustry">
|
|
|
- <el-input
|
|
|
- v-model="form.lastIndustry"
|
|
|
- placeholder="请输入最近工作行业"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="最近工作职位" prop="lastPosition">
|
|
|
- <el-input
|
|
|
- v-model="form.lastPosition"
|
|
|
- placeholder="请输入最近工作职位"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="专业技能" prop="keyWords">
|
|
|
- <el-input
|
|
|
- v-model="form.keyWords"
|
|
|
- type="textarea"
|
|
|
- placeholder="请输入内容"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="自我评价" prop="selfEvaluation">
|
|
|
- <el-input
|
|
|
- v-model="form.selfEvaluation"
|
|
|
- type="textarea"
|
|
|
- placeholder="请输入内容"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="工作履历" prop="resumeWork">
|
|
|
- <el-input
|
|
|
- v-model="form.resumeWork"
|
|
|
- type="textarea"
|
|
|
- placeholder="请输入内容"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="项目经验" prop="resumeProject">
|
|
|
- <el-input
|
|
|
- v-model="form.resumeProject"
|
|
|
- type="textarea"
|
|
|
- placeholder="请输入内容"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="教育经历" prop="resumeEducation">
|
|
|
- <el-input
|
|
|
- v-model="form.resumeEducation"
|
|
|
- type="textarea"
|
|
|
- placeholder="请输入内容"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <el-button type="primary" @click="submitForm">提 交</el-button>
|
|
|
- <el-button @click="goBack">返 回</el-button>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ plain
|
|
|
+ icon="el-icon-plus"
|
|
|
+ size="mini"
|
|
|
+ @click="handleAddProject"
|
|
|
+ >添加项目经验</el-button
|
|
|
+ >
|
|
|
+ <el-table :data="form.projectList" ref="projectTable" border>
|
|
|
+ <el-table-column
|
|
|
+ label="项目名称"
|
|
|
+ width="300"
|
|
|
+ align="center"
|
|
|
+ prop="projectName"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.projectName" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="开始时间"
|
|
|
+ width="150"
|
|
|
+ align="center"
|
|
|
+ prop="projectStartDate"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.projectStartDate" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="结束时间"
|
|
|
+ width="150"
|
|
|
+ align="center"
|
|
|
+ prop="projectEndDate"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.projectEndDate" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="软件环境"
|
|
|
+ width="150"
|
|
|
+ align="center"
|
|
|
+ prop="developEnvironment"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.developEnvironment" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="开发工具"
|
|
|
+ width="150"
|
|
|
+ align="center"
|
|
|
+ prop="developTools"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.developTools" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="责任描述"
|
|
|
+ width="200"
|
|
|
+ align="center"
|
|
|
+ prop="partIn"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input type="textarea" v-model="scope.row.partIn" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="项目描述"
|
|
|
+ width="200"
|
|
|
+ align="center"
|
|
|
+ prop="projectDetail"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input type="textarea" v-model="scope.row.projectDetail" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" align="center" fixed="right">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ @click="handleProjectRowDelete(scope.$index, scope.row)"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="教育经历" prop="eduList" class="long-el-form-item">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ plain
|
|
|
+ icon="el-icon-plus"
|
|
|
+ size="mini"
|
|
|
+ @click="handleAddEdu"
|
|
|
+ >添加教育经历</el-button
|
|
|
+ >
|
|
|
+ <el-table :data="form.eduList" ref="eduTable" border>
|
|
|
+ <el-table-column
|
|
|
+ label="学校名称"
|
|
|
+ width="300"
|
|
|
+ align="center"
|
|
|
+ prop="schoolName"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.schoolName" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="入学时间"
|
|
|
+ width="150"
|
|
|
+ align="center"
|
|
|
+ prop="eduStartDate"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.eduStartDate" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="毕业时间"
|
|
|
+ width="150"
|
|
|
+ align="center"
|
|
|
+ prop="eduEndDate"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.eduEndDate" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="专业"
|
|
|
+ width="200"
|
|
|
+ align="center"
|
|
|
+ prop="major"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.major" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="学历"
|
|
|
+ width="150"
|
|
|
+ align="center"
|
|
|
+ prop="degree"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.degree" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="描述"
|
|
|
+ width="350"
|
|
|
+ align="center"
|
|
|
+ prop="detail"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input type="textarea" v-model="scope.row.detail" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" align="center" fixed="right">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ @click="handleEduRowDelete(scope.$index, scope.row)"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item class="long-el-form-item button-list">
|
|
|
+ <el-button @click="goBack">返 回</el-button>
|
|
|
+ <el-button type="primary" @click="submitForm">提 交</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
+import { addResume, getResume, updateResume } from "@/api/system/resume";
|
|
|
export default {
|
|
|
+ dicts: ["sys_user_sex"],
|
|
|
name: "systemResumeAdd",
|
|
|
- data() {
|
|
|
+ data() {
|
|
|
return {
|
|
|
+ title: "新增简历",
|
|
|
fileList: [],
|
|
|
FileAction:
|
|
|
process.env.VUE_APP_BASE_API + "/system/resume/uploadResumeSimilarity",
|
|
|
// 表单参数
|
|
|
- form: {},
|
|
|
+ form: {
|
|
|
+ userName: "",
|
|
|
+ mobile: "",
|
|
|
+ resumeFile: [],
|
|
|
+ workingPlace: "",
|
|
|
+ degree: "",
|
|
|
+ gender: "",
|
|
|
+ age: "",
|
|
|
+ residence: "",
|
|
|
+ major: "",
|
|
|
+ industryExperience: "",
|
|
|
+ graduateCollege: "",
|
|
|
+ position: "",
|
|
|
+ languageAbility: "",
|
|
|
+ certificate: "",
|
|
|
+ email: "",
|
|
|
+ birthday: "",
|
|
|
+ experience: "",
|
|
|
+ exceptedSalary: "",
|
|
|
+ lastCompany: "",
|
|
|
+ lastIndustry: "",
|
|
|
+ lastPosition: "",
|
|
|
+ keyWords: "",
|
|
|
+ selfEvaluation: "",
|
|
|
+ workList: [],
|
|
|
+ projectList: [],
|
|
|
+ eduList: [],
|
|
|
+ },
|
|
|
// 表单校验
|
|
|
- rules: {},
|
|
|
+ rules: {
|
|
|
+ userName: [
|
|
|
+ { required: true, trigger: "blur", message: "请输入候选人姓名" },
|
|
|
+ ],
|
|
|
+ mobile: [
|
|
|
+ { required: true, trigger: "blur", message: "请输入手机号" },
|
|
|
+ {
|
|
|
+ pattern: /^1[3456789]\d{9}$/,
|
|
|
+ message: "请输入正确的手机号",
|
|
|
+ trigger: "blur",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ position: [{ required: true, trigger: "blur", message: "请输入岗位" }],
|
|
|
+ },
|
|
|
+ resumeId: null,
|
|
|
};
|
|
|
},
|
|
|
+ activated() {
|
|
|
+ // console.log("===========activated")
|
|
|
+ if (this.$route.query.id) {
|
|
|
+ this.resumeId = this.$route.query.id;
|
|
|
+ this.title = "修改简历";
|
|
|
+ this.getResumeList(this.$route.query.id);
|
|
|
+ } else {
|
|
|
+ this.reset();
|
|
|
+ this.resumeId = null;
|
|
|
+ this.title = "新增简历";
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted() {},
|
|
|
methods: {
|
|
|
- handleChange(file, fileList) {
|
|
|
- this.fileList = fileList;
|
|
|
+ // 查看简历
|
|
|
+ getResumeList(resumeId) {
|
|
|
+ getResume(resumeId).then((response) => {
|
|
|
+ this.form = response.data;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 简历解析
|
|
|
+ handleFileSuccess(res, file) {
|
|
|
+ let data = res.data;
|
|
|
+ this.form = data;
|
|
|
+ },
|
|
|
+ // 添加工作履历
|
|
|
+ handleAddWork() {
|
|
|
+ let workObj = {
|
|
|
+ companyName: null,
|
|
|
+ companyPosition: null,
|
|
|
+ iinductionStartDate: null,
|
|
|
+ iinductionEndDate: null,
|
|
|
+ leaderName: null,
|
|
|
+ leaderMobile: null,
|
|
|
+ postionName: null,
|
|
|
+ reason: null,
|
|
|
+ workDetail: null,
|
|
|
+ };
|
|
|
+ this.form.workList.push(workObj);
|
|
|
+ },
|
|
|
+ // 删除工作履历
|
|
|
+ handleWorkRowDelete(index, rows) {
|
|
|
+ let that = this;
|
|
|
+ this.$modal
|
|
|
+ .confirm("是否删除该工作履历?")
|
|
|
+ .then(function () {
|
|
|
+ that.form.workList.splice(index, 1);
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ that.$modal.msgSuccess("删除成功");
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ },
|
|
|
+ // 添加项目经验
|
|
|
+ handleAddProject() {
|
|
|
+ let projectObj = {
|
|
|
+ projectName: null,
|
|
|
+ projectStartDate: null,
|
|
|
+ projectEndDate: null,
|
|
|
+ developEnvironment: null,
|
|
|
+ developTools: null,
|
|
|
+ partIn: null,
|
|
|
+ projectDetail: null,
|
|
|
+ };
|
|
|
+ this.form.projectList.push(projectObj);
|
|
|
+ },
|
|
|
+ // 删除项目经验
|
|
|
+ handleProjectRowDelete(index, rows) {
|
|
|
+ let that = this;
|
|
|
+ this.$modal
|
|
|
+ .confirm("是否删除该项目经验?")
|
|
|
+ .then(function () {
|
|
|
+ that.form.projectList.splice(index, 1);
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ that.$modal.msgSuccess("删除成功");
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ },
|
|
|
+ // 添加教育经历
|
|
|
+ handleAddEdu() {
|
|
|
+ let eduObj = {
|
|
|
+ schoolName: null,
|
|
|
+ eduStartDate: null,
|
|
|
+ eduEndDate: null,
|
|
|
+ major: null,
|
|
|
+ degree: null,
|
|
|
+ detail: null,
|
|
|
+ };
|
|
|
+ this.form.eduList.push(eduObj);
|
|
|
+ },
|
|
|
+ // 删除教育经历
|
|
|
+ handleEduRowDelete(index, rows) {
|
|
|
+ let that = this;
|
|
|
+ this.$modal
|
|
|
+ .confirm("是否删除该教育经历?")
|
|
|
+ .then(function () {
|
|
|
+ that.form.eduList.splice(index, 1);
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ that.$modal.msgSuccess("删除成功");
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
},
|
|
|
/** 提交按钮 */
|
|
|
submitForm() {
|
|
|
- this.$refs["form"].validate((valid) => {
|
|
|
+ let that = this;
|
|
|
+ that.$refs["form"].validate((valid, rules) => {
|
|
|
if (valid) {
|
|
|
- if (this.form.resumeId != null) {
|
|
|
- updateResume(this.form).then((response) => {
|
|
|
- this.$modal.msgSuccess("修改成功");
|
|
|
- this.open = false;
|
|
|
- this.getList();
|
|
|
+ if (that.form.resumeId != null) {
|
|
|
+ updateResume(that.form).then((response) => {
|
|
|
+ that.$modal.msgSuccess("修改成功");
|
|
|
+ setTimeout(() => {
|
|
|
+ that.goBack();
|
|
|
+ }, 1500);
|
|
|
});
|
|
|
} else {
|
|
|
- addResume(this.form).then((response) => {
|
|
|
- this.$modal.msgSuccess("新增成功");
|
|
|
- this.open = false;
|
|
|
- this.getList();
|
|
|
+ addResume(that.form).then((response) => {
|
|
|
+ that.$modal.msgSuccess("新增成功");
|
|
|
+ setTimeout(() => {
|
|
|
+ that.goBack();
|
|
|
+ }, 1500);
|
|
|
});
|
|
|
}
|
|
|
+ } else {
|
|
|
+ for (var ruleName in rules) {
|
|
|
+ let _rule = rules[ruleName];
|
|
|
+ let message = _rule[0].message;
|
|
|
+ this.$message.warning(message, 1);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ //验证不通过回滚到不通过的第一个位置
|
|
|
+ this.$nextTick(() => {
|
|
|
+ let isError = document.getElementsByClassName("is-error");
|
|
|
+ isError[0].scrollIntoView({
|
|
|
+ block: "center",
|
|
|
+ behavior: "smooth",
|
|
|
+ });
|
|
|
+ });
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
goBack() {
|
|
|
this.$router.go(-1);
|
|
|
},
|
|
|
+ // 表单重置
|
|
|
+ reset() {
|
|
|
+ this.form = {
|
|
|
+ resumeId: null,
|
|
|
+ userName: "",
|
|
|
+ mobile: "",
|
|
|
+ resumeFile: [],
|
|
|
+ workingPlace: "",
|
|
|
+ degree: "",
|
|
|
+ gender: "",
|
|
|
+ age: "",
|
|
|
+ residence: "",
|
|
|
+ major: "",
|
|
|
+ industryExperience: "",
|
|
|
+ graduateCollege: "",
|
|
|
+ position: "",
|
|
|
+ languageAbility: "",
|
|
|
+ certificate: "",
|
|
|
+ email: "",
|
|
|
+ birthday: "",
|
|
|
+ experience: "",
|
|
|
+ exceptedSalary: "",
|
|
|
+ lastCompany: "",
|
|
|
+ lastIndustry: "",
|
|
|
+ lastPosition: "",
|
|
|
+ keyWords: "",
|
|
|
+ selfEvaluation: "",
|
|
|
+ workList: [],
|
|
|
+ projectList: [],
|
|
|
+ eduList: [],
|
|
|
+ };
|
|
|
+ this.resetForm("form");
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
-</script>
|
|
|
+</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+.formWrapper {
|
|
|
+ width: 95%;
|
|
|
+ margin-top: 30px;
|
|
|
+ .el-form {
|
|
|
+ display: flex;
|
|
|
+ flex-flow: wrap;
|
|
|
+ .el-form-item {
|
|
|
+ width: 50%;
|
|
|
+ }
|
|
|
+ .long-el-form-item {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ .button-list {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|