Browse Source

报警信息显示

master
z_yu 3 years ago
parent
commit
a80e615811
  1. 8
      .env.development
  2. 2
      .env.production
  3. 122
      src/views/components/WarehouseWarning.vue

8
.env.development

@ -3,12 +3,12 @@ ENV = 'development'
# 接口地址 # 接口地址
#内网服务地址 #内网服务地址
#VUE_APP_BASE_API = 'http://192.168.99.207:7070'
#VUE_APP_WS_API = 'ws://192.168.99.207:7070'
VUE_APP_BASE_API = 'http://192.168.99.207:7070'
VUE_APP_WS_API = 'ws://192.168.99.207:7071'
# 刘力-本地服地址 # 刘力-本地服地址
VUE_APP_BASE_API = 'http://192.168.99.65:7070'
VUE_APP_WS_API = 'ws://192.168.99.65:7071'
#VUE_APP_BASE_API = 'http://192.168.99.65:7070'
#VUE_APP_WS_API = 'ws://192.168.99.65:7071'
# 许镇-本地服地址 # 许镇-本地服地址
#VUE_APP_BASE_API = 'http://192.168.99.84:7070' #VUE_APP_BASE_API = 'http://192.168.99.84:7070'

2
.env.production

@ -4,4 +4,4 @@ ENV = 'production'
# 接口地址,注意协议,如果你没有配置 ssl,需要将 https 改为 http # 接口地址,注意协议,如果你没有配置 ssl,需要将 https 改为 http
VUE_APP_BASE_API = 'http://192.168.99.207:7070' VUE_APP_BASE_API = 'http://192.168.99.207:7070'
# 如果接口是 http 形式, wss 需要改为 ws # 如果接口是 http 形式, wss 需要改为 ws
VUE_APP_WS_API = 'ws://192.168.99.207:7070'
VUE_APP_WS_API = 'ws://192.168.99.207:7071'

122
src/views/components/WarehouseWarning.vue

