@@ -2,11 +2,16 @@ import request from '@/utils/request' | |||
import { usingExternalUploadService } from "@/api/system/config"; | |||
//查询已上传附件 | |||
export const attachmentList = (data) => { | |||
export const attachmentList = (deptId, year, useType) => { | |||
let query = { | |||
deptId, | |||
year, | |||
useType | |||
} | |||
return request({ | |||
url: '/api/system/attachment/query', | |||
url: 'api/home/xixia/asset/zcList', | |||
method: 'get', | |||
params: data | |||
params: query | |||
}) | |||
} | |||
@@ -51,7 +56,6 @@ export const extUploader = function () { | |||
// 内部方式上传 | |||
this._Upload_inner = (url, data) => { | |||
//console.log('使用内部上传: ' + process.env.VUE_APP_BASE_API + url); | |||
return request({ | |||
url: url, | |||
method: 'post', | |||
@@ -66,7 +70,6 @@ export const extUploader = function () { | |||
data.append('token', this._token); | |||
else | |||
data.token = this._token; | |||
//console.log('使用外部上传: ' + this._remoteHost + url); | |||
return request({ | |||
url: url, | |||
method: 'post', | |||
@@ -86,13 +89,11 @@ export const extUploader = function () { | |||
this._token = resp.data; | |||
this._remoteHost = resp.fileServerAddress; | |||
this._usingExternal = true; | |||
//console.log('使用外部上传: ' + this._remoteHost); | |||
} | |||
else { | |||
this._token = null; | |||
this._remoteHost = null; | |||
this._usingExternal = false; | |||
//console.log('使用内部上传'); | |||
} | |||
this._supportExternal = true; | |||
}).catch(() => { | |||
@@ -100,7 +101,6 @@ export const extUploader = function () { | |||
this._remoteHost = null; | |||
this._usingExternal = false; | |||
this._supportExternal = false; | |||
//console.log('未配置文件外部服务, 将使用内部上传'); | |||
}); | |||
}; | |||
@@ -151,7 +151,6 @@ export const extUploader = function () { | |||
throw '请先调用Init进行初始化'; | |||
if (this._UsingExternal()) { | |||
return this._Upload_external(extUrl, data).catch(() => { | |||
//console.log('外部上传失败! 尝试转为内部上传'); | |||
this.ForceDisableExternal(); | |||
return this._Upload_inner(innerUrl, data); | |||
}); | |||
@@ -46,15 +46,14 @@ export default { | |||
watch: { | |||
data: { | |||
handler: function (val) { | |||
this.$nextTick(function(){ | |||
setTimeout(()=>{ | |||
this.$nextTick(function () { | |||
setTimeout(() => { | |||
this.initChart(); | |||
},2000) | |||
console.log(val) | |||
}, 2000) | |||
}); | |||
}, | |||
immediate: true, | |||
deep:true | |||
deep: true | |||
} | |||
}, | |||
create () { | |||
@@ -91,7 +90,6 @@ export default { | |||
bgData.push(100) | |||
}); | |||
//console.log(data); | |||
const option = { | |||
color: ["#3398DB"], | |||
tooltip: { | |||
@@ -54,15 +54,14 @@ export default { | |||
watch: { | |||
data: { | |||
handler: function (val) { | |||
this.$nextTick(function(){ | |||
setTimeout(()=>{ | |||
this.$nextTick(function () { | |||
setTimeout(() => { | |||
this.initChart(); | |||
},2000) | |||
console.log(val) | |||
}, 2000) | |||
}); | |||
}, | |||
immediate: true, | |||
deep:true | |||
deep: true | |||
} | |||
}, | |||
mounted () { | |||
@@ -89,7 +88,6 @@ export default { | |||
...this.data | |||
]; | |||
var that = this; | |||
console.log(echartData) | |||
var rich = { | |||
yellow: { | |||
color: "rgba(185, 211, 235, 1)", | |||
@@ -25,7 +25,6 @@ export default { | |||
watch: { | |||
'queryParams.deptId': { | |||
handler: function () { | |||
console.log(this.queryParams.deptId); | |||
this.commitDept(this.queryParams.deptId); | |||
}, | |||
immediate: true, // 立即执行 | |||
@@ -89,7 +88,6 @@ export default { | |||
created () { | |||
}, | |||
mounted () { | |||
// console.log('当前年份', this.centerYear); | |||
this.commitYear(this.centerYear); | |||
// 获取geoserver的地址 | |||
this.getGeoServerUrl(); | |||
@@ -1,7 +1,7 @@ | |||
const getters = { | |||
sidebar: state => state.app.sidebar, | |||
year: state => state.user.year, | |||
deptId: state => state.user.deptId, | |||
year: state => { return state.user.year ? state.user.year : new Date().getFullYear() }, | |||
deptId: state => { return state.user.deptId ? state.user.deptId : 100 }, | |||
size: state => state.app.size, | |||
device: state => state.app.device, | |||
visitedViews: state => state.tagsView.visitedViews, | |||
@@ -1,3 +1,8 @@ | |||
<Pannel title="资金支出排名" height="340"> | |||
<Pannel title="资金支出排名" height="340" | |||
v-loading="!isLoad" | |||
element-loading-text="拼命加载中" | |||
element-loading-spinner="el-icon-loading" | |||
element-loading-background="rgba(0, 0, 0, 0.1)" | |||
> | |||
<ScrollTable v-if="isLoad" :data="data" :headers="['部门名称', '收入金额', '排名']"></ScrollTable> | |||
</Pannel> |
@@ -65,7 +65,6 @@ export default { | |||
} | |||
}, | |||
tabChange (info) { | |||
console.log('222', info); | |||
this.type = info.type; | |||
this.tabIndex = info.id | |||
this.getData() | |||
@@ -90,4 +90,176 @@ export function longTermIdleResourceWarning (deptId, year) { | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 资产一张图-债务分析-左上-债务概况分析 | |||
export function debtOverviewAnalysis (deptId, year) { | |||
let query = { | |||
deptId, | |||
year | |||
} | |||
return request({ | |||
url: 'api/home/xixia/assetAnalysis/zwhkfx', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 资产一张图-债务分析-左下-债务趋势分析 | |||
export function debtTrendAnalysis (deptId, year) { | |||
let query = { | |||
deptId, | |||
year | |||
} | |||
return request({ | |||
url: 'api/home/xixia/assetAnalysis/zwqsfx', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 资产一张图-债务分析-左下-债务趋势分析 | |||
export function rankingOfDebtAmount (deptId, year) { | |||
let query = { | |||
deptId, | |||
year | |||
} | |||
return request({ | |||
url: 'api/home/xixia/assetAnalysis/zwjepm', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 资产一张图-债务分析-右中-债务变化排名 | |||
export function debtChangeRanking (deptId, year, type) { | |||
let query = { | |||
deptId, | |||
year, | |||
type | |||
} | |||
return request({ | |||
url: 'api/home/xixia/assetAnalysis/zwbhpm', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 资产一张图-债务分析-右下-债务超标分析 | |||
export function analysisOfExcessiveDebt (deptId, year) { | |||
let query = { | |||
deptId, | |||
year, | |||
zwRate: 40 | |||
} | |||
return request({ | |||
url: 'api/home/xixia/assetAnalysis/zwcbfx', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 资产一张图-债务分析-中下-7指标 | |||
export function debtAnalysis (deptId, year) { | |||
let query = { | |||
deptId, | |||
year, | |||
zwRate: 40 | |||
} | |||
return request({ | |||
url: 'api/home/xixia/assetAnalysis/zczwfxzb', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 资产一张图-左上-固定资产概况分析 | |||
export function analysisOfFixedAssetOverview (deptId, year) { | |||
let query = { | |||
deptId, | |||
year | |||
} | |||
return request({ | |||
url: 'api/home/xixia/asset/gdzcgkfx', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 资产一张图-左中-固定资产类型分析 | |||
export function analysisOfFixedAssetTypes (deptId, year) { | |||
let query = { | |||
deptId, | |||
year | |||
} | |||
return request({ | |||
url: 'api/home/xixia/asset/gdzclxfx', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 资产一张图-左下-经营性资产分析 | |||
export function analysisOfOperatingAssets (deptId, year) { | |||
let query = { | |||
deptId, | |||
year | |||
} | |||
return request({ | |||
url: 'api/home/xixia/asset/jyxzcfx', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 资产一张图-右上-合同类型分析 | |||
export function analysisOfContractTypes (deptId, year) { | |||
let query = { | |||
deptId, | |||
year | |||
} | |||
return request({ | |||
url: 'api/home/xixia/asset/htgkfx', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 资产一张图-右中-合同数量/金额排名分析 | |||
export function analysisOfAmountRanking (deptId, year) { | |||
let query = { | |||
deptId, | |||
year | |||
} | |||
return request({ | |||
url: 'api/home/xixia/asset/htsljepmfx', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 资产一张图-右下-合同不规范管理排名分析 | |||
export function rankingAnalysisOfNonStandardContractManagement (deptId, year) { | |||
let query = { | |||
deptId, | |||
year | |||
} | |||
return request({ | |||
url: 'api/home/xixia/asset/htbgfglpmfx', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 资产一张图-中下-7指标 | |||
export function indicatorBelowAverage (deptId, year) { | |||
let query = { | |||
deptId, | |||
year | |||
} | |||
return request({ | |||
url: 'api/home/xixia/asset/zczb', | |||
method: 'get', | |||
params: query | |||
}) | |||
} |
@@ -1,5 +1,7 @@ | |||
import BlockValue from '@/components/value/index.vue'; | |||
import data from './data.js'; | |||
import { mapGetters } from 'vuex'; | |||
import { indicatorBelowAverage } from '../../../api/index.js'; | |||
export default { | |||
components: { | |||
BlockValue | |||
@@ -9,10 +11,41 @@ export default { | |||
data | |||
}; | |||
}, | |||
created () { | |||
computed: { | |||
...mapGetters(['year', 'deptId']) | |||
}, | |||
mounted () { | |||
watch: { | |||
year: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
}, | |||
deptId: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
} | |||
}, | |||
methods: { | |||
getData () { | |||
if (this.year, this.deptId) { | |||
this.isLoad = false; | |||
indicatorBelowAverage(this.deptId, this.year).then(res => { | |||
this.data[0][0].value = res.data.cqtz | |||
this.data[0][1].value = res.data.dqtz | |||
this.data[0][2].value = res.data.ysk | |||
this.data[1][0].value = res.data.kcwz | |||
this.data[1][1].value = res.data.swzc | |||
this.data[1][2].value = res.data.gdzc | |||
this.data[1][3].value = res.data.wxzc | |||
this.data = data | |||
this.isLoad = true; | |||
}) | |||
} | |||
} | |||
} | |||
}; |
@@ -1,9 +1,28 @@ | |||
import BlockValue from '@/components/value/index.vue'; | |||
import data from './data.js'; | |||
import { debtAnalysis } from '../../../api/index.js' | |||
import { mapGetters } from 'vuex'; | |||
export default { | |||
components: { | |||
BlockValue | |||
}, | |||
computed: { | |||
...mapGetters(['year', 'deptId']) | |||
}, | |||
watch: { | |||
year: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
}, | |||
deptId: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
} | |||
}, | |||
data () { | |||
return { | |||
data | |||
@@ -14,5 +33,21 @@ export default { | |||
mounted () { | |||
}, | |||
methods: { | |||
getData () { | |||
if (this.year, this.deptId) { | |||
this.isLoad = false; | |||
debtAnalysis(this.deptId, this.year, this.type).then(res => { | |||
this.data[0][0].value = res.data.dqjk | |||
this.data[0][1].value = res.data.yfk | |||
this.data[0][2].value = res.data.yfgz | |||
this.data[1][0].value = res.data.yflwf | |||
this.data[1][1].value = res.data.cqjkjyfk | |||
this.data[1][2].value = res.data.ysyyzj | |||
this.data[1][3].value = res.data.zxyfk | |||
this.isLoad = true; | |||
}) | |||
} | |||
} | |||
} | |||
}; |
@@ -1,10 +1,15 @@ | |||
<Pannel title="经营性资产分析" height="340" flexIble> | |||
<Pannel title="经营性资产分析" height="340" flexIble | |||
v-loading="!isLoad" | |||
element-loading-text="拼命加载中" | |||
element-loading-spinner="el-icon-loading" | |||
element-loading-background="rgba(0, 0, 0, 0.1)" | |||
> | |||
<div class="full"> | |||
<div class="top"> | |||
<PannelTabs @change="tabChange" :data="pannelTabData"></PannelTabs> | |||
</div> | |||
<div class="buttom"> | |||
<Bar id="bar2"></Bar> | |||
<Bar v-if="isLoad" :data="data" id="bar2"></Bar> | |||
</div> | |||
</div> | |||
</Pannel> |
@@ -1,15 +1,35 @@ | |||
import Pannel from '@/components/pannel/index.vue'; | |||
import PannelTabs from '@/components/pannel-tabs/index.vue'; | |||
import Bar from '@/components/charts/bar/index.vue'; | |||
import { analysisOfOperatingAssets } from '../../../../api/index.js'; | |||
import { mapGetters } from 'vuex'; | |||
export default { | |||
components: { | |||
Bar, | |||
PannelTabs, | |||
Pannel | |||
}, | |||
computed: { | |||
...mapGetters(['year', 'deptId']) | |||
}, | |||
watch: { | |||
year: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
}, | |||
deptId: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
} | |||
}, | |||
data () { | |||
return { | |||
data: [], | |||
isLoad: false, | |||
pannelTabData: [ | |||
{ | |||
id: '1', | |||
@@ -23,14 +43,25 @@ export default { | |||
tabIndex: '1' | |||
}; | |||
}, | |||
created () { | |||
}, | |||
mounted () { | |||
}, | |||
methods: { | |||
getData () { | |||
if (this.year && this.deptId) { | |||
this.isLoad = false; | |||
analysisOfOperatingAssets(this.deptId, this.year).then(res => { | |||
console.log(res, 999); | |||
if (this.tabIndex == 1) { | |||
this.data = res.data.jyx | |||
} else if (this.tabIndex == 2) { | |||
this.data = res.data.fjyx | |||
} | |||
this.isLoad = true; | |||
}) | |||
} | |||
}, | |||
tabChange (info) { | |||
//console.log(info); | |||
this.tabIndex = info.id | |||
this.getData() | |||
} | |||
} | |||
}; |
@@ -1,4 +1,9 @@ | |||
<Pannel title="债务趋势分析" height="305"> | |||
<Lines :color="['rgba(15, 252, 252, 1)', 'rgba(15, 252, 252, 1)', 'rgba(15, 252, 252, 1)']" :areaStyle="['rgba(15, 252, 252, 1)', 'rgba(15, 252, 252, 0.2)', 'rgba(15, 252, 252, 0)']"></Lines> | |||
<Pannel title="债务趋势分析" height="305" | |||
v-loading="!isLoad" | |||
element-loading-text="拼命加载中" | |||
element-loading-spinner="el-icon-loading" | |||
element-loading-background="rgba(0, 0, 0, 0.1)" | |||
> | |||
<Lines v-if="isLoad" :data="data" :color="['rgba(15, 252, 252, 1)', 'rgba(15, 252, 252, 1)', 'rgba(15, 252, 252, 1)']" :areaStyle="['rgba(15, 252, 252, 1)', 'rgba(15, 252, 252, 0.2)', 'rgba(15, 252, 252, 0)']"></Lines> | |||
</Pannel> |
@@ -1,12 +1,44 @@ | |||
import Pannel from '@/components/pannel/index.vue'; | |||
import Lines from '@/components/charts/line/index.vue'; | |||
import { debtTrendAnalysis } from '../../../../api/index.js'; | |||
import { mapGetters } from 'vuex'; | |||
export default { | |||
components: { | |||
Lines, | |||
Pannel | |||
}, | |||
computed: { | |||
...mapGetters(['year', 'deptId']) | |||
}, | |||
watch: { | |||
year: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
}, | |||
deptId: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
} | |||
}, | |||
methods: { | |||
getData () { | |||
if (this.year, this.deptId) { | |||
this.isLoad = false; | |||
debtTrendAnalysis(this.deptId, this.year).then(res => { | |||
this.data = res.data; | |||
this.isLoad = true; | |||
}) | |||
} | |||
} | |||
}, | |||
data () { | |||
return { | |||
data: [], | |||
isLoad: false | |||
}; | |||
} | |||
}; |
@@ -38,7 +38,6 @@ export default { | |||
if (this.year, this.deptId) { | |||
this.isLoad = false; | |||
longTermIdleResourceWarning(this.deptId, this.year).then(res => { | |||
console.log('longTermIdleResourceWarning', res); | |||
let data = res.data.map(item => { | |||
return [item.name, item.resourceSort, item.resourceType, item.deptName] | |||
}) | |||
@@ -1,10 +1,15 @@ | |||
<Pannel title="固定资产类型分析" height="340"> | |||
<Pannel title="固定资产类型分析" height="340" | |||
v-loading="!isLoad" | |||
element-loading-text="拼命加载中" | |||
element-loading-spinner="el-icon-loading" | |||
element-loading-background="rgba(0, 0, 0, 0.1)" | |||
> | |||
<div class="full"> | |||
<div class="top"> | |||
<PannelTabs @change="tabChange" :data="pannelTabData"></PannelTabs> | |||
</div> | |||
<div class="buttom"> | |||
<Bar :color="['rgba(134, 91, 252, 1)', 'rgba(49, 129, 246, 1)']"></Bar> | |||
<Bar v-if="isLoad" :data="data" :color="['rgba(134, 91, 252, 1)', 'rgba(49, 129, 246, 1)']"></Bar> | |||
</div> | |||
</div> | |||
</Pannel> |
@@ -1,15 +1,34 @@ | |||
import Pannel from '@/components/pannel/index.vue'; | |||
import PannelTabs from '@/components/pannel-tabs/index.vue'; | |||
import Bar from '@/components/charts/bar/index.vue'; | |||
import { analysisOfFixedAssetTypes } from '../../../../api/index.js'; | |||
import { mapGetters } from 'vuex'; | |||
export default { | |||
components: { | |||
Bar, | |||
PannelTabs, | |||
Pannel | |||
}, | |||
computed: { | |||
...mapGetters(['year', 'deptId']) | |||
}, | |||
watch: { | |||
year: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
}, | |||
deptId: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
} | |||
}, | |||
data () { | |||
return { | |||
isLoad: false, | |||
pannelTabData: [ | |||
{ | |||
id: '1', | |||
@@ -20,16 +39,27 @@ export default { | |||
name: '非经营性' | |||
} | |||
], | |||
data: [], | |||
tabIndex: '1' | |||
}; | |||
}, | |||
created () { | |||
}, | |||
mounted () { | |||
}, | |||
methods: { | |||
getData () { | |||
if (this.year && this.deptId) { | |||
this.isLoad = false; | |||
analysisOfFixedAssetTypes(this.deptId, this.year).then(res => { | |||
if (this.tabIndex == 1) { | |||
this.data = res.data.jyx | |||
} else if (this.tabIndex == 2) { | |||
this.data = res.data.fjyx | |||
} | |||
this.isLoad = true; | |||
}) | |||
} | |||
}, | |||
tabChange (info) { | |||
this.tabIndex = info.id | |||
this.getData() | |||
} | |||
} | |||
}; |
@@ -38,7 +38,6 @@ export default { | |||
if (this.year, this.deptId) { | |||
this.isLoad = false; | |||
warningForNonStandardRentalOfResources(this.deptId, this.year).then(res => { | |||
console.log('warningForNonStandardRentalOfResources', res); | |||
let data = res.data.map(item => { | |||
return [item.name, item.resourceSort, item.resourceType, item.deptName] | |||
}) | |||
@@ -3,24 +3,24 @@ export default [ | |||
{ | |||
name: '固定资产(个)', | |||
icon: require('./1.png'), | |||
value: '3420' | |||
value: '0' | |||
}, | |||
{ | |||
name: '总原值(万元)', | |||
icon: require('./2.png'), | |||
value: '257' | |||
value: '0' | |||
} | |||
], | |||
[ | |||
{ | |||
name: '经营性固定资产(个)', | |||
icon: require('./3.png'), | |||
value: '160' | |||
value: '0' | |||
}, | |||
{ | |||
name: '总原值(万元)', | |||
icon: require('./2.png'), | |||
value: '101' | |||
value: '0' | |||
} | |||
] | |||
] |
@@ -1,4 +1,9 @@ | |||
<Pannel title="固定资产概况分析" height="232"> | |||
<Pannel title="固定资产概况分析" height="232" | |||
v-loading="!isLoad" | |||
element-loading-text="拼命加载中" | |||
element-loading-spinner="el-icon-loading" | |||
element-loading-background="rgba(0, 0, 0, 0.1)" | |||
> | |||
<table> | |||
<tr v-for="line in data"> | |||
<td v-for="item in line"> | |||
@@ -1,14 +1,52 @@ | |||
import Pannel from '@/components/pannel/index.vue'; | |||
import Block from '@/components/block/index.vue'; | |||
import data from './data.js'; | |||
import { analysisOfFixedAssetOverview } from '../../../../api/index.js'; | |||
import { mapGetters } from 'vuex'; | |||
export default { | |||
components: { | |||
Block, | |||
Pannel | |||
}, | |||
computed: { | |||
...mapGetters(['year', 'deptId']) | |||
}, | |||
watch: { | |||
year: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
}, | |||
deptId: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
} | |||
}, | |||
data () { | |||
return { | |||
isLoad: false, | |||
data | |||
}; | |||
} | |||
}, | |||
created () { | |||
this.getData() | |||
}, | |||
methods: { | |||
getData () { | |||
if (this.year && this.deptId) { | |||
this.isLoad = false; | |||
analysisOfFixedAssetOverview(this.deptId, this.year).then(res => { | |||
this.data[0][0].value = res.data.num | |||
this.data[0][1].value = res.data.zyz | |||
this.data[1][0].value = res.data.numJyx | |||
this.data[1][1].value = res.data.jyxzyz | |||
this.isLoad = true; | |||
}) | |||
} | |||
} | |||
}, | |||
}; |
@@ -1,4 +1,9 @@ | |||
<Pannel title="债务概况分析" height="305"> | |||
<Pies></Pies> | |||
<Pannel title="债务概况分析" height="305" | |||
v-loading="!isLoad" | |||
element-loading-text="拼命加载中" | |||
element-loading-spinner="el-icon-loading" | |||
element-loading-background="rgba(0, 0, 0, 0.1)" | |||
> | |||
<Pies v-if="isLoad" :data="data"></Pies> | |||
</Pannel> |
@@ -1,12 +1,61 @@ | |||
import Pannel from '@/components/pannel/index.vue'; | |||
import Pies from '@/components/charts/pies/index.vue'; | |||
import { debtOverviewAnalysis } from '../../../../api/index.js'; | |||
import { mapGetters } from 'vuex'; | |||
export default { | |||
components: { | |||
Pies, | |||
Pannel | |||
}, | |||
computed: { | |||
...mapGetters(['year', 'deptId']) | |||
}, | |||
watch: { | |||
year: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
}, | |||
deptId: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
} | |||
}, | |||
methods: { | |||
getData () { | |||
if (this.year, this.deptId) { | |||
this.isLoad = false; | |||
debtOverviewAnalysis(this.deptId, this.year).then(res => { | |||
let data = [ | |||
{ | |||
name: '债务规模', | |||
value: res.data.zwgm, | |||
unit: '万' | |||
}, | |||
{ | |||
name: '负债规模', | |||
value: res.data.fzgm, | |||
unit: '万' | |||
}, | |||
{ | |||
name: '集体资产', | |||
value: res.data.jtzc, | |||
unit: '万' | |||
} | |||
] | |||
this.data = data; | |||
this.isLoad = true; | |||
}) | |||
} | |||
} | |||
}, | |||
data () { | |||
return { | |||
isLoad: false, | |||
data: [] | |||
}; | |||
} | |||
}; |
@@ -36,7 +36,6 @@ export default { | |||
this.isLoad = false // 是否加载完成 | |||
if (this.year, this.deptId) { | |||
debtOverview(this.deptId, this.year).then(res => { | |||
console.log('debtOverview', res); | |||
this.data.topData[0][0].value = res.data.zbdz | |||
this.data.topData[0][1].value = res.data.gfzl | |||
this.data.topData[1][0].value = res.data.zfzl | |||
@@ -1,3 +1,8 @@ | |||
<Pannel title="合同不规范管理排名分析" height="340"> | |||
<ScrollTable :headers="headers"></ScrollTable> | |||
<Pannel title="合同不规范管理排名分析" height="340" | |||
v-loading="!isLoad" | |||
element-loading-text="拼命加载中" | |||
element-loading-spinner="el-icon-loading" | |||
element-loading-background="rgba(0, 0, 0, 0.1)" | |||
> | |||
<ScrollTable v-if="isLoad" :data="data" :headers="headers"></ScrollTable> | |||
</Pannel> |
@@ -1,13 +1,33 @@ | |||
import Pannel from '@/components/pannel/index.vue'; | |||
import ScrollTable from '@/components/scroll-table/index.vue'; | |||
import { mapGetters } from 'vuex'; | |||
import { rankingAnalysisOfNonStandardContractManagement } from '../../../../api/index.js'; | |||
export default { | |||
components: { | |||
ScrollTable, | |||
Pannel | |||
}, | |||
computed: { | |||
...mapGetters(['year', 'deptId']) | |||
}, | |||
watch: { | |||
year: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
}, | |||
deptId: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
} | |||
}, | |||
data () { | |||
return { | |||
isLoad: false, | |||
data: [], | |||
headers: ['部门名称', '合同数量', '排名'] | |||
}; | |||
}, | |||
@@ -16,5 +36,17 @@ export default { | |||
mounted () { | |||
}, | |||
methods: { | |||
getData () { | |||
if (this.year, this.deptId) { | |||
this.isLoad = false; | |||
rankingAnalysisOfNonStandardContractManagement(this.deptId, this.year).then(res => { | |||
let data = res.data.map(item => { | |||
return [item.name, item.value, item.index] | |||
}) | |||
this.data = data | |||
this.isLoad = true; | |||
}) | |||
} | |||
}, | |||
} | |||
}; |
@@ -1,4 +1,9 @@ | |||
<Pannel title="债务超标分析" height="305"> | |||
<ScrollTable :headers="headers" :data="data"></ScrollTable> | |||
<Pannel title="债务超标分析" height="305" | |||
v-loading="!isLoad" | |||
element-loading-text="拼命加载中" | |||
element-loading-spinner="el-icon-loading" | |||
element-loading-background="rgba(0, 0, 0, 0.1)" | |||
> | |||
<ScrollTable v-if="isLoad" :headers="headers" :data="data"></ScrollTable> | |||
</Pannel> |
@@ -1,12 +1,32 @@ | |||
import Pannel from '@/components/pannel/index.vue'; | |||
import ScrollTable from '@/components/scroll-table/index.vue'; | |||
import { analysisOfExcessiveDebt } from '../../../../api/index.js'; | |||
import { mapGetters } from 'vuex'; | |||
export default { | |||
components: { | |||
ScrollTable, | |||
Pannel | |||
}, | |||
computed: { | |||
...mapGetters(['year', 'deptId']) | |||
}, | |||
watch: { | |||
year: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
}, | |||
deptId: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
} | |||
}, | |||
data () { | |||
return { | |||
isLoad: false, | |||
headers: ['经济组织名称', '债务金额', '债务率'], | |||
data: [['经济组织名称', '债务金额', '21%']] | |||
}; | |||
@@ -16,5 +36,17 @@ export default { | |||
mounted () { | |||
}, | |||
methods: { | |||
getData () { | |||
if (this.year, this.deptId) { | |||
this.isLoad = false; | |||
analysisOfExcessiveDebt(this.deptId, this.year, this.type).then(res => { | |||
let data = res.rows.map(item => { | |||
return [item.name, item.zwje, item.zwl] | |||
}) | |||
this.data = data; | |||
this.isLoad = true; | |||
}) | |||
} | |||
}, | |||
} | |||
}; |
@@ -1,10 +1,15 @@ | |||
<Pannel title="合同数量/金额排名分析" height="340"> | |||
<Pannel title="合同数量/金额排名分析" height="340" | |||
v-loading="!isLoad" | |||
element-loading-text="拼命加载中" | |||
element-loading-spinner="el-icon-loading" | |||
element-loading-background="rgba(0, 0, 0, 0.1)" | |||
> | |||
<div class="full"> | |||
<div class="top"> | |||
<PannelTabs @change="tabChange" :data="pannelTabData"></PannelTabs> | |||
</div> | |||
<div class="buttom"> | |||
<ScrollTable :headers="headers"></ScrollTable> | |||
<ScrollTable v-if="isLoad" :data="data" :headers="headers"></ScrollTable> | |||
</div> | |||
</div> | |||
</Pannel> |
@@ -1,14 +1,35 @@ | |||
import Pannel from '@/components/pannel/index.vue'; | |||
import ScrollTable from '@/components/scroll-table/index.vue'; | |||
import PannelTabs from '@/components/pannel-tabs/index.vue'; | |||
import { mapGetters } from 'vuex'; | |||
import { analysisOfAmountRanking } from '../../../../api/index.js'; | |||
export default { | |||
components: { | |||
PannelTabs, | |||
ScrollTable, | |||
Pannel | |||
}, | |||
computed: { | |||
...mapGetters(['year', 'deptId']) | |||
}, | |||
watch: { | |||
year: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
}, | |||
deptId: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
} | |||
}, | |||
data () { | |||
return { | |||
tabIndex: '1', | |||
isLoad: false, | |||
headers: ['部门名称', '数量', '排名'], | |||
pannelTabData: [ | |||
{ | |||
@@ -20,15 +41,32 @@ export default { | |||
name: '金额' | |||
} | |||
], | |||
data: [] | |||
}; | |||
}, | |||
created () { | |||
}, | |||
mounted () { | |||
}, | |||
methods: { | |||
tabChange () { | |||
getData () { | |||
if (this.year, this.deptId) { | |||
this.isLoad = false; | |||
analysisOfAmountRanking(this.deptId, this.year).then(res => { | |||
if (this.tabIndex == 1) { | |||
let data = res.data.sl.map(item => { | |||
return [item.name, item.value, item.index] | |||
}) | |||
this.data = data | |||
} else if (this.tabIndex == 2) { | |||
let data = res.data.je.map(item => { | |||
return [item.name, item.value, item.index] | |||
}) | |||
this.data = data | |||
} | |||
this.isLoad = true; | |||
}) | |||
} | |||
}, | |||
tabChange (info) { | |||
this.tabIndex = info.id; | |||
this.getData(); | |||
} | |||
} | |||
}; |
@@ -1,12 +1,16 @@ | |||
<Pannel title="债务变化排名" height="305"> | |||
<Pannel title="债务变化排名" height="305" | |||
v-loading="!isLoad" | |||
element-loading-text="拼命加载中" | |||
element-loading-spinner="el-icon-loading" | |||
element-loading-background="rgba(0, 0, 0, 0.1)" | |||
> | |||
<div class="full"> | |||
<div class="top"> | |||
<PannelTabs @change="tabChange" :data="pannelData"></PannelTabs> | |||
</div> | |||
<div class="buttom"> | |||
<ScrollTable :headers="headers" :data="data" :bodyHeight="160"></ScrollTable> | |||
<ScrollTable v-if="isLoad" :headers="headers" :data="data" :bodyHeight="160"></ScrollTable> | |||
</div> | |||
</div> | |||
</Pannel> |
@@ -1,14 +1,34 @@ | |||
import Pannel from '@/components/pannel/index.vue'; | |||
import ScrollTable from '@/components/scroll-table/index.vue'; | |||
import PannelTabs from '@/components/pannel-tabs/index.vue'; | |||
import { debtChangeRanking } from '../../../../api/index.js'; | |||
import { mapGetters } from 'vuex'; | |||
export default { | |||
components: { | |||
PannelTabs, | |||
ScrollTable, | |||
Pannel | |||
}, | |||
computed: { | |||
...mapGetters(['year', 'deptId']) | |||
}, | |||
watch: { | |||
year: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
}, | |||
deptId: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
} | |||
}, | |||
data () { | |||
return { | |||
type: '1', | |||
pannelData: [ | |||
{ | |||
id: '1', | |||
@@ -19,6 +39,7 @@ export default { | |||
name: '增加' | |||
}, | |||
], | |||
isLoad: false, | |||
headers: ['部门名称', '债务金额', '排名'], | |||
data: [['部门名称', '债务金额', '1']] | |||
}; | |||
@@ -28,8 +49,22 @@ export default { | |||
mounted () { | |||
}, | |||
methods: { | |||
tabChange () { | |||
getData () { | |||
if (this.year, this.deptId) { | |||
this.isLoad = false; | |||
debtChangeRanking(this.deptId, this.year, this.type).then(res => { | |||
let data = res.rows.map(item => { | |||
return [item.name, item.value, item.index] | |||
}) | |||
this.data = data; | |||
this.isLoad = true; | |||
}) | |||
} | |||
}, | |||
tabChange (info) { | |||
// console.log('indo', info); | |||
this.type = info.id; | |||
this.getData() | |||
} | |||
} | |||
}; |
@@ -40,7 +40,6 @@ export default { | |||
if (this.year, this.deptId) { | |||
this.isLoad = false; | |||
contractExpirationWarning(this.deptId, this.year).then(res => { | |||
console.log(2222, res); | |||
let data = res.data.map(item => { | |||
return [item.code, item.name, item.endTime, item.deptName] | |||
}) | |||
@@ -1,24 +1,24 @@ | |||
export default [ | |||
[ | |||
{ | |||
name: '总资产(万元)', | |||
name: '合同数量(个)', | |||
icon: require('./1.png'), | |||
value: '8000' | |||
}, | |||
{ | |||
name: '总负债(万元)', | |||
name: '总合同额(万元)', | |||
icon: require('./2.png'), | |||
value: '257' | |||
} | |||
], | |||
[ | |||
{ | |||
name: '总收入(万元)', | |||
name: '已结款(万元)', | |||
icon: require('./3.png'), | |||
value: '1460' | |||
}, | |||
{ | |||
name: '总支出(万元)', | |||
name: '待结款(万元)', | |||
icon: require('./2.png'), | |||
value: '1011' | |||
} | |||
@@ -1,4 +1,9 @@ | |||
<Pannel title="合同概况分析" height="232"> | |||
<Pannel title="合同概况分析" height="232" | |||
v-loading="!isLoad" | |||
element-loading-text="拼命加载中" | |||
element-loading-spinner="el-icon-loading" | |||
element-loading-background="rgba(0, 0, 0, 0.1)" | |||
> | |||
<table> | |||
<tr v-for="line in data"> | |||
<td v-for="item in line"> | |||
@@ -1,14 +1,50 @@ | |||
import Pannel from '@/components/pannel/index.vue'; | |||
import Block from '@/components/block/index.vue'; | |||
import data from './data.js'; | |||
import { analysisOfContractTypes } from '../../../../api/index.js'; | |||
import { mapGetters } from 'vuex'; | |||
export default { | |||
components: { | |||
Block, | |||
Pannel | |||
}, | |||
computed: { | |||
...mapGetters(['year', 'deptId']) | |||
}, | |||
watch: { | |||
year: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
}, | |||
deptId: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
} | |||
}, | |||
data () { | |||
return { | |||
isLoad: false, | |||
data | |||
}; | |||
}, | |||
methods: { | |||
getData () { | |||
this.isLoad = false // 是否加载完成 | |||
if (this.year, this.deptId) { | |||
analysisOfContractTypes(this.deptId, this.year).then(res => { | |||
this.data[0][0].value = res.data.numHt | |||
this.data[0][1].value = res.data.zhte | |||
this.data[1][0].value = res.data.yjk | |||
this.data[1][1].value = res.data.djk | |||
this.isLoad = true // 是否加载完成 | |||
}) | |||
} | |||
} | |||
} | |||
}; |
@@ -1,4 +1,9 @@ | |||
<Pannel title="债务金额排名" height="305"> | |||
<ScrollTable :headers="headers" :data="data"></ScrollTable> | |||
<Pannel title="债务金额排名" height="305" | |||
v-loading="!isLoad" | |||
element-loading-text="拼命加载中" | |||
element-loading-spinner="el-icon-loading" | |||
element-loading-background="rgba(0, 0, 0, 0.1)" | |||
> | |||
<ScrollTable v-if="isLoad" :headers="headers" :data="data"></ScrollTable> | |||
</Pannel> |
@@ -1,12 +1,32 @@ | |||
import Pannel from '@/components/pannel/index.vue'; | |||
import ScrollTable from '@/components/scroll-table/index.vue'; | |||
import { rankingOfDebtAmount } from '../../../../api/index.js'; | |||
import { mapGetters } from 'vuex'; | |||
export default { | |||
components: { | |||
ScrollTable, | |||
Pannel | |||
}, | |||
computed: { | |||
...mapGetters(['year', 'deptId']) | |||
}, | |||
watch: { | |||
year: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
}, | |||
deptId: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
} | |||
}, | |||
data () { | |||
return { | |||
isLoad: false, | |||
headers: ['部门名称', '债务金额', '排名'], | |||
data: [['部门名称', '债务金额', '1']] | |||
}; | |||
@@ -16,5 +36,17 @@ export default { | |||
mounted () { | |||
}, | |||
methods: { | |||
getData () { | |||
if (this.year, this.deptId) { | |||
this.isLoad = false; | |||
rankingOfDebtAmount(this.deptId, this.year).then(res => { | |||
let data = res.rows.map(item => { | |||
return [item.name, item.value, item.index] | |||
}) | |||
this.data = data; | |||
this.isLoad = true; | |||
}) | |||
} | |||
} | |||
} | |||
}; |
@@ -9,6 +9,7 @@ import { attachmentList } from "@/api/common/uploadAttachment.js"; | |||
let gis = null; | |||
import { treeselectByDeptId } from "@/api/system/dept"; | |||
import Legend from '@/components/legend/index.vue'; | |||
import { mapGetters } from 'vuex'; | |||
import { | |||
fromLonLat | |||
} from 'ol/proj' | |||
@@ -28,7 +29,6 @@ export default { | |||
deptLayer: "", // 坐标点图层 | |||
countyBorderLayerName: "", // 区县边界图层名称 | |||
townBorderLayerName: "", // 乡镇边界图层名称 | |||
//villageBorderLayerName: "", // 村边界图层名称 | |||
groupBorderLayerName: "", // 组边界图层名称 | |||
LegendData: [ | |||
{ | |||
@@ -223,6 +223,7 @@ export default { | |||
}; | |||
}, | |||
computed: { | |||
...mapGetters(['year', 'deptId']) | |||
}, | |||
created () { | |||
// 获取geoserver的地址 | |||
@@ -544,43 +545,39 @@ export default { | |||
}, | |||
openPermanentDialog (data) { | |||
data.fileList = []; | |||
let parmasData = { | |||
tableId: data.id, | |||
tableName: 't_asset_permanent', | |||
bizPath: 'asset', | |||
}; | |||
attachmentList(parmasData).then((res) => { | |||
let useType = data.useType | |||
attachmentList(this.deptId, this.year, useType).then((res) => { | |||
console.log(res, 777); | |||
if (res.code == 200) { | |||
let UattachmentList = res.rows; | |||
for (let i = 0; i < UattachmentList.length; i++) { | |||
let fileName = UattachmentList[i].fileName; | |||
let subIndex = fileName.lastIndexOf("."); | |||
let ext = fileName.substring(subIndex + 1, fileName.length); | |||
let urls = ""; | |||
let type = ""; | |||
if (ext == "xlsx" || ext == "xls") { | |||
urls = require("@/assets/images/icon_excel.jpg"); | |||
type = 'excel'; | |||
} else if (ext == "doc" || ext == "docx") { | |||
urls = require("@/assets/images/icon_word.jpg"); | |||
type = 'word'; | |||
} else if (ext == "pdf") { | |||
urls = require("@/assets/images/icon_pdf.jpg"); | |||
type = 'pdf'; | |||
} else if (ext == "zip") { | |||
urls = require("@/assets/images/icon_zip.jpg"); | |||
type = 'zip'; | |||
} else { | |||
urls = '/api' + UattachmentList[i].fileUrl; | |||
type = 'image'; | |||
} | |||
data.fileList.push({ | |||
url: urls, | |||
urlApi: '/api' + UattachmentList[i].fileUrl, | |||
type: type | |||
}) | |||
} | |||
// let UattachmentList = res.rows; | |||
// for (let i = 0; i < UattachmentList.length; i++) { | |||
// let fileName = UattachmentList[i].fileName; | |||
// let subIndex = fileName.lastIndexOf("."); | |||
// let ext = fileName.substring(subIndex + 1, fileName.length); | |||
// let urls = ""; | |||
// let type = ""; | |||
// if (ext == "xlsx" || ext == "xls") { | |||
// urls = require("@/assets/images/icon_excel.jpg"); | |||
// type = 'excel'; | |||
// } else if (ext == "doc" || ext == "docx") { | |||
// urls = require("@/assets/images/icon_word.jpg"); | |||
// type = 'word'; | |||
// } else if (ext == "pdf") { | |||
// urls = require("@/assets/images/icon_pdf.jpg"); | |||
// type = 'pdf'; | |||
// } else if (ext == "zip") { | |||
// urls = require("@/assets/images/icon_zip.jpg"); | |||
// type = 'zip'; | |||
// } else { | |||
// urls = '/api' + UattachmentList[i].fileUrl; | |||
// type = 'image'; | |||
// } | |||
// data.fileList.push({ | |||
// url: urls, | |||
// urlApi: '/api' + UattachmentList[i].fileUrl, | |||
// type: type | |||
// }) | |||
// } | |||
this.showPermanentDetail = true; | |||
this.permanentDetail = data; | |||
} | |||
@@ -588,10 +585,11 @@ export default { | |||
}, | |||
// 加载地图 | |||
initMap (deptId) { | |||
this.$store.commit('SET_DEPTID', deptId); | |||
this.$store.commit('SET_YEAR', new Date().getFullYear()); | |||
getDept(deptId).then(response => { | |||
const dept = response.data; | |||
let mapCenterLocation; | |||
const dept = response.data; | |||
// 定义地图中心坐标 | |||
if (dept.lng && dept.lat) { | |||
mapCenterLocation = [dept.lng, dept.lat]; | |||
@@ -599,6 +597,7 @@ export default { | |||
mapCenterLocation = [116.391458, 39.902377]; | |||
} | |||
gis = new GisUtils('map2') | |||
console.log('=============='); | |||
gis.addTianDiTuLayer() | |||
gis.addAnnotationLayer() | |||
// 添加村边界 | |||
@@ -0,0 +1,27 @@ | |||
import request from '@/utils/request' | |||
// 河南资源一张图-预警分析-左上-资源处置预警(分页) | |||
export function resourceFisposalWarning (deptId, year) { | |||
let query = { | |||
deptId, | |||
year | |||
} | |||
return request({ | |||
url: 'api/home/xixia/resourceWarning/zyczyj', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
// 河南资源一张图-预警分析-左下-资源长期闲置预警 | |||
export function longTermIdleResourceWarning (deptId, year) { | |||
let query = { | |||
deptId, | |||
year | |||
} | |||
return request({ | |||
url: 'api/home/xixia/resourceWarning/zccqxzyj', | |||
method: 'get', | |||
params: query | |||
}) | |||
} |
@@ -1,4 +1,9 @@ | |||
<Pannel title="资金往来不规范预警分析" height="305" flexIble> | |||
<ScrollTable :headers="headers" :data="data"></ScrollTable> | |||
<Pannel title="资金往来不规范预警分析" height="305" flexIble | |||
v-loading="!isLoad" | |||
element-loading-text="拼命加载中" | |||
element-loading-spinner="el-icon-loading" | |||
element-loading-background="rgba(0, 0, 0, 0.1)" | |||
> | |||
<ScrollTable v-if="isLoad" :headers="headers" :data="data"></ScrollTable> | |||
</Pannel> |
@@ -1,16 +1,51 @@ | |||
import Pannel from '@/components/pannel/index.vue'; | |||
import ScrollTable from '@/components/scroll-table/index.vue'; | |||
import { mapGetters } from 'vuex'; | |||
import { longTermIdleResourceWarning } from '../../../../api/index.js'; | |||
export default { | |||
components: { | |||
ScrollTable, | |||
Pannel | |||
}, | |||
computed: { | |||
...mapGetters(['year', 'deptId']) | |||
}, | |||
watch: { | |||
year: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
}, | |||
deptId: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
} | |||
}, | |||
data () { | |||
return { | |||
isLoad: false, | |||
headers: ['资源名称', '类别', '面积(亩)', '部门'], | |||
data: [ | |||
['资源名称', '类别', '面积(亩)', '部门'] | |||
] | |||
}; | |||
}, | |||
methods: { | |||
getData () { | |||
if (this.year, this.deptId) { | |||
this.isLoad = false; | |||
longTermIdleResourceWarning(this.deptId, this.year).then(res => { | |||
let data = res.data.map(item => { | |||
return [item.name, item.resourceSort, item.totalArea, item.deptName] | |||
}) | |||
this.data = data; | |||
this.isLoad = true; | |||
}) | |||
} | |||
}, | |||
} | |||
}; |
@@ -1,4 +1,9 @@ | |||
<Pannel title="资源不规范出租预警" height="305" flexIble> | |||
<ScrollTable :headers="headers" :data="data"></ScrollTable> | |||
<Pannel title="资源不规范出租预警" height="305" flexIble | |||
v-loading="!isLoad" | |||
element-loading-text="拼命加载中" | |||
element-loading-spinner="el-icon-loading" | |||
element-loading-background="rgba(0, 0, 0, 0.1)" | |||
> | |||
<ScrollTable v-if="isLoad" :headers="headers" :data="data"></ScrollTable> | |||
</Pannel> |
@@ -1,16 +1,50 @@ | |||
import Pannel from '@/components/pannel/index.vue'; | |||
import ScrollTable from '@/components/scroll-table/index.vue'; | |||
import { longTermIdleResourceWarning } from '../../../../api/index.js' | |||
import { mapGetters } from 'vuex'; | |||
export default { | |||
components: { | |||
ScrollTable, | |||
Pannel | |||
}, | |||
computed: { | |||
...mapGetters(['year', 'deptId']) | |||
}, | |||
watch: { | |||
year: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
}, | |||
deptId: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
} | |||
}, | |||
data () { | |||
return { | |||
isLoad: false, | |||
headers: ['资源名称', '类别', '面积(亩)', '部门'], | |||
data: [ | |||
['资源名称', '类别', '面积(亩)', '部门'] | |||
] | |||
}; | |||
}, | |||
methods: { | |||
getData () { | |||
if (this.year, this.deptId) { | |||
this.isLoad = false; | |||
longTermIdleResourceWarning(this.deptId, this.year).then(res => { | |||
let data = res.data.map(item => { | |||
return [item.name, item.resourceSort, item.totalArea, item.deptName] | |||
}) | |||
this.data = data; | |||
this.isLoad = true; | |||
}) | |||
} | |||
} | |||
} | |||
}; |
@@ -1,5 +1,6 @@ | |||
import Pannel from '@/components/pannel/index.vue'; | |||
import HorizontalBar from '@/components/charts/horizontal-bar/index.vue'; | |||
export default { | |||
components: { | |||
HorizontalBar, | |||
@@ -25,5 +26,7 @@ export default { | |||
} | |||
] | |||
}; | |||
}, | |||
methods: { | |||
} | |||
}; |
@@ -1,4 +1,9 @@ | |||
<Pannel title="资源处置预警" height="305" flexIble> | |||
<ScrollTable :headers="headers" :data="data"></ScrollTable> | |||
<Pannel title="资源处置预警" height="305" flexIble | |||
v-loading="!isLoad" | |||
element-loading-text="拼命加载中" | |||
element-loading-spinner="el-icon-loading" | |||
element-loading-background="rgba(0, 0, 0, 0.1)" | |||
> | |||
<ScrollTable v-if="isLoad" :headers="headers" :data="data"></ScrollTable> | |||
</Pannel> |
@@ -1,16 +1,50 @@ | |||
import Pannel from '@/components/pannel/index.vue'; | |||
import ScrollTable from '@/components/scroll-table/index.vue'; | |||
import { resourceFisposalWarning } from '../../../../api/index.js' | |||
import { mapGetters } from 'vuex'; | |||
export default { | |||
components: { | |||
ScrollTable, | |||
Pannel | |||
}, | |||
computed: { | |||
...mapGetters(['year', 'deptId']) | |||
}, | |||
watch: { | |||
year: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
}, | |||
deptId: { | |||
handler () { | |||
this.getData(); | |||
}, | |||
immediate: true, // 立即执行 | |||
} | |||
}, | |||
data () { | |||
return { | |||
isLoad: false, | |||
headers: ['资源名称', '类别', '面积(亩)', '处置类型', '部门'], | |||
data: [ | |||
['资源名称', '类别', '面积(亩)', '处置类型', '部门'] | |||
] | |||
}; | |||
}, | |||
methods: { | |||
getData () { | |||
if (this.year, this.deptId) { | |||
this.isLoad = false; | |||
resourceFisposalWarning(this.deptId, this.year).then(res => { | |||
let data = res.rows.map(item => { | |||
return [item.assetName, item.assetType, 'null', item.assetStatus, item.deptId] | |||
}) | |||
this.data = data; | |||
this.isLoad = true; | |||
}) | |||
} | |||
} | |||
} | |||
}; |
@@ -545,7 +545,6 @@ export default { | |||
}, | |||
openResourceDialog (data) { | |||
data.fileList = []; | |||
console.log(data) | |||
let parmasData = { | |||
tableId: data.id, | |||
tableName: 't_asset_three', | |||
@@ -617,7 +616,6 @@ export default { | |||
resourceList.forEach(item => { | |||
if (item.theGeom != null && item.theGeom !== '') { | |||
const { threeAssetType } = item | |||
// console.log(222, threeAssetType, item); | |||
let color = this.LegendData[threeAssetType - 1 + ''] | |||
let fs = gis.getFeature3(item, color.iconStyle.background, color.iconStyle.borderColor) | |||
features.push(fs); | |||