seqanalysis.vue 4.44 KB
<template>
    <div class="seq-analysis">
        <el-header>
            <span class="asis-title">{{ asisName }}&nbsp;{{$t('asis.SeqAnalysis')}}</span>
        </el-header>
        <seq-option :optVisible="moreOptVisible" ref="init" @reportTime="reportHandler" @initData="initTab" @childByValue="childByValue"></seq-option> 
        <div class="element-main seq-main">
            <router-view :propparam="propParams"></router-view>
        </div>
    </div> 
</template>

<script>
import seqOption from '../common/option/seqMoreOption'
import _Vue from 'vue'
var Vm = new _Vue();
window.addEventListener('resize', () => {
    try {
        let timeHeatEChartsUtil = {
            chart1: $('#tfChart')[0],
            chart2: $('#tfChart1')[0],
            chart3: $('#tfChart3')[0],
            chart4: $('#tfChart4')[0],
            chart5: $('#tfChart5')[0],
            chart6: $('#tfChart6')[0],
            chart7: $('#tfChart7')[0],
            chart8: $('#tfChart8')[0],
            chart9: $('#tfChart9')[0],
        }
        for (let k in timeHeatEChartsUtil) {
            if (timeHeatEChartsUtil.hasOwnProperty(k) && timeHeatEChartsUtil[k] != undefined) {
                timeHeatEChartsUtil[k] = Vm.$echarts.init(timeHeatEChartsUtil[k]);
                var element = timeHeatEChartsUtil[k];
                element.resize();
            }
        }
    } catch (err) { }
})
export default {
    data() {
        return {
            moreOptVisible: true,
            asisName: '',
            // kpiType: '',    // 指标
            // asisLevel: '',
            // emitData: [],
            propParams: {}
        }
    },
    components: {
        'seq-option': seqOption,
    },
    mounted() {
        this.getMall();
    },
    methods: {
        childByValue(childValue) {
            this.animate('.seq-main')
        },
        getMall() {
            this.getCommonMalls().then(resolveData => {
                let {mallData,localMallId,titleName,multiMallId} = resolveData;
                this.asisName = titleName;
                let refMallId = {
                    'mallId': localMallId,
                    'multiMallId': multiMallId
                }
                this.$refs.init.initAsis(refMallId,mallData);
            },(rejectData) => {
            })
        },
        initTab(data) {
            this.asisName = data.asis_tit
            this.receiveParam(data)
        },
        reportHandler(emitData) {
            this.asisName = emitData.asis_tit;
            this.receiveParam(emitData)
        },
        receiveParam(emitData) {
            switch (emitData.asis_date) {
                case 'day':
                    this.$router.push('/analysis/seqasis/daily');
                    this.propParams = {
                        dateType: '/seqasis/daily',
                        data: emitData
                    };
                    break;
                case 'week':
                    this.$router.push('/analysis/seqasis/weekly')
                    this.propParams = {
                        dateType: '/seqasis/weekly',
                        data: emitData
                    };
                    break;
                case 'month':
                    this.$router.push('/analysis/seqasis/monthly')
                    this.propParams = {
                        dateType: '/seqasis/monthly',
                        data: emitData
                    };
                    break;
                case 'year':
                    this.$router.push('/analysis/seqasis/yearly')
                    this.propParams = {
                        dateType: '/seqasis/yearly',
                        data: emitData
                    };
                    break;
                case 'custom': 
                    if(emitData.asis_object == 1){
                        this.$router.push('/analysis/seqasis/daily');
                        this.propParams = {
                            dateType: '/seqasis/daily',
                            data: emitData
                        };
                    }else{
                        this.$router.push('/analysis/seqasis/monthly');
                        this.propParams = {
                            dateType: '/seqasis/monthly',
                            data: emitData
                        }; 
                    }
                    break
                default:
                    break;
            }
        },
    },
}
</script>

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