@ -9,14 +9,13 @@
</h3> </h3>
<!--表格渲染--> <!--表格渲染-->
<el-table ref="table" style="min-width: 100%;" :width="width" :height="height" :data="tableData" class="warehose-el-table" :row-class-name="rowBgColor"> <el-table ref="table" style="min-width: 100%;" :width="width" :height="height" :data="tableData" class="warehose-el-table" :row-class-name="rowBgColor">
<el-table-column prop="time" label="时间" align="center" min-width="60" />
<el-table-column prop="warehouse" label="库房" align="center" min-width="60" />
<el-table-column prop="warning" label="警情" align="center" :show-overflow-tooltip="true" min-width="85" />
<el-table-column prop="alarm_time" label="时间" align="center" min-width="70" />
<el-table-column prop="area_name" label="库房" align="center" min-width="35" />
<el-table-column prop="event_name" label="警情" align="center" :show-overflow-tooltip="true" min-width="85" />
</el-table> </el-table>
</div> </div>
</template> </template>
<script> <script>
import data1 from './data1.json'
export default { export default {
name: 'WarehouseWarning', name: 'WarehouseWarning',
props: { props: {
@ -31,57 +30,41 @@ export default {
}, },
data() { data() {
return { return {
tableData: [],
socket: null,
lockReconnect: false, //
heartCheck: {
timeout: 3000,
timeoutobj: null,
serverTimeoutObj: null,
start: function() {
const that = this
clearTimeout(this.timeoutObj)
clearTimeout(this.serverTimeoutObj)
this.timeObj = setTimeout(function() {
// ping-pong
this.socket.send('ping')
that.serverTimeoutObj = setTimeout(function() {
this.socket.close()
}, that.timeout)
}, this.timeout)
}
tableData: [], //
// receivedData: [], //
// displayNum: 0,
// lockReconnect: false, //
// heartCheck: {
// timeout: 3000,
// timeoutobj: null,
// // serverTimeoutObj: null,
// start: () => {
// // const that = this
// clearTimeout(this.timeoutObj)
// // clearTimeout(this.serverTimeoutObj)
// this.timeoutobj = setTimeout(() => {
// // ping-pong
// this.socket.send('ping')
// // that.serverTimeoutObj = setTimeout(() => {
// // this.socket.close()
// // }, that.timeout)
// }, this.timeout)
// }
// }
socket: null
} }
},
watch: {
// `tableData`
tableData: function(newData, oldData) {
this.tableRefScroll()
} }
}, },
// created() {
// this.openSocket()
// },
mounted() {
created() {
this.openSocket() this.openSocket()
this.getData()
console.log(11333)
this.$nextTick(() => {
this.tableRefScroll()
})
// this.$nextTick(() => {
// this.scroll = new Bscroll('.warehose-el-table .el-table__body-wrapper', {
// scrollY: true
// ,startY: 10
// })
// this.scroll.on('scrollEnd', () => {
// // let pageIndex = this.scroll.getCurrentPage().pageX;
// // this.currentPageIndex = pageIndex;
// // if(vm.autoPlay) {
// // vm.play();
// // }
// console.log('scrollEnd')
// })
// })
}, },
methods: { methods: {
getData() {
this.tableData = data1.rows
},
// //
rowBgColor({ row, rowIndex }) { rowBgColor({ row, rowIndex }) {
if (rowIndex % 2 === 1) { if (rowIndex % 2 === 1) {
@ -95,7 +78,9 @@ export default {
clearInterval(this.timer) // clearInterval(this.timer) //
const table = this.$refs.table // DOM const table = this.$refs.table // DOM
const wrapperHeight = table.$el.offsetHeight - 30 const wrapperHeight = table.$el.offsetHeight - 30
this.scollNum = Math.floor(wrapperHeight / 40)
//
this.displayNum = Math.floor(wrapperHeight / 40)
if (this.tableData.length > this.displayNum) {
const bodyWrapper = table.bodyWrapper // div const bodyWrapper = table.bodyWrapper // div
this.addTableRefScroll(bodyWrapper) this.addTableRefScroll(bodyWrapper)
// //
@ -106,24 +91,32 @@ export default {
bodyWrapper.onmouseout = () => { bodyWrapper.onmouseout = () => {
this.addTableRefScroll(bodyWrapper) this.addTableRefScroll(bodyWrapper)
} }
}
}, },
addTableRefScroll(bodyWrapper) { addTableRefScroll(bodyWrapper) {
let scrollTop = bodyWrapper.scrollTop
// let scrollTop = bodyWrapper.scrollTop
if (this.displayNum && this.displayNum > 0) {
this.timer = setInterval(() => { this.timer = setInterval(() => {
scrollTop = bodyWrapper.scrollTop
bodyWrapper.scrollTop += this.scollNum * 40
if (scrollTop === bodyWrapper.scrollTop) {
if (this.isScroll) {
scrollTop = 0
// scrollTop = bodyWrapper.scrollTop
if (Math.round(bodyWrapper.scrollTop / 40) >= this.tableData.length - this.displayNum) {
bodyWrapper.scrollTop = 0 bodyWrapper.scrollTop = 0
} else { } else {
if (this.flag === 1) {
this.currentPage++
this.handleSearch() //
}
}
console.log(3333, this.displayNum)
bodyWrapper.scrollTop += this.displayNum * 40
}
// if (scrollTop === bodyWrapper.scrollTop) {
// if (this.isScroll) {
// scrollTop = 0
// bodyWrapper.scrollTop = 0
// } else {
// if (this.flag === 1) {
// this.currentPage++
// this.handleSearch() //
// }
// }
// }
}, 1000 * 3 * this.displayNum)
} }
}, 1000 * 3 * this.scollNum)
}, },
openSocket() { openSocket() {
if (!('WebSocket' in window)) { if (!('WebSocket' in window)) {
@ -140,13 +133,14 @@ export default {
this.socket.onopen = () => { this.socket.onopen = () => {
console.log('websocket已经打开') console.log('websocket已经打开')
// //
this.heartCheck.start()
// this.heartCheck.start()
} }
// //
this.socket.onmessage = (msg) => { this.socket.onmessage = (msg) => {
console.log(msg) console.log(msg)
this.tableData.splice(0, this.tableData.length, ...JSON.parse(msg.data.slice(6, msg.data.length - 1)).Data)
// //
this.heartCheck.start()
// this.heartCheck.start()
} }
// //
this.socket.onclose = function() { this.socket.onclose = function() {

Loading…
Cancel
Save