trafficasis.vue 2.64 KB
<template>
    <div class="timeheat-analysis">
        <el-header>
            <span class="asis-title">{{ asisName }}&nbsp;{{$t('asis.dataReport')}}</span>
        </el-header>
        <timeheat-option ref="init" :mallData="mallData" @reportTime="reportHandler" @initData="initTab"></timeheat-option>  
        <div class="element-main timeheat-main" :style="{ marginTop: '185px' }">
            <router-view :propparam="propParams"></router-view>
        </div>
    </div>
</template>

<script>
import timeheatOption from '../common/option/trafficasisOpt'
export default {
    data() {
        return {
            mallData: [],
            asisName: '',
            propParams: {}
        }
    },
    components: {
        'timeheat-option': timeheatOption,
    },
    created() {
        window.addEventListener('resize', () => {
            try {
                let domId = ['trafficOfMonth',  'detailData', 'customercountingMax' , 'customercountingMin' , 'TimeThermodynamic', 'weekdayOrEnd',  'faceGender', 'faceAge', 'regularCustomerLine' , 'regularCustomerDetailLine' , 'EachDayGenderNumLine',  'EachDayAgeNumBar'];
                let timeHeatEChartsUtil = {};
                domId.forEach((item,index) => {
                    timeHeatEChartsUtil[`chart${index}`] = $(`#${item}`)[0]
                })
                for(let k in timeHeatEChartsUtil) {
                    if(timeHeatEChartsUtil.hasOwnProperty(k) && timeHeatEChartsUtil[k] != undefined) {
                        timeHeatEChartsUtil[k] = this.$echarts.init(timeHeatEChartsUtil[k]);
                        var element = timeHeatEChartsUtil[k];
                        element.resize();
                    }
                }
            } catch (err) { }
        })
    },
    mounted() {
        this.getMallOpt();
    },
    methods: {
        getMallOpt() {
            this.getCommonMalls().then(resolveData => {
                let {mallData,localMallId,titleName,multiMallId} = resolveData;
                this.mallData = mallData;
                this.asisName = titleName
                this.$refs.init.initAsis(localMallId);
            },(rejectData) => {
            })
        },
        initTab(data) {
            this.propParamHandler(data);
        },
        reportHandler(emitData) {
            this.asisName = emitData.asis_tit;
            this.propParamHandler(emitData);
        },
        propParamHandler(emitData) {
            let result = this.routerJump('dataasis','trafficasis',emitData);
            this.$router.push(result.router);
            this.propParams = result.params;
        },
    },
}
</script>

<style scoped>
    .timeheat-analysis {
        width: 100%;
    }
</style>