info.html 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646
  1. {extend name="public/base"/}
  2. {block name="css"}
  3. <style>
  4. .content-box{width:1200px;}
  5. .bg-white {background: white;}
  6. .user_main {margin-top:20px;}
  7. .user_main .table-box {overflow: hidden;margin-top: 20px;padding:20px;box-sizing: border-box;}
  8. .res_add_title{height:50px;font-size:20px;padding-left:50px;}
  9. table.lw-table,table.lw-table tr th,table.lw-table tr td { border:1px solid #ccc; padding: 0 7px}
  10. table.lw-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. {/block}
  47. {block name="body"}
  48. <div class="content-box">
  49. <el-row class="user_main">
  50. <el-col :span="24">
  51. <div class="bg-white" style="padding:20px;">
  52. <el-page-header @back="goBack" title="返回">
  53. <template #content>
  54. <span class="text-large font-600 mr-3"> 个人资料 </span>
  55. </template>
  56. </el-page-header>
  57. </div>
  58. </el-col>
  59. <el-col :span="24">
  60. <div class="bg-white table-box">
  61. <div class="res_add_title font_blue"><el-icon size="40" style="margin-right: 10px;"><Platform></Platform></el-icon>应招前请先完善个人基本信息!</div>
  62. <el-form :model="user" ref="userForm" :show-message="false" :rules="rules" v-loading="loading">
  63. <table class="lw-table" cellspacing="0" width="100%">
  64. <tbody>
  65. <tr style="height:52px;page-break-inside:avoid" class="firstRow">
  66. <td valign="center" width="100">
  67. <span class="require">*</span>姓名
  68. </td>
  69. <td valign="center" colspan="4" width="200">
  70. <el-form-item prop="realname" >
  71. <el-input v-model="user.realname" placeholder="请输入您的姓名" style="width: 200px"></el-input>
  72. </el-form-item>
  73. </td>
  74. <td valign="center" width="80">
  75. <span class="require">*</span>性别
  76. </td>
  77. <td valign="center" colspan="2">
  78. <el-form-item prop="sex" >
  79. <el-radio label="1" v-model="user.sex">男</el-radio>
  80. <el-radio label="0" v-model="user.sex">女</el-radio>
  81. </el-form-item>
  82. </td>
  83. <td valign="center" width="100">
  84. <span class="require">*</span>出生年月
  85. </td>
  86. <td valign="center" colspan="2" width="200">
  87. <el-form-item prop="birthday">
  88. <el-date-picker
  89. v-model="user.birthday"
  90. type="date"
  91. placeholder="选择您的出生年月日"
  92. value-format="YYYY-MM-DD">
  93. </el-date-picker>
  94. </el-form-item>
  95. </td>
  96. <td valign="center" rowspan="3" width="200">
  97. <el-form-item prop="avatar" ref="avatar">
  98. <el-upload
  99. class="avatar-uploader"
  100. action="{:url('upload/image')}"
  101. ref="user_avatar"
  102. :show-file-list="false"
  103. :before-upload="beforeImageUpload"
  104. :on-success="uploadSuccess">
  105. <img v-if="user.avatar" :src="user.avatar" class="avatar">
  106. <div v-else style="text-align: center;width: 150px;height: 100px;line-height: 100px;">
  107. <el-icon :size="40"><Upload></Upload></el-icon>
  108. </div>
  109. </el-upload>
  110. </el-form-item>
  111. <div><span><span class="require">*</span>近期免冠证件照(2M以内)</span></div>
  112. </td>
  113. </tr>
  114. <tr style="height:52px;page-break-inside:avoid">
  115. <td valign="center" >
  116. <span class="require">*</span>身份证号码
  117. </td>
  118. <td valign="center" colspan="4" >
  119. <el-form-item prop="card">
  120. <el-input v-model="user.card" placeholder="请输入身份证号码 "></el-input>
  121. </el-form-item>
  122. </td>
  123. <td valign="center">
  124. <span class="require">*</span>民族
  125. </td>
  126. <td valign="center" colspan="2" >
  127. <el-form-item prop="nation">
  128. <el-input v-model="user.nation" placeholder="请输入您的民族"></el-input>
  129. </el-form-item>
  130. </td>
  131. <td valign="center" >
  132. <span class="require">*</span>籍贯
  133. </td>
  134. <td valign="center" colspan="2">
  135. <el-cascader placeholder="请选择" v-model="native_place" :options="options" :props="{value:'label'}" @change="nativeChange"></el-cascader>
  136. </td>
  137. </tr>
  138. <tr style="height:52px;page-break-inside:avoid">
  139. <td valign="center" >
  140. <span class="require">*</span>政治面貌
  141. </td>
  142. <td valign="center" colspan="4" >
  143. <el-form-item prop="political_affiliation">
  144. <el-select v-model="user.political_affiliation" placeholder="请选择">
  145. <el-option
  146. v-for="item in political_affiliation"
  147. :key="item.value"
  148. :label="item.label"
  149. :value="item.value">
  150. </el-option>
  151. </el-select>
  152. </el-form-item>
  153. </td>
  154. <td valign="center" >
  155. 入党时间
  156. </td>
  157. <td valign="center" colspan="2">
  158. <el-input v-model="user.join_time" placeholder="非党员请放空"></el-input>
  159. </td>
  160. <td valign="center" >
  161. <span class="require">*</span>户籍所在地
  162. </td>
  163. <td valign="center" colspan="2" >
  164. <el-cascader placeholder="请选择" v-model="house_register" :options="options" :props="{value:'label'}" @change="houseChange"></el-cascader>
  165. </td>
  166. </tr>
  167. <tr style="height:52px;page-break-inside:avoid">
  168. <td valign="center" colspan="8" >
  169. <el-form-item prop="education" label="学历" label-width="70px">
  170. <el-select v-model="user.education" placeholder="请选择学历">
  171. <el-option label="小学" value="小学"></el-option>
  172. <el-option label="初中" value="初中"></el-option>
  173. <el-option label="技校" value="技校"></el-option>
  174. <el-option label="职高" value="职高"></el-option>
  175. <el-option label="高中" value="高中"></el-option>
  176. <el-option label="中专" value="中专"></el-option>
  177. <el-option label="专科" value="专科"></el-option>
  178. <el-option label="本科" value="本科"></el-option>
  179. <el-option label="硕士" value="硕士"></el-option>
  180. <el-option label="博士" value="博士"></el-option>
  181. </el-select>
  182. </el-form-item>
  183. </td>
  184. <td valign="center" >
  185. <span class="require">*</span>毕业院校
  186. </td>
  187. <td valign="center" colspan="4" >
  188. <el-form-item prop="school">
  189. <el-input v-model="user.school" autosize placeholder="请输入毕业院校"></el-input>
  190. </el-form-item>
  191. </td>
  192. </tr>
  193. <tr style="height:52px;page-break-inside:avoid">
  194. <td valign="center" colspan="8" >
  195. <el-form-item prop="degree" label="学位" label-width="70px">
  196. <el-select v-model="user.degree" placeholder="请选择学位">
  197. <el-option label="无" value="无">无</el-option>
  198. <el-option label="学士学位" value="学士学位"></el-option>
  199. <el-option label="硕士学位" value="硕士学位"></el-option>
  200. <el-option label="博士学位" value="博士学位"></el-option>
  201. </el-select>
  202. </el-form-item>
  203. </td>
  204. <td valign="center" >
  205. <span class="require">*</span>所学专业
  206. </td>
  207. <td valign="center" colspan="4" >
  208. <el-form-item prop="pro">
  209. <el-input v-model="user.pro" autosize placeholder="多专业请用;分隔"></el-input>
  210. </el-form-item>
  211. </td>
  212. </tr>
  213. <tr style="height:52px;page-break-inside:avoid">
  214. <td valign="center" >
  215. <span class="require">*</span>联系电话
  216. </td>
  217. <td valign="center" colspan="7" >
  218. <el-form-item prop="mobile">
  219. <el-input v-model="user.mobile" placeholder="请输入联系电话"></el-input>
  220. </el-form-item>
  221. </td>
  222. <td valign="center" colspan="1" >
  223. <span class="require">*</span>电子邮箱
  224. </td>
  225. <td valign="center" colspan="3" >
  226. <el-form-item prop="email">
  227. <el-input v-model="user.email" placeholder="请输入电子邮箱"></el-input>
  228. </el-form-item>
  229. </td>
  230. </tr>
  231. <tr style="height:52px;page-break-inside:avoid">
  232. <td valign="center">
  233. <span class="require">*</span>通信地址
  234. </td>
  235. <td valign="center" colspan="11" >
  236. <el-form-item prop="address">
  237. <el-input v-model="user.address" placeholder="请输入地址"></el-input>
  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="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. </el-col>
  376. </el-row>
  377. </div>
  378. {/block}
  379. {block name="script"}
  380. <script src="/static/home/js/qs.min.js"></script>
  381. <script src="/static/home/js/area.js"></script>
  382. <script>
  383. function v_setup() {
  384. let base = {};
  385. base.goBack = () => {
  386. history.back();
  387. };
  388. base.loading = Vue.ref(false);
  389. base.userForm = Vue.ref();
  390. base.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.对在职学习的,应注明。";
  391. base.user = Vue.ref({$info});
  392. native_place = base.user.value.native_place.split(',');
  393. if (native_place[3] === 'undefined') {
  394. native_place.splice(3,1);
  395. }
  396. base.native_place = Vue.ref(native_place);
  397. house_register = base.user.value.house_register.split(',');
  398. if (house_register[3] === 'undefined') {
  399. house_register.splice(3,1);
  400. }
  401. base.house_register = Vue.ref(house_register);
  402. base.addFamily = () => {
  403. base.user.value.family.push({
  404. relation:'',
  405. realname:'',
  406. birthday:'',
  407. political_affiliation:'',
  408. work:''
  409. });
  410. };
  411. base.delFamily = () => {
  412. var length = base.user.value.family.length;
  413. if (length > 1) {
  414. base.user.value.family.pop()
  415. }else{
  416. ElMessage.error('只剩一条记录,不能再删啦');
  417. }
  418. };
  419. base.nativeChange = (native) => {
  420. if(native[3] != "undefined"){
  421. base.user.value.native_place = native[0] + ',' + native[1] + ',' + native[2] + ',' + native[3]
  422. }else{
  423. base.user.value.native_place = native[0] + ',' + native[1] + ',' + native[2]
  424. }
  425. };
  426. base.houseChange = (house) => {
  427. if(house[3] != "undefined"){
  428. base.user.value.house_register = house[0] + ',' + house[1] + ',' + house[2] + ',' + house[3]
  429. }else{
  430. base.user.value.house_register = house[0] + ',' + house[1] + ',' + house[2]
  431. }
  432. };
  433. base.beforeImageUpload = (file) => {
  434. const isJPG = (file.type === 'image/jpeg' || file.type === 'image/png');
  435. const isLt2M = file.size / 1024 / 1024 < 2;
  436. if (!isJPG) {
  437. ElMessage.error('上传图片只能是 JPG、PNG 格式!');
  438. }
  439. if (!isLt2M) {
  440. ElMessage.error('上传图片大小不能超过 2MB!');
  441. }
  442. return isJPG && isLt2M;
  443. };
  444. base.uploadSuccess = (response, file, fileList) => {
  445. if(!response.code){
  446. base.user.value.avatar = response.data.src;
  447. }else{
  448. ElMessage.error(response.msg);
  449. }
  450. console.log(base.user.value.avatar)
  451. };
  452. base.validID = (rule, value, callback) => {
  453. if(value.length == 18){
  454. if(!base.checkIDCard(value)) {
  455. callback(new Error('身份证号不正确'));
  456. }
  457. }
  458. callback();
  459. };
  460. base.checkIDCard = (cardNo) => {
  461. var weight_factor = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
  462. var check_code = ['1', '0', 'X' , '9', '8', '7', '6', '5', '4', '3', '2'];
  463. var code = cardNo + "";
  464. var last = cardNo[17];//最后一位
  465. var seventeen = code.substring(0,17);
  466. var arr = seventeen.split("");
  467. var len = arr.length;
  468. var num = 0;
  469. for(var i = 0; i < len; i++){
  470. num = num + arr[i] * weight_factor[i];
  471. }
  472. var resisue = num%11;
  473. var last_no = check_code[resisue];
  474. 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])$/;
  475. var format = idcard_patter.test(cardNo);
  476. return last === last_no && format ? true : false;
  477. };
  478. base.validMobile = (rule, value, callback) => {
  479. if(!(/^1[3456789]\d{9}$/.test(value))){
  480. callback(new Error('手机号码不正确'));
  481. }
  482. callback();
  483. };
  484. base.validEmail = (rule, value, callback) => {
  485. if(!(/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/.test(value))){
  486. callback(new Error('电子邮箱不正确'));
  487. }
  488. callback();
  489. };
  490. base.rules = {
  491. realname:[
  492. {required: true, message: '请输入您的姓名', trigger: 'blur'}
  493. ],
  494. sex:[
  495. { required: true, message: '请选择性别', trigger: 'change' }
  496. ],
  497. birthday:[
  498. {required: true, message: '请选择出生日期', trigger: 'change' }
  499. ],
  500. avatar:[
  501. {required: true, message: '请上传蓝底/红底近期证件照', trigger: 'change'}
  502. ],
  503. card:[
  504. {required: true, message: '请输入证件号', trigger: 'blur'},
  505. {validator:base.validID, trigger: 'blur'}
  506. ],
  507. nation:[
  508. {required: true, message: '请输入您的民族', trigger: 'blur'}
  509. ],
  510. native_place:[
  511. {required: true, message: '请输入您的籍贯', trigger: 'blur'}
  512. ],
  513. political_affiliation:[
  514. {required: true, message: '请选择您的政治面貌', trigger: 'blur'}
  515. ],
  516. house_register:[
  517. {required: true, message: '请输入您的户籍所在地', trigger: 'blur'}
  518. ],
  519. school:[
  520. {required: true, message: '请输入学校信息', trigger: 'blur'}
  521. ],
  522. education:[
  523. {required: true, message: '请输入学历信息', trigger: 'blur'}
  524. ],
  525. pro:[
  526. {required: true, message: '请输入所学专业', trigger: 'blur'}
  527. ],
  528. mobile:[
  529. {required: true, message: '请输入手机号', trigger: 'blur'},
  530. {validator:base.validMobile, trigger: 'blur'}
  531. ],
  532. email:[
  533. {required: true, message: '请输入电子邮箱', trigger: 'blur'},
  534. {validator:base.validEmail, trigger: 'blur'}
  535. ],
  536. address:[
  537. {required: true, message: '请输入地址', trigger: 'blur'}
  538. ],
  539. is_push:[
  540. { required: true, message: '请选择是否接送推送', trigger: 'change' }
  541. ],
  542. concat_name:[
  543. {required: true, message: '请输入紧急联系人姓名', trigger: 'blur'}
  544. ],
  545. concat_mobile:[
  546. {required: true, message: '请输入紧急联系人电话', trigger: 'blur'}
  547. ],
  548. resume:[
  549. {required: true, message: '请输入个人简历', trigger: 'blur'},
  550. ]
  551. };
  552. base.political_affiliation = [ //国家关于政治面貌的分类标准
  553. {
  554. value: '01',
  555. label: '中共党员'
  556. },
  557. {
  558. value: '02',
  559. label: '中共预备党员'
  560. },
  561. {
  562. value: '03',
  563. label: '共青团员'
  564. },
  565. {
  566. value: '04',
  567. label: '民革党员'
  568. },
  569. {
  570. value: '05',
  571. label: '民盟盟员'
  572. },
  573. {
  574. value: '06',
  575. label: '民建会员'
  576. },
  577. {
  578. value: '07',
  579. label: '民进会员'
  580. },
  581. {
  582. value: '08',
  583. label: '农工党党员'
  584. },
  585. {
  586. value: '09',
  587. label: '致公党党员'
  588. },
  589. {
  590. value: '10',
  591. label: '九三学社社员'
  592. },
  593. {
  594. value: '11',
  595. label: '台盟盟员'
  596. },
  597. {
  598. value: '12',
  599. label: '无党派人士'
  600. },
  601. {
  602. value: '13',
  603. label: '群众'
  604. }
  605. ];
  606. base.save = (formEl) => {
  607. if (!formEl) return;
  608. formEl.validate((valid,object) => {
  609. if (valid) {
  610. base.loading.value = true;
  611. postJson('/my/infoPost',base.user.value).then(({msg}) => {
  612. ElMessage.success(msg);
  613. base.loading.value = false;
  614. });
  615. } else {
  616. for(let key in object){
  617. ElMessage.error(object[key][0].message);
  618. return false;
  619. }
  620. return false;
  621. }
  622. })
  623. },
  624. base.options = area_list;
  625. return base;
  626. }
  627. </script>
  628. {/block}