prod
校文 3 years ago
parent b91ffb6127
commit 5d25c8fc9a

@ -1,7 +1,7 @@
/*
* @Author: your name
* @Date: 2021-10-12 13:56:13
* @LastEditTime: 2021-11-16 11:58:04
* @LastEditTime: 2021-11-26 10:27:50
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /data-show/src/mixins/index.js
@ -9,30 +9,30 @@
import { mapGetters, mapActions } from "vuex";
import store from '@/store'
import Loading from './loading'
function detectZoom (){
function detectZoom() {
let ratio = 0,
screen = window.screen,
ua = navigator.userAgent.toLowerCase();
if (window.devicePixelRatio !== undefined) {
screen = window.screen,
ua = navigator.userAgent.toLowerCase();
if (window.devicePixelRatio !== undefined) {
ratio = window.devicePixelRatio;
}
else if (ua.indexOf('msie')) {
if (screen.deviceXDPI && screen.logicalXDPI) {
ratio = screen.deviceXDPI / screen.logicalXDPI;
}
else if (ua.indexOf('msie')) {
if (screen.deviceXDPI && screen.logicalXDPI) {
ratio = screen.deviceXDPI / screen.logicalXDPI;
}
}
else if (window.outerWidth !== undefined && window.innerWidth !== undefined) {
ratio = window.outerWidth / window.innerWidth;
ratio = window.outerWidth / window.innerWidth;
}
// if (ratio){
// ratio ;
// }
return ratio;
}
return ratio;
}
export default {
install(Vue) {
Vue.mixin({
@ -42,42 +42,42 @@ export default {
inserted(el, binding) {
let val = binding.value;
let show = false;
if(!val) {
if (!val) {
show = false;
} else {
let buttonpermsStr = store.getters.getLevelBtn || [];
let n = buttonpermsStr.findIndex(ele => ele.btn === val);
if(n === -1) show = false;
if (n === -1) show = false;
else show = true;
}
if(!show) {
if (!show) {
el.parentNode.removeChild(el);
}
}
}
},
// 菜单权限
menu: {
inserted(el, binding) {
let val = binding.value;
let show = false;
if(!val) {
if (!val) {
show = false;
} else {
let menuStr = store.getters.getMenu || [];
let n = menuStr.findIndex(ele => ele.link === val);
if(n === -1) show = false;
if (n === -1) show = false;
else show = true;
}
if(!show) {
if (!show) {
el.parentNode.removeChild(el);
}
}
}
},
// 等待
'loading': Loading,
// 监听元素大小
resize: { // 指令的名称
resize: { // 指令的名称
bind(el, binding) { // el为绑定的元素binding为绑定给指令的对象
let width = '', height = '';
function isReize() {
@ -107,7 +107,7 @@ export default {
let h = style.height;
firstH = firstH || h;
if (height == wh) return
if(wh >= 760 && wh < 900 && b) {
if (wh >= 760 && wh < 900 && b) {
el.style.height = z * parseFloat(h) + 'px';
b = !b
} else {
@ -127,10 +127,10 @@ export default {
}
},
computed: {
...mapGetters(['getZoom', 'getLoading','getToken', 'getUser', 'getAccount', 'getCommTime', 'getCtime', 'getCtime2', 'getHeaderType', 'getBrand', 'getModel','getSComparison','getBComparison', 'getMComparison', 'getEComparison','getLevelBtn','getMenu', 'getChangeSTime'])
...mapGetters(['getZoom', 'getLoading', 'getToken', 'getUser', 'getAccount', 'getCommTime', 'getCtime', 'getCtime2', 'getHeaderType', 'getBrand', 'getModel', 'getSComparison', 'getBComparison', 'getMComparison', 'getEComparison', 'getLevelBtn', 'getMenu', 'getChangeSTime'])
},
methods: {
...mapActions(["setZoom", 'setLoading', 'setToken', 'setUser', 'setAccount', 'setCommTime', 'setCtime', 'setCtime2', 'setHeaderType', 'setBrand', 'setModel', 'setSComparison','setBComparison', 'setMComparison', 'setEComparison','setLevelBtn','setMenu', 'setChangeSTime']),
...mapActions(["setZoom", 'setLoading', 'setToken', 'setUser', 'setAccount', 'setCommTime', 'setCtime', 'setCtime2', 'setHeaderType', 'setBrand', 'setModel', 'setSComparison', 'setBComparison', 'setMComparison', 'setEComparison', 'setLevelBtn', 'setMenu', 'setChangeSTime']),
// 获取当前日期时间
getDatetime() {
let now = new Date();
@ -191,7 +191,7 @@ export default {
let b = false;
let buttonpermsStr = store.getters.getLevelBtn || [];
let n = buttonpermsStr.findIndex(ele => ele.btn === val);
if(n === -1) b = false;
if (n === -1) b = false;
else b = true;
return b;
}

@ -1,7 +1,7 @@
<!--
* @Author: your name
* @Date: 2021-11-05 13:49:05
* @LastEditTime: 2021-11-21 17:49:43
* @LastEditTime: 2021-11-26 11:36:49
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /data-show/src/views/BrandComparison/BrandComparison.vue
@ -18,7 +18,8 @@
<div class="d-container">
<div class="bc-outter">
<vue-lazy-component>
<brandCompateHeader :data="getBComparison" @change="handlerChangeBrand"></brandCompateHeader>
<brandCompateHeader :data="getBComparison" @change="handlerChangeBrand" v-if="!$slots['skeleton']"></brandCompateHeader>
<brandCompateHeaderStoken slot="skeleton" v-else></brandCompateHeaderStoken>
</vue-lazy-component>
<vue-lazy-component>
<div class="bc-d2">
@ -117,6 +118,7 @@ export default {
informationVolumeByChannel: (resolve) => require(['./informationVolumeByChannel'], resolve), //
tailTOPMedia: (resolve) => require(['./tailTOPMedia'], resolve), // TOP
brandCompateHeader: (resolve) => require(['./brandCompateHeader'], resolve), //
brandCompateHeaderStoken: (resolve) => require(['./brandCompateHeaderStoken'], resolve), //
},
data() {
return {};

@ -0,0 +1,160 @@
<!--
* @Author: your name
* @Date: 2021-11-05 13:18:12
* @LastEditTime: 2021-11-26 11:39:40
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /data-show/src/views/BrandComparison/brandCompateHeader/index.vue
-->
<template>
<div class="bc-d1">
<v-label-div title="品牌对比">
<v-btn @click="goback"></v-btn>
</v-label-div>
<div class="bc-d1-inner">
<template v-for="(item,index) in brands">
<div class="bc-d1-item" :key="index">
<div class="d1-item" :style="index === 0 ? 'margin-left: 16px' : ''">
<span class="s1">{{item.name|doStr(4)}}</span>
<span class="s2">{{item.name|doStr(10)}}</span>
<span class="s3" v-if="item.isDel"></span>
<span class="s3" v-else></span>
</div>
<img v-if="index != brands.length -1" src="../../../assets/images/comm/img_vs.png" class="d1-m1">
</div>
</template>
</div>
<iSwitchBrand :visible.sync="brandShow"></iSwitchBrand>
</div>
</template>
<script>
export default {
name: "brandCompateHeaderStoken",
props: {
data: {
type: Array,
default: () => {
return [];
},
},
},
// watch: {
// data: {
// handler(val) {
// if (val.length > 0) {
// val.forEach((ele, index) => {
// this.brands[index] = Object.assign(
// this.brands[index],
// ele
// );
// });
// }
// },
// immediate: true,
// },
// },
data() {
return {
brandShow: false,
brandIndex: 0,
btnLoading: false,
brands: [
{
name: "",
isDel: false,
},
{
name: "",
isDel: false,
},
{
name: "",
isDel: false,
},
{
name: "",
isDel: false,
},
{
name: "",
isDel: false,
},
{
name: "",
isDel: false,
},
],
};
},
methods: {
goback() {
this.$router.go(-1);
},
},
};
</script>
<style lang="less" scoped>
.bc-d1 {
width: 100%;
height: 222px;
border: 2px solid #0f2a4d;
.bc-d1-inner {
width: 100%;
height: calc(100% - 48px);
display: flex;
justify-content: flex-start;
align-items: center;
.bc-d1-item {
display: inline-block;
display: flex;
justify-content: flex-start;
}
.d1-m1 {
width: 96px;
height: 102px;
}
.d1-item {
position: relative;
width: 228.5px;
height: 120px;
background-image: url("../../../assets/images/BrandInsight/img_pd.png");
background-repeat: no-repeat;
background-size: 100% 100%;
.s1 {
position: absolute;
font-size: 14px;
color: #b2daf8;
top: 52px;
left: 43px;
}
.s2 {
position: absolute;
top: 50px;
left: 110px;
color: #fff;
font-size: 20px;
}
.s3 {
display: block;
position: absolute;
top: 0px;
right: 0px;
width: 95px;
height: 28px;
background-image: url("../../../assets/images/BrandInsight/img_xbut.png");
background-repeat: no-repeat;
background-size: cover;
color: #4390ba;
text-align: center;
line-height: 28px;
font-size: 12px;
cursor: pointer;
}
}
}
}
</style>
Loading…
Cancel
Save