From ff7ed5658684c9b93383c2812d6a8dc1192a6c90 Mon Sep 17 00:00:00 2001 From: xuhuajiao <13476289682@163.com> Date: Tue, 4 Jun 2024 17:26:45 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=9B=B8=E5=85=B3=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/storeManage/deviceManage/device.js | 303 +++++++++--------- src/api/storeManage/displayConfig/index.js | 38 +-- src/views/dashboard/PanelGroup.vue | 37 ++- src/views/environmentalScreen/index.vue | 62 ++-- src/views/home.vue | 96 ++++-- .../deviceManage/module/deviceDetail.vue | 52 ++- src/views/storeManage/levelManage/index.vue | 36 +-- 7 files changed, 354 insertions(+), 270 deletions(-) diff --git a/src/api/storeManage/deviceManage/device.js b/src/api/storeManage/deviceManage/device.js index 251ad51..27f17d3 100644 --- a/src/api/storeManage/deviceManage/device.js +++ b/src/api/storeManage/deviceManage/device.js @@ -1,147 +1,156 @@ -import request from '@/utils/request' - -export function getSupplier() { - return request({ - url: 'api/supplier/dropdown-list', - method: 'get' - }) -} - -export function add(data) { - const url = getUrl(data, 'add') - return request({ - url: url, - method: 'post', - data - }) -} - -export function del(data) { - return request({ - url: '/api/device/delete', - method: 'delete', - data - }) -} - -export function edit(data) { - const url = getUrl(data, 'edit') - return request({ - url: url, - method: 'put', - data - }) -} - -export function getDeviceType() { - return request({ - url: 'api/device/type', - method: 'get' - }) -} - -export function getDeviceById(params) { - return request({ - url: 'api/device/state', - method: 'get', - params - }) -} -export function getDesecabinetById(params) { - return request({ - url: 'api/desecabinet/query', - method: 'get', - params - }) -} - -export function getRotarycabinetById(params) { - return request({ - url: 'api/rotarycabinet/query', - method: 'get', - params - }) -} - -function getUrl(data, optTYpe) { - let url = 'api/desecabinet/' - if (data.deviceTypeId.name === '密集架') { - url = 'api/desecabinet/' - } else if (data.deviceTypeId.name === '回转柜') { - url = 'api/rotarycabinet/' - } else if (data.deviceTypeId.name === '摄像头') { - url = 'api/camera/' - } else if (data.deviceTypeId.name === '空调' || data.deviceTypeId.name === '桌面式RFID读写器' || data.deviceTypeId.name === '盘点机' || data.deviceTypeId.name === '恒湿机' || data.deviceTypeId.name === '漏水传感器' || data.deviceTypeId.name === '温湿度感应器' || data.deviceTypeId.name === '空气质量检测设备' || data.deviceTypeId.name === '漏水传感器') { - url = 'api/insidedevices/' - } else if (data.deviceTypeId.name === '通道门' || data.deviceTypeId.name === '手持式RFID读写器') { - url = 'api/outsidedevices/' - } - if (optTYpe === 'add') { - url += 'create' - } else if (optTYpe === 'edit') { - url += 'update' - } - return url -} -export function getDeviceList(params) { - return request({ - url: 'api/device/list', - method: 'get', - params - }) -} - -// 根据区列获取在库已借数 -export function FetchInBorrowByQuCol(params) { - return request({ - url: 'api/tag/getInBorrowByQuCol', - method: 'get', - params - }) -} - -export function unbind(data) { - return request({ - url: 'api/displayconfig/unbind', - method: 'post', - data - }) -} - -// 打开架体具体某一列 -export function FetchCallExternalOpenCol(params) { - return request({ - url: 'api/callExternal/openCol', - method: 'get', - params - }) -} - -// 密集架合架 -export function FetchCallExternalResetCol(params) { - return request({ - url: 'api/callExternal/reset', - method: 'get', - params - }) -} - -// 密集架通风 -export function FetchCallExternalVent(params) { - return request({ - url: 'api/callExternal/vent', - method: 'get', - params - }) -} - -// 停止移动 -export function FetchCallExternalStopMove(params) { - return request({ - url: 'api/callExternal/stopMove', - method: 'get', - params - }) -} - -export default { add, edit, del, getSupplier, getDeviceType, getDeviceById, getDesecabinetById, getRotarycabinetById, getDeviceList, FetchInBorrowByQuCol, unbind, FetchCallExternalOpenCol, FetchCallExternalResetCol, FetchCallExternalVent, FetchCallExternalStopMove } +import request from '@/utils/request' +import qs from 'qs' + +export function getSupplier() { + return request({ + url: 'api/supplier/dropdown-list', + method: 'get' + }) +} + +export function add(data) { + const url = getUrl(data, 'add') + return request({ + url: url, + method: 'post', + data + }) +} + +export function del(data) { + return request({ + url: '/api/device/delete', + method: 'delete', + data + }) +} + +export function edit(data) { + const url = getUrl(data, 'edit') + return request({ + url: url, + method: 'put', + data + }) +} + +export function getDeviceType() { + return request({ + url: 'api/device/type', + method: 'get' + }) +} + +export function getDeviceById(params) { + return request({ + url: 'api/device/state', + method: 'get', + params + }) +} +export function getDesecabinetById(params) { + return request({ + url: 'api/desecabinet/query', + method: 'get', + params + }) +} + +export function getRotarycabinetById(params) { + return request({ + url: 'api/rotarycabinet/query', + method: 'get', + params + }) +} + +function getUrl(data, optTYpe) { + let url = 'api/desecabinet/' + if (data.deviceTypeId.name === '密集架') { + url = 'api/desecabinet/' + } else if (data.deviceTypeId.name === '回转柜') { + url = 'api/rotarycabinet/' + } else if (data.deviceTypeId.name === '摄像头') { + url = 'api/camera/' + } else if (data.deviceTypeId.name === '空调' || data.deviceTypeId.name === '桌面式RFID读写器' || data.deviceTypeId.name === '盘点机' || data.deviceTypeId.name === '恒湿机' || data.deviceTypeId.name === '漏水传感器' || data.deviceTypeId.name === '温湿度感应器' || data.deviceTypeId.name === '空气质量检测设备' || data.deviceTypeId.name === '漏水传感器') { + url = 'api/insidedevices/' + } else if (data.deviceTypeId.name === '通道门' || data.deviceTypeId.name === '手持式RFID读写器') { + url = 'api/outsidedevices/' + } + if (optTYpe === 'add') { + url += 'create' + } else if (optTYpe === 'edit') { + url += 'update' + } + return url +} +export function getDeviceList(params) { + return request({ + url: 'api/device/list', + method: 'get', + params + }) +} + +// 根据设备id查看设备是否在线 +export function FetchIsOnline(params) { + return request({ + url: 'api/device/isOnline' + '?' + qs.stringify(params, { indices: false }), + method: 'get' + }) +} + +// 根据区列获取在库已借数 +export function FetchInBorrowByQuCol(params) { + return request({ + url: 'api/tag/getInBorrowByQuCol', + method: 'get', + params + }) +} + +export function unbind(data) { + return request({ + url: 'api/displayconfig/unbind', + method: 'post', + data + }) +} + +// 打开架体具体某一列 +export function FetchCallExternalOpenCol(params) { + return request({ + url: 'api/callExternal/openCol', + method: 'get', + params + }) +} + +// 密集架合架 +export function FetchCallExternalResetCol(params) { + return request({ + url: 'api/callExternal/reset', + method: 'get', + params + }) +} + +// 密集架通风 +export function FetchCallExternalVent(params) { + return request({ + url: 'api/callExternal/vent', + method: 'get', + params + }) +} + +// 停止移动 +export function FetchCallExternalStopMove(params) { + return request({ + url: 'api/callExternal/stopMove', + method: 'get', + params + }) +} + +export default { add, edit, del, getSupplier, getDeviceType, getDeviceById, getDesecabinetById, getRotarycabinetById, getDeviceList, FetchIsOnline, FetchInBorrowByQuCol, unbind, FetchCallExternalOpenCol, FetchCallExternalResetCol, FetchCallExternalVent, FetchCallExternalStopMove } diff --git a/src/api/storeManage/displayConfig/index.js b/src/api/storeManage/displayConfig/index.js index 6ea08ff..276cbe6 100644 --- a/src/api/storeManage/displayConfig/index.js +++ b/src/api/storeManage/displayConfig/index.js @@ -1,19 +1,19 @@ -import request from '@/utils/request' - -export function list(params) { - return request({ - url: 'api/displayconfig/list', - method: 'get', - params - }) -} - -export function bind(data) { - return request({ - url: 'api/displayconfig/bind', - method: 'post', - data - }) -} - -export default { list, bind } +import request from '@/utils/request' +import qs from 'qs' + +export function list(params) { + return request({ + url: 'api/displayconfig/list' + '?' + qs.stringify(params, { indices: false }), + method: 'get' + }) +} + +export function bind(data) { + return request({ + url: 'api/displayconfig/bind', + method: 'post', + data + }) +} + +export default { list, bind } diff --git a/src/views/dashboard/PanelGroup.vue b/src/views/dashboard/PanelGroup.vue index 6faf234..dacee2f 100644 --- a/src/views/dashboard/PanelGroup.vue +++ b/src/views/dashboard/PanelGroup.vue @@ -122,6 +122,8 @@ export default { totalDeviceNum: 0, onlineDeviceNum: 0, offlineDeviceNum: 0, + onlineDevice: [], + offDevice: [], deviveTitle: '在线设备', deviceVisible: false, tableLoading: false, @@ -136,7 +138,8 @@ export default { mounted() { this.handleArchivesNum() this.handleCaseNum() - this.handleTotalDeviceNum() + this.getDevice() + // this.handleTotalDeviceNum() }, methods: { handleSetLineChartData(type) { @@ -176,23 +179,27 @@ export default { } } }, - getDeviceDetail(type) { - this.tableLoading = true - this.deviceVisible = true + getDevice() { getDeviceOnoff().then(data => { - if (type === 'on') { - this.deviveTitle = '在线设备' - this.tableDeviceData = this.data.online - } else { - this.deviveTitle = '离线设备' - this.tableDeviceData = this.data.offline - } - - setTimeout(() => { - this.tableLoading = false - }, 1000) + this.getDeviceFlag = true + this.totalDeviceNum = data.deviceall.length + this.onlineDeviceNum = data.online.length + this.offlineDeviceNum = data.offline.length + this.onlineDevice = data.online + this.offDevice = data.offline }) }, + getDeviceDetail(type) { + this.deviceVisible = true + this.tableDeviceData = [] + if (type === 'on') { + this.deviveTitle = '在线设备' + this.tableDeviceData = this.onlineDevice + } else { + this.deviveTitle = '离线设备' + this.tableDeviceData = this.offDevice + } + }, // 档案总数 handleArchivesNum() { FetchGetArchivesNum().then(data => { diff --git a/src/views/environmentalScreen/index.vue b/src/views/environmentalScreen/index.vue index 24e4a9c..4702f0f 100644 --- a/src/views/environmentalScreen/index.vue +++ b/src/views/environmentalScreen/index.vue @@ -154,33 +154,33 @@ -
温度 {{ topDisplayData.ZLS_MO_OAO_001.unit }}
+ {{ topOAODisplayData.ZLS_MO_OAO_001.wendu }} +温度
湿度 {{ topDisplayData.ZLS_MO_OAO_001.unit }}
+ {{ topOAODisplayData.ZLS_MO_OAO_001.sidu }} +湿度
温度 {{ topDisplayData.YLS_MO_OAO_001.unit }}
+ {{ topOAODisplayData.YLS_MO_OAO_001.wendu }} +温度
湿度 {{ topDisplayData.YLS_MO_OAO_001.unit }}
+ {{ topOAODisplayData.YLS_MO_OAO_001.sidu }} +湿度
+ 档案检索 +
+整理室
温度
- {{ topDisplayData.ZLS_MO_OAO_001.curValue }} + {{ oaoMessage.ZLS_MO_OAO_001.wendu }}湿度
- {{ topDisplayData.ZLS_MO_OAO_001.curValue }} + {{ oaoMessage.ZLS_MO_OAO_001.sidu }}阅览室
温度
- {{ topDisplayData.YLS_MO_OAO_001.curValue }} + {{ oaoMessage.YLS_MO_OAO_001.wendu }}湿度
- {{ topDisplayData.YLS_MO_OAO_001.curValue }} + {{ oaoMessage.YLS_MO_OAO_001.sidu }}湿度
{{ topDisplayData.DXW_DIV_TOP_002.curValue }} -CO2
- {{ topDisplayData.XXW_DIV_TOP_003.curValue }} + {{ topDisplayData.DXW_DIV_TOP_003.curValue }}PM2.5
- {{ topDisplayData.XXW_DIV_TOP_005.curValue }} + {{ topDisplayData.DXW_DIV_TOP_005.curValue }}PM10
- {{ topDisplayData.XXW_DIV_TOP_006.curValue }} + {{ topDisplayData.DXW_DIV_TOP_006.curValue }}VOC
@@ -330,11 +336,25 @@ export default { floorIndex: 0, floorEnvIndex: 0, isHomeSearch: false, + roomId: null, allDisplayConfigData: [], displayConfigData: [], url: '', allDeviceIds: [], - oaoMessage: [], + oaoMessage: { + ZLS_MO_OAO_001: { + show: false, + wendu: '', + sidu: '', + alarmState: 0 + }, + YLS_MO_OAO_001: { + show: false, + wendu: '', + sidu: '', + alarmState: 0 + } + }, topDisplayData: { DAK_DIV_TOP_001: { show: false, @@ -372,18 +392,6 @@ export default { unit: '', curstatus: 0 }, - ZLS_MO_OAO_001: { - show: false, - curValue: '', - unit: '', - curstatus: 0 - }, - YLS_MO_OAO_001: { - show: false, - curValue: '', - unit: '', - curstatus: 0 - }, // 7F 待销文件室 DXW_DIV_TOP_001: { show: false, @@ -468,7 +476,12 @@ export default { }, async created() { this.getWaitBorrower() - this.allDisplayConfigData = await displayConfigApi.list({ storeroomId: this.roomId }) + this.roomId = null + const params = { + storeroomId: null, + isQueryAll: 1 + } + this.allDisplayConfigData = await displayConfigApi.list(params) this.allDisplayConfigData.forEach(element => { if (element.isDisplay && element.bindState && element.deviceInfo && (element.divPosition.includes('OAO') || element.divPosition.includes('TOP') || element.divPosition.includes('LS'))) { this.allDeviceIds.push(element.deviceInfo.deviceId) @@ -556,8 +569,10 @@ export default { }, getRealTimeData() { if (this.allDeviceIds.length > 0) { + console.log('this.allDeviceIds', this.allDeviceIds) + console.log('this.displayConfigData', this.displayConfigData) thirdApi.getRealTimeData({ ids: this.allDeviceIds, url: this.url }).then((data) => { - this.oaoMessage.splice(0, this.oaoMessage.length) + // this.oaoMessage.splice(0, this.oaoMessage.length) this.displayConfigData.forEach(element => { if (element.divPosition.includes('TOP') && element.deviceSpecParams[0]) { // 获取页面div显示的数据 @@ -576,6 +591,27 @@ export default { show: false }) } + } else if (element.divPosition.includes('OAO')) { + const wenduParamId = element.deviceSpecParams.find((item) => { return item.paramName === '温度' })?.paramId + const siduParamId = element.deviceSpecParams.find((item) => { return item.paramName === '湿度' })?.paramId + let wendu = {} + let sidu = {} + if (wenduParamId) { + wendu = data.find((item) => { + return item.property_id === wenduParamId && item.device_id === element.deviceInfo.deviceId + }) + } + if (siduParamId) { + sidu = data.find((item) => { + return item.property_id === siduParamId && item.device_id === element.deviceInfo.deviceId + }) + } + this.$set(this.oaoMessage, element.divPosition, { + show: true, + wendu: (wendu?.curvalue) ? (Math.round(wendu?.curvalue)) : '-', + sidu: (sidu?.curvalue) ? (Math.round(sidu?.curvalue)) : '-', + alarmState: (wendu && wendu.curstatus > 0) || (sidu && sidu.curstatus > 0) + }) } }) }) diff --git a/src/views/storeManage/deviceManage/module/deviceDetail.vue b/src/views/storeManage/deviceManage/module/deviceDetail.vue index 3c48979..511fb58 100644 --- a/src/views/storeManage/deviceManage/module/deviceDetail.vue +++ b/src/views/storeManage/deviceManage/module/deviceDetail.vue @@ -164,7 +164,8 @@