|
|
@ -12,15 +12,15 @@
|
|
|
|
<div class="BJinsannianzijinchart-right">
|
|
|
|
<div class="BJinsannianzijinchart-right">
|
|
|
|
<div class="yushuan">
|
|
|
|
<div class="yushuan">
|
|
|
|
<span>资金预算</span>
|
|
|
|
<span>资金预算</span>
|
|
|
|
<div class="number-box">60 <span class="number-unit-box">万元</span></div>
|
|
|
|
<div class="number-box">{{ obj.fundBudget }} <span class="number-unit-box">万元</span></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="yushuan">
|
|
|
|
<div class="yushuan">
|
|
|
|
<span>追加预算</span>
|
|
|
|
<span>追加预算</span>
|
|
|
|
<div class="bottom_number number-box">40 <span class="number-unit-box">万元</span></div>
|
|
|
|
<div class="bottom_number number-box">{{ obj.additionBudget }} <span class="number-unit-box">万元</span></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="echart_boxs_bottom">拨付资金 <span>80</span>万元 (执行率 <span>80</span>% )</div>
|
|
|
|
<div class="echart_boxs_bottom">拨付资金 <span>{{ obj.appropriationFund }}</span>万元 (执行率 <span>{{ obj.implementationRate }}</span>% )</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="echart_boxs echart_boxs_right">
|
|
|
|
<div class="echart_boxs echart_boxs_right">
|
|
|
|
<div class="echart_boxs_top">
|
|
|
|
<div class="echart_boxs_top">
|
|
|
@ -34,15 +34,15 @@
|
|
|
|
<div class="BJinsannianzijinchart-right">
|
|
|
|
<div class="BJinsannianzijinchart-right">
|
|
|
|
<div class="yushuan">
|
|
|
|
<div class="yushuan">
|
|
|
|
<span>资金预算</span>
|
|
|
|
<span>资金预算</span>
|
|
|
|
<div class="number-box">60 <span class="number-unit-box">万元</span></div>
|
|
|
|
<div class="number-box">{{ objTwo.fundBudget }} <span class="number-unit-box">万元</span></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="yushuan">
|
|
|
|
<div class="yushuan">
|
|
|
|
<span>追加预算</span>
|
|
|
|
<span>追加预算</span>
|
|
|
|
<div class="bottom_number number-box">40 <span class="number-unit-box">万元</span></div>
|
|
|
|
<div class="bottom_number number-box">{{ objTwo.additionBudget }} <span class="number-unit-box">万元</span></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="echart_boxs_bottom">拨付资金 <span>80</span>万元 (执行率 <span>80</span>% )</div>
|
|
|
|
<div class="echart_boxs_bottom">拨付资金 <span>{{ objTwo.appropriationFund }}</span>万元 (执行率 <span>{{ objTwo.implementationRate }}</span>% )</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
@ -50,7 +50,7 @@
|
|
|
|
<script>
|
|
|
|
<script>
|
|
|
|
import * as echarts from 'echarts'
|
|
|
|
import * as echarts from 'echarts'
|
|
|
|
// import resize from './mixins/resize'
|
|
|
|
// import resize from './mixins/resize'
|
|
|
|
|
|
|
|
import { threeYearsFund } from "@/api/jin_ji_hu/zijinbiao"
|
|
|
|
const animationDuration = 6000
|
|
|
|
const animationDuration = 6000
|
|
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
export default {
|
|
|
@ -75,7 +75,7 @@ export default {
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
chart: null,
|
|
|
|
chart: null,
|
|
|
|
chartTwo:null,
|
|
|
|
chartTwo:null,
|
|
|
|
changeFuwuyeYear: 0,
|
|
|
|
changeFuwuyeYear: currentYear,
|
|
|
|
fuwuyeYear:[
|
|
|
|
fuwuyeYear:[
|
|
|
|
{
|
|
|
|
{
|
|
|
|
year: currentYear - 1,
|
|
|
|
year: currentYear - 1,
|
|
|
@ -84,12 +84,14 @@ export default {
|
|
|
|
},{
|
|
|
|
},{
|
|
|
|
year: currentYear - 3,
|
|
|
|
year: currentYear - 3,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
]
|
|
|
|
],
|
|
|
|
|
|
|
|
obj:{},
|
|
|
|
|
|
|
|
objTwo:{}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
mounted() {
|
|
|
|
mounted() {
|
|
|
|
this.$nextTick(() => {
|
|
|
|
this.$nextTick(() => {
|
|
|
|
this.initChart()
|
|
|
|
this.initChart(this.changeFuwuyeYear)
|
|
|
|
window.addEventListener('resize', this.cancalDebounce);
|
|
|
|
window.addEventListener('resize', this.cancalDebounce);
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
},
|
|
|
@ -107,16 +109,9 @@ export default {
|
|
|
|
window.onresize = this.chart.resize();
|
|
|
|
window.onresize = this.chart.resize();
|
|
|
|
window.onresize = this.chartTwo.resize();
|
|
|
|
window.onresize = this.chartTwo.resize();
|
|
|
|
},
|
|
|
|
},
|
|
|
|
initChart() {
|
|
|
|
initChart(Year) {
|
|
|
|
this.chart = echarts.init(document.getElementById('BJinsannianzijinchart-left'))
|
|
|
|
this.chart = echarts.init(document.getElementById('BJinsannianzijinchart-left'))
|
|
|
|
this.chartTwo = echarts.init(document.getElementById('zongbuzhuanxing-box'))
|
|
|
|
this.chartTwo = echarts.init(document.getElementById('zongbuzhuanxing-box'))
|
|
|
|
var value1 = Math.random() * 100; // 生成第一个随机值
|
|
|
|
|
|
|
|
var value2 = 300 - value1; // 第二个随机值,保证总和为100
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 计算比例
|
|
|
|
|
|
|
|
var minOffset = value1 / 100; // 第一个颜色的渐变比例
|
|
|
|
|
|
|
|
var maxOffset = (value1 + value2) / 100; // 第二个颜色的渐变比例(这里总和为100,所以maxOffset等于1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let option = {
|
|
|
|
let option = {
|
|
|
|
series: [
|
|
|
|
series: [
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -179,14 +174,106 @@ export default {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
]
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
let optionTwo = {
|
|
|
|
|
|
|
|
series: [
|
|
|
|
this.chart.setOption(
|
|
|
|
{
|
|
|
|
option
|
|
|
|
type: 'gauge',
|
|
|
|
)
|
|
|
|
splitNumber: 3,
|
|
|
|
this.chartTwo.setOption(
|
|
|
|
radius: 70,
|
|
|
|
option
|
|
|
|
center: ["45%", "95%"],
|
|
|
|
)
|
|
|
|
startAngle: 180,
|
|
|
|
|
|
|
|
endAngle: 0,
|
|
|
|
|
|
|
|
min: 0,
|
|
|
|
|
|
|
|
max: 100,
|
|
|
|
|
|
|
|
pointer: {
|
|
|
|
|
|
|
|
show: true,
|
|
|
|
|
|
|
|
icon:"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAVpJREFUWEftlr1KxEAURu9NsBLRDGJh7bqbpBJx3yCJ4KJgp4WFINjaCFZaCoIvIdrZKZhEn8AtFiFZ/AHBwkbMaiGuRXIlnUqWTMbVFZkp5975vsOpBuGb58Uqj/b7l/eiMSj6MH0XWcYqAlQ1P1wWzREGeJgtDyht9QYBRlQFpwdPAlcEQhigZeu7BLiWliJQXfOaU78G8GRXJhNQ6p8LaZ15zZ2iEEIGIsc8AqKZj2UI8EYJjLPT8K4IRGGAyDEXgWg/s4Rwj/nB0s8C2MY1AIx1LEGqMbd5zAtRyMCjbWwhwGZOeIN54UTXAZ4tvRQjXnEGbzAv3ObZ5TYQOfoBEC7whAJQrEBfaci7uM3b5wKI7EoNUZ3LCNPSOyJsI9Lr17nmBitdAegUEtkGpbMkxurwWXCeV5Y15zLwZwFajnlIRPM9MyABpAFpQBqQBqQBaaDnBv7Fj+gdzkcMMPGkRt0AAAAASUVORK5CYII=",
|
|
|
|
|
|
|
|
width: 20,
|
|
|
|
|
|
|
|
length: "80%",
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
axisLine: {
|
|
|
|
|
|
|
|
show: true,
|
|
|
|
|
|
|
|
lineStyle: {
|
|
|
|
|
|
|
|
width: 10,
|
|
|
|
|
|
|
|
color: [
|
|
|
|
|
|
|
|
[0.6, '#00AEFF'], // 第一个颜色
|
|
|
|
|
|
|
|
[0.63, '#F5F8FA'],
|
|
|
|
|
|
|
|
[1, '#FFA42B '] // 第二个颜色
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
axisLabel: {
|
|
|
|
|
|
|
|
show: false,
|
|
|
|
|
|
|
|
color: "#666",
|
|
|
|
|
|
|
|
fontSize: 16,
|
|
|
|
|
|
|
|
formatter: function (value) {
|
|
|
|
|
|
|
|
return value.toFixed(0);
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
axisTick: {
|
|
|
|
|
|
|
|
show: false,
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
splitLine: {
|
|
|
|
|
|
|
|
show: false,
|
|
|
|
|
|
|
|
length: "28%",
|
|
|
|
|
|
|
|
lineStyle: {
|
|
|
|
|
|
|
|
color: "#fff",
|
|
|
|
|
|
|
|
width: 2,
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
detail: {
|
|
|
|
|
|
|
|
show: false
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
title: {
|
|
|
|
|
|
|
|
show: false
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
data: [
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
value: 61.5,
|
|
|
|
|
|
|
|
name: '决策层国际化导向'
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
threeYearsFund(Year).then(res=>{
|
|
|
|
|
|
|
|
res.data.map(item=>{
|
|
|
|
|
|
|
|
if(item.serviceType == "1") {
|
|
|
|
|
|
|
|
this.obj = item;
|
|
|
|
|
|
|
|
option.series[0].data[0].value = item.implementationRate
|
|
|
|
|
|
|
|
// 资金预算 fundBudget 追加预算 additionBudget
|
|
|
|
|
|
|
|
if(item.fundBudget <= 0) {
|
|
|
|
|
|
|
|
let color = [ [0, '#00AEFF'], [1, '#FFA42B ']] // 第二个颜色
|
|
|
|
|
|
|
|
option.series[0].axisLine.lineStyle.color = color
|
|
|
|
|
|
|
|
} else if(item.additionBudget <= 0) {
|
|
|
|
|
|
|
|
let color = [ [1, '#00AEFF'], [1, '#FFA42B ']] // 第二个颜色
|
|
|
|
|
|
|
|
option.series[0].axisLine.lineStyle.color = color
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
let count = item.fundBudget + item.additionBudget;
|
|
|
|
|
|
|
|
const percentage = (item.fundBudget / count);
|
|
|
|
|
|
|
|
let color = [ [Number(percentage.toFixed(1)), '#00AEFF'], [Number(percentage.toFixed(1)) + 0.03, '#F5F8FA'], [1, '#FFA42B ']]
|
|
|
|
|
|
|
|
option.series[0].axisLine.lineStyle.color = color;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
this.objTwo = item;
|
|
|
|
|
|
|
|
optionTwo.series[0].data[0].value = item.implementationRate
|
|
|
|
|
|
|
|
if(item.fundBudget <= 0) {
|
|
|
|
|
|
|
|
let color = [ [0, '#00AEFF'], [1, '#FFA42B ']] // 第二个颜色
|
|
|
|
|
|
|
|
optionTwo.series[0].axisLine.lineStyle.color = color
|
|
|
|
|
|
|
|
} else if(item.additionBudget <= 0) {
|
|
|
|
|
|
|
|
let color = [ [1, '#00AEFF'], [1, '#FFA42B ']] // 第二个颜色
|
|
|
|
|
|
|
|
optionTwo.series[0].axisLine.lineStyle.color = color
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
let count = item.fundBudget + item.additionBudget;
|
|
|
|
|
|
|
|
const percentage = (item.fundBudget / count);
|
|
|
|
|
|
|
|
let color = [ [Number(percentage.toFixed(1)), '#00AEFF'], [Number(percentage.toFixed(1)) + 0.03, '#F5F8FA'], [1, '#FFA42B ']]
|
|
|
|
|
|
|
|
optionTwo.series[0].axisLine.lineStyle.color = color;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
this.chart.setOption(option)
|
|
|
|
|
|
|
|
this.chartTwo.setOption(optionTwo)
|
|
|
|
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|