jiazhengUserManager.vue 10 KB

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