<template>
  <div class="container">
    <!-- 查询配置 -->
    <div style="padding: 0px 20px">
      <div ref="lxHeader">
        <LxHeader icon="md-apps" text="年龄分析报表" style="margin-bottom: 10px; border: 0px; margin-top: 15px">
          <div slot="content"></div>
          <slot>
            <div>
               <el-date-picker
                     v-model="daterange"
                     type="daterange"
                     range-separator="至"
                     start-placeholder="开始日期"
                     end-placeholder="结束日期">
                   </el-date-picker>

              <Button type="primary" @click="load" style="margin-left: 10px">查询</Button>
              <Button type="primary" @click="viewPart" style="margin-left: 10px">{{btnText}}</Button>
            </div>
          </slot>
        </LxHeader>
      </div>
      <div class="table-tree" v-if="showData">
        <el-table :data="tableData" :height="tableHeight" class="v-table" style="width: 100%">
          <el-table-column type="index" align="center">
          </el-table-column>
          <el-table-column prop="name" label="年龄段" sortable width="180">
          </el-table-column>
          <el-table-column prop="plan_total" label="预约人数" sortable>
          </el-table-column>
          <el-table-column prop="use_total" label="入场人数" sortable>
          </el-table-column>
          <el-table-column prop="per" label="核销比" sortable>
          </el-table-column>
        </el-table>
      </div>
      <div v-else style="background-color: #fff;">
        <pie-chart :chartData="rptData" :height="chartHeight"/>
      </div>
    </div>

  </div>
</template>
<script>
  import LxHeader from "@/components/LxHeader/index.vue";
  import PieChart from '../components/PieChart'
  import {
    ageRpt
  } from "@/api/report/visit.js";
  export default {
    components: {
      LxHeader,
      PieChart
    },
    created() {
      this.initLoad()
      this.load()
    },
    mounted() {},
    data() {
      return {
        daterange:"",
        showData: false,
        searchFields: {},
        tableData: [],
        tableHeight: 0,
        btnText:"数据展示",
        chartHeight:"",
        rptData: {
          yArr: [],
          radiusArr: ['30%', '50%'],
        }
      }
    },
    methods: {
      viewPart() {
        this.showData = !this.showData;
        this.btnText = this.showData ? "数据展示" : "图表展示"
      },
      initLoad() {
        var that = this;
        var clientHeight = document.documentElement.clientHeight
        var lxHeader_height = 96.5; //查询 头部
        var paginationHeight = 37; //分页的高度
        var topHeight = 50; //页面 头部
        let tableHeight = clientHeight - lxHeader_height - topHeight - paginationHeight - 20;
        that.tableHeight = tableHeight;
        that.chartHeight = that.tableHeight + "px"
      },
      load() {
        // this.showData = true;
        var arr = [];
        ageRpt().then((res) => {
          for (var m of res) {
            m.per = (m.use_total / (m.plan_total == 0 ? 1 : m.plan_total)) * 100 + "%"

            arr.push({
              name: m.name,
              value: m.plan_total
            })
          }
          this.rptData.yArr = arr;
          this.tableData = res;
        }).catch((res) => {})
      }

    }
  };
</script>
