huangxiaoqiang
2025-06-12 c54e0666bdd34fbe133fe521bf9d46dd6c0fe53e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<template>
  <div id="centerRight1">
    <div class="bg-color-black">
      <div class="d-flex pt-2 pl-2">
        <span>
          <icon name="chart-line" class="text-icon"></icon>
        </span>
        <div class="d-flex">
          <span class="fs-xl text mx-2">AGV任务看板</span>
        </div>
      </div>
      <div class="d-flex jc-center body-box">
        <dv-scroll-board class="dv-scr-board" :config="config" />
      </div>
    </div>
  </div>
</template>
 
<script>
import axios from 'axios';
export default {
  data() {
    return {
      config: {
        header: ['任务号', '起点地址', '终点地址',"任务类型", '状态','区域','任务下发时间'],
        data: [
          ['组件1', 'dev-1', "<span  class='colorGrass'>↑75%</span>", "ddd"],
          ['组件2', 'dev-2', "<span  class='colorRed'>↓33%</span>"],
          ['组件3', 'dev-3', "<span  class='colorGrass'>↑100%</span>"],
          ['组件4', 'rea-1', "<span  class='colorGrass'>↑94%</span>"],
          ['组件5', 'rea-2', "<span  class='colorGrass'>↑95%</span>"],
          ['组件6', 'fix-2', "<span  class='colorGrass'>↑63%</span>"],
          ['组件7', 'fix-4', "<span  class='colorGrass'>↑84%</span>"],
          ['组件8', 'fix-7', "<span  class='colorRed'>↓46%</span>"],
          ['组件9', 'dev-2', "<span  class='colorRed'>↓13%</span>"],
          ['组件10', 'dev-9', "<span  class='colorGrass'>↑76%</span>"]
        ],
        rowNum: 7, //表格行数
        headerHeight: 35,
        headerBGC: '#0f1325', //表头
        oddRowBGC: '#0f1325', //奇数行
        evenRowBGC: '#171c33', //偶数行
        index: true,
        columnWidth: [100,102,100,100,100,100,80,140],
        align: ['center']
      }
    }
  },
  mounted() {
    this.changeTiming()
  },
  methods: {
    changeTiming() {
      this.changeNumber()
      setInterval(() => {
        this.changeNumber()
      },3000)
    },
    changeNumber() {
      axios.get('http://127.0.0.1:9291/api/Task/GetAgvTaskData')
      .then(response => {
        console.log(response.data.data)
          let GetAGVTaskData = []
          if(response.data.data.length <=0){
            let data = ["<span  class='colorRed'>暂无数据</span>","<span  class='colorRed'>暂无数据</span>","<span  class='colorRed'>暂无数据</span>","<span  class='colorRed'>暂无数据</span>","<span  class='colorRed'>暂无数据</span>","<span  class='colorRed'>暂无数据</span>","<span  class='colorRed'>暂无数据</span>"]
            GetAGVTaskData.push(data)
          }else{
             response.data.data.forEach(element => {
             let data = [element.taskNum,"<span  class='colorRed'>"+element.sourceAddress+"</span>" , 
             "<span  class='colorGrass'>" + element.targetAddress + "</span>",element.taskType,
              element.taskState,element.roadway,element.dispatchertime,]
             GetAGVTaskData.push(data)
           });
          }
          this.config.data = GetAGVTaskData;
          this.config = {
            header: ['任务号', '起点地址', '终点地址',"任务类型", '状态','区域','任务下发时间'],
            data: GetAGVTaskData,
            rowNum: 7, //表格行数
            headerHeight: 35,
            headerBGC: '#0f1325', //表头
            oddRowBGC: '#0f1325', //奇数行
            evenRowBGC: '#171c33', //偶数行
            index: true,
            columnWidth: [100,102,100,100,100,100,80,140],
            align: ['center'],
          }
      })
      .catch(error => {
        console.error('请求出错:', error);
      });
    }
  }
}
</script>
 
<style lang="scss" scoped>
$box-height: 700px;
$box-width: 100%;
 
#centerRight1 {
  padding: 16px;
  padding-top: 20px;
  height: $box-height;
  width: $box-width;
  border-radius: 5px;
 
  .bg-color-black {
    height: $box-height - 240px;
    border-radius: 10px;
  }
 
  .text {
    color: #c3cbde;
  }
 
  .body-box {
    border-radius: 10px;
    overflow: hidden;
 
    .dv-scr-board {
      width: 100%;
      height: 435px;
    }
  }
}
</style>