<template> <div class="index"> <div class="appointment"> <div class="type"><span class="point"></span> 待预约的服务</div> <div v-if="packageList.length == 0" class="point_none"> 暂无可预约体检 </div> <div class="item-container" v-else> <Item v-for="(item, index) in packageList" :item="item" :key="index" listType="1" :id="id" /> </div> </div> <div class="appointmented"> <div class="type"><span class="point"></span>已预约的服务</div> <div v-if="appointmentList.length == 0" class="point_none"> 暂无已预约体检 </div> <div class="item-container" v-else> <Item v-for="(item, index) in appointmentList" :item="item" :key="index" listType="2" :id="id" /> </div> </div> <!-- 新卡-初始对话框 --> <a-modal v-model="visible" title="个人基本信息填写" @ok="handleHideModal" :footer="null" > <Form @hideModal="handleHideModal" /> </a-modal> </div> </template> <script> import Item from "./components/item.vue"; import Form from "./components/form.vue"; import api from "@/api/customer"; export default { components: { Item, Form }, data() { return { id: "", //客户id visible: false, //是否显示"个人基本信息填写"弹窗 items: [ { name: "体检套餐名称-某某单位-某某套餐", detailUrl: "http://baidu.com", type: 1, date: "2021-11-18", }, { name: "体检套餐名称-某某单位-某某套餐", detailUrl: "http://baidu.com", type: 1, date: "2021-11-18", }, { name: "体检套餐名称-某某单位-某某套餐", detailUrl: "http://baidu.com", type: 1, date: "2021-11-18", }, { name: "体检套餐名称-某某单位-某某套餐", detailUrl: "http://baidu.com", type: 1, date: "2021-11-18", }, ], itemb: [ { name: "体检套餐名称-某某单位-某某套餐", detailUrl: "http://baidu.com", type: 2, date: "2021-11-18", }, { name: "体检套餐名称-某某单位-某某套餐", detailUrl: "http://baidu.com", type: 2, date: "2021-11-18", }, { name: "体检套餐名称-某某单位-某某套餐", detailUrl: "http://baidu.com", type: 2, date: "2021-11-18", }, { name: "体检套餐名称-某某单位-某某套餐", detailUrl: "http://baidu.com", type: 2, date: "2021-11-18", }, ], packageList: [], //待预约列表 appointmentList: [], //已预约列表 }; }, created() { const { id } = this.$route.query; this.id = id; this.getCustomerDetail(); //客户信息 this.getPackageList(); //待预约列表 this.getAppointmentList(); //已预约列表 }, methods: { showModal() { this.visible = true; }, handleHideModal(e) { console.log(e); this.visible = false; }, // 获取客户详情 getCustomerDetail() { api.getCustomerDetail({ id: parseInt(this.id) }).then((res) => { if (res.returnCode == "0000") { // 根据information是否显示'个人基本信息填写'弹窗(01:完善 02:不完善) res.content.information == "02" ? (this.visible = true) : (this.visible = false); } else { this.$message.error(res.returnMsg); } }); }, // 获取待预约列表 getPackageList() { api.getPackageList({ id: parseInt(this.id) }).then((res) => { if (res.returnCode == "0000") { console.log("获取待预约==", res.content); this.packageList = res.content; } // else { // this.$message.error(res.returnMsg) // } }); }, // 获取已预约列表 getAppointmentList() { api.getAppointmentList({ id: parseInt(this.id) }).then((res) => { if (res.returnCode == "0000") { console.log("获取已预约列表==", res.content); this.appointmentList = res.content; } // else { // this.$message.error(res.returnMsg) // } }); }, }, }; </script> <style lang="less" scoped> .index { padding-bottom: 48px; padding-top: 20px; background-color: #fafafa; ::v-deep .ant-modal { background-color: saddlebrown; } ::v-deep .ant-modal-footer { display: none; } .appointment, .appointmented { padding: 19.5px 14.5px 33.5px 14.5px; background-color: white; width: 900px; margin: 0 auto; .point { display: inline-block; border-radius: 5px; width: 6px; height: 6px; background-color: #3f7ffb; margin-right: 6px; position: relative; top: -1px; } border-radius: 8px; .type { font-size: 14px; font-weight: bold; } .item-container { margin-top: 8.5px; } } .appointmented { margin-top: 20px; .point { background-color: #ffcc00; } } } .point_none { padding: 26px; } </style>