| | |
| | | <div class="line-map" v-if="dataList && dataList.length > 0"> |
| | | <div class="line-item" v-for="(item, index) in dataList" :key="index"> |
| | | <div class="picbox"> |
| | | <img src="../../../assets/loginPage/equipment.jpg" /> |
| | | <div class="imgbox"> |
| | | <img :src="item.rfidImage==null?defaultImg:item.rfidImage"/> |
| | | </div> |
| | | <p> |
| | | RFID: <span>{{ item.rfid }}</span> |
| | | </p> |
| | |
| | | </p> |
| | | </div> |
| | | <div class="area-head"> |
| | | <div class="indicator" :class="item.points.some((e) => e.reportResult == 1) ? 'somewarning' : item.points.some((e) => e.reportResult == null) ? 'someUndone' : ''"> |
| | | <div class="indicator" :class="item.points.some((e) => e.reportResult == 1) ? 'somewarning' : (item.points.some((e) => e.reportResult == null) ? 'someUndone' : '')"> |
| | | <div class="indi-dot"></div> |
| | | <!-- <div class="indi-pulse"></div>--> |
| | | <!-- <div class="indi-pulse1"></div>--> |
| | |
| | | import { ElTable } from 'element-plus'; |
| | | import { FormInstance, FormRules, ElMessage } from 'element-plus'; |
| | | import { useUserInfo } from '/@/stores/userInfo'; |
| | | import Cookies from 'js-cookie'; |
| | | |
| | | // 定义接口来定义对象的类型 |
| | | interface stateType { |
| | |
| | | socket: any; |
| | | socketData: string; |
| | | data: Array<any>; |
| | | id: string; |
| | | id: string |
| | | } |
| | | export default { |
| | | name: 'intelligentLine', |
| | |
| | | setInterval(() => { |
| | | state.present = new Date().toLocaleString(); |
| | | }, 1000); |
| | | let curId = route.query.id; |
| | | state.id = curId.toString(); |
| | | getLine(state.id); |
| | | getUrl(state.id); |
| | | let curId = route.query.id |
| | | state.id = curId.toString() |
| | | getLine(state.id) |
| | | getUrl(state.id) |
| | | }); |
| | | |
| | | const dataList = computed(() => { |
| | |
| | | const getUrl = async (id: string) => { |
| | | const res = await lineApi().getUrl(); |
| | | if (res.data.code === '200') { |
| | | state.path = 'http://' + res.data.data.ip + ':' + res.data.data.port + '/ws/test/'; |
| | | state.path = 'http://' + res.data.data.ip + ':' + res.data.data.port + '/ws/test/' |
| | | if (typeof WebSocket === 'undefined') { |
| | | alert('您的浏览器不支持socket'); |
| | | } else { |
| | | // 实例化socket |
| | | // debugger |
| | | let uid = userInfos.value.uid.toString(); |
| | | var url = state.path + Cookies.get('uid') + '*' + id; |
| | | console.log(url, 'url', uid, 'uid'); |
| | | let uid = userInfos.value.uid.toString() |
| | | var url = state.path + uid + '*' + id; |
| | | console.log(url,'url',uid,'uid') |
| | | url = url.replace('https', 'ws').replace('http', 'ws'); |
| | | console.log(url, '获取地址'); |
| | | state.socket = new WebSocket(url); |
| | |
| | | // 监听socket消息 |
| | | state.socket.onmessage = (msg) => { |
| | | if (msg.data === '连接成功') return; |
| | | console.log(msg.data, 'data'); |
| | | console.log(msg.data,'data') |
| | | userInfos.value.dataList = JSON.parse(msg.data); |
| | | }; |
| | | } |
| | |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | }; |
| | | } |
| | | |
| | | // const send = () => { |
| | | // state.socket.send(params); |
| | |
| | | state.socket.onclose = () => { |
| | | console.log('socket已经关闭'); |
| | | }; |
| | | }); |
| | | }) |
| | | }); |
| | | return { |
| | | dataList, |
| | |
| | | align-items: flex-start; |
| | | |
| | | .line-item { |
| | | |
| | | .area-head { |
| | | position: relative; |
| | | width: 100%; |
| | |
| | | } |
| | | .fadeLine { |
| | | width: 100%; |
| | | border-top: 1px solid rgba(54, 252, 252, 0.6); |
| | | border-top: 1px solid rgba(54,252,252,.6); |
| | | } |
| | | } |
| | | .fadeBorder { |