diff --git a/src/api/KeyMediaEvent/index.js b/src/api/KeyMediaEvent/index.js index 10b10f8..00927cb 100644 --- a/src/api/KeyMediaEvent/index.js +++ b/src/api/KeyMediaEvent/index.js @@ -1,8 +1,8 @@ import httpService from "@/request" -//主题点击 - 洞察详情 +//事件点击 - 洞察详情 export function getCountAndaffections(params) { - let obj = Object.assign({action: 'getCountAndaffections', sType: 'ZhuTiFenXiBl'}, params) + let obj = Object.assign({action: 'getCountAndaffections', sType: 'HotEvent'}, params) return httpService({ url: `/api/v6.ashx`, method: 'post', @@ -12,9 +12,9 @@ export function getCountAndaffections(params) { } }) } -//主题点击 - 传播趋势 +//事件点击 - 传播趋势 export function getTimeCount(params) { - let obj = Object.assign({action: 'getTimeCount', sType: 'ZhuTiFenXiBl'}, params) + let obj = Object.assign({action: 'getTimeCount', sType: 'HotEvent'}, params) return httpService({ url: `/api/v6.ashx`, method: 'post', @@ -24,9 +24,9 @@ export function getTimeCount(params) { } }) } -//主题点击 - 消息数据 +//事件点击 - 消息数据 export function getList(params) { - let obj = Object.assign({action: 'getList', sType: 'ZhuTiFenXiBl'}, params) + let obj = Object.assign({action: 'getList', sType: 'HotEvent'}, params) return httpService({ url: `/api/v6.ashx`, method: 'post', @@ -36,9 +36,9 @@ export function getList(params) { } }) } -//主题点击 - 热门词云 +//事件点击 - 热门词云 export function getHotWord(params) { - let obj = Object.assign({action: 'getHotWord', sType: 'ZhuTiFenXiBl'}, params) + let obj = Object.assign({action: 'getHotWord', sType: 'HotEvent'}, params) return httpService({ url: `/api/v6.ashx`, method: 'post', @@ -48,9 +48,9 @@ export function getHotWord(params) { } }) } -//主题点击 - 内容类型 +//事件点击 - 内容类型 export function getWtypeWeiBo0528(params) { - let obj = Object.assign({action: 'getWtypeWeiBo0528', sType: 'ZhuTiFenXiBl'}, params) + let obj = Object.assign({action: 'getWtypeWeiBo0528', sType: 'HotEvent'}, params) return httpService({ url: `/api/v6.ashx`, method: 'post', @@ -60,9 +60,9 @@ export function getWtypeWeiBo0528(params) { } }) } -//主题点击 - 是否认证 +//事件点击 - 是否认证 export function getUserAttestationGroupBy(params) { - let obj = Object.assign({action: 'getUserAttestationGroupBy', sType: 'ZhuTiFenXiBl'}, params) + let obj = Object.assign({action: 'getUserAttestationGroupBy', sType: 'HotEvent'}, params) return httpService({ url: `/api/v6.ashx`, method: 'post', @@ -72,9 +72,9 @@ export function getUserAttestationGroupBy(params) { } }) } -//主题点击 - 用户区域 +//事件点击 - 用户区域 export function getUserRegionGroupBy(params) { - let obj = Object.assign({action: 'getUserRegionGroupBy', sType: 'ZhuTiFenXiBl'}, params) + let obj = Object.assign({action: 'getUserRegionGroupBy', sType: 'HotEvent'}, params) return httpService({ url: `/api/v6.ashx`, method: 'post', @@ -84,9 +84,9 @@ export function getUserRegionGroupBy(params) { } }) } -//主题点击 - 图文分布 +//事件点击 - 图文分布 export function getPicboolGroupBy(params) { - let obj = Object.assign({action: 'getPicboolGroupBy', sType: 'ZhuTiFenXiBl'}, params) + let obj = Object.assign({action: 'getPicboolGroupBy', sType: 'HotEvent'}, params) return httpService({ url: `/api/v6.ashx`, method: 'post', @@ -96,9 +96,9 @@ export function getPicboolGroupBy(params) { } }) } -//主题点击 - 精华分布 +//事件点击 - 精华分布 export function getIsjingGroupBy(params) { - let obj = Object.assign({action: 'getIsjingGroupBy', sType: 'ZhuTiFenXiBl'}, params) + let obj = Object.assign({action: 'getIsjingGroupBy', sType: 'HotEvent'}, params) return httpService({ url: `/api/v6.ashx`, method: 'post', @@ -108,9 +108,9 @@ export function getIsjingGroupBy(params) { } }) } -//主题点击 - 内容top声量 +//事件点击 - 内容top声量 export function getDirectWeiBo0528(params) { - let obj = Object.assign({action: 'getDirectWeiBo0528', sType: 'ZhuTiFenXiBl'}, params) + let obj = Object.assign({action: 'getDirectWeiBo0528', sType: 'HotEvent'}, params) return httpService({ url: `/api/v6.ashx`, method: 'post', diff --git a/src/components/index.js b/src/components/index.js index 6f0956e..70f162c 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -11,6 +11,7 @@ import vLabelDivLight from "@/components/v-labelDivLight"; import vModal from "@/components/v-modal"; import vTable from "@/components/v-table"; import vTabGroup from "@/components/v-tab-group"; +import vTabGroupLight from "@/components/v-tab-group-light"; import vTabGroupControl from "@/components/v-tab-group-control"; import vTabMode from "@/components/v-tab-mode"; import vEcharts from "@/components/v-echars"; @@ -33,6 +34,7 @@ export default { vModal, vTable, vTabGroup, + vTabGroupLight, vTabGroupControl, vTabMode, vEcharts, diff --git a/src/components/v-tab-group-light/index.vue b/src/components/v-tab-group-light/index.vue new file mode 100644 index 0000000..fe2b41b --- /dev/null +++ b/src/components/v-tab-group-light/index.vue @@ -0,0 +1,101 @@ + + + + + + \ No newline at end of file diff --git a/src/components/v-tab-group/index.vue b/src/components/v-tab-group/index.vue index 4b34ef8..bd86abd 100644 --- a/src/components/v-tab-group/index.vue +++ b/src/components/v-tab-group/index.vue @@ -58,18 +58,38 @@ export default { padding: 3px; border-radius: 2px; font-size: 14px; + .v-g-item { + display: inline-block; + padding: 2px 10px; + color: #63AECC; + text-align: center; + cursor: pointer; + border-radius: 2px; + } + .v-g-item-active { + background: linear-gradient(180deg, #00498C 0%, #002343 100%); + border: 1px solid #63AECC; + } } - -.v-g-item { - display: inline-block; - padding: 2px 10px; - color: #63AECC; - text-align: center; - cursor: pointer; +.v-light-container { + display: inline-block; + background: #FFF; + padding: 3px; border-radius: 2px; -} -.v-g-item-active { - background: linear-gradient(180deg, #00498C 0%, #002343 100%); - border: 1px solid #63AECC; + font-size: 14px; + border: 1px solid #1EC8FA; + .v-g-item { + display: inline-block; + padding: 2px 10px; + text-align: center; + color: #000; + cursor: pointer; + border-radius: 2px; + } + .v-g-item-active { + background: #E7F1FF; + border: 1px solid #63AECC; + color: #000 + } } \ No newline at end of file diff --git a/src/permission.js b/src/permission.js index 04c4f05..a276b10 100644 --- a/src/permission.js +++ b/src/permission.js @@ -11,7 +11,7 @@ import router from "@/router" import NProgress from "nprogress" import "nprogress/nprogress.css" -const whitePath = ['/', '/login', '/industryDataExport','/index'] +const whitePath = ['/', '/login', '/industryDataExport','/index','/keyMediaHome'] router.beforeEach((to, from, next) => { NProgress.start() const token = store.getters.getToken; diff --git a/src/router/index.js b/src/router/index.js index 93efc28..224a954 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -47,6 +47,9 @@ import iSwitchEvent from "@/lycomponents/iSwitchEvent" // 重点媒体 import KeyMediaBrand from "@/views/KeyMediaBrand" import KeyMediaSeries from "@/views/KeyMediaSeries" +import KeyMediaEvent from "@/views/KeyMediaEvent" +import KeyMediaTheme from "@/views/KeyMediaTheme" +import KeyMediaHome from "@/views/KeyMediaHome" const router = [ { path: '/login', @@ -65,6 +68,12 @@ const router = [ desc: "行业洞察", component: Index }, + { + path: "/keyMediaHome", + name: "keyMediaHome", + desc: "行业洞察", + component: KeyMediaHome + }, { path: "/myself", name: "myself", @@ -143,6 +152,12 @@ const router = [ desc: "事件洞察-事件详情", component: EventDEC }, + { + path: '/keyMediaEvent', + name: "keyMediaEvent", + desc: "事件洞察-重点媒体", + component: KeyMediaEvent + }, { path: '/marketingAnalysis', name: "marketingAnalysis", @@ -395,6 +410,12 @@ const router = [ desc: "数据看板", component: ThemeBoard }, + { + path: '/keyMediaTheme', + name: "KeyMediaTheme", + desc: "重点媒体-主题", + component: KeyMediaTheme + }, { path: '/ThemeComparison', name: "ThemeComparison", diff --git a/src/styles/antd.less b/src/styles/antd.less index 614d57e..f0d4683 100644 --- a/src/styles/antd.less +++ b/src/styles/antd.less @@ -1,5 +1,5 @@ - .ant-select-selection { +.ant-select-selection { background: #1B4163 !important; border: 1px solid #63AECC !important; &:hover { @@ -7,6 +7,19 @@ color: #fff !important; } } +.lightSy { //选择器浅色模式 + .ant-select-selection { + background: #E7F1FF !important; + border: 1px solid #63AECC !important; + &:hover { + background-color: #E7F1FF !important; + color: #000 !important; + } + }; + .ant-select { + color: #000 !important; + } +} .ant-select-arrow .ant-select-arrow-icon svg { color: #63AECC; } @@ -40,6 +53,14 @@ .ant-input { background-color: #1B4163 !important; border: 1px solid #63AECC !important; + color: #fff !important; + } + .lightSy { + .ant-input { + background-color: #E7F1FF !important; + border: 1px solid #63AECC !important; + color: #000 !important; + } } .ant-cascader-picker { @@ -80,6 +101,11 @@ .ant-calendar-picker-icon { color: #fff !important; } + .lightSy { + .ant-calendar-picker-icon { + color: #45BCF4 !important; + } + } .ant-calendar-month-panel { box-shadow: 0px 0px 10px 0px #3373CC !important; border-radius: 2px !important; @@ -148,7 +174,14 @@ color: #4f95b7 !important; background: linear-gradient(180deg, #00498C 0%, #002343 100%) !important; border: 1px solid #4f95b7 !important; -} +} +.lightSy { + .ant-btn-primary { + color: #0F2A4D !important; + background: #E7F1FF !important; + border: 1px solid #4f95b7 !important; + } +} .ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon { color: #3373CC !important; } @@ -174,8 +207,10 @@ .ant-form-item-label > label { color: #fff !important; } -.ant-input { - color: #fff !important; +.lightSy { + .ant-form-item-label > label { + color: #000 !important; + } } .ant-input-group-addon { background: transparent !important; @@ -467,4 +502,14 @@ li.ant-calendar-time-picker-select-option-selected { } .ant-select-selection--multiple .ant-select-selection__choice__remove { color: #63AECC !important; -} \ No newline at end of file +} +.lightSy { + .ant-select-selection--multiple .ant-select-selection__choice { + color: #000000 !important; + border: 0.0625rem solid #63AECC !important; + background-color: #E7F1FF !important; + }; + .ant-select-selection--multiple .ant-select-selection__choice__remove { + color: #000000 !important; + } +} diff --git a/src/views/EventDEC/keyCommunicationPositions/index.vue b/src/views/EventDEC/keyCommunicationPositions/index.vue index 833ad6f..97982c0 100644 --- a/src/views/EventDEC/keyCommunicationPositions/index.vue +++ b/src/views/EventDEC/keyCommunicationPositions/index.vue @@ -85,7 +85,13 @@ export default { }); }, toKeyMedia(item) { - console.log(item.label) + this.$router.push({ + path: '/keyMediaEvent', + query: { + source: item.label, + id: this.id + } + }) } }, }; diff --git a/src/views/Index/keyCommunicationPositions/index.vue b/src/views/Index/keyCommunicationPositions/index.vue index 4c8495d..c43b0da 100644 --- a/src/views/Index/keyCommunicationPositions/index.vue +++ b/src/views/Index/keyCommunicationPositions/index.vue @@ -61,7 +61,12 @@ export default { }); }, goKeyMedia(item) { - console.log(item) + this.$router.push({ + path: '/keyMediaHome', + query: { + source: item.label + } + }) } }, }; diff --git a/src/views/KeyMediaBrand/popularEventsList/index.vue b/src/views/KeyMediaBrand/popularEventsList/index.vue index f5e405b..1d95232 100644 --- a/src/views/KeyMediaBrand/popularEventsList/index.vue +++ b/src/views/KeyMediaBrand/popularEventsList/index.vue @@ -84,12 +84,12 @@ export default { }) }) }, - handlerItem(row) { - let ele = this.darr[row.rowIndex]; - if(row.columnIndex === 0) { - let id = ele[4]; - this.$router.push({path: '/eventDEC', query: {events_id: id}}); - } + handlerItem(row) { + // let ele = this.darr[row.rowIndex]; + // if(row.columnIndex === 0) { + // let id = ele[4]; + // this.$router.push({path: '/eventDEC', query: {events_id: id}}); + // } } }, }; diff --git a/src/views/KeyMediaEvent/index.vue b/src/views/KeyMediaEvent/index.vue new file mode 100644 index 0000000..3efc2af --- /dev/null +++ b/src/views/KeyMediaEvent/index.vue @@ -0,0 +1,314 @@ + + + + + + diff --git a/src/views/KeyMediaEvent/popularEventsList/index.vue b/src/views/KeyMediaEvent/popularEventsList/index.vue new file mode 100644 index 0000000..7236589 --- /dev/null +++ b/src/views/KeyMediaEvent/popularEventsList/index.vue @@ -0,0 +1,108 @@ + + + + + + + diff --git a/src/views/KeyMediaEvent/weiboCharacters/index.vue b/src/views/KeyMediaEvent/weiboCharacters/index.vue new file mode 100644 index 0000000..a948a0f --- /dev/null +++ b/src/views/KeyMediaEvent/weiboCharacters/index.vue @@ -0,0 +1,191 @@ + + + + + + + diff --git a/src/views/KeyMediaEvent/weiboCharacters/opt.js b/src/views/KeyMediaEvent/weiboCharacters/opt.js new file mode 100644 index 0000000..47ea3e0 --- /dev/null +++ b/src/views/KeyMediaEvent/weiboCharacters/opt.js @@ -0,0 +1,72 @@ +/* + * @Author: your name + * @Date: 2021-10-09 09:49:50 + * @LastEditTime: 2021-10-28 13:07:24 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/userPortrait/opt.js + */ +import * as echarts from "echarts"; +// let colors = ['#3373CC', '#CC9D12', '#54BF93','#f15c80', '#e4d354', '#8085e8', '#8d4653', '#91e8e1','#f7a35c','#90ed7d'] +function createData(ds = [], colors) { + let arr = []; + ds.map((ele, index) => { + let obj = { + value: ele.Value, + name: ele.Key, + itemStyle: { + color: colors[index] + } + } + arr.push(obj) + }) + return arr; +} +export default function createOpt(ds = [], color = []) { + const data = createData(ds, color); + return { + series: [ + { + name: 'Access From0', + type: 'pie', + radius: ['65%', '80%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center', + lineHeight: 36 + }, + emphasis: { + label: { + show: true, + fontSize: '20', + color: "#ffff", + fontWeight: 'bold', + formatter: function (p) { + return `${p.data.name}\n${p.percent}%\n${p.data.value}` + } + } + }, + labelLine: { + show: false + }, + data: data + }, + { + name: 'Access From1', + type: 'pie', + radius: ['86%', '94%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center' + }, + labelLine: { + show: false + }, + center: ['50%', '50%'],//边框位置 + data: data + } + ] + } +} diff --git a/src/views/KeyMediaEvent/weiboCharactersStoken/index.vue b/src/views/KeyMediaEvent/weiboCharactersStoken/index.vue new file mode 100644 index 0000000..5cac297 --- /dev/null +++ b/src/views/KeyMediaEvent/weiboCharactersStoken/index.vue @@ -0,0 +1,73 @@ + + + + + + + diff --git a/src/views/KeyMediaEvent/weiboCommunicationTrend/index.vue b/src/views/KeyMediaEvent/weiboCommunicationTrend/index.vue new file mode 100644 index 0000000..a838dd5 --- /dev/null +++ b/src/views/KeyMediaEvent/weiboCommunicationTrend/index.vue @@ -0,0 +1,134 @@ + + + + + + diff --git a/src/views/KeyMediaEvent/weiboCommunicationTrend/opt.js b/src/views/KeyMediaEvent/weiboCommunicationTrend/opt.js new file mode 100644 index 0000000..e704b3a --- /dev/null +++ b/src/views/KeyMediaEvent/weiboCommunicationTrend/opt.js @@ -0,0 +1,116 @@ +/* + * @Author: your name + * @Date: 2021-10-12 15:32:24 + * @LastEditTime: 2021-11-19 19:50:21 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/BrandInsight/weiboVolumeTrend/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOpt(dx = [], ds = [], hotIndex = []) { + let mark = []; + hotIndex.forEach(ele => { + let obj = { + name: 'Max', + xAxis: ele, yAxis: ds[ele], + symbol: 'pin', + symbolSize: 16, + symbolOffset: [0, '-70%'], + } + mark.push(obj) + }) + return { + grid: { + top: 16, + left: 16, + right: "5%", + bottom: 10, + containLabel: true, + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + xAxis: { + type: 'category', + boundaryGap: false, + axisTick: { + show: false, + }, + axisLabel: { + formatter: (value) => { + let rex = "00:00:00"; + let isCont = false; + let str = value; + for(let i = 0;i { + let str = bigNumberTransform(value); + return str; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: [ + { + data: ds, + type: 'line', + color: '#546fc5', + areaStyle: {normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#546fc5' + }, { + offset: 1, + color: 'rgba(0,0,0,0)' + }]), + }}, + markPoint: { + data: mark, + } + } + ] + }; +} diff --git a/src/views/KeyMediaEvent/weiboCommunicationTrendLong/index.vue b/src/views/KeyMediaEvent/weiboCommunicationTrendLong/index.vue new file mode 100644 index 0000000..5ca3815 --- /dev/null +++ b/src/views/KeyMediaEvent/weiboCommunicationTrendLong/index.vue @@ -0,0 +1,135 @@ + + + + + + diff --git a/src/views/KeyMediaEvent/weiboCommunicationTrendLong/opt.js b/src/views/KeyMediaEvent/weiboCommunicationTrendLong/opt.js new file mode 100644 index 0000000..e704b3a --- /dev/null +++ b/src/views/KeyMediaEvent/weiboCommunicationTrendLong/opt.js @@ -0,0 +1,116 @@ +/* + * @Author: your name + * @Date: 2021-10-12 15:32:24 + * @LastEditTime: 2021-11-19 19:50:21 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/BrandInsight/weiboVolumeTrend/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOpt(dx = [], ds = [], hotIndex = []) { + let mark = []; + hotIndex.forEach(ele => { + let obj = { + name: 'Max', + xAxis: ele, yAxis: ds[ele], + symbol: 'pin', + symbolSize: 16, + symbolOffset: [0, '-70%'], + } + mark.push(obj) + }) + return { + grid: { + top: 16, + left: 16, + right: "5%", + bottom: 10, + containLabel: true, + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + xAxis: { + type: 'category', + boundaryGap: false, + axisTick: { + show: false, + }, + axisLabel: { + formatter: (value) => { + let rex = "00:00:00"; + let isCont = false; + let str = value; + for(let i = 0;i { + let str = bigNumberTransform(value); + return str; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: [ + { + data: ds, + type: 'line', + color: '#546fc5', + areaStyle: {normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#546fc5' + }, { + offset: 1, + color: 'rgba(0,0,0,0)' + }]), + }}, + markPoint: { + data: mark, + } + } + ] + }; +} diff --git a/src/views/KeyMediaEvent/weiboCommunicationTrendLongStoken/index.vue b/src/views/KeyMediaEvent/weiboCommunicationTrendLongStoken/index.vue new file mode 100644 index 0000000..4100783 --- /dev/null +++ b/src/views/KeyMediaEvent/weiboCommunicationTrendLongStoken/index.vue @@ -0,0 +1,38 @@ + + + + + + diff --git a/src/views/KeyMediaEvent/weiboCommunicationTrendStoken/index.vue b/src/views/KeyMediaEvent/weiboCommunicationTrendStoken/index.vue new file mode 100644 index 0000000..551000b --- /dev/null +++ b/src/views/KeyMediaEvent/weiboCommunicationTrendStoken/index.vue @@ -0,0 +1,38 @@ + + + + + + diff --git a/src/views/KeyMediaEvent/weiboContentTOPVolume/index.vue b/src/views/KeyMediaEvent/weiboContentTOPVolume/index.vue new file mode 100644 index 0000000..82f8bdc --- /dev/null +++ b/src/views/KeyMediaEvent/weiboContentTOPVolume/index.vue @@ -0,0 +1,116 @@ + + + + + + diff --git a/src/views/KeyMediaEvent/weiboContentTOPVolume/opt.js b/src/views/KeyMediaEvent/weiboContentTOPVolume/opt.js new file mode 100644 index 0000000..6d88a66 --- /dev/null +++ b/src/views/KeyMediaEvent/weiboContentTOPVolume/opt.js @@ -0,0 +1,81 @@ +/* + * @Author: your name + * @Date: 2021-10-14 16:05:12 + * @LastEditTime: 2021-11-04 17:05:41 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/WeiboDetails/weiboContentTOPVolume/opt.js + * startAngle: 180, + */ +import * as echarts from "echarts"; +export default function createOpt(name, color, num, maxVal) { + return { + tooltip: { + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;", + formatter: function(param) { + let value = param.data.value; + let name = param.data.name; + return `${name}
声量:${value}` + } + }, + series: [ + { + name: name, + type: 'gauge', + startAngle: 180, + endAngle: 0, + min: 0, + max: maxVal * 5, + splitNumber: 5, + detail: { show: false, formatter: '{value}%' }, + axisLine: { + show: true, + lineStyle: { + width: 7, + color: [ + [1, new echarts.graphic.LinearGradient(0, 0, 1, 0, [ + { + offset: 0, + color: "#020f1f" + }, + { + offset: 1, + color: color + } + ]) + ] + ] + } + }, + axisLabel: { + distance: -30, + color: "#d8d8d8", + }, + splitLine: { + distance: -6, + length: 12, + lineStyle: { + color: '#d8d8d8', + width: 2 + } + }, + // 刻度线 + axisTick: { + show: true, + length: 15, + lineStyle: { + color: "auto", + width: 5 + } + }, + data: [{ value: num, name: name, title: {show: true, color: color,fontWeight: 'bold'},itemStyle:{color: color}}], + } + ] + }; +} diff --git a/src/views/KeyMediaEvent/weiboContentTOPVolumeStoken/index.vue b/src/views/KeyMediaEvent/weiboContentTOPVolumeStoken/index.vue new file mode 100644 index 0000000..75da131 --- /dev/null +++ b/src/views/KeyMediaEvent/weiboContentTOPVolumeStoken/index.vue @@ -0,0 +1,66 @@ + + + + + + diff --git a/src/views/KeyMediaEvent/weiboContentType/index.vue b/src/views/KeyMediaEvent/weiboContentType/index.vue new file mode 100644 index 0000000..a4a6f79 --- /dev/null +++ b/src/views/KeyMediaEvent/weiboContentType/index.vue @@ -0,0 +1,126 @@ + + + + + diff --git a/src/views/KeyMediaEvent/weiboContentType/opt.js b/src/views/KeyMediaEvent/weiboContentType/opt.js new file mode 100644 index 0000000..9b0df73 --- /dev/null +++ b/src/views/KeyMediaEvent/weiboContentType/opt.js @@ -0,0 +1,72 @@ +/* + * @Author: your name + * @Date: 2021-10-09 09:49:50 + * @LastEditTime: 2021-10-28 13:07:24 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/userPortrait/opt.js + */ +import * as echarts from "echarts"; +// let colors = ['#3373CC', '#CC9D12', '#54BF93','#f15c80', '#e4d354', '#8085e8', '#8d4653', '#91e8e1','#f7a35c','#90ed7d'] +function createData(ds = [], colors) { + let arr = []; + ds.map((ele, index) => { + let obj = { + value: ele.value, + name: ele.key, + itemStyle: { + color: colors[index] + } + } + arr.push(obj) + }) + return arr; +} +export default function createOpt(ds = [], color = []) { + const data = createData(ds, color); + return { + series: [ + { + name: 'Access From0', + type: 'pie', + radius: ['65%', '80%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center', + lineHeight: 36 + }, + emphasis: { + label: { + show: true, + fontSize: '20', + color: "#ffff", + fontWeight: 'bold', + formatter: function (p) { + return `${p.data.name}\n${p.percent}%\n${p.data.value}` + } + } + }, + labelLine: { + show: false + }, + data: data + }, + { + name: 'Access From1', + type: 'pie', + radius: ['86%', '94%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center' + }, + labelLine: { + show: false + }, + center: ['50%', '50%'],//边框位置 + data: data + } + ] + } +} diff --git a/src/views/KeyMediaEvent/weiboContentTypeStoken/index.vue b/src/views/KeyMediaEvent/weiboContentTypeStoken/index.vue new file mode 100644 index 0000000..1f12434 --- /dev/null +++ b/src/views/KeyMediaEvent/weiboContentTypeStoken/index.vue @@ -0,0 +1,50 @@ + + + + + diff --git a/src/views/KeyMediaEvent/weiboUserActiveArea/index.vue b/src/views/KeyMediaEvent/weiboUserActiveArea/index.vue new file mode 100644 index 0000000..73566af --- /dev/null +++ b/src/views/KeyMediaEvent/weiboUserActiveArea/index.vue @@ -0,0 +1,114 @@ + + + + + + diff --git a/src/views/KeyMediaEvent/weiboUserActiveArea/opt1.js b/src/views/KeyMediaEvent/weiboUserActiveArea/opt1.js new file mode 100644 index 0000000..49675b2 --- /dev/null +++ b/src/views/KeyMediaEvent/weiboUserActiveArea/opt1.js @@ -0,0 +1,82 @@ + + +/* + * @Author: your name + * @Date: 2021-10-09 12:38:34 + * @LastEditTime: 2021-10-14 11:48:19 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/tailInsight/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOptD1(dx=[],ds=[]) { + return { + grid: { + left: 16, + right: '5%', + bottom: 10, + top: "1%", + containLabel: true + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + xAxis: { + type: 'value', + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + axisLabel: { + formatter: (value) => { + let str = bigNumberTransform(value); + return str; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + yAxis: { + type: 'category', + data: dx, + axisTick: { + show: false, + }, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + inverse: true + }, + series: [ + { + type: 'bar', + barWidth: 20, + data: ds, + color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{ + offset: 0, + color: 'rgba(59,106,179,0.4)' + }, { + offset: 1, + color: '#2f68b4' + }]), + } + ] + } +} diff --git a/src/views/KeyMediaEvent/weiboUserActiveArea/opt2.js b/src/views/KeyMediaEvent/weiboUserActiveArea/opt2.js new file mode 100644 index 0000000..c961002 --- /dev/null +++ b/src/views/KeyMediaEvent/weiboUserActiveArea/opt2.js @@ -0,0 +1,94 @@ +/* + * @Author: your name + * @Date: 2021-10-14 11:53:16 + * @LastEditTime: 2021-11-04 17:17:02 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/WeiboDetails/weiboUserActiveArea/opt2.js + */ + +export default function createOptD2(dm) { + return { + tooltip: { + trigger: "item", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + // geo: { + // show: true, + // map: 'china', + // roam: false,//地图设置不可拖拽,固定的 + // itemStyle: { + // normal: { + // borderWidth: 0, + // shadowColor: 'rgba(0,54,255, 1)', + // shadowBlur: 100 + // } + // } + // }, + visualMap: { + type: 'continuous', + show: false, + min: 0, + max: 2000, + text: ['高', '低'], + orient: 'horizontal', + itemWidth: 15, + itemHeight: 200, + right: 0, + bottom: 30, + inRange: { + color: ['#0393d2', '#75ddff'] + }, + textStyle: { + color: 'white' + } + }, + series: [ + { + name: "微博区域", + type: "map", + mapType: "china", + roam: false, + zoom: 1,//默认地图在容器中显示zoom:1,可根据需求放大缩小地图 + left: 16, + top: 20, + right: 10, + bottom: 10, + selectedMode:'multiple', + colorBy: 'data', + itemStyle: { + areaColor: '#001f5b',//地图区域背景颜色 + borderColor: '#005cf9',//地图边界颜色 + shadowColor: '#005cf9', + emphasis: { + areaColor: '#3066ba',//鼠标滑过区域颜色 + label: { + color: '#fff' + } + } + }, + label: { + normal: { + show: false + }, + }, + + // select: { + // label: { + // show: false + // }, + // itemStyle: { + // areaColor: '#3edffe' + // } + // }, + data: dm + } + ] + } +} diff --git a/src/views/KeyMediaEvent/weiboUserActiveAreaStoken/index.vue b/src/views/KeyMediaEvent/weiboUserActiveAreaStoken/index.vue new file mode 100644 index 0000000..8ef1ae7 --- /dev/null +++ b/src/views/KeyMediaEvent/weiboUserActiveAreaStoken/index.vue @@ -0,0 +1,49 @@ + + + + + + diff --git a/src/views/KeyMediaEvent/weiboWordCloud/index.vue b/src/views/KeyMediaEvent/weiboWordCloud/index.vue new file mode 100644 index 0000000..04b885c --- /dev/null +++ b/src/views/KeyMediaEvent/weiboWordCloud/index.vue @@ -0,0 +1,87 @@ + + + + + + \ No newline at end of file diff --git a/src/views/KeyMediaEvent/weiboWordCloud/opt.js b/src/views/KeyMediaEvent/weiboWordCloud/opt.js new file mode 100644 index 0000000..9fd72a6 --- /dev/null +++ b/src/views/KeyMediaEvent/weiboWordCloud/opt.js @@ -0,0 +1,215 @@ +/* + * @Author: your name + * @Date: 2021-10-09 13:35:13 + * @LastEditTime: 2021-10-14 19:14:21 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/hotDiscussionGraph/opt.js + */ +// import * as echarts from "echarts"; +const dataBJ = [ + [1, 55, 9, 56, 0.46, 18, 6, '良'], + [2, 25, 11, 21, 0.65, 34, 9, '优'], + [3, 56, 7, 63, 0.3, 14, 5, '良'], + [4, 33, 7, 29, 0.33, 16, 6, '优'], + [5, 42, 24, 44, 0.76, 40, 16, '优'], + [6, 82, 58, 90, 1.77, 68, 33, '良'], + [7, 74, 49, 77, 1.46, 48, 27, '良'], + [8, 78, 55, 80, 1.29, 59, 29, '良'], + [9, 267, 216, 280, 4.8, 108, 64, '重度污染'], + // [10, 185, 127, 216, 2.52, 61, 27, '中度污染'], + // [11, 39, 19, 38, 0.57, 31, 15, '优'], + // [12, 41, 11, 40, 0.43, 21, 7, '优'], + // [13, 64, 38, 74, 1.04, 46, 22, '良'], + // [14, 108, 79, 120, 1.7, 75, 41, '轻度污染'], + // [15, 108, 63, 116, 1.48, 44, 26, '轻度污染'], + // [16, 33, 6, 29, 0.34, 13, 5, '优'], + // [17, 94, 66, 110, 1.54, 62, 31, '良'], + // [18, 186, 142, 192, 3.88, 93, 79, '中度污染'], + // [19, 57, 31, 54, 0.96, 32, 14, '良'], + // [20, 22, 8, 17, 0.48, 23, 10, '优'], + // [21, 39, 15, 36, 0.61, 29, 13, '优'], + // [22, 94, 69, 114, 2.08, 73, 39, '良'], + // [23, 99, 73, 110, 2.43, 76, 48, '良'], + // [24, 31, 12, 30, 0.5, 32, 16, '优'], + // [25, 42, 27, 43, 1, 53, 22, '优'], + // [26, 154, 117, 157, 3.05, 92, 58, '中度污染'], + // [27, 234, 185, 230, 4.09, 123, 69, '重度污染'], + // [28, 160, 120, 186, 2.77, 91, 50, '中度污染'], + // [29, 134, 96, 165, 2.76, 83, 41, '轻度污染'], + // [30, 52, 24, 60, 1.03, 50, 21, '良'], + // [31, 46, 5, 49, 0.28, 10, 6, '优'] + ]; + const dataGZ = [ + [1, 26, 37, 27, 1.163, 27, 13, '优'], + [2, 85, 62, 71, 1.195, 60, 8, '良'], + [3, 78, 38, 74, 1.363, 37, 7, '良'], + [4, 21, 21, 36, 0.634, 40, 9, '优'], + [5, 41, 42, 46, 0.915, 81, 13, '优'], + // [6, 56, 52, 69, 1.067, 92, 16, '良'], + // [7, 64, 30, 28, 0.924, 51, 2, '良'], + // [8, 55, 48, 74, 1.236, 75, 26, '良'], + // [9, 76, 85, 113, 1.237, 114, 27, '良'], + // [10, 91, 81, 104, 1.041, 56, 40, '良'], + // [11, 84, 39, 60, 0.964, 25, 11, '良'], + // [12, 64, 51, 101, 0.862, 58, 23, '良'], + // [13, 70, 69, 120, 1.198, 65, 36, '良'], + // [14, 77, 105, 178, 2.549, 64, 16, '良'], + // [15, 109, 68, 87, 0.996, 74, 29, '轻度污染'], + // [16, 73, 68, 97, 0.905, 51, 34, '良'], + // [17, 54, 27, 47, 0.592, 53, 12, '良'], + // [18, 51, 61, 97, 0.811, 65, 19, '良'], + // [19, 91, 71, 121, 1.374, 43, 18, '良'], + // [20, 73, 102, 182, 2.787, 44, 19, '良'], + // [21, 73, 50, 76, 0.717, 31, 20, '良'], + // [22, 84, 94, 140, 2.238, 68, 18, '良'], + // [23, 93, 77, 104, 1.165, 53, 7, '良'], + // [24, 99, 130, 227, 3.97, 55, 15, '良'], + // [25, 146, 84, 139, 1.094, 40, 17, '轻度污染'], + // [26, 113, 108, 137, 1.481, 48, 15, '轻度污染'], + // [27, 81, 48, 62, 1.619, 26, 3, '良'], + // [28, 56, 48, 68, 1.336, 37, 9, '良'], + // [29, 82, 92, 174, 3.29, 0, 13, '良'], + // [30, 106, 116, 188, 3.628, 101, 16, '轻度污染'], + // [31, 118, 50, 0, 1.383, 76, 11, '轻度污染'] + ]; + const dataSH = [ + [1, 91, 45, 125, 0.82, 34, 23, '良'], + [2, 65, 27, 78, 0.86, 45, 29, '良'], + [3, 83, 60, 84, 1.09, 73, 27, '良'], + [4, 109, 81, 121, 1.28, 68, 51, '轻度污染'], + [5, 106, 77, 114, 1.07, 55, 51, '轻度污染'], + // [6, 109, 81, 121, 1.28, 68, 51, '轻度污染'], + // [7, 106, 77, 114, 1.07, 55, 51, '轻度污染'], + // [8, 89, 65, 78, 0.86, 51, 26, '良'], + // [9, 53, 33, 47, 0.64, 50, 17, '良'], + // [10, 80, 55, 80, 1.01, 75, 24, '良'], + // [11, 117, 81, 124, 1.03, 45, 24, '轻度污染'], + // [12, 99, 71, 142, 1.1, 62, 42, '良'], + // [13, 95, 69, 130, 1.28, 74, 50, '良'], + // [14, 116, 87, 131, 1.47, 84, 40, '轻度污染'], + // [15, 108, 80, 121, 1.3, 85, 37, '轻度污染'], + // [16, 134, 83, 167, 1.16, 57, 43, '轻度污染'], + // [17, 79, 43, 107, 1.05, 59, 37, '良'], + // [18, 71, 46, 89, 0.86, 64, 25, '良'], + // [19, 97, 71, 113, 1.17, 88, 31, '良'], + // [20, 84, 57, 91, 0.85, 55, 31, '良'], + // [21, 87, 63, 101, 0.9, 56, 41, '良'], + // [22, 104, 77, 119, 1.09, 73, 48, '轻度污染'], + // [23, 87, 62, 100, 1, 72, 28, '良'], + // [24, 168, 128, 172, 1.49, 97, 56, '中度污染'], + // [25, 65, 45, 51, 0.74, 39, 17, '良'], + // [26, 39, 24, 38, 0.61, 47, 17, '优'], + // [27, 39, 24, 39, 0.59, 50, 19, '优'], + // [28, 93, 68, 96, 1.05, 79, 29, '良'], + // [29, 188, 143, 197, 1.66, 99, 51, '中度污染'], + // [30, 174, 131, 174, 1.55, 108, 50, '中度污染'], + // [31, 187, 143, 201, 1.39, 89, 53, '中度污染'] + ]; +// const schema = [ +// { name: 'date', index: 0, text: '日' }, +// { name: 'AQIindex', index: 1, text: 'AQI指数' }, +// { name: 'PM25', index: 2, text: 'PM2.5' }, +// { name: 'PM10', index: 3, text: 'PM10' }, +// { name: 'CO', index: 4, text: '一氧化碳(CO)' }, +// { name: 'NO2', index: 5, text: '二氧化氮(NO2)' }, +// { name: 'SO2', index: 6, text: '二氧化硫(SO2)' } +// ]; + const itemStyle = { + opacity: 0.8, + shadowBlur: 10, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: 'rgba(0,0,0,0.3)' + }; +export default function createOpt() { + return { + grid: { + top: "16px", + left: "16px", + right: "16px", + bottom: "16px", + containLabel: true, + }, + tooltip: { + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;", + formatter: function(param) { + let value = param.value; + return `${value[value.length - 1]}
${value[0]}` + } + }, + xAxis: { + show: false, + type: 'value', + splitLine: { + lineStyle: { + type: 'dashed' + } + } + }, + yAxis: { + show: false, + type: 'value', + splitLine: { + lineStyle: { + type: 'dashed' + } + }, + scale: true + }, + series: [{ + name: '北京', + data: dataBJ, + type: 'scatter', + symbolSize: function (data) { + return data[2] + }, + label: { + show: true, + color: "#FFF", + formatter: function (param) { + return param.data[param.data.length - 1]; + }, + }, + itemStyle: itemStyle + }, { + name: '上海', + data: dataSH, + type: 'scatter', + symbolSize: function (data) { + return data[2] + }, + label: { + show: true, + color: "#FFF", + formatter: function (param) { + return param.data[param.data.length - 1]; + }, + }, + itemStyle: itemStyle + }, + { + name: '广州', + data: dataGZ, + type: 'scatter', + symbolSize: function (data) { + return data[2] + }, + label: { + show: true, + color: "#FFF", + formatter: function (param) { + return param.data[param.data.length - 1]; + }, + }, + itemStyle: itemStyle + } + ] + } +} diff --git a/src/views/KeyMediaEvent/weiboWordCloudStoken/index.vue b/src/views/KeyMediaEvent/weiboWordCloudStoken/index.vue new file mode 100644 index 0000000..66ae020 --- /dev/null +++ b/src/views/KeyMediaEvent/weiboWordCloudStoken/index.vue @@ -0,0 +1,39 @@ + + + + + + \ No newline at end of file diff --git a/src/views/KeyMediaHome/index.vue b/src/views/KeyMediaHome/index.vue new file mode 100644 index 0000000..9803435 --- /dev/null +++ b/src/views/KeyMediaHome/index.vue @@ -0,0 +1,321 @@ + + + + + + diff --git a/src/views/KeyMediaHome/popularEventsList/index.vue b/src/views/KeyMediaHome/popularEventsList/index.vue new file mode 100644 index 0000000..3b01a42 --- /dev/null +++ b/src/views/KeyMediaHome/popularEventsList/index.vue @@ -0,0 +1,105 @@ + + + + + + + diff --git a/src/views/KeyMediaHome/spreadTOPbrands/index.vue b/src/views/KeyMediaHome/spreadTOPbrands/index.vue new file mode 100644 index 0000000..9860eb6 --- /dev/null +++ b/src/views/KeyMediaHome/spreadTOPbrands/index.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/src/views/KeyMediaHome/spreadTOPbrands/opt.js b/src/views/KeyMediaHome/spreadTOPbrands/opt.js new file mode 100644 index 0000000..878e67a --- /dev/null +++ b/src/views/KeyMediaHome/spreadTOPbrands/opt.js @@ -0,0 +1,111 @@ +/* + * @Author: your name + * @Date: 2021-10-12 18:23:25 + * @LastEditTime: 2021-10-12 18:31:20 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/BrandInsight/spreadTOPmodels/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOpt(dx,ds) { + return { + grid: { + top: "10%", + left: "16px", + right: "5%", + 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: "#CC9D1240", // 0% 处的颜色 + }, + { + offset: 1, + color: "#CC9D12", // 100% 处的颜色#3373CC + }, + ], + false + ), + }, + }, + }, + ], + } +} diff --git a/src/views/KeyMediaHome/spreadTOPmodels/index.vue b/src/views/KeyMediaHome/spreadTOPmodels/index.vue new file mode 100644 index 0000000..ae918fc --- /dev/null +++ b/src/views/KeyMediaHome/spreadTOPmodels/index.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/views/KeyMediaHome/spreadTOPmodels/opt.js b/src/views/KeyMediaHome/spreadTOPmodels/opt.js new file mode 100644 index 0000000..8aaaa5f --- /dev/null +++ b/src/views/KeyMediaHome/spreadTOPmodels/opt.js @@ -0,0 +1,111 @@ +/* + * @Author: your name + * @Date: 2021-10-12 18:23:25 + * @LastEditTime: 2021-10-12 18:31:20 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/BrandInsight/spreadTOPmodels/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOpt(dx,ds) { + return { + grid: { + top: "10%", + left: "16px", + right: "5%", + 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: "rgba(99,187,143,0.4)", // 0% 处的颜色 + }, + { + offset: 1, + color: "#51bc8f", // 100% 处的颜色#3373CC + }, + ], + false + ), + }, + }, + }, + ], + } +} diff --git a/src/views/KeyMediaHome/subscribeSeries/index.vue b/src/views/KeyMediaHome/subscribeSeries/index.vue new file mode 100644 index 0000000..9188244 --- /dev/null +++ b/src/views/KeyMediaHome/subscribeSeries/index.vue @@ -0,0 +1,81 @@ + + + + + diff --git a/src/views/KeyMediaHome/subscribeSeries/opt.js b/src/views/KeyMediaHome/subscribeSeries/opt.js new file mode 100644 index 0000000..878e67a --- /dev/null +++ b/src/views/KeyMediaHome/subscribeSeries/opt.js @@ -0,0 +1,111 @@ +/* + * @Author: your name + * @Date: 2021-10-12 18:23:25 + * @LastEditTime: 2021-10-12 18:31:20 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/BrandInsight/spreadTOPmodels/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOpt(dx,ds) { + return { + grid: { + top: "10%", + left: "16px", + right: "5%", + 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: "#CC9D1240", // 0% 处的颜色 + }, + { + offset: 1, + color: "#CC9D12", // 100% 处的颜色#3373CC + }, + ], + false + ), + }, + }, + }, + ], + } +} diff --git a/src/views/KeyMediaHome/weiboCharacters/index.vue b/src/views/KeyMediaHome/weiboCharacters/index.vue new file mode 100644 index 0000000..42c38ab --- /dev/null +++ b/src/views/KeyMediaHome/weiboCharacters/index.vue @@ -0,0 +1,188 @@ + + + + + + + diff --git a/src/views/KeyMediaHome/weiboCharacters/opt.js b/src/views/KeyMediaHome/weiboCharacters/opt.js new file mode 100644 index 0000000..47ea3e0 --- /dev/null +++ b/src/views/KeyMediaHome/weiboCharacters/opt.js @@ -0,0 +1,72 @@ +/* + * @Author: your name + * @Date: 2021-10-09 09:49:50 + * @LastEditTime: 2021-10-28 13:07:24 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/userPortrait/opt.js + */ +import * as echarts from "echarts"; +// let colors = ['#3373CC', '#CC9D12', '#54BF93','#f15c80', '#e4d354', '#8085e8', '#8d4653', '#91e8e1','#f7a35c','#90ed7d'] +function createData(ds = [], colors) { + let arr = []; + ds.map((ele, index) => { + let obj = { + value: ele.Value, + name: ele.Key, + itemStyle: { + color: colors[index] + } + } + arr.push(obj) + }) + return arr; +} +export default function createOpt(ds = [], color = []) { + const data = createData(ds, color); + return { + series: [ + { + name: 'Access From0', + type: 'pie', + radius: ['65%', '80%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center', + lineHeight: 36 + }, + emphasis: { + label: { + show: true, + fontSize: '20', + color: "#ffff", + fontWeight: 'bold', + formatter: function (p) { + return `${p.data.name}\n${p.percent}%\n${p.data.value}` + } + } + }, + labelLine: { + show: false + }, + data: data + }, + { + name: 'Access From1', + type: 'pie', + radius: ['86%', '94%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center' + }, + labelLine: { + show: false + }, + center: ['50%', '50%'],//边框位置 + data: data + } + ] + } +} diff --git a/src/views/KeyMediaHome/weiboCharactersStoken/index.vue b/src/views/KeyMediaHome/weiboCharactersStoken/index.vue new file mode 100644 index 0000000..5cac297 --- /dev/null +++ b/src/views/KeyMediaHome/weiboCharactersStoken/index.vue @@ -0,0 +1,73 @@ + + + + + + + diff --git a/src/views/KeyMediaHome/weiboCommunicationTrend/index.vue b/src/views/KeyMediaHome/weiboCommunicationTrend/index.vue new file mode 100644 index 0000000..3923fa5 --- /dev/null +++ b/src/views/KeyMediaHome/weiboCommunicationTrend/index.vue @@ -0,0 +1,131 @@ + + + + + + diff --git a/src/views/KeyMediaHome/weiboCommunicationTrend/opt.js b/src/views/KeyMediaHome/weiboCommunicationTrend/opt.js new file mode 100644 index 0000000..e704b3a --- /dev/null +++ b/src/views/KeyMediaHome/weiboCommunicationTrend/opt.js @@ -0,0 +1,116 @@ +/* + * @Author: your name + * @Date: 2021-10-12 15:32:24 + * @LastEditTime: 2021-11-19 19:50:21 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/BrandInsight/weiboVolumeTrend/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOpt(dx = [], ds = [], hotIndex = []) { + let mark = []; + hotIndex.forEach(ele => { + let obj = { + name: 'Max', + xAxis: ele, yAxis: ds[ele], + symbol: 'pin', + symbolSize: 16, + symbolOffset: [0, '-70%'], + } + mark.push(obj) + }) + return { + grid: { + top: 16, + left: 16, + right: "5%", + bottom: 10, + containLabel: true, + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + xAxis: { + type: 'category', + boundaryGap: false, + axisTick: { + show: false, + }, + axisLabel: { + formatter: (value) => { + let rex = "00:00:00"; + let isCont = false; + let str = value; + for(let i = 0;i { + let str = bigNumberTransform(value); + return str; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: [ + { + data: ds, + type: 'line', + color: '#546fc5', + areaStyle: {normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#546fc5' + }, { + offset: 1, + color: 'rgba(0,0,0,0)' + }]), + }}, + markPoint: { + data: mark, + } + } + ] + }; +} diff --git a/src/views/KeyMediaHome/weiboCommunicationTrendLong/index.vue b/src/views/KeyMediaHome/weiboCommunicationTrendLong/index.vue new file mode 100644 index 0000000..7f9564f --- /dev/null +++ b/src/views/KeyMediaHome/weiboCommunicationTrendLong/index.vue @@ -0,0 +1,135 @@ + + + + + + diff --git a/src/views/KeyMediaHome/weiboCommunicationTrendLong/opt.js b/src/views/KeyMediaHome/weiboCommunicationTrendLong/opt.js new file mode 100644 index 0000000..e704b3a --- /dev/null +++ b/src/views/KeyMediaHome/weiboCommunicationTrendLong/opt.js @@ -0,0 +1,116 @@ +/* + * @Author: your name + * @Date: 2021-10-12 15:32:24 + * @LastEditTime: 2021-11-19 19:50:21 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/BrandInsight/weiboVolumeTrend/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOpt(dx = [], ds = [], hotIndex = []) { + let mark = []; + hotIndex.forEach(ele => { + let obj = { + name: 'Max', + xAxis: ele, yAxis: ds[ele], + symbol: 'pin', + symbolSize: 16, + symbolOffset: [0, '-70%'], + } + mark.push(obj) + }) + return { + grid: { + top: 16, + left: 16, + right: "5%", + bottom: 10, + containLabel: true, + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + xAxis: { + type: 'category', + boundaryGap: false, + axisTick: { + show: false, + }, + axisLabel: { + formatter: (value) => { + let rex = "00:00:00"; + let isCont = false; + let str = value; + for(let i = 0;i { + let str = bigNumberTransform(value); + return str; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: [ + { + data: ds, + type: 'line', + color: '#546fc5', + areaStyle: {normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#546fc5' + }, { + offset: 1, + color: 'rgba(0,0,0,0)' + }]), + }}, + markPoint: { + data: mark, + } + } + ] + }; +} diff --git a/src/views/KeyMediaHome/weiboCommunicationTrendLongStoken/index.vue b/src/views/KeyMediaHome/weiboCommunicationTrendLongStoken/index.vue new file mode 100644 index 0000000..4100783 --- /dev/null +++ b/src/views/KeyMediaHome/weiboCommunicationTrendLongStoken/index.vue @@ -0,0 +1,38 @@ + + + + + + diff --git a/src/views/KeyMediaHome/weiboCommunicationTrendStoken/index.vue b/src/views/KeyMediaHome/weiboCommunicationTrendStoken/index.vue new file mode 100644 index 0000000..551000b --- /dev/null +++ b/src/views/KeyMediaHome/weiboCommunicationTrendStoken/index.vue @@ -0,0 +1,38 @@ + + + + + + diff --git a/src/views/KeyMediaHome/weiboContentTOPVolume/index.vue b/src/views/KeyMediaHome/weiboContentTOPVolume/index.vue new file mode 100644 index 0000000..2fe6764 --- /dev/null +++ b/src/views/KeyMediaHome/weiboContentTOPVolume/index.vue @@ -0,0 +1,112 @@ + + + + + + diff --git a/src/views/KeyMediaHome/weiboContentTOPVolume/opt.js b/src/views/KeyMediaHome/weiboContentTOPVolume/opt.js new file mode 100644 index 0000000..6d88a66 --- /dev/null +++ b/src/views/KeyMediaHome/weiboContentTOPVolume/opt.js @@ -0,0 +1,81 @@ +/* + * @Author: your name + * @Date: 2021-10-14 16:05:12 + * @LastEditTime: 2021-11-04 17:05:41 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/WeiboDetails/weiboContentTOPVolume/opt.js + * startAngle: 180, + */ +import * as echarts from "echarts"; +export default function createOpt(name, color, num, maxVal) { + return { + tooltip: { + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;", + formatter: function(param) { + let value = param.data.value; + let name = param.data.name; + return `${name}
声量:${value}` + } + }, + series: [ + { + name: name, + type: 'gauge', + startAngle: 180, + endAngle: 0, + min: 0, + max: maxVal * 5, + splitNumber: 5, + detail: { show: false, formatter: '{value}%' }, + axisLine: { + show: true, + lineStyle: { + width: 7, + color: [ + [1, new echarts.graphic.LinearGradient(0, 0, 1, 0, [ + { + offset: 0, + color: "#020f1f" + }, + { + offset: 1, + color: color + } + ]) + ] + ] + } + }, + axisLabel: { + distance: -30, + color: "#d8d8d8", + }, + splitLine: { + distance: -6, + length: 12, + lineStyle: { + color: '#d8d8d8', + width: 2 + } + }, + // 刻度线 + axisTick: { + show: true, + length: 15, + lineStyle: { + color: "auto", + width: 5 + } + }, + data: [{ value: num, name: name, title: {show: true, color: color,fontWeight: 'bold'},itemStyle:{color: color}}], + } + ] + }; +} diff --git a/src/views/KeyMediaHome/weiboContentTOPVolumeStoken/index.vue b/src/views/KeyMediaHome/weiboContentTOPVolumeStoken/index.vue new file mode 100644 index 0000000..75da131 --- /dev/null +++ b/src/views/KeyMediaHome/weiboContentTOPVolumeStoken/index.vue @@ -0,0 +1,66 @@ + + + + + + diff --git a/src/views/KeyMediaHome/weiboContentType/index.vue b/src/views/KeyMediaHome/weiboContentType/index.vue new file mode 100644 index 0000000..14343f0 --- /dev/null +++ b/src/views/KeyMediaHome/weiboContentType/index.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/src/views/KeyMediaHome/weiboContentType/opt.js b/src/views/KeyMediaHome/weiboContentType/opt.js new file mode 100644 index 0000000..9b0df73 --- /dev/null +++ b/src/views/KeyMediaHome/weiboContentType/opt.js @@ -0,0 +1,72 @@ +/* + * @Author: your name + * @Date: 2021-10-09 09:49:50 + * @LastEditTime: 2021-10-28 13:07:24 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/userPortrait/opt.js + */ +import * as echarts from "echarts"; +// let colors = ['#3373CC', '#CC9D12', '#54BF93','#f15c80', '#e4d354', '#8085e8', '#8d4653', '#91e8e1','#f7a35c','#90ed7d'] +function createData(ds = [], colors) { + let arr = []; + ds.map((ele, index) => { + let obj = { + value: ele.value, + name: ele.key, + itemStyle: { + color: colors[index] + } + } + arr.push(obj) + }) + return arr; +} +export default function createOpt(ds = [], color = []) { + const data = createData(ds, color); + return { + series: [ + { + name: 'Access From0', + type: 'pie', + radius: ['65%', '80%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center', + lineHeight: 36 + }, + emphasis: { + label: { + show: true, + fontSize: '20', + color: "#ffff", + fontWeight: 'bold', + formatter: function (p) { + return `${p.data.name}\n${p.percent}%\n${p.data.value}` + } + } + }, + labelLine: { + show: false + }, + data: data + }, + { + name: 'Access From1', + type: 'pie', + radius: ['86%', '94%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center' + }, + labelLine: { + show: false + }, + center: ['50%', '50%'],//边框位置 + data: data + } + ] + } +} diff --git a/src/views/KeyMediaHome/weiboContentTypeStoken/index.vue b/src/views/KeyMediaHome/weiboContentTypeStoken/index.vue new file mode 100644 index 0000000..1f12434 --- /dev/null +++ b/src/views/KeyMediaHome/weiboContentTypeStoken/index.vue @@ -0,0 +1,50 @@ + + + + + diff --git a/src/views/KeyMediaHome/weiboUserActiveArea/index.vue b/src/views/KeyMediaHome/weiboUserActiveArea/index.vue new file mode 100644 index 0000000..9d39605 --- /dev/null +++ b/src/views/KeyMediaHome/weiboUserActiveArea/index.vue @@ -0,0 +1,110 @@ + + + + + + diff --git a/src/views/KeyMediaHome/weiboUserActiveArea/opt1.js b/src/views/KeyMediaHome/weiboUserActiveArea/opt1.js new file mode 100644 index 0000000..32e3a99 --- /dev/null +++ b/src/views/KeyMediaHome/weiboUserActiveArea/opt1.js @@ -0,0 +1,83 @@ + + +/* + * @Author: your name + * @Date: 2021-10-09 12:38:34 + * @LastEditTime: 2021-10-14 11:48:19 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/tailInsight/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOptD1(dx=[],ds=[]) { + return { + grid: { + left: 16, + right: '5%', + bottom: 10, + top: "1%", + containLabel: true + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + xAxis: { + type: 'value', + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + axisLabel: { + formatter: (value) => { + let str = bigNumberTransform(value); + return str; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + yAxis: { + type: 'category', + data: dx, + axisTick: { + show: false, + }, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + inverse: true + }, + series: [ + { + name: '2011', + type: 'bar', + barWidth: 20, + data: ds, + color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{ + offset: 0, + color: 'rgba(59,106,179,0.4)' + }, { + offset: 1, + color: '#2f68b4' + }]), + } + ] + } +} diff --git a/src/views/KeyMediaHome/weiboUserActiveArea/opt2.js b/src/views/KeyMediaHome/weiboUserActiveArea/opt2.js new file mode 100644 index 0000000..c961002 --- /dev/null +++ b/src/views/KeyMediaHome/weiboUserActiveArea/opt2.js @@ -0,0 +1,94 @@ +/* + * @Author: your name + * @Date: 2021-10-14 11:53:16 + * @LastEditTime: 2021-11-04 17:17:02 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/WeiboDetails/weiboUserActiveArea/opt2.js + */ + +export default function createOptD2(dm) { + return { + tooltip: { + trigger: "item", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + // geo: { + // show: true, + // map: 'china', + // roam: false,//地图设置不可拖拽,固定的 + // itemStyle: { + // normal: { + // borderWidth: 0, + // shadowColor: 'rgba(0,54,255, 1)', + // shadowBlur: 100 + // } + // } + // }, + visualMap: { + type: 'continuous', + show: false, + min: 0, + max: 2000, + text: ['高', '低'], + orient: 'horizontal', + itemWidth: 15, + itemHeight: 200, + right: 0, + bottom: 30, + inRange: { + color: ['#0393d2', '#75ddff'] + }, + textStyle: { + color: 'white' + } + }, + series: [ + { + name: "微博区域", + type: "map", + mapType: "china", + roam: false, + zoom: 1,//默认地图在容器中显示zoom:1,可根据需求放大缩小地图 + left: 16, + top: 20, + right: 10, + bottom: 10, + selectedMode:'multiple', + colorBy: 'data', + itemStyle: { + areaColor: '#001f5b',//地图区域背景颜色 + borderColor: '#005cf9',//地图边界颜色 + shadowColor: '#005cf9', + emphasis: { + areaColor: '#3066ba',//鼠标滑过区域颜色 + label: { + color: '#fff' + } + } + }, + label: { + normal: { + show: false + }, + }, + + // select: { + // label: { + // show: false + // }, + // itemStyle: { + // areaColor: '#3edffe' + // } + // }, + data: dm + } + ] + } +} diff --git a/src/views/KeyMediaHome/weiboUserActiveAreaStoken/index.vue b/src/views/KeyMediaHome/weiboUserActiveAreaStoken/index.vue new file mode 100644 index 0000000..8ef1ae7 --- /dev/null +++ b/src/views/KeyMediaHome/weiboUserActiveAreaStoken/index.vue @@ -0,0 +1,49 @@ + + + + + + diff --git a/src/views/KeyMediaHome/weiboWordCloud/index.vue b/src/views/KeyMediaHome/weiboWordCloud/index.vue new file mode 100644 index 0000000..0a84d34 --- /dev/null +++ b/src/views/KeyMediaHome/weiboWordCloud/index.vue @@ -0,0 +1,83 @@ + + + + + + \ No newline at end of file diff --git a/src/views/KeyMediaHome/weiboWordCloud/opt.js b/src/views/KeyMediaHome/weiboWordCloud/opt.js new file mode 100644 index 0000000..9fd72a6 --- /dev/null +++ b/src/views/KeyMediaHome/weiboWordCloud/opt.js @@ -0,0 +1,215 @@ +/* + * @Author: your name + * @Date: 2021-10-09 13:35:13 + * @LastEditTime: 2021-10-14 19:14:21 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/hotDiscussionGraph/opt.js + */ +// import * as echarts from "echarts"; +const dataBJ = [ + [1, 55, 9, 56, 0.46, 18, 6, '良'], + [2, 25, 11, 21, 0.65, 34, 9, '优'], + [3, 56, 7, 63, 0.3, 14, 5, '良'], + [4, 33, 7, 29, 0.33, 16, 6, '优'], + [5, 42, 24, 44, 0.76, 40, 16, '优'], + [6, 82, 58, 90, 1.77, 68, 33, '良'], + [7, 74, 49, 77, 1.46, 48, 27, '良'], + [8, 78, 55, 80, 1.29, 59, 29, '良'], + [9, 267, 216, 280, 4.8, 108, 64, '重度污染'], + // [10, 185, 127, 216, 2.52, 61, 27, '中度污染'], + // [11, 39, 19, 38, 0.57, 31, 15, '优'], + // [12, 41, 11, 40, 0.43, 21, 7, '优'], + // [13, 64, 38, 74, 1.04, 46, 22, '良'], + // [14, 108, 79, 120, 1.7, 75, 41, '轻度污染'], + // [15, 108, 63, 116, 1.48, 44, 26, '轻度污染'], + // [16, 33, 6, 29, 0.34, 13, 5, '优'], + // [17, 94, 66, 110, 1.54, 62, 31, '良'], + // [18, 186, 142, 192, 3.88, 93, 79, '中度污染'], + // [19, 57, 31, 54, 0.96, 32, 14, '良'], + // [20, 22, 8, 17, 0.48, 23, 10, '优'], + // [21, 39, 15, 36, 0.61, 29, 13, '优'], + // [22, 94, 69, 114, 2.08, 73, 39, '良'], + // [23, 99, 73, 110, 2.43, 76, 48, '良'], + // [24, 31, 12, 30, 0.5, 32, 16, '优'], + // [25, 42, 27, 43, 1, 53, 22, '优'], + // [26, 154, 117, 157, 3.05, 92, 58, '中度污染'], + // [27, 234, 185, 230, 4.09, 123, 69, '重度污染'], + // [28, 160, 120, 186, 2.77, 91, 50, '中度污染'], + // [29, 134, 96, 165, 2.76, 83, 41, '轻度污染'], + // [30, 52, 24, 60, 1.03, 50, 21, '良'], + // [31, 46, 5, 49, 0.28, 10, 6, '优'] + ]; + const dataGZ = [ + [1, 26, 37, 27, 1.163, 27, 13, '优'], + [2, 85, 62, 71, 1.195, 60, 8, '良'], + [3, 78, 38, 74, 1.363, 37, 7, '良'], + [4, 21, 21, 36, 0.634, 40, 9, '优'], + [5, 41, 42, 46, 0.915, 81, 13, '优'], + // [6, 56, 52, 69, 1.067, 92, 16, '良'], + // [7, 64, 30, 28, 0.924, 51, 2, '良'], + // [8, 55, 48, 74, 1.236, 75, 26, '良'], + // [9, 76, 85, 113, 1.237, 114, 27, '良'], + // [10, 91, 81, 104, 1.041, 56, 40, '良'], + // [11, 84, 39, 60, 0.964, 25, 11, '良'], + // [12, 64, 51, 101, 0.862, 58, 23, '良'], + // [13, 70, 69, 120, 1.198, 65, 36, '良'], + // [14, 77, 105, 178, 2.549, 64, 16, '良'], + // [15, 109, 68, 87, 0.996, 74, 29, '轻度污染'], + // [16, 73, 68, 97, 0.905, 51, 34, '良'], + // [17, 54, 27, 47, 0.592, 53, 12, '良'], + // [18, 51, 61, 97, 0.811, 65, 19, '良'], + // [19, 91, 71, 121, 1.374, 43, 18, '良'], + // [20, 73, 102, 182, 2.787, 44, 19, '良'], + // [21, 73, 50, 76, 0.717, 31, 20, '良'], + // [22, 84, 94, 140, 2.238, 68, 18, '良'], + // [23, 93, 77, 104, 1.165, 53, 7, '良'], + // [24, 99, 130, 227, 3.97, 55, 15, '良'], + // [25, 146, 84, 139, 1.094, 40, 17, '轻度污染'], + // [26, 113, 108, 137, 1.481, 48, 15, '轻度污染'], + // [27, 81, 48, 62, 1.619, 26, 3, '良'], + // [28, 56, 48, 68, 1.336, 37, 9, '良'], + // [29, 82, 92, 174, 3.29, 0, 13, '良'], + // [30, 106, 116, 188, 3.628, 101, 16, '轻度污染'], + // [31, 118, 50, 0, 1.383, 76, 11, '轻度污染'] + ]; + const dataSH = [ + [1, 91, 45, 125, 0.82, 34, 23, '良'], + [2, 65, 27, 78, 0.86, 45, 29, '良'], + [3, 83, 60, 84, 1.09, 73, 27, '良'], + [4, 109, 81, 121, 1.28, 68, 51, '轻度污染'], + [5, 106, 77, 114, 1.07, 55, 51, '轻度污染'], + // [6, 109, 81, 121, 1.28, 68, 51, '轻度污染'], + // [7, 106, 77, 114, 1.07, 55, 51, '轻度污染'], + // [8, 89, 65, 78, 0.86, 51, 26, '良'], + // [9, 53, 33, 47, 0.64, 50, 17, '良'], + // [10, 80, 55, 80, 1.01, 75, 24, '良'], + // [11, 117, 81, 124, 1.03, 45, 24, '轻度污染'], + // [12, 99, 71, 142, 1.1, 62, 42, '良'], + // [13, 95, 69, 130, 1.28, 74, 50, '良'], + // [14, 116, 87, 131, 1.47, 84, 40, '轻度污染'], + // [15, 108, 80, 121, 1.3, 85, 37, '轻度污染'], + // [16, 134, 83, 167, 1.16, 57, 43, '轻度污染'], + // [17, 79, 43, 107, 1.05, 59, 37, '良'], + // [18, 71, 46, 89, 0.86, 64, 25, '良'], + // [19, 97, 71, 113, 1.17, 88, 31, '良'], + // [20, 84, 57, 91, 0.85, 55, 31, '良'], + // [21, 87, 63, 101, 0.9, 56, 41, '良'], + // [22, 104, 77, 119, 1.09, 73, 48, '轻度污染'], + // [23, 87, 62, 100, 1, 72, 28, '良'], + // [24, 168, 128, 172, 1.49, 97, 56, '中度污染'], + // [25, 65, 45, 51, 0.74, 39, 17, '良'], + // [26, 39, 24, 38, 0.61, 47, 17, '优'], + // [27, 39, 24, 39, 0.59, 50, 19, '优'], + // [28, 93, 68, 96, 1.05, 79, 29, '良'], + // [29, 188, 143, 197, 1.66, 99, 51, '中度污染'], + // [30, 174, 131, 174, 1.55, 108, 50, '中度污染'], + // [31, 187, 143, 201, 1.39, 89, 53, '中度污染'] + ]; +// const schema = [ +// { name: 'date', index: 0, text: '日' }, +// { name: 'AQIindex', index: 1, text: 'AQI指数' }, +// { name: 'PM25', index: 2, text: 'PM2.5' }, +// { name: 'PM10', index: 3, text: 'PM10' }, +// { name: 'CO', index: 4, text: '一氧化碳(CO)' }, +// { name: 'NO2', index: 5, text: '二氧化氮(NO2)' }, +// { name: 'SO2', index: 6, text: '二氧化硫(SO2)' } +// ]; + const itemStyle = { + opacity: 0.8, + shadowBlur: 10, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: 'rgba(0,0,0,0.3)' + }; +export default function createOpt() { + return { + grid: { + top: "16px", + left: "16px", + right: "16px", + bottom: "16px", + containLabel: true, + }, + tooltip: { + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;", + formatter: function(param) { + let value = param.value; + return `${value[value.length - 1]}
${value[0]}` + } + }, + xAxis: { + show: false, + type: 'value', + splitLine: { + lineStyle: { + type: 'dashed' + } + } + }, + yAxis: { + show: false, + type: 'value', + splitLine: { + lineStyle: { + type: 'dashed' + } + }, + scale: true + }, + series: [{ + name: '北京', + data: dataBJ, + type: 'scatter', + symbolSize: function (data) { + return data[2] + }, + label: { + show: true, + color: "#FFF", + formatter: function (param) { + return param.data[param.data.length - 1]; + }, + }, + itemStyle: itemStyle + }, { + name: '上海', + data: dataSH, + type: 'scatter', + symbolSize: function (data) { + return data[2] + }, + label: { + show: true, + color: "#FFF", + formatter: function (param) { + return param.data[param.data.length - 1]; + }, + }, + itemStyle: itemStyle + }, + { + name: '广州', + data: dataGZ, + type: 'scatter', + symbolSize: function (data) { + return data[2] + }, + label: { + show: true, + color: "#FFF", + formatter: function (param) { + return param.data[param.data.length - 1]; + }, + }, + itemStyle: itemStyle + } + ] + } +} diff --git a/src/views/KeyMediaHome/weiboWordCloudStoken/index.vue b/src/views/KeyMediaHome/weiboWordCloudStoken/index.vue new file mode 100644 index 0000000..66ae020 --- /dev/null +++ b/src/views/KeyMediaHome/weiboWordCloudStoken/index.vue @@ -0,0 +1,39 @@ + + + + + + \ No newline at end of file diff --git a/src/views/KeyMediaSeries/popularEventsList/index.vue b/src/views/KeyMediaSeries/popularEventsList/index.vue index 0d14ca2..039d0db 100644 --- a/src/views/KeyMediaSeries/popularEventsList/index.vue +++ b/src/views/KeyMediaSeries/popularEventsList/index.vue @@ -27,6 +27,7 @@ export default { load: false, form: { sBrand: "", + sSeriesName: '', token: "", sSource: '', ilimitType: 0, @@ -86,11 +87,11 @@ export default { }) }, handlerItem(row) { - let ele = this.darr[row.rowIndex]; - if(row.columnIndex === 0) { - let id = ele[4]; - this.$router.push({path: '/eventDEC', query: {events_id: id}}); - } + // let ele = this.darr[row.rowIndex]; + // if(row.columnIndex === 0) { + // let id = ele[4]; + // this.$router.push({path: '/eventDEC', query: {events_id: id}}); + // } } }, }; diff --git a/src/views/KeyMediaTheme/index.vue b/src/views/KeyMediaTheme/index.vue new file mode 100644 index 0000000..47865ac --- /dev/null +++ b/src/views/KeyMediaTheme/index.vue @@ -0,0 +1,314 @@ + + + + + + diff --git a/src/views/KeyMediaTheme/popularEventsList/index.vue b/src/views/KeyMediaTheme/popularEventsList/index.vue new file mode 100644 index 0000000..1f66fc6 --- /dev/null +++ b/src/views/KeyMediaTheme/popularEventsList/index.vue @@ -0,0 +1,108 @@ + + + + + + + diff --git a/src/views/KeyMediaTheme/weiboCharacters/index.vue b/src/views/KeyMediaTheme/weiboCharacters/index.vue new file mode 100644 index 0000000..2428afe --- /dev/null +++ b/src/views/KeyMediaTheme/weiboCharacters/index.vue @@ -0,0 +1,191 @@ + + + + + + + diff --git a/src/views/KeyMediaTheme/weiboCharacters/opt.js b/src/views/KeyMediaTheme/weiboCharacters/opt.js new file mode 100644 index 0000000..47ea3e0 --- /dev/null +++ b/src/views/KeyMediaTheme/weiboCharacters/opt.js @@ -0,0 +1,72 @@ +/* + * @Author: your name + * @Date: 2021-10-09 09:49:50 + * @LastEditTime: 2021-10-28 13:07:24 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/userPortrait/opt.js + */ +import * as echarts from "echarts"; +// let colors = ['#3373CC', '#CC9D12', '#54BF93','#f15c80', '#e4d354', '#8085e8', '#8d4653', '#91e8e1','#f7a35c','#90ed7d'] +function createData(ds = [], colors) { + let arr = []; + ds.map((ele, index) => { + let obj = { + value: ele.Value, + name: ele.Key, + itemStyle: { + color: colors[index] + } + } + arr.push(obj) + }) + return arr; +} +export default function createOpt(ds = [], color = []) { + const data = createData(ds, color); + return { + series: [ + { + name: 'Access From0', + type: 'pie', + radius: ['65%', '80%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center', + lineHeight: 36 + }, + emphasis: { + label: { + show: true, + fontSize: '20', + color: "#ffff", + fontWeight: 'bold', + formatter: function (p) { + return `${p.data.name}\n${p.percent}%\n${p.data.value}` + } + } + }, + labelLine: { + show: false + }, + data: data + }, + { + name: 'Access From1', + type: 'pie', + radius: ['86%', '94%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center' + }, + labelLine: { + show: false + }, + center: ['50%', '50%'],//边框位置 + data: data + } + ] + } +} diff --git a/src/views/KeyMediaTheme/weiboCharactersStoken/index.vue b/src/views/KeyMediaTheme/weiboCharactersStoken/index.vue new file mode 100644 index 0000000..5cac297 --- /dev/null +++ b/src/views/KeyMediaTheme/weiboCharactersStoken/index.vue @@ -0,0 +1,73 @@ + + + + + + + diff --git a/src/views/KeyMediaTheme/weiboCommunicationTrend/index.vue b/src/views/KeyMediaTheme/weiboCommunicationTrend/index.vue new file mode 100644 index 0000000..9c83d77 --- /dev/null +++ b/src/views/KeyMediaTheme/weiboCommunicationTrend/index.vue @@ -0,0 +1,134 @@ + + + + + + diff --git a/src/views/KeyMediaTheme/weiboCommunicationTrend/opt.js b/src/views/KeyMediaTheme/weiboCommunicationTrend/opt.js new file mode 100644 index 0000000..e704b3a --- /dev/null +++ b/src/views/KeyMediaTheme/weiboCommunicationTrend/opt.js @@ -0,0 +1,116 @@ +/* + * @Author: your name + * @Date: 2021-10-12 15:32:24 + * @LastEditTime: 2021-11-19 19:50:21 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/BrandInsight/weiboVolumeTrend/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOpt(dx = [], ds = [], hotIndex = []) { + let mark = []; + hotIndex.forEach(ele => { + let obj = { + name: 'Max', + xAxis: ele, yAxis: ds[ele], + symbol: 'pin', + symbolSize: 16, + symbolOffset: [0, '-70%'], + } + mark.push(obj) + }) + return { + grid: { + top: 16, + left: 16, + right: "5%", + bottom: 10, + containLabel: true, + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + xAxis: { + type: 'category', + boundaryGap: false, + axisTick: { + show: false, + }, + axisLabel: { + formatter: (value) => { + let rex = "00:00:00"; + let isCont = false; + let str = value; + for(let i = 0;i { + let str = bigNumberTransform(value); + return str; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: [ + { + data: ds, + type: 'line', + color: '#546fc5', + areaStyle: {normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#546fc5' + }, { + offset: 1, + color: 'rgba(0,0,0,0)' + }]), + }}, + markPoint: { + data: mark, + } + } + ] + }; +} diff --git a/src/views/KeyMediaTheme/weiboCommunicationTrendLong/index.vue b/src/views/KeyMediaTheme/weiboCommunicationTrendLong/index.vue new file mode 100644 index 0000000..e4a2e8c --- /dev/null +++ b/src/views/KeyMediaTheme/weiboCommunicationTrendLong/index.vue @@ -0,0 +1,135 @@ + + + + + + diff --git a/src/views/KeyMediaTheme/weiboCommunicationTrendLong/opt.js b/src/views/KeyMediaTheme/weiboCommunicationTrendLong/opt.js new file mode 100644 index 0000000..e704b3a --- /dev/null +++ b/src/views/KeyMediaTheme/weiboCommunicationTrendLong/opt.js @@ -0,0 +1,116 @@ +/* + * @Author: your name + * @Date: 2021-10-12 15:32:24 + * @LastEditTime: 2021-11-19 19:50:21 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/BrandInsight/weiboVolumeTrend/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOpt(dx = [], ds = [], hotIndex = []) { + let mark = []; + hotIndex.forEach(ele => { + let obj = { + name: 'Max', + xAxis: ele, yAxis: ds[ele], + symbol: 'pin', + symbolSize: 16, + symbolOffset: [0, '-70%'], + } + mark.push(obj) + }) + return { + grid: { + top: 16, + left: 16, + right: "5%", + bottom: 10, + containLabel: true, + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + xAxis: { + type: 'category', + boundaryGap: false, + axisTick: { + show: false, + }, + axisLabel: { + formatter: (value) => { + let rex = "00:00:00"; + let isCont = false; + let str = value; + for(let i = 0;i { + let str = bigNumberTransform(value); + return str; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + series: [ + { + data: ds, + type: 'line', + color: '#546fc5', + areaStyle: {normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#546fc5' + }, { + offset: 1, + color: 'rgba(0,0,0,0)' + }]), + }}, + markPoint: { + data: mark, + } + } + ] + }; +} diff --git a/src/views/KeyMediaTheme/weiboCommunicationTrendLongStoken/index.vue b/src/views/KeyMediaTheme/weiboCommunicationTrendLongStoken/index.vue new file mode 100644 index 0000000..4100783 --- /dev/null +++ b/src/views/KeyMediaTheme/weiboCommunicationTrendLongStoken/index.vue @@ -0,0 +1,38 @@ + + + + + + diff --git a/src/views/KeyMediaTheme/weiboCommunicationTrendStoken/index.vue b/src/views/KeyMediaTheme/weiboCommunicationTrendStoken/index.vue new file mode 100644 index 0000000..551000b --- /dev/null +++ b/src/views/KeyMediaTheme/weiboCommunicationTrendStoken/index.vue @@ -0,0 +1,38 @@ + + + + + + diff --git a/src/views/KeyMediaTheme/weiboContentTOPVolume/index.vue b/src/views/KeyMediaTheme/weiboContentTOPVolume/index.vue new file mode 100644 index 0000000..6231b30 --- /dev/null +++ b/src/views/KeyMediaTheme/weiboContentTOPVolume/index.vue @@ -0,0 +1,116 @@ + + + + + + diff --git a/src/views/KeyMediaTheme/weiboContentTOPVolume/opt.js b/src/views/KeyMediaTheme/weiboContentTOPVolume/opt.js new file mode 100644 index 0000000..6d88a66 --- /dev/null +++ b/src/views/KeyMediaTheme/weiboContentTOPVolume/opt.js @@ -0,0 +1,81 @@ +/* + * @Author: your name + * @Date: 2021-10-14 16:05:12 + * @LastEditTime: 2021-11-04 17:05:41 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/WeiboDetails/weiboContentTOPVolume/opt.js + * startAngle: 180, + */ +import * as echarts from "echarts"; +export default function createOpt(name, color, num, maxVal) { + return { + tooltip: { + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;", + formatter: function(param) { + let value = param.data.value; + let name = param.data.name; + return `${name}
声量:${value}` + } + }, + series: [ + { + name: name, + type: 'gauge', + startAngle: 180, + endAngle: 0, + min: 0, + max: maxVal * 5, + splitNumber: 5, + detail: { show: false, formatter: '{value}%' }, + axisLine: { + show: true, + lineStyle: { + width: 7, + color: [ + [1, new echarts.graphic.LinearGradient(0, 0, 1, 0, [ + { + offset: 0, + color: "#020f1f" + }, + { + offset: 1, + color: color + } + ]) + ] + ] + } + }, + axisLabel: { + distance: -30, + color: "#d8d8d8", + }, + splitLine: { + distance: -6, + length: 12, + lineStyle: { + color: '#d8d8d8', + width: 2 + } + }, + // 刻度线 + axisTick: { + show: true, + length: 15, + lineStyle: { + color: "auto", + width: 5 + } + }, + data: [{ value: num, name: name, title: {show: true, color: color,fontWeight: 'bold'},itemStyle:{color: color}}], + } + ] + }; +} diff --git a/src/views/KeyMediaTheme/weiboContentTOPVolumeStoken/index.vue b/src/views/KeyMediaTheme/weiboContentTOPVolumeStoken/index.vue new file mode 100644 index 0000000..75da131 --- /dev/null +++ b/src/views/KeyMediaTheme/weiboContentTOPVolumeStoken/index.vue @@ -0,0 +1,66 @@ + + + + + + diff --git a/src/views/KeyMediaTheme/weiboContentType/index.vue b/src/views/KeyMediaTheme/weiboContentType/index.vue new file mode 100644 index 0000000..e426b2e --- /dev/null +++ b/src/views/KeyMediaTheme/weiboContentType/index.vue @@ -0,0 +1,126 @@ + + + + + diff --git a/src/views/KeyMediaTheme/weiboContentType/opt.js b/src/views/KeyMediaTheme/weiboContentType/opt.js new file mode 100644 index 0000000..9b0df73 --- /dev/null +++ b/src/views/KeyMediaTheme/weiboContentType/opt.js @@ -0,0 +1,72 @@ +/* + * @Author: your name + * @Date: 2021-10-09 09:49:50 + * @LastEditTime: 2021-10-28 13:07:24 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/userPortrait/opt.js + */ +import * as echarts from "echarts"; +// let colors = ['#3373CC', '#CC9D12', '#54BF93','#f15c80', '#e4d354', '#8085e8', '#8d4653', '#91e8e1','#f7a35c','#90ed7d'] +function createData(ds = [], colors) { + let arr = []; + ds.map((ele, index) => { + let obj = { + value: ele.value, + name: ele.key, + itemStyle: { + color: colors[index] + } + } + arr.push(obj) + }) + return arr; +} +export default function createOpt(ds = [], color = []) { + const data = createData(ds, color); + return { + series: [ + { + name: 'Access From0', + type: 'pie', + radius: ['65%', '80%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center', + lineHeight: 36 + }, + emphasis: { + label: { + show: true, + fontSize: '20', + color: "#ffff", + fontWeight: 'bold', + formatter: function (p) { + return `${p.data.name}\n${p.percent}%\n${p.data.value}` + } + } + }, + labelLine: { + show: false + }, + data: data + }, + { + name: 'Access From1', + type: 'pie', + radius: ['86%', '94%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center' + }, + labelLine: { + show: false + }, + center: ['50%', '50%'],//边框位置 + data: data + } + ] + } +} diff --git a/src/views/KeyMediaTheme/weiboContentTypeStoken/index.vue b/src/views/KeyMediaTheme/weiboContentTypeStoken/index.vue new file mode 100644 index 0000000..1f12434 --- /dev/null +++ b/src/views/KeyMediaTheme/weiboContentTypeStoken/index.vue @@ -0,0 +1,50 @@ + + + + + diff --git a/src/views/KeyMediaTheme/weiboUserActiveArea/index.vue b/src/views/KeyMediaTheme/weiboUserActiveArea/index.vue new file mode 100644 index 0000000..c4eef1f --- /dev/null +++ b/src/views/KeyMediaTheme/weiboUserActiveArea/index.vue @@ -0,0 +1,114 @@ + + + + + + diff --git a/src/views/KeyMediaTheme/weiboUserActiveArea/opt1.js b/src/views/KeyMediaTheme/weiboUserActiveArea/opt1.js new file mode 100644 index 0000000..49675b2 --- /dev/null +++ b/src/views/KeyMediaTheme/weiboUserActiveArea/opt1.js @@ -0,0 +1,82 @@ + + +/* + * @Author: your name + * @Date: 2021-10-09 12:38:34 + * @LastEditTime: 2021-10-14 11:48:19 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/tailInsight/opt.js + */ +import * as echarts from "echarts"; +import { bigNumberTransform } from "@/utils/gol/dataTool" +export default function createOptD1(dx=[],ds=[]) { + return { + grid: { + left: 16, + right: '5%', + bottom: 10, + top: "1%", + containLabel: true + }, + tooltip: { + trigger: "axis", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + xAxis: { + type: 'value', + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + axisLabel: { + formatter: (value) => { + let str = bigNumberTransform(value); + return str; + } + }, + splitLine: { + lineStyle: { + type: "dashed", // y轴分割线类型 + color: "#012b4b", + }, + }, + }, + yAxis: { + type: 'category', + data: dx, + axisTick: { + show: false, + }, + axisLine: { + show: false, + lineStyle: { + color: "#fff", + }, + }, + inverse: true + }, + series: [ + { + type: 'bar', + barWidth: 20, + data: ds, + color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{ + offset: 0, + color: 'rgba(59,106,179,0.4)' + }, { + offset: 1, + color: '#2f68b4' + }]), + } + ] + } +} diff --git a/src/views/KeyMediaTheme/weiboUserActiveArea/opt2.js b/src/views/KeyMediaTheme/weiboUserActiveArea/opt2.js new file mode 100644 index 0000000..c961002 --- /dev/null +++ b/src/views/KeyMediaTheme/weiboUserActiveArea/opt2.js @@ -0,0 +1,94 @@ +/* + * @Author: your name + * @Date: 2021-10-14 11:53:16 + * @LastEditTime: 2021-11-04 17:17:02 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/WeiboDetails/weiboUserActiveArea/opt2.js + */ + +export default function createOptD2(dm) { + return { + tooltip: { + trigger: "item", + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;" + }, + // geo: { + // show: true, + // map: 'china', + // roam: false,//地图设置不可拖拽,固定的 + // itemStyle: { + // normal: { + // borderWidth: 0, + // shadowColor: 'rgba(0,54,255, 1)', + // shadowBlur: 100 + // } + // } + // }, + visualMap: { + type: 'continuous', + show: false, + min: 0, + max: 2000, + text: ['高', '低'], + orient: 'horizontal', + itemWidth: 15, + itemHeight: 200, + right: 0, + bottom: 30, + inRange: { + color: ['#0393d2', '#75ddff'] + }, + textStyle: { + color: 'white' + } + }, + series: [ + { + name: "微博区域", + type: "map", + mapType: "china", + roam: false, + zoom: 1,//默认地图在容器中显示zoom:1,可根据需求放大缩小地图 + left: 16, + top: 20, + right: 10, + bottom: 10, + selectedMode:'multiple', + colorBy: 'data', + itemStyle: { + areaColor: '#001f5b',//地图区域背景颜色 + borderColor: '#005cf9',//地图边界颜色 + shadowColor: '#005cf9', + emphasis: { + areaColor: '#3066ba',//鼠标滑过区域颜色 + label: { + color: '#fff' + } + } + }, + label: { + normal: { + show: false + }, + }, + + // select: { + // label: { + // show: false + // }, + // itemStyle: { + // areaColor: '#3edffe' + // } + // }, + data: dm + } + ] + } +} diff --git a/src/views/KeyMediaTheme/weiboUserActiveAreaStoken/index.vue b/src/views/KeyMediaTheme/weiboUserActiveAreaStoken/index.vue new file mode 100644 index 0000000..8ef1ae7 --- /dev/null +++ b/src/views/KeyMediaTheme/weiboUserActiveAreaStoken/index.vue @@ -0,0 +1,49 @@ + + + + + + diff --git a/src/views/KeyMediaTheme/weiboWordCloud/index.vue b/src/views/KeyMediaTheme/weiboWordCloud/index.vue new file mode 100644 index 0000000..d97a6a3 --- /dev/null +++ b/src/views/KeyMediaTheme/weiboWordCloud/index.vue @@ -0,0 +1,87 @@ + + + + + + \ No newline at end of file diff --git a/src/views/KeyMediaTheme/weiboWordCloud/opt.js b/src/views/KeyMediaTheme/weiboWordCloud/opt.js new file mode 100644 index 0000000..9fd72a6 --- /dev/null +++ b/src/views/KeyMediaTheme/weiboWordCloud/opt.js @@ -0,0 +1,215 @@ +/* + * @Author: your name + * @Date: 2021-10-09 13:35:13 + * @LastEditTime: 2021-10-14 19:14:21 + * @LastEditors: Please set LastEditors + * @Description: In User Settings Edit + * @FilePath: /data-show/src/views/Index/hotDiscussionGraph/opt.js + */ +// import * as echarts from "echarts"; +const dataBJ = [ + [1, 55, 9, 56, 0.46, 18, 6, '良'], + [2, 25, 11, 21, 0.65, 34, 9, '优'], + [3, 56, 7, 63, 0.3, 14, 5, '良'], + [4, 33, 7, 29, 0.33, 16, 6, '优'], + [5, 42, 24, 44, 0.76, 40, 16, '优'], + [6, 82, 58, 90, 1.77, 68, 33, '良'], + [7, 74, 49, 77, 1.46, 48, 27, '良'], + [8, 78, 55, 80, 1.29, 59, 29, '良'], + [9, 267, 216, 280, 4.8, 108, 64, '重度污染'], + // [10, 185, 127, 216, 2.52, 61, 27, '中度污染'], + // [11, 39, 19, 38, 0.57, 31, 15, '优'], + // [12, 41, 11, 40, 0.43, 21, 7, '优'], + // [13, 64, 38, 74, 1.04, 46, 22, '良'], + // [14, 108, 79, 120, 1.7, 75, 41, '轻度污染'], + // [15, 108, 63, 116, 1.48, 44, 26, '轻度污染'], + // [16, 33, 6, 29, 0.34, 13, 5, '优'], + // [17, 94, 66, 110, 1.54, 62, 31, '良'], + // [18, 186, 142, 192, 3.88, 93, 79, '中度污染'], + // [19, 57, 31, 54, 0.96, 32, 14, '良'], + // [20, 22, 8, 17, 0.48, 23, 10, '优'], + // [21, 39, 15, 36, 0.61, 29, 13, '优'], + // [22, 94, 69, 114, 2.08, 73, 39, '良'], + // [23, 99, 73, 110, 2.43, 76, 48, '良'], + // [24, 31, 12, 30, 0.5, 32, 16, '优'], + // [25, 42, 27, 43, 1, 53, 22, '优'], + // [26, 154, 117, 157, 3.05, 92, 58, '中度污染'], + // [27, 234, 185, 230, 4.09, 123, 69, '重度污染'], + // [28, 160, 120, 186, 2.77, 91, 50, '中度污染'], + // [29, 134, 96, 165, 2.76, 83, 41, '轻度污染'], + // [30, 52, 24, 60, 1.03, 50, 21, '良'], + // [31, 46, 5, 49, 0.28, 10, 6, '优'] + ]; + const dataGZ = [ + [1, 26, 37, 27, 1.163, 27, 13, '优'], + [2, 85, 62, 71, 1.195, 60, 8, '良'], + [3, 78, 38, 74, 1.363, 37, 7, '良'], + [4, 21, 21, 36, 0.634, 40, 9, '优'], + [5, 41, 42, 46, 0.915, 81, 13, '优'], + // [6, 56, 52, 69, 1.067, 92, 16, '良'], + // [7, 64, 30, 28, 0.924, 51, 2, '良'], + // [8, 55, 48, 74, 1.236, 75, 26, '良'], + // [9, 76, 85, 113, 1.237, 114, 27, '良'], + // [10, 91, 81, 104, 1.041, 56, 40, '良'], + // [11, 84, 39, 60, 0.964, 25, 11, '良'], + // [12, 64, 51, 101, 0.862, 58, 23, '良'], + // [13, 70, 69, 120, 1.198, 65, 36, '良'], + // [14, 77, 105, 178, 2.549, 64, 16, '良'], + // [15, 109, 68, 87, 0.996, 74, 29, '轻度污染'], + // [16, 73, 68, 97, 0.905, 51, 34, '良'], + // [17, 54, 27, 47, 0.592, 53, 12, '良'], + // [18, 51, 61, 97, 0.811, 65, 19, '良'], + // [19, 91, 71, 121, 1.374, 43, 18, '良'], + // [20, 73, 102, 182, 2.787, 44, 19, '良'], + // [21, 73, 50, 76, 0.717, 31, 20, '良'], + // [22, 84, 94, 140, 2.238, 68, 18, '良'], + // [23, 93, 77, 104, 1.165, 53, 7, '良'], + // [24, 99, 130, 227, 3.97, 55, 15, '良'], + // [25, 146, 84, 139, 1.094, 40, 17, '轻度污染'], + // [26, 113, 108, 137, 1.481, 48, 15, '轻度污染'], + // [27, 81, 48, 62, 1.619, 26, 3, '良'], + // [28, 56, 48, 68, 1.336, 37, 9, '良'], + // [29, 82, 92, 174, 3.29, 0, 13, '良'], + // [30, 106, 116, 188, 3.628, 101, 16, '轻度污染'], + // [31, 118, 50, 0, 1.383, 76, 11, '轻度污染'] + ]; + const dataSH = [ + [1, 91, 45, 125, 0.82, 34, 23, '良'], + [2, 65, 27, 78, 0.86, 45, 29, '良'], + [3, 83, 60, 84, 1.09, 73, 27, '良'], + [4, 109, 81, 121, 1.28, 68, 51, '轻度污染'], + [5, 106, 77, 114, 1.07, 55, 51, '轻度污染'], + // [6, 109, 81, 121, 1.28, 68, 51, '轻度污染'], + // [7, 106, 77, 114, 1.07, 55, 51, '轻度污染'], + // [8, 89, 65, 78, 0.86, 51, 26, '良'], + // [9, 53, 33, 47, 0.64, 50, 17, '良'], + // [10, 80, 55, 80, 1.01, 75, 24, '良'], + // [11, 117, 81, 124, 1.03, 45, 24, '轻度污染'], + // [12, 99, 71, 142, 1.1, 62, 42, '良'], + // [13, 95, 69, 130, 1.28, 74, 50, '良'], + // [14, 116, 87, 131, 1.47, 84, 40, '轻度污染'], + // [15, 108, 80, 121, 1.3, 85, 37, '轻度污染'], + // [16, 134, 83, 167, 1.16, 57, 43, '轻度污染'], + // [17, 79, 43, 107, 1.05, 59, 37, '良'], + // [18, 71, 46, 89, 0.86, 64, 25, '良'], + // [19, 97, 71, 113, 1.17, 88, 31, '良'], + // [20, 84, 57, 91, 0.85, 55, 31, '良'], + // [21, 87, 63, 101, 0.9, 56, 41, '良'], + // [22, 104, 77, 119, 1.09, 73, 48, '轻度污染'], + // [23, 87, 62, 100, 1, 72, 28, '良'], + // [24, 168, 128, 172, 1.49, 97, 56, '中度污染'], + // [25, 65, 45, 51, 0.74, 39, 17, '良'], + // [26, 39, 24, 38, 0.61, 47, 17, '优'], + // [27, 39, 24, 39, 0.59, 50, 19, '优'], + // [28, 93, 68, 96, 1.05, 79, 29, '良'], + // [29, 188, 143, 197, 1.66, 99, 51, '中度污染'], + // [30, 174, 131, 174, 1.55, 108, 50, '中度污染'], + // [31, 187, 143, 201, 1.39, 89, 53, '中度污染'] + ]; +// const schema = [ +// { name: 'date', index: 0, text: '日' }, +// { name: 'AQIindex', index: 1, text: 'AQI指数' }, +// { name: 'PM25', index: 2, text: 'PM2.5' }, +// { name: 'PM10', index: 3, text: 'PM10' }, +// { name: 'CO', index: 4, text: '一氧化碳(CO)' }, +// { name: 'NO2', index: 5, text: '二氧化氮(NO2)' }, +// { name: 'SO2', index: 6, text: '二氧化硫(SO2)' } +// ]; + const itemStyle = { + opacity: 0.8, + shadowBlur: 10, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: 'rgba(0,0,0,0.3)' + }; +export default function createOpt() { + return { + grid: { + top: "16px", + left: "16px", + right: "16px", + bottom: "16px", + containLabel: true, + }, + tooltip: { + backgroundColor: "#08182F", + color: "#fff", + borderColor: "#3373CC", + textStyle: { + color: "#fff", //设置文字颜色 + }, + extraCssText: "box-shadow: 0px 0px 10px 0px #3373CC;", + formatter: function(param) { + let value = param.value; + return `${value[value.length - 1]}
${value[0]}` + } + }, + xAxis: { + show: false, + type: 'value', + splitLine: { + lineStyle: { + type: 'dashed' + } + } + }, + yAxis: { + show: false, + type: 'value', + splitLine: { + lineStyle: { + type: 'dashed' + } + }, + scale: true + }, + series: [{ + name: '北京', + data: dataBJ, + type: 'scatter', + symbolSize: function (data) { + return data[2] + }, + label: { + show: true, + color: "#FFF", + formatter: function (param) { + return param.data[param.data.length - 1]; + }, + }, + itemStyle: itemStyle + }, { + name: '上海', + data: dataSH, + type: 'scatter', + symbolSize: function (data) { + return data[2] + }, + label: { + show: true, + color: "#FFF", + formatter: function (param) { + return param.data[param.data.length - 1]; + }, + }, + itemStyle: itemStyle + }, + { + name: '广州', + data: dataGZ, + type: 'scatter', + symbolSize: function (data) { + return data[2] + }, + label: { + show: true, + color: "#FFF", + formatter: function (param) { + return param.data[param.data.length - 1]; + }, + }, + itemStyle: itemStyle + } + ] + } +} diff --git a/src/views/KeyMediaTheme/weiboWordCloudStoken/index.vue b/src/views/KeyMediaTheme/weiboWordCloudStoken/index.vue new file mode 100644 index 0000000..66ae020 --- /dev/null +++ b/src/views/KeyMediaTheme/weiboWordCloudStoken/index.vue @@ -0,0 +1,39 @@ + + + + + + \ No newline at end of file diff --git a/src/views/SaleRank/ChineseCarSale/carBrandSale/index.vue b/src/views/SaleRank/ChineseCarSale/carBrandSale/index.vue index cb08f69..dbb2f9f 100644 --- a/src/views/SaleRank/ChineseCarSale/carBrandSale/index.vue +++ b/src/views/SaleRank/ChineseCarSale/carBrandSale/index.vue @@ -1,9 +1,15 @@