parkingInfo.vue 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  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" v-if="0">
  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" >
  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. components: {
  144. 'u-steps': () => import('@/uni_modules/uview-ui/components/u-steps/u-steps'),
  145. },
  146. data() {
  147. return {
  148. current: 0,
  149. numList: [{
  150. name: ''
  151. }, {
  152. name: ''
  153. }, {
  154. name: ''
  155. }],
  156. info:{
  157. parkingInfo:{},
  158. userParkingRecord:{},
  159. recordUser:{},
  160. floorlockInfo:{}
  161. }
  162. };
  163. },
  164. onLoad(op) {
  165. this.id = op.id
  166. this.getInfo()
  167. },
  168. methods: {
  169. getTime(item){
  170. if(item.startTime&&item.endTime){
  171. var stime=newDate(item.startTime)
  172. var etime=newDate(item.endTime)
  173. //etime=new Date()
  174. var k=(etime.getTime()-stime.getTime())/1000/60
  175. var H=k/60
  176. var fen=k%(60)
  177. var str="";
  178. if(k>60){
  179. str+=parseInt(H)+'小时'
  180. }
  181. if(fen==0&&str!=''){
  182. }else{
  183. str+=parseInt(fen)+'分钟'
  184. }
  185. return str
  186. }else{
  187. return '未结束'
  188. }
  189. },
  190. showTime(time){
  191. if(time){
  192. return time.substr(5).replace('-','.')
  193. }else{
  194. return ''
  195. }
  196. },
  197. getInfo() {
  198. uni.showLoading({
  199. title: "加载中",
  200. mask: true,
  201. })
  202. var obj = {
  203. id: this.id
  204. }
  205. API.recordDetails(obj).then((res) => {
  206. this.info = res.data
  207. uni.hideLoading();
  208. this.current=this.info.userParkingRecord.status
  209. //this.getWhiteList()
  210. }).catch(error => {
  211. uni.hideLoading();
  212. uni.showToast({
  213. title: error,
  214. icon: "none"
  215. })
  216. })
  217. },
  218. }
  219. }
  220. </script>
  221. <style>
  222. page {
  223. background-color: rgba(242, 244, 246, 1);
  224. }
  225. </style>
  226. <style lang="scss" scoped>
  227. .top-step{
  228. margin-top: 40rpx;
  229. }
  230. .top{
  231. margin-bottom: 40rpx;
  232. display: flex;
  233. justify-content: space-between;
  234. .view1{
  235. width: 33%;
  236. text-align: center;
  237. .name{
  238. color: rgba(51,51,51,1);
  239. font-size: 28rpx;
  240. }
  241. .time{
  242. color: rgba(119,119,119,1);
  243. font-size: 20rpx;
  244. }
  245. }
  246. }
  247. .top0{
  248. .viewb,.viewc{
  249. .name{
  250. color: rgba(119,119,119,1);
  251. }
  252. }
  253. }
  254. .top1{
  255. .viewc{
  256. .name{
  257. color: rgba(119,119,119,1);
  258. }
  259. }
  260. }
  261. .main{
  262. margin-bottom: 24rpx;
  263. background: #fff;
  264. .item{
  265. display: flex;
  266. justify-content: space-between;
  267. padding: 20rpx 32rpx;
  268. border-top: 1px solid rgba(232,232,232,1);
  269. color: rgba(51,51,51,1);
  270. font-size: 16px;
  271. .name{
  272. white-space: pre;
  273. }
  274. .value{
  275. }
  276. .userParkingRecord-status0{
  277. }
  278. .userParkingRecord-status1{
  279. color: #FF5100 ;
  280. }
  281. .userParkingRecord-status2{
  282. color: rgba(22,119,255,1);
  283. }
  284. }
  285. }
  286. </style>