info.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852
  1. <template>
  2. <view class="content">
  3. <uni-card class="card">
  4. <uni-section title="基本信息" type="line">
  5. <view>
  6. <view class="lzcOCR">
  7. <view class="imgBox">
  8. <image :src="zjcaijianSrc2" style="width: 40vw;" mode="widthFix">
  9. </image>
  10. <view class="text">拍摄人像面</view>
  11. </view>
  12. <view class="imgBox">
  13. <image :src="zjcaijianSrcFan2" style="width: 40vw;" mode="widthFix">
  14. </image>
  15. <view class="text">拍摄国徽面</view>
  16. </view>
  17. </view>
  18. </view>
  19. <uni-forms ref="baseForm" :modelValue="baseFormData" :rules="rules" style="margin-top: 5vh;">
  20. <uni-forms-item label="姓名" required name="lrXm">
  21. <uni-easyinput ref="xm" type="text" :disabled="disabled" v-model="baseFormData.lrXm"
  22. placeholder="请输入姓名" :inputBorder="true"></uni-easyinput>
  23. </uni-forms-item>
  24. <uni-forms-item label="手机号" required name="lrCydh">
  25. <uni-easyinput type="text" v-model="baseFormData.lrCydh" placeholder="请输入手机号"
  26. :inputBorder="true"></uni-easyinput>
  27. </uni-forms-item>
  28. <uni-forms-item label="监护人姓名">
  29. <uni-easyinput ref="xm" type="text" v-model="baseFormData.jhrxm" placeholder="请输入监护人姓名"
  30. :inputBorder="true"></uni-easyinput>
  31. </uni-forms-item>
  32. <uni-forms-item label="监护人联系电话" name="jhrlxdh">
  33. <uni-easyinput type="text" v-model="baseFormData.jhrlxdh" placeholder="请输入监护人联系电话"
  34. :inputBorder="true"></uni-easyinput>
  35. </uni-forms-item>
  36. <uni-forms-item label="街道社区" v-if="level !== 5">
  37. <!-- <uni-data-picker v-if="level === 3" :localdata="items" :clear-icon="false"
  38. v-model="baseFormData.lrHjdz" popup-title="请选择街道社区"></uni-data-picker> -->
  39. <uni-data-picker ref="picker" style="width: 0px;height: 0px;" :localdata="items" :clear-icon="false" @change="onchange"
  40. v-model="baseFormData.lrHjdz" popup-title="请选择街道社区"></uni-data-picker>
  41. <uni-easyinput v-if="level === 3" type="text" v-model="diqu" @focus="openPicker()" placeholder="请选择街道社区"
  42. :clearable="false">
  43. </uni-easyinput>
  44. <uni-easyinput v-else type="text" v-model="diqu" @focus="toggle('bottom')" placeholder="请选择街道社区"
  45. :clearable="false"></uni-easyinput>
  46. </uni-forms-item>
  47. <uni-forms-item label="住址" required name="jzdz">
  48. <uni-easyinput type="text" v-model="baseFormData.jzdz" placeholder="请输入住址"
  49. :inputBorder="true"></uni-easyinput>
  50. </uni-forms-item>
  51. <uni-forms-item label="是否特困">
  52. <uni-data-checkbox v-model="baseFormData.istk" :localdata="radioData"
  53. @change="radioChange('tkzmList',$event)"></uni-data-checkbox>
  54. </uni-forms-item>
  55. <uni-forms-item label="特困证明" v-if="baseFormData.istk == 1">
  56. <myfile :zczmList="tkzmList" @recordsChange="tkChange"></myfile>
  57. </uni-forms-item>
  58. <uni-forms-item label="是否低保">
  59. <uni-data-checkbox v-model="baseFormData.isdb" :localdata="radioData"
  60. @change="radioChange('dbzmList',$event)"></uni-data-checkbox>
  61. </uni-forms-item>
  62. <uni-forms-item label="低保证明" v-if="baseFormData.isdb == 1">
  63. <myfile :zczmList="dbzmList" @recordsChange="dbChange"></myfile>
  64. </uni-forms-item>
  65. <uni-forms-item label="是否重残">
  66. <uni-data-checkbox v-model="baseFormData.iszc" :localdata="radioData"
  67. @change="radioChange('zczmList',$event)"></uni-data-checkbox>
  68. </uni-forms-item>
  69. <uni-forms-item label="重残证明" v-if="baseFormData.iszc == 1">
  70. <!-- <uni-file-picker v-model="zczm" @select="imgSelect3" @delete="imgDelete3"></uni-file-picker> -->
  71. <myfile :zczmList="zczmList" @recordsChange="zcChange"></myfile>
  72. </uni-forms-item>
  73. <uni-forms-item v-if="baseFormData.lrSpyj" label="审核意见" name="lrSpyj">
  74. <uni-easyinput ref="lrSpyj" v-model="baseFormData.lrSpyj" type="textarea" disabled
  75. placeholder="请输入审核意见" />
  76. </uni-forms-item>
  77. <view>
  78. <!-- <button cursor-spacing="22px" class="buttonClass" @click="ht()">刷脸激活</button> -->
  79. <button cursor-spacing="22px" class="buttonClass" @click="preSave()">修改</button>
  80. </view>
  81. </uni-forms>
  82. </uni-section>
  83. </uni-card>
  84. <view v-if="level !== 3">
  85. <!-- 普通弹窗 -->
  86. <uni-popup ref="popup" background-color="#fff">
  87. <picker-view :indicator-style="indicatorStyle" @change="bindChange" class="picker-view">
  88. <picker-view-column v-if="jiedaoData.length > 0">
  89. <view class="item" v-for="(item,index) in jiedaoData" :key="index">{{item.label}}</view>
  90. </picker-view-column>
  91. <picker-view-column v-if="shequData.length > 0">
  92. <view class="item" v-for="(item,index) in shequData" :key="index">{{item.label}}</view>
  93. </picker-view-column>
  94. </picker-view>
  95. </uni-popup>
  96. </view>
  97. </view>
  98. </template>
  99. <script>
  100. import myfile from '@/components/my-file/my-file.vue';
  101. import {
  102. decryptRowData_ECB,
  103. decryptData_ECB
  104. } from '@/common/sm4.js'
  105. import {
  106. GetChildListByCode
  107. } from '@/api/dict.js'
  108. import {
  109. showConfirm,
  110. getDictInfo,
  111. toast,
  112. toBase64
  113. } from '@/common/common.js'
  114. import {
  115. UploadOne,
  116. UploadSome,
  117. UploadSomeFile
  118. } from '@/api/upload.js'
  119. import {
  120. Register
  121. } from '@/api/login.js'
  122. import {
  123. getUser
  124. } from '@/common/auth.js'
  125. import CryptoJS from 'crypto-js';
  126. import config from '@/config.js';
  127. import idCardNoUtil from '@/common/idcard.js'
  128. import {
  129. translate,
  130. base64ToUrl,
  131. blobToDataURI,
  132. translateAll,
  133. base64toFilen,
  134. fileToBlob
  135. } from '@/common/image.js'
  136. import {
  137. setToken,
  138. setOpenid,
  139. getOpenid,
  140. setUser
  141. } from '@/common/auth.js'
  142. import {
  143. getAccessToken,
  144. idcard,
  145. match
  146. } from '@/common/baiduUtil.js'
  147. import {
  148. updateKhjbxx,
  149. infoKhjbxx,
  150. GetLrByZjhm,
  151. SaveKhjbxx,
  152. GetUrl
  153. } from '@/api/kh.js'
  154. export default {
  155. components: {
  156. myfile
  157. },
  158. data() {
  159. return {
  160. items: [],
  161. level: 3,
  162. id: '',
  163. diqu: '',
  164. item: {},
  165. tkzmList: [],
  166. dbzmList: [],
  167. zczmList: [],
  168. isCheck: false,
  169. indicatorStyle: `height: 50px;`,
  170. jiedaoData: [],
  171. shequData: [],
  172. jiedaoValue: {},
  173. shequValue: {},
  174. shequIndex: 0,
  175. jiedaoIndex: 0,
  176. disabled: true,
  177. show: false,
  178. radio: "0",
  179. radioData: [{
  180. text: '否',
  181. value: "0"
  182. }, {
  183. text: '是',
  184. value: "1"
  185. }],
  186. // 字典
  187. dicts: {
  188. // 民族
  189. C0009: [],
  190. // 性别
  191. C0007: [],
  192. },
  193. // 百度云access_token
  194. token: '',
  195. // 人像地址
  196. src: "/static/images/head.png",
  197. // 身份拍摄地址
  198. zjSrc: "",
  199. // 身份证裁剪地址
  200. zjcaijianSrc: '/static/images/zhengmian.png',
  201. zjcaijianSrcFan: '/static/images/fanmian.png',
  202. //模糊的身份证
  203. zjcaijianSrc2: '/static/images/zm.png',
  204. zjcaijianSrcFan2: '/static/images/bm.png',
  205. cardType: 'front',
  206. frontBase64: '',
  207. backBase64: '',
  208. file1: "",
  209. file2: "",
  210. file3: "",
  211. file4: "",
  212. file5: "",
  213. file6: "",
  214. showSrc: "",
  215. // 人员信息
  216. userInfo: {},
  217. userType: '',
  218. // 组
  219. groupId: '',
  220. // 身份证号加密
  221. idcardMD5: '',
  222. // 人像base64
  223. faceBase64: '',
  224. // 身份证base64
  225. idcardFace: '',
  226. idcardFaceUrl: '',
  227. // 对比份数
  228. score: 0,
  229. // ocrXm
  230. ocrXm: '',
  231. isSearch: false,
  232. baseFormData: {
  233. lrXm: '',
  234. lrZjhm: '',
  235. lrHjbcxx: '',
  236. lrCydh: '',
  237. code: '',
  238. diqu: '',
  239. lrHjdz: '',
  240. istk: "0",
  241. isdb: "0",
  242. iszc: "0",
  243. lzzt: 0,
  244. lrZjz: ""
  245. },
  246. rules: {
  247. jzdz: {
  248. rules: [{
  249. required: true,
  250. errorMessage: '住址不能为空'
  251. }]
  252. },
  253. lrXm: {
  254. rules: [{
  255. required: true,
  256. errorMessage: '姓名不能为空'
  257. }]
  258. },
  259. diqu: {
  260. rules: [{
  261. required: true,
  262. errorMessage: '请选择地区'
  263. }]
  264. },
  265. photo: {
  266. rules: [{
  267. required: true,
  268. errorMessage: '请上传人像'
  269. }]
  270. },
  271. lrCydh: {
  272. rules: [{
  273. required: true,
  274. errorMessage: '手机号不能为空'
  275. },
  276. {
  277. format: 'number',
  278. errorMessage: '请输入正确的手机号',
  279. },
  280. {
  281. // pattern:'/^1\d{10}$/',
  282. pattern:'^1[3-9]\\d{9}$',
  283. // pattern: '^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\\d{8})$',
  284. errorMessage: '请输入正确的手机号',
  285. }
  286. ]
  287. },
  288. jhrlxdh: {
  289. rules: [{
  290. required: false,
  291. errorMessage: '监护人联系电话不能为空'
  292. },
  293. {
  294. format: 'number',
  295. errorMessage: '请输入正确的手机号',
  296. },
  297. {
  298. // pattern: '^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\\d{8})$',
  299. pattern:'^1[3-9]\\d{9}$',
  300. errorMessage: '请输入正确的手机号',
  301. }
  302. ]
  303. }
  304. },
  305. }
  306. },
  307. onLoad(o) {
  308. this.userInfo = getUser()
  309. this.userType = this.userInfo.userType
  310. let unitFilter = this.userInfo.dept.unitFilter.split(',')
  311. this.level = unitFilter.length
  312. // 查询街道和社区
  313. this.getAddressList(this.userInfo.dept.locationCode)
  314. // this.getDictList(Object.keys(this.dicts), this.dicts)
  315. this.baseFormData.code = getOpenid()
  316. this.groupId = this.userInfo.dept.locationCode.substring(0, 6)
  317. this.id = o.id
  318. },
  319. methods: {
  320. onchange(e) {
  321. this.diqu=e.detail.value.map(item=>item.text).join('/')
  322. console.log('baseFormData.lrHjdz',this.baseFormData.lrHjdz)
  323. },
  324. openPicker(){
  325. uni.hideKeyboard()
  326. this.$refs.picker.show()
  327. },
  328. radioChange(key, e) {
  329. const key1 = key.replace('List', ''),
  330. {
  331. value
  332. } = e.detail
  333. if (value === '0') {
  334. this[key] = []
  335. this.baseFormData[key1] = ''
  336. }
  337. },
  338. ht() {
  339. let param = {
  340. id: this.baseFormData.id,
  341. url: 'https://www.ccsckj.com/'
  342. }
  343. GetUrl(param).then(res => {
  344. if (res.code == 200) {
  345. window.open(res.data.url, '_self');
  346. } else {
  347. toast('该功能暂未开放')
  348. // uni.navigateBack()
  349. }
  350. })
  351. },
  352. showInfo(id) {
  353. infoKhjbxx(id).then(res => {
  354. if (res.data) this.baseFormData = decryptData_ECB(res.data, ["lrZjhm", "lrXm",
  355. "lrHjbcxx",
  356. "lrXjdzBcxx",
  357. "lrCydh", "lrPoxm", "lrPoZjmh", "jhrXm", "jhrSjhm", "zlrXm", "zlrDh",
  358. "cjzh",
  359. "yhzh", "khmc", "jhrxm", "jhrlxdh"
  360. ], [2, 1, 4, 4, 3, 1, 2, 1, 2, 1, 3, 5, 5, 5]);
  361. if(this.baseFormData.lrHjdz){
  362. let lrHjdz = this.baseFormData.lrHjdz
  363. let lastLrhjdz = ''
  364. if (Array.isArray(lrHjdz)) {
  365. lastLrhjdz = lrHjdz[lrHjdz.length - 1]
  366. } else {
  367. let data = lrHjdz.split(',')
  368. lastLrhjdz = data[data.length - 1]
  369. }
  370. this.baseFormData.lrHjdz=lastLrhjdz
  371. }
  372. if (this.baseFormData.lrTx) this.src = config.baseUrl + this.baseFormData.lrTx
  373. if (this.baseFormData.lrHjdz) {
  374. this.jiedaoData.forEach((e, jiedaoIndex) => {
  375. if (e.children.length > 0) {
  376. e.children.forEach((ee, shequIndex) => {
  377. if (ee) {
  378. if (ee.code == this.baseFormData.lrHjdz) {
  379. this.shequValue = ee
  380. this.jiedaoValue = e
  381. this.diqu = this.jiedaoValue.label + '/' + this
  382. .shequValue.label
  383. }
  384. } else {
  385. if (e.code == this.baseFormData.lrHjdz) {
  386. this.jiedaoValue = e
  387. this.diqu = this.jiedaoValue.label
  388. }
  389. }
  390. })
  391. }
  392. })
  393. }
  394. if (this.baseFormData.lrZjz) this.zjcaijianSrc = this.baseFormData.lrZjz
  395. if (res.data && res.data.sfzzpb) this.zjcaijianSrcFan = res.data.sfzzpb
  396. if (res.data && res.data.tkzm) this.tkzmList = [res.data.tkzm]
  397. if (res.data && res.data.dbzm) this.dbzmList = [res.data.dbzm]
  398. if (res.data && res.data.zczm) this.zczmList = [res.data.zczm]
  399. if (res.data) this.updateFlag = true
  400. console.log(this.baseFormData,'this.baseFormData');
  401. })
  402. },
  403. tkChange(e) {
  404. this.tkzmList = e
  405. },
  406. dbChange(e) {
  407. this.dbzmList = e
  408. },
  409. zcChange(e) {
  410. this.zczmList = e
  411. },
  412. getAddressList(code) {
  413. if (this.userType === '07') {
  414. code = code.substring(0, 6) + '000000'
  415. }
  416. GetChildListByCode({
  417. code: code
  418. }).then(res => {
  419. if (res.data) {
  420. if (this.level === 3) { //区县级用户
  421. this.jiedaoData = res.data
  422. this.items = res.data.map(item => {
  423. if(item.children&&item.children[0]&&item.children[0].code)
  424. {
  425. return {
  426. ...item,
  427. text: item.label,
  428. value: item.code,
  429. children: item.children.map((ite) => {
  430. return {
  431. ...ite,
  432. text: ite.label,
  433. value: ite.code,
  434. children: []
  435. }
  436. })
  437. }
  438. }else{
  439. return {
  440. ...item,
  441. text: item.label,
  442. value: item.code,
  443. children:[],
  444. }
  445. }
  446. });
  447. this.shequData = res.data[0].children
  448. this.jiedaoValue = this.jiedaoData[0]
  449. this.shequValue = this.shequData[0]
  450. if(!this.baseFormData.lrHjdz)
  451. {
  452. this.diqu = this.jiedaoValue.label
  453. if(this.shequValue&&this.shequValue.label)
  454. {
  455. this.diqu=this.diqu+ '/' + this.shequValue.label
  456. this.baseFormData.lrHjdz = this.shequValue.code
  457. }else{
  458. this.baseFormData.lrHjdz = this.jiedaoValue.code
  459. }
  460. }else{
  461. this.diqu=this.baseFormData.xzqhName
  462. }
  463. } else if (this.level === 4) { //街道级用户
  464. this.shequData = res.data
  465. this.shequValue = this.shequData[0]
  466. if(!this.baseFormData.lrHjdz)
  467. {
  468. this.diqu = this.shequValue.label
  469. this.baseFormData.lrHjdz = this.shequValue.code
  470. }else{
  471. this.diqu=this.baseFormData.xzqhName
  472. }
  473. } else if (this.level === 5) { //社区级用户
  474. this.baseFormData.lrHjdz = this.userInfo.dept.locationCode
  475. }
  476. if (this.id) this.showInfo(this.id)
  477. }
  478. })
  479. },
  480. callbackFace(res) {
  481. uni.hideLoading()
  482. if (res.data.error_msg == 'SUCCESS') {
  483. this.score = res.data.result.score;
  484. this.baseFormData.lrTxdb = JSON.stringify({
  485. "lrJmzjhm": this.idcardMD5,
  486. "xsfs": this.score
  487. })
  488. if (this.score >= config.score) {
  489. this.show = false
  490. // this.baseFormData.lzzt = 3
  491. this.baseFormData.lzzt = 0
  492. // this.baseFormData.lrSpyj = '同意'
  493. this.baseFormData.lrSpyj = ''
  494. } else {
  495. // 低于80选项是否人工审核,是的话进记录表
  496. // 身份证头像保存后端
  497. // 人脸库注册人脸、身份证md5
  498. // 修改的时候去人脸库搜索,搜索不到不允许修改
  499. // 修改成功替换原始人脸库照片
  500. // 首次修改搜索身份证
  501. // 后端没入库,人脸库相应删除
  502. // ocr失败身份证原版入库,ocr成功人脸入库
  503. // showConfirm('人像与身份证不符,请重新上传')
  504. // this.baseFormData.lzzt = 1
  505. // this.baseFormData.lrSpyj = ''
  506. this.baseFormData.lzzt = 0
  507. this.baseFormData.lrSpyj = ''
  508. this.show = true
  509. }
  510. this.baseFormData.prelrZjz = this.zjcaijianSrc
  511. } else {
  512. showConfirm(res.data.error_msg)
  513. this.faceBase64 = ''
  514. }
  515. },
  516. callbackToken(e) {
  517. this.token = e
  518. },
  519. toggle(type) {
  520. uni.hideKeyboard()
  521. if (this.level === 3) {
  522. this.shequData = this.jiedaoData[0].children
  523. }
  524. // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
  525. this.$refs.popup.open(type)
  526. },
  527. bindChange(e) {
  528. if (this.level === 3) { // 区县级用户
  529. if (e.detail.value.length == 1) {
  530. this.jiedaoValue = this.jiedaoData[e.detail.value[0]]
  531. this.shequData = this.jiedaoData[e.detail.value[0]].children
  532. if (this.shequData.length > 0 && this.shequData[0] != null) {
  533. this.shequValue = this.shequData[0]
  534. this.diqu = this.jiedaoValue.label + '/' + this.shequValue.label
  535. this.baseFormData.lrHjdz = this.shequValue.code
  536. } else {
  537. this.shequData = []
  538. this.shequValue = ''
  539. this.diqu = this.jiedaoValue.label
  540. this.baseFormData.lrHjdz = this.jiedaoValue.code
  541. }
  542. } else {
  543. let index = e.detail.value[0] ? e.detail.value[0] : 0
  544. this.jiedaoValue = this.jiedaoData[index]
  545. this.shequValue = this.shequData[e.detail.value[1]]
  546. this.diqu = this.jiedaoValue.label + '/' + this.shequValue.label
  547. this.baseFormData.lrHjdz = this.shequValue.code
  548. }
  549. } else if (this.level === 4) { // 街道级用户
  550. this.shequValue = this.shequData[e.detail.value[0]]
  551. this.diqu = this.shequValue.label
  552. this.baseFormData.lrHjdz = this.shequValue.code
  553. }
  554. // if (e.detail.value.length == 1) {
  555. // this.jiedaoValue = this.jiedaoData[e.detail.value[0]]
  556. // this.shequData = this.jiedaoData[e.detail.value[0]].children
  557. // if (this.shequData.length > 0 && this.shequData[0] != null) {
  558. // this.shequValue = this.shequData[0]
  559. // this.diqu = this.jiedaoValue.label + '/' + this.shequValue.label
  560. // this.baseFormData.lrHjdz = this.shequValue.code
  561. // } else {
  562. // this.shequData = []
  563. // this.shequValue = ''
  564. // this.diqu = this.jiedaoValue.label
  565. // this.baseFormData.lrHjdz = this.jiedaoValue.code
  566. // }
  567. // } else {
  568. // let index = e.detail.value[0] ? e.detail.value[0] : 0
  569. // this.jiedaoValue = this.jiedaoData[index]
  570. // this.shequValue = this.shequData[e.detail.value[1]]
  571. // this.diqu = this.jiedaoValue.label + '/' + this.shequValue.label
  572. // this.baseFormData.lrHjdz = this.shequValue.code
  573. // }
  574. },
  575. buildDataByLevel(data, pid) {
  576. let result = [];
  577. data.filter(e => {
  578. return e.parent_id === pid
  579. }).forEach(e => {
  580. result.push({
  581. value: e.code,
  582. text: e.name,
  583. id: e.id,
  584. children: this.buildDataByLevel(data, e.id)
  585. })
  586. })
  587. return result.length > 0 ? result : []
  588. },
  589. paizhao(type) {
  590. this.type = type
  591. if (this.type == 'back' && !this.ocrXm) {
  592. showConfirm('请先拍摄身份证人像面')
  593. return
  594. }
  595. uni.setStorageSync("cardType", type)
  596. uni.navigateTo({
  597. url: '/pages/info/card'
  598. })
  599. },
  600. onnodeclick(node) {
  601. this.groupId = node.code.substring(0, 6)
  602. this.baseFormData.lrHjdz = this.groupId + '000000'
  603. },
  604. preSave() {
  605. if (this.baseFormData.lzzt != 0 && this.baseFormData.lzzt != 3 && this.baseFormData.lzzt != 4 && this
  606. .baseFormData.lzzt != 6) {
  607. showConfirm('信息正在审核,请审核后重试')
  608. return
  609. }
  610. if (this.baseFormData.istk == 1 && this.tkzmList.length == 0) {
  611. showConfirm('请先上传特困证明')
  612. return
  613. }
  614. if (this.baseFormData.isdb == 1 && this.dbzmList.length == 0) {
  615. showConfirm('请先上传低保证明')
  616. return
  617. }
  618. if (this.baseFormData.iszc == 1 && this.zczmList.length == 0) {
  619. showConfirm('请先上传重残证明')
  620. return
  621. }
  622. this.save()
  623. },
  624. save() {
  625. uni.showLoading({
  626. title: '正在修改中...',
  627. mask: true,
  628. })
  629. let paramFiles = []
  630. if (this.baseFormData.istk == 1 && this.tkzmList.length == 1 && this.tkzmList[0].indexOf(
  631. 'data:image') > -1) {
  632. fileToBlob(base64toFilen(this.tkzmList[0]), (e) => {
  633. this.file4 = e
  634. paramFiles.push({
  635. name: "file4",
  636. uri: this.file4
  637. })
  638. })
  639. if (this.baseFormData.lzzt != 2 || this.baseFormData.lzzt != 1) {
  640. // 特殊材料待审核
  641. // this.baseFormData.lzzt = 5
  642. this.baseFormData.lzzt = 0
  643. this.baseFormData.lrSpyj = '无'
  644. }
  645. }
  646. if (this.baseFormData.isdb == 1 && this.dbzmList.length == 1 && this.dbzmList[0].indexOf(
  647. 'data:image') > -1) {
  648. fileToBlob(base64toFilen(this.dbzmList[0]), (e) => {
  649. this.file5 = e
  650. paramFiles.push({
  651. name: "file5",
  652. uri: this.file5
  653. })
  654. })
  655. if (this.baseFormData.lzzt != 2 || this.baseFormData.lzzt != 1) {
  656. // 特殊材料待审核
  657. // this.baseFormData.lzzt = 5
  658. this.baseFormData.lzzt = 0
  659. this.baseFormData.lrSpyj = '无'
  660. }
  661. }
  662. if (this.baseFormData.iszc == 1 && this.zczmList.length == 1 && this.zczmList[0].indexOf(
  663. 'data:image') > -1) {
  664. fileToBlob(base64toFilen(this.zczmList[0]), (e) => {
  665. this.file6 = e
  666. paramFiles.push({
  667. name: "file6",
  668. uri: this.file6
  669. })
  670. })
  671. if (this.baseFormData.lzzt != 2 || this.baseFormData.lzzt != 1) {
  672. // 特殊材料待审核
  673. // this.baseFormData.lzzt = 5
  674. this.baseFormData.lzzt = 0
  675. this.baseFormData.lrSpyj = '无'
  676. }
  677. }
  678. let that = this
  679. setTimeout(function() {
  680. UploadSomeFile(paramFiles).then(res => {
  681. if (res.data.url1) {
  682. that.baseFormData.lrZjz = res.data.url1
  683. }
  684. if (res.data.url2) {
  685. that.baseFormData.sfzzpb = res.data.url2
  686. }
  687. if (res.data.url3) {
  688. that.baseFormData.lrTx = res.data.url3
  689. }
  690. if (that.baseFormData.istk == 1 && that.tkzmList.length == 1 && !(that.baseFormData
  691. .tkzm)) {
  692. that.baseFormData.tkzm = res.data.url4
  693. }
  694. if (that.baseFormData.isdb == 1 && that.dbzmList.length == 1 && !(that.baseFormData
  695. .dbzm)) {
  696. that.baseFormData.dbzm = res.data.url5
  697. }
  698. if (that.baseFormData.iszc == 1 && that.zczmList.length == 1 && !(that.baseFormData
  699. .zczm)) {
  700. that.baseFormData.zczm = res.data.url6
  701. }
  702. that.$refs['baseForm'].validate().then(res => {
  703. if (that.updateFlag) {
  704. // let lrHjdz = that.baseFormData.lrHjdz
  705. // let lastLrhjdz = ''
  706. // if (Array.isArray(lrHjdz)) {
  707. // lastLrhjdz = lrHjdz[lrHjdz.length - 1]
  708. // } else {
  709. // let data = lrHjdz.split(',')
  710. // lastLrhjdz = data[data.length - 1]
  711. // }
  712. // let params = {
  713. // ...that.baseFormData,
  714. // lrHjdz: lastLrhjdz,
  715. // }
  716. updateKhjbxx(that.baseFormData).then(r => {
  717. uni.hideLoading()
  718. if (r.code == 200) {
  719. toast('保存成功')
  720. setTimeout(function() {
  721. uni.switchTab({
  722. url: '/pages/lr/list'
  723. })
  724. // uni.navigateBack()
  725. }, 1000)
  726. }
  727. })
  728. } else {
  729. SaveKhjbxx(that.baseFormData).then(r => {
  730. uni.hideLoading()
  731. if (r.code == 200) {
  732. toast('保存成功')
  733. // setOpenid(r.data.openId)
  734. // setUser(r.data.sysUser)
  735. // setToken(r.data.token.access_token)
  736. setTimeout(function() {
  737. uni.switchTab({
  738. url: '/pages/index/index'
  739. })
  740. }, 1000)
  741. }
  742. })
  743. }
  744. }).catch(err => {
  745. uni.hideLoading()
  746. })
  747. })
  748. }, 500)
  749. }
  750. }
  751. }
  752. </script>
  753. <style scoped>
  754. .content {
  755. padding: 1vh;
  756. }
  757. .lzcOCR {
  758. display: flex;
  759. justify-content: space-between;
  760. margin-top: 5vh;
  761. }
  762. .imgBox {
  763. width: 47%;
  764. text-align: center;
  765. image {
  766. width: 100%;
  767. }
  768. .text {
  769. width: 100%;
  770. /* background-color: red; */
  771. }
  772. }
  773. .miaoshu {
  774. margin-top: 5vh;
  775. font-size: 14px;
  776. }
  777. .buttonClass {
  778. margin-top: 4vh;
  779. margin-left: 4vw;
  780. width: 68vw;
  781. /* height: 5vh; */
  782. border-radius: 5.8vw;
  783. /* border: 1px solid rgba(176, 179, 199, 1); */
  784. background: #28d87d;
  785. color: white;
  786. height: 5vh;
  787. display: flex;
  788. align-items: center;
  789. justify-content: center;
  790. box-shadow: 0rpx 4rpx 10rpx 1rpx rgba(40, 216, 125, 0.4);
  791. }
  792. .picker-view {
  793. width: 750rpx;
  794. height: 600rpx;
  795. margin-top: 20rpx;
  796. }
  797. .item {
  798. line-height: 100rpx;
  799. text-align: center;
  800. }
  801. </style>