bookingDetail.vue 2.69 KB
<!--
 * @Date: 2024-01-16 13:19:23
 * @LastEditors: hookehuyr hookehuyr@gmail.com
 * @LastEditTime: 2024-01-16 16:01:04
 * @FilePath: /xysBooking/src/views/bookingDetail.vue
 * @Description: 文件描述
-->
<template>
  <div class="booking-detail-page">
    <qrCode status="success"></qrCode>
    <div class="detail-wrapper">
      <div class="detail-item">
        <div>参访时间:</div>
        <div>2024-01-10 05:00-08:00</div>
      </div>
      <div class="detail-item">
        <div>参访人数:</div>
        <div>2 人</div>
      </div>
      <div class="detail-item">
        <div>支付金额:</div>
        <div>¥ 50</div>
      </div>
      <div class="detail-item">
        <div>下单时间:</div>
        <div>2024-01-09 13:09</div>
      </div>
      <div class="detail-item">
        <div>订单编号:</div>
        <div>2024011012345</div>
      </div>
    </div>
    <div style="height: 5rem;"></div>
    <div v-if="status === '预约成功'" class="cancel-wrapper">
      <div @click="cancelBooking" class="cancel-btn ">取消预约</div>
    </div>
  </div>
</template>

<script setup>
import { ref } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { useGo } from '@/hooks/useGo'
import { Cookies, $, _, axios, storeToRefs, mainStore, Toast, useTitle } from '@/utils/generatePackage.js'
//import { } from '@/utils/generateModules.js'
//import { } from '@/utils/generateIcons.js'
//import { } from '@/composables'
import qrCode from '@/components/qrCode';
import { showConfirmDialog } from 'vant';
import { showSuccessToast, showFailToast } from 'vant';
const $route = useRoute();
const $router = useRouter();
useTitle($route.meta.title);

const go = useGo();

const status = ref('预约成功');

const cancelBooking = (item) => {
  showConfirmDialog({
    title: '温馨提示',
    message: '是否取消预约?',
    confirmButtonColor: '#A67939',
  })
  .then(() => {
    // on confirm
    showSuccessToast('取消成功');
    })
    .catch(() => {
      // on cancel
    });
}
</script>

<style lang="less" scoped>
.booking-detail-page {
  padding: 1rem;
  position: relative;
  .detail-wrapper {
    line-height: 1.7;
    font-size: 1rem;
    .detail-item {
      display: flex;
      justify-content: space-between;
      div:first-child {
        color: #959595;
      }
    }
  }
  .cancel-wrapper {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 5rem;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem;
    color: #000;
    .cancel-btn {
      background-color: #A67939;
      color: #FFF;
      font-size: 1rem;
      padding: 0.8rem 8rem;
      border-radius: 5px;
    }
  }
}
</style>