recruit_info.blade.php 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656
  1. @extends('module.layouts.person')
  2. @push('meta')
  3. @endpush
  4. @push('css')
  5. <link href="{{ theme_asset('app/css/person/common.css') }}" rel="stylesheet">
  6. <link href="{{theme_asset('app/css/recruit/recruit.css')}}" rel="stylesheet" type="text/css"/>
  7. <link href="{{theme_asset('app/css/element.css')}}" rel="stylesheet" type="text/css"/>
  8. <style>
  9. table,table tr th, table tr td { border:1px solid #ccc; padding: 0 7px}
  10. table { width: 100%; min-height: 25px; line-height: 25px; text-align: center; border-collapse: collapse; padding:2px;}
  11. .el-form-item{
  12. margin-bottom: 0;
  13. }
  14. .require{
  15. color: #f56c6c;
  16. }
  17. .avatar-uploader{
  18. padding: 15px;
  19. }
  20. .avatar-uploader .el-upload {
  21. border-radius: 6px;
  22. cursor: pointer;
  23. position: relative;
  24. overflow: hidden;
  25. display: inline-block;
  26. vertical-align: middle;
  27. }
  28. .avatar-uploader .el-upload:hover {
  29. border-color: #409EFF;
  30. }
  31. .avatar-uploader-icon {
  32. font-size: 28px;
  33. color: #8c939d;
  34. width: 120px;
  35. height: 120px;
  36. line-height: 120px;
  37. text-align: center;
  38. border: 1px dashed #d9d9d9;
  39. }
  40. .avatar {
  41. width: 120px;
  42. height: 120px;
  43. display: block;
  44. }
  45. </style>
  46. @endpush
  47. @section('content')
  48. <div class="recruit_container" id="app" style="margin-top: 20px">
  49. <div class="res_add_title font_blue">应招前请先完善个人基本信息!</div>
  50. <el-form :model="user" ref="userForm" :show-message="false" :rules="rules">
  51. <table cellspacing="0" width="100%">
  52. <tbody>
  53. <tr style="height:52px;page-break-inside:avoid" class="firstRow">
  54. <td valign="center" width="100">
  55. <span class="require">*</span>姓名
  56. </td>
  57. <td valign="center" colspan="4" width="200">
  58. <el-form-item prop="realname" >
  59. <el-input v-model="user.realname" placeholder="请输入您的姓名" style="width: 200px"></el-input>
  60. </el-form-item>
  61. </td>
  62. <td valign="center" width="80">
  63. <span class="require">*</span>性别
  64. </td>
  65. <td valign="center" colspan="2">
  66. <el-form-item prop="sex" >
  67. <el-radio label="1" v-model="user.sex">男</el-radio>
  68. <el-radio label="0" v-model="user.sex">女</el-radio>
  69. </el-form-item>
  70. </td>
  71. <td valign="center" width="100">
  72. <span class="require">*</span>出生年月
  73. </td>
  74. <td valign="center" colspan="2" width="200">
  75. <el-form-item prop="birthday">
  76. <el-date-picker
  77. v-model="user.birthday"
  78. type="date"
  79. placeholder="选择您的出生年月日"
  80. value-format="yyyy-MM-dd">
  81. </el-date-picker>
  82. </el-form-item>
  83. </td>
  84. <td valign="center" rowspan="3" width="200">
  85. <el-form-item prop="avatar" ref="avatar">
  86. <el-upload
  87. class="avatar-uploader"
  88. action="{{ route('recruit.api.upload') }}"
  89. ref="user_avatar"
  90. :data="{name:'avatar',_token:'{{csrf_token()}}'}"
  91. :show-file-list="false"
  92. :before-upload="beforeImageUpload"
  93. :on-success="uploadSuccess">
  94. <img v-if="this.user.avatar" :src="this.user.avatar" class="avatar">
  95. <i v-else class="el-icon-plus avatar-uploader-icon"></i>
  96. </el-upload>
  97. </el-form-item>
  98. <div><span><span class="require">*</span>近期免冠证件照(2M以内)</span></div>
  99. </td>
  100. </tr>
  101. <tr style="height:52px;page-break-inside:avoid">
  102. <td valign="center" >
  103. <span class="require">*</span>身份证号码
  104. </td>
  105. <td valign="center" colspan="4" >
  106. <el-form-item prop="card">
  107. <el-input v-model="user.card" placeholder="请输入身份证号码 "></el-input>
  108. </el-form-item>
  109. </td>
  110. <td valign="center">
  111. <span class="require">*</span>民族
  112. </td>
  113. <td valign="center" colspan="2" >
  114. <el-form-item prop="nation">
  115. <el-input v-model="user.nation" placeholder="请输入您的民族"></el-input>
  116. </el-form-item>
  117. </td>
  118. <td valign="center" >
  119. <span class="require">*</span>籍贯
  120. </td>
  121. <td valign="center" colspan="2">
  122. <el-form-item prop="native_place">
  123. <el-input v-model="user.native_place" placeholder="请输入您的籍贯"></el-input>
  124. </el-form-item>
  125. </td>
  126. </tr>
  127. <tr style="height:52px;page-break-inside:avoid">
  128. <td valign="center" >
  129. <span class="require">*</span>政治面貌
  130. </td>
  131. <td valign="center" colspan="4" >
  132. <el-form-item prop="political_affiliation">
  133. <el-select v-model="user.political_affiliation" placeholder="请选择">
  134. <el-option
  135. v-for="item in political_affiliation"
  136. :key="item.value"
  137. :label="item.label"
  138. :value="item.value">
  139. </el-option>
  140. </el-select>
  141. </el-form-item>
  142. </td>
  143. <td valign="center" >
  144. 入党时间
  145. </td>
  146. <td valign="center" colspan="2">
  147. <el-input v-model="user.join_time" placeholder="非党员请放空"></el-input>
  148. </td>
  149. <td valign="center" >
  150. <span class="require">*</span>户籍所在地
  151. </td>
  152. <td valign="center" colspan="2" >
  153. <el-form-item prop="house_register">
  154. <el-input v-model="user.house_register" placeholder="请输入户籍所在地"></el-input>
  155. </el-form-item>
  156. </td>
  157. </tr>
  158. <tr style="height:52px;page-break-inside:avoid">
  159. <td valign="center" colspan="8" >
  160. <el-form-item prop="education" label="学历" label-width="70px">
  161. <el-select v-model="user.education" placeholder="请选择学历">
  162. <el-option label="小学" value="小学"></el-option>
  163. <el-option label="初中" value="初中"></el-option>
  164. <el-option label="技校" value="技校"></el-option>
  165. <el-option label="职高" value="职高"></el-option>
  166. <el-option label="高中" value="高中"></el-option>
  167. <el-option label="中专" value="中专"></el-option>
  168. <el-option label="专科" value="专科"></el-option>
  169. <el-option label="本科" value="本科"></el-option>
  170. <el-option label="硕士" value="硕士"></el-option>
  171. <el-option label="博士" value="博士"></el-option>
  172. </el-select>
  173. </el-form-item>
  174. </td>
  175. <td valign="center" >
  176. <span class="require">*</span>毕业院校
  177. </td>
  178. <td valign="center" colspan="4" >
  179. <el-form-item prop="school">
  180. <el-input v-model="user.school" autosize placeholder="请输入毕业院校"></el-input>
  181. </el-form-item>
  182. </td>
  183. </tr>
  184. <tr style="height:52px;page-break-inside:avoid">
  185. <td valign="center" colspan="8" >
  186. <el-form-item prop="degree" label="学位" label-width="70px">
  187. <el-select v-model="user.degree" placeholder="请选择学位">
  188. <el-option label="无" value="无">无</el-option>
  189. <el-option label="学士学位" value="学士学位"></el-option>
  190. <el-option label="硕士学位" value="硕士学位"></el-option>
  191. <el-option label="博士学位" value="博士学位"></el-option>
  192. </el-select>
  193. </el-form-item>
  194. </td>
  195. <td valign="center" >
  196. <span class="require">*</span>所学专业
  197. </td>
  198. <td valign="center" colspan="4" >
  199. <el-form-item prop="pro">
  200. <el-input v-model="user.pro" autosize placeholder="多专业请用;分隔"></el-input>
  201. </el-form-item>
  202. </td>
  203. </tr>
  204. <tr style="height:52px;page-break-inside:avoid">
  205. <td valign="center" >
  206. <span class="require">*</span>联系电话
  207. </td>
  208. <td valign="center" colspan="7" >
  209. <el-form-item prop="mobile">
  210. <el-input v-model="user.mobile" placeholder="请输入联系电话"></el-input>
  211. </el-form-item>
  212. </td>
  213. <td valign="center" colspan="1" >
  214. <span class="require">*</span>电子邮箱
  215. </td>
  216. <td valign="center" colspan="3" >
  217. <el-form-item prop="email">
  218. <el-input v-model="user.email" placeholder="请输入电子邮箱"></el-input>
  219. </el-form-item>
  220. </td>
  221. </tr>
  222. <tr style="height:52px;page-break-inside:avoid">
  223. <td valign="center">
  224. <span class="require">*</span>通信地址
  225. </td>
  226. <td valign="center" colspan="7" >
  227. <el-form-item prop="address">
  228. <el-input v-model="user.address" placeholder="请输入地址"></el-input>
  229. </el-form-item>
  230. </td>
  231. <td valign="center" colspan="3" >
  232. <span class="require">*</span>是否接受招考/招聘推送
  233. </td>
  234. <td valign="center" colspan="1" >
  235. <el-form-item prop="is_push" >
  236. <el-radio label="1" v-model="user.is_push">是</el-radio>
  237. <el-radio label="0" v-model="user.is_push">否</el-radio>
  238. </el-form-item>
  239. </td>
  240. </tr>
  241. <tr style="height:52px;page-break-inside:avoid">
  242. <td valign="center">
  243. 现工作单位及职务
  244. </td>
  245. <td valign="center" colspan="7" >
  246. <el-input v-model="user.work" placeholder="请输入现工作单位及职务"></el-input>
  247. </td>
  248. <td valign="center" >
  249. 职称或职业资格
  250. </td>
  251. <td valign="center" colspan="3">
  252. <el-input v-model="user.titles" placeholder="请输入职称或职业资格"></el-input>
  253. </td>
  254. </tr>
  255. <tr style="height:52px;page-break-inside:avoid">
  256. <td valign="center" >
  257. <span class="require">*</span>紧急联系人<br />姓名
  258. </td>
  259. <td valign="center" colspan="7" >
  260. <el-form-item prop="concat_name">
  261. <el-input v-model="user.concat_name" placeholder="请输入紧急联系人姓名"></el-input>
  262. </el-form-item>
  263. </td>
  264. <td valign="center">
  265. <span class="require">*</span>联系电话
  266. </td>
  267. <td valign="center" colspan="7" >
  268. <el-form-item prop="concat_mobile">
  269. <el-input v-model="user.concat_mobile" placeholder="请输入联系电话"></el-input>
  270. </el-form-item>
  271. </td>
  272. </tr>
  273. <tr style="height:275px;page-break-inside:avoid">
  274. <td valign="center" >
  275. <span class="require">*</span>个<br />
  276. &nbsp;人<br />
  277. &nbsp;简<br />
  278. &nbsp;历
  279. </td>
  280. <td valign="center" colspan="11" >
  281. <el-form-item prop="resume">
  282. <el-input
  283. type="textarea"
  284. :rows="12"
  285. :placeholder="resume_tip"
  286. v-model="user.resume">
  287. </el-input>
  288. </el-form-item>
  289. </td>
  290. </tr>
  291. <tr style="height:47px;page-break-inside:avoid">
  292. <td valign="center" :rowspan="this.user.family.length+1">
  293. 家庭成员及其主要社会关系<br />
  294. <el-button type="primary" icon="el-icon-plus" size="small" @click="addFamily">添加家庭成员</el-button><br />
  295. <el-button type="danger" icon="el-icon-minus" size="small" @click="delFamily">删除最后一行</el-button>
  296. </td>
  297. <td valign="center" >
  298. <p style=";text-align:center">
  299. <span style=";font-family:宋体;font-size:14px">称谓</span>
  300. </p>
  301. </td>
  302. <td width="200" valign="center" colspan="4" >
  303. <p style=";text-align:center">
  304. <span style=";font-family:宋体;font-size:14px">姓名</span>
  305. </p>
  306. </td>
  307. <td width="87" valign="center" colspan="2" >
  308. <p style=";text-align:center">
  309. <span style=";font-family:宋体;font-size:14px">出生年月</span>
  310. </p>
  311. </td>
  312. <td width="98" valign="center" colspan="1" >
  313. <p style=";text-align:center">
  314. <span style=";font-family:宋体;font-size:14px">政治面貌</span>
  315. </p>
  316. </td>
  317. <td width="241" valign="center" colspan="3" >
  318. <p style=";text-align:center">
  319. <span style=";font-family:宋体;font-size:14px">工作单位及职位</span>
  320. </p>
  321. </td>
  322. </tr>
  323. <tr style="height:52px;page-break-inside:avoid" v-for="(item,index) in user.family">
  324. <td width="85" valign="center">
  325. <el-form-item :prop="'family.'+index+'.relation'" :rules="{required: true, message: '称谓不能为空', trigger: 'blur'}">
  326. <el-input v-model="item.relation" placeholder="请输入称谓"></el-input>
  327. </el-form-item>
  328. </td>
  329. <td width="200" valign="center" colspan="4" >
  330. <el-form-item :prop="'family.'+index+'.realname'" :rules="{required: true, message: '真实姓名不能为空', trigger: 'blur'}">
  331. <el-input v-model="item.realname" placeholder="请输入真实姓名"></el-input>
  332. </el-form-item>
  333. </td>
  334. <td width="87" valign="center" colspan="2" >
  335. <el-form-item :prop="'family.'+index+'.birthday'" :rules="{required: true, message: '出生年月日不能为空', trigger: 'blur'}">
  336. <el-date-picker
  337. v-model="item.birthday"
  338. type="date"
  339. placeholder="选择出生年月日"
  340. value-format="yyyy-MM-dd">
  341. </el-date-picker>
  342. </el-form-item>
  343. </td>
  344. <td width="98" valign="center" colspan="1" >
  345. <el-form-item :prop="'family.'+index+'.political_affiliation'" :rules="{required: true, message: '请选择您的政治面貌', trigger: 'blur'}">
  346. <el-select v-model="item.political_affiliation" placeholder="请选择">
  347. <el-option
  348. v-for="select in political_affiliation"
  349. :key="select.value"
  350. :label="select.label"
  351. :value="select.value">
  352. </el-option>
  353. </el-select>
  354. </el-form-item>
  355. </td>
  356. <td width="241" valign="center" colspan="3" >
  357. <el-form-item :prop="'family.'+index+'.work'" :rules="{required: true, message: '请输入工作单位及职位', trigger: 'blur'}">
  358. <el-input v-model="item.work" placeholder="请输入工作单位及职位"></el-input>
  359. </el-form-item>
  360. </td>
  361. </tr>
  362. <tfoot>
  363. <tr>
  364. <td height="52" colspan="12" >
  365. <el-form-item size="large">
  366. <el-button type="primary" @click="save('userForm')">保存</el-button>
  367. </el-form-item>
  368. </td>
  369. </tr>
  370. </tfoot>
  371. </tbody>
  372. </table>
  373. </el-form>
  374. </div>
  375. @endsection
  376. @section('script')
  377. <script src="{{theme_asset('app/js/vue.min.js')}}"></script>
  378. <script src="{{theme_asset('app/js/axios.js')}}"></script>
  379. <script src="{{theme_asset('app/js/qs.min.js')}}"></script>
  380. <script src="{{theme_asset('app/js/element.js')}}"></script>
  381. <script>
  382. new Vue({
  383. el: '#app',
  384. data: function() {
  385. return {
  386. 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.对在职学习的,应注明。",
  387. loading: this.$loading({
  388. lock: false,
  389. text: '加载中',
  390. spinner: 'el-icon-loading',
  391. background: 'rgba(0, 0, 0, 0.7)'
  392. }),
  393. user:eval({!! $info !!}),
  394. rules:{
  395. realname:[
  396. {required: true, message: '请输入您的姓名', trigger: 'blur'}
  397. ],
  398. sex:[
  399. { required: true, message: '请选择性别', trigger: 'change' }
  400. ],
  401. birthday:[
  402. {required: true, message: '请选择出生日期', trigger: 'change' }
  403. ],
  404. avatar:[
  405. {required: true, message: '请上传蓝底/红底近期证件照', trigger: 'change'}
  406. ],
  407. card:[
  408. {required: true, message: '请输入证件号', trigger: 'blur'},
  409. {validator:this.validID, trigger: 'blur'}
  410. ],
  411. nation:[
  412. {required: true, message: '请输入您的民族', trigger: 'blur'}
  413. ],
  414. native_place:[
  415. {required: true, message: '请输入您的籍贯', trigger: 'blur'}
  416. ],
  417. political_affiliation:[
  418. {required: true, message: '请选择您的政治面貌', trigger: 'blur'}
  419. ],
  420. house_register:[
  421. {required: true, message: '请输入您的户籍所在地', trigger: 'blur'}
  422. ],
  423. // edu_type:[
  424. // {required: true, message: '请选择您的教育类型', trigger: 'change'}
  425. // ],
  426. school:[
  427. {required: true, message: '请输入学校信息', trigger: 'blur'}
  428. ],
  429. education:[
  430. {required: true, message: '请输入学历信息', trigger: 'blur'}
  431. ],
  432. pro:[
  433. {required: true, message: '请输入所学专业', trigger: 'blur'}
  434. ],
  435. mobile:[
  436. {required: true, message: '请输入手机号', trigger: 'blur'},
  437. {validator:this.validMobile, trigger: 'blur'}
  438. ],
  439. email:[
  440. {required: true, message: '请输入电子邮箱', trigger: 'blur'},
  441. {validator:this.validEmail, trigger: 'blur'}
  442. ],
  443. address:[
  444. {required: true, message: '请输入地址', trigger: 'blur'}
  445. ],
  446. is_push:[
  447. { required: true, message: '请选择是否接送推送', trigger: 'change' }
  448. ],
  449. concat_name:[
  450. {required: true, message: '请输入紧急联系人姓名', trigger: 'blur'}
  451. ],
  452. concat_mobile:[
  453. {required: true, message: '请输入紧急联系人电话', trigger: 'blur'}
  454. ],
  455. resume:[
  456. {required: true, message: '请输入个人简历', trigger: 'blur'},
  457. ]
  458. },
  459. political_affiliation: [ //国家关于政治面貌的分类标准
  460. {
  461. value: '01',
  462. label: '中共党员'
  463. },
  464. {
  465. value: '02',
  466. label: '中共预备党员'
  467. },
  468. {
  469. value: '03',
  470. label: '共青团员'
  471. },
  472. {
  473. value: '04',
  474. label: '民革党员'
  475. },
  476. {
  477. value: '05',
  478. label: '民盟盟员'
  479. },
  480. {
  481. value: '06',
  482. label: '民建会员'
  483. },
  484. {
  485. value: '07',
  486. label: '民进会员'
  487. },
  488. {
  489. value: '08',
  490. label: '农工党党员'
  491. },
  492. {
  493. value: '09',
  494. label: '致公党党员'
  495. },
  496. {
  497. value: '10',
  498. label: '九三学社社员'
  499. },
  500. {
  501. value: '11',
  502. label: '台盟盟员'
  503. },
  504. {
  505. value: '12',
  506. label: '无党派人士'
  507. },
  508. {
  509. value: '13',
  510. label: '群众'
  511. }
  512. ],
  513. recruit_id: '{{ $recruit_id }}'
  514. }
  515. },
  516. methods: {
  517. validID(rule, value, callback){
  518. if(!this.checkIDCard(value)) {
  519. callback(new Error('身份证号不正确'));
  520. }
  521. callback();
  522. },
  523. checkIDCard(cardNo){
  524. var weight_factor = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
  525. var check_code = ['1', '0', 'X' , '9', '8', '7', '6', '5', '4', '3', '2'];
  526. var code = cardNo + "";
  527. var last = cardNo[17];//最后一位
  528. var seventeen = code.substring(0,17);
  529. var arr = seventeen.split("");
  530. var len = arr.length;
  531. var num = 0;
  532. for(var i = 0; i < len; i++){
  533. num = num + arr[i] * weight_factor[i];
  534. }
  535. var resisue = num%11;
  536. var last_no = check_code[resisue];
  537. 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])$/;
  538. var format = idcard_patter.test(cardNo);
  539. return last === last_no && format ? true : false;
  540. },
  541. validMobile(rule, value, callback){
  542. if(!(/^1[3456789]\d{9}$/.test(value))){
  543. callback(new Error('手机号码不正确'));
  544. }
  545. callback();
  546. },
  547. validEmail(rule, value, callback){
  548. if(!(/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/.test(value))){
  549. callback(new Error('电子邮箱不正确'));
  550. }
  551. callback();
  552. },
  553. validAvatar(rule, value, callback){
  554. console.log(value)
  555. callback();
  556. },
  557. save(formName) {
  558. this.$refs[formName].validate((valid,object) => {
  559. if (valid) {
  560. this.loading = this.$loading({
  561. lock: false,
  562. text: '加载中',
  563. spinner: 'el-icon-loading',
  564. background: 'rgba(0, 0, 0, 0.7)'
  565. });
  566. this.user._token = '{{csrf_token()}}';
  567. axios.post('saveRecruitInfo',Qs.stringify(this.user)).then(response => {
  568. if(response.data.status == '0'){
  569. this.$message.error(response.data.msg);
  570. this.loading.close();
  571. return false;
  572. }else{
  573. var that = this;
  574. this.$alert(response.data.msg, '提交成功', {
  575. confirmButtonText: '确定',
  576. callback: action => {
  577. if(that.recruit_id == 0){
  578. window.location.reload();
  579. }else{
  580. window.location.href = "{{route('recruit.sign_up')}}" + '?id=' + that.recruit_id;
  581. }
  582. }
  583. });
  584. }
  585. this.loading.close();
  586. });
  587. } else {
  588. for(let key in object){
  589. this.$message.error(object[key][0].message);
  590. return false;
  591. }
  592. return false;
  593. }
  594. });
  595. },
  596. beforeImageUpload(file) {
  597. const isJPG = (file.type === 'image/jpeg' || file.type === 'image/png');
  598. const isLt2M = file.size / 1024 / 1024 < 2;
  599. if (!isJPG) {
  600. this.$message.error('上传图片只能是 JPG、PNG 格式!');
  601. }
  602. if (!isLt2M) {
  603. this.$message.error('上传图片大小不能超过 2MB!');
  604. }
  605. return isJPG && isLt2M;
  606. },
  607. uploadSuccess(response, file, fileList){
  608. if(response.status){
  609. this.user.avatar = response.path;
  610. }else{
  611. this.$message.error(response.msg);
  612. }
  613. console.log(this.user)
  614. },
  615. addFamily(){
  616. this.user.family.push({
  617. relation:'',
  618. realname:'',
  619. birthday:'',
  620. political_affiliation:'',
  621. work:''
  622. });
  623. },
  624. delFamily(){
  625. var length = this.user.family.length;
  626. if (length > 1) {
  627. this.user.family.pop()
  628. }else{
  629. this.$message.error('只剩一条记录,不能再删啦');
  630. }
  631. }
  632. },
  633. created(){
  634. this.loading.close();
  635. console.log(this.recruit_id == 0)
  636. }
  637. })
  638. </script>
  639. @endsection