parkingInfo.vue 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  1. <template>
  2. <view>
  3. <u-navbar title="停车记录"></u-navbar>
  4. <view class="top-step">
  5. <u-steps :list="numList" activeColor="#00B962"
  6. mode="number" :current="current" un-active-color="#999999"></u-steps>
  7. </view>
  8. <view class="top" :class="'top'+current">
  9. <view class="view1 viewa">
  10. <view class="name">
  11. 扫码订单
  12. </view>
  13. <view class="time">
  14. {{showTime(info.userParkingRecord.createTime)}}
  15. </view>
  16. </view>
  17. <view class="view1 viewb">
  18. <view class="name">
  19. 落锁使用
  20. </view>
  21. <view class="time">
  22. {{showTime(info.userParkingRecord.startTime)}}
  23. </view>
  24. </view>
  25. <view class="view1 viewc">
  26. <view class="name">
  27. 结束抬锁
  28. </view>
  29. <view class="time">
  30. {{showTime(info.userParkingRecord.endTime)}}
  31. </view>
  32. </view>
  33. </view>
  34. <view class="main">
  35. <view class="item">
  36. <view class="name">
  37. 停车状态
  38. </view>
  39. <view class="value" :class="'userParkingRecord-status'+info.userParkingRecord.status">
  40. {{(info.userParkingRecord.statusN)}}
  41. </view>
  42. </view>
  43. <view class="item">
  44. <view class="name">
  45. 停车时长
  46. </view>
  47. <view class="value">
  48. {{getTime(info.userParkingRecord)}}
  49. </view>
  50. </view>
  51. <view class="item" v-if="info.parkingInfo">
  52. <view class="name">
  53. 停车场
  54. </view>
  55. <view class="value">
  56. {{info.parkingInfo.name}}
  57. </view>
  58. </view>
  59. <view class="item">
  60. <view class="name">
  61. 地锁名称
  62. </view>
  63. <view class="value">
  64. {{info.floorlockInfo.name}}
  65. </view>
  66. </view>
  67. <view class="item">
  68. <view class="name">
  69. 地锁类型
  70. </view>
  71. <view class="value">
  72. {{info.floorlockInfo.typeN}}
  73. </view>
  74. </view>
  75. <view class="item">
  76. <view class="name">
  77. 停车单号
  78. </view>
  79. <view class="value">
  80. {{info.userParkingRecord.orderNo}}
  81. </view>
  82. </view>
  83. </view>
  84. <view class="main">
  85. <view class="item">
  86. <view class="name">
  87. 地锁状态
  88. </view>
  89. <view class="value">
  90. {{info.floorlockInfo.lockStatusN}}
  91. </view>
  92. </view>
  93. <view class="item" v-if="0">
  94. <view class="name">
  95. 电池电量
  96. </view>
  97. <view class="value">
  98. 123
  99. </view>
  100. </view>
  101. </view>
  102. <view class="main" v-if="info.recordUser">
  103. <view class="item">
  104. <view class="name">
  105. 用户名
  106. </view>
  107. <view class="value">
  108. {{info.recordUser.nickName?info.recordUser.nickName:'未填写'}}
  109. </view>
  110. </view>
  111. <view class="item">
  112. <view class="name">
  113. 用户类型
  114. </view>
  115. <view class="value">
  116. 停车用户
  117. </view>
  118. </view>
  119. <view class="item">
  120. <view class="name">
  121. 联系方式
  122. </view>
  123. <view class="value">
  124. {{info.recordUser.phone?info.recordUser.phone:'未填写'}}
  125. </view>
  126. </view>
  127. <view class="item">
  128. <view class="name">
  129. 车牌号
  130. </view>
  131. <view class="value">
  132. {{info.recordUser.carNumber?info.recordUser.carNumber:'未填写'}}
  133. </view>
  134. </view>
  135. </view>
  136. </view>
  137. </template>
  138. <script>
  139. import * as API from '@/apis/pagejs/record.js'
  140. import {
  141. newDate,
  142. } from '@/apis/utils'
  143. export default {
  144. data() {
  145. return {
  146. current: 0,
  147. numList: [{
  148. name: ''
  149. }, {
  150. name: ''
  151. }, {
  152. name: ''
  153. }],
  154. info:{
  155. parkingInfo:{},
  156. userParkingRecord:{},
  157. recordUser:{},
  158. floorlockInfo:{}
  159. }
  160. };
  161. },
  162. onLoad(op) {
  163. this.id = op.id
  164. this.getInfo()
  165. },
  166. methods: {
  167. getTime(item){
  168. if(item.startTime&&item.endTime){
  169. var stime=newDate(item.startTime)
  170. var etime=newDate(item.endTime)
  171. //etime=new Date()
  172. var k=(etime.getTime()-stime.getTime())/1000/60
  173. var H=k/60
  174. var fen=k%(60)
  175. var str="";
  176. if(k>60){
  177. str+=parseInt(H)+'小时'
  178. }
  179. if(fen==0&&str!=''){
  180. }else{
  181. str+=parseInt(fen)+'分钟'
  182. }
  183. return str
  184. }else{
  185. return '未结束'
  186. }
  187. },
  188. showTime(time){
  189. if(time){
  190. return time.substr(5).replace('-','.')
  191. }else{
  192. return ''
  193. }
  194. },
  195. getInfo() {
  196. uni.showLoading({
  197. title: "加载中",
  198. mask: true,
  199. })
  200. var obj = {
  201. id: this.id
  202. }
  203. API.parkingRecordDetails(obj).then((res) => {
  204. this.info = res.data
  205. uni.hideLoading();
  206. this.current=this.info.userParkingRecord.status
  207. //this.getWhiteList()
  208. }).catch(error => {
  209. uni.hideLoading();
  210. uni.showToast({
  211. title: error,
  212. icon: "none"
  213. })
  214. })
  215. },
  216. }
  217. }
  218. </script>
  219. <style>
  220. page {
  221. background-color: rgba(242, 244, 246, 1);
  222. }
  223. </style>
  224. <style lang="scss" scoped>
  225. .top-step{
  226. margin-top: 40rpx;
  227. }
  228. .top{
  229. margin-bottom: 40rpx;
  230. display: flex;
  231. justify-content: space-between;
  232. .view1{
  233. width: 33%;
  234. text-align: center;
  235. .name{
  236. color: rgba(51,51,51,1);
  237. font-size: 28rpx;
  238. }
  239. .time{
  240. color: rgba(119,119,119,1);
  241. font-size: 20rpx;
  242. }
  243. }
  244. }
  245. .top0{
  246. .viewb,.viewc{
  247. .name{
  248. color: rgba(119,119,119,1);
  249. }
  250. }
  251. }
  252. .top1{
  253. .viewc{
  254. .name{
  255. color: rgba(119,119,119,1);
  256. }
  257. }
  258. }
  259. .main{
  260. margin-bottom: 24rpx;
  261. background: #fff;
  262. .item{
  263. display: flex;
  264. justify-content: space-between;
  265. padding: 20rpx 32rpx;
  266. border-top: 1px solid rgba(232,232,232,1);
  267. color: rgba(51,51,51,1);
  268. font-size: 16px;
  269. .name{
  270. white-space: pre;
  271. }
  272. .value{
  273. }
  274. .userParkingRecord-status0{
  275. }
  276. .userParkingRecord-status1{
  277. color: #FF5100 ;
  278. }
  279. .userParkingRecord-status2{
  280. color: rgba(22,119,255,1);
  281. }
  282. }
  283. }
  284. </style>