|
@@ -20,7 +20,7 @@
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
|
-import {onMounted, ref} from 'vue';
|
|
|
|
|
|
|
+import {nextTick, onMounted, ref} from 'vue';
|
|
|
import * as echarts from 'echarts';
|
|
import * as echarts from 'echarts';
|
|
|
import {
|
|
import {
|
|
|
getData,
|
|
getData,
|
|
@@ -39,16 +39,70 @@ const echartsRef4 = ref(null);
|
|
|
const echartsRef5 = ref(null);
|
|
const echartsRef5 = ref(null);
|
|
|
const isForbidden = ref(false);
|
|
const isForbidden = ref(false);
|
|
|
const currentYear = new Date().getFullYear();
|
|
const currentYear = new Date().getFullYear();
|
|
|
|
|
+const tblFn = (q,e)=>{
|
|
|
|
|
+ let w;
|
|
|
|
|
+ if(e){
|
|
|
|
|
+ w = (q.lastQuarterLastTotal-q.lastLastQuarterLastTotal)/q.lastLastQuarterLastTotal;
|
|
|
|
|
+ }else {
|
|
|
|
|
+ w = (q.lastQuarterCurrentTotal-q.lastQuarterLastTotal)/q.lastQuarterLastTotal;
|
|
|
|
|
+ }
|
|
|
|
|
+ let res;
|
|
|
|
|
+ if(w === Infinity){
|
|
|
|
|
+ res = q.enterpriseName;
|
|
|
|
|
+ }else {
|
|
|
|
|
+ res = q.enterpriseName+' 同比率'+((w*100).toFixed(2)+'%');
|
|
|
|
|
+ }
|
|
|
|
|
+ return res;
|
|
|
|
|
+}
|
|
|
const lastYear = currentYear - 1;
|
|
const lastYear = currentYear - 1;
|
|
|
const lastLastYear = lastYear - 1;
|
|
const lastLastYear = lastYear - 1;
|
|
|
const setChartOption1 = async (res) => {
|
|
const setChartOption1 = async (res) => {
|
|
|
if (res.code != 200) ElMessage.error(res.msg);
|
|
if (res.code != 200) ElMessage.error(res.msg);
|
|
|
- const a = res.data.filter(item => item.lastQuarterLastTotal - item.lastLastQuarterLastTotal < 0)
|
|
|
|
|
- const names = a.map(q => q.enterpriseName + ' 同比率' + (((q.lastQuarterLastTotal - q.lastLastQuarterLastTotal) / q.lastLastQuarterLastTotal) * 100).toFixed(2) + '%').reverse();
|
|
|
|
|
|
|
+ const a = res.data.filter(item => item.lastQuarterCurrentTotal - item.lastQuarterLastTotal < 0)
|
|
|
|
|
+ let names;
|
|
|
const currentYearData = a.map(q => q.lastQuarterCurrentTotal?.toFixed(0)).reverse();
|
|
const currentYearData = a.map(q => q.lastQuarterCurrentTotal?.toFixed(0)).reverse();
|
|
|
const lastYearData = a.map(q => q.lastQuarterLastTotal?.toFixed(0)).reverse();
|
|
const lastYearData = a.map(q => q.lastQuarterLastTotal?.toFixed(0)).reverse();
|
|
|
const lastLastYearData = a.map(q => q.lastLastQuarterLastTotal?.toFixed(0)).reverse();
|
|
const lastLastYearData = a.map(q => q.lastLastQuarterLastTotal?.toFixed(0)).reverse();
|
|
|
const chart = echarts.init(echartsRef.value);
|
|
const chart = echarts.init(echartsRef.value);
|
|
|
|
|
+ let legendArr;
|
|
|
|
|
+ let seriesArr;
|
|
|
|
|
+ let set = new Set(currentYearData);
|
|
|
|
|
+ set.forEach((item) => {
|
|
|
|
|
+ if (item == 0 || item == '0' || item == undefined) {
|
|
|
|
|
+ set.delete(item);
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ if(set.size === 0){
|
|
|
|
|
+ names = a.map(q=>tblFn(q,true)).reverse();
|
|
|
|
|
+ legendArr = [lastLastYear.toString(),lastYear.toString()];
|
|
|
|
|
+ seriesArr = [
|
|
|
|
|
+ {
|
|
|
|
|
+ name: lastLastYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: lastLastYearData,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: lastYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: lastYearData,
|
|
|
|
|
+ },
|
|
|
|
|
+ ];
|
|
|
|
|
+ }else {
|
|
|
|
|
+ names = a.map(q=>tblFn(q,false)).reverse();
|
|
|
|
|
+ legendArr = [lastYear.toString(),currentYear.toString()];
|
|
|
|
|
+ seriesArr = [
|
|
|
|
|
+ {
|
|
|
|
|
+ name: lastYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: lastYearData,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: currentYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: currentYearData
|
|
|
|
|
+ },
|
|
|
|
|
+ ];
|
|
|
|
|
+ }
|
|
|
chart.setOption({
|
|
chart.setOption({
|
|
|
title: {
|
|
title: {
|
|
|
text: '第一季度 共:' + names.length + '家',
|
|
text: '第一季度 共:' + names.length + '家',
|
|
@@ -60,7 +114,7 @@ const setChartOption1 = async (res) => {
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
legend: {
|
|
legend: {
|
|
|
- data: [lastLastYear.toString(),lastYear.toString(),currentYear.toString()]
|
|
|
|
|
|
|
+ data: legendArr
|
|
|
},
|
|
},
|
|
|
grid: {
|
|
grid: {
|
|
|
left: '3%',
|
|
left: '3%',
|
|
@@ -76,23 +130,7 @@ const setChartOption1 = async (res) => {
|
|
|
type: 'category',
|
|
type: 'category',
|
|
|
data: names
|
|
data: names
|
|
|
},
|
|
},
|
|
|
- series: [
|
|
|
|
|
- {
|
|
|
|
|
- name: lastLastYear.toString(),
|
|
|
|
|
- type: 'bar',
|
|
|
|
|
- data: lastLastYearData,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- name: lastYear.toString(),
|
|
|
|
|
- type: 'bar',
|
|
|
|
|
- data: lastYearData,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- name: currentYear.toString(),
|
|
|
|
|
- type: 'bar',
|
|
|
|
|
- data: currentYearData
|
|
|
|
|
- },
|
|
|
|
|
- ],
|
|
|
|
|
|
|
+ series: seriesArr,
|
|
|
color: [
|
|
color: [
|
|
|
'#fa8c89',
|
|
'#fa8c89',
|
|
|
'#6bbefa',
|
|
'#6bbefa',
|
|
@@ -111,12 +149,51 @@ const setChartOption1 = async (res) => {
|
|
|
}
|
|
}
|
|
|
const setChartOption3 = async (res) => {
|
|
const setChartOption3 = async (res) => {
|
|
|
if (res.code != 200) ElMessage.error(res.msg);
|
|
if (res.code != 200) ElMessage.error(res.msg);
|
|
|
- const a = res.data.filter(item => item.lastQuarterLastTotal - item.lastLastQuarterLastTotal < 0)
|
|
|
|
|
- const names = a.map(q => q.enterpriseName + ' 同比率' + (((q.lastQuarterLastTotal - q.lastLastQuarterLastTotal) / q.lastLastQuarterLastTotal) * 100).toFixed(2) + '%').reverse();
|
|
|
|
|
|
|
+ const a = res.data.filter(item => item.lastQuarterCurrentTotal - item.lastQuarterLastTotal < 0)
|
|
|
|
|
+ let names;
|
|
|
const currentYearData = a.map(q => q.lastQuarterCurrentTotal?.toFixed(0)).reverse();
|
|
const currentYearData = a.map(q => q.lastQuarterCurrentTotal?.toFixed(0)).reverse();
|
|
|
const lastYearData = a.map(q => q.lastQuarterLastTotal?.toFixed(0)).reverse();
|
|
const lastYearData = a.map(q => q.lastQuarterLastTotal?.toFixed(0)).reverse();
|
|
|
const lastLastYearData = a.map(q => q.lastLastQuarterLastTotal?.toFixed(0)).reverse();
|
|
const lastLastYearData = a.map(q => q.lastLastQuarterLastTotal?.toFixed(0)).reverse();
|
|
|
const chart = echarts.init(echartsRef3.value);
|
|
const chart = echarts.init(echartsRef3.value);
|
|
|
|
|
+ let legendArr;
|
|
|
|
|
+ let seriesArr;
|
|
|
|
|
+ let set = new Set(currentYearData);
|
|
|
|
|
+ set.forEach((item) => {
|
|
|
|
|
+ if (item == 0 || item == '0' || item == undefined) {
|
|
|
|
|
+ set.delete(item);
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ if(set.size === 0){
|
|
|
|
|
+ names = a.map(q=>tblFn(q,true)).reverse();
|
|
|
|
|
+ legendArr = [lastLastYear.toString(),lastYear.toString()];
|
|
|
|
|
+ seriesArr = [
|
|
|
|
|
+ {
|
|
|
|
|
+ name: lastLastYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: lastLastYearData,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: lastYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: lastYearData,
|
|
|
|
|
+ },
|
|
|
|
|
+ ];
|
|
|
|
|
+ }else {
|
|
|
|
|
+ names = a.map(q=>tblFn(q,false)).reverse();
|
|
|
|
|
+ legendArr = [lastYear.toString(),currentYear.toString()];
|
|
|
|
|
+ seriesArr = [
|
|
|
|
|
+ {
|
|
|
|
|
+ name: lastYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: lastYearData,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: currentYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: currentYearData
|
|
|
|
|
+ },
|
|
|
|
|
+ ];
|
|
|
|
|
+ }
|
|
|
chart.setOption({
|
|
chart.setOption({
|
|
|
title: {
|
|
title: {
|
|
|
text: '第二季度 共:' + names.length + '家',
|
|
text: '第二季度 共:' + names.length + '家',
|
|
@@ -128,7 +205,7 @@ const setChartOption3 = async (res) => {
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
legend: {
|
|
legend: {
|
|
|
- data: [lastLastYear.toString(),lastYear.toString(),currentYear.toString()]
|
|
|
|
|
|
|
+ data: legendArr
|
|
|
},
|
|
},
|
|
|
grid: {
|
|
grid: {
|
|
|
left: '3%',
|
|
left: '3%',
|
|
@@ -144,23 +221,7 @@ const setChartOption3 = async (res) => {
|
|
|
type: 'category',
|
|
type: 'category',
|
|
|
data: names
|
|
data: names
|
|
|
},
|
|
},
|
|
|
- series: [
|
|
|
|
|
- {
|
|
|
|
|
- name: lastLastYear.toString(),
|
|
|
|
|
- type: 'bar',
|
|
|
|
|
- data: lastLastYearData,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- name: lastYear.toString(),
|
|
|
|
|
- type: 'bar',
|
|
|
|
|
- data: lastYearData,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- name: currentYear.toString(),
|
|
|
|
|
- type: 'bar',
|
|
|
|
|
- data: currentYearData
|
|
|
|
|
- },
|
|
|
|
|
- ],
|
|
|
|
|
|
|
+ series: seriesArr,
|
|
|
color: [
|
|
color: [
|
|
|
'#fa8c89',
|
|
'#fa8c89',
|
|
|
'#6bbefa',
|
|
'#6bbefa',
|
|
@@ -179,12 +240,51 @@ const setChartOption3 = async (res) => {
|
|
|
}
|
|
}
|
|
|
const setChartOption4 = async (res) => {
|
|
const setChartOption4 = async (res) => {
|
|
|
if (res.code != 200) ElMessage.error(res.msg);
|
|
if (res.code != 200) ElMessage.error(res.msg);
|
|
|
- const a = res.data.filter(item => item.lastQuarterLastTotal - item.lastLastQuarterLastTotal < 0)
|
|
|
|
|
- const names = a.map(q => q.enterpriseName + ' 同比率' + (((q.lastQuarterLastTotal - q.lastLastQuarterLastTotal) / q.lastLastQuarterLastTotal) * 100).toFixed(2) + '%').reverse();
|
|
|
|
|
|
|
+ const a = res.data.filter(item => item.lastQuarterCurrentTotal - item.lastQuarterLastTotal < 0)
|
|
|
|
|
+ let names;
|
|
|
const currentYearData = a.map(q => q.lastQuarterCurrentTotal?.toFixed(0)).reverse();
|
|
const currentYearData = a.map(q => q.lastQuarterCurrentTotal?.toFixed(0)).reverse();
|
|
|
const lastYearData = a.map(q => q.lastQuarterLastTotal?.toFixed(0)).reverse();
|
|
const lastYearData = a.map(q => q.lastQuarterLastTotal?.toFixed(0)).reverse();
|
|
|
const lastLastYearData = a.map(q => q.lastLastQuarterLastTotal?.toFixed(0)).reverse();
|
|
const lastLastYearData = a.map(q => q.lastLastQuarterLastTotal?.toFixed(0)).reverse();
|
|
|
const chart = echarts.init(echartsRef4.value);
|
|
const chart = echarts.init(echartsRef4.value);
|
|
|
|
|
+ let legendArr;
|
|
|
|
|
+ let seriesArr;
|
|
|
|
|
+ let set = new Set(currentYearData);
|
|
|
|
|
+ set.forEach((item) => {
|
|
|
|
|
+ if (item == 0 || item == '0' || item == undefined) {
|
|
|
|
|
+ set.delete(item);
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ if(set.size === 0){
|
|
|
|
|
+ names = a.map(q=>tblFn(q,true)).reverse();
|
|
|
|
|
+ legendArr = [lastLastYear.toString(),lastYear.toString()];
|
|
|
|
|
+ seriesArr = [
|
|
|
|
|
+ {
|
|
|
|
|
+ name: lastLastYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: lastLastYearData,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: lastYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: lastYearData,
|
|
|
|
|
+ },
|
|
|
|
|
+ ];
|
|
|
|
|
+ }else {
|
|
|
|
|
+ names = a.map(q=>tblFn(q,false)).reverse();
|
|
|
|
|
+ legendArr = [lastYear.toString(),currentYear.toString()];
|
|
|
|
|
+ seriesArr = [
|
|
|
|
|
+ {
|
|
|
|
|
+ name: lastYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: lastYearData,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: currentYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: currentYearData
|
|
|
|
|
+ },
|
|
|
|
|
+ ];
|
|
|
|
|
+ }
|
|
|
chart.setOption({
|
|
chart.setOption({
|
|
|
title: {
|
|
title: {
|
|
|
text: '第三季度 共:' + names.length + '家',
|
|
text: '第三季度 共:' + names.length + '家',
|
|
@@ -196,7 +296,7 @@ const setChartOption4 = async (res) => {
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
legend: {
|
|
legend: {
|
|
|
- data: [lastLastYear.toString(),lastYear.toString(),currentYear.toString()]
|
|
|
|
|
|
|
+ data: legendArr
|
|
|
},
|
|
},
|
|
|
grid: {
|
|
grid: {
|
|
|
left: '3%',
|
|
left: '3%',
|
|
@@ -212,23 +312,7 @@ const setChartOption4 = async (res) => {
|
|
|
type: 'category',
|
|
type: 'category',
|
|
|
data: names
|
|
data: names
|
|
|
},
|
|
},
|
|
|
- series: [
|
|
|
|
|
- {
|
|
|
|
|
- name: lastLastYear.toString(),
|
|
|
|
|
- type: 'bar',
|
|
|
|
|
- data: lastLastYearData,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- name: lastYear.toString(),
|
|
|
|
|
- type: 'bar',
|
|
|
|
|
- data: lastYearData,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- name: currentYear.toString(),
|
|
|
|
|
- type: 'bar',
|
|
|
|
|
- data: currentYearData
|
|
|
|
|
- },
|
|
|
|
|
- ],
|
|
|
|
|
|
|
+ series: seriesArr,
|
|
|
color: [
|
|
color: [
|
|
|
'#fa8c89',
|
|
'#fa8c89',
|
|
|
'#6bbefa',
|
|
'#6bbefa',
|
|
@@ -245,17 +329,58 @@ const setChartOption4 = async (res) => {
|
|
|
}]
|
|
}]
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+const isShowCurrentYear = ref(false);
|
|
|
|
|
+
|
|
|
const setChartOption5 = async (res) => {
|
|
const setChartOption5 = async (res) => {
|
|
|
if (res.code != 200) ElMessage.error(res.msg);
|
|
if (res.code != 200) ElMessage.error(res.msg);
|
|
|
- const a = res.data.filter(item => item.lastQuarterLastTotal - item.lastLastQuarterLastTotal < 0)
|
|
|
|
|
- const names = a.map(q => q.enterpriseName + ' 同比率' + (((q.lastQuarterLastTotal - q.lastLastQuarterLastTotal) / q.lastLastQuarterLastTotal) * 100).toFixed(2) + '%').reverse();
|
|
|
|
|
|
|
+ const a = res.data.filter(item => item.lastQuarterCurrentTotal - item.lastQuarterLastTotal < 0)
|
|
|
|
|
+ let names;
|
|
|
const currentYearData = a.map(q => q.lastQuarterCurrentTotal?.toFixed(0)).reverse();
|
|
const currentYearData = a.map(q => q.lastQuarterCurrentTotal?.toFixed(0)).reverse();
|
|
|
- // if(currentYearData[0] == null || currentYearData == undefined || currentYearData[0] == 0){
|
|
|
|
|
- // isForbidden.value = true;
|
|
|
|
|
- // }
|
|
|
|
|
const lastYearData = a.map(q => q.lastQuarterLastTotal?.toFixed(0)).reverse();
|
|
const lastYearData = a.map(q => q.lastQuarterLastTotal?.toFixed(0)).reverse();
|
|
|
const lastLastYearData = a.map(q => q.lastLastQuarterLastTotal?.toFixed(0)).reverse();
|
|
const lastLastYearData = a.map(q => q.lastLastQuarterLastTotal?.toFixed(0)).reverse();
|
|
|
const chart = echarts.init(echartsRef5.value);
|
|
const chart = echarts.init(echartsRef5.value);
|
|
|
|
|
+ let legendArr;
|
|
|
|
|
+ let seriesArr;
|
|
|
|
|
+ let set = new Set(currentYearData);
|
|
|
|
|
+ set.forEach((item) => {
|
|
|
|
|
+ if (item == 0 || item == '0' || item == undefined) {
|
|
|
|
|
+ set.delete(item);
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ if(set.size === 0){
|
|
|
|
|
+ names = a.map(q=>tblFn(q,true)).reverse();
|
|
|
|
|
+ isShowCurrentYear.value = false;
|
|
|
|
|
+ legendArr = [lastLastYear.toString(),lastYear.toString()];
|
|
|
|
|
+ seriesArr = [
|
|
|
|
|
+ {
|
|
|
|
|
+ name: lastLastYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: lastLastYearData,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: lastYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: lastYearData,
|
|
|
|
|
+ },
|
|
|
|
|
+ ];
|
|
|
|
|
+ }else {
|
|
|
|
|
+ names = a.map(q=>tblFn(q,false)).reverse();
|
|
|
|
|
+ isShowCurrentYear.value = true;
|
|
|
|
|
+ legendArr = [lastYear.toString(),currentYear.toString()];
|
|
|
|
|
+ seriesArr = [
|
|
|
|
|
+ {
|
|
|
|
|
+ name: lastYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: lastYearData,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: currentYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: currentYearData
|
|
|
|
|
+ },
|
|
|
|
|
+ ];
|
|
|
|
|
+ }
|
|
|
chart.setOption({
|
|
chart.setOption({
|
|
|
title: {
|
|
title: {
|
|
|
text: '第四季度 共:' + names.length + '家',
|
|
text: '第四季度 共:' + names.length + '家',
|
|
@@ -267,7 +392,7 @@ const setChartOption5 = async (res) => {
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
legend: {
|
|
legend: {
|
|
|
- data: [lastLastYear.toString(),lastYear.toString(),currentYear.toString()]
|
|
|
|
|
|
|
+ data: legendArr
|
|
|
},
|
|
},
|
|
|
grid: {
|
|
grid: {
|
|
|
left: '3%',
|
|
left: '3%',
|
|
@@ -283,23 +408,7 @@ const setChartOption5 = async (res) => {
|
|
|
type: 'category',
|
|
type: 'category',
|
|
|
data: names
|
|
data: names
|
|
|
},
|
|
},
|
|
|
- series: [
|
|
|
|
|
- {
|
|
|
|
|
- name: lastLastYear.toString(),
|
|
|
|
|
- type: 'bar',
|
|
|
|
|
- data: lastLastYearData,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- name: lastYear.toString(),
|
|
|
|
|
- type: 'bar',
|
|
|
|
|
- data: lastYearData,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- name: currentYear.toString(),
|
|
|
|
|
- type: 'bar',
|
|
|
|
|
- data: currentYearData
|
|
|
|
|
- },
|
|
|
|
|
- ],
|
|
|
|
|
|
|
+ series: seriesArr,
|
|
|
color: [
|
|
color: [
|
|
|
'#fa8c89',
|
|
'#fa8c89',
|
|
|
'#6bbefa',
|
|
'#6bbefa',
|
|
@@ -318,12 +427,43 @@ const setChartOption5 = async (res) => {
|
|
|
}
|
|
}
|
|
|
const setChartOption2 = async (res) => {
|
|
const setChartOption2 = async (res) => {
|
|
|
if (res.code != 200) ElMessage.error(res.msg);
|
|
if (res.code != 200) ElMessage.error(res.msg);
|
|
|
- const a = res.data.filter(item => item.lastYearTotal - item.lastLastYearTotal < 0)
|
|
|
|
|
- const names = a.map(q => q.enterpriseName + " 同比率" + (((q.lastYearTotal - q.lastLastYearTotal) / q.lastLastYearTotal) * 100).toFixed(2) + "%").reverse();
|
|
|
|
|
|
|
+ const a = res.data.filter(item => item.currentYearTotal - item.lastYearTotal < 0)
|
|
|
|
|
+ const names = a.map(q => q.enterpriseName + " 同比率" + (((q.currentYearTotal - q.lastYearTotal) / q.lastYearTotal) * 100).toFixed(2) + "%").reverse();
|
|
|
const currentYearTotalData = a.map(q => q.currentYearTotal?.toFixed(0)).reverse();
|
|
const currentYearTotalData = a.map(q => q.currentYearTotal?.toFixed(0)).reverse();
|
|
|
const lastYearTotalData = a.map(q => q.lastYearTotal?.toFixed(0)).reverse();
|
|
const lastYearTotalData = a.map(q => q.lastYearTotal?.toFixed(0)).reverse();
|
|
|
const lastLastYearTotalData = a.map(q => q.lastLastYearTotal?.toFixed(0)).reverse();
|
|
const lastLastYearTotalData = a.map(q => q.lastLastYearTotal?.toFixed(0)).reverse();
|
|
|
const chart = echarts.init(echartsRef2.value);
|
|
const chart = echarts.init(echartsRef2.value);
|
|
|
|
|
+ let legendArr;
|
|
|
|
|
+ let seriesArr;
|
|
|
|
|
+ if(!isShowCurrentYear.value){
|
|
|
|
|
+ legendArr = [lastLastYear.toString(),lastYear.toString()];
|
|
|
|
|
+ seriesArr = [
|
|
|
|
|
+ {
|
|
|
|
|
+ name: lastLastYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: lastLastYearTotalData,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: lastYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: lastYearTotalData,
|
|
|
|
|
+ },
|
|
|
|
|
+ ];
|
|
|
|
|
+ }else {
|
|
|
|
|
+ legendArr = [lastYear.toString(),currentYear.toString()];
|
|
|
|
|
+ seriesArr = [
|
|
|
|
|
+ {
|
|
|
|
|
+ name: lastYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: lastYearTotalData,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: currentYear.toString(),
|
|
|
|
|
+ type: 'bar',
|
|
|
|
|
+ data: currentYearTotalData
|
|
|
|
|
+ },
|
|
|
|
|
+ ];
|
|
|
|
|
+ }
|
|
|
chart.setOption({
|
|
chart.setOption({
|
|
|
title: {
|
|
title: {
|
|
|
text: '税收减数企业一共:' + names.length + '家',
|
|
text: '税收减数企业一共:' + names.length + '家',
|
|
@@ -348,7 +488,7 @@ const setChartOption2 = async (res) => {
|
|
|
'#c4ccd3'
|
|
'#c4ccd3'
|
|
|
],
|
|
],
|
|
|
legend: {
|
|
legend: {
|
|
|
- data: [lastLastYear.toString(),lastYear.toString(),currentYear.toString()]
|
|
|
|
|
|
|
+ data: legendArr
|
|
|
},
|
|
},
|
|
|
grid: {
|
|
grid: {
|
|
|
left: '3%',
|
|
left: '3%',
|
|
@@ -364,23 +504,7 @@ const setChartOption2 = async (res) => {
|
|
|
type: 'category',
|
|
type: 'category',
|
|
|
data: names
|
|
data: names
|
|
|
},
|
|
},
|
|
|
- series: [
|
|
|
|
|
- {
|
|
|
|
|
- name: lastLastYear.toString(),
|
|
|
|
|
- type: 'bar',
|
|
|
|
|
- data: lastLastYearTotalData
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- name: lastYear.toString(),
|
|
|
|
|
- type: 'bar',
|
|
|
|
|
- data: lastYearTotalData
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- name: currentYear.toString(),
|
|
|
|
|
- type: 'bar',
|
|
|
|
|
- data: currentYearTotalData
|
|
|
|
|
- },
|
|
|
|
|
- ],
|
|
|
|
|
|
|
+ series: seriesArr,
|
|
|
dataZoom: [{ // 这是一个 dataZoom 组件,可以控制 x 轴或 y 轴的区域缩放
|
|
dataZoom: [{ // 这是一个 dataZoom 组件,可以控制 x 轴或 y 轴的区域缩放
|
|
|
type: 'inside', // 这里设置为 slider 类型,表示使用滑动条形式的 dataZoom 组件
|
|
type: 'inside', // 这里设置为 slider 类型,表示使用滑动条形式的 dataZoom 组件
|
|
|
yAxisIndex: 0, // 表示这个 dataZoom 组件控制第一个 y 轴
|
|
yAxisIndex: 0, // 表示这个 dataZoom 组件控制第一个 y 轴
|
|
@@ -403,7 +527,9 @@ const init = async () => {
|
|
|
const quarterRes4 = await getLastQuarterYoY2(4);
|
|
const quarterRes4 = await getLastQuarterYoY2(4);
|
|
|
const yearRes = await getYearTotalData2();
|
|
const yearRes = await getYearTotalData2();
|
|
|
setChartOption1(quarterRes1);
|
|
setChartOption1(quarterRes1);
|
|
|
- setChartOption2(yearRes);
|
|
|
|
|
|
|
+ nextTick(()=>{
|
|
|
|
|
+ setChartOption2(yearRes);
|
|
|
|
|
+ })
|
|
|
setChartOption3(quarterRes2);
|
|
setChartOption3(quarterRes2);
|
|
|
setChartOption4(quarterRes3);
|
|
setChartOption4(quarterRes3);
|
|
|
setChartOption5(quarterRes4);
|
|
setChartOption5(quarterRes4);
|