|
|
@ -101,7 +101,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div :class="`${i.isGoods? 'agv2':'agv1'}`" v-for="i in agvData"
|
|
|
|
<div :class="`${i.isGoods? 'agv2':'agv1'}`" v-for="i in agvData"
|
|
|
|
:style="`${getLocation(i.x,i.y)}transform: rotate(${parseFloat(i.rotate )- 90}deg);`"></div>
|
|
|
|
:style="`${getLocation(i.x,i.y)}transform: rotate(${parseFloat(i.rotate )- 180}deg);`"></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
@ -276,9 +276,9 @@ export default {
|
|
|
|
hfData: [],
|
|
|
|
hfData: [],
|
|
|
|
equipmentData: [],
|
|
|
|
equipmentData: [],
|
|
|
|
agvData: [],
|
|
|
|
agvData: [],
|
|
|
|
siteData:{
|
|
|
|
siteData: {
|
|
|
|
x:250000,
|
|
|
|
x: 121000,
|
|
|
|
y:200000
|
|
|
|
y: 82000
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
@ -293,11 +293,12 @@ export default {
|
|
|
|
getAgvLocation() {
|
|
|
|
getAgvLocation() {
|
|
|
|
let agvArr = []
|
|
|
|
let agvArr = []
|
|
|
|
getAgvData().then(e => {
|
|
|
|
getAgvData().then(e => {
|
|
|
|
|
|
|
|
console.log(Math.max(...e.Data.map(v => v.X)), Math.max(...e.Data.map(v => v.Y)))
|
|
|
|
e.Data.forEach(v => {
|
|
|
|
e.Data.forEach(v => {
|
|
|
|
agvArr.push({
|
|
|
|
agvArr.push({
|
|
|
|
id: v.AgvId,
|
|
|
|
id: v.AgvId,
|
|
|
|
x: Math.random() || v.X/this.siteData.x,
|
|
|
|
x: (v.X - 126000) / this.siteData.x,
|
|
|
|
y: Math.random() || v.Y/this.siteData.y,
|
|
|
|
y: (72000 - (v.Y - 116000)) / this.siteData.y,
|
|
|
|
rotate: v.Angle,
|
|
|
|
rotate: v.Angle,
|
|
|
|
isGoods: false,
|
|
|
|
isGoods: false,
|
|
|
|
})
|
|
|
|
})
|
|
|
@ -305,16 +306,22 @@ export default {
|
|
|
|
this.agvData = agvArr
|
|
|
|
this.agvData = agvArr
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
},
|
|
|
|
updateAGVLocation(time){
|
|
|
|
updateAGVLocation(time) {
|
|
|
|
getAgvData().then(e => {
|
|
|
|
getAgvData().then(e => {
|
|
|
|
e.Data.forEach(v => {
|
|
|
|
e.Data.forEach(v => {
|
|
|
|
if(this.agvData.filter(r=>r.id===v.AgvId).length>=1){
|
|
|
|
if (this.agvData.filter(r => r.id === v.AgvId).length >= 1) {
|
|
|
|
new TWEEN.Tween(this.agvData.find(r=>r.id===v.AgvId)).to({x:v.X/this.siteData.x, y: v.Y/this.siteData.y}, time).start()
|
|
|
|
new TWEEN.Tween(this.agvData.find(r => r.id === v.AgvId)).to({
|
|
|
|
}else{
|
|
|
|
rotate: v.Angle,
|
|
|
|
|
|
|
|
}, 100).start()
|
|
|
|
|
|
|
|
new TWEEN.Tween(this.agvData.find(r => r.id === v.AgvId)).to({
|
|
|
|
|
|
|
|
x: (v.X - 126000) / this.siteData.x,
|
|
|
|
|
|
|
|
y: (72000 - (v.Y - 116000)) / this.siteData.y,
|
|
|
|
|
|
|
|
}, time - 100).start()
|
|
|
|
|
|
|
|
} else {
|
|
|
|
this.agvData.push({
|
|
|
|
this.agvData.push({
|
|
|
|
id: v.AgvId,
|
|
|
|
id: v.AgvId,
|
|
|
|
x: Math.random() || v.X/this.siteData.x,
|
|
|
|
x: (v.X - 126000) / this.siteData.x,
|
|
|
|
y: Math.random() || v.Y/this.siteData.y,
|
|
|
|
y: (72000 - (v.Y - 116000)) / this.siteData.y,
|
|
|
|
rotate: v.Angle,
|
|
|
|
rotate: v.Angle,
|
|
|
|
isGoods: false,
|
|
|
|
isGoods: false,
|
|
|
|
})
|
|
|
|
})
|
|
|
@ -340,13 +347,15 @@ export default {
|
|
|
|
mounted() {
|
|
|
|
mounted() {
|
|
|
|
this.getData()
|
|
|
|
this.getData()
|
|
|
|
this.getAgvLocation()
|
|
|
|
this.getAgvLocation()
|
|
|
|
setInterval(()=>{
|
|
|
|
let time = 2 * 1000
|
|
|
|
this.updateAGVLocation(5*1000)
|
|
|
|
setInterval(() => {
|
|
|
|
},5*1000)
|
|
|
|
this.updateAGVLocation(time)
|
|
|
|
|
|
|
|
}, time)
|
|
|
|
|
|
|
|
|
|
|
|
setInterval(() => {
|
|
|
|
setInterval(() => {
|
|
|
|
this.loopIndex = (this.loopIndex + 1) % 26
|
|
|
|
this.loopIndex = (this.loopIndex + 1) % 26
|
|
|
|
}, 1000 * 5)
|
|
|
|
}, 1000 * 5)
|
|
|
|
|
|
|
|
|
|
|
|
function animate() {
|
|
|
|
function animate() {
|
|
|
|
requestAnimationFrame(animate)
|
|
|
|
requestAnimationFrame(animate)
|
|
|
|
TWEEN.update()
|
|
|
|
TWEEN.update()
|
|
|
|