jiazhengUserManager.vue 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493
  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" @addSave="addSave" @editSave="editSave"
  17. v-show="current ==3">
  18. </banzhengXinxi>
  19. <banzhengXinxiList :list="editInfo.kaozhengList" v-show="banzhengXinxiFlag" @editBanzheng="editBanzheng"
  20. @addBanzheng="addBanzheng" @deleteBanzheng="deleteBanzheng" ref="banzhengXinxiList"></banzhengXinxiList>
  21. <common-dialog ref="commonDialogRef" :title="deleteTitle" :content="deleteConcent"
  22. @confirm-btn="deleteQuerenBtn"></common-dialog>
  23. </view>
  24. </template>
  25. <script>
  26. import {
  27. ref
  28. } from "vue";
  29. import banzhengXinxi from './banzhengXinxi.vue';
  30. import banzhengXinxiList from './banzhengXinxiList.vue';
  31. import qiuzhiXinxi from './qiuzhiXinxi.vue';
  32. import zhaopianZiliao from './zhaopianZiliao.vue';
  33. import commonDialog from '@/components/dialog/commonDialog.vue';
  34. import gerenZiliao from './gerenZiliao.vue';
  35. import {
  36. getJiazhengInfo,
  37. jiazhengAdd,
  38. jiazhengUpdate,
  39. jiazhengKaozhengAdd,
  40. jiazhengKaozhengDelete,
  41. jiazhengKaozhengUpdate
  42. } from "@/api/jiazheng.js";
  43. export default {
  44. data() {
  45. return {
  46. current: 0,
  47. // tabs: ['个人资料', '求职信息', '照片资料', '办证信息']
  48. tabs: [],
  49. allData: {
  50. "birthday": "",
  51. "gender": '',
  52. "hujiDizhi": "",
  53. "hunyin": '',
  54. "icon": "",
  55. "idcard": "",
  56. "idcardUrl1": "",
  57. "idcardUrl2": "",
  58. "idtype": '',
  59. "jiankangDate": "",
  60. "jibiexinzi": "",
  61. "jiguanShengId": '',
  62. "jiguanShiId": '',
  63. "jineng": "",
  64. "jingli": "",
  65. "jingyan": "",
  66. "juzhuDizhi": "",
  67. "kaozhengList": [],
  68. "leixing": "",
  69. "minzu": '',
  70. "qiwangxinzi": "",
  71. "realName": "",
  72. "shenghuoUrls": "",
  73. "shuxiang": '',
  74. "tijianDate": "",
  75. "tijianUrls": "",
  76. "userId": '',
  77. "userName": "",
  78. "xingzuo": '',
  79. "xingzuoFlag": false,
  80. "xueli": '',
  81. "zhengshuUrls": "",
  82. "zhuangtai": ''
  83. },
  84. status: '',
  85. id: '',
  86. userId: '',
  87. banzhengXinxiFlag: false,
  88. editInfo: {},
  89. deleteConcent: '你确定要执行这个操作吗?',
  90. deleteTitle: '删除',
  91. deleteIndex: '',
  92. deleteId: '',
  93. }
  94. },
  95. components: {
  96. banzhengXinxi,
  97. banzhengXinxiList,
  98. qiuzhiXinxi,
  99. gerenZiliao,
  100. commonDialog,
  101. zhaopianZiliao
  102. },
  103. onLoad(options) {
  104. let pageInfo = JSON.parse(options.pageInfo)
  105. this.status = pageInfo.status
  106. this.dataHandle(pageInfo)
  107. },
  108. methods: {
  109. goBack() {
  110. this.banzhengXinxiFlag = true
  111. },
  112. editBanzheng(data, index) {
  113. this.current = 3
  114. this.banzhengXinxiFlag = false
  115. this.$refs.banzhengXinxi.editinfo(data, index)
  116. this.$refs.banzhengXinxi.currentMove('edit')
  117. },
  118. addBanzheng(data, index) {
  119. this.banzhengXinxiFlag = false
  120. this.current = 3
  121. this.$refs.banzhengXinxi.resetFun()
  122. this.$refs.banzhengXinxi.currentMove('editAdd')
  123. },
  124. deleteBanzheng(data, index) {
  125. console.log('data', data);
  126. console.log('index', index);
  127. console.log('data.statusBanzheng', data.statusBanzheng);
  128. this.deleteId = data.id
  129. this.deleteIndex = index
  130. if (data.statusBanzheng == '办证完成') {
  131. uni.showToast({
  132. title: "办证状态为办证完成禁止删除",
  133. icon: 'none',
  134. duration: 2000
  135. })
  136. return false
  137. }
  138. this.$refs.commonDialogRef.handleShow()
  139. },
  140. deleteQuerenBtn() {
  141. jiazhengKaozhengDelete({
  142. ids: [this.deleteId]
  143. }).then(res => {
  144. if (res.code == 0) {
  145. uni.showToast({
  146. title: "成功",
  147. icon: 'none',
  148. duration: 2000
  149. })
  150. this.editInfo.kaozhengList.splice(this.deleteIndex, 1);
  151. if (this.editInfo.kaozhengList.length == 0) {
  152. this.banzhengXinxiFlag = true
  153. }
  154. }
  155. })
  156. },
  157. idCardBlur(data) {
  158. this.$refs.qiuzhiXinxi.editinfo(data)
  159. this.$refs.zhaopianZiliao.editinfo(data)
  160. },
  161. dataHandle(pageInfo) {
  162. if (this.status == 'add') {
  163. this.tabs = [{
  164. id: 1,
  165. name: '个人资料',
  166. disabled: false
  167. },
  168. {
  169. id: 2,
  170. name: '求职信息',
  171. disabled: true
  172. },
  173. {
  174. id: 3,
  175. name: '照片资料',
  176. disabled: true
  177. },
  178. {
  179. id: 4,
  180. name: '办证信息',
  181. disabled: true
  182. },
  183. ]
  184. } else {
  185. this.id = pageInfo.id
  186. this.userId = pageInfo.userId
  187. this.tabs = [{
  188. id: 1,
  189. name: '个人资料',
  190. disabled: false
  191. },
  192. {
  193. id: 2,
  194. name: '求职信息',
  195. disabled: false
  196. },
  197. {
  198. id: 3,
  199. name: '照片资料',
  200. disabled: false
  201. },
  202. {
  203. id: 4,
  204. name: '办证信息',
  205. disabled: false
  206. },
  207. ]
  208. }
  209. },
  210. finishDom() {
  211. let req = {
  212. id: this.id,
  213. userId: this.userId
  214. }
  215. getJiazhengInfo(req).then(res => {
  216. if (res.code == 0) {
  217. this.$refs.gerenZiliao.editinfo(res.data)
  218. this.editInfo = JSON.parse(JSON.stringify(res.data));
  219. this.allData = JSON.parse(JSON.stringify(res.data));
  220. this.allData.id = this.id
  221. console.log('this.allData this.allData ', this.allData);
  222. } else {
  223. uni.showToast({
  224. icon: 'none',
  225. title: '获取详情失败'
  226. })
  227. return false
  228. }
  229. })
  230. },
  231. changeTab(data) {
  232. console.log('data', data);
  233. if (this.status == 'edit') {
  234. this.banzhengXinxiFlag = true
  235. return false
  236. } else {
  237. this.banzhengXinxiFlag = false
  238. }
  239. if (this.status == 'add') {
  240. if (this.current >= 0) {
  241. this.current--;
  242. this.updateTabs();
  243. }
  244. }
  245. this.current = data
  246. if (this.status != 'edit') {
  247. return false
  248. }
  249. switch (Number(data)) {
  250. case 0:
  251. this.$refs.gerenZiliao.editinfo(this.editInfo)
  252. break;
  253. case 1:
  254. this.$refs.qiuzhiXinxi.editinfo(this.editInfo)
  255. break;
  256. case 2:
  257. this.$refs.zhaopianZiliao.editinfo(this.editInfo)
  258. break;
  259. case 3:
  260. this.$refs.banzhengXinxi.editinfo()
  261. break;
  262. default:
  263. break;
  264. }
  265. },
  266. gerenZiliaoDataHandle(data, flag) {
  267. console.log('gerenZiliaoDataHandle', data);
  268. console.log('gerenZiliaoDataHandle', data.hunyin.id);
  269. this.allData.userName = data.userName
  270. this.allData.realName = data.realName
  271. this.allData.idcard = data.idcard
  272. this.allData.idtype = data.idtype
  273. this.allData.jiguanShengId = data.jiguanObj.jiguanShengId
  274. this.allData.jiguanShiId = data.jiguanObj.jiguanShiId
  275. this.allData.juzhuDizhi = data.juzhuDizhi
  276. this.allData.birthday = data.birthday
  277. this.allData.minzu = data.minzu.id
  278. this.allData.gender = data.gender
  279. this.allData.xueli = data.xueli.id
  280. this.allData.hunyin = data.hunyin.id
  281. this.allData.hujiDizhi = data.hujiDizhi
  282. this.allData.xingzuo = data.xingzuo.id
  283. this.allData.shuxiang = data.shuxiang.id
  284. this.allData.xingzuoFlag = data.xingzuoFlag
  285. if (flag == 'edit') {
  286. jiazhengUpdate(this.allData).then(res => {
  287. uni.showToast({
  288. title: "保存成功!",
  289. icon: 'none',
  290. duration: 2000
  291. })
  292. })
  293. }
  294. },
  295. gerenziliaoNext(data, num) {
  296. this.gerenZiliaoDataHandle(data)
  297. // this.current = num + 1
  298. // this.tabs = this.tabs.map((item, i) => {
  299. // if (i == this.current) item.disabled = false
  300. // return item
  301. // })
  302. if (this.current < this.tabs.length - 1) {
  303. this.current++;
  304. this.updateTabs();
  305. }
  306. },
  307. editSaveGerenziliao(data) {
  308. this.gerenZiliaoDataHandle(data, 'edit')
  309. },
  310. qiuzhiXinxiDataHandle(data, flag) {
  311. this.allData.leixing = data.leixing
  312. this.allData.jingyan = data.jingyan
  313. this.allData.jineng = data.jineng
  314. this.allData.zhuangtai = data.zhuangtai
  315. this.allData.jibiexinzi = data.jibiexinzi
  316. this.allData.qiwangxinzi = data.qiwangxinzi
  317. this.allData.jingli = data.jingli
  318. if (flag == 'edit') {
  319. jiazhengUpdate(this.allData).then(res => {
  320. uni.showToast({
  321. title: "保存成功!",
  322. icon: 'none',
  323. duration: 2000
  324. })
  325. })
  326. }
  327. },
  328. goNextQiuzhixinxi(data, num) {
  329. this.qiuzhiXinxiDataHandle(data)
  330. if (this.current < this.tabs.length - 1) {
  331. this.current++;
  332. this.updateTabs();
  333. }
  334. // this.current = num + 1
  335. // this.tabs = this.tabs.map((item, i) => {
  336. // if (i == this.current) item.disabled = false
  337. // return item
  338. // })
  339. },
  340. updateTabs() {
  341. console.log('this.tabsthis.tabs', this.tabs);
  342. console.log('this.current', this.tabs);
  343. this.tabs = this.tabs.map((item, i) => {
  344. // 当前页签及之前的页签 disabled 为 false,之后的页签 disabled 为 true
  345. item.disabled = i >= this.current;
  346. return item;
  347. });
  348. },
  349. editSaveQiuzhixinxi(data) {
  350. this.qiuzhiXinxiDataHandle(data, 'edit')
  351. },
  352. goNextZhaopianZiliao(data, num) {
  353. this.zhaopianziliaoDataHandle(data)
  354. // this.current = num + 1
  355. // this.tabs = this.tabs.map((item, i) => {
  356. // if (i == this.current) item.disabled = false
  357. // return item
  358. // })
  359. if (this.current < this.tabs.length - 1) {
  360. this.current++;
  361. this.updateTabs();
  362. }
  363. },
  364. zhaopianziliaoDataHandle(data, flag) {
  365. this.allData.icon = data.icon
  366. this.allData.idcardUrl1 = data.idcardUrl1
  367. this.allData.idcardUrl2 = data.idcardUrl2
  368. this.allData.shenghuoUrls = data.shenghuoUrls
  369. this.allData.zhengshuUrls = data.zhengshuUrls
  370. this.allData.tijianDate = data.tijianDate
  371. this.allData.jiankangDate = data.jiankangDate
  372. this.allData.tijianUrls = data.tijianUrls
  373. if (flag == 'edit') {
  374. jiazhengUpdate(this.allData).then(res => {
  375. uni.showToast({
  376. title: "保存成功!",
  377. icon: 'none',
  378. duration: 2000
  379. })
  380. })
  381. }
  382. },
  383. editSaveZhaopianziliao(data) {
  384. this.zhaopianziliaoDataHandle(data, 'edit')
  385. },
  386. addSave(data) {
  387. if (this.status == 'add') {
  388. this.submitJiazheng(data)
  389. } else {}
  390. },
  391. submitJiazheng(data) {
  392. console.log('this.allData', this.allData);
  393. if (this.allData.kaozhengList.length > 0 && this.allData.icon == '') {
  394. uni.showToast({
  395. title: "当录入办证信息时候,头像必填",
  396. icon: 'none',
  397. duration: 2000
  398. })
  399. return false
  400. }
  401. if (data != '') {
  402. this.allData.kaozhengList.push(data)
  403. }
  404. jiazhengAdd(this.allData).then(res => {
  405. if (res.code == 0) {
  406. uni.showToast({
  407. title: "成功",
  408. icon: 'none',
  409. duration: 2000
  410. })
  411. uni.navigateTo({
  412. url: `/pages/admin/Jiazheng/index`
  413. })
  414. } else {
  415. uni.showToast({
  416. title: "失败",
  417. icon: 'none',
  418. duration: 2000
  419. })
  420. return false
  421. }
  422. })
  423. },
  424. editSave(data, flag) {
  425. debugger
  426. console.log('this.allData', this.allData);
  427. console.log('this.editInfo', this.editInfo);
  428. if (flag == 'edit') {
  429. jiazhengKaozhengUpdate(data).then(res => {
  430. if(res.code ==0){
  431. uni.showToast({
  432. title: "保存成功!",
  433. icon: 'none',
  434. duration: 2000
  435. })
  436. }
  437. })
  438. } else if (flag == 'editAdd') {
  439. data.userId = this.userId
  440. if (this.allData.icon == '') {
  441. uni.showToast({
  442. title: "当录入办证信息时候,头像必填",
  443. icon: 'none',
  444. duration: 2000
  445. })
  446. return false
  447. }
  448. jiazhengKaozhengAdd(data).then(res => {
  449. if (res.code == 0) {
  450. data.id = res.data
  451. this.allData.kaozhengList.push(data)
  452. this.editInfo.kaozhengList.push(data)
  453. console.log('this.editInfo.kaozhengList', this.editInfo.kaozhengList);
  454. this.banzhengXinxiFlag = true
  455. }
  456. })
  457. }
  458. // if (data != '') {
  459. // this.allData.kaozhengList.push(data)
  460. // }
  461. // if(this.status =='add'){
  462. // this.submitJiazheng()
  463. // }else{
  464. // }
  465. },
  466. goUpPage() {
  467. uni.navigateTo({
  468. url: `/pages/admin/Jiazheng/index`
  469. })
  470. }
  471. }
  472. }
  473. </script>