jiazhengUserManager.vue 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611
  1. <template>
  2. <view class="admin-jiazheng-page">
  3. <view class="icon-title-navBar-box">
  4. <view @click="goUpPage" class="nav-bar-icon"></view>
  5. <text class="nav-bar-title">家政人员</text>
  6. </view>
  7. <v-tabs v-model="current" :tabs="tabs" :scroll="false" @change="changeTab" field="name"
  8. class="admin-tab-box"></v-tabs>
  9. <gerenZiliao ref="gerenZiliao" :status='status' @idCardBlur="idCardBlur" @finishDom='finishDom'
  10. @editSave="editSaveGerenziliao" @goNext="gerenziliaoNext" v-show="current ==0"></gerenZiliao>
  11. <qiuzhiXinxi ref="qiuzhiXinxi" :status='status' @editSave="editSaveQiuzhixinxi" @goNext="goNextQiuzhixinxi"
  12. v-show="current ==1">
  13. </qiuzhiXinxi>
  14. <zhaopianZiliao ref="zhaopianZiliao" :status='status' @editSave="editSaveZhaopianziliao"
  15. @goNext="goNextZhaopianZiliao" v-show="current ==2"></zhaopianZiliao>
  16. <banzhengXinxi ref="banzhengXinxi" :status='status' @goBack="goBack" @addEdit='addEdit' @addSave="addSave"
  17. @editSave="editSave" v-show="banzhengXinxiFlag">
  18. </banzhengXinxi>
  19. <banzhengXinxiList :status='status' :list="editInfo.kaozhengList" v-show="current ==3&&!banzhengXinxiFlag"
  20. @saveBanzheng="saveBanzheng" @editBanzheng="editBanzheng" @addBanzheng="addBanzheng"
  21. @deleteBanzheng="deleteBanzheng" ref="banzhengXinxiList"></banzhengXinxiList>
  22. <common-dialog ref="commonDialogRef" :title="deleteTitle" :content="deleteConcent"
  23. @confirm-btn="deleteQuerenBtn"></common-dialog>
  24. </view>
  25. </template>
  26. <script>
  27. import {
  28. ref
  29. } from "vue";
  30. import banzhengXinxi from './banzhengXinxi.vue';
  31. import banzhengXinxiList from './banzhengXinxiList.vue';
  32. import qiuzhiXinxi from './qiuzhiXinxi.vue';
  33. import zhaopianZiliao from './zhaopianZiliao.vue';
  34. import commonDialog from '@/components/dialog/commonDialog.vue';
  35. import gerenZiliao from './gerenZiliao.vue';
  36. import {
  37. getJiazhengInfo,
  38. jiazhengAdd,
  39. jiazhengUpdate,
  40. jiazhengKaozhengAdd,
  41. jiazhengKaozhengDelete,
  42. jiazhengKaozhengUpdate
  43. } from "@/api/jiazheng.js";
  44. export default {
  45. data() {
  46. return {
  47. current: 0,
  48. // tabs: ['个人资料', '求职信息', '照片资料', '办证信息']
  49. tabs: [],
  50. allData: {
  51. "birthday": "",
  52. "gender": '',
  53. "hujiDizhi": "",
  54. "hunyin": '',
  55. "icon": "",
  56. "idcard": "",
  57. "idcardUrl1": "",
  58. "idcardUrl2": "",
  59. "idtype": '',
  60. "jiankangDate": "",
  61. "jibiexinzi": "",
  62. "jiguanShengId": '',
  63. "jiguanShiId": '',
  64. "jineng": "",
  65. "jingli": "",
  66. "jingyan": "",
  67. "juzhuDizhi": "",
  68. "kaozhengList": [],
  69. //"leixing": "",
  70. "minzu": '',
  71. "qiwangxinzi": "",
  72. "realName": "",
  73. "shenghuoUrls": "",
  74. "shuxiang": '',
  75. "tijianDate": "",
  76. "tijianUrls": "",
  77. "userId": '',
  78. "userName": "",
  79. "xingzuo": '',
  80. "xingzuoFlag": false,
  81. "xueli": '',
  82. "zhengshuUrls": "",
  83. "zhuangtai": '',
  84. "jingdu": '',
  85. "weidu": ''
  86. },
  87. status: '',
  88. id: '',
  89. userId: '',
  90. banzhengXinxiFlag: false,
  91. editInfo: {},
  92. deleteConcent: '你确定要执行这个操作吗?',
  93. deleteTitle: '删除',
  94. deleteIndex: '',
  95. deleteId: '',
  96. from: '',
  97. }
  98. },
  99. components: {
  100. banzhengXinxi,
  101. banzhengXinxiList,
  102. qiuzhiXinxi,
  103. gerenZiliao,
  104. commonDialog,
  105. zhaopianZiliao
  106. },
  107. watch: {
  108. // 监听外部传入的selectedIds变化,更新selectedData
  109. current: {
  110. handler(newVal) {
  111. console.log('newValnewValnewVal', this.current);
  112. if (newVal == 1 && this.status == 'add') {
  113. console.log('this.$refs.qiuzhiXinxi', this.$refs.qiuzhiXinxi);
  114. this.$refs.qiuzhiXinxi.zhuangtai = 1
  115. }
  116. }
  117. },
  118. },
  119. onLoad(options) {
  120. let pageInfo = JSON.parse(options.pageInfo)
  121. this.status = pageInfo.status
  122. this.from = pageInfo.from
  123. this.dataHandle(pageInfo)
  124. },
  125. methods: {
  126. goBack() {
  127. this.banzhengXinxiFlag = false
  128. },
  129. editBanzheng(data, index) {
  130. console.log('dataasdf', data);
  131. this.current = 3
  132. this.banzhengXinxiFlag = true
  133. if (this.status == 'edit') {
  134. this.$refs.banzhengXinxi.editinfo(data, index)
  135. this.$refs.banzhengXinxi.currentMove('edit')
  136. } else {
  137. this.$refs.banzhengXinxi.editinfo(data, index)
  138. this.$refs.banzhengXinxi.currentMove('addEdit')
  139. }
  140. },
  141. addBanzheng(data, index) {
  142. this.banzhengXinxiFlag = true
  143. this.$refs.banzhengXinxi.resetFun()
  144. //this.current = 3
  145. // this.$refs.banzhengXinxi.resetFun()
  146. if (this.status == 'edit') {
  147. this.$refs.banzhengXinxi.currentMove('editAdd')
  148. }
  149. },
  150. deleteBanzheng(data, index) {
  151. this.deleteId = data.id
  152. this.deleteIndex = index
  153. if (data.statusBanzheng == '办证完成') {
  154. uni.showToast({
  155. title: "办证状态为办证完成禁止删除 ",
  156. icon: 'none',
  157. duration: 2000
  158. })
  159. return false
  160. }
  161. this.$refs.commonDialogRef.handleShow()
  162. },
  163. deleteQuerenBtn() {
  164. if (this.status == 'add') {
  165. this.allData.kaozhengList.splice(this.deleteIndex, 1)
  166. this.editInfo.kaozhengList.splice(this.deleteIndex, 1)
  167. } else {
  168. jiazhengKaozhengDelete({
  169. ids: [this.deleteId]
  170. }).then(res => {
  171. if (res.code == 0) {
  172. uni.showToast({
  173. title: "成功",
  174. icon: 'none',
  175. duration: 2000
  176. })
  177. this.editInfo.kaozhengList.splice(this.deleteIndex, 1);
  178. if (this.editInfo.kaozhengList.length == 0) {
  179. this.banzhengXinxiFlag = true
  180. }
  181. }
  182. })
  183. }
  184. },
  185. idCardBlur(data) {
  186. if (this.status == 'edit') {
  187. this.$refs.qiuzhiXinxi.editinfo(data)
  188. this.$refs.zhaopianZiliao.editinfo(data)
  189. }
  190. },
  191. dataHandle(pageInfo) {
  192. if (this.status == 'add') {
  193. this.tabs = [{
  194. id: 1,
  195. name: '个人资料',
  196. disabled: false
  197. },
  198. {
  199. id: 2,
  200. name: '求职信息',
  201. disabled: true
  202. },
  203. {
  204. id: 3,
  205. name: '照片资料',
  206. disabled: true
  207. },
  208. {
  209. id: 4,
  210. name: '办证信息',
  211. disabled: true
  212. },
  213. ]
  214. } else {
  215. this.id = pageInfo.id
  216. this.userId = pageInfo.userId
  217. this.tabs = [{
  218. id: 1,
  219. name: '个人资料',
  220. disabled: false
  221. },
  222. {
  223. id: 2,
  224. name: '求职信息',
  225. disabled: false
  226. },
  227. {
  228. id: 3,
  229. name: '照片资料',
  230. disabled: false
  231. },
  232. {
  233. id: 4,
  234. name: '办证信息',
  235. disabled: false
  236. },
  237. ]
  238. }
  239. },
  240. finishDom() {
  241. let req = {
  242. id: this.id,
  243. userId: this.userId
  244. }
  245. getJiazhengInfo(req).then(res => {
  246. if (res.code == 0) {
  247. this.$refs.gerenZiliao.editinfo(res.data)
  248. this.editInfo = JSON.parse(JSON.stringify(res.data));
  249. this.allData = JSON.parse(JSON.stringify(res.data));
  250. this.allData.id = this.id
  251. console.log('this.allData this.allData ', this.allData);
  252. } else {
  253. uni.showToast({
  254. icon: 'none',
  255. title: '获取详情失败'
  256. })
  257. return false
  258. }
  259. })
  260. },
  261. changeTab(data) {
  262. this.banzhengXinxiFlag = false
  263. if (this.status == 'add') {
  264. if (this.current >= 0) {
  265. this.current--;
  266. this.updateTabs();
  267. }
  268. }
  269. this.current = data
  270. if (this.status != 'edit') {
  271. return false
  272. }
  273. switch (Number(data)) {
  274. case 0:
  275. this.$refs.gerenZiliao.editinfo(this.editInfo)
  276. break;
  277. case 1:
  278. this.$refs.qiuzhiXinxi.editinfo(this.editInfo)
  279. break;
  280. case 2:
  281. this.$refs.zhaopianZiliao.editinfo(this.editInfo)
  282. break;
  283. case 3:
  284. if (this.editInfo.kaozhengList.length > 0) {
  285. this.banzhengXinxiFlag = false
  286. } else {
  287. this.banzhengXinxiFlag = true
  288. }
  289. this.$refs.banzhengXinxi.editinfo()
  290. break;
  291. default:
  292. break;
  293. }
  294. },
  295. gerenZiliaoDataHandle(data, flag) {
  296. console.log('gerenZiliaoDataHandle', data);
  297. console.log('gerenZiliaoDataHandle', data.hunyin.id);
  298. this.allData.userName = data.userName
  299. this.allData.realName = data.realName
  300. this.allData.idcard = data.idcard
  301. this.allData.idtype = data.idtype
  302. this.allData.jiguanShengId = data.jiguanObj.jiguanShengId
  303. this.allData.jiguanShiId = data.jiguanObj.jiguanShiId
  304. this.allData.juzhuDizhi = data.juzhuDizhi
  305. this.allData.birthday = data.birthday
  306. this.allData.minzu = data.minzu.id
  307. this.allData.gender = data.gender
  308. this.allData.xueli = data.xueli.id
  309. this.allData.hunyin = data.hunyin.id
  310. this.allData.hujiDizhi = data.hujiDizhi
  311. this.allData.xingzuo = data.xingzuo.id
  312. this.allData.shuxiang = data.shuxiang.id
  313. this.allData.xingzuoFlag = data.xingzuoFlag
  314. this.allData.jingdu = data.jingdu
  315. this.allData.weidu = data.weidu
  316. if (flag == 'edit') {
  317. jiazhengUpdate(this.allData).then(res => {
  318. uni.showToast({
  319. title: "保存成功!",
  320. icon: 'none',
  321. duration: 2000
  322. })
  323. })
  324. }
  325. },
  326. gerenziliaoNext(data, num) {
  327. this.gerenZiliaoDataHandle(data)
  328. // this.current = num + 1
  329. // this.tabs = this.tabs.map((item, i) => {
  330. // if (i == this.current) item.disabled = false
  331. // return item
  332. // })
  333. if (this.current < this.tabs.length - 1) {
  334. this.current++;
  335. this.updateTabs();
  336. }
  337. },
  338. editSaveGerenziliao(data) {
  339. this.gerenZiliaoDataHandle(data, 'edit')
  340. },
  341. qiuzhiXinxiDataHandle(data, flag) {
  342. // this.allData.leixing = data.leixing
  343. this.allData.jingyan = data.jingyan
  344. this.allData.jineng = data.jineng
  345. this.allData.zhuangtai = data.zhuangtai
  346. this.allData.jibiexinzi = data.jibiexinzi
  347. this.allData.qiwangxinzi = data.qiwangxinzi
  348. this.allData.jingli = data.jingli
  349. if (flag == 'edit') {
  350. jiazhengUpdate(this.allData).then(res => {
  351. uni.showToast({
  352. title: "保存成功!",
  353. icon: 'none',
  354. duration: 2000
  355. })
  356. })
  357. }
  358. },
  359. goNextQiuzhixinxi(data, num) {
  360. this.qiuzhiXinxiDataHandle(data)
  361. if (this.current < this.tabs.length - 1) {
  362. this.current++;
  363. this.updateTabs();
  364. }
  365. // this.current = num + 1
  366. // this.tabs = this.tabs.map((item, i) => {
  367. // if (i == this.current) item.disabled = false
  368. // return item
  369. // })
  370. },
  371. updateTabs() {
  372. console.log('this.tabsthis.tabs', this.tabs);
  373. console.log('this.current', this.tabs);
  374. this.tabs = this.tabs.map((item, i) => {
  375. // 当前页签及之前的页签 disabled 为 false,之后的页签 disabled 为 true
  376. item.disabled = i >= this.current;
  377. return item;
  378. });
  379. },
  380. editSaveQiuzhixinxi(data) {
  381. this.qiuzhiXinxiDataHandle(data, 'edit')
  382. },
  383. goNextZhaopianZiliao(data, num) {
  384. this.zhaopianziliaoDataHandle(data)
  385. // this.current = num + 1
  386. // this.tabs = this.tabs.map((item, i) => {
  387. // if (i == this.current) item.disabled = false
  388. // return item
  389. // })
  390. if (this.current < this.tabs.length - 1) {
  391. this.current++;
  392. this.updateTabs();
  393. }
  394. },
  395. zhaopianziliaoDataHandle(data, flag) {
  396. this.allData.icon = data.icon
  397. this.allData.idcardUrl1 = data.idcardUrl1
  398. this.allData.idcardUrl2 = data.idcardUrl2
  399. this.allData.shenghuoUrls = data.shenghuoUrls
  400. this.allData.zhengshuUrls = data.zhengshuUrls
  401. this.allData.tijianDate = data.tijianDate
  402. this.allData.jiankangDate = data.jiankangDate
  403. this.allData.tijianUrls = data.tijianUrls
  404. if (flag == 'edit') {
  405. jiazhengUpdate(this.allData).then(res => {
  406. uni.showToast({
  407. title: "保存成功!",
  408. icon: 'none',
  409. duration: 2000
  410. })
  411. })
  412. }
  413. },
  414. editSaveZhaopianziliao(data) {
  415. this.zhaopianziliaoDataHandle(data, 'edit')
  416. },
  417. addSave(data) {
  418. // if (this.status == 'add') {
  419. // this.submitJiazheng(data)
  420. // } else {
  421. // }
  422. this.submitJiazheng(data)
  423. },
  424. submitJiazheng(data) {
  425. // debugger
  426. console.log('this.allData', this.allData);
  427. if (this.allData.kaozhengList.length > 0) {
  428. const isDuplicate = this.allData.kaozhengList.some(item => {
  429. return item.jgId == data.jgId &&
  430. item.zyLevelName == data.zyLevelName &&
  431. item.zyName == data.zyName;
  432. });
  433. if(isDuplicate){
  434. uni.showToast({
  435. title: '此用户的职业等级系统已存在,如想继续添加,请联系管理员处理!',
  436. icon: 'none',
  437. duration: 2000
  438. });
  439. return false
  440. }
  441. }
  442. if (data != '') {
  443. this.allData.kaozhengList.push(data)
  444. }
  445. if (this.allData.kaozhengList.length > 0 && this.allData.icon == '') {
  446. uni.showToast({
  447. title: "当录入办证信息时候,头像必填",
  448. icon: 'none',
  449. duration: 2000
  450. })
  451. this.allData.kaozhengList = []
  452. return false
  453. }
  454. this.editInfo.kaozhengList = this.allData.kaozhengList
  455. this.banzhengXinxiFlag = false
  456. },
  457. saveBanzheng() {
  458. if (this.status == 'add') {
  459. jiazhengAdd(this.allData).then(res => {
  460. if (res.code == 0) {
  461. uni.showToast({
  462. title: "成功",
  463. icon: 'none',
  464. duration: 2000
  465. })
  466. uni.navigateTo({
  467. url: `/pages/admin/Jiazheng/index`
  468. })
  469. } else {
  470. uni.showToast({
  471. title: "失败",
  472. icon: 'none',
  473. duration: 2000
  474. })
  475. return false
  476. }
  477. })
  478. } else {
  479. }
  480. },
  481. addEdit(data, flag, index) {
  482. uni.showToast({
  483. title: "修改成功!",
  484. icon: 'none',
  485. duration: 2000
  486. })
  487. this.editInfo.kaozhengList[index].canxunshijian = data.canxunshijian
  488. this.editInfo.kaozhengList[index].jgId = data.jgId
  489. this.editInfo.kaozhengList[index].jgName = data.jgName
  490. this.editInfo.kaozhengList[index].jzId = data.jzId
  491. this.editInfo.kaozhengList[index].needKaoshi = data.needKaoshi
  492. this.editInfo.kaozhengList[index].needKecheng = data.needKecheng
  493. this.editInfo.kaozhengList[index].shicaochengji = data.shicaochengji
  494. this.editInfo.kaozhengList[index].statusBanzheng = data.statusBanzheng
  495. this.editInfo.kaozhengList[index].statusKaoshi = data.statusKaoshi
  496. this.editInfo.kaozhengList[index].zongkeshi = data.zongkeshi
  497. this.editInfo.kaozhengList[index].id = data.id
  498. this.editInfo.kaozhengList[index].zyId = data.zyId
  499. this.editInfo.kaozhengList[index].zyLevel = data.zyLevel
  500. this.editInfo.kaozhengList[index].zyLevelName = data.zyLevelName
  501. this.editInfo.kaozhengList[index].zyName = data.zyName
  502. this.allData.kaozhengList = JSON.parse(JSON.stringify(this.editInfo.kaozhengList));
  503. this.banzhengXinxiFlag = false
  504. },
  505. editSave(data, flag, index) {
  506. // debugger
  507. console.log('this.allData', this.allData);
  508. console.log('this.editInfo', this.editInfo);
  509. if (flag == 'edit') {
  510. jiazhengKaozhengUpdate(data).then(res => {
  511. if (res.code == 0) {
  512. uni.showToast({
  513. title: "保存成功!",
  514. icon: 'none',
  515. duration: 2000
  516. })
  517. this.editInfo.kaozhengList[index].canxunshijian = data.canxunshijian
  518. this.editInfo.kaozhengList[index].jgId = data.jgId
  519. this.editInfo.kaozhengList[index].jgName = data.jgName
  520. this.editInfo.kaozhengList[index].jzId = data.jzId
  521. this.editInfo.kaozhengList[index].needKaoshi = data.needKaoshi
  522. this.editInfo.kaozhengList[index].needKecheng = data.needKecheng
  523. this.editInfo.kaozhengList[index].needKecheng = data.needKecheng
  524. this.editInfo.kaozhengList[index].shicaochengji = data.shicaochengji
  525. this.editInfo.kaozhengList[index].statusBanzheng = data.statusBanzheng
  526. this.editInfo.kaozhengList[index].statusKaoshi = data.statusKaoshi
  527. this.editInfo.kaozhengList[index].zongkeshi = data.zongkeshi
  528. this.editInfo.kaozhengList[index].id = data.id
  529. this.editInfo.kaozhengList[index].zyId = data.zyId
  530. this.editInfo.kaozhengList[index].zyLevel = data.zyLevel
  531. this.editInfo.kaozhengList[index].zyLevelName = data.zyLevelName
  532. this.editInfo.kaozhengList[index].zyName = data.zyName
  533. this.banzhengXinxiFlag = false
  534. }
  535. })
  536. } else if (flag == 'editAdd') {
  537. data.userId = this.userId
  538. if (this.allData.icon == '') {
  539. uni.showToast({
  540. title: "当录入办证信息时候,头像必填",
  541. icon: 'none',
  542. duration: 2000
  543. })
  544. return false
  545. }
  546. jiazhengKaozhengAdd(data).then(res => {
  547. if (res.code == 0) {
  548. data.id = res.data
  549. this.allData.kaozhengList.push(data)
  550. this.editInfo.kaozhengList.push(data)
  551. console.log('this.editInfo.kaozhengList', this.editInfo.kaozhengList);
  552. this.banzhengXinxiFlag = false
  553. }
  554. })
  555. }
  556. // if (data != '') {
  557. // this.allData.kaozhengList.push(data)
  558. // }
  559. // if(this.status =='add'){
  560. // this.submitJiazheng()
  561. // }else{
  562. // }
  563. },
  564. goUpPage() {
  565. if (this.from == 'banzheng') {
  566. uni.redirectTo({
  567. url: "/pages/admin/banzheng/list"
  568. })
  569. } else {
  570. uni.navigateTo({
  571. url: `/pages/admin/Jiazheng/index`
  572. })
  573. }
  574. }
  575. }
  576. }
  577. </script>