|
|
|
|
@ -15,8 +15,8 @@
|
|
|
|
|
<div class="jscC-center-left">
|
|
|
|
|
<!-- <Pie3DChart :data="upList"></Pie3DChart> -->
|
|
|
|
|
<div class="jscC-center-left-title">
|
|
|
|
|
<span>重要防汛物资</span>
|
|
|
|
|
<div>
|
|
|
|
|
<span>市级重要防汛物资</span>
|
|
|
|
|
<!-- <div>
|
|
|
|
|
<span
|
|
|
|
|
:class="['custom-btn', { active: activeType === '市级' }]"
|
|
|
|
|
@click="onTypeClick('市级')"
|
|
|
|
|
@ -27,31 +27,65 @@
|
|
|
|
|
@click="onTypeClick('全市')"
|
|
|
|
|
>全市</span
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
</div> -->
|
|
|
|
|
</div>
|
|
|
|
|
<div class="jscC-center-left-content">
|
|
|
|
|
<div v-if="activeType === '市级'" v-for="item in upList">
|
|
|
|
|
<div v-for="item in upList">
|
|
|
|
|
<img :src="item.img" alt="" />
|
|
|
|
|
<span>{{ item.name }}:</span>
|
|
|
|
|
<span>{{ item.value }}{{ item.unit ? item.unit : '' }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div v-if="activeType === '全市'" v-for="item in upListByFloodMaterials">
|
|
|
|
|
<!-- <div v-if="activeType === '全市'" v-for="item in upListByFloodMaterials">
|
|
|
|
|
<img :src="item.img" alt="" />
|
|
|
|
|
<span>{{ item.name }}:</span>
|
|
|
|
|
<span>{{ item.value }}{{ item.unit ? item.unit : '' }}</span>
|
|
|
|
|
</div> -->
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="jscC-center-left-title">
|
|
|
|
|
<span>全市重要防汛物资</span>
|
|
|
|
|
<!-- <div>
|
|
|
|
|
<span
|
|
|
|
|
:class="['custom-btn', { active: activeType === '市级' }]"
|
|
|
|
|
@click="onTypeClick('市级')"
|
|
|
|
|
>市级</span
|
|
|
|
|
>
|
|
|
|
|
<span
|
|
|
|
|
:class="['custom-btn', { active: activeType === '全市' }]"
|
|
|
|
|
@click="onTypeClick('全市')"
|
|
|
|
|
>全市</span
|
|
|
|
|
>
|
|
|
|
|
</div> -->
|
|
|
|
|
</div>
|
|
|
|
|
<div class="jscC-center-top">
|
|
|
|
|
<div class="jscC-center-left-content">
|
|
|
|
|
<!-- <div v-if="activeType === '市级'" v-for="item in upList">
|
|
|
|
|
<img :src="item.img" alt="" />
|
|
|
|
|
<span>{{ item.name }}:</span>
|
|
|
|
|
<span>{{ item.value }}{{ item.unit ? item.unit : '' }}</span>
|
|
|
|
|
</div> -->
|
|
|
|
|
|
|
|
|
|
<div v-for="item in upListByFloodMaterials">
|
|
|
|
|
<img :src="item.img" alt="" />
|
|
|
|
|
<span>{{ item.name }}:</span>
|
|
|
|
|
<span>{{ item.value }}{{ item.unit ? item.unit : '' }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- <div class="jscC-center-top">
|
|
|
|
|
<div class="jscC-center-left-title">年度物资动态</div>
|
|
|
|
|
<WarehouseTable></WarehouseTable>
|
|
|
|
|
</div>
|
|
|
|
|
</div> -->
|
|
|
|
|
</div>
|
|
|
|
|
<div class="jscC-center-center">
|
|
|
|
|
<echartsMap ref="echartsMap" />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="jscC-center-right">
|
|
|
|
|
<div class="chart-header">
|
|
|
|
|
<div class="jscC-center-top">
|
|
|
|
|
<!-- <div class="jscC-center-left-title">最新出库</div> -->
|
|
|
|
|
<WarehouseTable></WarehouseTable>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- <div class="chart-header">
|
|
|
|
|
<div class="chart-title">已办任务</div>
|
|
|
|
|
<div class="time-tabs">
|
|
|
|
|
<span
|
|
|
|
|
@ -64,8 +98,7 @@
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<Bar3DChart :x-data="chartXData" :y-data="chartYData" />
|
|
|
|
|
<!-- <Pie3DChart></Pie3DChart> -->
|
|
|
|
|
<Bar3DChart :x-data="chartXData" :y-data="chartYData" /> -->
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="jscC-bottom">
|
|
|
|
|
@ -137,25 +170,30 @@ export default {
|
|
|
|
|
id: 'yingjidiaodu_count',
|
|
|
|
|
unit: '次'
|
|
|
|
|
},
|
|
|
|
|
// {
|
|
|
|
|
// label: '队伍数量',
|
|
|
|
|
// value: 0,
|
|
|
|
|
// id: 'team_count',
|
|
|
|
|
// unit: '个'
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// label: '队伍出动人次',
|
|
|
|
|
// value: 0,
|
|
|
|
|
// id: 'team_article_total',
|
|
|
|
|
// unit: '人次'
|
|
|
|
|
// },
|
|
|
|
|
{
|
|
|
|
|
label: '队伍数量',
|
|
|
|
|
value: 0,
|
|
|
|
|
id: 'team_count',
|
|
|
|
|
unit: '个'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '队伍出动人次',
|
|
|
|
|
label: '本年度物资调动',
|
|
|
|
|
value: 0,
|
|
|
|
|
id: 'team_article_total',
|
|
|
|
|
unit: '人次'
|
|
|
|
|
id: 'stock_outbounds_count',
|
|
|
|
|
unit: '次'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '正在出动抢险队伍',
|
|
|
|
|
label: '本年度队伍出动',
|
|
|
|
|
value: 0,
|
|
|
|
|
id: 'team_raxing_count',
|
|
|
|
|
unit: '个'
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
id: 'team_articles_count',
|
|
|
|
|
unit: '次'
|
|
|
|
|
}
|
|
|
|
|
// {
|
|
|
|
|
// label: '装备总数',
|
|
|
|
|
// value: 0,
|
|
|
|
|
@ -183,14 +221,6 @@ export default {
|
|
|
|
|
label: '出库管理',
|
|
|
|
|
path: '/outbounds/index'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '统计报表',
|
|
|
|
|
path: '/reports/stocks'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '应急防御',
|
|
|
|
|
path: '/books/index'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '盘点管理',
|
|
|
|
|
path: '/inventorys/stocktaking'
|
|
|
|
|
@ -202,6 +232,14 @@ export default {
|
|
|
|
|
{
|
|
|
|
|
label: '应急调令',
|
|
|
|
|
path: '/workOrder/index'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '应急防御',
|
|
|
|
|
path: '/books/index'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '统计报表',
|
|
|
|
|
path: '/reports/stocks'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
// 分类
|
|
|
|
|
@ -476,19 +514,19 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 用户点击切换
|
|
|
|
|
onTypeClick(type) {
|
|
|
|
|
if (this.activeType !== type) {
|
|
|
|
|
this.activeType = type
|
|
|
|
|
}
|
|
|
|
|
this.clearAutoSwitch()
|
|
|
|
|
this.userInteracted = true
|
|
|
|
|
// 10秒后恢复自动切换
|
|
|
|
|
if (this.resumeTimer) clearTimeout(this.resumeTimer)
|
|
|
|
|
this.resumeTimer = setTimeout(() => {
|
|
|
|
|
this.userInteracted = false
|
|
|
|
|
this.startAutoSwitch()
|
|
|
|
|
}, 10000)
|
|
|
|
|
},
|
|
|
|
|
// onTypeClick(type) {
|
|
|
|
|
// if (this.activeType !== type) {
|
|
|
|
|
// this.activeType = type
|
|
|
|
|
// }
|
|
|
|
|
// this.clearAutoSwitch()
|
|
|
|
|
// this.userInteracted = true
|
|
|
|
|
// // 10秒后恢复自动切换
|
|
|
|
|
// if (this.resumeTimer) clearTimeout(this.resumeTimer)
|
|
|
|
|
// this.resumeTimer = setTimeout(() => {
|
|
|
|
|
// this.userInteracted = false
|
|
|
|
|
// this.startAutoSwitch()
|
|
|
|
|
// }, 10000)
|
|
|
|
|
// },
|
|
|
|
|
// 获取统计数据
|
|
|
|
|
// 获取已办任务
|
|
|
|
|
async getFinishData() {
|
|
|
|
|
@ -560,6 +598,9 @@ export default {
|
|
|
|
|
// 顶部数据
|
|
|
|
|
this.topObj.map(item => {
|
|
|
|
|
item.value = home.top[item.id]
|
|
|
|
|
if(item.id=='stock_outbounds_count'){
|
|
|
|
|
item.value = home.top['stock_count']+home.top['outbounds_count']
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
this.xData = []
|
|
|
|
|
@ -579,7 +620,7 @@ export default {
|
|
|
|
|
item.img = this.imgList[item.name]
|
|
|
|
|
})
|
|
|
|
|
this.upListByFloodMaterials = this.mergeAndRename(res.upListByFloodMaterials)
|
|
|
|
|
this.startAutoSwitch()
|
|
|
|
|
// this.startAutoSwitch()
|
|
|
|
|
},
|
|
|
|
|
mergeAndRename(arr) {
|
|
|
|
|
const resultMap = new Map()
|
|
|
|
|
@ -762,7 +803,7 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&-content {
|
|
|
|
|
width: 450px;
|
|
|
|
|
width: 400px;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
|
|
|
|
|
@ -813,7 +854,6 @@ export default {
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
gap: 20px;
|
|
|
|
|
|
|
|
|
|
.chart-title {
|
|
|
|
|
color: #6dcde6;
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
|