|
@@ -8,13 +8,45 @@
|
|
|
<table class="description-table">
|
|
|
<tbody>
|
|
|
<tr class="description-tr">
|
|
|
- <th class="description-label">姓名</th>
|
|
|
+ <th class="description-label"><i class="requiredStar">*</i>姓名</th>
|
|
|
<td class="description-content">
|
|
|
- <el-form-item prop="realName">
|
|
|
+ <el-form-item prop="realName" :rules="[
|
|
|
+ { required: true, message: '请输入姓名', trigger: 'blur' }
|
|
|
+ ]">
|
|
|
<el-input v-model="form.realName" size="mini" placeholder="请输入姓名"/>
|
|
|
</el-form-item>
|
|
|
</td>
|
|
|
- <th class="description-label">手机号</th>
|
|
|
+ <th class="description-label"><i class="requiredStar">*</i>年龄</th>
|
|
|
+ <td class="description-content">
|
|
|
+ <el-form-item
|
|
|
+ prop="age"
|
|
|
+ :rules="[
|
|
|
+ { required: true, message: '请输入年龄', trigger: 'blur' }
|
|
|
+ ]"
|
|
|
+ >
|
|
|
+ <el-input v-model="form.age" size="mini" type="number" min="1" step="1" placeholder="请输入年龄"/>
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ <th class="description-label"><i class="requiredStar">*</i>性别</th>
|
|
|
+ <td class="description-content">
|
|
|
+ <el-form-item
|
|
|
+ prop="gender"
|
|
|
+ :rules="{ required: true, message: '请选择性别', trigger: 'change' }"
|
|
|
+ >
|
|
|
+ <el-select size="mini" v-model.trim="form.gender"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ placeholder="请选择性别">
|
|
|
+ <el-option label="男"
|
|
|
+ :value="true"></el-option>
|
|
|
+ <el-option label="女"
|
|
|
+ :value="false"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr class="description-tr">
|
|
|
+ <th class="description-label"><i class="requiredStar">*</i>手机号</th>
|
|
|
<td class="description-content">
|
|
|
<el-form-item
|
|
|
prop="mobileNo"
|
|
@@ -37,73 +69,148 @@
|
|
|
<td class="description-content">
|
|
|
<el-form-item
|
|
|
prop="wechatNo"
|
|
|
- :rules="[
|
|
|
- { required: !(form.mobileNo), message: '请输入微信号', trigger: 'blur' },
|
|
|
- ]"
|
|
|
>
|
|
|
<el-input
|
|
|
size="mini"
|
|
|
v-model="form.wechatNo"
|
|
|
- @blur="mobileOrWechatValidate"
|
|
|
placeholder="请输入微信号"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</td>
|
|
|
- </tr>
|
|
|
- <tr class="description-tr" v-for="(item, index) in form.educations" :key="index">
|
|
|
- <th class="description-label desc-item">
|
|
|
- <span class="close">
|
|
|
- <i v-if="index === 0" @click="addEducation" class="el-icon-circle-plus-outline"/>
|
|
|
- <i v-else @click="removeEducation(index)" class="el-icon-remove-outline"/>
|
|
|
- </span>学历</th>
|
|
|
+ <th class="description-label">身份证号</th>
|
|
|
<td class="description-content">
|
|
|
<el-form-item
|
|
|
- :prop="'educations.' + index + '.level'"
|
|
|
- :rules="{ required: true, message: '请输入学历', trigger: 'blur' }"
|
|
|
+ prop="idCard"
|
|
|
>
|
|
|
- <el-input v-model="form.educations[index].level" size="mini" placeholder="请输入学历"/>
|
|
|
+ <el-input size="mini" v-model="form.idCard" placeholder="请输入身份证号"/>
|
|
|
</el-form-item>
|
|
|
</td>
|
|
|
- <th class="description-label">学校</th>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="description-title" style="margin-top: 20px">
|
|
|
+ <span>教育信息</span>
|
|
|
+ </div>
|
|
|
+ <div class="description-view">
|
|
|
+ <table class="description-table">
|
|
|
+ <tbody>
|
|
|
+ <tr class="description-tr" v-for="(item, index) in form.educations" :key="index">
|
|
|
+ <th class="description-label desc-item">
|
|
|
+ <span class="close">
|
|
|
+ <i v-if="index === 0" @click="addEducation" class="el-icon-circle-plus-outline"/>
|
|
|
+ <i v-else @click="removeEducation(index)" class="el-icon-remove-outline"/>
|
|
|
+ </span><i class="requiredStar">*</i>学历</th>
|
|
|
+ <td class="description-content">
|
|
|
+ <el-form-item
|
|
|
+ :prop="'educations.' + index + '.level'"
|
|
|
+ :rules="{ required: true, message: '请输入学历', trigger: 'blur' }"
|
|
|
+ >
|
|
|
+ <el-input v-model="form.educations[index].level" size="mini" placeholder="请输入学历"/>
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ <th class="description-label"><i class="requiredStar">*</i>学校</th>
|
|
|
+ <td class="description-content">
|
|
|
+ <el-form-item
|
|
|
+ :prop="'educations.' + index + '.school'"
|
|
|
+ :rules="{ required: true, message: '请输入学校', trigger: 'blur' }"
|
|
|
+ >
|
|
|
+ <el-input size="mini" v-model="form.educations[index].school" placeholder="请输入学校"/>
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ <th class="description-label"><i class="requiredStar">*</i>专业</th>
|
|
|
+ <td class="description-content">
|
|
|
+ <el-form-item
|
|
|
+ :prop="'educations.' + index + '.subject'"
|
|
|
+ :rules="{ required: true, message: '请输入专业', trigger: 'blur' }"
|
|
|
+ >
|
|
|
+ <el-input size="mini" v-model="form.educations[index].subject" placeholder="请输入专业"/>
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ <th class="description-label"><i class="requiredStar">*</i>毕业时间</th>
|
|
|
+ <td class="description-content">
|
|
|
+ <el-form-item
|
|
|
+ :prop="'educations.' + index + '.year'"
|
|
|
+ :rules="{ required: true, message: '请选择毕业时间', trigger: 'blur' }"
|
|
|
+ >
|
|
|
+ <el-date-picker
|
|
|
+ type="month"
|
|
|
+ placeholder="请选择毕业时间"
|
|
|
+ size="mini"
|
|
|
+ v-model="form.educations[index].year"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="description-title" style="margin-top: 20px">
|
|
|
+ <span>招聘信息</span>
|
|
|
+ </div>
|
|
|
+ <div class="description-view">
|
|
|
+ <table class="description-table">
|
|
|
+ <tbody>
|
|
|
+ <tr class="description-tr">
|
|
|
+ <th class="description-label"><i class="requiredStar">*</i>所在城市</th>
|
|
|
<td class="description-content">
|
|
|
- <el-form-item
|
|
|
- :prop="'educations.' + index + '.school'"
|
|
|
- :rules="{ required: true, message: '请选择毕业时间', trigger: 'blur' }"
|
|
|
+ <el-form-item prop="liveCity"
|
|
|
+ :rules="[{ required: true, message: '请输入所在城市', trigger: 'blur' }]"
|
|
|
>
|
|
|
- <el-input size="mini" v-model="form.educations[index].school" placeholder="请输入学校"/>
|
|
|
+ <el-input size="mini" v-model.trim="form.liveCity" placeholder="请输入所在城市"/>
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ <th class="description-label"><i class="requiredStar">*</i>意向城市</th>
|
|
|
+ <td class="description-content"
|
|
|
+ :rules="[{ required: true, message: '请输入意向城市', trigger: 'blur' }]"
|
|
|
+ >
|
|
|
+ <el-form-item prop="intentionCity">
|
|
|
+ <el-input size="mini" v-model.trim="form.intentionCity" placeholder="请输入意向城市"/>
|
|
|
</el-form-item>
|
|
|
</td>
|
|
|
- <th class="description-label">毕业时间</th>
|
|
|
+ <th class="description-label"><i class="requiredStar">*</i>意向合作模式</th>
|
|
|
<td class="description-content">
|
|
|
- <el-form-item
|
|
|
- :prop="'educations.' + index + '.year'"
|
|
|
- :rules="{ required: true, message: '请选择毕业时间', trigger: 'blur' }"
|
|
|
+ <el-form-item prop="jobNature"
|
|
|
+ :rules="[{ required: true, message: '请选择意向合作模式', trigger: 'blur' }]"
|
|
|
>
|
|
|
- <el-date-picker
|
|
|
- type="month"
|
|
|
- placeholder="请选择毕业时间"
|
|
|
- size="mini"
|
|
|
- v-model="form.educations[index].year"
|
|
|
- />
|
|
|
+ <el-select size="mini" v-model.trim="form.jobNature"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ placeholder="请选择意向合作模式">
|
|
|
+ <el-option label="兼职"
|
|
|
+ value="PART_TIME"></el-option>
|
|
|
+ <el-option label="全职"
|
|
|
+ value="FULL_TIME"></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr class="description-tr">
|
|
|
- <th class="description-label">所在城市</th>
|
|
|
- <td class="description-content">
|
|
|
- <el-form-item prop="liveCity">
|
|
|
- <el-input size="mini" v-model.trim="form.liveCity" placeholder="请输入所在城市"/>
|
|
|
- </el-form-item>
|
|
|
- </td>
|
|
|
- <th class="description-label">工作意向</th>
|
|
|
+ <th class="description-label"><i class="requiredStar">*</i>岗位类别</th>
|
|
|
<td class="description-content">
|
|
|
- <el-form-item prop="intentionCity">
|
|
|
- <el-input size="mini" v-model.trim="form.intentionCity" placeholder="请输入工作意向"/>
|
|
|
+ <el-form-item prop="jobType"
|
|
|
+ :rules="[{ required: true, message: '请选择岗位类别', trigger: 'blur' }]"
|
|
|
+ >
|
|
|
+ <el-select size="mini" v-model.trim="form.jobType"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ placeholder="请选择岗位类别">
|
|
|
+ <el-option label="指导老师"
|
|
|
+ value="ADVISER"></el-option>
|
|
|
+ <el-option label="乐团主管"
|
|
|
+ value="ACADEMIC"></el-option>
|
|
|
+ <el-option label="乐队指导"
|
|
|
+ value="TEACHING"></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
</td>
|
|
|
- <th class="description-label">声部</th>
|
|
|
+ <th class="description-label"><i class="requiredStar">*</i>声部</th>
|
|
|
<td class="description-content">
|
|
|
- <el-form-item prop="subjectIdList">
|
|
|
+ <el-form-item prop="subjectIdList"
|
|
|
+ :rules="[{ required: true, message: '请选择声部', trigger: 'blur' }]"
|
|
|
+ >
|
|
|
<el-select
|
|
|
size="mini"
|
|
|
v-model.trim="form.subjectIdList"
|
|
@@ -124,9 +231,11 @@
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr class="description-tr">
|
|
|
- <th class="description-label">信息来源</th>
|
|
|
+ <th class="description-label"><i class="requiredStar">*</i>信息来源</th>
|
|
|
<td class="description-content">
|
|
|
- <el-form-item prop="sourceFrom">
|
|
|
+ <el-form-item prop="sourceFrom"
|
|
|
+ :rules="[{ required: true, message: '请选择信息来源', trigger: 'blur' }]"
|
|
|
+ >
|
|
|
<el-select v-model.trim="form.sourceFrom"
|
|
|
clearable
|
|
|
filterable
|
|
@@ -136,20 +245,16 @@
|
|
|
value="BOSS"></el-option>
|
|
|
<el-option label="转介绍"
|
|
|
value="转介绍"></el-option>
|
|
|
+ <el-option label="其它"
|
|
|
+ value="其它"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</td>
|
|
|
- <th class="description-label">评估结果</th>
|
|
|
- <td class="description-content" colspan="3">
|
|
|
- <el-form-item prop="assessmentResult">
|
|
|
- <el-input size="mini" v-model.trim="form.assessmentResult" placeholder="请输入评估结果"/>
|
|
|
- </el-form-item>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr class="description-tr">
|
|
|
- <th class="description-label">人员状态</th>
|
|
|
+ <th class="description-label"><i class="requiredStar">*</i>人员状态</th>
|
|
|
<td class="description-content">
|
|
|
- <el-form-item prop="status">
|
|
|
+ <el-form-item prop="status"
|
|
|
+ :rules="[{ required: true, message: '请选择人员状态', trigger: 'blur' }]"
|
|
|
+ >
|
|
|
<el-select size="mini" v-model.trim="form.status"
|
|
|
clearable
|
|
|
filterable
|
|
@@ -166,13 +271,17 @@
|
|
|
value="FULL_TIME"></el-option>
|
|
|
<el-option label="离职"
|
|
|
value="DIMISSION"></el-option>
|
|
|
+ <el-option label="黑名单"
|
|
|
+ value="BLACK_LIST"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</td>
|
|
|
- <th class="description-label">其他综合情况</th>
|
|
|
- <td class="description-content" colspan="3">
|
|
|
- <el-form-item prop="otherComment">
|
|
|
- <el-input size="mini" v-model.trim="form.otherComment" placeholder="请输入其他综合情况"/>
|
|
|
+ <th class="description-label"><i class="requiredStar">*</i>HRBP</th>
|
|
|
+ <td class="description-content">
|
|
|
+ <el-form-item prop="hrbp"
|
|
|
+ :rules="[{ required: true, message: '请输入HRBP', trigger: 'blur' }]"
|
|
|
+ >
|
|
|
+ <el-input size="mini" v-model.trim="form.hrbp" placeholder="请输入HRBP"/>
|
|
|
</el-form-item>
|
|
|
</td>
|
|
|
</tr>
|
|
@@ -187,11 +296,11 @@
|
|
|
<table class="description-table">
|
|
|
<tbody>
|
|
|
<tr class="description-tr">
|
|
|
- <th class="description-label">入职日期</th>
|
|
|
+ <th class="description-label"><i class="requiredStar" v-if="propRequred">*</i>入职日期</th>
|
|
|
<td class="description-content">
|
|
|
<el-form-item
|
|
|
prop="entryDate"
|
|
|
- :rules="{ required: propRequred, message: '请输入入职日期', trigger: 'change' }"
|
|
|
+ :rules="{ required: propRequred, message: '请选择入职日期', trigger: 'change' }"
|
|
|
>
|
|
|
<el-date-picker
|
|
|
type="date"
|
|
@@ -201,31 +310,36 @@
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</td>
|
|
|
- <th class="description-label">职位</th>
|
|
|
+ <th class="description-label"><i class="requiredStar" v-if="form.status === 'DIMISSION'">*</i>离职日期</th>
|
|
|
<td class="description-content">
|
|
|
<el-form-item
|
|
|
- prop="position"
|
|
|
- :rules="{ required: propRequred, message: '请输入职位', trigger: 'change' }"
|
|
|
+ prop="resignationDate"
|
|
|
+ :rules="[{ required: form.status === 'DIMISSION', message: '请选择离职日期', trigger: 'change' }]"
|
|
|
>
|
|
|
- <el-select v-model.trim="form.position"
|
|
|
- clearable
|
|
|
- filterable
|
|
|
- size="mini"
|
|
|
- placeholder="请选择职位">
|
|
|
- <el-option label="指导老师"
|
|
|
- value="ADVISER"></el-option>
|
|
|
- <el-option label="乐团主管"
|
|
|
- value="ACADEMIC"></el-option>
|
|
|
- <el-option label="乐队指导"
|
|
|
- value="TEACHING"></el-option>
|
|
|
- </el-select>
|
|
|
+ <el-date-picker
|
|
|
+ type="date"
|
|
|
+ placeholder="选择离职日期"
|
|
|
+ size="mini"
|
|
|
+ v-model="form.resignationDate"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</td>
|
|
|
- <th class="description-label">分部</th>
|
|
|
+ <th class="description-label"><i class="requiredStar" v-if="form.status === 'DIMISSION'">*</i>离职原因</th>
|
|
|
+ <td class="description-content">
|
|
|
+ <el-form-item
|
|
|
+ prop="resignationReason"
|
|
|
+ :rules="[{ required: form.status === 'DIMISSION', message: '请输入离职原因', trigger: 'blur' }]"
|
|
|
+ >
|
|
|
+ <el-input size="mini" v-model.trim="form.resignationReason" placeholder="请输入离职原因"/>
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr class="description-tr">
|
|
|
+ <th class="description-label"><i class="requiredStar" v-if="propRequred">*</i>分部</th>
|
|
|
<td class="description-content">
|
|
|
<el-form-item
|
|
|
prop="organId"
|
|
|
- :rules="{ required: propRequred, message: '请选择分部', trigger: 'change' }"
|
|
|
+ :rules="[{ required: propRequred, message: '请选择分部', trigger: 'change' }]"
|
|
|
>
|
|
|
<el-select v-model.trim="form.organId"
|
|
|
placeholder='请选择分部'
|
|
@@ -242,101 +356,52 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</td>
|
|
|
- </tr>
|
|
|
- <tr class="description-tr">
|
|
|
- <th class="description-label">是否试用期</th>
|
|
|
- <td class="description-content">
|
|
|
- <el-form-item
|
|
|
- prop="isProbationPeriod"
|
|
|
- :rules="{ required: propRequred, message: '请选择是否试用期', trigger: 'change' }"
|
|
|
- >
|
|
|
- <el-select size="mini" v-model.trim="form.isProbationPeriod"
|
|
|
- clearable
|
|
|
- filterable
|
|
|
- placeholder="请选择是否试用期">
|
|
|
- <el-option label="是"
|
|
|
- :value="true"></el-option>
|
|
|
- <el-option label="否"
|
|
|
- :value="false"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </td>
|
|
|
- <th class="description-label">证件号码</th>
|
|
|
- <td class="description-content" colspan="3">
|
|
|
- <el-form-item
|
|
|
- prop="idCard"
|
|
|
- :rules="{ required: propRequred, message: '请输入证件号码', trigger: 'blur' }"
|
|
|
- >
|
|
|
- <el-input size="mini" v-model="form.idCard" placeholder="请输入证件号码"/>
|
|
|
- </el-form-item>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr class="description-tr">
|
|
|
- <th class="description-label">年龄</th>
|
|
|
- <td class="description-content">
|
|
|
- <el-form-item
|
|
|
- prop="age"
|
|
|
- :rules="[
|
|
|
- { required: propRequred, message: '请输入年龄', trigger: 'blur' }
|
|
|
- ]"
|
|
|
- >
|
|
|
- <el-input v-model="form.age" size="mini" type="number" min="1" step="1" placeholder="请输入年龄"/>
|
|
|
- </el-form-item>
|
|
|
- </td>
|
|
|
- <th class="description-label">性别</th>
|
|
|
+ <th class="description-label"><i class="requiredStar" v-if="propRequred">*</i>职位</th>
|
|
|
<td class="description-content">
|
|
|
<el-form-item
|
|
|
- prop="gender"
|
|
|
- :rules="{ required: propRequred, message: '请选择性别', trigger: 'change' }"
|
|
|
+ prop="position"
|
|
|
+ :rules="[{ required: propRequred, message: '请输入职位', trigger: 'change' }]"
|
|
|
>
|
|
|
- <el-select size="mini" v-model.trim="form.gender"
|
|
|
- clearable
|
|
|
- filterable
|
|
|
- placeholder="请选择性别">
|
|
|
- <el-option label="男"
|
|
|
- :value="true"></el-option>
|
|
|
- <el-option label="女"
|
|
|
- :value="false"></el-option>
|
|
|
+ <el-select v-model.trim="form.position"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ size="mini"
|
|
|
+ placeholder="请选择职位">
|
|
|
+ <el-option label="指导老师"
|
|
|
+ value="ADVISER"></el-option>
|
|
|
+ <el-option label="乐团主管"
|
|
|
+ value="ACADEMIC"></el-option>
|
|
|
+ <el-option label="乐队指导"
|
|
|
+ value="TEACHING"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</td>
|
|
|
- <th class="description-label">离职日期</th>
|
|
|
+ <th class="description-label"><i class="requiredStar" v-if="propRequred">*</i>声部</th>
|
|
|
<td class="description-content">
|
|
|
- <el-form-item
|
|
|
- prop="resignationDate"
|
|
|
- :rules="{ required: form.status === 'DIMISSION', message: '请选择离职日期', trigger: 'change' }"
|
|
|
+ <el-form-item prop="jobSubjectIdList"
|
|
|
+ :rules="[{ required: propRequred, message: '请选择声部', trigger: 'change' }]"
|
|
|
>
|
|
|
- <el-date-picker
|
|
|
- type="date"
|
|
|
- placeholder="选择离职日期"
|
|
|
+ <el-select
|
|
|
size="mini"
|
|
|
- v-model="form.resignationDate"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr class="description-tr">
|
|
|
- <th class="description-label">开户行</th>
|
|
|
- <td class="description-content">
|
|
|
- <el-form-item
|
|
|
- prop="bankAddress"
|
|
|
- :rules="{ required: propRequred, message: '请输入开户行', trigger: 'blur' }"
|
|
|
- >
|
|
|
- <el-input size="mini" v-model="form.bankAddress" placeholder="请输入开户行"/>
|
|
|
- </el-form-item>
|
|
|
- </td>
|
|
|
- <th class="description-label">银行卡号</th>
|
|
|
- <td class="description-content" colspan="3">
|
|
|
- <el-form-item
|
|
|
- prop="bankCardNo"
|
|
|
- :rules="{ required: propRequred, message: '请输入银行卡号', trigger: 'blur' }"
|
|
|
- >
|
|
|
- <el-input size="mini" v-model="form.bankCardNo" placeholder="请输入银行卡号"/>
|
|
|
+ v-model.trim="form.jobSubjectIdList"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ multiple
|
|
|
+ collapse-tags
|
|
|
+ placeholder='请选择声部'
|
|
|
+ >
|
|
|
+ <el-option v-for='(item,index) in subjectList'
|
|
|
+ :key="index"
|
|
|
+ :value="String(item.id)"
|
|
|
+ :label="item.name"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr class="description-tr">
|
|
|
- <th class="description-label">紧急联系人姓名</th>
|
|
|
+ <th class="description-label"><i class="requiredStar" v-if="propRequred">*</i>紧急联系人姓名</th>
|
|
|
<td class="description-content">
|
|
|
<el-form-item
|
|
|
prop="emergencyContactName"
|
|
@@ -345,7 +410,7 @@
|
|
|
<el-input size="mini" v-model.trim="form.emergencyContactName" placeholder="请输入紧急联系人姓名"/>
|
|
|
</el-form-item>
|
|
|
</td>
|
|
|
- <th class="description-label">紧急联系人关系</th>
|
|
|
+ <th class="description-label"><i class="requiredStar" v-if="propRequred">*</i>紧急联系人关系</th>
|
|
|
<td class="description-content">
|
|
|
<el-form-item
|
|
|
prop="emergencyContactRelation"
|
|
@@ -354,7 +419,7 @@
|
|
|
<el-input size="mini" v-model.trim="form.emergencyContactRelation" placeholder="请输入紧急联系人关系"/>
|
|
|
</el-form-item>
|
|
|
</td>
|
|
|
- <th class="description-label">紧急联系人电话</th>
|
|
|
+ <th class="description-label"><i class="requiredStar" v-if="propRequred">*</i>紧急联系人电话</th>
|
|
|
<td class="description-content">
|
|
|
<el-form-item
|
|
|
prop="emergencyContactPhone"
|
|
@@ -367,30 +432,96 @@
|
|
|
</el-form-item>
|
|
|
</td>
|
|
|
</tr>
|
|
|
+ <tr class="description-tr">
|
|
|
+ <th class="description-label">开户行</th>
|
|
|
+ <td class="description-content">
|
|
|
+ <el-form-item
|
|
|
+ prop="bankAddress">
|
|
|
+ <el-input size="mini" v-model="form.bankAddress" placeholder="请输入开户行"/>
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ <th class="description-label">银行卡号</th>
|
|
|
+ <td class="description-content" colspan="3">
|
|
|
+ <el-form-item
|
|
|
+ prop="bankCardNo">
|
|
|
+ <el-input size="mini" v-model="form.bankCardNo" placeholder="请输入银行卡号"/>
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
</div>
|
|
|
</el-form>
|
|
|
+
|
|
|
+ <div class="tableWrap" style="margin-top: 20px;" v-if="formActionTitle == 'update'">
|
|
|
+ <div class="description-title head_title">
|
|
|
+ <span>在职信息</span>
|
|
|
+ <span class="createRecord" @click="onCreateRecord" v-if="$helpers.permission('employeeInfo/insertVisit')">新增沟通记录 >></span>
|
|
|
+ </div>
|
|
|
+ <el-table
|
|
|
+ style="width: 100% !important"
|
|
|
+ :data="tableList"
|
|
|
+ :header-cell-style="{ background: '#fafafa', color: '#444', borderTop: '1px solid #ebeef5' }"
|
|
|
+ >
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ prop="createTime"
|
|
|
+ label="沟通时间"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column align="center" prop="operatorName" label="沟通人">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="content" label="沟通结论" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <!-- <el-tooltip
|
|
|
+ class="item"
|
|
|
+ effect="dark"
|
|
|
+ :content="scope.row.content"
|
|
|
+ placement="top"
|
|
|
+ > -->
|
|
|
+ {{ scope.row.content }}
|
|
|
+ <!-- </el-tooltip> -->
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="nextVisitDate" label="下次沟通时间">
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+
|
|
|
<span class="dialog-footer">
|
|
|
<el-button @click="close('ruleForm')">取 消</el-button>
|
|
|
<el-button type="primary" class="main-button" @click="onTypeSubmit('ruleForm')">确 定</el-button>
|
|
|
</span>
|
|
|
+
|
|
|
+ <el-dialog
|
|
|
+ title="新增沟通记录"
|
|
|
+ :visible.sync="recordStatus"
|
|
|
+ destroy-on-close
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ width="500px"
|
|
|
+ append-to-body
|
|
|
+ >
|
|
|
+ <create-record
|
|
|
+ v-if="recordStatus"
|
|
|
+ :employeeInfoId="detail.id"
|
|
|
+ @close="recordStatus = false"
|
|
|
+ @getList="getRecordList"
|
|
|
+ ></create-record>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
// import Vue from 'vue'
|
|
|
-import { employeeCreate, employeeUpdate } from '@/api/appTenant'
|
|
|
-import Descriptions from '@/components/Descriptions'
|
|
|
-
|
|
|
-// Vue.use(Descriptions)
|
|
|
+import { employeeCreate, employeeUpdate, employeeQueryDetail } from '@/api/appTenant'
|
|
|
+import CreateRecord from './createRecord.vue'
|
|
|
export default {
|
|
|
name: 'hrform',
|
|
|
- props: ['detail', 'subjectList', 'organList', 'close', 'getList'],
|
|
|
+ props: ['detail', 'subjectList', 'organList', 'close', 'getList', 'formActionTitle'],
|
|
|
components: {
|
|
|
- descriptions: Descriptions
|
|
|
+ CreateRecord
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ recordStatus: false,
|
|
|
realName: '',
|
|
|
form: {
|
|
|
age: '',
|
|
@@ -448,7 +579,8 @@ export default {
|
|
|
subjectIdList: [
|
|
|
{ required: true, message: '请选择声部', trigger: 'change' },
|
|
|
],
|
|
|
- }
|
|
|
+ },
|
|
|
+ tableList: []
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
@@ -458,6 +590,9 @@ export default {
|
|
|
},
|
|
|
mounted() {
|
|
|
this.updateData()
|
|
|
+ if(this.formActionTitle == 'update') {
|
|
|
+ this.getRecordList()
|
|
|
+ }
|
|
|
},
|
|
|
computed: {
|
|
|
propRequred() {
|
|
@@ -477,23 +612,23 @@ export default {
|
|
|
this.detail.age = ''
|
|
|
}
|
|
|
this.form = Object.assign({
|
|
|
- educations: [{level: '', school: '', year: ''}]
|
|
|
+ educations: [{level: '', school: '', year: '', subject: ''}]
|
|
|
}, this.detail)
|
|
|
try {
|
|
|
this.form.educations = JSON.parse(this.detail.educationalBackground)
|
|
|
if (this.form.educations.length < 1) {
|
|
|
- this.form.educations = [{level: '', school: '', year: ''}]
|
|
|
+ this.form.educations = [{level: '', school: '', year: '', subject: ''}]
|
|
|
}
|
|
|
this.form = {...this.form}
|
|
|
} catch (error) {}
|
|
|
} else {
|
|
|
- this.form.educations = [{level: '', school: '', year: ''}]
|
|
|
+ this.form.educations = [{level: '', school: '', year: '', subject: ''}]
|
|
|
this.form = {...this.form}
|
|
|
}
|
|
|
this.$refs['ruleForm'].resetFields()
|
|
|
},
|
|
|
addEducation() {
|
|
|
- this.form.educations = [...this.form.educations, {level: '', school: '', year: ''}]
|
|
|
+ this.form.educations = [...this.form.educations, {level: '', school: '', year: '', subject: ''}]
|
|
|
this.form = {...this.form}
|
|
|
},
|
|
|
removeEducation(index) {
|
|
@@ -530,8 +665,17 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
mobileOrWechatValidate() {
|
|
|
- this.$refs['ruleForm'].validateField('wechatNo')
|
|
|
this.$refs['ruleForm'].validateField('mobileNo')
|
|
|
+ },
|
|
|
+ onCreateRecord() {
|
|
|
+ // 新增沟通记录
|
|
|
+ this.recordStatus = true
|
|
|
+ },
|
|
|
+ getRecordList() {
|
|
|
+ employeeQueryDetail({ id: this.detail.id }).then(res => {
|
|
|
+ let result = res.data.employeeVisitList || []
|
|
|
+ this.tableList = result
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -555,7 +699,7 @@ export default {
|
|
|
margin-top: 20px;
|
|
|
}
|
|
|
.description-title {
|
|
|
- margin-bottom: 20px;
|
|
|
+ margin-bottom: 10px;
|
|
|
color: rgba(0,0,0,.85);
|
|
|
font-weight: 700;
|
|
|
font-size: 16px;
|
|
@@ -581,21 +725,22 @@ export default {
|
|
|
.description-view .description-label {
|
|
|
border-right: 1px solid #e8e8e8;
|
|
|
background-color: #fafafa;
|
|
|
- color: rgba(0, 0, 0, 0.85);
|
|
|
+ color: #000;
|
|
|
font-weight: 400;
|
|
|
font-size: 14px;
|
|
|
line-height: 22px;
|
|
|
/* margin-right: 8px; */
|
|
|
- padding: 12px 16px;
|
|
|
+ // padding: 0 16px;
|
|
|
+ width: 140px;
|
|
|
white-space: nowrap;
|
|
|
display: table-cell;
|
|
|
}
|
|
|
- .description-view .description-label:after {
|
|
|
- content: ""; /** content: ":" */
|
|
|
- margin: 0 8px 0 2px;
|
|
|
- position: relative;
|
|
|
- top: -0.5px;
|
|
|
- }
|
|
|
+ // .description-view .description-label:after {
|
|
|
+ // content: ""; /** content: ":" */
|
|
|
+ // margin: 0 8px 0 2px;
|
|
|
+ // position: relative;
|
|
|
+ // top: -0.5px;
|
|
|
+ // }
|
|
|
.description-view .description-content {
|
|
|
white-space: nowrap;
|
|
|
overflow: hidden;
|
|
@@ -603,8 +748,8 @@ export default {
|
|
|
border-right: 1px solid #e8e8e8;
|
|
|
font-size: 14px;
|
|
|
line-height: 1.5;
|
|
|
- padding: 12px 16px;
|
|
|
- padding-bottom: 0;
|
|
|
+ // padding: 12px 16px;
|
|
|
+ // padding-bottom: 0;
|
|
|
color: rgba(0, 0, 0, 0.65);
|
|
|
display: table-cell;
|
|
|
}
|
|
@@ -613,10 +758,40 @@ export default {
|
|
|
}
|
|
|
.form{
|
|
|
/deep/ .el-form-item{
|
|
|
- margin-bottom: 12px;
|
|
|
+ margin-bottom: 0;
|
|
|
+ &.is-error {
|
|
|
+ input::-webkit-input-placeholder {
|
|
|
+ color: red;
|
|
|
+ }
|
|
|
+ input::-moz-placeholde{
|
|
|
+ color: red;
|
|
|
+ }
|
|
|
+ input::-ms-input-placeholder {
|
|
|
+ color: red;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
/deep/ .el-form-item__error{
|
|
|
display: none;
|
|
|
}
|
|
|
+ /deep/.el-input__inner {
|
|
|
+ border: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ .requiredStar {
|
|
|
+ padding-right: 3px;
|
|
|
+ font-style: normal;
|
|
|
+ color: red;
|
|
|
+ }
|
|
|
+ .head_title {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ .createRecord {
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #14928a;
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|