Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

vor 2 Jahren
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 8 Monaten
vor 10 Monaten
vor 8 Monaten
vor 10 Monaten
vor 10 Monaten
vor 2 Jahren
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 1 Jahr
vor 10 Monaten
vor 1 Jahr
vor 10 Monaten
vor 10 Monaten
vor 9 Monaten
vor 10 Monaten
vor 9 Monaten
vor 10 Monaten
vor 2 Jahren
vor 9 Monaten
vor 9 Monaten
vor 2 Jahren
vor 9 Monaten
vor 2 Jahren
vor 2 Jahren
vor 2 Jahren
vor 2 Jahren
vor 2 Jahren
vor 1 Jahr
vor 10 Monaten
vor 9 Monaten
vor 2 Jahren
vor 2 Jahren
vor 2 Jahren
vor 2 Jahren
vor 2 Jahren
vor 2 Jahren
vor 2 Jahren
vor 1 Jahr
vor 10 Monaten
vor 2 Jahren
vor 2 Jahren
vor 2 Jahren
vor 9 Monaten
vor 2 Jahren
vor 2 Jahren
vor 2 Jahren
vor 1 Jahr
vor 9 Monaten
vor 9 Monaten
vor 2 Jahren
vor 2 Jahren
vor 2 Jahren
vor 2 Jahren
vor 9 Monaten
vor 2 Jahren
vor 2 Jahren
vor 2 Jahren
vor 9 Monaten
vor 2 Jahren
vor 2 Jahren
vor 1 Jahr
vor 1 Jahr
vor 9 Monaten
vor 2 Jahren
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 10 Monaten
vor 2 Jahren
vor 10 Monaten
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896
  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' : ''" @click="goLogin">
  10. </image>
  11. <view v-if="!state.data.opId" class="name" @click="$util.navTo('/login/login')">
  12. <view class="nickname">登录/注册</view>
  13. </view>
  14. <view v-else class="name">
  15. <view class="nickname">{{state.accountInfoVo.nickName || state.accountInfoVo.userName}}</view>
  16. <view class="user-id">
  17. <view class="phone">{{state.accountInfoVo.mobile}}</view>
  18. <view v-if="false" @click="$util.navTo('/subpackage/personal-center/setting/change-phone', true)"
  19. class="btn-change">已关联</view>
  20. </view>
  21. </view>
  22. </view>
  23. <!-- <view v-if="false" class="setting" @click="$util.navTo('/subpackage/personal-center/setting/setting', true)">
  24. <text>签到</text>
  25. </view> -->
  26. <view class="r-setting" @click="$util.navTo('/subpackage/personal-center/setting/setting', true)">
  27. <image :src="`${$imgUrl}myImage/shezhi.png`" class="img" mode="widthFix"></image>
  28. </view>
  29. </view>
  30. <view class="my-equity" :style="{'--bgimg':`url(${$imgUrl}myImage/quanuyikuang.png)`}" @click="goEquity()">
  31. <view class="l-con">
  32. <image :src="`${$imgUrl}myImage/quanyi.png`" class="equity-icon" mode="widthFix"></image>
  33. <view class="txt">
  34. 我的权益
  35. </view>
  36. </view>
  37. <view class="r-icon" >
  38. <image :src="`${$imgUrl}myImage/quanyixiayi.png`" class="r-img" mode="widthFix"></image>
  39. </view>
  40. </view>
  41. <view class="info-content">
  42. <view class="order box">
  43. <view class="right-head">
  44. <view class="tit">我的订单</view>
  45. <view class="more" @click="goOrder(0)">
  46. <text class="more-text">查看全部</text>
  47. <image :src="`${$imgUrl}myImage/wdexiayi.png`" class="arrow"></image>
  48. </view>
  49. </view>
  50. <view class="order-items">
  51. <view class="item" @click="goOrder(1)">
  52. <view style="position: relative;">
  53. <image :src="`${$imgUrl}myImage/icon1.png`" class="icon" mode="widthFix"></image>
  54. <view v-if='state.orderInfoSumQueryVo.orderStep8>0' class="rtop-badge bgVar"
  55. :style="{'--bgimg':`url(${$imgUrl}myImage/r-badge.png)`}">
  56. {{state.orderInfoSumQueryVo.orderStep8}}
  57. </view>
  58. </view>
  59. <text class="tit">待发货</text>
  60. </view>
  61. <view class="item" @click="goOrder(2)">
  62. <view style="position: relative;">
  63. <image :src="`${$imgUrl}myImage/icon2.png`" class="icon" mode="widthFix"></image>
  64. <view v-if='state.orderInfoSumQueryVo.orderStep9>0' class="rtop-badge bgVar"
  65. :style="{'--bgimg':`url(${$imgUrl}myImage/r-badge.png)`}">
  66. {{state.orderInfoSumQueryVo.orderStep9}}
  67. </view>
  68. </view>
  69. <text class="tit">待收货</text>
  70. </view>
  71. <view class="item" @click="goOrder(3)">
  72. <view style="position: relative;">
  73. <image :src="`${$imgUrl}myImage/icon3.png`" class="icon" mode="widthFix"></image>
  74. <view class="rtop-badge bgVar" v-if='state.orderInfoSumQueryVo.orderStep10>0'
  75. :style="{'--bgimg':`url(${$imgUrl}myImage/r-badge.png)`}">
  76. {{state.orderInfoSumQueryVo.orderStep10}}
  77. </view>
  78. </view>
  79. <text class="tit">待激活</text>
  80. </view>
  81. <view class="item" @click="goOrder(4)">
  82. <view style="position: relative;">
  83. <image :src="`${$imgUrl}myImage/icon4.png`" class="icon" mode="widthFix"></image>
  84. <view v-if='state.orderInfoSumQueryVo.orderStep12>0' class="rtop-badge bgVar"
  85. :style="{'--bgimg':`url(${$imgUrl}myImage/r-badge.png)`}">
  86. {{state.orderInfoSumQueryVo.orderStep12}}
  87. </view>
  88. </view>
  89. <text class="tit">退换货/退款</text>
  90. </view>
  91. </view>
  92. </view>
  93. <view class="go-through box" v-if="source=='WECHAT'">
  94. <view class="right-head">
  95. <view class="tit">本月通行</view>
  96. <view class="more" @click="goTrajectory()">
  97. <text class="more-text">查看通行轨迹</text>
  98. <image :src="`${$imgUrl}myImage/wdexiayi.png`" class="arrow"></image>
  99. </view>
  100. </view>
  101. <view class="pass">
  102. <view class="total m-top">
  103. <text>通行消费</text>
  104. <text>总金额</text>
  105. </view>
  106. <view class="amount m-top">
  107. <text>¥
  108. {{state.monthFlowingVo.flowingNum }}</text>
  109. <text>¥
  110. {{state.monthFlowingVo.money }}</text>
  111. </view>
  112. <view class="line m-top">
  113. <view class="line1"
  114. :style="{width: (state.monthFlowingVo.flowingNum ? state.monthFlowingVo.flowingNum : 0)*100/state.monthFlowingVo.money+'%'}">
  115. </view>
  116. <view class="line2"></view>
  117. </view>
  118. <view class="mileage">
  119. <view class="box-items" :style="{'--bgimg':`url(${$imgUrl}myImage/tongxing1.png)`}">
  120. <view class="t-name">
  121. <image :src="`${$imgUrl}myImage/licheng-icon.png`" class="tongxing-icon"></image>
  122. <text class="tit">通行里程</text>
  123. </view>
  124. <view class="b-info">
  125. <text class="val">{{state.monthFlowingVo.mileage}}</text>
  126. <text class="unit">km</text>
  127. </view>
  128. </view>
  129. <view class="box-items" :style="{'--bgimg':`url(${$imgUrl}myImage/tongxing2.png)`}">
  130. <view class="t-name">
  131. <image :src="`${$imgUrl}myImage/shichang-icon.png`" class="tongxing-icon"></image>
  132. <text class="tit">通行时长</text>
  133. </view>
  134. <view class="b-info">
  135. <text class="val">{{state.monthFlowingVo.duration}}</text>
  136. <!-- <text class="unit">km</text> -->
  137. </view>
  138. </view>
  139. <view class="box-items" :style="{'--bgimg':`url(${$imgUrl}myImage/tongxing3.png)`}">
  140. <view class="t-name">
  141. <image :src="`${$imgUrl}myImage/cishu-icon.png`" class="tongxing-icon"></image>
  142. <text class="tit">通行次数</text>
  143. </view>
  144. <view class="b-info">
  145. <text class="val">{{state.monthFlowingVo.num}}</text>
  146. <text class="unit">次</text>
  147. </view>
  148. </view>
  149. </view>
  150. </view>
  151. </view>
  152. <view class="cars box">
  153. <view class="right-head">
  154. <view class="tit">我的车辆</view>
  155. <view class="more" @click="$util.navTo('/subpackage/personal-center/vehicle-information', true)">
  156. <text class="more-text">查看全部</text>
  157. <image :src="`${$imgUrl}myImage/wdexiayi.png`" class="arrow"></image>
  158. </view>
  159. </view>
  160. <view class="car-item" v-for="(item,index) in state.list">
  161. <image @click="carDetails(item)" :src="`${$imgUrl}myImage/car.png`" class="car-pic" mode="widthFix">
  162. </image>
  163. <view class="car-info" @click="carDetails(item)">
  164. <view class="car-no">
  165. <text class="no">{{item.vehiclePlate}}</text>
  166. <text class="color" :style="{ background: item.showColor}">{{item.color}}</text>
  167. </view>
  168. <view class="card-no" v-if="item.cardId">卡号:{{item.cardId}}</view>
  169. <view class="card-no" v-if="item.obuId">签号:{{item.obuId}}</view>
  170. </view>
  171. <view class="btn-unbind" @click="del(item.vehicleId)">解除绑定</view>
  172. </view>
  173. <view @click="$util.navTo('/subpackage/personal-center/setting/car-information/car-create', true)"
  174. class='add-related' :style="{'--bgimg':`url(${$imgUrl}myImage/guanlianbg.png)`}">
  175. <image :src="`${$imgUrl}myImage/guanlian.png`" class="add-img" mode="widthFix">
  176. </image>
  177. <text>增加未关联车辆</text>
  178. </view>
  179. </view>
  180. </view>
  181. </view>
  182. </view>
  183. </filter>
  184. </template>
  185. <script lang="ts" setup>
  186. import { reactive } from "vue";
  187. import { msg, navTo } from "@/utils/utils";
  188. import { onMounted, ref } from "vue";
  189. import { getItem, StorageKeys } from "@/utils/storage";
  190. import navBar from "../../components/nav-bar/nav-bar2.vue";
  191. import { onLoad, onShow, onPageScroll } from "@dcloudio/uni-app";
  192. import {
  193. userInfoIndex, selectCarInfo, delCarInfo, showEquityListApi,orderinfosumquery
  194. } from "@/utils/network/api.js";
  195. import {
  196. request,requestNew
  197. } from "@/utils/network/request.js";
  198. import filter from '@/components/filter/filter.vue';
  199. import { source } from "@/utils/network/difference";
  200. import { vehiclePlateColor, vehiclePlateColorPai, getVehiclePlateColorPaiShow } from "@/datas/vehiclePlateColor.js";
  201. const height = ref(null);
  202. const top = ref(null);
  203. const margin = ref(null);
  204. const mobile = ref(null);
  205. const scrollTop = ref(0);
  206. const isBack = ref(false);
  207. const state = reactive({
  208. data: {
  209. opId: "",
  210. },
  211. accountInfoVo: {
  212. nickName: '',
  213. mobile: '',
  214. userName:''
  215. },
  216. monthFlowingVo: {
  217. duration: 0,
  218. mileage: 0,
  219. flowingNum: 0,
  220. num: 0,
  221. parkingLotMoney: 0,
  222. parkingLotNum: 0,
  223. money: 0,
  224. },
  225. list: '', //车辆信息
  226. carNumber: '',//车辆数量
  227. userVehicleInfoSumQueryVo: {
  228. vehicleSum: 0,
  229. orderStatus0: 0
  230. },//车数量 ,代办数量
  231. isTrajectory: false, //是否有轨迹
  232. equityNumber: 0,
  233. orderInfoSumQueryVo: {
  234. orderStep8: "0",//待发货
  235. orderStep9: "0",//待收货
  236. orderStep10: "0",//待激活
  237. orderStep12: "0",//换货/退货
  238. }
  239. });
  240. onMounted(() => {
  241. const res = uni.getMenuButtonBoundingClientRect();
  242. height.value = res.height + "px";
  243. top.value = res.top + "px";
  244. margin.value = res.height + res.top;
  245. });
  246. onLoad((option : any) => {
  247. state.data.opId = getItem(StorageKeys.OpenId);
  248. console.log("state.data.opId",state.data.opId)
  249. mobile.value = getItem("mobile");
  250. });
  251. const carDetails = (item) => {
  252. const params = encodeURIComponent(JSON.stringify(item))
  253. uni.navigateTo({
  254. url: `/subpackage/personal-center/car-details?params=${params}`
  255. })
  256. }
  257. const goTrajectory = () => {
  258. if (state.isTrajectory) {
  259. uni.navigateTo({
  260. url: "/subpackage/personal-center/trajectory/trajectory"
  261. })
  262. } else {
  263. msg("暂无轨迹")
  264. }
  265. }
  266. //监听页面滚动
  267. onPageScroll((e) => {
  268. scrollTop.value = e.scrollTop;
  269. });
  270. onShow((option : any) => {
  271. state.data.opId = getItem(StorageKeys.OpenId);
  272. console.log("state.data.opId", state.data.opId)
  273. if (state.data.opId) {
  274. getUserInfo();
  275. } else {
  276. state.userVehicleInfoSumQueryVo = {
  277. vehicleSum: 0,
  278. orderStatus0: 0
  279. }
  280. state.monthFlowingVo = {
  281. duration: 0,
  282. mileage: 0,
  283. flowingNum: 0,
  284. num: 0,
  285. parkingLotMoney: 0,
  286. parkingLotNum: 0,
  287. money: 0,
  288. }
  289. state.orderInfoSumQueryVo = {
  290. orderStep8: "0",//待发货
  291. orderStep9: "0",//待收货
  292. orderStep10: "0",//待激活
  293. orderStep12: "0",//换货/退货
  294. }
  295. state.list = []
  296. state.carNumber = 0
  297. }
  298. });
  299. // 查询车辆信息
  300. const queryCarMsg = () => {
  301. const options = {
  302. type: 2,
  303. data: {
  304. "openId": getItem('openId')
  305. },
  306. method: "POST",
  307. showLoading: true,
  308. };
  309. //调用方式
  310. requestNew(selectCarInfo, options).then((res) => {
  311. const data = res.vehicleManages
  312. for (var i = 0; i < data.length; i++) {
  313. for (var j = 0; j < vehiclePlateColorPai.length; j++) {
  314. if (data[i].vehiclePlateColor == vehiclePlateColorPai[j]['id']) {
  315. data[i].color = vehiclePlateColorPai[j]['color']
  316. data[i].showColor = vehiclePlateColorPai[j]['showColor']
  317. }
  318. }
  319. }
  320. state.carNumber = data.length
  321. state.list = data.slice(0, 5);
  322. console.log("state.list", state.list)
  323. })
  324. .catch((err) => {
  325. console.log('输出内容', err)
  326. });
  327. }
  328. const getUserInfo = () => {
  329. const options = {
  330. type: 2,
  331. data: {
  332. openId: state.data.opId
  333. },
  334. method: "POST",
  335. showLoading: true,
  336. };
  337. //调用方式
  338. requestNew(userInfoIndex, options)
  339. .then((res) => {
  340. console.log('用户信息', res)
  341. let data =res
  342. state.accountInfoVo =data.accountInfoVo;
  343. console.log('用户信息1', state.accountInfoVo,state.accountInfoVo.mobile)
  344. if (data.monthFlowingVo && data.monthFlowingVo != "{}") {
  345. state.monthFlowingVo = data.monthFlowingVo;
  346. state.isTrajectory = true;
  347. }
  348. console.log("获取用户信息", data);
  349. queryCarMsg();
  350. // 个人订单信息数据查询(待发货,待收货,待激活,退换货)
  351. orderinfosumqueryQ()
  352. })
  353. .catch((err) => {
  354. console.log(err);
  355. });
  356. }
  357. const del = (id) => {
  358. uni.showModal({
  359. title: '提示',
  360. content: '是否删除该条车辆信息',
  361. success: function (res) {
  362. if (res.confirm) {
  363. console.log('用户点击确定');
  364. let data = {
  365. vehicleId: id,
  366. openId: getItem('openId')
  367. }
  368. const options = {
  369. type: 2,
  370. data: data,
  371. method: "POST",
  372. showLoading: true,
  373. };
  374. requestNew(delCarInfo, options).then((res) => {
  375. const data = res;
  376. console.log(data)
  377. uni.showToast({
  378. title: "删除成功",
  379. icon: "none"
  380. })
  381. queryCarMsg();
  382. });
  383. } else if (res.cancel) {
  384. console.log('用户点击取消');
  385. }
  386. }
  387. });
  388. }
  389. const goOrder = (index) => {
  390. navTo(`../order/order?index=${index}`)
  391. }
  392. const goLogin = () => {
  393. if (!getItem('openId')) {
  394. uni.navigateTo({
  395. url: "/login/login"
  396. })
  397. }
  398. }
  399. const goEquity = () => {
  400. navTo('/subpackage/service/equityList/equityList')
  401. }
  402. const orderinfosumqueryQ = () => {
  403. const options = {
  404. type: 2,
  405. data: {},
  406. method: "POST",
  407. showLoading: true,
  408. };
  409. //调用方式
  410. requestNew(orderinfosumquery, options).then((res) => {
  411. console.log("orderinfosumquery", res)
  412. state.orderInfoSumQueryVo=res
  413. })
  414. .catch((err) => {
  415. console.log('输出内容', err)
  416. });
  417. }
  418. </script>
  419. <style>
  420. page {
  421. background: #eef7f7;
  422. }
  423. </style>
  424. <style scoped lang='scss'>
  425. .unlogin {
  426. filter: grayscale(100%);
  427. opacity: 0.7;
  428. }
  429. .bgVar {
  430. background-image: var(--bgimg);
  431. background-repeat: no-repeat;
  432. background-size: 100% 100%;
  433. }
  434. .wrapper {
  435. position: relative;
  436. background-color: #f6f9fc;
  437. }
  438. .bar {
  439. width: 100%;
  440. position: fixed;
  441. text-align: center;
  442. font-size: 32rpx;
  443. font-weight: bold;
  444. }
  445. .bg-head {
  446. width: 100%;
  447. position: absolute;
  448. z-index: 1;
  449. top: 0;
  450. left: 0;
  451. }
  452. .content {
  453. position: relative;
  454. display: flex;
  455. flex-direction: column;
  456. width: 100%;
  457. z-index: 2;
  458. }
  459. .head {
  460. display: flex;
  461. justify-content: space-between;
  462. align-items: center;
  463. width: 100%;
  464. box-sizing: border-box;
  465. padding: 40rpx 0 46rpx;
  466. }
  467. .head .avatar {
  468. display: flex;
  469. align-items: center;
  470. justify-content: space-between;
  471. }
  472. .head .avatar image {
  473. width: 141rpx;
  474. height: 141rpx;
  475. /* border-radius: 80rpx; */
  476. margin: 0 20rpx 0 30rpx;
  477. }
  478. .head .setting {
  479. display: flex;
  480. align-items: center;
  481. background: rgba(0, 179, 139, .1);
  482. border: 1px solid #fff;
  483. height: 60rpx;
  484. border-radius: 30rpx;
  485. padding: 0 34rpx;
  486. color: #fff;
  487. font-size: 28rpx;
  488. margin-right: 30rpx;
  489. }
  490. .head .setting image {
  491. width: 40rpx;
  492. height: 40rpx;
  493. margin-right: 6rpx;
  494. }
  495. .head .r-setting {
  496. width: 80rpx;
  497. height: 80rpx;
  498. background: #345061;
  499. display: flex;
  500. align-items: center;
  501. justify-content: center;
  502. border-radius: 50%;
  503. margin-right: 50rpx;
  504. .img {
  505. width: 40rpx;
  506. height: 39rpx;
  507. }
  508. }
  509. .head .nickname {
  510. font-size: 36rpx;
  511. color: #fff;
  512. }
  513. .head .user-id {
  514. font-size: 26rpx;
  515. color: #fff;
  516. padding-top: 20rpx;
  517. display: flex;
  518. align-items: center;
  519. }
  520. .head .btn-change {
  521. font-size: 22rpx;
  522. height: 40rpx;
  523. padding: 0 20rpx;
  524. border: 1px solid #fff;
  525. color: #fff;
  526. box-sizing: border-box;
  527. border-radius: 20rpx;
  528. margin-left: 16rpx;
  529. background: rgba(0, 179, 139, .1);
  530. }
  531. .my-equity {
  532. position: relative;
  533. z-index: 20;
  534. margin: 0 50rpx;
  535. background-image: var(--bgimg);
  536. background-repeat: no-repeat;
  537. background-size: 100% 100%;
  538. width: 650rpx;
  539. height: 94rpx;
  540. display: flex;
  541. align-items: center;
  542. justify-content: space-between;
  543. .l-con {
  544. margin-left: 30rpx;
  545. display: flex;
  546. align-items: center;
  547. .equity-icon {
  548. width: 54rpx;
  549. height: 54rpx;
  550. }
  551. .txt {
  552. font-family: NotoSansHans, NotoSansHans;
  553. font-size: 28rpx;
  554. color: #01253C;
  555. margin-left: 19rpx;
  556. }
  557. }
  558. .r-icon {
  559. margin-right: 30rpx;
  560. width: 32rpx;
  561. height: 32rpx;
  562. .r-img {
  563. width: 32rpx;
  564. height: 32rpx;
  565. }
  566. }
  567. }
  568. .info-content {
  569. transform: translateY(-10rpx);
  570. }
  571. .box .arrow {
  572. width: 10rpx;
  573. height: 18rpx;
  574. }
  575. .box {
  576. background: #ffffff;
  577. margin: 0 30rpx 30rpx;
  578. padding: 30rpx 20rpx;
  579. border-radius: 20rpx;
  580. box-shadow: 0rpx 2rpx 6rpx 0rpx rgba(223, 223, 223, 0.9);
  581. }
  582. .box .more {
  583. display: flex;
  584. align-items: center;
  585. font-family: NotoSansHans, NotoSansHans;
  586. font-size: 24rpx;
  587. color: #004576;
  588. }
  589. .box .more .more-text {
  590. padding-right: 12rpx;
  591. }
  592. .box .right-head {
  593. display: flex;
  594. justify-content: space-between;
  595. }
  596. .box .right-head .tit {
  597. font-size: 32rpx;
  598. font-family: MicrosoftYaHei;
  599. }
  600. .rights .rights-items {
  601. display: flex;
  602. justify-content: space-evenly;
  603. padding: 30rpx 0;
  604. }
  605. .rights .item {
  606. display: flex;
  607. flex-direction: column;
  608. align-items: center;
  609. justify-content: center;
  610. }
  611. .rights .item .tit {
  612. font-size: 26rpx;
  613. color: #333;
  614. padding: 20rpx 0 10rpx 0;
  615. }
  616. .rights .item .sub-tit {
  617. font-size: 22rpx;
  618. color: #999;
  619. }
  620. .order .order-items {
  621. display: flex;
  622. justify-content: space-around;
  623. padding: 30rpx 0 10rpx;
  624. .rtop-badge {
  625. position: absolute;
  626. right: 0;
  627. width: 34rpx;
  628. height: 34rpx;
  629. top: 0;
  630. transform: translate(50%, -50%);
  631. line-height: 34rpx;
  632. text-align: center;
  633. font-family: SourceHanSansSC, SourceHanSansSC;
  634. font-weight: 400;
  635. font-size: 20rpx;
  636. color: #FFFFFF;
  637. }
  638. }
  639. .order .item {
  640. display: flex;
  641. flex-direction: column;
  642. align-items: center;
  643. justify-content: center;
  644. }
  645. .order .item .tit {
  646. font-size: 26rpx;
  647. color: #333;
  648. padding: 20rpx 0 10rpx 0;
  649. }
  650. .box .icon {
  651. width: 50rpx;
  652. height: 50rpx;
  653. }
  654. .go-through .pass {
  655. display: flex;
  656. flex-direction: column;
  657. }
  658. .go-through .total {
  659. display: flex;
  660. justify-content: space-between;
  661. font-size: 26rpx;
  662. color: #666;
  663. }
  664. .go-through .amount {
  665. display: flex;
  666. justify-content: space-between;
  667. align-items: center;
  668. font-family: NotoSansHans, NotoSansHans;
  669. font-size: 32rpx;
  670. color: #333333;
  671. font-weight: 400;
  672. }
  673. .go-through .line {
  674. display: flex;
  675. }
  676. .go-through .line1 {
  677. height: 14rpx;
  678. background: #005B9C;
  679. border-radius: 7rpx;
  680. }
  681. .go-through .line2 {
  682. height: 14rpx;
  683. background: #E5ECEF;
  684. border-radius: 7rpx;
  685. flex: 1;
  686. }
  687. .go-through .mileage {
  688. display: flex;
  689. justify-content: space-around;
  690. align-items: center;
  691. text-align: center;
  692. margin: 32rpx 0;
  693. .box-items {
  694. background-image: var(--bgimg);
  695. background-repeat: no-repeat;
  696. background-size: 100% 100%;
  697. padding: 20rpx 30rpx;
  698. .t-name {
  699. display: flex;
  700. .tongxing-icon {
  701. width: 29rpx;
  702. height: 29rpx;
  703. }
  704. .tit {
  705. font-size: 26rpx;
  706. color: #666666;
  707. line-height: 29rpx;
  708. margin-left: 5rpx;
  709. }
  710. }
  711. .b-info {
  712. padding-top: 20rpx;
  713. .val {
  714. font-size: 32rpx;
  715. color: #333333;
  716. }
  717. .unit {
  718. font-size: 24rpx;
  719. color: #666666;
  720. margin-left: 5rpx;
  721. }
  722. }
  723. }
  724. }
  725. .go-through .mileage .txt {
  726. display: flex;
  727. flex-direction: column;
  728. }
  729. .go-through .mileage .tit {
  730. font-size: 26rpx;
  731. color: #999;
  732. }
  733. .go-through .mileage .val {
  734. font-size: 28rpx;
  735. color: #333;
  736. margin-top: 16rpx;
  737. }
  738. .go-through .m-top {
  739. margin-top: 16rpx;
  740. }
  741. .go-through .detail {
  742. width: 100%;
  743. text-align: center;
  744. color: #00B38B;
  745. font-size: 24rpx;
  746. border-top: 1px solid #DCDCDC;
  747. padding-top: 24rpx;
  748. }
  749. .cars .car-item {
  750. display: flex;
  751. align-items: center;
  752. padding-top: 36rpx;
  753. }
  754. .cars .car-item .btn-unbind {
  755. font-weight: 400;
  756. border-radius: 30rpx;
  757. font-family: NotoSansHans, NotoSansHans;
  758. line-height: 30px;
  759. text-align: center;
  760. font-size: 24rpx;
  761. width: 130rpx;
  762. height: 60rpx;
  763. background: #004372;
  764. color: #fff;
  765. margin-bottom: 10rpx;
  766. }
  767. .cars .car-pic {
  768. width: 120rpx;
  769. height: 110rpx;
  770. margin-right: 20rpx;
  771. }
  772. .cars .car-info {
  773. display: flex;
  774. flex-direction: column;
  775. color: #999;
  776. font-size: 22rpx;
  777. width: 56%;
  778. }
  779. .cars .car-no {
  780. font-size: 30rpx;
  781. color: #333;
  782. }
  783. .cars .card-no {
  784. margin-top: 10rpx;
  785. font-size: 22rpx;
  786. color: #999999;
  787. }
  788. .cars .add-related {
  789. background-image: var(--bgimg);
  790. background-repeat: no-repeat;
  791. background-size: 100% 100%;
  792. height: 80rpx;
  793. display: flex;
  794. align-items: center;
  795. justify-content: center;
  796. font-family: NotoSansHans, NotoSansHans;
  797. font-weight: 400;
  798. font-size: 26rpx;
  799. color: #CCB375;
  800. margin-top: 30rpx;
  801. .add-img {
  802. margin-right: 10rpx;
  803. width: 36rpx;
  804. height: 36rpx;
  805. }
  806. }
  807. .color {
  808. padding: 4rpx 8rpx;
  809. border-radius: 10rpx;
  810. color: white;
  811. display: inline-block;
  812. margin-left: 20rpx;
  813. font-size: 24rpx;
  814. }
  815. .loading-more {
  816. text-align: center;
  817. font-size: 28rpx;
  818. margin-bottom: 20rpx;
  819. color: #999;
  820. }
  821. </style>
  822. <style>
  823. page {
  824. background-color: #f6f9fc;
  825. }
  826. </style>