1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150 |
- @extends('module.layouts.content')
- @push('meta')
- @endpush
- @push('css')
- <link href="{{ theme_asset('app/css/common.css') }}" rel="stylesheet">
- <link href="{{theme_asset('app/css/recruit/recruit.css')}}" rel="stylesheet" type="text/css"/>
- <link href="{{theme_asset('app/css/element.css')}}" rel="stylesheet" type="text/css"/>
- <style>
- table,table tr th, table tr td { border:1px solid #ccc; padding: 0 7px}
- table { width: 100%; min-height: 25px; line-height: 25px; text-align: center; border-collapse: collapse; padding:2px;}
- .el-form-item{
- margin-bottom: 0;
- }
- .require{
- color: #f56c6c;
- }
- .avatar-uploader{
- padding: 15px;
- }
- .avatar-uploader .el-upload {
- border: 1px dashed #d9d9d9;
- border-radius: 6px;
- cursor: pointer;
- position: relative;
- overflow: hidden;
- display: inline-block;
- vertical-align: middle;
- }
- .avatar-uploader .el-upload:hover {
- border-color: #409EFF;
- }
- .avatar-uploader-icon {
- font-size: 28px;
- color: #8c939d;
- width: 178px;
- height: 178px;
- line-height: 178px;
- text-align: center;
- }
- .avatar {
- width: 178px;
- height: 178px;
- display: block;
- }
- .ticket{
- border:3px solid #000;
- padding:10px;
- }
- .ticket h2{
- text-align:center;
- font:normal 20px/40px "microsoft yahei";
- }
- .ticket h3{
- text-align:center;
- font:normal 24px/30px "microsoft yahei";
- }
- .ex_rule{
- margin-top: 20px;
- }
- .ex_rule h4{
- font-size: 20px;
- line-height:50px;
- }
- .ex_rule p{
- text-indent: 30px;
- line-height: 25px;
- }
- .ticket .item{
- line-height: 30px;
- }
- @page {
- size: auto A4 landscape;
- margin: 3mm; /* this affects the margin in the printer settings */
- }
- </style>
- @endpush
- @push('js')
- @endpush
- @section('content')
- <div class="recruit_container" id="app" style="margin-top: 20px">
- <div role="alert" class="el-message el-message--error" style="position:relative" v-if="user.audit == 2">
- <i class="el-message__icon el-icon-error"></i>
- <p class="el-message__content">@{{ user.audit_log }}</p>
- </div>
- <div role="alert" class="el-message el-message--info" style="position:relative" v-if="user.audit == 1">
- <i class="el-message__icon el-icon-info"></i>
- <p class="el-message__content">您的报名资料正在审核中</p>
- </div>
- <div role="alert" class="el-message el-message--success" style="position:relative" v-if="user.audit == 3">
- <i class="el-message__icon el-icon-success"></i>
- <p class="el-message__content">您的报名资料已审核成功</p>
- </div>
- <p style="text-align:center;line-height:37px;margin-top: 30px">
- <span style=";font-family:方正小标宋简体;font-size:29px"><span style="font-family:方正小标宋简体">{{$title}}公开招聘工作人员报名表</span></span>
- </p>
- <el-form :model="user" ref="userForm" :status-icon="true" :show-message="false" :rules="rules" :disabled="formDisable">
- <table cellspacing="0" width="100%">
- <tbody>
- <tr style="height:52px;page-break-inside:avoid" class="firstRow">
- <td valign="center" width="100">
- <span class="require">*</span>姓名
- </td>
- <td valign="center" colspan="4" width="200">
- <el-form-item prop="realname" >
- <el-input v-model="user.realname" placeholder="请输入您的姓名" style="width: 200px"></el-input>
- </el-form-item>
- </td>
- <td valign="center" width="80">
- <span class="require">*</span>性别
- </td>
- <td valign="center" colspan="2">
- <el-form-item prop="sex" >
- <el-radio label="1" v-model="user.sex">男</el-radio>
- <el-radio label="0" v-model="user.sex">女</el-radio>
- </el-form-item>
- </td>
- <td valign="center" width="100">
- <span class="require">*</span>出生年月
- </td>
- <td valign="center" colspan="2" width="200">
- <el-form-item prop="birthday">
- <el-date-picker
- v-model="user.birthday"
- type="date"
- placeholder="选择您的出生年月日"
- value-format="yyyy-MM-dd">
- </el-date-picker>
- </el-form-item>
- </td>
- <td valign="center" rowspan="3" width="200">
- <el-form-item prop="avatar" ref="avatar">
- <el-upload
- class="avatar-uploader"
- action="{{ route('recruit.api.upload') }}"
- ref="user_avatar"
- :data="{name:'avatar',_token:'{{csrf_token()}}'}"
- :show-file-list="false"
- :before-upload="beforeImageUpload"
- :on-success="uploadSuccess">
- <img v-if="this.user.avatar" :src="this.user.avatar" class="avatar">
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
- </el-upload>
- </el-form-item>
- <div><span><span class="require">*</span>近期免冠证件照(2M以内)</span></div>
- </td>
- </tr>
- <tr style="height:52px;page-break-inside:avoid">
- <td valign="center" >
- <span class="require">*</span>身份证号码
- </td>
- <td valign="center" colspan="4" >
- <el-form-item prop="card">
- <el-input v-model="user.card" placeholder="请输入身份证号码 "></el-input>
- </el-form-item>
- </td>
- <td valign="center">
- <span class="require">*</span>民族
- </td>
- <td valign="center" colspan="2" >
- <el-form-item prop="nation">
- <el-input v-model="user.nation" placeholder="请输入您的民族"></el-input>
- </el-form-item>
- </td>
- <td valign="center" >
- <span class="require">*</span>籍贯
- </td>
- <td valign="center" colspan="2">
- <el-form-item prop="native_place">
- <el-input v-model="user.native_place" placeholder="请输入您的籍贯"></el-input>
- </el-form-item>
- </td>
- </tr>
- <tr style="height:52px;page-break-inside:avoid">
- <td valign="center" >
- <span class="require">*</span>政治面貌
- </td>
- <td valign="center" colspan="4" >
- <el-form-item prop="political_affiliation">
- <el-select v-model="user.political_affiliation" placeholder="请选择">
- <el-option
- v-for="item in political_affiliation"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- </td>
- <td valign="center" >
- 入党时间
- </td>
- <td valign="center" colspan="2">
- <el-input v-model="user.join_time" placeholder="非党员请放空"></el-input>
- </td>
- <td valign="center" >
- <span class="require">*</span>户籍所在地
- </td>
- <td valign="center" colspan="2" >
- <el-form-item prop="house_register">
- <el-input v-model="user.house_register" placeholder="按市县填写,如泉州晋江"></el-input>
- </el-form-item>
- </td>
- </tr>
- <tr style="height:52px;page-break-inside:avoid">
- <td valign="center" colspan="8" >
- <el-form-item prop="education" label="学历" label-width="70px">
- <el-select v-model="user.education" placeholder="请选择学历">
- <el-option label="小学" value="小学"></el-option>
- <el-option label="初中" value="初中"></el-option>
- <el-option label="技校" value="技校"></el-option>
- <el-option label="职高" value="职高"></el-option>
- <el-option label="高中" value="高中"></el-option>
- <el-option label="中专" value="中专"></el-option>
- <el-option label="专科" value="专科"></el-option>
- <el-option label="本科" value="本科"></el-option>
- <el-option label="硕士" value="硕士"></el-option>
- <el-option label="博士" value="博士"></el-option>
- </el-select>
- </el-form-item>
- </td>
- <td valign="center" >
- <span class="require">*</span>毕业院校
- </td>
- <td valign="center" colspan="4" >
- <el-form-item prop="school">
- <el-input v-model="user.school" autosize placeholder="请输入毕业院校"></el-input>
- </el-form-item>
- </td>
- </tr>
- <tr style="height:52px;page-break-inside:avoid">
- <td valign="center" colspan="8" >
- <el-form-item prop="degree" label="学位" label-width="70px">
- <el-select v-model="user.degree" placeholder="请选择学位">
- <el-option label="" value=""></el-option>
- <el-option label="学士学位" value="学士学位"></el-option>
- <el-option label="硕士学位" value="硕士学位"></el-option>
- <el-option label="博士学位" value="博士学位"></el-option>
- </el-select>
- </el-form-item>
- </td>
- <td valign="center" >
- <span class="require">*</span>所学专业
- </td>
- <td valign="center" colspan="4" >
- <el-form-item prop="pro">
- <el-input v-model="user.pro" autosize placeholder="多专业请用;分隔"></el-input>
- </el-form-item>
- </td>
- </tr>
- <tr style="height:52px;page-break-inside:avoid">
- <td valign="center" >
- <span class="require">*</span>联系电话
- </td>
- <td valign="center" colspan="7" >
- <el-form-item prop="mobile">
- <el-input v-model="user.mobile" placeholder="请输入联系电话"></el-input>
- </el-form-item>
- </td>
- <td valign="center" colspan="1" >
- <span class="require">*</span>电子邮箱
- </td>
- <td valign="center" colspan="3" >
- <el-form-item prop="email">
- <el-input v-model="user.email" placeholder="请输入电子邮箱"></el-input>
- </el-form-item>
- </td>
- </tr>
- <tr style="height:52px;page-break-inside:avoid">
- <td valign="center">
- <span class="require">*</span>通信地址
- </td>
- <td valign="center" colspan="7" >
- <el-form-item prop="address">
- <el-input v-model="user.address" placeholder="请输入地址"></el-input>
- </el-form-item>
- </td>
- <td valign="center" >
- <span class="require">*</span>报名岗位
- </td>
- <td valign="center" colspan="3" >
- <el-form-item prop="post_id">
- <el-select v-model="user.post_id" placeholder="请选择报名岗位" @change="postChange">
- <el-option
- v-for="item in post_data"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- </td>
- </tr>
- <tr style="height:52px;page-break-inside:avoid">
- <td valign="center">
- 现工作单位及职务
- </td>
- <td valign="center" colspan="7" >
- <el-input v-model="user.work" placeholder="请输入现工作单位及职务"></el-input>
- </td>
- <td valign="center" >
- 职称或职业资格
- </td>
- <td valign="center" colspan="3">
- <el-input v-model="user.titles" placeholder="请输入职称或职业资格"></el-input>
- </td>
- </tr>
- <tr style="height:52px;page-break-inside:avoid">
- <td valign="center" >
- <span class="require">*</span>紧急联系人<br />姓名
- </td>
- <td valign="center" colspan="7" >
- <el-form-item prop="concat_name">
- <el-input v-model="user.concat_name" placeholder="请输入紧急联系人姓名"></el-input>
- </el-form-item>
- </td>
- <td valign="center">
- <span class="require">*</span>联系电话
- </td>
- <td valign="center" colspan="7" >
- <el-form-item prop="concat_mobile">
- <el-input v-model="user.concat_mobile" placeholder="请输入联系电话"></el-input>
- </el-form-item>
- </td>
- </tr>
- @if(in_array('expand_special',$module))
- <tr style="height:52px;page-break-inside:avoid">
- <td valign="center" >
- 是否申请加分
- </td>
- <td valign="center" colspan="4">
- <el-form-item prop="special.point_apply" >
- <el-radio label="1" v-model="user.special.point_apply">是</el-radio>
- <el-radio label="0" v-model="user.special.point_apply">否</el-radio>
- </el-form-item>
- </td>
- <td valign="center" colspan="3">
- 符合哪一项加分条件
- </td>
- <td valign="center" colspan="4" >
- <el-form-item prop="special_condition">
- <el-input v-model="user.special.condition" placeholder="请输入您符合的加分条件" :disabled="special_switch"></el-input>
- </el-form-item>
- </td>
- </tr>
- <tr style="height:52px;page-break-inside:avoid">
- <td valign="center" >
- 申请加分佐证材料
- </td>
- <td valign="center" colspan="11">
- <el-form-item prop="special_material" ref="special_material">
- <div style="padding: 10px 0">
- <el-upload
- action="{{ route('recruit.api.upload') }}"
- list-type="picture-card"
- :data="{_token:'{{csrf_token()}}'}"
- :file-list="user.special.material"
- :before-upload="beforeImageUpload"
- :on-success="uploadSuccessLP"
- :disabled="special_switch"
- :multiple="true"
- :on-preview="handlePictureCardPreview"
- :on-remove="removeLP">
- <i class="el-icon-plus"></i>
- </el-upload>
- </div>
- </el-form-item>
- </td>
- </tr>
- @endif
- <tr style="height:275px;page-break-inside:avoid">
- <td valign="center" >
- <span class="require">*</span>个<br />
- 人<br />
- 简<br />
- 历
- </td>
- <td valign="center" colspan="11" >
- <el-form-item prop="resume">
- <el-input
- type="textarea"
- :rows="12"
- :placeholder="resume_tip"
- v-model="user.resume">
- </el-input>
- </el-form-item>
- </td>
- </tr>
- @if(in_array('detail',$module))
- <tr style="height:132px;page-break-inside:avoid">
- <td valign="center" >
- 培<br />
- 训<br />
- 学<br />
- 习<br />
- 经<br />
- 历
- </td>
- <td valign="center" colspan="11" >
- <el-input
- type="textarea"
- :rows="6"
- placeholder="请输入培训经历(若有)"
- v-model="user.detail.train">
- </el-input>
- </td>
- </tr>
- <tr style="height:94px;page-break-inside:avoid">
- <td valign="center" >
- 奖<br />
- 惩<br />
- 情<br />
- 况
- </td>
- <td valign="center" colspan="11" >
- <el-input
- type="textarea"
- :rows="3"
- placeholder="请输入奖惩情况(若有)"
- v-model="user.detail.rewards_and_punishments">
- </el-input>
- </td>
- </tr>
- <tr style="height:159px;page-break-inside:avoid">
- <td valign="center" >
- 个<br />
- 人<br />
- 情<br />
- 况<br />
- 介<br />
- 绍
- </td>
- <td valign="center" colspan="11" >
- <el-input
- type="textarea"
- :rows="6"
- placeholder="包括但不限于:性格能力自评;个人优缺点;考虑从原单位离职原因;选择应聘本岗位的动机。"
- v-model="user.detail.introduce">
- </el-input>
- </td>
- </tr>
- @endif
- <tr style="height:47px;page-break-inside:avoid">
- <td valign="center" :rowspan="this.user.family.length+1">
- 家庭成员及其主要社会关系<br />
- <el-button type="primary" icon="el-icon-plus" size="small" @click="addFamily">添加家庭成员</el-button><br />
- <el-button type="danger" icon="el-icon-minus" size="small" @click="delFamily">删除最后一行</el-button>
- </td>
- <td valign="center" >
- <p style=";text-align:center">
- <span style=";font-family:宋体;font-size:14px">称谓</span>
- </p>
- </td>
- <td width="200" valign="center" colspan="4" >
- <p style=";text-align:center">
- <span style=";font-family:宋体;font-size:14px">姓名</span>
- </p>
- </td>
- <td width="87" valign="center" colspan="2" >
- <p style=";text-align:center">
- <span style=";font-family:宋体;font-size:14px">出生年月</span>
- </p>
- </td>
- <td width="98" valign="center" colspan="1" >
- <p style=";text-align:center">
- <span style=";font-family:宋体;font-size:14px">政治面貌</span>
- </p>
- </td>
- <td width="241" valign="center" colspan="3" >
- <p style=";text-align:center">
- <span style=";font-family:宋体;font-size:14px">工作单位及职位</span>
- </p>
- </td>
- </tr>
- <tr style="height:52px;page-break-inside:avoid" v-for="(item,index) in user.family">
- <td width="85" valign="center">
- <el-form-item :prop="'family.'+index+'.relation'" :rules="{required: true, message: '称谓不能为空', trigger: 'blur'}">
- <el-input v-model="item.relation" placeholder="请输入称谓"></el-input>
- </el-form-item>
- </td>
- <td width="200" valign="center" colspan="4" >
- <el-form-item :prop="'family.'+index+'.realname'" :rules="{required: true, message: '真实姓名不能为空', trigger: 'blur'}">
- <el-input v-model="item.realname" placeholder="请输入真实姓名"></el-input>
- </el-form-item>
- </td>
- <td width="87" valign="center" colspan="2" >
- <el-form-item :prop="'family.'+index+'.birthday'" :rules="{required: true, message: '出生年月日不能为空', trigger: 'blur'}">
- <el-date-picker
- v-model="item.birthday"
- type="date"
- placeholder="选择出生年月日"
- value-format="yyyy-MM-dd">
- </el-date-picker>
- </el-form-item>
- </td>
- <td width="98" valign="center" colspan="1" >
- <el-form-item :prop="'family.'+index+'.political_affiliation'" :rules="{required: true, message: '请选择您的政治面貌', trigger: 'blur'}">
- <el-select v-model="item.political_affiliation" placeholder="请选择">
- <el-option
- v-for="select in political_affiliation"
- :key="select.value"
- :label="select.label"
- :value="select.value">
- </el-option>
- </el-select>
- </el-form-item>
- </td>
- <td width="241" valign="center" colspan="3" >
- <el-form-item :prop="'family.'+index+'.work'" :rules="{required: true, message: '请输入工作单位及职位', trigger: 'blur'}">
- <el-input v-model="item.work" placeholder="请输入工作单位及职位"></el-input>
- </el-form-item>
- </td>
- </tr>
- @if(in_array('identification',$module))
- <tr style="height:52px;page-break-inside:avoid">
- <td valign="center" >
- <span class="require">*</span>身份证明<br />
- (本人有效身份证正反面或其他身份证明材料)
- </td>
- <td valign="center" colspan="11">
- <el-form-item prop="identification" ref="identification">
- <div style="padding: 10px 0">
- <el-upload
- action="{{ route('recruit.api.upload') }}"
- list-type="picture-card"
- :data="{_token:'{{csrf_token()}}'}"
- :file-list="user.identification"
- :before-upload="beforeImageUpload"
- :on-success="uploadSuccessID"
- :multiple="true"
- :on-preview="handlePictureCardPreview"
- :on-remove="removeID">
- <i class="el-icon-plus"></i>
- </el-upload>
- </div>
- </el-form-item>
- </td>
- </tr>
- @endif
- @if(in_array('education_certification',$module))
- <tr style="height:52px;page-break-inside:avoid">
- <td valign="center" >
- <span class="require">*</span>学历证明<br />
- (毕业证书、学位证书、学信网等及考试要求的证明材料)
- </td>
- <td valign="center" colspan="11">
- <el-form-item prop="education_certification" ref="education_certification">
- <div style="padding: 10px 0">
- <el-upload
- action="{{ route('recruit.api.upload') }}"
- list-type="picture-card"
- :data="{_token:'{{csrf_token()}}'}"
- :file-list="user.education_certification"
- :before-upload="beforeImageUpload"
- :on-success="uploadSuccessEDU"
- :multiple="true"
- :on-preview="handlePictureCardPreview"
- :on-remove="removeEDU">
- <i class="el-icon-plus"></i>
- </el-upload>
- </div>
- </el-form-item>
- </td>
- </tr>
- @endif
- @if(in_array('other_certification',$module))
- <tr style="height:52px;page-break-inside:avoid">
- <td valign="center" >
- 其他证明<br />
- (职业资格、职称证书、党员证明、工作经历证明等)
- </td>
- <td valign="center" colspan="11">
- <div style="padding: 10px 0">
- <el-upload
- action="{{ route('recruit.api.upload') }}"
- list-type="picture-card"
- :data="{_token:'{{csrf_token()}}'}"
- :file-list="user.other_certification"
- :before-upload="beforeImageUpload"
- :on-success="uploadSuccessOther"
- :multiple="true"
- :on-preview="handlePictureCardPreview"
- :on-remove="removeOther">
- <i class="el-icon-plus"></i>
- </el-upload>
- </div>
- </td>
- </tr>
- @endif
- @if(in_array('remark',$module))
- <tr style="height:52px;page-break-inside:avoid">
- <td valign="center" >
- 备注
- </td>
- <td valign="center" colspan="11">
- <div style="padding: 10px 0">
- <el-input
- type="textarea"
- :rows="2"
- placeholder="若有备注请输入"
- v-model="user.remark">
- </el-input>
- </div>
- </td>
- </tr>
- @endif
- </tbody>
- <tfoot>
- <tr>
- <td height="52" colspan="12" style="padding: 10px 0">
- <el-form-item size="large">
- <el-button type="primary" @click="save('userForm')" v-if="user.audit != 2">资料暂存</el-button>
- <el-button type="success" @click="submit('userForm')">提交报名</el-button>
- </el-form-item>
- <p style="color: #dd4250">
- 提示:若材料准备需要时间,可以使用资料暂存功能,先保存已填写的表单,资料齐全且无误后再点击提交报名
- </p>
- </td>
- </tr>
- </tfoot>
- </table>
- </el-form>
- <el-dialog :visible.sync="dialogVisible">
- <img width="100%" :src="dialogImageUrl" alt="">
- </el-dialog>
- </div>
- @endsection
- @section('script')
- <script src="{{theme_asset('app/js/vue.min.js')}}"></script>
- <script src="{{theme_asset('app/js/axios.js')}}"></script>
- <script src="{{theme_asset('app/js/qs.min.js')}}"></script>
- <script src="{{theme_asset('app/js/element.js')}}"></script>
- <script>
- new Vue({
- el: '#app',
- data: function() {
- return {
- resume_tip:"个人简历请严格按如下格式填写:\r\n1993.09-1996.07 \t××市××中学(高中) 学生;\r\n1996.09-2000.07 \t×××××大学(本科)工商管理专业 学生;\r\n2000.09-2001.03\t待业;\r\n2001.04-2004.08\t×××××有限公司(私营企业)总务科 后勤;\r\n2004.09-2007.06\t××市××单位(事业单位)非编 经办;\r\n2005.09-2008.07\t××省×××大学(在职研究生)工商管理专业 学生;\r\n2007.08-至今\t ××省×××单位(参公事业单位)在编 科员。\r\n说明:1.从高中写起到至今,中间不可中断。\r\n \t 2.对在职学习的,应注明。",
- loading: this.$loading({
- lock: false,
- text: '加载中',
- spinner: 'el-icon-loading',
- background: 'rgba(0, 0, 0, 0.7)'
- }),
- user:eval({!! $appoint_info !!}),
- formDisable:false,
- rules:{
- realname:[
- {required: true, message: '请输入您的姓名', trigger: 'blur'}
- ],
- sex:[
- { required: true, message: '请选择性别', trigger: 'change' }
- ],
- birthday:[
- {required: true, message: '请选择出生日期', trigger: 'change' }
- ],
- avatar:[
- {required: true, message: '请上传蓝底/红底近期证件照', trigger: 'change'}
- ],
- card:[
- {required: true, message: '请输入证件号', trigger: 'blur'},
- {validator:this.validID, trigger: 'blur'}
- ],
- nation:[
- {required: true, message: '请输入您的民族', trigger: 'blur'}
- ],
- native_place:[
- {required: true, message: '请输入您的籍贯', trigger: 'blur'}
- ],
- political_affiliation:[
- {required: true, message: '请选择您的政治面貌', trigger: 'blur'}
- ],
- house_register:[
- {required: true, message: '请输入您的户籍所在地', trigger: 'blur'}
- ],
- // edu_type:[
- // {required: true, message: '请选择您的教育类型', trigger: 'change'}
- // ],
- school:[
- {required: true, message: '请输入学校信息', trigger: 'blur'}
- ],
- education:[
- {required: true, message: '请输入学历信息', trigger: 'blur'}
- ],
- pro:[
- {required: true, message: '请输入所学专业', trigger: 'blur'}
- ],
- mobile:[
- {required: true, message: '请输入手机号', trigger: 'blur'},
- {validator:this.validMobile, trigger: 'blur'}
- ],
- email:[
- {required: true, message: '请输入电子邮箱', trigger: 'blur'},
- {validator:this.validEmail, trigger: 'blur'}
- ],
- address:[
- {required: true, message: '请输入地址', trigger: 'blur'}
- ],
- post_id:[
- {required: true, message: '请选择报名岗位', trigger: 'blur'}
- ],
- is_push:[
- { required: true, message: '请选择是否接送推送', trigger: 'change' }
- ],
- concat_name:[
- {required: true, message: '请输入紧急联系人姓名', trigger: 'blur'}
- ],
- concat_mobile:[
- {required: true, message: '请输入紧急联系人电话', trigger: 'blur'}
- ],
- @if(in_array('expand_special',$module))
- //扩展验证
- special_condition:[
- {validator:this.validSpecialCondition, trigger: 'blur'}
- ],
- special_material:[
- {validator:this.validSpecialMaterial, trigger: 'change'}
- ],
- @endif
- resume:[
- {required: true, message: '请输入个人简历', trigger: 'blur'},
- ],
- @if(in_array('identification',$module))
- //身份验证
- identification:[
- {validator:this.validIdentification, trigger: 'change'}
- ],
- @endif
- @if(in_array('education_certification',$module))
- education_certification:[
- {validator:this.validEducertification, trigger: 'change'}
- ],
- @endif
- },
- init: 0,
- upload: '',
- post_data:eval({!! $post !!}),
- political_affiliation: [ //国家关于政治面貌的分类标准
- {
- value: '01',
- label: '中共党员'
- },
- {
- value: '02',
- label: '中共预备党员'
- },
- {
- value: '03',
- label: '共青团员'
- },
- {
- value: '04',
- label: '民革党员'
- },
- {
- value: '05',
- label: '民盟盟员'
- },
- {
- value: '06',
- label: '民建会员'
- },
- {
- value: '07',
- label: '民进会员'
- },
- {
- value: '08',
- label: '农工党党员'
- },
- {
- value: '09',
- label: '致公党党员'
- },
- {
- value: '10',
- label: '九三学社社员'
- },
- {
- value: '11',
- label: '台盟盟员'
- },
- {
- value: '12',
- label: '无党派人士'
- },
- {
- value: '13',
- label: '群众'
- }
- ],
- dialogImageUrl: '',
- dialogVisible: false,
- post_number:'{{$post_number}}',//当前是第几次提交报名
- post_times:'{{$post_times}}',//总共允许提交几次
- post_limit: eval({!! $post_limit !!}),//所有岗位的报名限制条件
- post_limit_value: {},//所选择的岗位限制条件
- }
- },
- methods: {
- //验证证件
- validID(rule, value, callback){
- if(!this.checkIDCard(value)) {
- callback(new Error('身份证号不正确'));
- }
- callback();
- },
- checkIDCard(cardNo){
- var weight_factor = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
- var check_code = ['1', '0', 'X' , '9', '8', '7', '6', '5', '4', '3', '2'];
- var code = cardNo + "";
- var last = cardNo[17];//最后一位
- var seventeen = code.substring(0,17);
- var arr = seventeen.split("");
- var len = arr.length;
- var num = 0;
- for(var i = 0; i < len; i++){
- num = num + arr[i] * weight_factor[i];
- }
- var resisue = num%11;
- var last_no = check_code[resisue];
- var idcard_patter = /^[1-9][0-9]{5}([1][9][0-9]{2}|[2][0][0|1][0-9])([0][1-9]|[1][0|1|2])([0][1-9]|[1|2][0-9]|[3][0|1])[0-9]{3}([0-9]|[X])$/;
- var format = idcard_patter.test(cardNo);
- return last === last_no && format ? true : false;
- },
- //验证手机号码
- validMobile(rule, value, callback){
- if(!(/^1[3456789]\d{9}$/.test(value))){
- callback(new Error('手机号码不正确'));
- }
- callback();
- },
- //验证邮箱
- validEmail(rule, value, callback){
- if(!(/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/.test(value))){
- callback(new Error('电子邮箱不正确'));
- }
- callback();
- },
- //验证头像
- validAvatar(rule, value, callback){
- callback();
- },
- validSpecialCondition(rule, value, callback){
- if(this.user.special.point_apply == 1 && this.user.special.condition == ''){
- callback(new Error('请输入符合加分的条件'));
- }else{
- callback();
- }
- },
- validSpecialMaterial(rule, value, callback){
- if(this.user.special.point_apply == 1 && this.user.special.material.length == 0){
- callback(new Error('请上传佐证材料'));
- }else{
- callback();
- }
- },
- validIdentification(rule, value, callback){
- if(this.user.identification.length == 0){
- callback(new Error('请上传身份证明证件'));
- }else{
- callback();
- }
- },
- validEducertification(rule, value, callback){
- if(this.user.education_certification.length == 0){
- callback(new Error('请上传学历证明证件'));
- }else{
- callback();
- }
- },
- beforeImageUpload(file) {
- const isJPG = (file.type === 'image/jpeg' || file.type === 'image/png');
- const isLt2M = file.size / 1024 / 1024 < 2;
- if (!isJPG) {
- this.$message.error('上传图片只能是 JPG、PNG 格式!');
- }
- if (!isLt2M) {
- this.$message.error('上传图片大小不能超过 2MB!');
- }
- return isJPG && isLt2M;
- },
- uploadSuccess(response, file, fileList){
- if(response.status){
- this.user.avatar = response.path;
- }else{
- this.$message.error(response.msg);
- }
- },
- uploadSuccessLP(response, file, fileList){
- if(response.status){
- this.user.special.material = fileList
- }else{
- this.$message.error(response.msg);
- }
- },
- uploadSuccessID(response, file, fileList){
- if(response.status){
- this.user.identification = fileList
- }else{
- this.$message.error(response.msg);
- }
- },
- uploadSuccessEDU(response, file, fileList){
- if(response.status){
- this.user.education_certification = fileList
- }else{
- this.$message.error(response.msg);
- }
- },
- uploadSuccessOther(response, file, fileList){
- if(response.status){
- this.user.other_certification = fileList
- }else{
- this.$message.error(response.msg);
- }
- },
- removeID(file,fileList) {
- this.user.identification = fileList
- },
- removeLP(file,fileList) {
- this.user.special.material = fileList
- },
- removeEDU(file,fileList) {
- this.user.education_certification = fileList
- },
- removeOther(file,fileList) {
- this.user.other_certification = fileList
- },
- handlePictureCardPreview(file){
- this.dialogImageUrl = file.url;
- this.dialogVisible = true;
- },
- postChange(value){
- this.post_limit_value = this.post_limit[value];
- },
- save(formName){
- this.user.operation = 1;
- this.$refs[formName].validate((valid,object) => {
- if (valid) {
- this.loading = this.$loading({
- lock: false,
- text: '加载中',
- spinner: 'el-icon-loading',
- background: 'rgba(0, 0, 0, 0.7)'
- });
- this.user._token = '{{csrf_token()}}';
- axios.post("{{route('recruit.save_sign_up')}}",Qs.stringify(this.user)).then(response => {
- if(response.data.status){
- this.$alert(response.data.msg, '提交成功', {
- confirmButtonText: '确定',
- callback: action => {
- window.location.reload();
- }
- });
- }else{
- this.$message.error(response.data.msg);
- this.loading.close();
- return false;
- }
- });
- } else {
- for(let key in object){
- this.$message.error(object[key][0].message);
- return false;
- }
- return false;
- }
- })
- },
- submit(formName){
- this.user.operation = 2;
- this.$refs[formName].validate((valid,object) => {
- if (valid) {
- if(this.post_limit_value != '' || this.post_limit_value != null){
- for(let key in this.post_limit_value){//职位条件限制
- switch(this.post_limit_value[key].op){
- case '=':
- if(this.user[key] != this.post_limit_value[key].value){
- this.$message.error(this.post_limit_value[key].msg);
- return false;
- }
- break;
- case '>':
- if(key == 'birthday'){
- value = this.user[key].replace(/-/g,'');
- }else{
- value = this.user[key];
- }
- if(value <= this.post_limit_value[key].value){
- this.$message.error(this.post_limit_value[key].msg);
- return false;
- }
- break;
- case '>=':
- if(key == 'birthday'){
- value = this.user[key].replace(/-/g,'');
- }else{
- value = this.user[key];
- }
- if(value < this.post_limit_value[key].value){
- this.$message.error(this.post_limit_value[key].msg);
- return false;
- }
- break;
- case '<':
- if(key == 'birthday'){
- value = this.user[key].replace(/-/g,'');
- }else{
- value = this.user[key];
- }
- if(value < this.post_limit_value[key].value){
- this.$message.error(this.post_limit_value[key].msg);
- return false;
- }
- break;
- case '<=':
- if(key == 'birthday'){
- value = this.user[key].replace(/-/g,'');
- }else{
- value = this.user[key];
- }
- if(value > this.post_limit_value[key].value){
- this.$message.error(this.post_limit_value[key].msg);
- return false;
- }
- break;
- case '!=':
- if(key == 'birthday'){
- value = this.user[key].replace(/-/g,'');
- }else{
- value = this.user[key];
- }
- if(value == this.post_limit_value[key].value){
- this.$message.error(this.post_limit_value[key].msg);
- return false;
- }
- break;
- case 'like':
- if(this.user[key].indexOf(this.post_limit_value[key].value) < 0){
- this.$message.error(this.post_limit_value[key].msg);
- return false;
- }
- break;
- case 'in':
- if(this.post_limit_value[key].value.indexOf(this.user[key]) < 0){
- this.$message.error(this.post_limit_value[key].msg);
- return false;
- }
- break;
- }
- }
- }
- var msg = '报名该场次允许提交'+this.post_times+'次,当前是您第'+this.post_number+'次提交,资料请详细检查!';
- this.$confirm(msg, '提示', {
- confirmButtonText: '检查无误,确定提交',
- cancelButtonText: '我需要再检查一遍',
- type: 'warning'
- }).then(() => {
- this.loading = this.$loading({
- lock: false,
- text: '加载中',
- spinner: 'el-icon-loading',
- background: 'rgba(0, 0, 0, 0.7)'
- });
- this.user._token = '{{csrf_token()}}';
- axios.post("{{route('recruit.save_sign_up')}}",Qs.stringify(this.user)).then(response => {
- if(response.data.status){
- this.$alert(response.data.msg, '提交成功', {
- confirmButtonText: '确定',
- callback: action => {
- window.location.reload();
- }
- });
- }else{
- this.$message.error(response.data.msg);
- this.loading.close();
- return false;
- }
- });
- }).catch(() => {
- });
- } else {
- for(let key in object){
- this.$message.error(object[key][0].message);
- return false;
- }
- return false;
- }
- })
- },
- addFamily(){
- this.user.family.push({
- appellation:'',
- realname:'',
- birthday:'',
- political_attitudes:'',
- work:''
- });
- },
- delFamily(){
- var length = this.user.family.length;
- if (length > 1) {
- this.user.family.pop()
- }else{
- this.$message.error('只剩一条记录,不能再删啦');
- }
- }
- },
- computed:{
- special_switch() {
- if(this.user.special.point_apply == '0'){
- return true;
- }else{
- return false;
- }
- }
- },
- created(){
- this.loading.close();
- var formDisabled = parseInt("{{ $formDisable }}");
- if(this.user.audit == 1 || this.user.audit == 3 || formDisabled === 1){
- this.formDisable = true
- }else{
- this.formDisable = false;
- }
- }
- })
- </script>
- @endsection
|