diff --git a/hw-ui/src/api/board/fifthFloorWarehouse.js b/hw-ui/src/api/board/fifthFloorWarehouse.js
index 90871699..af6dae95 100644
--- a/hw-ui/src/api/board/fifthFloorWarehouse.js
+++ b/hw-ui/src/api/board/fifthFloorWarehouse.js
@@ -15,3 +15,12 @@ export function fifthPanake(query) {
params: query
})
}
+
+
+export function agvStatus(query) {
+ return request({
+ url: '/wms/FifthWmsBorder/agvStatus',
+ method: 'get',
+ params: query
+ })
+}
diff --git a/hw-ui/src/views/board/warehouse/fifthFloor.vue b/hw-ui/src/views/board/warehouse/fifthFloor.vue
index 34a9ba64..09f8acfe 100644
--- a/hw-ui/src/views/board/warehouse/fifthFloor.vue
+++ b/hw-ui/src/views/board/warehouse/fifthFloor.vue
@@ -21,6 +21,30 @@
+
+
+ agv1
+ 充电
+ 待机
+ 运行
+ 故障
+
+
+ agv2
+ 充电
+ 待机
+ 运行
+ 故障
+
+
+ agv3
+ 充电
+ 待机
+ 运行
+ 故障
+
+
+
{{ topData.rawInStock[0] }}
{{ topData.rawInStock[1] }}
{{ topData.rawInStock[2] }}
@@ -57,7 +81,7 @@ import vueSeamlessScroll from 'vue-seamless-scroll'
import Chart from '@/components/board/Chart'
import HighChart from '@/components/board/HighChart'
import * as echarts from 'echarts'
-import { fifthPanake, locationCount } from '@/api/board/fifthFloorWarehouse'
+import { agvStatus, fifthPanake, locationCount } from '@/api/board/fifthFloorWarehouse'
const vw = (document.documentElement.clientWidth || document.body.clientWidth) / 100
export default {
@@ -76,6 +100,7 @@ export default {
rawInStock: [0, 0, 0, 0],
rawOutStock: [0, 0, 0, 0]
},
+ AGVData:[],
title: [
'原料库入库数量:',
'成品入库数量:',
@@ -124,6 +149,10 @@ export default {
},
methods: {
getData() {
+ agvStatus().then(e=>{
+ console.log(e)
+ this.AGVData = e.data
+ })
locationCount().then(e => {
this.topData.furawInStock = [...[0, 0, 0, 0], ...(e.data.furawInStock || 0).toString().split('')].slice(-4)
this.topData.productInStock = [...[0, 0, 0, 0], ...(e.data.productInStock || 0).toString().split('')].slice(-4)
@@ -139,9 +168,9 @@ export default {
color: '#fff'
}
},
- tooltip:{
+ tooltip: {
pointFormatter: function() {
- return '占比:'+ this.options.y + '%'
+ return '占比:' + this.options.y + '%'
}
},
credits: {
@@ -213,12 +242,12 @@ export default {
{
'name': '空料箱',
y: parseFloat((e.data.emptyLocationPercentage * 100).toFixed(2)),
- h: Math.min(parseFloat((e.data.emptyLocationPercentage * 100).toFixed(2)),50)
+ h: Math.min(parseFloat((e.data.emptyLocationPercentage * 100).toFixed(2)), 50)
},
{
name: '非空料箱',
y: parseFloat(((1 - e.data.emptyLocationPercentage) * 100).toFixed(2)),
- h: Math.min(parseFloat(((1 - e.data.emptyLocationPercentage) * 100).toFixed(2)),50)
+ h: Math.min(parseFloat(((1 - e.data.emptyLocationPercentage) * 100).toFixed(2)), 50)
}
].sort((a, b) => a.y - b.y)
}]
@@ -230,9 +259,9 @@ export default {
color: '#fff'
}
},
- tooltip:{
+ tooltip: {
pointFormatter: function() {
- return '占比:'+ this.options.y + '%'
+ return '占比:' + this.options.y + '%'
}
},
credits: {
@@ -305,12 +334,12 @@ export default {
{
'name': '在库内',
y: parseFloat((e.data.opplyLocationPercentage * 100).toFixed(2)),
- h: Math.min(parseFloat((e.data.opplyLocationPercentage * 100).toFixed(2)),50)
+ h: Math.min(parseFloat((e.data.opplyLocationPercentage * 100).toFixed(2)), 50)
},
{
name: '在库外',
y: parseFloat(((1 - e.data.opplyLocationPercentage) * 100).toFixed(2)),
- h: Math.min(parseFloat(((1 - e.data.opplyLocationPercentage) * 100).toFixed(2)),50)
+ h: Math.min(parseFloat(((1 - e.data.opplyLocationPercentage) * 100).toFixed(2)), 50)
}
].sort((a, b) => a.y - b.y)
}]
@@ -324,9 +353,9 @@ export default {
color: '#fff'
}
},
- tooltip:{
+ tooltip: {
pointFormatter: function() {
- return '占比:'+ this.options.y + '%' +'
'+'数量:' + this.options.z
+ return '占比:' + this.options.y + '%' + '
' + '数量:' + this.options.z
}
},
credits: {
@@ -398,9 +427,9 @@ export default {
data: e.data.wmsRawStocks.map(v => {
return {
name: v.materialName,
- z:v.totalAmount,
- y: parseFloat(((v.totalAmount/total)*100).toFixed(1)),
- h: Math.min(parseFloat(((v.totalAmount / total) * 100).toFixed(2)),50)
+ z: v.totalAmount,
+ y: parseFloat(((v.totalAmount / total) * 100).toFixed(1)),
+ h: Math.min(parseFloat(((v.totalAmount / total) * 100).toFixed(2)), 50)
}
})
}]
@@ -413,9 +442,9 @@ export default {
color: '#fff'
}
},
- tooltip:{
+ tooltip: {
pointFormatter: function() {
- return '占比:'+ this.options.y + '%' +'
'+'数量:' + this.options.z
+ return '占比:' + this.options.y + '%' + '
' + '数量:' + this.options.z
}
},
credits: {
@@ -488,8 +517,8 @@ export default {
return {
name: v.materialName,
z: v.totalAmount,
- y: parseFloat(((v.totalAmount/total1)*100).toFixed(1)),
- h: Math.min(parseFloat(((v.totalAmount / total1) * 100).toFixed(2)),50)
+ y: parseFloat(((v.totalAmount / total1) * 100).toFixed(1)),
+ h: Math.min(parseFloat(((v.totalAmount / total1) * 100).toFixed(2)), 50)
}
})
}]
@@ -590,15 +619,38 @@ export default {
position: absolute;
transform: translate(-50%, -50%);
}
-.img{
+
+.img {
background-image: url("../../../assets/board/warehouse.png");
background-repeat: no-repeat;
background-size: 100% 100%;
position: absolute;
- top: 59%;
+ top: 48%;
left: 73.5%;
width: 33%;
height: 24.63vw;
- transform: translate(-50%,-50%);
+ transform: translate(-50%, -50%);
+}
+
+.agvData {
+ position: absolute;
+ bottom: 8%;
+ left: 73.5%;
+ height: 10vw;
+ transform: translateX(-50%);
+ color: #fff;
+}
+/deep/.el-button{
+ background:#0000;
+ color: #fff;
+}
+/deep/.el-button--success{
+ background-color: #13ce66;
+}
+/deep/.el-button--danger{
+ background-color: #ff4949;
+}
+/deep/.el-button--primary{
+ background-color: #1890ff;
}