jiazhengUserManager.vue 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594
  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. if (this.status == 'add') {
  263. if (this.current >= 0) {
  264. this.current--;
  265. this.updateTabs();
  266. }
  267. }
  268. this.current = data
  269. if (this.status != 'edit') {
  270. return false
  271. }
  272. switch (Number(data)) {
  273. case 0:
  274. this.$refs.gerenZiliao.editinfo(this.editInfo)
  275. break;
  276. case 1:
  277. this.$refs.qiuzhiXinxi.editinfo(this.editInfo)
  278. break;
  279. case 2:
  280. this.$refs.zhaopianZiliao.editinfo(this.editInfo)
  281. break;
  282. case 3:
  283. if (this.editInfo.kaozhengList.length > 0) {
  284. this.banzhengXinxiFlag = false
  285. } else {
  286. this.banzhengXinxiFlag = true
  287. }
  288. this.$refs.banzhengXinxi.editinfo()
  289. break;
  290. default:
  291. break;
  292. }
  293. },
  294. gerenZiliaoDataHandle(data, flag) {
  295. console.log('gerenZiliaoDataHandle', data);
  296. console.log('gerenZiliaoDataHandle', data.hunyin.id);
  297. this.allData.userName = data.userName
  298. this.allData.realName = data.realName
  299. this.allData.idcard = data.idcard
  300. this.allData.idtype = data.idtype
  301. this.allData.jiguanShengId = data.jiguanObj.jiguanShengId
  302. this.allData.jiguanShiId = data.jiguanObj.jiguanShiId
  303. this.allData.juzhuDizhi = data.juzhuDizhi
  304. this.allData.birthday = data.birthday
  305. this.allData.minzu = data.minzu.id
  306. this.allData.gender = data.gender
  307. this.allData.xueli = data.xueli.id
  308. this.allData.hunyin = data.hunyin.id
  309. this.allData.hujiDizhi = data.hujiDizhi
  310. this.allData.xingzuo = data.xingzuo.id
  311. this.allData.shuxiang = data.shuxiang.id
  312. this.allData.xingzuoFlag = data.xingzuoFlag
  313. this.allData.jingdu = data.jingdu
  314. this.allData.weidu = data.weidu
  315. if (flag == 'edit') {
  316. jiazhengUpdate(this.allData).then(res => {
  317. uni.showToast({
  318. title: "保存成功!",
  319. icon: 'none',
  320. duration: 2000
  321. })
  322. })
  323. }
  324. },
  325. gerenziliaoNext(data, num) {
  326. this.gerenZiliaoDataHandle(data)
  327. // this.current = num + 1
  328. // this.tabs = this.tabs.map((item, i) => {
  329. // if (i == this.current) item.disabled = false
  330. // return item
  331. // })
  332. if (this.current < this.tabs.length - 1) {
  333. this.current++;
  334. this.updateTabs();
  335. }
  336. },
  337. editSaveGerenziliao(data) {
  338. this.gerenZiliaoDataHandle(data, 'edit')
  339. },
  340. qiuzhiXinxiDataHandle(data, flag) {
  341. // this.allData.leixing = data.leixing
  342. this.allData.jingyan = data.jingyan
  343. this.allData.jineng = data.jineng
  344. this.allData.zhuangtai = data.zhuangtai
  345. this.allData.jibiexinzi = data.jibiexinzi
  346. this.allData.qiwangxinzi = data.qiwangxinzi
  347. this.allData.jingli = data.jingli
  348. if (flag == 'edit') {
  349. jiazhengUpdate(this.allData).then(res => {
  350. uni.showToast({
  351. title: "保存成功!",
  352. icon: 'none',
  353. duration: 2000
  354. })
  355. })
  356. }
  357. },
  358. goNextQiuzhixinxi(data, num) {
  359. this.qiuzhiXinxiDataHandle(data)
  360. if (this.current < this.tabs.length - 1) {
  361. this.current++;
  362. this.updateTabs();
  363. }
  364. // this.current = num + 1
  365. // this.tabs = this.tabs.map((item, i) => {
  366. // if (i == this.current) item.disabled = false
  367. // return item
  368. // })
  369. },
  370. updateTabs() {
  371. console.log('this.tabsthis.tabs', this.tabs);
  372. console.log('this.current', this.tabs);
  373. this.tabs = this.tabs.map((item, i) => {
  374. // 当前页签及之前的页签 disabled 为 false,之后的页签 disabled 为 true
  375. item.disabled = i >= this.current;
  376. return item;
  377. });
  378. },
  379. editSaveQiuzhixinxi(data) {
  380. this.qiuzhiXinxiDataHandle(data, 'edit')
  381. },
  382. goNextZhaopianZiliao(data, num) {
  383. this.zhaopianziliaoDataHandle(data)
  384. // this.current = num + 1
  385. // this.tabs = this.tabs.map((item, i) => {
  386. // if (i == this.current) item.disabled = false
  387. // return item
  388. // })
  389. if (this.current < this.tabs.length - 1) {
  390. this.current++;
  391. this.updateTabs();
  392. }
  393. },
  394. zhaopianziliaoDataHandle(data, flag) {
  395. this.allData.icon = data.icon
  396. this.allData.idcardUrl1 = data.idcardUrl1
  397. this.allData.idcardUrl2 = data.idcardUrl2
  398. this.allData.shenghuoUrls = data.shenghuoUrls
  399. this.allData.zhengshuUrls = data.zhengshuUrls
  400. this.allData.tijianDate = data.tijianDate
  401. this.allData.jiankangDate = data.jiankangDate
  402. this.allData.tijianUrls = data.tijianUrls
  403. if (flag == 'edit') {
  404. jiazhengUpdate(this.allData).then(res => {
  405. uni.showToast({
  406. title: "保存成功!",
  407. icon: 'none',
  408. duration: 2000
  409. })
  410. })
  411. }
  412. },
  413. editSaveZhaopianziliao(data) {
  414. this.zhaopianziliaoDataHandle(data, 'edit')
  415. },
  416. addSave(data) {
  417. // if (this.status == 'add') {
  418. // this.submitJiazheng(data)
  419. // } else {
  420. // }
  421. this.submitJiazheng(data)
  422. },
  423. submitJiazheng(data) {
  424. // debugger
  425. console.log('this.allData', this.allData);
  426. if (data != '') {
  427. this.allData.kaozhengList.push(data)
  428. }
  429. if (this.allData.kaozhengList.length > 0 && this.allData.icon == '') {
  430. uni.showToast({
  431. title: "当录入办证信息时候,头像必填",
  432. icon: 'none',
  433. duration: 2000
  434. })
  435. this.allData.kaozhengList = []
  436. return false
  437. }
  438. this.editInfo.kaozhengList = this.allData.kaozhengList
  439. this.banzhengXinxiFlag = false
  440. },
  441. saveBanzheng() {
  442. if (this.status == 'add') {
  443. jiazhengAdd(this.allData).then(res => {
  444. if (res.code == 0) {
  445. uni.showToast({
  446. title: "成功",
  447. icon: 'none',
  448. duration: 2000
  449. })
  450. uni.navigateTo({
  451. url: `/pages/admin/Jiazheng/index`
  452. })
  453. } else {
  454. uni.showToast({
  455. title: "失败",
  456. icon: 'none',
  457. duration: 2000
  458. })
  459. return false
  460. }
  461. })
  462. } else {
  463. }
  464. },
  465. addEdit(data, flag, index) {
  466. uni.showToast({
  467. title: "修改成功!",
  468. icon: 'none',
  469. duration: 2000
  470. })
  471. this.editInfo.kaozhengList[index].canxunshijian = data.canxunshijian
  472. this.editInfo.kaozhengList[index].jgId = data.jgId
  473. this.editInfo.kaozhengList[index].jgName = data.jgName
  474. this.editInfo.kaozhengList[index].jzId = data.jzId
  475. this.editInfo.kaozhengList[index].needKaoshi = data.needKaoshi
  476. this.editInfo.kaozhengList[index].needKecheng = data.needKecheng
  477. this.editInfo.kaozhengList[index].shicaochengji = data.shicaochengji
  478. this.editInfo.kaozhengList[index].statusBanzheng = data.statusBanzheng
  479. this.editInfo.kaozhengList[index].statusKaoshi = data.statusKaoshi
  480. this.editInfo.kaozhengList[index].zongkeshi = data.zongkeshi
  481. this.editInfo.kaozhengList[index].id = data.id
  482. this.editInfo.kaozhengList[index].zyId = data.zyId
  483. this.editInfo.kaozhengList[index].zyLevel = data.zyLevel
  484. this.editInfo.kaozhengList[index].zyLevelName = data.zyLevelName
  485. this.editInfo.kaozhengList[index].zyName = data.zyName
  486. this.allData.kaozhengList = JSON.parse(JSON.stringify(this.editInfo.kaozhengList));
  487. this.banzhengXinxiFlag = false
  488. },
  489. editSave(data, flag, index) {
  490. // debugger
  491. console.log('this.allData', this.allData);
  492. console.log('this.editInfo', this.editInfo);
  493. if (flag == 'edit') {
  494. jiazhengKaozhengUpdate(data).then(res => {
  495. if (res.code == 0) {
  496. uni.showToast({
  497. title: "保存成功!",
  498. icon: 'none',
  499. duration: 2000
  500. })
  501. this.editInfo.kaozhengList[index].canxunshijian = data.canxunshijian
  502. this.editInfo.kaozhengList[index].jgId = data.jgId
  503. this.editInfo.kaozhengList[index].jgName = data.jgName
  504. this.editInfo.kaozhengList[index].jzId = data.jzId
  505. this.editInfo.kaozhengList[index].needKaoshi = data.needKaoshi
  506. this.editInfo.kaozhengList[index].needKecheng = data.needKecheng
  507. this.editInfo.kaozhengList[index].needKecheng = data.needKecheng
  508. this.editInfo.kaozhengList[index].shicaochengji = data.shicaochengji
  509. this.editInfo.kaozhengList[index].statusBanzheng = data.statusBanzheng
  510. this.editInfo.kaozhengList[index].statusKaoshi = data.statusKaoshi
  511. this.editInfo.kaozhengList[index].zongkeshi = data.zongkeshi
  512. this.editInfo.kaozhengList[index].id = data.id
  513. this.editInfo.kaozhengList[index].zyId = data.zyId
  514. this.editInfo.kaozhengList[index].zyLevel = data.zyLevel
  515. this.editInfo.kaozhengList[index].zyLevelName = data.zyLevelName
  516. this.editInfo.kaozhengList[index].zyName = data.zyName
  517. this.banzhengXinxiFlag = false
  518. }
  519. })
  520. } else if (flag == 'editAdd') {
  521. data.userId = this.userId
  522. if (this.allData.icon == '') {
  523. uni.showToast({
  524. title: "当录入办证信息时候,头像必填",
  525. icon: 'none',
  526. duration: 2000
  527. })
  528. return false
  529. }
  530. jiazhengKaozhengAdd(data).then(res => {
  531. if (res.code == 0) {
  532. data.id = res.data
  533. this.allData.kaozhengList.push(data)
  534. this.editInfo.kaozhengList.push(data)
  535. console.log('this.editInfo.kaozhengList', this.editInfo.kaozhengList);
  536. this.banzhengXinxiFlag = false
  537. }
  538. })
  539. }
  540. // if (data != '') {
  541. // this.allData.kaozhengList.push(data)
  542. // }
  543. // if(this.status =='add'){
  544. // this.submitJiazheng()
  545. // }else{
  546. // }
  547. },
  548. goUpPage() {
  549. if (this.from == 'banzheng') {
  550. uni.redirectTo({
  551. url: "/pages/admin/banzheng/list"
  552. })
  553. } else {
  554. uni.navigateTo({
  555. url: `/pages/admin/Jiazheng/index`
  556. })
  557. }
  558. }
  559. }
  560. }
  561. </script>