From a72e2e6ff5eecb8ad071eba051d5b1b81e26e886 Mon Sep 17 00:00:00 2001 From: dengboling Date: Thu, 3 Sep 2026 17:39:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=A7=E5=93=81=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E3=80=81=E7=89=A9=E6=A8=A1=E5=9E=8B=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E3=80=81=E4=BA=A7=E5=93=81=E5=88=86=E7=B1=BB=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=EF=BC=8C=E5=AE=8C=E5=96=84=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=9A=84=E7=89=A9=E6=A8=A1=E5=9E=8B=E9=85=8D=E7=BD=AE=E7=95=8C?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- node_modules/.vite/deps/_metadata.json | 20 +- src/api/alertRule.js | 9 +- src/api/device.js | 3 + src/views/config/device/Index.vue | 208 +++++++++++++++++- src/views/config/product/Category.vue | 118 +++++++++- src/views/config/product/Index.vue | 284 ++++++++++++++++++++++++- 6 files changed, 617 insertions(+), 25 deletions(-) diff --git a/node_modules/.vite/deps/_metadata.json b/node_modules/.vite/deps/_metadata.json index 18ee4f0..d617eac 100644 --- a/node_modules/.vite/deps/_metadata.json +++ b/node_modules/.vite/deps/_metadata.json @@ -1,49 +1,49 @@ { - "hash": "b6c330c5", - "configHash": "e57f8d4c", + "hash": "25a37344", + "configHash": "ec38f6fa", "lockfileHash": "74076ca5", - "browserHash": "ed3d8378", + "browserHash": "8bfb7e71", "optimized": { "@element-plus/icons-vue": { "src": "../../@element-plus/icons-vue/dist/index.js", "file": "@element-plus_icons-vue.js", - "fileHash": "de153aba", + "fileHash": "53709748", "needsInterop": false }, "axios": { "src": "../../axios/index.js", "file": "axios.js", - "fileHash": "c19fdb3e", + "fileHash": "8bc11b32", "needsInterop": false }, "echarts": { "src": "../../echarts/index.js", "file": "echarts.js", - "fileHash": "a8d7111b", + "fileHash": "bf5b1683", "needsInterop": false }, "element-plus": { "src": "../../element-plus/es/index.mjs", "file": "element-plus.js", - "fileHash": "10cb780f", + "fileHash": "6f7bcfbf", "needsInterop": false }, "pinia": { "src": "../../pinia/dist/pinia.js", "file": "pinia.js", - "fileHash": "82d3c424", + "fileHash": "c89feaca", "needsInterop": false }, "vue-router": { "src": "../../vue-router/dist/vue-router.js", "file": "vue-router.js", - "fileHash": "1b68fa4e", + "fileHash": "a9a2c9fa", "needsInterop": false }, "vue": { "src": "../../vue/dist/vue.runtime.esm-bundler.js", "file": "vue.js", - "fileHash": "7e296374", + "fileHash": "53d5f754", "needsInterop": false } }, diff --git a/src/api/alertRule.js b/src/api/alertRule.js index 09d447d..9db83aa 100644 --- a/src/api/alertRule.js +++ b/src/api/alertRule.js @@ -1,10 +1,17 @@ import request from '@/utils/request' -// 告警规则列表 +// 告警规则列表(全局,不含产品/设备归属规则) export function getAlertRuleList() { return request.get('/inspection/alert-rule/list') } +// 某归属对象(产品/设备)下的规则列表;pointCode 可选按点过滤 +export function getOwnerAlertRules(ownerType, ownerId, pointCode) { + return request.get('/inspection/alert-rule/owner', { + params: { ownerType, ownerId, pointCode: pointCode || undefined } + }) +} + // 新增告警规则 export function addAlertRule(data) { return request.post('/inspection/alert-rule/add', data) diff --git a/src/api/device.js b/src/api/device.js index 86abbb0..44b188d 100644 --- a/src/api/device.js +++ b/src/api/device.js @@ -45,3 +45,6 @@ export const deleteDevice = (id) => request.delete(`${base}/${id}`) // 设备日志(分页;结果数组上附带 total) export const getDeviceLogs = (id, params) => request.get(`${base}/${id}/logs`, { params }) + +// 按物模型点下发指令:{ PointId, Value, IsSimulated } +export const sendDeviceCommand = (id, data) => request.post(`${base}/${id}/command`, data) diff --git a/src/views/config/device/Index.vue b/src/views/config/device/Index.vue index ae07e15..31e7ccf 100644 --- a/src/views/config/device/Index.vue +++ b/src/views/config/device/Index.vue @@ -10,6 +10,9 @@