叶松
2023-10-11 f9c8296c5f3384bee51b6b840cd61d80f2b0c8a2
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
128
129
130
<template>
  <div class="main">
    <div class="main_header">
      <div class="header_item">
        <span class="header_label">AGV名称:</span>
        <el-input v-model="search.mouldNum" :size="size" clearable placeholder="请输入AGV名称"></el-input>
      </div>
      <div class="header_item">
        <span class="header_label">时间范围:</span>
        <el-date-picker
            v-model="search.time"
            type="daterange"
            :default-time="['00:00:00','23:59:59']"
            clearable
            value-format="yyyy-MM-dd HH:mm:ss"
            range-separator="-"
            start-placeholder="起始时间"
            end-placeholder="结束时间">
        </el-date-picker>
      </div>
      <div class="header_item">
        <el-button   :size="size" icon="el-icon-search" v-if="showButton('search')" @click="searchButtonInfo(true)">查询</el-button>
      </div>
    </div>
    <div class="main_content">
      <el-table
        v-loading="loading"
        :data="dataList"
        height="100%">
        <el-table-column align="center" label="序号" width="60">
          <template #default="scope">
            <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="mouldCode" label="时间" align="center" ></el-table-column>
        <el-table-column prop="mouldNum" label="AGV名称" align="center" ></el-table-column>
        <el-table-column prop="agvTaskState" label="AGV状态" align="center" ></el-table-column>
        <el-table-column prop="agvJackingState" label="顶升机构状态" align="center" ></el-table-column>
        <el-table-column prop="agvLiftupHeavyState" label="是否存在重物" align="center" ></el-table-column>
        <el-table-column prop="agvTaskState" label="AGV任务状态" align="center" ></el-table-column>
        <el-table-column prop="agvCurrentLandmarkRFID" label="AGV当前位置" align="center" ></el-table-column>
        <el-table-column prop="battery1Voltage" label="电压" align="center"></el-table-column>
        <el-table-column prop="battery1Current" label="电流" align="center"></el-table-column>
        <el-table-column prop="battery1Charge" label="电量" align="center"></el-table-column>
      </el-table>
    </div>
    <!-- <div class="main_footer">
      <el-pagination
        background
        @current-change="changePageNum"
        @size-change="changePageSize"
        :current-page="pageNum"
        :page-sizes="[10, 20, 50, 100]"
        :page-size="pageSize"
        layout="total, sizes, prev, pager, next, jumper"
        :total="total">
      </el-pagination>
    </div> -->
  </div>
</template>
 
<script>
import { buttonPinia } from '../../../pinia/index';
import { changeSize } from '../../../plugins/public'; // 导入节流、动态切换组件尺寸方法
  export default {
    data() {
      return {
        size: changeSize(), // 组件尺寸
        pageNum: 1,
        pageSize: 10,
        search:{},//查询条件
        total: 0,
        loading: false,
        dataList: [], //AGV监控
      }
    },
    watch: {
      asyncVisible(bol) {
        if(!bol) {
          this.ruleForm = {};
          this.$refs.ruleForm.resetFields();
        }
      }
    },
    mounted() {
      const that = this;
      // 根据窗口大小动态修改组件尺寸
      window.onresize = () => {
        that.size = changeSize();
      }
      that.searchButtonInfo(true);
    },
    methods: {
      // 查询按钮列表信息
      searchButtonInfo(bol) {
        if(bol) {
          this.pageNum = 1;
        }
        let params = Object.assign({},this.search)
        this.loading = true;
        this.$api.DuctpiecePLM.searchAgvLists(params).then((res) => {
          if(res.statusMsg === 'ok') {
            // this.total = res.data.total;
            this.dataList = res.data;
          }
          this.loading = false;
        })
      },
      // 判断按钮权限信息
      showButton(str) {
        const pinia = buttonPinia();
        return pinia.$state.buttonInfo.includes(str);
      },      
      // 切换页数
      changePageNum(page) {
        this.pageNum = page;
        this.searchButtonInfo();
      },
      // 切换每页条数
      changePageSize(size) {
        this.pageSize = size;
        this.searchButtonInfo();
      }
    }
  }
</script>
 
<style lang="sass" scoped>
@import '../../../style/layout-main.scss';
</style>