Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

user.vue 17KB

před 2 roky
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 1 měsícem
před 10 měsíci
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 10 měsíci
před 1 měsícem
před 1 měsícem
před 10 měsíci
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 10 měsíci
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 10 měsíci
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 10 měsíci
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 10 měsíci
před 1 měsícem
před 10 měsíci
před 1 rokem
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 10 měsíci
před 1 měsícem
před 1 měsícem
před 10 měsíci
před 1 měsícem
před 1 měsícem
před 2 roky
před 3 týdny
před 2 roky
před 9 měsíci
před 1 rokem
před 3 měsíci
před 3 měsíci
před 1 měsícem
před 1 měsícem
před 2 roky
před 1 měsícem
před 1 rokem
před 9 měsíci
před 3 týdny
před 3 týdny
před 2 roky
před 1 rokem
před 1 rokem
před 1 rokem
před 1 rokem
před 2 roky
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 1 měsícem
před 10 měsíci
před 1 měsícem
před 10 měsíci
před 1 měsícem
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 1 měsícem
před 10 měsíci
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 10 měsíci
před 10 měsíci
před 1 měsícem
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 2 roky
před 1 rokem
před 10 měsíci
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820
  1. <template>
  2. <navBar title="九州ETC" :scrollTop="scrollTop" :isBack="isBack" navbgClass="nav-bgXin" fontColor='#fff'></navBar>
  3. <filter>
  4. <view class="wrapper">
  5. <image :src="`${$imgUrl}myImage/headbg.png`" class="bg-head" mode="widthFix"></image>
  6. <view class="content" :style="{ top: margin + 'px' }">
  7. <view class="head" :style="{ marinTop: margin + 'px' }">
  8. <view class="avatar">
  9. <image :src="`${$imgUrl}myImage/touxiang.png`" :class="!state.data.opId ? 'unlogin' : ''"
  10. @click="goLogin">
  11. </image>
  12. <view v-if="!state.data.opId" class="name" @click="$util.navTo('/login/login')">
  13. <view class="nickname">登录/注册</view>
  14. </view>
  15. <view v-else class="name">
  16. <view class="nickname">{{state.accountInfoVo.userName || state.accountInfoVo.nickName}}
  17. </view>
  18. <view class="user-id">
  19. <view class="phone">{{state.accountInfoVo.mobile}}</view>
  20. <view v-if="false"
  21. @click="$util.navTo('/subpackage/personal-center/setting/change-phone', true)"
  22. class="btn-change">已关联</view>
  23. </view>
  24. <view v-if="!isSm" class="btn-change-two">已实名认证</view>
  25. </view>
  26. </view>
  27. <view class="r-setting" @click="$util.navTo('/subpackage/personal-center/setting/setting', true)">
  28. <image :src="`${$imgUrl}myImage/shezhi.png`" class="img" mode="widthFix"></image>
  29. </view>
  30. </view>
  31. <view class="my-equity" :style="{'--bgimg':`url(${$imgUrl}myImage/quanuyikuang.png)`}"
  32. @click="myEtcAccount">
  33. <view class="l-con">
  34. <image :src="`${$imgUrl}myImage/myETC.png`" class="equity-icon" mode="widthFix"></image>
  35. <view class="txt">
  36. 我的ETC账户
  37. </view>
  38. </view>
  39. <view class="r-icon1">
  40. <image :src="`${$imgUrl}myImage/quanyixiayi.png`" class="r-img1" mode="widthFix"></image>
  41. </view>
  42. </view>
  43. <view class="my-equity userName" :style="{'--bgimg':`url(${$imgUrl}myImage/loginBg.png)`,'height': '120rpx' ,'margin-top':' -30rpx',
  44. 'z-index': -1,'padding-top': '17rpx','boxSizing':'border-box' }" v-if="state.customerObj">
  45. <view class="l-con">
  46. <image :src="`${$imgUrl}myImage/person.png`" class="equity-icon" mode="widthFix"></image>
  47. <view class="txt">
  48. {{state.customerObj.userName}}
  49. </view>
  50. </view>
  51. <view style="margin-right: 26rpx;">
  52. {{state.customerObj.vehicleCount?state.customerObj.vehicleCount + '辆车':'无车辆'}}
  53. </view>
  54. </view>
  55. <view class="info-content">
  56. <view class="order box">
  57. <view class="list_item"
  58. @click="$util.navTo('/subpackage/personal-center/real-name-authentication', true)">
  59. <view class="l-con">
  60. <image :src="`${$imgUrl}myImage/basicInformation.png`" class="equity-icon"
  61. mode="widthFix"></image>
  62. <view class="txt">
  63. 基本信息
  64. </view>
  65. </view>
  66. <view class="r-icon">
  67. <text v-if="isSm">请进行实名认证</text>
  68. <image :src="`${$imgUrl}myImage/myIcon.png`" class="r-img" mode="widthFix"></image>
  69. </view>
  70. </view>
  71. <view class="list_item"
  72. @click="$util.navTo(`/subpackage/after-sale/activation-once-again/select-car?type=38`, true)">
  73. <view class="l-con">
  74. <image :src="`${$imgUrl}myImage/myCar.png`" class="equity-icon" mode="widthFix"></image>
  75. <view class="txt">
  76. 我的车辆
  77. </view>
  78. </view>
  79. <view class="r-icon">
  80. <image :src="`${$imgUrl}myImage/myIcon.png`" class="r-img" mode="widthFix"></image>
  81. </view>
  82. </view>
  83. <view class="list_item" @click="goOrder(0)">
  84. <view class="l-con">
  85. <image :src="`${$imgUrl}myImage/etcOrder.png`" class="equity-icon" mode="widthFix">
  86. </image>
  87. <view class="txt">
  88. ETC订单
  89. </view>
  90. </view>
  91. <view class="r-icon">
  92. <image :src="`${$imgUrl}myImage/myIcon.png`" class="r-img" mode="widthFix"></image>
  93. </view>
  94. </view>
  95. <view class="list_item">
  96. <view class="l-con">
  97. <image :src="`${$imgUrl}myImage/afterOrder.png`" class="equity-icon" mode="widthFix">
  98. </image>
  99. <view class="txt">
  100. 售后订单
  101. </view>
  102. </view>
  103. <view class="r-icon">
  104. <image :src="`${$imgUrl}myImage/myIcon.png`" class="r-img" mode="widthFix"></image>
  105. </view>
  106. </view>
  107. <view class="list_item" @click="goEquity()">
  108. <view class="l-con">
  109. <image :src="`${$imgUrl}myImage/quanyi.png`" class="equity-icon" mode="widthFix">
  110. </image>
  111. <view class="txt">
  112. 我的权益
  113. </view>
  114. </view>
  115. <view class="r-icon">
  116. <image :src="`${$imgUrl}myImage/myIcon.png`" class="r-img" mode="widthFix"></image>
  117. </view>
  118. </view>
  119. <view class="list_item"
  120. @click="$util.navTo(`/subpackage/orders/invoiceApply/invoice-header-list?manage=1`, true)">
  121. <view class="l-con">
  122. <image :src="`${$imgUrl}myImage/invoiceHeader.png`" class="equity-icon" mode="widthFix">
  123. </image>
  124. <view class="txt">
  125. 发票抬头
  126. </view>
  127. </view>
  128. <view class="r-icon">
  129. <image :src="`${$imgUrl}myImage/myIcon.png`" class="r-img" mode="widthFix"></image>
  130. </view>
  131. </view>
  132. <view class="list_item"
  133. @click="$util.navTo(`/subpackage/personal-center/setting/addressManager`, true)">
  134. <view class="l-con">
  135. <image :src="`${$imgUrl}myImage/addressManager.png`" class="equity-icon"
  136. mode="widthFix"></image>
  137. <view class="txt">
  138. 收货地址
  139. </view>
  140. </view>
  141. <view class="r-icon">
  142. <image :src="`${$imgUrl}myImage/myIcon.png`" class="r-img" mode="widthFix"></image>
  143. </view>
  144. </view>
  145. </view>
  146. </view>
  147. </view>
  148. </view>
  149. </filter>
  150. </template>
  151. <script lang="ts" setup>
  152. import { reactive } from "vue";
  153. import { msg, navTo } from "@/utils/utils";
  154. import { onMounted, ref } from "vue";
  155. import { getItem, StorageKeys } from "@/utils/storage";
  156. import navBar from "../../components/nav-bar/nav-bar2.vue";
  157. import { onLoad, onShow, onPageScroll } from "@dcloudio/uni-app";
  158. import {
  159. userInfoIndex, queryVehicleBind, vehicleUnBind, showEquityListApi, orderinfosumquery, getUserMsg
  160. } from "@/utils/network/api.js";
  161. import {
  162. request, requestNew
  163. } from "@/utils/network/request.js";
  164. import filter from '@/components/filter/filter.vue';
  165. import { source } from "@/utils/network/difference";
  166. import { vehiclePlateColor, vehiclePlateColorPai, getVehiclePlateColorPaiShow } from "@/datas/vehiclePlateColor.js";
  167. import { useUserStore } from "@/stores/user";
  168. const userStore = useUserStore();
  169. const { saveUserInfo } = userStore;
  170. const height = ref(null);
  171. const top = ref(null);
  172. const margin = ref(null);
  173. const mobile = ref(null);
  174. const scrollTop = ref(0);
  175. const isBack = ref(false);
  176. const isSm = ref(true);
  177. const state = reactive({
  178. data: {
  179. opId: "",
  180. },
  181. accountInfoVo: {
  182. nickName: '',
  183. mobile: '',
  184. userName: ''
  185. },
  186. equityNumber: 0,
  187. customerObj: {}
  188. });
  189. onMounted(() => {
  190. const res = uni.getMenuButtonBoundingClientRect();
  191. height.value = res.height + "px";
  192. top.value = res.top + "px";
  193. margin.value = res.height + res.top;
  194. });
  195. onLoad((option : any) => {
  196. state.data.opId = getItem(StorageKeys.OpenId);
  197. console.log("state.data.opId", state.data.opId)
  198. mobile.value = getItem("mobile");
  199. getAuthInfo();
  200. });
  201. const carDetails = (vehicleId) => {
  202. uni.navigateTo({
  203. url: `/subpackage/personal-center/vehicle-change/car-details?vehicleId=${vehicleId}`
  204. })
  205. }
  206. const myEtcAccount = () => {
  207. navTo(`/subpackage/personal-center/my-etc-account`)
  208. }
  209. //监听页面滚动
  210. onPageScroll((e) => {
  211. scrollTop.value = e.scrollTop;
  212. });
  213. onShow((option : any) => {
  214. state.data.opId = getItem(StorageKeys.OpenId);
  215. console.log("state.data.opId", state.data.opId)
  216. if (state.data.opId) {
  217. getUserInfo();
  218. getAuthInfo();
  219. }
  220. state.customerObj = getItem('customerObj')
  221. });
  222. const getAuthInfo = () => {
  223. const options = {
  224. type: 2,
  225. data: { openId: getItem('openId') },
  226. method: "POST",
  227. showLoading: true,
  228. };
  229. requestNew(getUserMsg, options).then((res) => {
  230. const data = res;
  231. console.log(data, "用户信息"); //|| !data.userNegImgUrl || !data.userPosImgUrl
  232. if (!data.userIdNum || !data.userNegImgUrl || !data.userPosImgUrl) {
  233. isSm.value = true
  234. } else {
  235. isSm.value = false
  236. }
  237. });
  238. }
  239. const getUserInfo = () => {
  240. const options = {
  241. type: 2,
  242. data: {},
  243. method: "POST",
  244. showLoading: true,
  245. };
  246. //调用方式
  247. requestNew(userInfoIndex, options)
  248. .then((res) => {
  249. console.log('用户信息', res)
  250. let data = res
  251. saveUserInfo(data)
  252. state.accountInfoVo = data;
  253. console.log("获取用户信息", getItem('userInfo'));
  254. })
  255. .catch((err) => {
  256. console.log(err);
  257. });
  258. }
  259. const goOrder = (index) => {
  260. navTo(`../order/order?index=${index}`)
  261. }
  262. const goLogin = () => {
  263. if (!getItem('openId')) {
  264. uni.navigateTo({
  265. url: "/login/login"
  266. })
  267. }
  268. }
  269. const goEquity = () => {
  270. navTo('/subpackage/service/equityList/equityList')
  271. }
  272. </script>
  273. <style>
  274. page {
  275. background: #eef7f7;
  276. }
  277. </style>
  278. <style scoped lang='scss'>
  279. .unlogin {
  280. filter: grayscale(100%);
  281. opacity: 0.7;
  282. }
  283. .bgVar {
  284. background-image: var(--bgimg);
  285. background-repeat: no-repeat;
  286. background-size: 100% 100%;
  287. }
  288. .wrapper {
  289. position: relative;
  290. background-color: #f6f9fc;
  291. }
  292. .bar {
  293. width: 100%;
  294. position: fixed;
  295. text-align: center;
  296. font-size: 32rpx;
  297. font-weight: bold;
  298. }
  299. .bg-head {
  300. width: 100%;
  301. position: absolute;
  302. z-index: 1;
  303. top: 0;
  304. left: 0;
  305. }
  306. .content {
  307. position: relative;
  308. display: flex;
  309. flex-direction: column;
  310. width: 100%;
  311. z-index: 2;
  312. }
  313. .head {
  314. display: flex;
  315. justify-content: space-between;
  316. align-items: center;
  317. width: 100%;
  318. box-sizing: border-box;
  319. padding: 40rpx 0 46rpx;
  320. }
  321. .head .avatar {
  322. display: flex;
  323. align-items: center;
  324. justify-content: space-between;
  325. }
  326. .head .avatar image {
  327. width: 141rpx;
  328. height: 141rpx;
  329. /* border-radius: 80rpx; */
  330. margin: 0 20rpx 0 30rpx;
  331. }
  332. .head .setting {
  333. display: flex;
  334. align-items: center;
  335. background: rgba(0, 179, 139, .1);
  336. border: 1px solid #fff;
  337. height: 60rpx;
  338. border-radius: 30rpx;
  339. padding: 0 34rpx;
  340. color: #fff;
  341. font-size: 28rpx;
  342. margin-right: 30rpx;
  343. }
  344. .head .setting image {
  345. width: 40rpx;
  346. height: 40rpx;
  347. margin-right: 6rpx;
  348. }
  349. .head .r-setting {
  350. width: 80rpx;
  351. height: 80rpx;
  352. background: #345061;
  353. display: flex;
  354. align-items: center;
  355. justify-content: center;
  356. border-radius: 50%;
  357. margin-right: 50rpx;
  358. .img {
  359. width: 40rpx;
  360. height: 39rpx;
  361. }
  362. }
  363. .head .nickname {
  364. font-size: 36rpx;
  365. color: #fff;
  366. }
  367. .head .user-id {
  368. font-size: 26rpx;
  369. color: #fff;
  370. padding-top: 20rpx;
  371. display: flex;
  372. align-items: center;
  373. }
  374. .head .btn-change {
  375. font-size: 22rpx;
  376. height: 40rpx;
  377. padding: 0 20rpx;
  378. border: 1px solid #fff;
  379. color: #fff;
  380. box-sizing: border-box;
  381. border-radius: 20rpx;
  382. margin-left: 16rpx;
  383. background: rgba(0, 179, 139, .1);
  384. }
  385. .btn-change-two {
  386. font-size: 22rpx;
  387. height: 40rpx;
  388. padding: 0 40rpx;
  389. border: 1px solid #CCB375;
  390. color: #CCB375;
  391. box-sizing: border-box;
  392. border-radius: 20rpx;
  393. margin-top: 10rpx;
  394. background: rgba(0, 179, 139, .1);
  395. }
  396. .list_item {
  397. position: relative;
  398. z-index: 20;
  399. margin: 0 30rpx;
  400. height: 94rpx;
  401. display: flex;
  402. align-items: center;
  403. justify-content: space-between;
  404. border-bottom: 1rpx solid #DFDFDF;
  405. .l-con {
  406. display: flex;
  407. align-items: center;
  408. .equity-icon {
  409. width: 46rpx;
  410. height: 46rpx;
  411. }
  412. .txt {
  413. font-family: NotoSansHans, NotoSansHans;
  414. font-size: 28rpx;
  415. color: #01253C;
  416. margin-left: 19rpx;
  417. }
  418. }
  419. .r-icon {
  420. height: 32rpx;
  421. display: flex;
  422. align-items: center;
  423. color: rgb(177, 177, 177);
  424. font-size: 28rpx;
  425. .r-img {
  426. width: 32rpx;
  427. height: 32rpx;
  428. }
  429. }
  430. }
  431. .box>view:last-child {
  432. border: none;
  433. }
  434. .my-equity {
  435. position: relative;
  436. z-index: 20;
  437. margin: 0 auto;
  438. background-image: var(--bgimg);
  439. background-repeat: no-repeat;
  440. background-size: 100% 100%;
  441. width: 700rpx;
  442. height: 94rpx;
  443. display: flex;
  444. align-items: center;
  445. justify-content: space-between;
  446. .l-con {
  447. margin-left: 30rpx;
  448. display: flex;
  449. align-items: center;
  450. .equity-icon {
  451. width: 54rpx;
  452. height: 54rpx;
  453. }
  454. .txt {
  455. font-family: NotoSansHans, NotoSansHans;
  456. font-size: 28rpx;
  457. color: #01253C;
  458. margin-left: 19rpx;
  459. }
  460. }
  461. .r-icon {
  462. margin-right: 30rpx;
  463. width: 36rpx;
  464. height: 36rpx;
  465. .r-img {
  466. width: 36rpx;
  467. height: 36rpx;
  468. }
  469. }
  470. .r-icon1 {
  471. margin-right: 30rpx;
  472. width: 32rpx;
  473. height: 32rpx;
  474. .r-img1 {
  475. width: 32rpx;
  476. height: 32rpx;
  477. }
  478. }
  479. }
  480. .info-content {
  481. transform: translateY(-10rpx);
  482. margin-top: 30rpx;
  483. }
  484. .box .arrow {
  485. width: 10rpx;
  486. height: 18rpx;
  487. }
  488. .box {
  489. background: #ffffff;
  490. margin: 0 30rpx 30rpx;
  491. border-radius: 20rpx;
  492. box-shadow: 0rpx 2rpx 6rpx 0rpx rgba(223, 223, 223, 0.9);
  493. }
  494. .box .more {
  495. display: flex;
  496. align-items: center;
  497. font-family: NotoSansHans, NotoSansHans;
  498. font-size: 24rpx;
  499. color: #004576;
  500. }
  501. .box .more .more-text {
  502. padding-right: 12rpx;
  503. }
  504. .box .right-head {
  505. display: flex;
  506. justify-content: space-between;
  507. }
  508. .box .right-head .tit {
  509. font-size: 32rpx;
  510. font-family: MicrosoftYaHei;
  511. }
  512. .rights .rights-items {
  513. display: flex;
  514. justify-content: space-evenly;
  515. padding: 30rpx 0;
  516. }
  517. .rights .item {
  518. display: flex;
  519. flex-direction: column;
  520. align-items: center;
  521. justify-content: center;
  522. }
  523. .rights .item .tit {
  524. font-size: 26rpx;
  525. color: #333;
  526. padding: 20rpx 0 10rpx 0;
  527. }
  528. .rights .item .sub-tit {
  529. font-size: 22rpx;
  530. color: #999;
  531. }
  532. .order .order-items {
  533. display: flex;
  534. justify-content: space-around;
  535. padding: 30rpx 0 10rpx;
  536. .rtop-badge {
  537. position: absolute;
  538. right: 0;
  539. width: 34rpx;
  540. height: 34rpx;
  541. top: 0;
  542. transform: translate(50%, -50%);
  543. line-height: 34rpx;
  544. text-align: center;
  545. font-family: SourceHanSansSC, SourceHanSansSC;
  546. font-weight: 400;
  547. font-size: 20rpx;
  548. color: #FFFFFF;
  549. }
  550. }
  551. .order .item {
  552. display: flex;
  553. flex-direction: column;
  554. align-items: center;
  555. justify-content: center;
  556. }
  557. .order .item .tit {
  558. font-size: 26rpx;
  559. color: #333;
  560. padding: 20rpx 0 10rpx 0;
  561. }
  562. .box .icon {
  563. width: 50rpx;
  564. height: 50rpx;
  565. }
  566. .go-through .pass {
  567. display: flex;
  568. flex-direction: column;
  569. }
  570. .go-through .total {
  571. display: flex;
  572. justify-content: space-between;
  573. font-size: 26rpx;
  574. color: #666;
  575. }
  576. .go-through .amount {
  577. display: flex;
  578. justify-content: space-between;
  579. align-items: center;
  580. font-family: NotoSansHans, NotoSansHans;
  581. font-size: 32rpx;
  582. color: #333333;
  583. font-weight: 400;
  584. }
  585. .go-through .line {
  586. display: flex;
  587. }
  588. .go-through .line1 {
  589. height: 14rpx;
  590. background: #005B9C;
  591. border-radius: 7rpx;
  592. }
  593. .go-through .line2 {
  594. height: 14rpx;
  595. background: #E5ECEF;
  596. border-radius: 7rpx;
  597. flex: 1;
  598. }
  599. .go-through .mileage {
  600. display: flex;
  601. justify-content: space-around;
  602. align-items: center;
  603. text-align: center;
  604. margin: 32rpx 0;
  605. .box-items {
  606. background-image: var(--bgimg);
  607. background-repeat: no-repeat;
  608. background-size: 100% 100%;
  609. padding: 20rpx 30rpx;
  610. .t-name {
  611. display: flex;
  612. .tongxing-icon {
  613. width: 29rpx;
  614. height: 29rpx;
  615. }
  616. .tit {
  617. font-size: 26rpx;
  618. color: #666666;
  619. line-height: 29rpx;
  620. margin-left: 5rpx;
  621. }
  622. }
  623. .b-info {
  624. padding-top: 20rpx;
  625. .val {
  626. font-size: 32rpx;
  627. color: #333333;
  628. }
  629. .unit {
  630. font-size: 24rpx;
  631. color: #666666;
  632. margin-left: 5rpx;
  633. }
  634. }
  635. }
  636. }
  637. .go-through .mileage .txt {
  638. display: flex;
  639. flex-direction: column;
  640. }
  641. .go-through .mileage .tit {
  642. font-size: 26rpx;
  643. color: #999;
  644. }
  645. .go-through .mileage .val {
  646. font-size: 28rpx;
  647. color: #333;
  648. margin-top: 16rpx;
  649. }
  650. .go-through .m-top {
  651. margin-top: 16rpx;
  652. }
  653. .go-through .detail {
  654. width: 100%;
  655. text-align: center;
  656. color: #00B38B;
  657. font-size: 24rpx;
  658. border-top: 1px solid #DCDCDC;
  659. padding-top: 24rpx;
  660. }
  661. .cars .car-item {
  662. display: flex;
  663. align-items: center;
  664. padding-top: 36rpx;
  665. }
  666. .cars .car-item .btn-unbind {
  667. font-weight: 400;
  668. border-radius: 30rpx;
  669. font-family: NotoSansHans, NotoSansHans;
  670. line-height: 60rpx;
  671. text-align: center;
  672. font-size: 24rpx;
  673. width: 130rpx;
  674. height: 60rpx;
  675. background: #004372;
  676. color: #fff;
  677. margin-bottom: 10rpx;
  678. }
  679. .cars .car-pic {
  680. width: 120rpx;
  681. height: 110rpx;
  682. margin-right: 20rpx;
  683. }
  684. .cars .car-info {
  685. display: flex;
  686. flex-direction: column;
  687. color: #999;
  688. font-size: 22rpx;
  689. width: 56%;
  690. }
  691. .cars .car-no {
  692. font-size: 30rpx;
  693. color: #333;
  694. }
  695. .cars .card-no {
  696. margin-top: 10rpx;
  697. font-size: 22rpx;
  698. color: #999999;
  699. }
  700. .cars .add-related {
  701. background-image: var(--bgimg);
  702. background-repeat: no-repeat;
  703. background-size: 100% 100%;
  704. height: 80rpx;
  705. display: flex;
  706. align-items: center;
  707. justify-content: center;
  708. font-family: NotoSansHans, NotoSansHans;
  709. font-weight: 400;
  710. font-size: 26rpx;
  711. color: #CCB375;
  712. margin-top: 30rpx;
  713. .add-img {
  714. margin-right: 10rpx;
  715. width: 36rpx;
  716. height: 36rpx;
  717. }
  718. }
  719. .color {
  720. padding: 4rpx 8rpx;
  721. border-radius: 10rpx;
  722. color: white;
  723. display: inline-block;
  724. margin-left: 20rpx;
  725. font-size: 24rpx;
  726. }
  727. .loading-more {
  728. text-align: center;
  729. font-size: 28rpx;
  730. margin-bottom: 20rpx;
  731. color: #999;
  732. }
  733. </style>
  734. <style>
  735. page {
  736. background-color: #f6f9fc;
  737. }
  738. </style>