info.vue 18 KB

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