Commit c56948d5 authored by danfuman's avatar danfuman

修改

parent 609878a7
...@@ -85,6 +85,14 @@ export function regional(param) { ...@@ -85,6 +85,14 @@ export function regional(param) {
data: param data: param
}) })
} }
//地区经济-获取当前位置
export function location(param) {
return request({
url: '/economic/location',
method: 'POST',
data: param
})
}
//地区经济-主要指标列表 //地区经济-主要指标列表
export function regionalList(param) { export function regionalList(param) {
return request({ return request({
...@@ -94,5 +102,79 @@ export function regionalList(param) { ...@@ -94,5 +102,79 @@ export function regionalList(param) {
}) })
} }
//产业结构-按年份选择 各个项目类型项目总数
export function bidGroupCountByProjectType(param) {
return request({
url: '/marketAnalysis/bidGroupCountByProjectType',
method: 'POST',
data: param
})
}
//产业结构-近两年各个项目类型项目总数及金额占比
export function bidMoneyGroupByProjectType(param) {
return request({
url: '/marketAnalysis/bidMoneyGroupByProjectType',
method: 'POST',
data: param
})
}
//对比经济
export function regionalCompare(param) {
return request({
url: '/economic/regional/compare',
method: 'POST',
data: param
})
}
//区域专项债-项目类别统计
export function statistics(param) {
return request({
url: '/specialPurposeBonds/bond/statistics',
method: 'POST',
data: param
})
}
//区域专项债-专项债项目分页列表
export function projectsPage(param) {
return request({
url: '/specialPurposeBonds/projects/page',
method: 'POST',
data: param
})
}
//区域专项债-专项债项目详情
export function details(param) {
return request({
url: '/specialPurposeBonds/details',
method: 'POST',
data: param
})
}
//区域专项债-专项债项目详情-专项债分页列表
export function bondPage(param) {
return request({
url: '/specialPurposeBonds/bond/page',
method: 'POST',
data: param
})
}
//区域企业
export function enterprise(param) {
return request({
url: '/enterprise/page',
method: 'POST',
data: param
})
}
...@@ -116,7 +116,7 @@ export const constantRoutes = [ ...@@ -116,7 +116,7 @@ export const constantRoutes = [
] ]
}, },
{ {
path: '/financing', path: '/financingDetails',
component: Layout, component: Layout,
hidden: true, hidden: true,
redirect: 'noredirect', redirect: 'noredirect',
...@@ -227,9 +227,9 @@ export const constantRoutes = [ ...@@ -227,9 +227,9 @@ export const constantRoutes = [
} }
] ]
}, },
] ]
// 动态路由,基于用户权限动态去加载 // 动态路由,基于用户权限动态去加载
......
...@@ -83,6 +83,7 @@ ...@@ -83,6 +83,7 @@
<el-table <el-table
:data="getValues" :data="getValues"
:show-header="false" :show-header="false"
:cell-style="rowStyle"
border border
> >
<el-table-column <el-table-column
...@@ -100,7 +101,7 @@ ...@@ -100,7 +101,7 @@
<script> <script>
import dataRegion from '@/assets/json/dataRegion' import dataRegion from '@/assets/json/dataRegion'
import { nationalPage,getYears } from '@/api/macro/macro' import { regionalCompare,getYears } from '@/api/macro/macro'
export default { export default {
name: 'comparison', name: 'comparison',
props:{ props:{
...@@ -112,18 +113,8 @@ export default { ...@@ -112,18 +113,8 @@ export default {
year: '', year: '',
}, },
yearOptions: [], yearOptions: [],
tableData: [ tableData: [{},{},{},{},{}],
{index:0},
{index:1},
{index:2},
{index:3},
{index:4},
],
headers: [ headers: [
{
prop: 'year',
label: '指标',
},
{ {
prop: 'name', prop: 'name',
label: '经济', label: '经济',
...@@ -190,7 +181,7 @@ export default { ...@@ -190,7 +181,7 @@ export default {
}, },
{ {
prop: 'gbrGrowth', prop: 'gbrGrowth',
label: '般公共预算收入增速', label: '一般公共预算收入增速(%)',
}, },
{ {
prop: 'taxIncome', prop: 'taxIncome',
...@@ -254,23 +245,23 @@ export default { ...@@ -254,23 +245,23 @@ export default {
}, },
{ {
prop: 'fiscalSelfSufficiencyRate', prop: 'fiscalSelfSufficiencyRate',
label: '财政自给率', label: '财政自给率(%)',
}, },
{ {
prop: 'govDebtToGdpRate', prop: 'govDebtToGdpRate',
label: '负债率', label: '负债率(%)',
}, },
{ {
prop: 'govDebtToGdpRateWild', prop: 'govDebtToGdpRateWild',
label: '负债率-宽口径', label: '负债率(宽口径)(%)',
}, },
{ {
prop: 'govDebtRate', prop: 'govDebtRate',
label: '债务率', label: '债务率(%)',
}, },
{ {
prop: 'govDebtRateWild', prop: 'govDebtRateWild',
label: '债务率-宽口径', label: '债务率(宽口径)(%)',
}, },
], ],
props: { props: {
...@@ -293,6 +284,7 @@ export default { ...@@ -293,6 +284,7 @@ export default {
value3Flag:false, value3Flag:false,
value4Flag:false, value4Flag:false,
value5Flag:false, value5Flag:false,
regionData:[]
} }
}, },
created() { created() {
...@@ -314,10 +306,13 @@ export default { ...@@ -314,10 +306,13 @@ export default {
} }
}, },
methods: { methods: {
getData(params){ getData(params,index){
nationalPage(params).then(res => { if(this.dataQuery.id){
console.log(res.data) params.id=this.dataQuery.id
// this.tableData = res.data.list }
regionalCompare(params).then(res => {
this.tableData.splice(index-1,1,res.data)
this.$forceUpdate();
}) })
}, },
//地区 //地区
...@@ -392,7 +387,22 @@ export default { ...@@ -392,7 +387,22 @@ export default {
this.value5Flag=true this.value5Flag=true
break; break;
} }
const params = { pageNum: this.pageIndex, pageSize: this.pageSize, year: this.queryParams.year,type:3 }
let code=[];
for (var i in this.regionData) {
code=this.regionData[i].path
}
if(code.length >= 1){
params.provinceId=code[0]
}
if(code.length >= 2){
params.cityId=code[1]
}
if(code.length >= 3){
params.areaId=code[2]
}
this.getData(params,index)
} }
}, },
handleChange(index) { handleChange(index) {
...@@ -435,29 +445,42 @@ export default { ...@@ -435,29 +445,42 @@ export default {
} }
} }
const params = { pageNum: this.pageIndex, pageSize: this.pageSize, year: this.queryParams.year,type:3 } this.regionData=arr;
let provinceCode = [],cityCode = [],countyCode = [];
for (var i in arr) { // const params = { pageNum: this.pageIndex, pageSize: this.pageSize, year: this.queryParams.year,type:3 }
if (arr[i].parent) { // let provinceCode = [],cityCode = [],countyCode = [];
if (!arr[i].parent.checked) { // let code=[];
arr[i].hasChildren && cityCode.push(arr[i].value); // for (var i in arr) {
!arr[i].hasChildren && countyCode.push(arr[i].value); // code=arr[i].path
} // if (arr[i].parent) {
} else { // if (!arr[i].parent.checked) {
provinceCode.push(arr[i].value) // arr[i].hasChildren && cityCode.push(arr[i].value);
} // !arr[i].hasChildren && countyCode.push(arr[i].value);
} // }
if(provinceCode.length > 0){ // } else {
params.provinceIds=provinceCode // provinceCode.push(arr[i].value)
} // }
if(cityCode.length > 0){ // }
params.cityIds=cityCode // if(provinceCode.length > 0){
} // params.provinceIds=provinceCode
if(countyCode.length > 0){ // }
params.areaIds=countyCode // if(cityCode.length > 0){
} // params.cityIds=cityCode
// }
// if(countyCode.length > 0){
// params.areaIds=countyCode
// }
// if(code.length >= 1){
// params.provinceId=code[0]
// }
// if(code.length >= 2){
// params.cityId=code[1]
// }
// if(code.length >= 3){
// params.areaId=code[2]
// }
this.getData(params) // this.getData(params)
}, },
handleDelete(index){ handleDelete(index){
...@@ -479,6 +502,22 @@ export default { ...@@ -479,6 +502,22 @@ export default {
break; break;
} }
}, },
formatStatus: function(row, column, cellValue) {
if(row.title === '经济'||row.title === '财政'||row.title === '债务'){
return cellValue
}else {
return cellValue? cellValue : '-'
}
},
rowStyle(row){
if (row.row.title === '经济'||row.row.title === '财政'||row.row.title === '债务'){
return {
// background: '#FAF5EB',
color:'#232323',
fontWeight: 'bold'
}
}
}
} }
} }
</script> </script>
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<span class="common-title">主要指标</span> <span class="common-title">主要指标</span>
<el-form ref="queryForm" :model="queryParams" :inline="true" size="small"> <el-form ref="queryForm" :model="queryParams" :inline="true" size="small">
<el-form-item prop="year"> <el-form-item prop="year">
<el-select v-model="queryParams.year" filterable class="form-content-width" placeholder="请选择年度"> <el-select v-model="queryParams.year" filterable class="form-content-width" placeholder="请选择年度" @change="getGroupCount">
<el-option v-for="(item, index) in yearOptions" :key="index" :label="item.year" :value="item.year" /> <el-option v-for="(item, index) in yearOptions" :key="index" :label="item.year" :value="item.year" />
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -29,16 +29,16 @@ ...@@ -29,16 +29,16 @@
highlight-current-row highlight-current-row
> >
<el-table-column label="序号" width="60" align="left"> <el-table-column label="序号" width="60" align="left">
<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template> <template slot-scope="scope">{{ scope.$index + 1 }}</template>
</el-table-column> </el-table-column>
<el-table-column label="产业类型" prop="type"></el-table-column> <el-table-column label="产业类型" prop="projectType"></el-table-column>
<el-table-column label="2022年"> <el-table-column :label="oneYear">
<el-table-column prop="je" label="金额(亿元)"> </el-table-column> <el-table-column prop="money" label="金额(亿元)"> </el-table-column>
<el-table-column prop="zb" label="占比" sortable> </el-table-column> <el-table-column prop="rate" label="占比"> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column label="2021年"> <el-table-column :label="twoYear">
<el-table-column prop="province" label="金额(亿元)" sortable> </el-table-column> <el-table-column prop="lastMoney" label="金额(亿元)"> </el-table-column>
<el-table-column prop="province" label="占比" sortable > </el-table-column> <el-table-column prop="lastRate" label="占比" > </el-table-column>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
...@@ -48,11 +48,14 @@ ...@@ -48,11 +48,14 @@
<script> <script>
import * as echarts from 'echarts'; import * as echarts from 'echarts';
import { nationalPage,getYears } from '@/api/macro/macro' import { bidGroupCountByProjectType,bidMoneyGroupByProjectType,getYears } from '@/api/macro/macro'
export default { export default {
name: 'industrialStructure', name: 'industrialStructure',
props:{ props:{
dataQuery:{} dataQuery: {
type: Object,
default: {}
},
}, },
data() { data() {
return { return {
...@@ -61,46 +64,11 @@ export default { ...@@ -61,46 +64,11 @@ export default {
address: '' address: ''
}, },
yearOptions: [], yearOptions: [],
tableData:[ tableData:[],
{
type:'房建工程',
je:'29,175.61',
zb:'26%'
},
{
type:'市政工程',
je:'29,175.61',
zb:'26%'
},
{
type:'公路工程',
je:'29,175.61',
zb:'26%'
},
{
type:'机电工程',
je:'29,175.61',
zb:'26%'
},
],
tableLoading: false, tableLoading: false,
pageIndex: 1, data:[],
pageSize: 10, oneYear:'',
tableDataTotal: 0, twoYear:'',
data:[
{
name: '房建工程',
value: 11
},
{
name: '市政工程',
value: 22
},
{
name: '公路工程',
value: 33
}
]
} }
}, },
created() { created() {
...@@ -108,14 +76,60 @@ export default { ...@@ -108,14 +76,60 @@ export default {
this.yearOptions=res.data.reverse(); this.yearOptions=res.data.reverse();
this.queryParams.year = this.yearOptions[0].year; this.queryParams.year = this.yearOptions[0].year;
}) })
this.getData()
this.getGroupCount()
this.$nextTick(()=>{ this.$nextTick(()=>{
this.initChart()
}) })
}, },
methods: { methods: {
handleClick() { getData(){
let mydate=new Date();
var startTime, endTime, Year
Year = mydate.getFullYear();
startTime=mydate.getFullYear()-2+'-01-01';
endTime=mydate.getFullYear()-1+'-12-31';
this.oneYear=mydate.getFullYear()-1+'年';
this.twoYear=mydate.getFullYear()-2+'年';
let params={startDate:startTime,endDate:endTime,province:this.dataQuery.provinceId}
bidMoneyGroupByProjectType(params).then(res => {
let list=res.data[1].type
for (let i=0; i<res.data[0].type.length; i++){
for (let j=0; j<list.length; j++){
if(res.data[0].type[i].projectType === list[j].projectType){
list[j].lastMoney=res.data[0].type[i].money;
list[j].lastRate=res.data[0].type[i].rate;
}
}
}
this.tableData=list.reverse()
})
},
getGroupCount(){
let mydate=new Date();
let startTime=''
let endTime=''
if(!this.queryParams.year){
startTime=mydate.getFullYear()-1+'-01-01';
endTime=mydate.getFullYear()-1+'-12-31';
}else {
startTime=this.queryParams.year+'-01-01';
endTime=this.queryParams.year+'-12-31';
}
bidGroupCountByProjectType({startDate:startTime,endDate:endTime}).then(res => {
let list=[]
for(let i=0; i<res.data.length; i++){
let item={};
item.name=res.data[i].type
item.value=res.data[i].count
list.push(item);
}
this.data=list;
this.initChart()
})
}, },
initChart() { initChart() {
let myChart = echarts.init(document.getElementById("echarts")) let myChart = echarts.init(document.getElementById("echarts"))
let option ={ let option ={
...@@ -134,7 +148,7 @@ export default { ...@@ -134,7 +148,7 @@ export default {
}, },
//鼠标悬停时显示的样式 //鼠标悬停时显示的样式
tooltip: { tooltip: {
extraCssText:'width:100px!important;', extraCssText:'width:120px!important;',
formatter: function (params){ formatter: function (params){
var result = '' var result = ''
result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.name +'</p>' result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.name +'</p>'
...@@ -157,7 +171,8 @@ export default { ...@@ -157,7 +171,8 @@ export default {
] ]
} }
myChart.setOption(option); myChart.setOption(option);
} },
} }
} }
</script> </script>
......
...@@ -52,7 +52,10 @@ ...@@ -52,7 +52,10 @@
export default { export default {
name: 'localEconomy', name: 'localEconomy',
props:{ props:{
dataQuery:{} dataQuery: {
type: Object,
default: {}
},
}, },
data() { data() {
return { return {
......
...@@ -4,45 +4,71 @@ ...@@ -4,45 +4,71 @@
<div class="common-title">经济数据</div> <div class="common-title">经济数据</div>
<div class="content-box"> <div class="content-box">
<div class="item"> <div class="item">
<div class="item-title"><i style="background: #4E8EFF;"></i>2022年GDP</div> <div class="item-title"><i style="background: #4E8EFF;"></i>{{recentlyYear.year}}年GDP</div>
<div class="item-count"><span>29,129.03 </span>亿<img src="@/assets/images/economies/icon_up.png"></div> <div class="item-count">
<span>{{recentlyYear.gdp}}</span>亿
<img v-if="recentlyYear.gdpGrowth > 0" src="@/assets/images/economies/icon_up.png">
<img v-else src="@/assets/images/economies/icon_down.png">
</div>
<div id="echartsGDP" style="height: 75px;"></div> <div id="echartsGDP" style="height: 75px;"></div>
<div class="item-text up">较2021年上升<span>26.7%</span></div> <div class="item-text up" v-if="recentlyYear.gdpGrowth > 0">{{nextYearMap.year}}年上升<span>{{recentlyYear.gdpGrowth}}%</span></div>
<div class="item-text down" v-else>{{nextYearMap.year}}年下降<span>{{Number(recentlyYear.gdpGrowth).toString().substring(1)}}%</span></div>
</div> </div>
<div class="item"> <div class="item">
<div class="item-title"><i style="background: #718AFF;"></i>2022年GDP增速</div> <div class="item-title"><i style="background: #718AFF;"></i>{{recentlyYear.year}}年GDP增速</div>
<div class="item-count"><span>29,129.03 </span>亿<img src="@/assets/images/economies/icon_down.png"></div> <div class="item-count">
<span>{{recentlyYear.gdpGrowth}}</span>%
<img v-if="(recentlyYear.gdpGrowth-nextYearMap.gdpGrowth) > 0" src="@/assets/images/economies/icon_up.png">
<img v-else src="@/assets/images/economies/icon_down.png">
</div>
<div id="echartsZS" style="height: 75px;"></div> <div id="echartsZS" style="height: 75px;"></div>
<div class="item-text down">较2021年下降<span>26.7%</span></div> <div class="item-text up" v-if="(recentlyYear.gdpGrowth-nextYearMap.gdpGrowth) > 0">{{nextYearMap.year}}年上升<span>{{recentlyYear.gdpGrowth-nextYearMap.gdpGrowth}}%</span></div>
<div class="item-text down" v-else>{{nextYearMap.year}}年下降<span>{{(this.recentlyYear.gdpGrowth-this.nextYearMap.gdpGrowth).toFixed(2).toString().substring(1)}}%</span></div>
</div> </div>
<div class="item"> <div class="item">
<div class="item-title"><i style="background: #3AD0D1;"></i>2022年人口</div> <div class="item-title"><i style="background: #3AD0D1;"></i>{{recentlyYear.year}}年人口</div>
<div class="item-count"><span>29,129.03 </span>亿<img src="@/assets/images/economies/icon_down.png"></div> <div class="item-count">
<span>{{recentlyYear.population}}</span>
<img v-if="recentlyYear.populationGrowthRate > 0" src="@/assets/images/economies/icon_up.png">
<img v-else src="@/assets/images/economies/icon_down.png">
</div>
<div id="echartsRK" style="height: 75px;"></div> <div id="echartsRK" style="height: 75px;"></div>
<div class="item-text down">较2021年下降<span>26.7%</span></div> <div class="item-text up" v-if="recentlyYear.populationGrowthRate > 0">{{nextYearMap.year}}年上升<span>{{recentlyYear.populationGrowthRate}}%</span></div>
<div class="item-text down" v-else>{{nextYearMap.year}}年下降<span>{{recentlyYear.populationGrowthRate}}%</span></div>
</div> </div>
<div class="item"> <div class="item">
<div class="item-title"><i style="background: #FFBE5D;"></i>2022年一般公共预算收入</div> <div class="item-title"><i style="background: #FFBE5D;"></i>{{recentlyYear.year}}年一般公共预算收入</div>
<div class="item-count"><span>29,129.03 </span>亿<img src="@/assets/images/economies/icon_up.png"></div> <div class="item-count">
<span>{{recentlyYear.gbr}}</span>亿
<img v-if="recentlyYear.gbrGrowth > 0" src="@/assets/images/economies/icon_up.png">
<img v-else src="@/assets/images/economies/icon_down.png">
</div>
<div id="echartsSR" style="height: 75px;"></div> <div id="echartsSR" style="height: 75px;"></div>
<div class="item-text up">较2021年上升<span>26.7%</span></div> <div class="item-text up" v-if="recentlyYear.gbrGrowth > 0">{{nextYearMap.year}}年上升<span>{{recentlyYear.gbrGrowth}}%</span></div>
<div class="item-text down" v-else>{{nextYearMap.year}}年下降<span>{{Number(recentlyYear.gbrGrowth).toString().substring(1)}}%</span></div>
</div> </div>
<div class="item"> <div class="item">
<div class="item-title"><i style="background: #FF8935;"></i>2000年地方政府债务余额</div> <div class="item-title"><i style="background: #FF8935;"></i>{{recentlyYear.year}}年地方政府债务余额</div>
<div class="item-count"><span>29,129.03 </span>亿<img src="@/assets/images/economies/icon_up.png"></div> <div class="item-count">
<span>{{recentlyYear.govDebtBalance}}</span>亿
<img v-if="recentlyYear.govDebtBalance > nextYearMap.govDebtBalance" src="@/assets/images/economies/icon_up.png">
<img v-else src="@/assets/images/economies/icon_down.png">
</div>
<div id="echartsYE" style="height: 75px;"></div> <div id="echartsYE" style="height: 75px;"></div>
<div class="item-text up">较2021年上升<span>26.7%</span></div> <div class="item-text up" v-if="recentlyYear.govDebtBalance > nextYearMap.govDebtBalance">
{{nextYearMap.year}}年上升<span>{{((recentlyYear.govDebtBalance - nextYearMap.govDebtBalance)/nextYearMap.govDebtBalance*100).toFixed(2)}}%</span></div>
<div class="item-text down" v-else>{{nextYearMap.year}}年下降<span>{{((recentlyYear.govDebtBalance - nextYearMap.govDebtBalance)/nextYearMap.govDebtBalance*100).toFixed(2).toString().substring(1)}}%</span></div>
</div> </div>
</div> </div>
</div> </div>
<div class="content content2"> <div class="content content2">
<div class="common-title">经济信息</div> <div class="common-title">经济信息</div>
<div class="content-box"> <div class="content-box">
<span><img src="@/assets/images/economies/icon_1.png">下属辖区 <label>38</label><i></i></span> <span><img src="@/assets/images/economies/icon_1.png">下属辖区 <label>{{recentlyYear.subordinateJurisdiction}}<i></i></label></span>
<span><img src="@/assets/images/economies/icon_2.png">地方债余额 <label>10,567.32</label><i>亿</i></span> <span><img src="@/assets/images/economies/icon_2.png">城投平台 <label>{{recentlyYear.urbanInvestmentPlatform}}<i>亿</i></label></span>
<span><img src="@/assets/images/economies/icon_3.png">专项债项目 <label>10</label><i></i></span> <span><img src="@/assets/images/economies/icon_3.png">城投平台授信余额 <label>{{recentlyYear.creditBalance}}<i></i></label></span>
<span><img src="@/assets/images/economies/icon_4.png">城投平台 <label>17</label><i></i></span> <span><img src="@/assets/images/economies/icon_4.png">城投平台营收账款 <label>{{recentlyYear.accountsReceivable}}<i></i></label></span>
<span><img src="@/assets/images/economies/icon_5.png">城投平台有息债务 <label>17,710.19</label><i>亿</i></span> <span><img src="@/assets/images/economies/icon_5.png">城投平台有息债务 <label>{{recentlyYear.uipInterestBearingDebt}}<i>亿</i></label></span>
</div> </div>
</div> </div>
<div class="content content3"> <div class="content content3">
...@@ -77,15 +103,17 @@ ...@@ -77,15 +103,17 @@
<script> <script>
import * as echarts from 'echarts'; import * as echarts from 'echarts';
import { regional,regionalList } from '@/api/macro/macro' import { regional,regionalList,location } from '@/api/macro/macro'
export default { export default {
name: 'regionalEconomy', name: 'regionalEconomy',
props:{ props:{
dataQuery:{} dataQuery: {
type: Object,
default: {}
},
}, },
data() { data() {
return { return {
activeName: 'first',
tableData: [], tableData: [],
headers: [ headers: [
{ {
...@@ -158,7 +186,7 @@ export default { ...@@ -158,7 +186,7 @@ export default {
}, },
{ {
prop: 'gbrGrowth', prop: 'gbrGrowth',
label: '般公共预算收入增速', label: '一般公共预算收入增速(%)',
}, },
{ {
prop: 'taxIncome', prop: 'taxIncome',
...@@ -222,23 +250,23 @@ export default { ...@@ -222,23 +250,23 @@ export default {
}, },
{ {
prop: 'fiscalSelfSufficiencyRate', prop: 'fiscalSelfSufficiencyRate',
label: '财政自给率', label: '财政自给率(%)',
}, },
{ {
prop: 'govDebtToGdpRate', prop: 'govDebtToGdpRate',
label: '负债率', label: '负债率(%)',
}, },
{ {
prop: 'govDebtToGdpRateWild', prop: 'govDebtToGdpRateWild',
label: '负债率-宽口径', label: '负债率(宽口径)(%)',
}, },
{ {
prop: 'govDebtRate', prop: 'govDebtRate',
label: '债务率', label: '债务率(%)',
}, },
{ {
prop: 'govDebtRateWild', prop: 'govDebtRateWild',
label: '债务率-宽口径', label: '债务率(宽口径)(%)',
}, },
], ],
tableLoading: false, tableLoading: false,
...@@ -246,18 +274,19 @@ export default { ...@@ -246,18 +274,19 @@ export default {
pageSize: 10, pageSize: 10,
tableDataTotal: 0, tableDataTotal: 0,
labelData:[2021,2022], labelData:[2021,2022],
valData:[23201,35201] valData:[],
valData1:[],
valData2:[],
valData3:[],
valData4:[],
recentlyYear:{},
nextYearMap:{},
} }
}, },
created() { created() {
console.log(this.dataQuery)
this.getData() this.getData()
this.$nextTick(()=>{ this.$nextTick(()=>{
this.initChart()
this.initChart1()
this.initChart2()
this.initChart3()
this.initChart4()
}) })
}, },
computed: { computed: {
...@@ -280,7 +309,18 @@ export default { ...@@ -280,7 +309,18 @@ export default {
params.provinceId=this.dataQuery.provinceId params.provinceId=this.dataQuery.provinceId
} }
regional(params).then(res => { regional(params).then(res => {
console.log(res.data) this.recentlyYear=res.data[0].recentlyYear;
this.nextYearMap=res.data[0].nextYearMap;
this.valData=[this.nextYearMap.gdp,this.recentlyYear.gdp]
this.valData1=[this.nextYearMap.gdpGrowth,this.recentlyYear.gdpGrowth]
this.valData2=[this.nextYearMap.population,this.recentlyYear.population]
this.valData3=[this.nextYearMap.gbr,this.recentlyYear.gbr]
this.valData4=[this.nextYearMap.govDebtBalance,this.recentlyYear.govDebtBalance]
this.initChart()
this.initChart1()
this.initChart2()
this.initChart3()
this.initChart4()
}) })
regionalList(params).then(res => { regionalList(params).then(res => {
this.tableData=res.data; this.tableData=res.data;
...@@ -369,7 +409,7 @@ export default { ...@@ -369,7 +409,7 @@ export default {
}, },
series: [ series: [
{ {
data: this.valData, data: this.valData1,
type: 'line', type: 'line',
smooth: true, smooth: true,
emphasis: { emphasis: {
...@@ -428,7 +468,7 @@ export default { ...@@ -428,7 +468,7 @@ export default {
}, },
series: [ series: [
{ {
data: this.valData, data: this.valData2,
type: 'line', type: 'line',
smooth: true, smooth: true,
emphasis: { emphasis: {
...@@ -487,7 +527,7 @@ export default { ...@@ -487,7 +527,7 @@ export default {
}, },
series: [ series: [
{ {
data: this.valData, data: this.valData3,
type: 'line', type: 'line',
smooth: true, smooth: true,
emphasis: { emphasis: {
...@@ -546,7 +586,7 @@ export default { ...@@ -546,7 +586,7 @@ export default {
}, },
series: [ series: [
{ {
data: this.valData, data: this.valData4,
type: 'line', type: 'line',
smooth: true, smooth: true,
emphasis: { emphasis: {
...@@ -671,6 +711,8 @@ export default { ...@@ -671,6 +711,8 @@ export default {
color: rgba(35,35,35,0.8); color: rgba(35,35,35,0.8);
font-size: 12px; font-size: 12px;
padding-left: 16px; padding-left: 16px;
width: 20%;
line-height: 26px;
img{ img{
width: 12px; width: 12px;
height: 12px; height: 12px;
...@@ -682,12 +724,15 @@ export default { ...@@ -682,12 +724,15 @@ export default {
color: #232323; color: #232323;
font-size: 20px; font-size: 20px;
margin-left: 12px; margin-left: 12px;
float: right;
} }
i{ i{
color: #232323; color: #232323;
margin-right: 16px; margin-right: 16px;
font-style: normal; font-style: normal;
margin-left: 4px; margin-left: 4px;
font-weight: 400;
font-size: 12px;
} }
} }
span:last-child{ span:last-child{
......
...@@ -7,12 +7,12 @@ ...@@ -7,12 +7,12 @@
<el-tab-pane label="产业结构" name="third"></el-tab-pane> <el-tab-pane label="产业结构" name="third"></el-tab-pane>
<el-tab-pane label="地区经济对比" name="four"></el-tab-pane> <el-tab-pane label="地区经济对比" name="four"></el-tab-pane>
</el-tabs> </el-tabs>
<div class="location"><i class="el-icon-location"></i>重庆市</div> <div class="location"><i class="el-icon-location"></i>{{province}}</div>
</div> </div>
<RegionalEconomy v-if="activeName === 'first'" :dataQuery="dataQuery"></RegionalEconomy> <RegionalEconomy v-if="activeName === 'first' && province" :dataQuery="dataQuery"></RegionalEconomy>
<LocalEconomy v-if="activeName === 'second'" :dataQuery="dataQuery"></LocalEconomy> <LocalEconomy v-if="activeName === 'second' && province" :dataQuery="dataQuery"></LocalEconomy>
<IndustrialStructure v-if="activeName === 'third'" :dataQuery="dataQuery"></IndustrialStructure> <IndustrialStructure v-if="activeName === 'third' && province" :dataQuery="dataQuery"></IndustrialStructure>
<Comparison v-if="activeName === 'four'" :dataQuery="dataQuery"></Comparison> <Comparison v-if="activeName === 'four' && province" :dataQuery="dataQuery"></Comparison>
</div> </div>
</template> </template>
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
import LocalEconomy from './component/localEconomy' import LocalEconomy from './component/localEconomy'
import Comparison from './component/comparison' import Comparison from './component/comparison'
import IndustrialStructure from './component/industrialStructure' import IndustrialStructure from './component/industrialStructure'
import { location } from '@/api/macro/macro'
export default { export default {
name: 'Economies', name: 'Economies',
components: { components: {
...@@ -31,12 +32,20 @@ export default { ...@@ -31,12 +32,20 @@ export default {
}, },
data() { data() {
return { return {
activeName: 'third', activeName: 'four',
dataQuery:{} dataQuery:{},
province:''
} }
}, },
created() { created() {
this.dataQuery=this.$route.query this.dataQuery=this.$route.query;
location({provinceId:'500000'}).then(res => {
this.province=res.data.currentProvince.regionName;
this.provinceId=res.data.currentProvince.id;
if(!this.dataQuery.provinceId){
this.dataQuery.provinceId=this.provinceId
}
})
// let name = sessionStorage.getItem('currentTab') // let name = sessionStorage.getItem('currentTab')
// if (name != "undefined" && name){ // if (name != "undefined" && name){
// this.activeName = name; // this.activeName = name;
......
<template>
<div class="localEnterprises">
<div class="content">
<div class="search">
<el-cascader
ref="address"
:options="aptitudeCodeList"
:props="props"
v-model="queryParams.codeStr"
placeholder="资质资格"
collapse-tags
clearable></el-cascader>
<el-input placeholder="输入企业名称关键词" v-model="queryParams.key">
<el-button slot="append">搜索</el-button>
</el-input>
<span class="total">{{tableDataTotal}}</span>
</div>
<div class="table-item">
<el-table
v-loading="tableLoading"
:data="tableData"
element-loading-text="Loading"
border
fit
highlight-current-row
>
<el-table-column label="序号" width="50" align="left" fixed>
<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template>
</el-table-column>
<el-table-column label="公司名称" align="left" width="300">
<template slot-scope="scope">
<router-link to="" tag="a" class="a-link">{{ scope.row.name}}</router-link>
</template>
</el-table-column>
<el-table-column label="注册地区" prop="address" width="80"/>
<el-table-column label="资质资格" prop="aptitudeCountNew" sortable width="120" align="right" />
<el-table-column label="专业人员" prop="persionCount" sortable width="130" align="right" />
<el-table-column label="中标业绩" prop="recentlyCount" sortable width="130" align="right" />
<el-table-column label="最大中标金额(万元)" prop="cgfs" sortable width="160" align="right" />
<el-table-column label="中标总金额(万元)" prop="cgfs" sortable width="160" align="right" />
<el-table-column label="四库业绩" prop="skyCount" sortable width="130" align="right" />
<el-table-column label="公路业绩" prop="cgfs" sortable width="130" align="right" />
<el-table-column label="水利业绩" prop="cgfs" sortable width="130" align="right" />
<el-table-column label="常合作业主" prop="cgfs" width="280" align="right" />
<el-table-column label="客户(个)" prop="customerCount" sortable width="130" align="right" />
<el-table-column label="供应商(个)" prop="supplierCount" sortable width="130" align="right" />
<el-table-column label="常合作供应商" prop="cgfs" width="280" align="right" />
</el-table>
</div>
<div class="pagination-box">
<el-pagination background :current-page="pageIndex" :page-size="pageSize" :total="tableDataTotal" layout="prev, pager, next, jumper" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
</div>
</div>
</div>
</template>
<script>
import * as echarts from 'echarts';
import aptitudeCode from '@/assets/json/aptitudeCode'
import { countGroupByMonth,countGroupByProvince,getYear } from '@/api/macro/macro'
export default {
name: 'localEnterprises',
data() {
return {
queryParams:{
key:'',
codeStr:''
},
props: {
value: 'id',
multiple: true,
// checkStrictly:true,
label:'name',
children:'list',
expandTrigger:'hover'
},
tableData: [
{
dataId:'1',
cgrssqy:'100',
cgfs:'200',
address:'江北区',
name:'重庆市江北区国有资本投资运营管理集团有限公司'
}
],
tableLoading: false,
pageIndex: 1,
pageSize: 10,
tableDataTotal: 1,
aptitudeCodeList:[],
}
},
created() {
this.aptitudeCode()
this.querySubmit()
},
methods: {
//资质Json
async aptitudeCode() {
// await axios.post("https://files.jiansheku.com/file/json/common/aptitudeCode.json", {}, {
// headers: {
// 'Content-Type': 'application/json'
// }
// }).then(res => {
// if (res.data.code == 200) {
// console.log(res.data.data)
// }
// })
this.aptitudeCodeList=aptitudeCode
},
async querySubmit(){
const params = { pageNum: this.pageIndex, pageSize: this.pageSize}
if(this.queryParams.field){
params.field=this.queryParams.field
}
if(this.queryParams.order){
params.order=this.queryParams.order
}
enterprise(params).then(res => {
console.log(res.data)
})
},
// 重置页数
handleSizeChange(val) {
this.pageIndex = 1
this.pageSize = val
this.querySubmit()
},
// 跳转指定页数
handleCurrentChange(val) {
this.pageIndex = val
this.querySubmit()
},
}
}
</script>
<style lang="scss" scoped>
.localEnterprises{
.content{
background: #FFFFFF;
border-radius: 4px;
margin-top: 12px;
padding: 16px;
.search{
::v-deep .el-cascader{
width: 180px;
margin-right: 12px;
height: 32px;
.el-input{
width: 100%;
height: 32px;
.el-input__inner{
height: 32px !important;
}
}
.el-cascader__tags{
flex-wrap: inherit;
.el-tag{
max-width: 100px;
margin: 5px 0 2px 6px;
}
}
}
::v-deep .el-input{
width: 250px;
height: 32px;
.el-input__inner{
height: 32px;
}
.el-input-group__append{
width: 59px;
background: #F5F5F5;
color:#0081FF;
border-left: 0;
}
}
.total{
float: right;
color: #3D3D3D;
font-size: 12px;
line-height: 36px;
}
}
.table-item{
margin-top: 14px;
}
}
}
</style>
<template>
<div class="offsite">
<div class="content">
<div class="search">
<el-cascader
ref="address"
:options="aptitudeCodeList"
:props="props"
v-model="queryParams.codeStr"
placeholder="资质资格"
collapse-tags
clearable></el-cascader>
<el-input placeholder="输入企业名称关键词" v-model="queryParams.key">
<el-button slot="append">搜索</el-button>
</el-input>
<span class="total">{{tableDataTotal}}</span>
</div>
<div class="table-item">
<el-table
v-loading="tableLoading"
:data="tableData"
element-loading-text="Loading"
border
fit
highlight-current-row
>
<el-table-column label="序号" width="50" align="left" fixed>
<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template>
</el-table-column>
<el-table-column label="公司名称" align="left" width="300">
<template slot-scope="scope">
<router-link to="" tag="a" class="a-link">{{ scope.row.name}}</router-link>
</template>
</el-table-column>
<el-table-column label="注册地区" prop="address" width="80"/>
<el-table-column label="资质资格" prop="aptitudeCountNew" sortable width="120" align="right" />
<el-table-column label="专业人员" prop="persionCount" sortable width="130" align="right" />
<el-table-column label="中标业绩" prop="recentlyCount" sortable width="130" align="right" />
<el-table-column label="最大中标金额(万元)" prop="cgfs" sortable width="160" align="right" />
<el-table-column label="中标总金额(万元)" prop="cgfs" sortable width="160" align="right" />
<el-table-column label="四库业绩" prop="skyCount" sortable width="130" align="right" />
<el-table-column label="公路业绩" prop="cgfs" sortable width="130" align="right" />
<el-table-column label="水利业绩" prop="cgfs" sortable width="130" align="right" />
<el-table-column label="常合作业主" prop="cgfs" width="280" align="right" />
<el-table-column label="客户(个)" prop="customerCount" sortable width="130" align="right" />
<el-table-column label="供应商(个)" prop="supplierCount" sortable width="130" align="right" />
<el-table-column label="常合作供应商" prop="cgfs" width="280" align="right" />
</el-table>
</div>
</div>
</div>
</template>
<script>
import * as echarts from 'echarts';
import aptitudeCode from '@/assets/json/aptitudeCode'
import { countGroupByMonth,countGroupByProvince,getYear } from '@/api/macro/macro'
export default {
name: 'offsite',
data() {
return {
queryParams:{
key:'',
codeStr:''
},
props: {
value: 'id',
multiple: true,
// checkStrictly:true,
label:'name',
children:'list',
expandTrigger:'hover'
},
tableData: [
{
dataId:'1',
cgrssqy:'100',
cgfs:'200',
address:'江北区',
name:'重庆市江北区国有资本投资运营管理集团有限公司'
}
],
tableLoading: false,
pageIndex: 1,
pageSize: 10,
tableDataTotal: 1,
aptitudeCodeList:[],
}
},
created() {
this.aptitudeCode()
this.querySubmit()
},
methods: {
//资质Json
async aptitudeCode() {
// await axios.post("https://files.jiansheku.com/file/json/common/aptitudeCode.json", {}, {
// headers: {
// 'Content-Type': 'application/json'
// }
// }).then(res => {
// if (res.data.code == 200) {
// console.log(res.data.data)
// }
// })
this.aptitudeCodeList=aptitudeCode
},
async querySubmit(){
const params = { pageNum: this.pageIndex, pageSize: this.pageSize}
if(this.queryParams.field){
params.field=this.queryParams.field
}
if(this.queryParams.order){
params.order=this.queryParams.order
}
enterprise(params).then(res => {
console.log(res.data)
})
}
}
}
</script>
<style lang="scss" scoped>
.offsite{
.content{
background: #FFFFFF;
border-radius: 4px;
margin-top: 12px;
padding: 16px;
.search{
::v-deep .el-cascader{
width: 180px;
margin-right: 12px;
height: 32px;
.el-input{
width: 100%;
height: 32px;
.el-input__inner{
height: 32px !important;
}
}
.el-cascader__tags{
flex-wrap: inherit;
.el-tag{
max-width: 100px;
margin: 5px 0 2px 6px;
}
}
}
::v-deep .el-input{
width: 250px;
height: 32px;
.el-input__inner{
height: 32px;
}
.el-input-group__append{
width: 59px;
background: #F5F5F5;
color:#0081FF;
border-left: 0;
}
}
.total{
float: right;
color: #3D3D3D;
font-size: 12px;
line-height: 36px;
}
}
.table-item{
margin-top: 14px;
}
}
}
</style>
...@@ -40,28 +40,38 @@ ...@@ -40,28 +40,38 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="注册地区" prop="address" width="80"/> <el-table-column label="注册地区" prop="address" width="80"/>
<el-table-column label="资质资格" prop="cgfs" sortable width="120" align="right" /> <el-table-column label="资质资格" prop="aptitudeCountNew" sortable width="120" align="right" />
<el-table-column label="专业人员" prop="cgfs" sortable width="130" align="right" /> <el-table-column label="专业人员" prop="persionCount" sortable width="130" align="right" />
<el-table-column label="中标业绩" prop="cgfs" sortable width="130" align="right" /> <el-table-column label="中标业绩" prop="recentlyCount" sortable width="130" align="right" />
<el-table-column label="最大中标金额(万元)" prop="cgfs" sortable width="160" align="right" /> <el-table-column label="最大中标金额(万元)" prop="cgfs" sortable width="160" align="right" />
<el-table-column label="中标总金额(万元)" prop="cgfs" sortable width="160" align="right" /> <el-table-column label="中标总金额(万元)" prop="cgfs" sortable width="160" align="right" />
<el-table-column label="四库业绩" prop="cgfs" sortable width="130" align="right" /> <el-table-column label="四库业绩" prop="skyCount" sortable width="130" align="right" />
<el-table-column label="公路业绩" prop="cgfs" sortable width="130" align="right" /> <el-table-column label="公路业绩" prop="cgfs" sortable width="130" align="right" />
<el-table-column label="水利业绩" prop="cgfs" sortable width="130" align="right" /> <el-table-column label="水利业绩" prop="cgfs" sortable width="130" align="right" />
<el-table-column label="常合作业主" prop="cgfs" width="280" align="right" /> <el-table-column label="常合作业主" prop="cgfs" width="280" align="right" />
<el-table-column label="客户(个)" prop="cgfs" sortable width="130" align="right" /> <el-table-column label="客户(个)" prop="customerCount" sortable width="130" align="right" />
<el-table-column label="供应商(个)" prop="cgfs" sortable width="130" align="right" /> <el-table-column label="供应商(个)" prop="supplierCount" sortable width="130" align="right" />
<el-table-column label="常合作供应商" prop="cgfs" width="280" align="right" /> <el-table-column label="常合作供应商" prop="cgfs" width="280" align="right" />
</el-table> </el-table>
</div> </div>
<div class="pagination-box">
<el-pagination background :current-page="pageIndex" :page-size="pageSize" :total="tableDataTotal" layout="prev, pager, next, jumper" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
</div>
</div> </div>
<!--<LocalEnterprises v-if="activeName === 'first'"></LocalEnterprises>-->
<!--<Offsite v-if="activeName === 'second'"></Offsite>-->
</div> </div>
</template> </template>
<script> <script>
// import LocalEnterprises from './component/localEnterprises'
// import Offsite from './component/offsite'
import aptitudeCode from '@/assets/json/aptitudeCode' import aptitudeCode from '@/assets/json/aptitudeCode'
import { countGroupByMonth,countGroupByProvince,getYear } from '@/api/macro/macro'
export default { export default {
name: 'Enterprises', name: 'Enterprises',
// components: {LocalEnterprises,Offsite},
data() { data() {
return { return {
activeName: 'first', activeName: 'first',
...@@ -72,7 +82,7 @@ export default { ...@@ -72,7 +82,7 @@ export default {
props: { props: {
value: 'id', value: 'id',
multiple: true, multiple: true,
checkStrictly:true, // checkStrictly:true,
label:'name', label:'name',
children:'list', children:'list',
expandTrigger:'hover' expandTrigger:'hover'
...@@ -90,14 +100,15 @@ export default { ...@@ -90,14 +100,15 @@ export default {
pageIndex: 1, pageIndex: 1,
pageSize: 10, pageSize: 10,
tableDataTotal: 1, tableDataTotal: 1,
aptitudeCodeList:[] aptitudeCodeList:[],
} }
}, },
created() { created() {
this.aptitudeCode() this.aptitudeCode()
this.querySubmit()
}, },
methods: { methods: {
//资质Json //资质Json
async aptitudeCode() { async aptitudeCode() {
// await axios.post("https://files.jiansheku.com/file/json/common/aptitudeCode.json", {}, { // await axios.post("https://files.jiansheku.com/file/json/common/aptitudeCode.json", {}, {
// headers: { // headers: {
...@@ -108,9 +119,30 @@ export default { ...@@ -108,9 +119,30 @@ export default {
// console.log(res.data.data) // console.log(res.data.data)
// } // }
// }) // })
console.log(aptitudeCode)
this.aptitudeCodeList=aptitudeCode this.aptitudeCodeList=aptitudeCode
},
async querySubmit(){
const params = { pageNum: this.pageIndex, pageSize: this.pageSize}
if(this.queryParams.field){
params.field=this.queryParams.field
}
if(this.queryParams.order){
params.order=this.queryParams.order
}
enterprise(params).then(res => {
console.log(res.data)
})
},
// 重置页数
handleSizeChange(val) {
this.pageIndex = 1
this.pageSize = val
this.querySubmit()
},
// 跳转指定页数
handleCurrentChange(val) {
this.pageIndex = val
this.querySubmit()
}, },
} }
} }
......
...@@ -13,12 +13,13 @@ ...@@ -13,12 +13,13 @@
border border
height="360" height="360"
fit fit
@sort-change="sortChange"
highlight-current-row highlight-current-row
> >
<el-table-column prop="name" label="项目关系" width="150" /> <el-table-column prop="name" label="项目类型" width="150" />
<el-table-column prop="value" label="项目个数" width="140" /> <el-table-column prop="value" label="项目个数" sortable="custom" width="140" />
<el-table-column prop="tz" label="投资额(亿元)" width="140" /> <el-table-column prop="totalInvestment" label="投资额(亿元)" sortable="custom" width="140" />
<el-table-column prop="bl" label="比例" width="140" /> <el-table-column prop="proportion" label="比例" width="140" sortable="custom" />
</el-table> </el-table>
</div> </div>
</div> </div>
...@@ -33,6 +34,7 @@ ...@@ -33,6 +34,7 @@
</div> </div>
<div class="table-item"> <div class="table-item">
<el-table <el-table
v-loading="tableLoading"
:data="listData" :data="listData"
element-loading-text="Loading" element-loading-text="Loading"
border border
...@@ -42,138 +44,108 @@ ...@@ -42,138 +44,108 @@
<el-table-column label="序号" width="55" align="left" fixed> <el-table-column label="序号" width="55" align="left" fixed>
<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template> <template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template>
</el-table-column> </el-table-column>
<el-table-column prop="name" label="项目名称" width="290"> <el-table-column prop="projectName" label="项目名称">
<template slot-scope="scope"> <template slot-scope="scope">
<router-link :to="'/macro/financing/details/'+ scope.row.id" tag="a" class="a-link">{{ scope.row.name}}</router-link> <router-link :to="'/macro/financing/details/'+ scope.row.id" tag="a" class="a-link">{{ scope.row.projectName}}</router-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="tz" label="项目总投资(亿)" sortable width="155" /> <el-table-column prop="projectTotalInvestment" label="项目总投资(亿)" sortable width="155" />
<el-table-column prop="bj" label="项目资本金(亿)" sortable width="155" /> <el-table-column prop="projectCapital" label="项目资本金(亿)" sortable width="155" />
<el-table-column prop="sy" label="项目收益倍数(倍)" width="150" /> <el-table-column prop="econData007" label="项目收益倍数(倍)" width="150" />
<el-table-column prop="zxz" label="专项债金额(亿)" width="150" /> <el-table-column prop="zxz" label="专项债金额(亿)" width="150" />
<el-table-column prop="zxzzj" label="专项债用作资本金(亿)" width="170" /> <el-table-column prop="specialCapital" label="专项债用作资本金(亿)" width="170" />
<el-table-column prop="xmzt" label="项目主体"/> <el-table-column prop="projectEntity" label="项目主体">
<!--<template slot-scope="scope">-->
<!--<router-link :to="'/macro/financing/details/'+ scope.row.projectEntityId" tag="a" class="a-link">{{ scope.row.projectEntity}}</router-link>-->
<!--</template>-->
</el-table-column>
</el-table> </el-table>
</div> </div>
<div class="pagination-box">
<el-pagination background :current-page="pageIndex" :page-size="pageSize" :total="tableDataTotal" layout="prev, pager, next, jumper" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
</div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import * as echarts from 'echarts'; import * as echarts from 'echarts';
import { statistics,projectsPage } from '@/api/macro/macro'
export default { export default {
name: 'Financing', name: 'Financing',
data() { data() {
return { return {
tableData:[ queryParams:{},
{ tableParams:{},
name:'农业农村', tableData:[],
value:'2', listData:[],
tz:'50.01',
bl:'0.19%'
},
{
name:'乡村振兴',
value:'2',
tz:'50.01',
bl:'0.19%'
},
{
name:'农林水利',
value:'2',
tz:'50.01',
bl:'0.19%'
},
{
name:'交通',
value:'2',
tz:'50.01',
bl:'0.19%'
},
{
name:'轨道交通',
value:'2',
tz:'50.01',
bl:'0.19%'
},
{
name:'政府收费公路',
value:'2',
tz:'50.01',
bl:'0.19%'
},
{
name:'其他交通基础设施',
value:'2',
tz:'50.01',
bl:'0.19%'
},
{
name:'铁路',
value:'2',
tz:'50.01',
bl:'0.19%'
},
{
name:'养老',
value:'2',
tz:'50.01',
bl:'0.19%'
},
{
name:'生态环保',
value:'2',
tz:'50.01',
bl:'0.19%'
},
{
name:'职业教育',
value:'2',
tz:'50.01',
bl:'0.19%'
},
{
name:'能源',
value:'2',
tz:'50.01',
bl:'0.19%'
},
],
listData:[
{
id:1,
name:'涪陵高新产业园区总和配套项目',
tz:'535.00',
bj:'235.00',
sy:'3',
zxz:'230',
zxzzj:'423',
xmzt:'重庆市涪陵区新城区开发 (集团) 有限公司',
},
{
id:2,
name:'涪陵高新产业园区总和配套项目',
tz:'235.00',
bj:'435.00',
sy:'6',
zxz:'530',
zxzzj:'323',
xmzt:'重庆市涪陵区新城区开发 (集团) 有限公司',
}
],
tableLoading: false, tableLoading: false,
pageIndex: 1, pageIndex: 1,
pageSize: 10, pageSize: 10,
tableDataTotal: 120 tableDataTotal: 0
} }
}, },
created() { created() {
this.getStatistics()
this.getData()
this.$nextTick(()=>{ this.$nextTick(()=>{
this.initChart()
}) })
}, },
methods: { methods: {
initChart() { getData(){
this.tableLoading = true
let params={ pageNum: this.pageIndex, pageSize: this.pageSize}
if(this.tableParams.field){
params.field=this.tableParams.field
}
if(this.tableParams.order){
params.order=this.tableParams.order
}
projectsPage(params).then(res => {
this.tableLoading = false
this.listData=res.data.list;
this.tableDataTotal = res.data.totalCount
})
// 延迟关闭加载效果
// setTimeout(() => {
// this.tableLoading = false
// }, 200)
},
getStatistics(){
let params={};
if(this.queryParams.field){
params.field=this.queryParams.field
}
if(this.queryParams.order){
params.order=this.queryParams.order
}
statistics(params).then(res => {
var list=[];
for(var i=0;i<res.data.length;i++){
var obj={};
obj.name=res.data[i].projectType;
obj.value=res.data[i].count;
obj.totalInvestment=res.data[i].totalInvestment;
obj.proportion=res.data[i].proportion;
list.push(obj)
}
this.tableData=list;
let arr=this.tableData.sort((old,New)=>{
return New.value - old.value
})
let data=[]
for(let i=0; i<10; i++){
data.push(arr[i])
}
console.log(arr)
console.log(data)
this.initChart(data)
})
},
initChart(data) {
let myChart = echarts.init(document.getElementById("echarts")) let myChart = echarts.init(document.getElementById("echarts"))
let option ={ let option ={
...@@ -185,8 +157,8 @@ export default { ...@@ -185,8 +157,8 @@ export default {
var result = '' var result = ''
result+='<h3 style="color: #232226;padding: 0 0 5px 0;margin: 0;">'+ params.data.name +'</h3>' result+='<h3 style="color: #232226;padding: 0 0 5px 0;margin: 0;">'+ params.data.name +'</h3>'
result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.data.value +'个</p>' result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.data.value +'个</p>'
result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.data.tz +'亿元</p>' result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.data.totalInvestment +'亿元</p>'
result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.data.bl +'%</p>' result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.data.proportion +'%</p>'
return result; return result;
}, },
extraCssText:'width:150px!important;', extraCssText:'width:150px!important;',
...@@ -194,8 +166,8 @@ export default { ...@@ -194,8 +166,8 @@ export default {
legend: { legend: {
type: 'scroll', type: 'scroll',
orient: 'horizontal', orient: 'horizontal',
bottom: 20, bottom: 0,
data: this.tableData, data: data,
pageButtonPosition: 'end', pageButtonPosition: 'end',
}, },
series: [ series: [
...@@ -203,7 +175,7 @@ export default { ...@@ -203,7 +175,7 @@ export default {
type: 'pie', type: 'pie',
radius: '55%', radius: '55%',
center: ['50%', '40%'], center: ['50%', '40%'],
data: this.tableData, data: data,
emphasis: { emphasis: {
itemStyle: { itemStyle: {
shadowBlur: 10, shadowBlur: 10,
...@@ -215,7 +187,52 @@ export default { ...@@ -215,7 +187,52 @@ export default {
] ]
} }
myChart.setOption(option); myChart.setOption(option);
} },
sortChange({ column, prop, order }){
if(prop === 'value'){
this.queryParams.field = 'count'
}else {
this.queryParams.field = prop
}
if(column.order === "ascending"){
this.queryParams.order = 'asc'
}else if(column.order === "descending"){
this.queryParams.order = 'desc'
}else {
this.queryParams.order=''
this.queryParams.field=''
}
let params={
field:this.queryParams.field,
order:this.queryParams.order
};
statistics(params).then(res => {
var list=[];
for(var i=0;i<res.data.length;i++){
var obj={};
obj.name=res.data[i].projectType;
obj.value=res.data[i].count;
obj.totalInvestment=res.data[i].totalInvestment;
obj.proportion=res.data[i].proportion;
list.push(obj)
}
this.tableData=list;
})
},
// 重置页数
handleSizeChange(val) {
this.pageIndex = 1
this.pageSize = val
this.getData()
},
// 跳转指定页数
handleCurrentChange(val) {
this.pageIndex = val
this.getData()
},
} }
} }
</script> </script>
......
...@@ -201,7 +201,7 @@ ...@@ -201,7 +201,7 @@
}, },
// 查询提交 // 查询提交
async querySubmit() { async querySubmit() {
// this.tableLoading = true this.tableLoading = true
const params = { pageNum: this.pageIndex, pageSize: this.pageSize, year: this.queryParams.year,type:1 } const params = { pageNum: this.pageIndex, pageSize: this.pageSize, year: this.queryParams.year,type:1 }
if(this.queryParams.address){ if(this.queryParams.address){
let arr = this.$refs.address.getCheckedNodes(); let arr = this.$refs.address.getCheckedNodes();
...@@ -235,13 +235,14 @@ ...@@ -235,13 +235,14 @@
} }
nationalPage(params).then(res => { nationalPage(params).then(res => {
this.tableData = res.data.list this.tableLoading = false
this.tableData = res.data.list;
this.tableDataTotal = res.data.totalCount this.tableDataTotal = res.data.totalCount
}) })
// 延迟关闭加载效果 // 延迟关闭加载效果
setTimeout(() => { // setTimeout(() => {
this.tableLoading = false // this.tableLoading = false
}, 200) // }, 200)
}, },
// 明细 // 明细
handleDetail(row) { handleDetail(row) {
......
...@@ -139,69 +139,6 @@ export default { ...@@ -139,69 +139,6 @@ export default {
name: 'NationalEconomies', name: 'NationalEconomies',
data() { data() {
return { return {
tableData:[
{
area:'1月',
number:'123',
zb:'0.19%'
},
{
area:'2月',
number:'156',
zb:'0.29%'
},
{
area:'3月',
number:'236',
zb:'0.34%'
},
{
area:'4月',
number:'426',
zb:'0.34%'
},
{
area:'5月',
number:'412',
zb:'0.34%'
},
{
area:'6月',
number:'231',
zb:'0.34%'
},
{
area:'7月',
number:'96',
zb:'0.34%'
},
{
area:'8月',
number:'105',
zb:'0.34%'
},
{
area:'9月',
number:'210',
zb:'0.34%'
},
{
area:'10月',
number:'420',
zb:'0.34%'
},
{
area:'11月',
number:'213',
zb:'0.34%'
},
{
area:'12月',
number:'213',
zb:'0.34%'
},
],
typeIndex:0, typeIndex:0,
glData:[], glData:[],
jzglData:[], jzglData:[],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment