diff --git a/src/http/Exhibition/CIFM/index.ts b/src/http/Exhibition/CIFM/index.ts new file mode 100644 index 0000000..85a20b8 --- /dev/null +++ b/src/http/Exhibition/CIFM/index.ts @@ -0,0 +1,7 @@ +import {get,post} from "@/utils/http" + +//获取设备在线状态、设备列表 +export function scatteredLayoutExhibitionDevice(data){ + return get('/screen/cisma/scatteredLayoutExhibitionDevice',data) +} + diff --git a/src/router/index.ts b/src/router/index.ts index d29d939..c7c0ce0 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -306,7 +306,7 @@ const routes: Array = [ component: () => import("../views/Exhibition/CIFM/main.vue"), }, { - path: "/CIFMExhibitionMain_:id", + path: "/CIFMExhibitionMain_:name", name: "CIFMExhibitionMainChild", component: () => import("../views/Exhibition/CIFM/child.vue"), }, diff --git a/src/views/Exhibition/CIFM/child.vue b/src/views/Exhibition/CIFM/child.vue index 69a1108..055ce0d 100644 --- a/src/views/Exhibition/CIFM/child.vue +++ b/src/views/Exhibition/CIFM/child.vue @@ -28,7 +28,7 @@
- +
@@ -79,6 +79,12 @@ import header2 from './components/header2.vue' import BorderView from './components/Border.vue' import DynamicChart from './components/DynamicChart.vue' import ItemCard from './components/ItemCard.vue' +import {scatteredLayoutExhibitionDevice} from '@/http/Exhibition/CIFM' +import { connectWebsocket, closeWebsocket } from "@/utils/websocket" +import {useRouter,useRoute} from 'vue-router' + +let route = useRoute() +console.log(route.params.name); let xData = ref(['订单任务量', '任务完成量']) let series = ref([{ @@ -86,12 +92,28 @@ let series = ref([{ type: 'bar', data: [200, 300] }]) -let mjxhj_data = reactive([ +let device_data = ref([ { key: '机架号', value: '102014422' }, { key: '设备状态', value: 2 }, { key: '稼动率', value: '90%' }, { key: '工作时长', value: '0min' }, ]) +function scatteredLayoutExhibitionDeviceFun() { + scatteredLayoutExhibitionDevice({s:'WME'}).then((res:any) => { + if (res.code == 200) { + let data = res.data + let name: string = Array.isArray(route.params.name) ? route.params.name[0] : route.params.name; + let device_info = data[name] + device_data.value = [ + { key: '机架号', value: device_info['label'] }, + { key: '设备状态', value: device_info['status'] }, + { key: '稼动率', value: device_info['ratio'] }, + { key: '工作时长', value: device_info['workTime'] }, + ] + } + }) +} + let config = reactive({ header: ['序号', '类型', '日期', '状态', '操作人员'],//, '故障率' headerBGC: 'transparent', @@ -149,6 +171,38 @@ let optionData = reactive({ ], series: series.value }) + + +//socket +function getWebsocket(val) { + try { + let data = JSON.parse(val) + + + if (data.type == 'WorkingState') { + let { RackNumber, WorkingState } = data.msg + + + if (device_data.value[0].value == RackNumber) { + device_data.value[1].value = WorkingState + } + } + + } catch (err) { + console.log(err); + } + +} +function errWebsocket(val) { + // console.log(val); +} +onMounted(() => { + scatteredLayoutExhibitionDeviceFun() + connectWebsocket(null, null, getWebsocket, errWebsocket) +}) +onUnmounted(() => { + closeWebsocket() +})