From 563db9205674f9266cdfcfe7c9b3c0ffb68d6316 Mon Sep 17 00:00:00 2001
From: liuyibo <14460729+liuyibo12345@user.noreply.gitee.com>
Date: Sat, 21 Sep 2024 09:29:12 +0800
Subject: [PATCH] =?UTF-8?q?=E8=BD=A6=E8=BE=86=E9=A2=84=E8=AD=A6CRUD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/warn/logs.js | 44 +++
src/api/warn/rule.js | 44 +++
src/api/warn/strategy.js | 44 +++
src/utils/generator/icon.json | 4 +-
src/utils/generator/render.js | 2 +-
src/views/components/icons/element-icons.js | 2 +-
src/views/warn/logs/index.vue | 364 ++++++++++++++++++++
src/views/warn/rule/index.vue | 329 ++++++++++++++++++
src/views/warn/strategy/index.vue | 273 +++++++++++++++
9 files changed, 1102 insertions(+), 4 deletions(-)
create mode 100644 src/api/warn/logs.js
create mode 100644 src/api/warn/rule.js
create mode 100644 src/api/warn/strategy.js
create mode 100644 src/views/warn/logs/index.vue
create mode 100644 src/views/warn/rule/index.vue
create mode 100644 src/views/warn/strategy/index.vue
diff --git a/src/api/warn/logs.js b/src/api/warn/logs.js
new file mode 100644
index 0000000..cc5f885
--- /dev/null
+++ b/src/api/warn/logs.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询预警日志列表
+export function listLogs(query) {
+ return request({
+ url: '/warn/logs/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询预警日志详细
+export function getLogs(id) {
+ return request({
+ url: '/warn/logs/' + id,
+ method: 'get'
+ })
+}
+
+// 新增预警日志
+export function addLogs(data) {
+ return request({
+ url: '/warn/logs',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改预警日志
+export function updateLogs(data) {
+ return request({
+ url: '/warn/logs',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除预警日志
+export function delLogs(id) {
+ return request({
+ url: '/warn/logs/' + id,
+ method: 'delete'
+ })
+}
diff --git a/src/api/warn/rule.js b/src/api/warn/rule.js
new file mode 100644
index 0000000..146db11
--- /dev/null
+++ b/src/api/warn/rule.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询预警规则列表
+export function listRule(query) {
+ return request({
+ url: '/warn/rule/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询预警规则详细
+export function getRule(id) {
+ return request({
+ url: '/warn/rule/' + id,
+ method: 'get'
+ })
+}
+
+// 新增预警规则
+export function addRule(data) {
+ return request({
+ url: '/warn/rule',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改预警规则
+export function updateRule(data) {
+ return request({
+ url: '/warn/rule',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除预警规则
+export function delRule(id) {
+ return request({
+ url: '/warn/rule/' + id,
+ method: 'delete'
+ })
+}
diff --git a/src/api/warn/strategy.js b/src/api/warn/strategy.js
new file mode 100644
index 0000000..6cec6de
--- /dev/null
+++ b/src/api/warn/strategy.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询预警策略列表
+export function listStrategy(query) {
+ return request({
+ url: '/warn/strategy/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询预警策略详细
+export function getStrategy(id) {
+ return request({
+ url: '/warn/strategy/' + id,
+ method: 'get'
+ })
+}
+
+// 新增预警策略
+export function addStrategy(data) {
+ return request({
+ url: '/warn/strategy',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改预警策略
+export function updateStrategy(data) {
+ return request({
+ url: '/warn/strategy',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除预警策略
+export function delStrategy(id) {
+ return request({
+ url: '/warn/strategy/' + id,
+ method: 'delete'
+ })
+}
diff --git a/src/utils/generator/icon.json b/src/utils/generator/icon.json
index 2de7b07..80fe10c 100644
--- a/src/utils/generator/icon.json
+++ b/src/utils/generator/icon.json
@@ -1,5 +1,5 @@
[
- "platform-eleme",
+ "warn-eleme",
"eleme",
"delete-solid",
"delete",
@@ -49,7 +49,7 @@
"bell",
"s-cooperation",
"s-order",
- "s-platform",
+ "s-warn",
"s-fold",
"s-unfold",
"s-operation",
diff --git a/src/utils/generator/render.js b/src/utils/generator/render.js
index a8ea1e4..c77ee9b 100644
--- a/src/utils/generator/render.js
+++ b/src/utils/generator/render.js
@@ -1,6 +1,6 @@
import {makeMap} from '@/utils/index'
-// 参考https://github.com/vuejs/vue/blob/v2.6.10/src/platforms/web/server/util.js
+// 参考https://github.com/vuejs/vue/blob/v2.6.10/src/warns/web/server/util.js
const isAttr = makeMap(
'accept,accept-charset,accesskey,action,align,alt,async,autocomplete,'
+ 'autofocus,autoplay,autosave,bgcolor,border,buffered,challenge,charset,'
diff --git a/src/views/components/icons/element-icons.js b/src/views/components/icons/element-icons.js
index 9ea4d63..b2faaeb 100644
--- a/src/views/components/icons/element-icons.js
+++ b/src/views/components/icons/element-icons.js
@@ -1,3 +1,3 @@
-const elementIcons = ['platform-eleme', 'eleme', 'delete-solid', 'delete', 's-tools', 'setting', 'user-solid', 'user', 'phone', 'phone-outline', 'more', 'more-outline', 'star-on', 'star-off', 's-goods', 'goods', 'warning', 'warning-outline', 'question', 'info', 'remove', 'circle-plus', 'success', 'error', 'zoom-in', 'zoom-out', 'remove-outline', 'circle-plus-outline', 'circle-check', 'circle-close', 's-help', 'help', 'minus', 'plus', 'check', 'close', 'picture', 'picture-outline', 'picture-outline-round', 'upload', 'upload2', 'download', 'camera-solid', 'camera', 'video-camera-solid', 'video-camera', 'message-solid', 'bell', 's-cooperation', 's-order', 's-platform', 's-fold', 's-unfold', 's-operation', 's-promotion', 's-home', 's-release', 's-ticket', 's-management', 's-open', 's-shop', 's-marketing', 's-flag', 's-comment', 's-finance', 's-claim', 's-custom', 's-opportunity', 's-data', 's-check', 's-grid', 'menu', 'share', 'd-caret', 'caret-left', 'caret-right', 'caret-bottom', 'caret-top', 'bottom-left', 'bottom-right', 'back', 'right', 'bottom', 'top', 'top-left', 'top-right', 'arrow-left', 'arrow-right', 'arrow-down', 'arrow-up', 'd-arrow-left', 'd-arrow-right', 'video-pause', 'video-play', 'refresh', 'refresh-right', 'refresh-left', 'finished', 'sort', 'sort-up', 'sort-down', 'rank', 'loading', 'view', 'c-scale-to-original', 'date', 'edit', 'edit-outline', 'folder', 'folder-opened', 'folder-add', 'folder-remove', 'folder-delete', 'folder-checked', 'tickets', 'document-remove', 'document-delete', 'document-copy', 'document-checked', 'document', 'document-add', 'printer', 'paperclip', 'takeaway-box', 'search', 'monitor', 'attract', 'mobile', 'scissors', 'umbrella', 'headset', 'brush', 'mouse', 'coordinate', 'magic-stick', 'reading', 'data-line', 'data-board', 'pie-chart', 'data-analysis', 'collection-tag', 'film', 'suitcase', 'suitcase-1', 'receiving', 'collection', 'files', 'notebook-1', 'notebook-2', 'toilet-paper', 'office-building', 'school', 'table-lamp', 'house', 'no-smoking', 'smoking', 'shopping-cart-full', 'shopping-cart-1', 'shopping-cart-2', 'shopping-bag-1', 'shopping-bag-2', 'sold-out', 'sell', 'present', 'box', 'bank-card', 'money', 'coin', 'wallet', 'discount', 'price-tag', 'news', 'guide', 'male', 'female', 'thumb', 'cpu', 'link', 'connection', 'open', 'turn-off', 'set-up', 'chat-round', 'chat-line-round', 'chat-square', 'chat-dot-round', 'chat-dot-square', 'chat-line-square', 'message', 'postcard', 'position', 'turn-off-microphone', 'microphone', 'close-notification', 'bangzhu', 'time', 'odometer', 'crop', 'aim', 'switch-button', 'full-screen', 'copy-document', 'mic', 'stopwatch', 'medal-1', 'medal', 'trophy', 'trophy-1', 'first-aid-kit', 'discover', 'place', 'location', 'location-outline', 'location-information', 'add-location', 'delete-location', 'map-location', 'alarm-clock', 'timer', 'watch-1', 'watch', 'lock', 'unlock', 'key', 'service', 'mobile-phone', 'bicycle', 'truck', 'ship', 'basketball', 'football', 'soccer', 'baseball', 'wind-power', 'light-rain', 'lightning', 'heavy-rain', 'sunrise', 'sunrise-1', 'sunset', 'sunny', 'cloudy', 'partly-cloudy', 'cloudy-and-sunny', 'moon', 'moon-night', 'dish', 'dish-1', 'food', 'chicken', 'fork-spoon', 'knife-fork', 'burger', 'tableware', 'sugar', 'dessert', 'ice-cream', 'hot-water', 'water-cup', 'coffee-cup', 'cold-drink', 'goblet', 'goblet-full', 'goblet-square', 'goblet-square-full', 'refrigerator', 'grape', 'watermelon', 'cherry', 'apple', 'pear', 'orange', 'coffee', 'ice-tea', 'ice-drink', 'milk-tea', 'potato-strips', 'lollipop', 'ice-cream-square', 'ice-cream-round']
+const elementIcons = ['warn-eleme', 'eleme', 'delete-solid', 'delete', 's-tools', 'setting', 'user-solid', 'user', 'phone', 'phone-outline', 'more', 'more-outline', 'star-on', 'star-off', 's-goods', 'goods', 'warning', 'warning-outline', 'question', 'info', 'remove', 'circle-plus', 'success', 'error', 'zoom-in', 'zoom-out', 'remove-outline', 'circle-plus-outline', 'circle-check', 'circle-close', 's-help', 'help', 'minus', 'plus', 'check', 'close', 'picture', 'picture-outline', 'picture-outline-round', 'upload', 'upload2', 'download', 'camera-solid', 'camera', 'video-camera-solid', 'video-camera', 'message-solid', 'bell', 's-cooperation', 's-order', 's-warn', 's-fold', 's-unfold', 's-operation', 's-promotion', 's-home', 's-release', 's-ticket', 's-management', 's-open', 's-shop', 's-marketing', 's-flag', 's-comment', 's-finance', 's-claim', 's-custom', 's-opportunity', 's-data', 's-check', 's-grid', 'menu', 'share', 'd-caret', 'caret-left', 'caret-right', 'caret-bottom', 'caret-top', 'bottom-left', 'bottom-right', 'back', 'right', 'bottom', 'top', 'top-left', 'top-right', 'arrow-left', 'arrow-right', 'arrow-down', 'arrow-up', 'd-arrow-left', 'd-arrow-right', 'video-pause', 'video-play', 'refresh', 'refresh-right', 'refresh-left', 'finished', 'sort', 'sort-up', 'sort-down', 'rank', 'loading', 'view', 'c-scale-to-original', 'date', 'edit', 'edit-outline', 'folder', 'folder-opened', 'folder-add', 'folder-remove', 'folder-delete', 'folder-checked', 'tickets', 'document-remove', 'document-delete', 'document-copy', 'document-checked', 'document', 'document-add', 'printer', 'paperclip', 'takeaway-box', 'search', 'monitor', 'attract', 'mobile', 'scissors', 'umbrella', 'headset', 'brush', 'mouse', 'coordinate', 'magic-stick', 'reading', 'data-line', 'data-board', 'pie-chart', 'data-analysis', 'collection-tag', 'film', 'suitcase', 'suitcase-1', 'receiving', 'collection', 'files', 'notebook-1', 'notebook-2', 'toilet-paper', 'office-building', 'school', 'table-lamp', 'house', 'no-smoking', 'smoking', 'shopping-cart-full', 'shopping-cart-1', 'shopping-cart-2', 'shopping-bag-1', 'shopping-bag-2', 'sold-out', 'sell', 'present', 'box', 'bank-card', 'money', 'coin', 'wallet', 'discount', 'price-tag', 'news', 'guide', 'male', 'female', 'thumb', 'cpu', 'link', 'connection', 'open', 'turn-off', 'set-up', 'chat-round', 'chat-line-round', 'chat-square', 'chat-dot-round', 'chat-dot-square', 'chat-line-square', 'message', 'postcard', 'position', 'turn-off-microphone', 'microphone', 'close-notification', 'bangzhu', 'time', 'odometer', 'crop', 'aim', 'switch-button', 'full-screen', 'copy-document', 'mic', 'stopwatch', 'medal-1', 'medal', 'trophy', 'trophy-1', 'first-aid-kit', 'discover', 'place', 'location', 'location-outline', 'location-information', 'add-location', 'delete-location', 'map-location', 'alarm-clock', 'timer', 'watch-1', 'watch', 'lock', 'unlock', 'key', 'service', 'mobile-phone', 'bicycle', 'truck', 'ship', 'basketball', 'football', 'soccer', 'baseball', 'wind-power', 'light-rain', 'lightning', 'heavy-rain', 'sunrise', 'sunrise-1', 'sunset', 'sunny', 'cloudy', 'partly-cloudy', 'cloudy-and-sunny', 'moon', 'moon-night', 'dish', 'dish-1', 'food', 'chicken', 'fork-spoon', 'knife-fork', 'burger', 'tableware', 'sugar', 'dessert', 'ice-cream', 'hot-water', 'water-cup', 'coffee-cup', 'cold-drink', 'goblet', 'goblet-full', 'goblet-square', 'goblet-square-full', 'refrigerator', 'grape', 'watermelon', 'cherry', 'apple', 'pear', 'orange', 'coffee', 'ice-tea', 'ice-drink', 'milk-tea', 'potato-strips', 'lollipop', 'ice-cream-square', 'ice-cream-round']
export default elementIcons
diff --git a/src/views/warn/logs/index.vue b/src/views/warn/logs/index.vue
new file mode 100644
index 0000000..114a2c8
--- /dev/null
+++ b/src/views/warn/logs/index.vue
@@ -0,0 +1,364 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}
+
+
+
+
+ {{ parseTime(scope.row.endTime, '{y}-{m}-{d}') }}
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warn/rule/index.vue b/src/views/warn/rule/index.vue
new file mode 100644
index 0000000..f03ae79
--- /dev/null
+++ b/src/views/warn/rule/index.vue
@@ -0,0 +1,329 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warn/strategy/index.vue b/src/views/warn/strategy/index.vue
new file mode 100644
index 0000000..0960b03
--- /dev/null
+++ b/src/views/warn/strategy/index.vue
@@ -0,0 +1,273 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+