洛阳学员端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

698 lines
20 KiB

10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
9 months ago
10 months ago
10 months ago
9 months ago
10 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
8 months ago
10 months ago
9 months ago
10 months ago
9 months ago
10 months ago
9 months ago
10 months ago
10 months ago
10 months ago
9 months ago
10 months ago
10 months ago
9 months ago
10 months ago
10 months ago
8 months ago
10 months ago
10 months ago
8 months ago
10 months ago
9 months ago
10 months ago
9 months ago
10 months ago
10 months ago
10 months ago
9 months ago
10 months ago
9 months ago
10 months ago
8 months ago
10 months ago
8 months ago
10 months ago
10 months ago
9 months ago
10 months ago
3 weeks ago
10 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
  1. <template>
  2. <view class="pageBg">
  3. <!-- <topNavbar title="报名信息确认"></topNavbar> -->
  4. <view class="pad">
  5. <view class="card">
  6. <view class="row">
  7. <view class="lab">扫描教练二维码</view>
  8. <view class="rightCon">
  9. <view class="scan" @click="scanCodeFn">
  10. <image src="@/static/images/carIcon/sanIcon.png"></image>
  11. </view>
  12. </view>
  13. </view>
  14. </view>
  15. <view class="card">
  16. <view class="row" >
  17. <view class="lab">选择驾校</view>
  18. <view class="rightCon">
  19. <view class="row" @click="showSchool=true">
  20. <view class="val">
  21. <mySelect :value="form.school"/>
  22. </view>
  23. <view class="arrow">
  24. <u-icon name="arrow-right" size="14" color="#686B73" style="margin-left: 12rpx;" ></u-icon>
  25. </view>
  26. </view>
  27. </view>
  28. </view>
  29. <view class="row">
  30. <view class="lab">选择车型</view>
  31. <view class="rightCon">
  32. <view class="row" @click="showCarClick">
  33. <view class="val">
  34. <mySelect :value="form.trainType"/>
  35. </view>
  36. <view class="arrow">
  37. <u-icon name="arrow-right" size="14" color="#686B73" style="margin-left: 12rpx;" ></u-icon>
  38. </view>
  39. </view>
  40. </view>
  41. </view>
  42. <view class="row">
  43. <view class="lab">选择班型</view>
  44. <view class="rightCon">
  45. <view class="row" @click="showClassModel=true">
  46. <view class="val">
  47. <mySelect :value="form.classModel"/>
  48. </view>
  49. <view class="arrow">
  50. <u-icon name="arrow-right" size="14" color="#686B73" style="margin-left: 12rpx;" ></u-icon>
  51. </view>
  52. </view>
  53. </view>
  54. </view>
  55. <view class="row">
  56. <view class="lab">选择教练</view>
  57. <view class="rightCon" @click="goCoach">
  58. <view class="row" >
  59. <view class="val">
  60. <mySelect :value="form.coach"/>
  61. </view>
  62. <view class="arrow">
  63. <u-icon name="arrow-right" size="14" color="#686B73" style="margin-left: 12rpx;" ></u-icon>
  64. </view>
  65. </view>
  66. </view>
  67. </view>
  68. </view>
  69. <view class="card">
  70. <view class="row">
  71. <view class="lab">业务类型</view>
  72. <view class="rightCon">
  73. <u-radio-group
  74. v-model="form.businessType"
  75. >
  76. <u-radio
  77. :customStyle="{marginRight: '24rpx'}"
  78. v-for="(item, index) in radiolist1"
  79. :key="index"
  80. :label="item.name"
  81. :name="item.id"
  82. >
  83. </u-radio>
  84. </u-radio-group>
  85. </view>
  86. </view>
  87. </view>
  88. <view class="card" v-if="form.businessType==1">
  89. <view class="row">
  90. <view class="lab long">原驾驶证号</view>
  91. <view class="rightCon">
  92. <view class="row">
  93. <view class="val">
  94. <u-input placeholder="请输入原驾驶证号" v-model="form.certificateCodeShow" border font-size="26rpx" placeholderStyle="color: #ADADAD" style="padding: 0;"></u-input>
  95. </view>
  96. </view>
  97. </view>
  98. </view>
  99. <view class="row">
  100. <view class="lab long">驾驶证初领日期</view>
  101. <view class="rightCon">
  102. <view class="row" @click="showFirstLicenceTime=true" >
  103. <view class="val">
  104. <mySelect :value="form.firstDriveDate"/>
  105. </view>
  106. <view class="arrow">
  107. <u-icon name="arrow-right" size="14" color="#686B73" style="margin-left: 12rpx;" ></u-icon>
  108. </view>
  109. </view>
  110. </view>
  111. </view>
  112. <view class="row">
  113. <view class="lab long">原准驾车型</view>
  114. <view class="rightCon">
  115. <view class="row" @click="showOldDriveModel=true" >
  116. <view class="val">
  117. <mySelect :value="form.oldTrainType"/>
  118. </view>
  119. <view class="arrow">
  120. <u-icon name="arrow-right" size="14" color="#686B73" style="margin-left: 12rpx;" ></u-icon>
  121. </view>
  122. </view>
  123. </view>
  124. </view>
  125. </view>
  126. <view class="card">
  127. <view class="row">
  128. <view class="lab">是否异地转入</view>
  129. <view class="rightCon" style="margin-left: 40rpx;">
  130. <u-radio-group
  131. v-model="form.transfer"
  132. @change="changeVal"
  133. >
  134. <u-radio
  135. :customStyle="{marginRight: '24rpx'}"
  136. v-for="(item, index) in radiolist2"
  137. :key="item.id"
  138. :label="item.name"
  139. :name="item.id"
  140. >
  141. </u-radio>
  142. </u-radio-group>
  143. </view>
  144. </view>
  145. </view>
  146. <view class="card" v-if="form.transfer==1">
  147. <view class="row" @click="cityShowFn">
  148. <view class="lab">来源城市</view>
  149. <view class="rightCon">
  150. <view class="row">
  151. <view class="val">
  152. <mySelect :value="form.fromArea"/>
  153. </view>
  154. <view class="arrow">
  155. <u-icon name="arrow-right" size="14" color="#686B73" style="margin-left: 12rpx;" ></u-icon>
  156. </view>
  157. </view>
  158. </view>
  159. </view>
  160. <view class="row">
  161. <view class="lab ">已过科目</view>
  162. <view class="rightCon">
  163. <view class="row" @click="subjectClick">
  164. <view class="val">
  165. <mySelect :value="form.finishSubjectName"/>
  166. </view>
  167. <view class="arrow">
  168. <u-icon name="arrow-right" size="14" color="#686B73" style="margin-left: 12rpx;" ></u-icon>
  169. </view>
  170. </view>
  171. </view>
  172. </view>
  173. <view class="row">
  174. <view class="lab">待学科目</view>
  175. <view class="rightCon">
  176. <view class="row" @click="showSubjectTreat=true">
  177. <view class="val">
  178. <mySelect :value="form.waitSubjectName"/>
  179. </view>
  180. <view class="arrow">
  181. <u-icon name="arrow-right" size="14" color="#686B73" style="margin-left: 12rpx;" ></u-icon>
  182. </view>
  183. </view>
  184. </view>
  185. </view>
  186. </view>
  187. <view class="card" v-if="form.totalAmount">
  188. <view class="row">
  189. <view class="lab">学费</view>
  190. <view class="rightCon">
  191. <view class="row">
  192. <view class="val blue" >{{ $u.utils.priceTo(form.totalAmount) }}</view>
  193. </view>
  194. </view>
  195. </view>
  196. </view>
  197. <view class="btnBg" @click="confirmClick">确认</view>
  198. </view>
  199. <u-popup :show="showPopup" mode="center" :round="8" >
  200. <comfigPopup @comfigClick="comfigClick" :info="form"/>
  201. </u-popup>
  202. <u-popup :show="showSchool" mode="bottom" :round="8" @close="showSchool=false">
  203. <searchSchool @chooseSchool="chooseSchool"/>
  204. </u-popup>
  205. <!-- 选择班型 -->
  206. <u-picker :show="showClassModel" :columns="columnsClassModel" keyName="name" @confirm="confirmClassModel" @cancel="showClassModel=false"></u-picker>
  207. <!-- 选择车型 -->
  208. <u-picker :show="showCar" :columns="columnsCar" keyName="label" @confirm="confirmCar" :closeOnClickOverlay="true" @cancel="showCar=false"></u-picker>
  209. <!-- 原驾驶证初领日期 -->
  210. <u-datetime-picker :show="showFirstLicenceTime" mode="date" @confirm="confirmFirstLicenceTime"></u-datetime-picker>
  211. <!-- 原驾驶证学驾车型 -->
  212. <u-popup :show="showOldDriveModel" mode="bottom" :round="8" @close="showOldDriveModel=false">
  213. <oldDrive @pickerOldDrive="pickerOldDrive"/>
  214. </u-popup>
  215. <!-- 已过科目 -->
  216. <u-picker :show="showSubjectPass" :columns="columnsSubject" keyName="label" @confirm="confirmSubjectPass" @cancel="showSubjectPass=false"></u-picker>
  217. <!-- 待学科目 -->
  218. <u-picker :show="showSubjectTreat" :columns="columnsSubject" keyName="label" @confirm="confirmTreat" @cancel="showSubjectTreat=false"></u-picker>
  219. <!-- 城市 -->
  220. <u-picker :show="showCity" ref="uPicker" :columns="[cityArr]" @confirm="confirmCity" @change="changeHandler" keyName="name" @cancel="showCity=false"></u-picker>
  221. </view>
  222. </template>
  223. <script>
  224. import comfigPopup from './comp/comfigPopup'
  225. import searchSchool from './comp/searchSchool'
  226. import oldDrive from './comp/oldDrive'
  227. import { areaTree, applyOnline, schoolClass, getSchoolDetail, paymentPrice } from '@/config/api.js'
  228. import { scanCodeFn } from '@/config/utils.js'
  229. export default {
  230. components: { comfigPopup, searchSchool, oldDrive },
  231. data() {
  232. return {
  233. showCity: false,
  234. showPopup: false,
  235. showClassModel: false,
  236. showCar: false,
  237. showFirstLicenceTime: false,
  238. showOldDriveModel: false,
  239. showSubjectPass: false,
  240. showSubjectTreat: false,
  241. columnsClassModel: [],//班型
  242. columnsSubject: [
  243. [
  244. {label: '科目一', id: 1},
  245. {label: '科目二', id: 2},
  246. {label: '科目三', id: 3},
  247. ]
  248. ],
  249. columnsCar: [],
  250. form: {
  251. school: '',
  252. classModel: '',
  253. car: '',
  254. coach: '',
  255. cardType: 1,
  256. idcard: '',
  257. trainType: '',//车型
  258. nationality: '中国',
  259. certificateCodeShow: '',
  260. driveLicence: '',//原驾驶证号 给后端的
  261. firstDriveDate: '',//原驾驶证初领日期
  262. sex: 2,
  263. phone: '',
  264. applyType: 1,
  265. name: '',
  266. oldTrainType: '',//原准驾车型
  267. finishSubject: '',//已过科目
  268. finishSubjectName: '',//已过显示文字
  269. waitSubjectName: '',//待学科目显示文字
  270. waitSubject: '',//待学科目
  271. photoPath: 'https://lyjp-bucket-main.oss-cn-beijing.aliyuncs.com/985114ca01ff35554333927a5d1d52883d3ad21301caac4b637df56169b2c916.png',
  272. address: '',
  273. totalAmount: 0,
  274. transfer: 2, //是否异地
  275. businessType: 0,
  276. fromArea: '',//异地城市
  277. },
  278. showSchool: false,
  279. radiolist1: [ {name: '初领', id: 0}, {name: '增驾', id: 1}],//0:初领,1:增驾,
  280. radiolist2: [{name: '否', id: 2}, {name: '是', id: 1}, ],
  281. radiolist3: [ {name: '全款', id: 1}, {name: '预付款', id: 2}],
  282. cityArr: [],
  283. cityArr2: [],
  284. cityArr3: []
  285. }
  286. },
  287. onLoad(options) {
  288. if(options.realNameNo) {
  289. this.realNameNo = options.realNameNo
  290. }
  291. this.initUserInfo()
  292. // 监听上一个页面的选择教练
  293. uni.$on('upDateCoachItem',(item)=>{
  294. console.log(item)
  295. this.form.coach = item.name
  296. this.form.coachId = item.id
  297. })
  298. this.areaTreeFn()
  299. // 如果是选择了驾校班型来报名的
  300. let schoolClass = this.$store.state.school.schoolClass
  301. if(schoolClass.id) {
  302. console.log(schoolClass)
  303. this.form.classModel = schoolClass.name
  304. this.form.school = schoolClass.schoolName
  305. this.form.schoolId = schoolClass.schoolId
  306. this.form.trainType = schoolClass.carType
  307. this.form.schoolClassId = schoolClass.id
  308. this.form.totalAmount= schoolClass.totalAmount
  309. }
  310. // 如果是选择了驾校教练来报名的/扫二维码
  311. let schoolCoach = this.$store.state.school.schoolCoach
  312. if(schoolCoach.id) {
  313. console.log('schoolCoach')
  314. console.log(schoolCoach)
  315. this.form.coach = schoolCoach.name
  316. this.form.coachId = schoolCoach.id
  317. this.form.school = schoolCoach.schoolName
  318. this.form.schoolId = schoolCoach.schoolId
  319. if(schoolCoach.teachCarType) this.form.trainType = schoolCoach.teachCarType.slice(0,2)
  320. }
  321. // 如果是扫驾校的二维码来的
  322. let schoolCode = this.$store.state.school.schoolCode
  323. if(schoolCode.schoolId) {
  324. console.log('schoolCode')
  325. console.log(schoolCode)
  326. this.form.school = schoolCode.schoolName
  327. this.form.schoolId = schoolCode.schoolId
  328. }
  329. if(this.form.schoolId) {
  330. this.getSchoolDetailFn()
  331. }
  332. },
  333. onPullDownRefresh() {
  334. this.initUserInfo()
  335. },
  336. methods: {
  337. async initUserInfo() {
  338. // 如果不是实名
  339. // if(!this.realNameNo) {
  340. // await this.$store.dispatch('getUserInfo')
  341. // }
  342. console.log(this.vuex_userInfo)
  343. this.form.userId = this.userId
  344. this.form.accountId = this.vuex_userInfo.accountId
  345. this.form.address = this.vuex_userInfo.address
  346. this.form.name = this.vuex_userInfo.name
  347. this.form.idcard = this.vuex_userInfo.idcard
  348. this.form.phone = this.vuex_userInfo.phone
  349. this.form.nationality = this.vuex_userInfo.nationality || '中国'
  350. this.form.cardType = this.vuex_userInfo.cardType || '1'
  351. this.form.sex = this.vuex_userInfo.sex
  352. if(this.vuex_userInfo.photoPath&&this.form.cardType!='1') this.form.photoPath = this.vuex_userInfo.photoPath
  353. },
  354. // 查班型
  355. async schoolClassFn() {
  356. const {data: res} = await schoolClass({pageNo: 1,pageSize: 100, schoolId: this.form.schoolId, carType: this.form.trainType})
  357. this.columnsClassModel = [res.list]
  358. console.log(this.columnsClassModel)
  359. },
  360. cityShowFn() {
  361. this.showCity = true
  362. this.$nextTick(()=>{
  363. let picker = this.$refs.uPicker
  364. picker.setColumnValues(1, this.cityArr2[0])
  365. picker.setColumnValues(2, this.cityArr3[0][0])
  366. })
  367. // picker = this.$refs.uPicker
  368. },
  369. changeHandler(e) {
  370. const {
  371. indexs,
  372. columnIndex,
  373. value,
  374. values, // values为当前变化列的数组内容
  375. index,
  376. // 微信小程序无法将picker实例传出来,只能通过ref操作
  377. picker = this.$refs.uPicker
  378. } = e
  379. // 当第一列值发生变化时,变化第二列(后一列)对应的选项
  380. if (columnIndex === 0) {
  381. // picker为选择器this实例,变化第二列对应的选项
  382. picker.setColumnValues(1, this.cityArr2[index])
  383. picker.setColumnValues(2, this.cityArr3[index][0])
  384. }
  385. if (columnIndex === 1) {
  386. let index3 = indexs[0]
  387. // picker为选择器this实例,变化第二列对应的选项
  388. picker.setColumnValues(2, (this.cityArr3[index3])[index])
  389. }
  390. console.log(indexs[0])
  391. // console.log(this.cityArr3[index3])
  392. // console.log(value)
  393. // console.log(values)
  394. // console.log(columnIndex)
  395. },
  396. // 回调参数为包含columnIndex、value、values
  397. confirmCity(e) {
  398. console.log('confirm', e)
  399. this.form.fromArea = e.value.map((item)=>{
  400. return item.name
  401. }).join(',').replace(/,/g, '-')
  402. this.showCity = false
  403. },
  404. // 获取地区
  405. async areaTreeFn() {
  406. // this.cityArr2.push(this.traverse(item.children))
  407. const {data: res} = await areaTree()
  408. this.cityArr = res.map(item=>{
  409. let obj = {
  410. id: item.id,
  411. name: item.name
  412. }
  413. return obj
  414. })
  415. this.cityArr2 = res.map(item2=>{
  416. let arr2 = item2.children
  417. return arr2.map(val=>{
  418. let obj = {
  419. id: val.id,
  420. name: val.name
  421. }
  422. return obj
  423. })
  424. })
  425. this.cityArr3 = res.map(item2=>{
  426. let arr2 = item2.children
  427. return arr2.map(val=>{
  428. return val.children.map(val3=>{
  429. let obj = {
  430. id: val3.id,
  431. name: val3.name
  432. }
  433. return obj
  434. })
  435. })
  436. })
  437. },
  438. traverse(arr, result=[]) {
  439. for (var i = 0; i < arr.length; i++) {
  440. let item = arr[i]
  441. let obj = {
  442. id: item.id,
  443. name: item.name
  444. }
  445. result.push(obj)
  446. if(item.children.length) {
  447. this.traverse(item.children, result)
  448. }
  449. }
  450. return result;
  451. },
  452. // 选择驾校
  453. chooseSchool(item) {
  454. this.form.school = item.name
  455. this.form.schoolId = item.id
  456. this.columnsCar = [item.businessScope.split(',')]
  457. this.form.classModel = ''
  458. this.form.schoolClassId = ''
  459. this.form.trainType = ''
  460. this.form.coach = ''
  461. this.form.coachId = ''
  462. this.form.totalAmount = ''
  463. this.showSchool = false
  464. this.schoolClassFn()
  465. },
  466. // 选择班型
  467. confirmClassModel(val) {
  468. let item = val.value[0]
  469. this.showClassModel = false
  470. if(!item) return
  471. this.form.classModel = item.name
  472. this.form.schoolClassId = item.id
  473. if(this.form.finishSubject&&this.form.transfer==1) {
  474. this.paymentPriceFn()
  475. }else {
  476. this.form.totalAmount = item.totalAmount
  477. }
  478. },
  479. // 选择车型
  480. confirmCar(val) {
  481. let item = val.value[0]
  482. this.showCar = false
  483. if(!item) return
  484. if(this.form.trainType == item) return
  485. this.form.trainType = item
  486. this.form.coach = ''
  487. this.form.coachId = ''
  488. this.form.classModel = ''
  489. this.form.schoolClassId = ''
  490. this.form.totalAmount = ''
  491. this.schoolClassFn()
  492. },
  493. showCarClick() {
  494. if(!this.form.school) return this.$u.toast('请先选择驾校')
  495. this.showCar = true
  496. },
  497. // 跳转到选择教练
  498. goCoach() {
  499. if(!this.form.schoolId) return this.$u.toast('请先选择驾校')
  500. if(!this.form.trainType) return this.$u.toast('请先选择车型')
  501. this.$goPage('/pages/indexEntry/enroll/registInfo/chooseCoach/chooseCoach?schoolId=' + this.form.schoolId+ '&trainType='+ this.form.trainType)
  502. },
  503. // 选择原驾驶证初领日期
  504. confirmFirstLicenceTime(val) {
  505. console.log(val)
  506. this.form.firstDriveDate = uni.$u.timeFormat(val.value, 'yyyy-mm-dd');
  507. this.showFirstLicenceTime = false
  508. },
  509. // 选择原准驾车型
  510. pickerOldDrive(val) {
  511. this.form.oldTrainType = val
  512. this.showOldDriveModel = false
  513. console.log(val)
  514. },
  515. // 弹出选择已过科目
  516. subjectClick() {
  517. if(!this.form.schoolClassId) return this.$u.toast('请先选择报名班型,方便计算价格')
  518. this.showSubjectPass=true
  519. },
  520. // 选择已过科目
  521. confirmSubjectPass(val) {
  522. this.showSubjectPass = false
  523. let item = val.value[0]
  524. if(this.form.finishSubject == item.id) return
  525. this.form.finishSubject = item.id
  526. this.form.finishSubjectName = item.label
  527. this.paymentPriceFn()
  528. },
  529. // 已过科目价格计算
  530. async paymentPriceFn() {
  531. let obj = {
  532. schoolClassId: this.form.schoolClassId,
  533. finishSubject: this.form.finishSubject
  534. }
  535. const res = await paymentPrice(obj)
  536. if(res.code==0) {
  537. this.form.totalAmount = res.data
  538. }
  539. },
  540. // 选择已过科目
  541. confirmTreat(val) {
  542. let item = val.value[0]
  543. this.form.waitSubjectName = item.label
  544. this.form.waitSubject = item.id
  545. this.showSubjectTreat = false
  546. },
  547. // 扫码
  548. scanCodeFn() {
  549. let _this = this
  550. uni.scanCode({
  551. success: async function(res) {
  552. console.log('条码类型:' + res.scanType);
  553. console.log('条码内容:' + res.result);
  554. let obj = JSON.parse(res.result)
  555. console.log(obj.QrType)
  556. console.log(obj.QrType==1)
  557. if(obj.QrType==1) {
  558. if( !obj.coachId ) {
  559. // 说明是扫驾校码报名的要转一下驾校名称
  560. obj.schoolName = decodeURIComponent(obj.schoolName)
  561. }
  562. _this.form.school = obj.schoolName
  563. _this.form.schoolId = obj.schoolId
  564. const {data: item} = await getSchoolDetail({id: _this.form.schoolId})
  565. _this.chooseSchool(item)
  566. if( !obj.coachId) return
  567. _this.form.coach = obj.coachName
  568. _this.form.coachId = obj.coachId
  569. if(obj.teachCarType) _this.form.trainType = obj.teachCarType.slice(0,2)
  570. console.log(_this.form)
  571. }else {
  572. _this.$u.toast('报名码错误,请扫教练或驾校二维码')
  573. }
  574. }
  575. });
  576. },
  577. async getSchoolDetailFn() {
  578. const {data: res} = await getSchoolDetail({id: this.form.schoolId})
  579. this.columnsCar = [res.businessScope.split(',')]
  580. console.log('驾校id')
  581. console.log(res.id)
  582. this.schoolClassFn()
  583. },
  584. changeVal(val) {
  585. console.log(val)
  586. console.log(this.form.transfer)
  587. },
  588. // 点击确认
  589. confirmClick() {
  590. if(!this.form.schoolId) return this.$u.toast('请选择驾校')
  591. if(!this.form.trainType) return this.$u.toast('请选择车型')
  592. if(!this.form.schoolClassId) return this.$u.toast('请选择班型')
  593. this.showPopup = true
  594. },
  595. async comfigClick(val) {
  596. console.log(this.form)
  597. this.showPopup = false
  598. if(!val) return false
  599. let obj = Object.assign({},this.form)
  600. obj.name = obj.name.replace(/\s+/g, '')
  601. obj.idcard = obj.idcard.replace(/\s+/g, '')
  602. console.log('请求参数')
  603. console.log(obj)
  604. const {data: res} = await applyOnline(obj)
  605. // 报名成功
  606. console.log(res)
  607. await this.$store.dispatch('getUserInfo')
  608. if(val) {
  609. this.$goPage('/pages/indexEntry/enroll/signContract/signContract?schoolId='+this.form.schoolId)
  610. }
  611. }
  612. }
  613. }
  614. </script>
  615. <style lang="scss" scoped>
  616. .pad {
  617. padding-bottom: 66rpx;
  618. }
  619. .card {
  620. padding: 10rpx 40rpx 10rpx 32rpx;
  621. margin-bottom: 20rpx;
  622. .row {
  623. height: 88rpx;
  624. display: flex;
  625. align-items: center;
  626. width: 100%;
  627. .lab {
  628. width: 152rpx;
  629. line-height: 88rpx;
  630. white-space: nowrap;
  631. &.long {
  632. width: 230rpx;
  633. }
  634. }
  635. .scan {
  636. margin-left: auto;
  637. width: 40rpx;
  638. height: 38rpx;
  639. image {
  640. display: block;
  641. width: 100%;
  642. height: 100%;
  643. }
  644. }
  645. .rightCon {
  646. flex: 1;
  647. width: 0;
  648. display: flex;
  649. .val {
  650. flex: 1;
  651. width: 0;
  652. input {
  653. font-size: 28rpx;
  654. }
  655. &.blue {
  656. color: $themC;
  657. }
  658. &.red {
  659. color: #FF6A2A;
  660. }
  661. }
  662. .icon {
  663. width: 30rpx;
  664. height: 30rpx;
  665. u-icon {
  666. }
  667. }
  668. }
  669. }
  670. }
  671. .btnBg {
  672. width: 396rpx;
  673. margin: 100rpx auto 0 auto;
  674. }
  675. </style>