<template>
  <div class="app-container">
    <topindex></topindex>
    <centenrindex></centenrindex>
    <bottomindex></bottomindex>
  </div>
</template>

<script>
import { getHomeData, getStatisticData } from "@/api/home";
import topindex from "@/views/indexcomponents/topindex.vue";
import centenrindex from "@/views/indexcomponents/centenrindex.vue";
import bottomindex from "@/views/indexcomponents/bottomindex.vue";
export default {
  name: "HomePage",
  components: {
    centenrindex,
    topindex,
    bottomindex

  },
  data() {
    return {
       loading: false,
       homeData: { todayUser: 0, totalUser: 0, todayOrder: 0, totalOrder: 0, todayPay: 0, totalPay: 0, todayActiveUser: 0, totalPayUser: 0 },
       chart1: { title: '近七日订单数量', color: '#ff5b57', chartType: 'bar', header: ['订单统计'] },
       chart2: { title: '近七日会员活跃数', color: '#00acac', chartType: 'line', header: ['会员统计'] },
       chartData1: [],
       chartData2: [],
    };
  },
  created() {
    // this.getHomeData();
    this.getChartsData();
  },
  methods: {
    // 查询首页数据
    getHomeData() {
      this.loading = true;
      getHomeData().then(response => {
          this.homeData = response.data;
          this.loading = false
        }
      );
    },
    // 查询统计数据
    getChartsData() {
      const app = this;
      app.loading = true;
      // 近7日订单数量和活跃会员数量
      getStatisticData({ tag : 'order,user_active' }).then(response => {
          const data = response.data;
          const labelData1 = data.data[0] ? data.data[0] : [];
          const labelData2 = data.data[1] ? data.data[1] : [];
          const dataList1 = [];
          const dataList2 = [];

          data.labels.forEach(function(label, index) {
             const value1 = labelData1[index] ? labelData1[index] : 0;
             const value2 = labelData2[index] ? labelData2[index] : 0;
             dataList1.push( { name: label, value0: value1 } );
             dataList2.push( { name: label, value0: value2 } );
          })
          app.chartData1 = dataList1;
          app.chartData2 = dataList2;
          app.loading = false;
        }
      )
    },
    // 页面跳转
    toTarget(url) {
       this.$router.push( { path: url } );
    },
    // 去收银台
    toCashier(url) {
       const routeLink = this.$router.resolve({ path: url });
       window.open(routeLink.href, '_blank');
    }
  },
};
</script>

<style scoped lang="scss">
.app-container{
  height: 100%;
}
.top-box{
  width: 100%;
  display: flex;
  align-items: center;
}
.top-sl{
  width: 16%;
  background: #FFFFFF;
  border-radius: 8px;
  background: #FFFFFF;
  box-sizing: border-box;
  padding: 15px;

}
.box-title{
  font-size: 14px;
  font-weight: 400;
  color: rgba(0,0,0,0.6);
}
.box-size{
  font-size: 28px;
  font-weight: 400;
  color: rgba(0,0,0,0.9);
  margin-top: 5px;
  margin-bottom: 15px;
}
.box-but{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgba(0,0,0,0.6);
  font-size: 14px;
}
.icon-lv{
  width: 71px;
  height: 24px;
  background: #E3F9E9;
  border-radius: 3px 3px 3px 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: #2BA471;
}

   .overview {
       min-height: 270px;
       background: #FFFFFF;
       margin-bottom: 0px;
       box-shadow: 0 1px 2px #d5d7d8;
       .title {
         margin: 10px 0px 0px 0px;
         padding: 10px 0px 0px 10px;
         height: 44px;
         border: 1px solid #e2e1e1;
         background: #f4f4f4;
         color: #333;
         font-weight: bold;
       }
       .content {
           padding: 15px;
           border: solid 1px #d5d7d8;
           .item {
               display: block;
               border-right: none;
               border-bottom: none;
               min-height: 100px;
               padding: 6px;
               text-align: center;
               cursor: pointer;
               .do {
                   border: solid 1px #cccccc;
                   padding: 20px;
                   border-radius: 2px;
               }
               .icon {
                 height: 40px;
                 width: 40px;
                 display: block;
                 padding: 5px;
                 float: left;
                 border: solid #8a8a8a 1px;
                 border-radius: 30px;
               }
             .text {
                 text-align: left;
                 margin: 0px;
                 text-indent: 10px;
                 font-size: 14px;
             }
             .number {
                 text-align: left;
                 margin: 0px;
                 font-weight: bold;
                 text-indent: 10px;
                 font-size: 18px;
                 color: #ff5b57;
             }
           }
           .home-tools {
             .do {
                 height: 90px;
                 margin-bottom: 10px;
                 cursor: pointer;
                 font-weight: bold;
                 color: #666666;
                 border-radius: 2px;
                 text-align: left;
                 padding: 20px 0px 10px 20px;
                 float: left;
                 width: 100%;
                 background: #ffffff;
                 border: solid 1px #cccccc;
                 .text {
                     margin-top: 14px;
                 }
             }
             .t-icon {
                 width: 50px;
                 height: 50px;
                 float: left;
             }
           }
       }
   }
</style>