|
|
|
|
@ -12,13 +12,14 @@
|
|
|
|
|
</div>
|
|
|
|
|
<div class="jscC-center">
|
|
|
|
|
<div class="jscC-center-left" >
|
|
|
|
|
<Pie3DChart :data="upList"></Pie3DChart>
|
|
|
|
|
<!-- <div class="jscC-center-left-title">物资数量统计</div> -->
|
|
|
|
|
<!-- <div class="jscC-center-left-content"> -->
|
|
|
|
|
<!-- <div v-for="item in upList">
|
|
|
|
|
<!-- <Pie3DChart :data="upList"></Pie3DChart> -->
|
|
|
|
|
<div class="jscC-center-left-title">重要防汛物资</div>
|
|
|
|
|
<div class="jscC-center-left-content">
|
|
|
|
|
<div v-for="item in upList">
|
|
|
|
|
<img :src="item.img" alt="">
|
|
|
|
|
<span>{{item.name}}:</span>
|
|
|
|
|
<span>{{item.total}}{{item.unit?item.unit:''}}</span>
|
|
|
|
|
</div> -->
|
|
|
|
|
<span>{{item.value}}{{item.unit?item.unit:''}}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- <Pie3DChart :data="upList"></Pie3DChart> -->
|
|
|
|
|
<!-- <span
|
|
|
|
|
v-for="item in Object.keys(chartDataMap)"
|
|
|
|
|
@ -28,7 +29,7 @@
|
|
|
|
|
>
|
|
|
|
|
{{ item }}
|
|
|
|
|
</span> -->
|
|
|
|
|
<!-- </div> -->
|
|
|
|
|
</div>
|
|
|
|
|
<!-- <Bar3DChart></Bar3DChart> -->
|
|
|
|
|
<!-- <fenleiChart :chart-data="chartData" /> -->
|
|
|
|
|
</div>
|
|
|
|
|
@ -159,7 +160,16 @@ export default {
|
|
|
|
|
}, {
|
|
|
|
|
id: 'weihu',
|
|
|
|
|
value: '维护'
|
|
|
|
|
}]
|
|
|
|
|
}],
|
|
|
|
|
imgList:{
|
|
|
|
|
'袋类':require("@/assets/dailei.jpg"),
|
|
|
|
|
'排水类':require('@/assets/beng.jpg'),
|
|
|
|
|
'土工布类':require('@/assets/tugongbu.jpg'),
|
|
|
|
|
'动力及照明类':require('@/assets/zhaoming.jpg'),
|
|
|
|
|
'移动泵车':require('@/assets/bengche.jpg'),
|
|
|
|
|
'桩类':require('@/assets/zhuanglei.jpg'),
|
|
|
|
|
'砂石类':require('@/assets/shashi.jpg'),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
@ -220,6 +230,9 @@ export default {
|
|
|
|
|
// unit:item.unit
|
|
|
|
|
// })
|
|
|
|
|
// })
|
|
|
|
|
res.upList.map(item=>{
|
|
|
|
|
item.img = this.imgList[item.name]
|
|
|
|
|
})
|
|
|
|
|
this.upList = this.mergeAndRename(res.upList)
|
|
|
|
|
console.log("this.upList",this.upList)
|
|
|
|
|
},
|
|
|
|
|
@ -228,30 +241,31 @@ export default {
|
|
|
|
|
let pumpTotal = 0; // 排水类总和
|
|
|
|
|
let mobilePumpTotal = 0; // 移动泵车总和
|
|
|
|
|
let pumpUnit = ""; // 排水类的单位
|
|
|
|
|
|
|
|
|
|
let pumpImg = this.imgList['排水类']
|
|
|
|
|
// 第一步:遍历数组,处理常规项并统计特殊项
|
|
|
|
|
arr.forEach(item => {
|
|
|
|
|
const { name, total, unit } = item;
|
|
|
|
|
const { name, total, unit, img } = item;
|
|
|
|
|
const value = total;
|
|
|
|
|
|
|
|
|
|
if (name === "排水类") {
|
|
|
|
|
pumpTotal += value;
|
|
|
|
|
// 记录排水类的unit(假设所有排水类unit相同)
|
|
|
|
|
if (!pumpUnit) pumpUnit = unit;
|
|
|
|
|
|
|
|
|
|
} else if (name === "移动泵车") {
|
|
|
|
|
mobilePumpTotal += value;
|
|
|
|
|
// 正常处理移动泵车,加入结果集
|
|
|
|
|
if (resultMap.has(name)) {
|
|
|
|
|
resultMap.get(name).value += value;
|
|
|
|
|
} else {
|
|
|
|
|
resultMap.set(name, { name, value, unit });
|
|
|
|
|
resultMap.set(name, { name, value, unit,img });
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
// 常规项处理
|
|
|
|
|
if (resultMap.has(name)) {
|
|
|
|
|
resultMap.get(name).value += value;
|
|
|
|
|
} else {
|
|
|
|
|
resultMap.set(name, { name, value, unit });
|
|
|
|
|
resultMap.set(name, { name, value, unit,img });
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
@ -259,7 +273,7 @@ export default {
|
|
|
|
|
// 第二步:计算泵类值并添加到结果集
|
|
|
|
|
if (pumpTotal > 0) {
|
|
|
|
|
const finalPumpValue = pumpTotal - mobilePumpTotal;
|
|
|
|
|
resultMap.set("泵", { name: "泵", value: finalPumpValue, unit: pumpUnit });
|
|
|
|
|
resultMap.set("泵", { name: "泵", value: finalPumpValue, unit: pumpUnit,img:pumpImg });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return Array.from(resultMap.values());
|
|
|
|
|
@ -430,7 +444,7 @@ export default {
|
|
|
|
|
|
|
|
|
|
// flex-wrap: wrap;
|
|
|
|
|
&-left {
|
|
|
|
|
|
|
|
|
|
height: 400px;
|
|
|
|
|
&-title {
|
|
|
|
|
color: #6dcde6;
|
|
|
|
|
text-align: center;
|
|
|
|
|
@ -440,12 +454,21 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
&-content{
|
|
|
|
|
width: 450px;
|
|
|
|
|
height: 400px;
|
|
|
|
|
display:flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
&>div{
|
|
|
|
|
text-align: center;
|
|
|
|
|
flex-basis: 50%;
|
|
|
|
|
text-align: left;
|
|
|
|
|
margin:10px 0;
|
|
|
|
|
color:#fff;
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
&>img{
|
|
|
|
|
width:30px;
|
|
|
|
|
height:30px;
|
|
|
|
|
margin-right:10px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.custom-btn {
|
|
|
|
|
|