me.vue 2.91 KB
<!--
 * @Date: 2024-01-16 13:33:36
 * @LastEditors: hookehuyr hookehuyr@gmail.com
 * @LastEditTime: 2024-01-16 13:47:01
 * @FilePath: /xysBooking/src/views/me.vue
 * @Description: 文件描述
-->
<template>
  <div class="me-page">
    <div class="title">
      <div class="text">参观者信息</div>
    </div>
    <div class="add-visitors">
      <div><van-icon name="plus" /> 添加参观者</div>
    </div>
    <div class="visitors-list">
      <div v-for="(item, index) in visitorList" :key="index" class="visitor-item">
        <div>
          <p style="color: #A67939;">张雨燕</p>
          <p>证件号:3101******234</p>
        </div>
        <div @click="removeItem(item)" style="margin-left: 1rem;">
          <van-icon name="https://cdn.ipadbiz.cn/xys/booking/%E5%88%A0%E9%99%A4@2x.png" />
        </div>
      </div>
    </div>
  </div>
</template>

<script setup>
import { ref } from 'vue'
import { useRoute, useRouter } from 'vue-router'

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 { showConfirmDialog } from 'vant';
import { showSuccessToast, showFailToast } from 'vant';

const $route = useRoute();
const $router = useRouter();
useTitle($route.meta.title);

const visitorList = ref([{ id: '1', name: '张雨燕1', idCard: '3101******234' }, {  id: '2', name: '张雨燕2', idCard: '3101******234' }, {  id: '3',name: '张雨燕3', idCard: '3101******234' }, {  id: '4',name: '张雨燕4', idCard: '3101******234' }]);

const removeItem = (item) => {
  showConfirmDialog({
    title: '温馨提示',
    message: '是否确认删除参观者信息?',
    confirmButtonColor: '#A67939',
  })
  .then(() => {
    // on confirm
    showSuccessToast('删除成功');
    visitorList.value = visitorList.value.filter((v) => v.id !== item.id);
    })
    .catch(() => {
      // on cancel
    });
}
</script>

<style lang="less" scoped>
.me-page {
  margin: 1rem;
  position: relative;
  .title {
    padding: 0.5rem 0.75rem;
    padding-left: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    .text {
      &::before {
        content: '';
        border: 2px solid #A67939;
        margin-right: 0.5rem;
      }
    }
    .day {
      background-color: #FFFBF3;
      border-radius: 7px;
      border: 1px solid #A67939;
      padding: 0.2rem 0.5rem;
      color: #A67939;
    }
  }
  .add-visitors {
    border: 1px dashed #A67939;
    color: #A67939;
    border-radius: 5px;
    text-align: center;
    padding: .65rem 0;
    margin: 1rem 0;
    font-size: 1.15rem;
  }
  .visitors-list {
    .visitor-item {
      background-color: #FFF;
      border-radius: 8px;
      padding: 1rem;
      margin-bottom: 1rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
  }
}
</style>