parkentrace.vue 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <!-- 道闸无牌车入场 -->
  2. <template>
  3. <view class="park-entrace">
  4. <template v-if="infoData">
  5. <view class="park-entrace-box">
  6. <view class="park-entrace-box-item">
  7. <view>停车场</view>
  8. <view class="weight">{{ infoData.parkingName }}</view>
  9. </view>
  10. <view class="park-entrace-box-item">
  11. <view>入口名称</view>
  12. <view>{{ infoData.entranceName }}</view>
  13. </view>
  14. <view class="park-entrace-box-item">
  15. <view>通道名称</view>
  16. <view>{{ infoData.roadwayName }}</view>
  17. </view>
  18. <view class="park-entrace-box-item">
  19. <view>入场时间</view>
  20. <view>{{ infoData.inTime }}</view>
  21. </view>
  22. </view>
  23. <view class="park-entrace-number">
  24. <u-message-input :maxlength="6" :value="code" :disabled-keyboard="true" inactive-color="#008CFF" />
  25. </view>
  26. <view class="park-entrace-tips">
  27. 提示:车辆出场时需要使用同一微信/支付宝扫码出场, 若不是, <text>请保存上面6位数字,用于出场时使用。</text></view
  28. >
  29. <view class="park-entrace-btn">
  30. <u-button type="primary" shape="circle" @click="onEntraceClick">立即入场</u-button>
  31. </view>
  32. </template>
  33. <template v-else>
  34. <view class="park-entrace-info">
  35. <text>入口无车辆</text>
  36. </view>
  37. </template>
  38. <u-toast ref="uToast" />
  39. </view>
  40. </template>
  41. <script>
  42. export default {
  43. data() {
  44. return {
  45. infoData: null,
  46. code: ''
  47. };
  48. },
  49. onLoad(options) {
  50. const { parkNo, roadwayNo } = options;
  51. this.getOrderDetails(parkNo, roadwayNo);
  52. },
  53. methods: {
  54. /**
  55. * @description: 立即入场
  56. * @return {*}
  57. */
  58. onEntraceClick() {
  59. this.$u.api.entranceByNoVehicleApi({ orderId: this.infoData.id, codeNum: this.code }).then((res) => {
  60. if (res.code === 200) {
  61. uni.showModal({
  62. title: '提示',
  63. content: '入场成功',
  64. showCancel: false,
  65. success: function (res) {
  66. if (res.confirm) {
  67. uni.switchTab({
  68. url: '/pages/index/index'
  69. });
  70. }
  71. }
  72. });
  73. }
  74. });
  75. },
  76. /**
  77. * @description: 查询订单信息
  78. * @param {*} parkNo 停车编号
  79. * @param {*} roadwayNo 车道编号
  80. * @return {*}
  81. */
  82. async getOrderDetails(parkNo, roadwayNo) {
  83. const { data } = await this.$u.api.getDetailEntranceApi({ parkNo, roadwayNo });
  84. this.infoData = data;
  85. this.code = data?.codeNum;
  86. }
  87. }
  88. };
  89. </script>
  90. <style lang="scss" scoped>
  91. @import './parkentrace.scss';
  92. </style>