dataSet.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771
  1. <template>
  2. <view>
  3. <ujp-navbar title="个人资料"></ujp-navbar>
  4. <!-- 个人信息 -->
  5. <view class="userCell">
  6. <view class="title oldTextjp2" oldstyle="font-size: 20px;">
  7. 个人信息
  8. </view>
  9. <!-- 头像 -->
  10. <view class="userCell-item">
  11. <view class="userCell-title">
  12. <text class="user"><img style="visibility: middle;;" src="../../assets/img/account-circle-fill.svg"
  13. alt=""></text>
  14. <p class="oldTextjp" oldstyle="font-size: 18px;">头像</p>
  15. </view>
  16. <view class="userCell-content oldTextjp2" oldstyle="font-size: 18px;" @click="uploadPhoto">
  17. <view class="value">
  18. <view class="box">
  19. <u-avatar v-if="form.headImg != null" class="avatar" :src="form.headImg+'?x-oss-process=image/resize,m_fill,w_256,h_256'" size="80">
  20. <img src="" alt="">
  21. </u-avatar>
  22. <img v-else class="camera" src="../../assets/img/camera-fill.svg" alt="">
  23. </view>
  24. </view>
  25. <u-icon name="arrow-right-s-line" custom-prefix="custom-icon" color="#B3B3B3" size="48"></u-icon>
  26. </view>
  27. </view>
  28. <!-- 昵称 -->
  29. <view class="userCell-item">
  30. <view class="userCell-title oldTextjp" oldstyle="font-size: 20px;">
  31. <text class="user"><img style="visibility: middle;;" src="../../assets/img/edit-box-fill.svg"
  32. alt=""></text>
  33. <p class="oldTextjp" oldstyle="font-size: 18px;">昵称</p>
  34. </view>
  35. <view class="userCell-content oldTextjp2" oldstyle="font-size: 18px;" @click="maskShow1">
  36. <view class="value black">
  37. {{form.nickName}}
  38. </view>
  39. <u-icon name="arrow-right-s-line" custom-prefix="custom-icon" color="#B3B3B3" size="48"></u-icon>
  40. </view>
  41. </view>
  42. <!-- 真实姓名 -->
  43. <view class="userCell-item">
  44. <view class="userCell-title oldTextjp" oldstyle="font-size: 20px;">
  45. <text class="user"><img style="visibility: middle;;" src="../../assets/img/edit-box-fill.svg"
  46. alt=""></text>
  47. <p class="oldTextjp" oldstyle="font-size: 18px;">姓名</p>
  48. </view>
  49. <view class="userCell-content oldTextjp2" oldstyle="font-size: 18px;" @click="maskShow2">
  50. <view class="value black" v-if="form.realName != null">
  51. {{form.realName}}
  52. </view>
  53. <view class="value" v-else>
  54. 请填写真实姓名
  55. </view>
  56. <u-icon name="arrow-right-s-line" custom-prefix="custom-icon" color="#B3B3B3" size="48"></u-icon>
  57. </view>
  58. </view>
  59. <!-- 生日 -->
  60. <view class="userCell-item">
  61. <view class="userCell-title oldTextjp" oldstyle="font-size: 20px;">
  62. <text class="user"><img style="visibility: middle;;" src="../../assets/img/cake-2-fill.svg"
  63. alt=""></text>
  64. <p class="oldTextjp" oldstyle="font-size: 18px;">生日</p>
  65. </view>
  66. <u-picker mode="time" v-model="timeShow" :params="params" @confirm="confirmTime" @cancel="cancelTime"></u-picker>
  67. <view class="userCell-content oldTextjp2" oldstyle="font-size: 18px;" @click="timeShowClick">
  68. <view class="value black" v-if="birthday != null">
  69. {{birthday}}
  70. </view>
  71. <view class="value" v-else>
  72. 请选择
  73. </view>
  74. <u-icon name="arrow-right-s-line" custom-prefix="custom-icon" color="#B3B3B3" size="48"></u-icon>
  75. </view>
  76. </view>
  77. <p style="
  78. text-align: end;
  79. padding: 0 20px;
  80. color: #999999;">生日填写后不可修改,仅作为活动营销使用</p>
  81. </view>
  82. <u-line color="#F2F2F2 100%" length="87.2%" margin="8px auto 0" />
  83. <!-- 账户与安全 -->
  84. <view class="userCell">
  85. <view class="title oldTextjp2" oldstyle="font-size: 20px;">
  86. 账户与安全
  87. </view>
  88. <!-- 更换手机号 -->
  89. <view class="userCell-item">
  90. <view class="userCell-title oldTextjp" oldstyle="font-size: 20px;">
  91. <text class="user"><img style="visibility: middle;;" src="../../assets/img/smartphone-fill.svg"
  92. alt=""></text>
  93. <p class="oldTextjp" oldstyle="font-size: 18px;">更换手机号</p>
  94. </view>
  95. <view class="userCell-content oldTextjp2" oldstyle="font-size: 18px;" @click="gotoUrl('pages/user/phone')">
  96. <view class="value black">
  97. {{userPhone}}
  98. </view>
  99. <u-icon name="arrow-right-s-line" custom-prefix="custom-icon" color="#B3B3B3" size="48"></u-icon>
  100. </view>
  101. </view>
  102. <!-- 实名认证 -->
  103. <!-- <view class="userCell-item">
  104. <view class="userCell-title oldTextjp" oldstyle="font-size: 20px;">
  105. <text class="user"><img style="visibility: middle;;" src="../../assets/img/shield-user-fill.svg"
  106. alt=""></text>
  107. <p class="oldTextjp" oldstyle="font-size: 18px;">实名认证</p>
  108. </view>
  109. <view class="userCell-content oldTextjp2" oldstyle="font-size: 18px;">
  110. <view class="value">
  111. 未实名
  112. </view>
  113. <u-icon name="arrow-right-s-line" custom-prefix="custom-icon" color="#B3B3B3" size="48"></u-icon>
  114. </view>
  115. </view> -->
  116. </view>
  117. <u-line color="#F2F2F2 100%" length="87.2%" margin="8px auto 0" />
  118. <!-- 更多操作 -->
  119. <view class="userCell">
  120. <view class="title oldTextjp2" oldstyle="font-size: 20px;">
  121. 更多操作
  122. </view>
  123. <!-- 车辆信息 -->
  124. <view class="userCell-item">
  125. <view class="userCell-title oldTextjp" oldstyle="font-size: 20px;">
  126. <text class="user"><img style="visibility: middle;;" src="../../assets/img/car-fill (1).svg"
  127. alt=""></text>
  128. <p class="oldTextjp" oldstyle="font-size: 18px;">车辆信息</p>
  129. </view>
  130. <view class="userCell-content oldTextjp2" oldstyle="font-size: 18px;" @click="carClick">
  131. <view class="value black" v-if="carList.carNum != null">
  132. {{carList.carNum}}
  133. </view>
  134. <view class="value" v-else>
  135. 未绑定
  136. </view>
  137. <u-icon name="arrow-right-s-line" custom-prefix="custom-icon" color="#B3B3B3" size="48"></u-icon>
  138. </view>
  139. </view>
  140. <!-- 长辈模式 -->
  141. <view class="userCell-item">
  142. <view class="userCell-title">
  143. <text class="user"><img style="visibility: middle;;" src="../../assets/img/zoom-in-fill.svg"
  144. alt=""></text>
  145. <p class="oldTextjp" oldstyle="font-size: 18px;">长辈模式</p>
  146. </view>
  147. <view class="userCell-content oldTextjp2" oldstyle="font-size: 18px;">
  148. <view class="value">
  149. <view class="text black">
  150. 字体更大 看得清
  151. </view>
  152. <u-switch v-model="checked" active-color="#00E266" @change="checkedChange"></u-switch>
  153. </view>
  154. <!-- <u-icon name="arrow-right-s-line" custom-prefix="custom-icon" color="#B3B3B3" size="48"></u-icon> -->
  155. </view>
  156. </view>
  157. <!-- 注销账号 -->
  158. <view class="userCell-item" @click="gotoUrl('pages/user/logout')">
  159. <view class="userCell-title">
  160. <text class="user"><img style="visibility: middle;;" src="../../assets/img/spam-3-fill.svg"
  161. alt=""></text>
  162. <p class="oldTextjp" oldstyle="font-size: 18px;">注销账号</p>
  163. </view>
  164. <view class="userCell-content">
  165. <view class="value black" :style="elderStatus ? 'font-size: 16px;' : 'font-size: 14px;'">
  166. 注销后无法恢复,请谨慎操作
  167. </view>
  168. <u-icon name="arrow-right-s-line" custom-prefix="custom-icon" color="#B3B3B3" size="48"></u-icon>
  169. </view>
  170. </view>
  171. </view>
  172. <view class="exit oldTextjp2" oldstyle="font-size: 18px;" @click="signOut">
  173. 退出账号
  174. </view>
  175. <view>
  176. <u-modal v-model="exitShow" @confirm="confirm" confirm-color="#FF3D00" :show-cancel-button="true" ref="uModal" :asyncClose="true" :title="title"
  177. :content="content" :content-style="{color: '#333333'}"></u-modal>
  178. </view>
  179. <!-- 昵称遮罩层 -->
  180. <u-mask :show="show1" @click="show1 = false" :zoom='false'>
  181. <view class="warp">
  182. <view class="rect" @tap.stop>
  183. <p>修改昵称</p>
  184. <textarea name="" id="" cols="30" rows="10" v-model="name1"></textarea>
  185. <img class="canc" src="../../assets/img/md-cancel Copy@3x.png" alt="" @click="nickNameReset">
  186. <u-button type="success" @click="nickNameSubmit">保存</u-button>
  187. </view>
  188. </view>
  189. </u-mask>
  190. <!-- 真实姓名遮罩层 -->
  191. <u-mask :show="show2" @click="show2 = false" :zoom='false'>
  192. <view class="warp">
  193. <view class="rect" @tap.stop>
  194. <p>请填写真实姓名</p>
  195. <textarea name="" id="" cols="30" rows="10" v-model="name2"></textarea>
  196. <img class="canc" src="../../assets/img/md-cancel Copy@3x.png" alt="" @click="realNameReset">
  197. <u-button type="success" @click="realNameSubmit">保存</u-button>
  198. </view>
  199. </view>
  200. </u-mask>
  201. </view>
  202. </template>
  203. <script>
  204. import * as API from '@/apis/index.js'
  205. import * as userApi from '@/apis/user.js'
  206. import * as loginApi from '@/apis/login.js'
  207. import {
  208. newDate
  209. } from '@/utils'
  210. export default {
  211. data() {
  212. return {
  213. params: {
  214. year: true,
  215. month: true,
  216. day: true,
  217. hour: false,
  218. minute: false,
  219. second: false,
  220. timestamp: true,
  221. },
  222. timeShow: false,
  223. exitShow: false,
  224. title: '退出账号',
  225. content: '是否退出当前账号?',
  226. checked: false,
  227. src: '',
  228. show1: false,
  229. show2: false,
  230. fontMode: '',
  231. userId: '',
  232. userPhone: '',
  233. name1: '',
  234. name2: '',
  235. form: {
  236. nickName: '',
  237. headImg: '',
  238. realName: '',
  239. },
  240. birthday: '',
  241. carList: {
  242. carNum: null,
  243. },
  244. elderStatus: false,
  245. }
  246. },
  247. onShow() {
  248. if (this.carhelp.get("getElderModeClass") == "长辈模式") {
  249. this.checked = true;
  250. this.elderStatus = true;
  251. } else {
  252. this.checked = false;
  253. this.elderStatus = false;
  254. }
  255. this.getUserInfo();
  256. this.getCarList();
  257. },
  258. computed:{
  259. userCardBool(){
  260. if(this.userCard){
  261. var date=new Date().getTime()
  262. var reg=new RegExp('-','gi')
  263. var str=this.userCard.endTime;
  264. //console.log(str.replace(reg,'/'))
  265. var date2=newDate(str).getTime();
  266. if(date<date2){
  267. return true;
  268. }
  269. }
  270. return false
  271. }
  272. },
  273. methods: {
  274. monthlyCardBuy(){
  275. uni.showModal({
  276. title: '提示',
  277. confirmText:'查看活动',
  278. content: '包月卡一经激活,在有效期内车主无法更换已绑定的帐号及车牌号',
  279. success: res => {
  280. if (res.confirm) {
  281. uni.navigateTo({
  282. url: '/pages/monthlyCardActivity/monthlyCardBuy'
  283. })
  284. } else if (res.cancel) {
  285. //('用户点击取消');
  286. }
  287. }
  288. });
  289. },
  290. carClick() {
  291. if(this.carList.carNum != null) {
  292. var date = '2022/08/01 00:00:00';
  293. var now= new Date().getTime()
  294. var datetime= new Date(date).getTime()
  295. if(now<datetime){
  296. //this.monthlyCardBuy();
  297. // uni.showModal({
  298. // title: '提示',
  299. // confirmText:'修改车牌',
  300. // //showCancel:false,
  301. // content: '根据平台要求,8月1日后将暂停车牌号修改,修改请需要联系客服人员',
  302. // success: res => {
  303. // if (res.confirm) {
  304. // // uni.navigateTo({
  305. // // url: '/pages/monthlyCardActivity/monthlyCardBuy'
  306. // // })
  307. // } else if (res.cancel) {
  308. // //('用户点击取消');
  309. // }
  310. // }
  311. // });
  312. uni.navigateTo({
  313. url: '/pages/user/car/carAdd?id=' + this.carList.id
  314. })
  315. }else{
  316. uni.showModal({
  317. title: '车牌号不可修改',
  318. //confirmText:'查看活动',
  319. showCancel:false,
  320. content: '如需修改请需要联系客服人员',
  321. success: res => {
  322. if (res.confirm) {
  323. // uni.navigateTo({
  324. // url: '/pages/monthlyCardActivity/monthlyCardBuy'
  325. // })
  326. } else if (res.cancel) {
  327. //('用户点击取消');
  328. }
  329. }
  330. });
  331. }
  332. } else {
  333. uni.navigateTo({
  334. url: '/pages/user/car/carDet'
  335. })
  336. }
  337. },
  338. getCarList() {
  339. this.carList.carNum = null;
  340. uni.showLoading({
  341. title: "加载中",
  342. mask: true,
  343. })
  344. userApi.regUserCarList().then((res) => {
  345. uni.hideLoading();
  346. if(res.data.length != 0) {
  347. this.carList = res.data[0];
  348. }
  349. }).catch(error => {
  350. uni.showToast({
  351. title: error,
  352. icon: "none"
  353. })
  354. })
  355. },
  356. timeShowClick() {
  357. if(this.birthday == null) {
  358. this.timeShow = true;
  359. }
  360. },
  361. confirmTime(params) {
  362. this.birthday = params.year + '-' + params.month + '-' + params.day;
  363. console.log(this.birthday)
  364. uni.showLoading({
  365. title: "加载中",
  366. mask: true,
  367. })
  368. userApi.changeBirthday({birthday: this.birthday}).then((res) => {
  369. uni.hideLoading();
  370. this.timeShow = false;
  371. }).catch(error => {
  372. uni.showToast({
  373. title: error,
  374. icon: "none"
  375. })
  376. })
  377. },
  378. cancelTime() {
  379. this.timeShow = false;
  380. },
  381. signOut() {
  382. this.exitShow = true;
  383. },
  384. confirm() {
  385. uni.showLoading({
  386. title: "加载中",
  387. mask: true,
  388. })
  389. userApi.logout().then((res) => {
  390. uni.hideLoading();
  391. this.exitShow = false;
  392. this.carhelp.logoff()
  393. uni.redirectTo({
  394. url: '/pages/login/login'
  395. })
  396. }).catch(error => {
  397. uni.showToast({
  398. title: error,
  399. icon: "none"
  400. })
  401. })
  402. },
  403. submit() {
  404. uni.showLoading({
  405. title: "加载中",
  406. mask: true,
  407. })
  408. userApi.updatePersonInformation(this.form).then((res) => {
  409. uni.hideLoading();
  410. }).catch(error => {
  411. uni.showToast({
  412. title: error,
  413. icon: "none"
  414. })
  415. })
  416. },
  417. nickNameSubmit() {
  418. this.form.nickName = this.name1;
  419. this.submit();
  420. this.show1 = false;
  421. },
  422. maskShow1() {
  423. this.show1 = true;
  424. this.name1 = this.form.nickName;
  425. },
  426. nickNameReset() {
  427. this.name1 = '';
  428. },
  429. realNameSubmit() {
  430. this.form.realName = this.name2;
  431. this.submit();
  432. this.show2 = false;
  433. },
  434. maskShow2() {
  435. this.show2 = true;
  436. this.name2 = this.form.realName;
  437. },
  438. realNameReset() {
  439. this.name2 = '';
  440. },
  441. checkedChange() {
  442. if (this.checked) {
  443. this.carhelp.set("getElderModeClass", "长辈模式");
  444. this.fontMode = '1';
  445. this.elderStatus = true;
  446. } else {
  447. this.carhelp.set("getElderModeClass", "标准模式");
  448. this.fontMode = '0';
  449. this.elderStatus = false;
  450. }
  451. API.changeFont({
  452. fontMode: this.fontMode
  453. }).then((res) => {
  454. }).catch(error => {
  455. uni.showToast({
  456. title: error,
  457. icon: "none"
  458. })
  459. })
  460. },
  461. getUserInfo() {
  462. uni.showLoading({
  463. title: "加载中",
  464. mask: true,
  465. })
  466. loginApi.findByOpenId({
  467. openId: this.carhelp.getOpenId()
  468. }).then((res) => {
  469. uni.hideLoading();
  470. this.form.nickName = res.data.regUser.nickName;
  471. this.form.headImg = res.data.regUser.headImg;
  472. this.form.realName = res.data.regUser.realName;
  473. this.birthday = res.data.regUser.birthday;
  474. this.userCard=res.data.userCard;
  475. var phone = res.data.regUser.phone;
  476. var phone1 = phone.slice(0,3);
  477. var phone2 = phone.slice(-4);
  478. this.userPhone = phone1 + '****' + phone2;
  479. }).catch(error => {
  480. uni.showToast({
  481. title: error,
  482. icon: "none"
  483. })
  484. })
  485. },
  486. uploadPhoto() {
  487. let _self = this;
  488. const crop = {
  489. quality: 100,
  490. width: 600,
  491. height: 600,
  492. resize: true
  493. };
  494. // 上传图片
  495. uni.chooseImage({
  496. count: 1,
  497. crop,
  498. success: async (res) => {
  499. //(res);
  500. let tempFile = res.tempFiles[0],
  501. avatar_file = {
  502. // #ifdef H5
  503. extname: tempFile.name.split('.')[tempFile.name.split('.').length - 1],
  504. // #endif
  505. // #ifndef H5
  506. extname: tempFile.path.split('.')[tempFile.path.split('.').length - 1]
  507. // #endif
  508. },
  509. filePath = res.tempFilePaths[0]
  510. // #ifndef APP-PLUS
  511. //(`filePath=${filePath}`)
  512. //非app端用前端组件剪裁头像,app端用内置的原生裁剪
  513. let fileData = await new Promise((callback) => {
  514. uni.navigateTo({
  515. url: '/pages/user/cropImage?path=' + filePath +
  516. `&options=${JSON.stringify(crop)}`,
  517. animationType: "fade-in",
  518. events: {
  519. success: url => {
  520. callback(url)
  521. }
  522. }
  523. });
  524. })
  525. // #endif
  526. //返回 base64 图片
  527. //(fileData);
  528. var token = _self.carhelp.getToken()
  529. uni.showLoading({
  530. title: '上传中'
  531. });
  532. uni.request({
  533. url: process.car.BASE_URL + "uploadBase64",
  534. method: 'POST',
  535. data: {
  536. photoBase64Data: fileData
  537. },
  538. header: {
  539. 'Authorization': token,
  540. 'content-type': 'application/x-www-form-urlencoded'
  541. },
  542. success: (res) => {
  543. let jsonData = res.data;
  544. _self.form.headImg = jsonData.data;
  545. _self.submit();
  546. uni.hideLoading();
  547. }
  548. });
  549. }
  550. });
  551. },
  552. }
  553. }
  554. </script>
  555. <style lang="scss" scoped>
  556. page {
  557. background-color: #fff;
  558. padding-bottom: 20px;
  559. }
  560. .userCell {
  561. .user {
  562. img {
  563. vertical-align: middle;
  564. }
  565. }
  566. .title {
  567. padding: 24px 20px 8px 20px;
  568. font-size: 18px;
  569. color: rgba(16, 16, 16, 100);
  570. }
  571. .userCell-item {
  572. display: flex;
  573. justify-content: space-between;
  574. align-items: center;
  575. padding: 11px 20px;
  576. .userCell-title {
  577. font-size: 16px;
  578. display: flex;
  579. p {
  580. margin-left: 8px;
  581. font-size: 16px;
  582. line-height: 28px;
  583. color: #333333;
  584. }
  585. }
  586. .userCell-content {
  587. display: flex;
  588. color: rgba(153, 153, 153, 100);
  589. font-size: 16px;
  590. line-height: 20px;
  591. }
  592. .value {
  593. display: flex;
  594. .text {
  595. line-height: 28px;
  596. }
  597. .circle {
  598. width: 40px;
  599. height: 40px;
  600. }
  601. .u-avatar {
  602. position: absolute;
  603. }
  604. .camera {
  605. width: 20px;
  606. height: 20px;
  607. position: absolute;
  608. left: 50%;
  609. top: 50%;
  610. transform: translate(-50%, -50%);
  611. z-index: 9999;
  612. }
  613. .box {
  614. border-radius: 999px;
  615. height: 40px;
  616. width: 40px;
  617. position: relative;
  618. background: url(@/assets/img/circle.png);
  619. background-repeat: no-repeat;
  620. background-position: 30% 10%;
  621. background-size: cover;
  622. }
  623. }
  624. .u-switch {
  625. width: 48px;
  626. height: 24px;
  627. vertical-align: middle;
  628. margin-left: 8px;
  629. }
  630. /deep/.u-switch__node {
  631. width: 24px !important;
  632. height: 24px !important;
  633. }
  634. span {
  635. color: #999;
  636. }
  637. .add {
  638. color: #999;
  639. }
  640. .black {
  641. color: #666666;
  642. }
  643. }
  644. }
  645. .exit {
  646. color: rgba(238, 49, 56, 100);
  647. font-size: 16px;
  648. text-align: center;
  649. margin-top: 10px;
  650. }
  651. .warp {
  652. position: fixed;
  653. left: 0;
  654. bottom: 0;
  655. width: 100%;
  656. }
  657. .rect {
  658. width: 100%;
  659. height: 100%;
  660. background-color: #fff;
  661. padding: 24px 0;
  662. p {
  663. color: rgba(16, 16, 16, 100);
  664. font-size: 16px;
  665. line-height: 24px;
  666. padding: 0 24px;
  667. }
  668. textarea {
  669. width: 87.2%;
  670. border-radius: 8px;
  671. background-color: rgba(229, 231, 234, 100);
  672. margin: 12px auto 0;
  673. height: 44px;
  674. line-height: 44px !important;
  675. padding: 0 8px;
  676. position: relative;
  677. }
  678. .canc {
  679. width: 20px;
  680. height: 20px;
  681. position: absolute;
  682. top: 70px;
  683. right: 7vw;
  684. }
  685. .u-btn {
  686. width: 89.2%;
  687. color: rgba(255, 255, 255, 100);
  688. font-size: 18px;
  689. border-radius: 8px;
  690. margin-top: 24px;
  691. z-index: 99999;
  692. }
  693. }
  694. /deep/.u-line{
  695. transform: scaleY(0.1) !important;
  696. }
  697. </style>