diff --git a/ruoyi-ui/src/api/board/board.js b/ruoyi-ui/src/api/board/board.js index 4378d3cc..95397b90 100644 --- a/ruoyi-ui/src/api/board/board.js +++ b/ruoyi-ui/src/api/board/board.js @@ -15,8 +15,11 @@ export function getBoardList(query) { // 查询设备列表 export function getBoardDeviceInfo(deviceId) { return request({ - url: `/business/board/realtimeProperty/${deviceId}`, - method: 'get' + // url: `/business/board/realtimeProperty/${deviceId}`, + url: `/business/device/properties/realtime/${deviceId}/3A`, + // url: `/business/device/batchFunctions`, + method: 'GET', + params: {} }) } @@ -40,11 +43,49 @@ export function saveBoardReleaseLog(data) { }) } - export function publishToBoard(data) { + let devices = [] + data.deviceList.map(item=>{ + devices.push( + { + id: item.id, + iotDeviceId: item.iotDeviceId, + deviceType: "2" + } + ) + }) + return request({ - url: '/business/board/batch/publish', + // url: '/business/board/batch/publish', + url: `/business/device/batchFunctions`, method: 'post', - data: data + // data: data + data: { + devices, + "functions": [ + { + "functionId": "11", + "params": { + "size": "65535", + "fileName": "play010.lst" + } + }, + { + "functionId": "13", + "params": { + parameters : data.content + } + }, + { + "functionId": "1B", + "params": { + "fileId": "10" + } + } + + ] + } }) -} \ No newline at end of file +} + + diff --git a/ruoyi-ui/src/assets/styles/JiHeExpressway.scss b/ruoyi-ui/src/assets/styles/JiHeExpressway.scss index f68d1c59..acc3b11b 100644 --- a/ruoyi-ui/src/assets/styles/JiHeExpressway.scss +++ b/ruoyi-ui/src/assets/styles/JiHeExpressway.scss @@ -1,4 +1,6 @@ +.flex{ display: flex;} .fl-col{ display: flex; flex-direction: column;} +.fl-around{display: flex; justify-content: space-between;} .fl-1{ flex: 1;} .theme-jihe { $lightBlue: #3de8ff; diff --git a/ruoyi-ui/src/common/getBoardBaseData.js b/ruoyi-ui/src/common/getBoardBaseData.js index 221d4b83..7aec0b3d 100644 --- a/ruoyi-ui/src/common/getBoardBaseData.js +++ b/ruoyi-ui/src/common/getBoardBaseData.js @@ -1,25 +1,42 @@ import Vue from "vue"; import { getDicts } from "@/api/system/dict/data"; -export default function(){ - - - return Promise.all([ - getDicts('iot_device_font_type'), - // getDicts('iot_devices_font_color'), - // getDicts('iot_device_font_inScreen_mode'), - // getDicts('iot_template_category'), - // getDicts('iot_device_font_size'), - ]).then(resArr=>{ - initFontType(resArr[0]); +export default function () { - function initFontType(res){ - let dic = {}; - res.data.forEach(item => { - dic[item.dictValue] = item.cssClass; + + return Promise.all([ + getDicts('iot_device_font_type'), + getDicts('iot_board_pixel'), + // getDicts('iot_devices_font_color'), + // getDicts('iot_device_font_inScreen_mode'), + // getDicts('iot_template_category'), + // getDicts('iot_device_font_size'), + ]).then(resArr => { + initFontType(resArr[0]); + initListAndDic(1, "boardPixel", "dictLabel"); + + function initFontType(res) { //历史原因,情报板字体类型单独一个方法 + let dic = {}; + res.data.forEach(item => { + dic[item.dictValue] = item.cssClass; + }); + Vue.prototype.fontTypeDic = dic; + Vue.prototype.fontTypeList = res.data; + } + + function initListAndDic(idx, namePrefix, labelField) { + let dic = {}; + let list = []; + resArr[idx].data.forEach(item => { + dic[item.dictValue] = item[labelField]; + list.push({ + label: item[labelField], + value: item.dictValue }); - Vue.prototype.fontTypeDic = dic; - Vue.prototype.fontTypeList = res.data; - } - }); + }); + Vue.prototype[namePrefix + "Dic"] = dic; + Vue.prototype[namePrefix + "Options"] = list; + } + + }); } \ No newline at end of file diff --git a/ruoyi-ui/src/common/menuData.js b/ruoyi-ui/src/common/menuData.js index 9a1cbf94..f715bde9 100644 --- a/ruoyi-ui/src/common/menuData.js +++ b/ruoyi-ui/src/common/menuData.js @@ -102,6 +102,20 @@ export default [ }, ], }, + { + title: "设备管控", + name: "controlDevice", + path: "/control/device", + redirect: "controlDeviceStrategy", + children: [ + { + title: "管控策略", + path: "/control/device/strategy", + name: "controlDeviceStrategy", + component: "control/device/strategy/index.vue", + } + ], + }, { title: "扫码报警", name: "controlQR", diff --git a/ruoyi-ui/src/store/modules/menu.js b/ruoyi-ui/src/store/modules/menu.js index 750b9d83..6f0103f4 100644 --- a/ruoyi-ui/src/store/modules/menu.js +++ b/ruoyi-ui/src/store/modules/menu.js @@ -5,12 +5,12 @@ const state = { const mutations = { saveRecent(state){ - localStorage.setItem("recentPages", JSON.stringify(state.recentPages)); + sessionStorage.setItem("recentPages", JSON.stringify(state.recentPages)); }, addRecent(state, item) { if(state.recentPages.length == 0 ){ - state.recentPages = JSON.parse(localStorage.getItem("recentPages") || "[]"); + state.recentPages = JSON.parse(sessionStorage.getItem("recentPages") || "[]"); } let temp; state.recentPages.forEach((unit,index)=>{ @@ -31,16 +31,21 @@ const state = { }, openRecent(state){ state.isRecentOpen = true; - localStorage.setItem("isRecentOpen", true); + sessionStorage.setItem("isRecentOpen", true); }, closeRecent(state){ state.isRecentOpen = false; - localStorage.setItem("isRecentOpen", false); + sessionStorage.setItem("isRecentOpen", false); }, removeRecent(state, item) { let i = state.recentPages.findIndex(unit => unit.path == item.path); state.recentPages.splice(i, 1); mutations.saveRecent(state); + }, + resetRecent(state, para){ + state.isRecentOpen = false; + sessionStorage.setItem("isRecentOpen", false); + sessionStorage.removeItem("recentPages") } } @@ -48,7 +53,7 @@ const state = { const getters = { isRecentOpen(state){ if (state.isRecentOpen === ""){ - state.isRecentOpen = JSON.parse(localStorage.getItem("isRecentOpen")) || false; + state.isRecentOpen = JSON.parse(sessionStorage.getItem("isRecentOpen")) || false; } return state.isRecentOpen; } diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/Card1/index.vue b/ruoyi-ui/src/views/JiHeExpressway/components/Card1/index.vue index 7860b65d..a20049f4 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/components/Card1/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/components/Card1/index.vue @@ -8,7 +8,7 @@ >

- {{ item.label }}: + {{ item.label }}: {{ getValue(item) }}{{ item.suffix }} @@ -94,6 +94,10 @@ export default { type: Boolean, default: true, }, + labelWidth:{ + type: [String,Number], + default:70 + } }, data() { return { @@ -151,7 +155,7 @@ export default { & > :first-child { margin-right: 6px; - flex: 1; + // flex: 1; } & > :last-child { diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/Video/index.vue b/ruoyi-ui/src/views/JiHeExpressway/components/Video/index.vue index fb177728..5353882a 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/components/Video/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/components/Video/index.vue @@ -13,7 +13,7 @@

- +