@@ -90,3 +90,29 @@ export function resourceTypeAnalysis (deptId, year) { | |||||
params: query | params: query | ||||
}) | }) | ||||
} | } | ||||
// 资源一张图-左下-资源发包分析 | |||||
export function resourceOutsourcingAnalysis (deptId, year) { | |||||
let query = { | |||||
deptId, | |||||
year | |||||
} | |||||
return request({ | |||||
url: 'api/home/xixia/resource/zyfbfx', | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} | |||||
// 资源一张图-右上-合同类型分析 | |||||
export function analysisContractTypes (deptId, year) { | |||||
let query = { | |||||
deptId, | |||||
year | |||||
} | |||||
return request({ | |||||
url: 'api/home/xixia/resource/htgkfx', | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} |
@@ -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="full"> | ||||
<div class="top"> | <div class="top"> | ||||
<PannelTabs @change="tabChange" :data="pannelTabData"></PannelTabs> | <PannelTabs @change="tabChange" :data="pannelTabData"></PannelTabs> | ||||
</div> | </div> | ||||
<div class="buttom"> | <div class="buttom"> | ||||
<Bar id="bar2"></Bar> | |||||
<Bar v-if="isLoad" id="bar2"></Bar> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</Pannel> | </Pannel> |
@@ -1,15 +1,34 @@ | |||||
import Pannel from '@/components/pannel/index.vue'; | import Pannel from '@/components/pannel/index.vue'; | ||||
import PannelTabs from '@/components/pannel-tabs/index.vue'; | import PannelTabs from '@/components/pannel-tabs/index.vue'; | ||||
import Bar from '@/components/charts/bar/index.vue'; | import Bar from '@/components/charts/bar/index.vue'; | ||||
import { resourceOutsourcingAnalysis } from '../../../../api/index.js' | |||||
import { mapGetters } from 'vuex' | |||||
export default { | export default { | ||||
components: { | components: { | ||||
Bar, | Bar, | ||||
PannelTabs, | PannelTabs, | ||||
Pannel | Pannel | ||||
}, | }, | ||||
computed: { | |||||
...mapGetters(['year', 'deptId']) | |||||
}, | |||||
watch: { | |||||
year: { | |||||
handler () { | |||||
this.getData(); | |||||
}, | |||||
immediate: true, // 立即执行 | |||||
}, | |||||
deptId: { | |||||
handler () { | |||||
this.getData(); | |||||
}, | |||||
immediate: true, // 立即执行 | |||||
} | |||||
}, | |||||
data () { | data () { | ||||
return { | return { | ||||
isLoad: false, | |||||
pannelTabData: [ | pannelTabData: [ | ||||
{ | { | ||||
id: '1', | id: '1', | ||||
@@ -28,9 +47,24 @@ export default { | |||||
mounted () { | mounted () { | ||||
}, | }, | ||||
methods: { | methods: { | ||||
getData () { | |||||
if (this.year, this.deptId) { | |||||
this.isLoad = false; | |||||
resourceOutsourcingAnalysis(this.deptId, this.year).then(res => { | |||||
if (this.tabIndex == 1) { | |||||
this.data = res.data.xz | |||||
} else if (this.tabIndex == 2) { | |||||
this.data = res.data.cz | |||||
} | |||||
this.isLoad = true; | |||||
}) | |||||
} | |||||
}, | |||||
tabChange (info) { | tabChange (info) { | ||||
//console.log(info); | |||||
this.tabIndex = info.id | this.tabIndex = info.id | ||||
this.getData() | |||||
} | } | ||||
} | } | ||||
}; | }; |
@@ -1,26 +1,26 @@ | |||||
export default [ | export default [ | ||||
[ | [ | ||||
{ | { | ||||
name: '总资产(万元)', | |||||
name: '合同数量(个)', | |||||
icon: require('./1.png'), | icon: require('./1.png'), | ||||
value: '8000' | |||||
value: '0' | |||||
}, | }, | ||||
{ | { | ||||
name: '总负债(万元)', | |||||
name: '总合同额(万元)', | |||||
icon: require('./2.png'), | icon: require('./2.png'), | ||||
value: '257' | |||||
value: '0' | |||||
} | } | ||||
], | ], | ||||
[ | [ | ||||
{ | { | ||||
name: '总收入(万元)', | |||||
name: '已结款(万元)', | |||||
icon: require('./3.png'), | icon: require('./3.png'), | ||||
value: '1460' | |||||
value: '0' | |||||
}, | }, | ||||
{ | { | ||||
name: '总支出(万元)', | |||||
name: '待借款(万元)', | |||||
icon: require('./2.png'), | icon: require('./2.png'), | ||||
value: '1011' | |||||
value: '0' | |||||
} | } | ||||
] | ] | ||||
] | ] |
@@ -1,14 +1,48 @@ | |||||
import Pannel from '@/components/pannel/index.vue'; | import Pannel from '@/components/pannel/index.vue'; | ||||
import Block from '@/components/block/index.vue'; | import Block from '@/components/block/index.vue'; | ||||
import data from './data.js'; | import data from './data.js'; | ||||
import { analysisContractTypes } from '../../../../api/index.js' | |||||
import { mapGetters } from 'vuex' | |||||
export default { | export default { | ||||
components: { | components: { | ||||
Block, | Block, | ||||
Pannel | Pannel | ||||
}, | }, | ||||
computed: { | |||||
...mapGetters(['year', 'deptId']) | |||||
}, | |||||
watch: { | |||||
year: { | |||||
handler () { | |||||
this.getData(); | |||||
}, | |||||
immediate: true, // 立即执行 | |||||
}, | |||||
deptId: { | |||||
handler () { | |||||
this.getData(); | |||||
}, | |||||
immediate: true, // 立即执行 | |||||
} | |||||
}, | |||||
data () { | data () { | ||||
return { | return { | ||||
data | data | ||||
}; | }; | ||||
}, | |||||
methods: { | |||||
getData () { | |||||
if (this.year, this.deptId) { | |||||
this.isLoad = false; | |||||
analysisContractTypes(this.deptId, this.year).then(res => { | |||||
console.log('analysisContractTypes', 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; | |||||
}) | |||||
} | |||||
} | |||||
} | } | ||||
}; | }; |