<template> <div class="iH-outter"> <div class="iH-left"> <a-dropdown placement="bottomLeft"> <img class="iH-left-img1" src="../../assets/images/Index/ic_cd.png" /> <a-menu slot="overlay" @click="handlerType"> <a-menu-item key="index"> <span>行业洞察</span> </a-menu-item> <a-menu-item key="brandInsight" v-menu="'/brandInsight'"> <span>品牌洞察</span> </a-menu-item> <a-menu-item key="modelInsight" v-menu="'/modelInsight'"> <span>车型洞察</span> </a-menu-item> <a-menu-item key="eventInsight" v-menu="'/eventInsight'"> <span>事件洞察</span> </a-menu-item> <a-menu-item key="marketingAnalysis" v-menu="'/marketingAnalysis'"> <span>营销分析</span> </a-menu-item> </a-menu> </a-dropdown> <span class="iH-left-s1">菜单</span> <a-select :default-value="1" :size="$vuiSize" class="selHead" v-model="form.sTimeType" @change="handleChange" v-if="timeShow"> <a-select-option :style="{ color: '#fff' }" v-for="item in selDatas" :value="item.key" :key="item.key"> {{ item.value }} </a-select-option> </a-select> <a-range-picker show-time v-model="selTime" :disabled-date="disabledDate" style="margin-left: 0.8rem" @calendarChange="calendarPriceRangeChange" :size="$vuiSize" valueFormat="YYYY-MM-DD HH:mm:ss" v-if="form.sTimeType == selVal" @change="handlerChangeTime"> <a-icon slot="suffixIcon" type="calendar" /> </a-range-picker> </div> <div class="iH-center"> <img src="../../assets/images/Index/img_toubuyi.png" width="100%" /> </div> <div class="iH-right"> <span class="s1">{{ clock }}</span> <span class="s2">{{ sClock }}</span> <span class="s2">{{ week }}</span> <img class="m1" src="../../assets/images/Index/ic_ry.png" /> <span class="s3">{{getUser.UserName}}</span> <a-dropdown placement="bottomRight"> <a class="ant-dropdown-link"> <a-icon type="down" /> </a> <a-menu slot="overlay"> <a-menu-item @click="handlerMyself"> <span>个人中心</span> </a-menu-item> <a-menu-item @click="layout"> <span>退出</span> </a-menu-item> </a-menu> </a-dropdown> </div> </div> </template> <script> import { getTwoTime } from "@/api/comm"; import moment from "moment"; export default { name: "iHeaderMa", inject: ["reload"], data() { return { selVal: 4, clock: "", sClock: "", week: "", intDt: null, selTime: [], selectPriceDate: "", form: { sTimeType: "", sStartTime: "", sEndTime: "", }, selDatas: [], offsetDays: 86400000 * 30, //最多选择7天 timeShow: true }; }, watch: { $route: { handler(val) { if (val.path === "/eventDEC") { this.timeShow = false; } else { this.timeShow = true; } }, immediate: true, }, }, created() { this.form = Object.assign(this.form, this.getCtime2); if(this.form.sStartTime && this.form.sEndTime) { this.selTime = [this.form.sStartTime, this.form.sEndTime] } this.getSelect(); }, mounted() { this.intDt = self.setInterval(() => { let obj = this.getDatetime(); this.clock = obj.clock; this.sClock = obj.sClock; this.week = obj.week; }, 1000); }, destroyed() { if (this.intDt) { self.clearInterval(this.intDt); } }, methods: { // 获取选择时间的数据 getSelect() { getTwoTime().then((res) => { this.selDatas = res.data; if (!this.form.sTimeType) { this.form.sTimeType = this.selDatas[0].key; this.setCtime2(this.form); } }); }, // 选择时间 handleChange() { this.setCtime2(this.form); if (this.form.sTimeType != 4) { this.reload(); } }, //选择开始时间/结束时间 calendarPriceRangeChange(date) { this.selectPriceDate = date[0]; }, // 自定时间的时候 handlerChangeTime(val) { this.form.sStartTime = val[0]; this.form.sEndTime = val[1]; this.selectPriceDate = ""; this.setCtime2(this.form); this.reload(); }, // 点击个人中心 handlerMyself() { this.$router.push("/myself"); }, // 菜单 handlerType(obj) { if (obj.key === "marketingAnalysis") { this.setHeaderType(2); } else if ( obj.key === "brandInsight" || obj.key === "modelInsight" || obj.key === "eventInsight" ) { this.setHeaderType(3); } else { this.setHeaderType(1); } this.$router.push({ path: `/${obj.key}` }); }, // 退出的方法 layout() { this.setToken(""); this.setUser({}); this.$router.replace("/login"); }, //根据选择的开始时间/结束时间,动态渲染要禁用的日期 disabledDate(current) { if (this.selectPriceDate) { let selectV = moment( this.selectPriceDate, "YYYY-MM-DD" ).valueOf(); return ( current > moment( new Date(selectV + this.offsetDays), "YYYY-MM-DD" ) || current < moment( new Date(selectV - this.offsetDays), "YYYY-MM-DD" ) ); } else { return false; } }, }, }; </script> <style lang="less" scoped> .iH-outter { display: flex; justify-content: space-between; width: 100%; height: 80px; background-image: url("../../assets/images/Index/img_toubuer.png"); background-repeat: no-repeat; background-size: 100% 100%; .iH-left { display: flex; width: 657px; margin-left: 16px; justify-content: flex-start; margin-top: 16px; height: 32px; .iH-left-img1 { width: 24px; height: 24px; cursor: pointer; } .iH-left-s1 { display: block; font-size: 14px; font-weight: bold; color: #ffffff; margin-left: 8px; margin-top: 2px; } } .iH-center { width: 490px; height: auto; } .iH-right { display: flex; height: 32px; width: 657px; justify-content: flex-end; margin-right: 16px; margin-top: 16px; .s1 { display: inline-block; font-size: 16px; color: #ffffff; } .s2 { display: inline-block; font-size: 16px; color: #ffffff; margin-left: 24px; } .s3 { display: inline-block; font-size: 14px; color: #ffffff; margin-left: 8px; } .m1 { display: inline-block; margin-left: 60px; margin-right: 8px; width: 24px; height: 24px; } } } .ant-dropdown-link { color: #63aecc; margin-left: 11px; /deep/ .anticon svg { font-size: 20px !important; margin-top: 0px; } } .selHead { width: 120px; margin-left: 40px; margin-right: 8px; } </style>