parkingInfo.vue 5.5 KB

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