diff --git a/src/api/MyBrand/index.js b/src/api/MyBrand/index.js new file mode 100644 index 0000000..26ce638 --- /dev/null +++ b/src/api/MyBrand/index.js @@ -0,0 +1,118 @@ +import httpService from "@/request" + +// 用户品牌列表 +export function getSwsQyUserCarMainBrandList(params) { + let obj = Object.assign({action: 'getSwsQyUserCarMainBrandList'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} + +// 获取品牌信息 +export function getHealthIndex(params) { + let obj = Object.assign({action: 'getHealthIndex', sType: 'BrandOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} + +// 危机消息和危机列表 +export function getList(params) { + let obj = Object.assign({action: 'getList', sType: 'BrandData', sQingGan: 2}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} + +// 重点媒体 +export function getWebsite(params) { + let obj = Object.assign({action: 'getWebsite', sType: 'BrandOverview'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} + +// 热点事件 +export function getHotEventsList0528(params) { + let obj = Object.assign({action: 'getHotEventsList0528', sType: 'HotEvent'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} + +// 预警消息列表 +export function getSwsQyMessageList(params) { + let obj = Object.assign({action: 'getSwsQyMessageList'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} + +// 预警设为已读 +export function updSwsQyMessageByIDRead(params) { + let obj = Object.assign({action: 'updSwsQyMessageByIDRead'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} + +// 获取预警列表 +export function getSwsQyQuartzList(params) { + let obj = Object.assign({action: 'getSwsQyQuartzList'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} + +// 添加修改预警 +export function addOrUpdSwsQyQuartzList(params) { + let obj = Object.assign({action: 'addOrUpdSwsQyQuartzList'}, params) + return httpService({ + url: `/api/v6.ashx`, + method: 'post', + data: obj, + headers: { + 'content-type': 'application/x-www-form-urlencoded' + } + }) +} \ No newline at end of file diff --git a/src/assets/images/BrandInsight/ic_warning.png b/src/assets/images/BrandInsight/ic_warning.png new file mode 100644 index 0000000..f8b4ca2 Binary files /dev/null and b/src/assets/images/BrandInsight/ic_warning.png differ diff --git a/src/assets/images/BrandInsight/img_warning.png b/src/assets/images/BrandInsight/img_warning.png new file mode 100644 index 0000000..2f3aa27 Binary files /dev/null and b/src/assets/images/BrandInsight/img_warning.png differ diff --git a/src/lycomponents/iHeader/index.vue b/src/lycomponents/iHeader/index.vue index ba3fda6..fe52edf 100644 --- a/src/lycomponents/iHeader/index.vue +++ b/src/lycomponents/iHeader/index.vue @@ -26,6 +26,9 @@ 专项分析 + + 我的品牌 + 菜单 @@ -144,7 +147,8 @@ export default { } else if ( obj.key === "brandInsight" || obj.key === "modelInsight" || - obj.key === "eventInsight" + obj.key === "eventInsight" || + obj.key === "myBrand" ) { this.setHeaderType(3); } else if (obj.key === "saleRank" || obj.key === "specialAnalize") { diff --git a/src/lycomponents/iHeaderBrand/index.vue b/src/lycomponents/iHeaderBrand/index.vue index e33db11..fe8eb7b 100644 --- a/src/lycomponents/iHeaderBrand/index.vue +++ b/src/lycomponents/iHeaderBrand/index.vue @@ -26,6 +26,9 @@ 专项分析 + + 我的品牌 + 菜单 @@ -185,7 +188,8 @@ export default { } else if ( obj.key === "brandInsight" || obj.key === "modelInsight" || - obj.key === "eventInsight" + obj.key === "eventInsight" || + obj.key === "myBrand" ) { this.setHeaderType(3); } else if (obj.key === "saleRank" || obj.key === "specialAnalize") { diff --git a/src/lycomponents/iHeaderMa/index.vue b/src/lycomponents/iHeaderMa/index.vue index bf6da42..cbff44e 100644 --- a/src/lycomponents/iHeaderMa/index.vue +++ b/src/lycomponents/iHeaderMa/index.vue @@ -26,6 +26,9 @@ 专项分析 + + 我的品牌 + 菜单 @@ -153,7 +156,7 @@ export default { handlerType(obj) { if (obj.key === "marketingAnalysis") { this.setHeaderType(2); - } else if(obj.key === 'brandInsight' || obj.key === 'modelInsight' || obj.key === "eventInsight") { + } else if(obj.key === 'brandInsight' || obj.key === 'modelInsight' || obj.key === "eventInsight" || obj.key === "myBrand") { this.setHeaderType(3); } else if (obj.key === "saleRank" || obj.key === "specialAnalize") { this.setHeaderType(4); diff --git a/src/lycomponents/iHeaderMyself/index.vue b/src/lycomponents/iHeaderMyself/index.vue index b265ba8..600df93 100644 --- a/src/lycomponents/iHeaderMyself/index.vue +++ b/src/lycomponents/iHeaderMyself/index.vue @@ -26,6 +26,9 @@ 专项分析 + + 我的品牌 + 菜单 @@ -147,7 +150,7 @@ export default { handlerType(obj) { if (obj.key === "marketingAnalysis") { this.setHeaderType(2); - } else if(obj.key === 'brandInsight' || obj.key === 'modelInsight' || obj.key === "eventInsight") { + } else if(obj.key === 'brandInsight' || obj.key === 'modelInsight' || obj.key === "eventInsight" || obj.key === "myBrand") { this.setHeaderType(3); } else if (obj.key === "saleRank" || obj.key === "specialAnalize") { this.setHeaderType(4); diff --git a/src/mixins/index.js b/src/mixins/index.js index ac780b3..ad79aa6 100644 --- a/src/mixins/index.js +++ b/src/mixins/index.js @@ -100,7 +100,6 @@ export default { function isReize() { const style = document.defaultView.getComputedStyle(el); const scrollTop = document.body.scrollTop; - console.log(scrollTop) } el.__vueSetInterval__ = setInterval(isReize, 300); }, @@ -142,11 +141,11 @@ export default { }, computed: { ...mapGetters(['getZoom', 'getLoading', 'getToken', 'getUser', 'getAccount', 'getCommTime', 'getCtime', 'getCtime2', 'getHeaderType', 'getBrand', 'getModel', 'getSComparison', 'getBComparison','getTComparison', 'getMComparison', 'getEComparison', 'getLevelBtn', 'getMenu', - 'getChangeSTime', 'getMcStatus','getBcStatus','getScStatus','getTcStatus','getIsLight','getCarCircle','getSpecialGuid']) + 'getChangeSTime', 'getMcStatus','getBcStatus','getScStatus','getTcStatus','getIsLight','getCarCircle','getSpecialGuid','getWarningBrand','getWarningSeries']) }, methods: { ...mapActions(["setZoom", 'setLoading', 'setToken', 'setUser', 'setAccount', 'setCommTime', 'setCtime', 'setCtime2', 'setHeaderType', 'setBrand', 'setModel', 'setSComparison', 'setBComparison','setTComparison', 'setMComparison', 'setEComparison', 'setLevelBtn', 'setMenu', - 'setChangeSTime','setMcStatus','setBcStatus','setScStatus','setTcStatus','setIsLight','setCarCircle','setSpecialGuid']), + 'setChangeSTime','setMcStatus','setBcStatus','setScStatus','setTcStatus','setIsLight','setCarCircle','setSpecialGuid','setWarningBrand','setWarningSeries']), // 获取当前日期时间 getDatetime() { let now = new Date(); diff --git a/src/router/index.js b/src/router/index.js index d805168..c9e4327 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -424,6 +424,18 @@ const router = [ desc: "专项分析-重点媒体", component: resolve => require(["@/views/KeyMediaSpecial"], resolve), }, + { + path: '/myBrand', + name: "myBrand", + desc: "我的品牌", + component: resolve => require(["@/views/MyBrand"], resolve), + }, + { + path: '/moreWarning', + name: "moreWarning", + desc: "负面消息", + component: resolve => require(["@/views/MoreWarning"], resolve), + }, ] }, diff --git a/src/store/actions.js b/src/store/actions.js index 17794b6..91e9cf8 100644 --- a/src/store/actions.js +++ b/src/store/actions.js @@ -86,5 +86,11 @@ const actions = { setSpecialGuid: ({commit}, log) => { commit('setSpecialGuid', log) }, + setWarningBrand: ({commit}, log) => { + commit('setWarningBrand', log) + }, + setWarningSeries: ({commit}, log) => { + commit('setWarningSeries', log) + }, } export default actions diff --git a/src/store/getters.js b/src/store/getters.js index 5138168..85598a0 100644 --- a/src/store/getters.js +++ b/src/store/getters.js @@ -88,6 +88,12 @@ const getters = { }, getSpecialGuid(state) { return state.specialGuid - } + }, + getWarningBrand(state) { + return state.warningBrand + }, + getWarningSeries(state) { + return state.warningSeries + }, } export default getters diff --git a/src/store/mutations.js b/src/store/mutations.js index 7e6ea28..2bb9442 100644 --- a/src/store/mutations.js +++ b/src/store/mutations.js @@ -141,6 +141,16 @@ const mutations = { state.specialGuid = log; let str = JSON.stringify(log); LS.put('specialGuid', str, 1/8); + }, + setWarningBrand: (state, log) => { + state.warningBrand = log; + let str = JSON.stringify(log); + LS.put('warningBrand', str, 1/8); + }, + setWarningSeries: (state, log) => { + state.warningSeries = log; + let str = JSON.stringify(log); + LS.put('warningSeries', str, 1/8); } } diff --git a/src/store/state.js b/src/store/state.js index 597ef24..059d882 100644 --- a/src/store/state.js +++ b/src/store/state.js @@ -34,5 +34,7 @@ const state = { isLight: LS.get('isLight') || false, //浅色背景 carCircle: LS.get('carCircle') || 0, // 0全部 1车友圈 specialGuid: LS.get('specialGuid') || '', //专项分析 + warningBrand: LS.get('warningBrand') ? JSON.parse(LS.get('warningBrand')) : {}, //预警主品牌 + warningSeries: LS.get('warningSeries') || '', //预警车型 } export default state; diff --git a/src/views/Index/spreadTheSound/index.vue b/src/views/Index/spreadTheSound/index.vue index 4928902..4f4483c 100644 --- a/src/views/Index/spreadTheSound/index.vue +++ b/src/views/Index/spreadTheSound/index.vue @@ -63,7 +63,6 @@ export default { getHomeBrandSourceType0528(obj).then((res) => { let data = res.data; - console.log(data) this.pdata = data; this.handlerData(data); this.load = false; diff --git a/src/views/IndustryDataExport/tableEvent.js b/src/views/IndustryDataExport/tableEvent.js index 6b734cb..2c0b797 100644 --- a/src/views/IndustryDataExport/tableEvent.js +++ b/src/views/IndustryDataExport/tableEvent.js @@ -65,7 +65,7 @@ export default { this.form.sSeriesName = this.$route.query.seriesName || ""; this.doFormQudao(qudao); - + console.log(this.doQingGanAndCrisis()) this.plainOptions3 = this.doQingGanAndCrisis(); this.qingGan = series; this.doFormQS(series); diff --git a/src/views/KeyMediaHome/popularEventsList/index.vue b/src/views/KeyMediaHome/popularEventsList/index.vue index 3b01a42..f71eda1 100644 --- a/src/views/KeyMediaHome/popularEventsList/index.vue +++ b/src/views/KeyMediaHome/popularEventsList/index.vue @@ -49,7 +49,6 @@ export default { let obj = Object.assign({}, this.getCtime2, this.form); // this.load = true; getHomeList(obj).then(res => { - console.log(res) let data = res.data; let arr = []; let arr2 = []; diff --git a/src/views/Login/loginForm/index.vue b/src/views/Login/loginForm/index.vue index 1f12628..6fe244b 100644 --- a/src/views/Login/loginForm/index.vue +++ b/src/views/Login/loginForm/index.vue @@ -46,6 +46,7 @@ + + \ No newline at end of file diff --git a/src/views/MyBrand/brandData/index.vue b/src/views/MyBrand/brandData/index.vue new file mode 100644 index 0000000..bb44567 --- /dev/null +++ b/src/views/MyBrand/brandData/index.vue @@ -0,0 +1,166 @@ + + + + + + + + + + 传播数据总量 + + + {{count}} + + + + + + 舆情整体调性 + + + + + + 正面 + 中性 + 负面 + {{item}} + + + + + + + + + + + + + + + + + + + diff --git a/src/views/MyBrand/eventList/index.vue b/src/views/MyBrand/eventList/index.vue new file mode 100644 index 0000000..b2d56a2 --- /dev/null +++ b/src/views/MyBrand/eventList/index.vue @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + diff --git a/src/views/MyBrand/index.vue b/src/views/MyBrand/index.vue new file mode 100644 index 0000000..60610fa --- /dev/null +++ b/src/views/MyBrand/index.vue @@ -0,0 +1,380 @@ + + + + + + + + + + + {{this.brand}} + {{healthNum}} + 健康指数 + + + + + + + + + + + + + + + + + + 选择 + + + crisisChange(val, 'crisis')" /> + + + + + + + + + + 全选 + + + + + {{item.seriesname}} + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/MyBrand/mediaList/index.vue b/src/views/MyBrand/mediaList/index.vue new file mode 100644 index 0000000..0bbe30c --- /dev/null +++ b/src/views/MyBrand/mediaList/index.vue @@ -0,0 +1,77 @@ + + + + + + + + + + + + + diff --git a/src/views/MyBrand/mediaList/opt.js b/src/views/MyBrand/mediaList/opt.js new file mode 100644 index 0000000..b535e3a --- /dev/null +++ b/src/views/MyBrand/mediaList/opt.js @@ -0,0 +1,111 @@ +/* + * @Author: your name + * @Date: 2021-10-12 09:12:13 + * @LastEditTime: 2021-11-02 18:03:08 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/BrandInsight/brandTop/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOpt(dx,ds) { + return { + grid: { + top: "16px", + left: "16px", + right: "28px", + bottom: "16px", + containLabel: true, + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;", + formatter: function (params) { + var result = ""; + var dotHtml = + ''; + params.forEach(function (item) { + result += item.axisValue + "" + dotHtml + item.data; + }); + return result; + }, + }, + xAxis: { + type: "category", + axisTick: { + show: false, + }, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + data: dx, + }, + yAxis: { + type: "value", + axisLine: { + show: false, + lineStyle: { + color: "#FFF", + }, + }, + axisLabel: { + formatter: (value) => { + let str = bigNumberTransform(value); + return str; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: [ + { + name: "2001", + data: ds, + type: "bar", + barWidth: 24, + itemStyle: { + normal: { + label: { + show: true, //开启显示 + position: 'top', //在上方显示 + textStyle: { //数值样式 + color: '#fff', + fontSize: 14 + } + }, + color: new echarts.graphic.LinearGradient( + 0, + 1, + 0, + 0, + [ + { + offset: 0, + color: "rgb(65,117,203,0.4)", // 0% 处的颜色 + }, + { + offset: 1, + color: "#3373CC", // 100% 处的颜色#3373CC + }, + ], + false + ), + }, + }, + }, + ], + } +} diff --git a/src/views/MyBrand/negativeData/index.vue b/src/views/MyBrand/negativeData/index.vue new file mode 100644 index 0000000..a0f0375 --- /dev/null +++ b/src/views/MyBrand/negativeData/index.vue @@ -0,0 +1,167 @@ + + + + + + + + + + 负面数据总量 + + + {{count}} + + + + + + 舆情整体调性 + + + + + + 低级危机 + 中级危机 + 高级危机 + {{item}} + + + + + + + + + + + + + + + + + + + diff --git a/src/views/MyBrand/warningInfo/index.vue b/src/views/MyBrand/warningInfo/index.vue new file mode 100644 index 0000000..da5fe11 --- /dev/null +++ b/src/views/MyBrand/warningInfo/index.vue @@ -0,0 +1,115 @@ + + + + + + 更多 + + + + + + + + + + +