李旭东
2023-11-08 8bb87e050d73924843552f73563469711c833d03
web/src/views/GreenBuild/WeldSmoke.vue
@@ -1,3 +1,157 @@
<template>
    <div>焊接烟尘</div>
</template>
  <div class="main">
    <div class="main_header">
      <div class="header_item">
        <span class="header_label">时间范围:</span>
        <el-date-picker
          v-model="dataTime"
          type="daterange"
          range-separator="至"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
          value-format="yyyy-MM-dd">
        </el-date-picker>
      </div>
      <div class="header_item">
        <el-button icon="el-icon-search" @click="searchSmokeList(true)">查询</el-button>
        <!-- <el-button icon="el-icon-search" v-if="showButton('search')">查询</el-button> -->
      </div>
    </div>
    <div class="main_content">
      <el-table
        v-loading="loading"
        :data="smokeList"
        height="100%">
        <el-table-column label="序号" align="center" >
          <template #default="scope">
            <div>
              <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span>
            </div>
          </template>
        </el-table-column>
        <el-table-column label="当前焊接机开启台数" align="center" width="150">
          <template #default="{ row }">
            <div>
              {{row.vb0 + ' 台'}}
            </div>
          </template>
        </el-table-column>
        <template
          v-for="(item, index) in 10">
          <el-table-column
            :prop="`i${index <= 7 ? '0'+index : index + 2}`"
            :label="`${index + 1}#焊机开机信号`"
            align="center"
            :key="index"
            width="150">
          </el-table-column>
        </template>
        <template
          v-for="(item, index) in 6">
          <el-table-column
            :prop="`q${index <= 10 ? '0'+index : index}`"
            :label="`${index + 1}#除尘器运行状态`"
            align="center"
            :key="index"
            width="150">
          </el-table-column>
        </template>
        <el-table-column label="第一组除尘器延时关闭计时" align="center" width="200">
          <template #default="{ row }">
            <div>
              {{row.vb10 + ' 秒'}}
            </div>
          </template>
        </el-table-column>
        <el-table-column label="第二组除尘器延时关闭计时" align="center" width="200">
          <template #default="{ row }">
            <div>
              {{row.vb11 + ' 秒'}}
            </div>
          </template>
        </el-table-column>
        <el-table-column label="第三组除尘器延时关闭计时" align="center" width="200">
          <template #default="{ row }">
            <div>
              {{row.vb12 + ' 秒'}}
            </div>
          </template>
        </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';
export default {
  data() {
    return {
      dataTime: '',
      pageNum: 1,
      pageSize: 10,
      total: 0,
      loading: false,
      smokeList: []
    }
  },
  mounted() {
    this.searchSmokeList(true);
  },
  methods: {
    // 查询焊接烟尘信息
    searchSmokeList(bol) {
      if(bol) {
        this.pageNum = 1;
      }
      this.loading = true;
      this.smokeList = [];
      this.$api.Green.searchSmokeList({
        strTime: this.dataTime ? this.dataTime[0] : '',
        endTime: this.dataTime ? this.dataTime[1] : '',
        pageNum: this.pageNum,
        pageSize: this.pageSize
      }).then(res => {
        if(res.success) {
          this.total = res.data.total;
          this.smokeList = res.data.list;
        }
        this.loading = false;
      }).catch(() => {
        this.loading = false;
      })
    },
    // 切换页数
    changePageNum(page) {
      this.pageNum = page;
      this.searchSmokeList();
    },
    // 切换每页条数
    changePageSize(size) {
      this.pageSize = size;
      this.searchSmokeList();
    },
    // 判断按钮权限信息
    showButton(str) {
      const pinia = buttonPinia();
      return pinia.$state.buttonInfo.includes(str);
    }
  }
};
</script>
<style lang="scss" scoped>
@import '@/style/layout-main.scss';
</style>