<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>