|
|
@@ -109,7 +109,7 @@ let app = new Vue({
|
|
|
value: "66",
|
|
|
},
|
|
|
{
|
|
|
- label: "工商变更登记",
|
|
|
+ label: "变更登记",
|
|
|
value: "77",
|
|
|
},
|
|
|
],
|
|
|
@@ -360,24 +360,24 @@ let app = new Vue({
|
|
|
"汾酒集团",
|
|
|
],
|
|
|
y1: [
|
|
|
- 100, 45, 67, 110, 108, 34, 100, 45, 67, 110, 108, 34, 100, 45, 67,
|
|
|
+ 100, 45, 67, 110, 108, 120, 110, 45, 67, 110, 108, 34, 100, 45, 67,
|
|
|
110, 108, 34,
|
|
|
],
|
|
|
y2: [
|
|
|
- 100, 45, 67, 110, 108, 34, 100, 45, 67, 110, 108, 34, 100, 45, 67,
|
|
|
- 110, 108, 34,
|
|
|
+ 120, 50, 67, 130, 56, 233, 100, 78, 98, 100, 120, 78, 120, 90, 56,
|
|
|
+ 120, 110, 78,
|
|
|
],
|
|
|
y3: [
|
|
|
- 100, 45, 67, 110, 108, 34, 100, 45, 67, 110, 108, 34, 100, 45, 67,
|
|
|
- 110, 108, 34,
|
|
|
+ 130, 76, 67, 120, 89, 111, 87, 123, 56, 65, 45, 98, 230, 78, 99, 130,
|
|
|
+ 56, 98,
|
|
|
],
|
|
|
y4: [
|
|
|
- 100, 45, 67, 110, 108, 34, 100, 45, 67, 110, 108, 34, 100, 45, 67,
|
|
|
- 110, 108, 34,
|
|
|
+ 90, 100, 67, 90, 110, 120, 34, 231, 34, 78, 78, 100, 110, 120, 67, 89,
|
|
|
+ 78, 110,
|
|
|
],
|
|
|
y5: [
|
|
|
- 100, 45, 67, 110, 108, 34, 100, 45, 67, 110, 108, 34, 100, 45, 67,
|
|
|
- 110, 108, 34,
|
|
|
+ 110, 110, 67, 110, 120, 95, 78, 45, 120, 110, 98, 233, 100, 45, 67,
|
|
|
+ 98, 98, 34,
|
|
|
],
|
|
|
},
|
|
|
};
|
|
|
@@ -478,6 +478,24 @@ let app = new Vue({
|
|
|
],
|
|
|
];
|
|
|
let that = this;
|
|
|
+ let sumA = 42;
|
|
|
+ // 所有在100范围外的全部变成0,其他值相应增加/减少sumA
|
|
|
+ right5.forEach((item) => {
|
|
|
+ item.forEach((item2) => {
|
|
|
+ if (Number(item2[1]) < 0) {
|
|
|
+ item2[1] = that.$set(item2, 1, Number(that.numSub(item2[1], sumA)));
|
|
|
+ } else if (Number(item2[1]) > 0) {
|
|
|
+ item2[1] = that.$set(item2, 1, Number(item2[1]) + sumA);
|
|
|
+ }
|
|
|
+ if (Number(item2[1]) < -100 - sumA) {
|
|
|
+ item2[1] = that.$set(item2, 1, 0);
|
|
|
+ item2[1] = that.$set(item2, 2, 0);
|
|
|
+ } else if (Number(item2[1]) > 100 + sumA) {
|
|
|
+ item2[1] = that.$set(item2, 1, 0);
|
|
|
+ item2[1] = that.$set(item2, 2, 0);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
const itemStyle = {
|
|
|
// opacity: 0.8,
|
|
|
shadowBlur: 10,
|
|
|
@@ -485,8 +503,8 @@ let app = new Vue({
|
|
|
shadowOffsetY: 0,
|
|
|
shadowColor: "rgba(0,0,0,0.3)",
|
|
|
};
|
|
|
- let myChart = echarts.init(this.$refs["echartR1"]);
|
|
|
- myChart.on("showTip", (params) => {
|
|
|
+ let echartR1d1 = echarts.init(this.$refs["echartR1"]);
|
|
|
+ echartR1d1.on("showTip", (params) => {
|
|
|
// 如果是7或者15并且满足防抖则切换
|
|
|
if (
|
|
|
(params.dataIndex == 5 || params.dataIndex == 11) &&
|
|
|
@@ -496,7 +514,7 @@ let app = new Vue({
|
|
|
setTimeout(() => {
|
|
|
option.dataZoom[0].endValue = option.dataZoom[0].endValue + 6;
|
|
|
option.dataZoom[0].startValue = option.dataZoom[0].startValue + 6;
|
|
|
- myChart.setOption(option);
|
|
|
+ echartR1d1.setOption(option);
|
|
|
// 防止勿刷新做的防抖
|
|
|
setTimeout(() => {
|
|
|
that.echartR2Fd = true;
|
|
|
@@ -508,7 +526,7 @@ let app = new Vue({
|
|
|
setTimeout(() => {
|
|
|
option.dataZoom[0].endValue = 0;
|
|
|
option.dataZoom[0].startValue = 5;
|
|
|
- myChart.setOption(option);
|
|
|
+ echartR1d1.setOption(option);
|
|
|
// 防止勿刷新做的防抖
|
|
|
setTimeout(() => {
|
|
|
that.echartR2Fd = true;
|
|
|
@@ -562,21 +580,36 @@ let app = new Vue({
|
|
|
textStyle: {
|
|
|
color: "#fff",
|
|
|
},
|
|
|
- // tooltip: {
|
|
|
- // show: true,
|
|
|
- // trigger: "axis",
|
|
|
- // textStyle: {
|
|
|
- // color: "#FFF", // 文字的颜色
|
|
|
- // fontSize: "20", // 文字字体大小
|
|
|
- // fontFamily: "Microsoft YaHei",
|
|
|
- // },
|
|
|
- // formatter: (data) => {
|
|
|
- // return `${data[0].value[0]}<br /><span style="display:inline-block;border-radius:50%; width:14px;height:14px;background-color:${data[0].color}"></span> ${data[0].seriesName}:${data[0].data[1]}亿<br /><span style="display:inline-block;border-radius:50%; width:7px;height:7px;background-color:${data[1].color}"></span> ${data[1].seriesName}:${data[1].data[1]}亿<br /><span style="display:inline-block;border-radius:50%; width:7px;height:7px;background-color:${data[2].color}"></span> ${data[2].seriesName}:${data[2].data[1]}亿`;
|
|
|
- // },
|
|
|
- // axisPointer: {
|
|
|
- // // // type: 'cross',',
|
|
|
- // },
|
|
|
- // },
|
|
|
+ tooltip: {
|
|
|
+ show: true,
|
|
|
+ trigger: "axis",
|
|
|
+ backgroundColor: "rgba(50,50,50,0.7)", // 提示框浮层的背景颜色
|
|
|
+ textStyle: {
|
|
|
+ color: "#FFF", // 文字的颜色
|
|
|
+ fontSize: "20", // 文字字体大小
|
|
|
+ fontFamily: "Microsoft YaHei",
|
|
|
+ },
|
|
|
+ formatter: (data) => {
|
|
|
+ return `${
|
|
|
+ data[0].value[0]
|
|
|
+ }<br /><span style="display:inline-block;border-radius:50%; width:7px;height:7px;background-color:${
|
|
|
+ data[0].color
|
|
|
+ }"></span> ${data[0].seriesName}:${that.numFormat(
|
|
|
+ data[0].data[2]
|
|
|
+ )}亿<br /><span style="display:inline-block;border-radius:50%; width:7px;height:7px;background-color:${
|
|
|
+ data[1].color
|
|
|
+ }"></span> ${data[1].seriesName}:${that.numFormat(
|
|
|
+ data[1].data[2]
|
|
|
+ )}亿<br /><span style="display:inline-block;border-radius:50%; width:7px;height:7px;background-color:${
|
|
|
+ data[2].color
|
|
|
+ }"></span> ${data[2].seriesName}:${that.numFormat(
|
|
|
+ data[2].data[2]
|
|
|
+ )}亿`;
|
|
|
+ },
|
|
|
+ axisPointer: {
|
|
|
+ // // type: 'cross',',
|
|
|
+ },
|
|
|
+ },
|
|
|
grid: {
|
|
|
top: "10%",
|
|
|
right: "4%",
|
|
|
@@ -584,9 +617,12 @@ let app = new Vue({
|
|
|
bottom: "5%",
|
|
|
},
|
|
|
yAxis: {
|
|
|
- name: "亿元",
|
|
|
+ min: -101 - sumA,
|
|
|
+ max: 101 + sumA,
|
|
|
+ maxInterval: 1,
|
|
|
splitLine: {
|
|
|
- show: true,
|
|
|
+ show: false,
|
|
|
+ // interval:,
|
|
|
lineStyle: {
|
|
|
color: "#68b4dd66",
|
|
|
type: "dashed",
|
|
|
@@ -595,9 +631,23 @@ let app = new Vue({
|
|
|
axisLine: {
|
|
|
show: false,
|
|
|
},
|
|
|
+ axisTick: {
|
|
|
+ show: false,
|
|
|
+ },
|
|
|
axisLabel: {
|
|
|
show: true,
|
|
|
- formatter: "{value}",
|
|
|
+ // formatter: '{value}',
|
|
|
+ formatter(data) {
|
|
|
+ if (data == 100 + sumA) {
|
|
|
+ return "100%";
|
|
|
+ } else if (data == -100 - sumA) {
|
|
|
+ return "-100%";
|
|
|
+ } else if (data == -5 - sumA) {
|
|
|
+ return "-5%";
|
|
|
+ } else if (data == 5 + sumA) {
|
|
|
+ return "5%";
|
|
|
+ }
|
|
|
+ },
|
|
|
textStyle: {
|
|
|
color: "#fff",
|
|
|
fontSize: "20",
|
|
|
@@ -611,9 +661,9 @@ let app = new Vue({
|
|
|
},
|
|
|
},
|
|
|
xAxis: {
|
|
|
- data: right5[0].map((item) => item[0]),
|
|
|
+ data: commonCompany,
|
|
|
axisLine: {
|
|
|
- show: true, //隐藏X轴轴线
|
|
|
+ show: false, //隐藏X轴轴线
|
|
|
lineStyle: {
|
|
|
color: "#005094",
|
|
|
width: 1,
|
|
|
@@ -627,7 +677,7 @@ let app = new Vue({
|
|
|
},
|
|
|
},
|
|
|
axisTick: {
|
|
|
- show: false, //隐藏X轴刻度
|
|
|
+ show: true, //隐藏X轴刻度
|
|
|
},
|
|
|
axisLabel: {
|
|
|
show: true,
|
|
|
@@ -647,7 +697,77 @@ let app = new Vue({
|
|
|
itemStyle: itemStyle,
|
|
|
data: right5[0],
|
|
|
symbolSize: function (data) {
|
|
|
- return Math.sqrt(data[1]) * 9;
|
|
|
+ if ((data[2] > 0 && data[2] < 50) || data[2] == 50) {
|
|
|
+ return 40;
|
|
|
+ } else if ((data[2] > 50 && data[2] < 100) || data[2] == 100) {
|
|
|
+ return 70;
|
|
|
+ } else if (data[2] > 100) {
|
|
|
+ return 100;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ markLine: {
|
|
|
+ symbol: "none",
|
|
|
+ data: [
|
|
|
+ {
|
|
|
+ name: "100%",
|
|
|
+ yAxis: 100 + sumA,
|
|
|
+ lineStyle: {
|
|
|
+ // color: '#fff',
|
|
|
+ },
|
|
|
+ label: {
|
|
|
+ show: false,
|
|
|
+ formatter: "{b}",
|
|
|
+ position: "right",
|
|
|
+ color: "#fff",
|
|
|
+ fontSize: 20,
|
|
|
+ label: {
|
|
|
+ show: false,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "5%",
|
|
|
+ yAxis: 5 + sumA,
|
|
|
+ lineStyle: {
|
|
|
+ // color: '#fff',
|
|
|
+ },
|
|
|
+ label: {
|
|
|
+ show: false,
|
|
|
+ formatter: "{b}",
|
|
|
+ position: "right",
|
|
|
+ color: "#fff",
|
|
|
+ fontSize: 20,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "-5%",
|
|
|
+ yAxis: -5 - sumA,
|
|
|
+ lineStyle: {
|
|
|
+ // color: '#fff',
|
|
|
+ },
|
|
|
+ label: {
|
|
|
+ show: false,
|
|
|
+ formatter: "{b}",
|
|
|
+ position: "right",
|
|
|
+ color: "#fff",
|
|
|
+ fontSize: 20,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "100%",
|
|
|
+ yAxis: -100 - sumA,
|
|
|
+ lineStyle: {
|
|
|
+ // color: '#fff',
|
|
|
+ },
|
|
|
+ label: {
|
|
|
+ show: false,
|
|
|
+ formatter: "{b}",
|
|
|
+ position: "right",
|
|
|
+ color: "#fff",
|
|
|
+ fontSize: 20,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
},
|
|
|
{
|
|
|
@@ -656,7 +776,13 @@ let app = new Vue({
|
|
|
itemStyle: itemStyle,
|
|
|
data: right5[1],
|
|
|
symbolSize: function (data) {
|
|
|
- return Math.sqrt(data[1]) * 8;
|
|
|
+ if ((data[1] > 0 && data[1] < 50) || data[1] == 50) {
|
|
|
+ return 40;
|
|
|
+ } else if ((data[1] > 50 && data[1] < 100) || data[1] == 100) {
|
|
|
+ return 70;
|
|
|
+ } else if (data[1] > 100) {
|
|
|
+ return 100;
|
|
|
+ }
|
|
|
},
|
|
|
},
|
|
|
{
|
|
|
@@ -665,17 +791,23 @@ let app = new Vue({
|
|
|
itemStyle: itemStyle,
|
|
|
data: right5[2],
|
|
|
symbolSize: function (data) {
|
|
|
- return Math.sqrt(data[1]) * 7;
|
|
|
+ if ((data[1] > 0 && data[1] < 50) || data[1] == 50) {
|
|
|
+ return 40;
|
|
|
+ } else if ((data[1] > 50 && data[1] < 100) || data[1] == 100) {
|
|
|
+ return 70;
|
|
|
+ } else if (data[1] > 100) {
|
|
|
+ return 100;
|
|
|
+ }
|
|
|
},
|
|
|
},
|
|
|
],
|
|
|
};
|
|
|
- myChart.on("click", function (param) {
|
|
|
+ echartR1d1.on("click", function (param) {
|
|
|
// that.showChartLTipDouble(param.name)
|
|
|
that.projectListTipShow = true;
|
|
|
});
|
|
|
- myChart.setOption(option);
|
|
|
- tools.loopShowTooltip(myChart, option, {
|
|
|
+ echartR1d1.setOption(option);
|
|
|
+ tools.loopShowTooltip(echartR1d1, option, {
|
|
|
interval: 2000,
|
|
|
loopSeries: true,
|
|
|
});
|
|
|
@@ -844,8 +976,9 @@ let app = new Vue({
|
|
|
type: "category",
|
|
|
data: that.riskData.x.map((item) => item.name),
|
|
|
axisLine: {
|
|
|
+ show: true,
|
|
|
lineStyle: {
|
|
|
- color: "#005094",
|
|
|
+ color: "rgba(0, 80, 148, .8)",
|
|
|
},
|
|
|
},
|
|
|
axisTick: {
|
|
|
@@ -866,7 +999,9 @@ let app = new Vue({
|
|
|
fontSize: 22,
|
|
|
},
|
|
|
splitLine: {
|
|
|
+ show: true,
|
|
|
lineStyle: {
|
|
|
+ color: "rgba(104, 180, 221, .2)",
|
|
|
type: "dashed",
|
|
|
},
|
|
|
},
|
|
|
@@ -1357,7 +1492,7 @@ let app = new Vue({
|
|
|
this.timer = setInterval(() => {
|
|
|
this.inner++;
|
|
|
this.topIndex++;
|
|
|
- this.topIndex = this.topIndex % this.meansList.length;
|
|
|
+ this.topIndex = this.topIndex % 8;
|
|
|
this.witchs = this.inner % this.investData.investList.length;
|
|
|
this.innerDeg = this.inner * angle;
|
|
|
}, 2000);
|