浏览代码

添加历史数据页面

liqianyi 6 月之前
父节点
当前提交
3adbec2eb1
共有 2 个文件被更改,包括 184 次插入7 次删除
  1. 175 0
      src/views/modules/device/device-history.vue
  2. 9 7
      src/views/modules/device/device-list.vue

+ 175 - 0
src/views/modules/device/device-history.vue

@@ -0,0 +1,175 @@
+<template>
+  <div>
+    <div class="my-title">历史记录</div>
+    <el-form :inline="true" :model="dataForm" @keyup.enter.native="search()">
+      <el-form-item label="上报时间">
+        <el-date-picker
+          v-model="dataForm.date"
+          value-format="yyyy-MM-dd HH:mm:ss"
+          type="datetimerange"
+          range-separator="至"
+          start-placeholder="开始时间"
+          end-placeholder="结束时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button @click="search()">查询</el-button>
+      </el-form-item>
+    </el-form>
+    <el-table
+      :data="dataList"
+      border
+      v-loading="dataListLoading"
+      style="width: 100%;">
+      <el-table-column
+        label="序号"
+        type="index"
+        width="50"
+        align="center">
+      </el-table-column>
+      <el-table-column
+        prop="deviceId"
+        header-align="center"
+        align="center"
+        min-width="120"
+        label="设备编号">
+      </el-table-column>
+      <el-table-column
+        prop="recordTime"
+        header-align="center"
+        align="center"
+        min-width="160"
+        :show-overflow-tooltip="true"
+        label="上报时间">
+      </el-table-column>
+      <el-table-column
+        prop="serverTime"
+        header-align="center"
+        align="center"
+        min-width="160"
+        :show-overflow-tooltip="true"
+        label="系统接收时间">
+      </el-table-column>
+      <el-table-column
+        prop="tem"
+        header-align="center"
+        align="center"
+        min-width="100"
+        label="温度(℃)">
+      </el-table-column>
+      <el-table-column
+        prop="hum"
+        header-align="center"
+        align="center"
+        min-width="100"
+        label="湿度(%)">
+      </el-table-column>
+      <el-table-column
+        prop="-"
+        header-align="center"
+        align="center"
+        min-width="100"
+        label="剩余电量(%)">
+      </el-table-column>
+      <el-table-column
+        prop="-"
+        header-align="center"
+        align="center"
+        min-width="100"
+        :show-overflow-tooltip="true"
+        label="是否报警">
+      </el-table-column>
+    </el-table>
+    <el-pagination
+      @size-change="sizeChangeHandle"
+      @current-change="currentChangeHandle"
+      :current-page="pageIndex"
+      :page-sizes="[10, 20, 50, 100]"
+      :page-size="pageSize"
+      :total="totalPage"
+      layout="total, sizes, prev, pager, next, jumper">
+    </el-pagination>
+    <span slot="footer" class="dialog-footer">
+      <el-button @click="onChose">返回</el-button>
+    </span>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'device-history',
+  components: {
+  },
+  data () {
+    return {
+      code: 0,
+      dataForm: {},
+      dataList: [],
+      pageIndex: 1,
+      pageSize: 10,
+      totalPage: 0,
+      dataListLoading: false,
+      dataListSelections: [],
+      optionsModel: []
+    }
+  },
+  methods: {
+    async init (code) {
+      this.code = code
+      this.search()
+    },
+    onChose () {
+      this.$emit('onChose')
+    },
+    // 查询
+    search () {
+      this.pageIndex = 1
+      this.getDataList()
+    },
+    // 获取数据列表
+    getDataList () {
+      this.dataListLoading = true
+      this.addOrUpdateVisible = false
+      this.$http({
+        url: this.$http.adornUrl('/iot-platform/data-gateway/history'),
+        method: 'get',
+        params: this.$http.adornParams({
+          'current': this.pageIndex,
+          'size': this.pageSize,
+          'code': this.code,
+          'timeStart': this.dataForm.date ? this.dataForm.date[0] : null,
+          'timeEnd': this.dataForm.date ? this.dataForm.date[1] : null
+        })
+      }).then(({data}) => {
+        if (data && data.code === '200') {
+          this.dataList = data.data.records
+          this.totalPage = Number(data.data.total)
+        } else {
+          this.dataList = []
+          this.totalPage = 0
+        }
+        this.dataListLoading = false
+      })
+    },
+    // 每页数
+    sizeChangeHandle (val) {
+      this.pageSize = val
+      this.pageIndex = 1
+      this.getDataList()
+    },
+    // 当前页
+    currentChangeHandle (val) {
+      this.pageIndex = val
+      this.getDataList()
+    },
+    // 多选
+    selectionChangeHandle (val) {
+      this.dataListSelections = val
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 9 - 7
src/views/modules/device/device-list.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="device">
-    <template v-if="!addOrUpdateVisible && !detailVisible&& !previewVisible">
+    <template v-if="!addOrUpdateVisible && !detailVisible && !historyVisible">
       <!-- 查询、新增操作 -->
       <el-form-item label="名称/编号">
         <el-input v-model="dataForm.name" placeholder="名称/编号" clearable/>
@@ -155,15 +155,15 @@
           label="备注">
         </el-table-column>
         <el-table-column
-          prop="responsibilityUser"
+          prop="responsibilityUserName"
           header-align="center"
           align="center"
-          min-width="100"
+          min-width="80"
           :show-overflow-tooltip="true"
           label="责任人">
         </el-table-column>
         <el-table-column
-          prop="userOf"
+          prop="userOfName"
           header-align="center"
           align="center"
           min-width="100"
@@ -222,14 +222,14 @@
           fixed="right"
           header-align="center"
           align="center"
-          width="200"
+          width="240"
           label="操作">
           <template slot-scope="scope">
             <el-button v-if="isAuth('prod:equipment:info')" type="text" size="small" @click="detailHandle(scope.row.id)">查看</el-button>
             <el-button v-if="isAuth('prod:equipment:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">编辑</el-button>
             <el-button v-if="isAuth('prod:updateVerification:update')" type="text" size="small" @click="historyHandle(scope.row)">检定</el-button>
             <el-button v-if="isAuth('prod:updateBreakage:update')" type="text" size="small" @click="historyHandle(scope.row)">报损</el-button>
-<!--            <el-button v-if="isAuth('prod:updateBreakage:update')" style="color: red" type="text" size="small" @click="deleteHandle(scope.row.id)">历史数据</el-button>-->
+            <el-button v-if="isAuth('prod:equipment:info')" type="text" size="small" @click="historyHandle(scope.row.id)">历史数据</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -246,7 +246,7 @@
     <!-- 弹窗, 新增 / 修改 -->
     <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList" @onChose="onChose"></add-or-update>
     <detail v-if="detailVisible" ref="detail" @onChose="onChose"></detail>
-<!--    <history v-if="historyVisible" ref="history" @onChose="onChose"></history>-->
+    <device-history v-if="historyVisible" ref="history" @onChose="onChose"></device-history>
     <preview-component v-if="previewVisible" ref="preview" @onChose="onChose"></preview-component>
   </div>
 </template>
@@ -260,9 +260,11 @@ import UserComponent from '../common/user-component'
 import {optionsEquipmentState} from '@/utils/enums'
 import {isAuth} from '@/utils'
 import PreviewComponent from '@/views/modules/common/preview-component.vue'
+import DeviceHistory from '@/views/modules/device/device-history.vue'
 export default {
   name: 'temp',
   components: {
+    DeviceHistory,
     PreviewComponent,
     Detail,
     History,