index.vue 2.02 KB
<template>
  <div class="base-analysis">
    <el-header>
      <span class="asis-title">{{ asisName }}&nbsp;{{$t('echartsTitle.stayStatistics')}}</span>
    </el-header>
    <baseasis-option ref="init" @reportTime="reportHandler" @initData="initTab"/>
    <div class="element-main base-main">
      <contentTemplate :propparam="propParams"></contentTemplate>
      <!-- <router-view :propparam="propParams"></router-view> -->
    </div>
  </div>
</template>

<script>
  import baseOption from '../common/option/stayStatisticsOption.vue'
  import contentTemplate from'./content.vue'
  export default {
    data() {
      return {
        asisName: '',
        asisLevel: '',
        propParams: {}
      }
    },
    components: {
      'baseasis-option': baseOption,
      'contentTemplate':contentTemplate
    },
    watch: {
      propParams: {
        handler(newVal){

        },
        immediate: true,
        deep:true
      }
    },
    mounted() {
      this.getMallOpt();
    },
    methods: {
      initTab(data) {
        this.asisName = data.asis_tit;
        this.propParamHandler(data)
      },
      getMallOpt() {
        this.getCommonMalls().then(resolveData => {
          let {
            mallData,
            localMallId,
            titleName,
            multiMallId
          } = resolveData;
          let refMallId = {
            'mallId': localMallId,
          }
          let {
            malldata
          } = this.$route.params;
          if (malldata) {
            refMallId.mallId = malldata.data[0].id
          }
          this.$refs.init.initAsis(refMallId, mallData);
        }, (rejectData) => {})
      },
      reportHandler(emitData) {
        this.asisName = emitData.asis_tit;
        this.propParamHandler(emitData)
      },
      propParamHandler(emitData) {
        // let result = this.routerJump('analysis', 'stayStatistics', emitData);
        // this.$router.push(result.router);
        this.propParams = emitData;
      },
    },
  }
</script>

<style scoped>
  .element-main{
    margin-top: 120px;
  }
</style>