diff --git a/src/api/data/alarm.ts b/src/api/data/alarm.ts
new file mode 100644
index 0000000..73e0e07
--- /dev/null
+++ b/src/api/data/alarm.ts
@@ -0,0 +1,38 @@
+import request from '../index'
+const prefixRule = 'alarmRule'
+
+// 查询报警规则数据 分页
+export function getAlarmRuleListPage(data: object) {
+ return request({
+ url: `${prefixRule}/list`,
+ method: 'post',
+ data,
+ })
+}
+
+// 删除报警规则
+export function deleteAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/delete`,
+ method: 'post',
+ data,
+ })
+}
+
+// 新增报警规则
+export function addAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/add`,
+ method: 'post',
+ data,
+ })
+}
+
+// 编辑报警规则
+export function updateAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/update`,
+ method: 'post',
+ data,
+ })
+}
diff --git a/src/api/data/alarm.ts b/src/api/data/alarm.ts
new file mode 100644
index 0000000..73e0e07
--- /dev/null
+++ b/src/api/data/alarm.ts
@@ -0,0 +1,38 @@
+import request from '../index'
+const prefixRule = 'alarmRule'
+
+// 查询报警规则数据 分页
+export function getAlarmRuleListPage(data: object) {
+ return request({
+ url: `${prefixRule}/list`,
+ method: 'post',
+ data,
+ })
+}
+
+// 删除报警规则
+export function deleteAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/delete`,
+ method: 'post',
+ data,
+ })
+}
+
+// 新增报警规则
+export function addAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/add`,
+ method: 'post',
+ data,
+ })
+}
+
+// 编辑报警规则
+export function updateAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/update`,
+ method: 'post',
+ data,
+ })
+}
diff --git a/src/menu/index.ts b/src/menu/index.ts
new file mode 100644
index 0000000..aff0e3e
--- /dev/null
+++ b/src/menu/index.ts
@@ -0,0 +1,17 @@
+import MultilevelMenuExample from './modules/multilevel.menu.example'
+
+import type { Menu } from '@/global'
+
+const menu: Menu.recordMainRaw[] = [
+ {
+ meta: {
+ title: '演示',
+ icon: 'sidebar-default',
+ },
+ children: [
+ MultilevelMenuExample,
+ ],
+ },
+]
+
+export default menu
diff --git a/src/api/data/alarm.ts b/src/api/data/alarm.ts
new file mode 100644
index 0000000..73e0e07
--- /dev/null
+++ b/src/api/data/alarm.ts
@@ -0,0 +1,38 @@
+import request from '../index'
+const prefixRule = 'alarmRule'
+
+// 查询报警规则数据 分页
+export function getAlarmRuleListPage(data: object) {
+ return request({
+ url: `${prefixRule}/list`,
+ method: 'post',
+ data,
+ })
+}
+
+// 删除报警规则
+export function deleteAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/delete`,
+ method: 'post',
+ data,
+ })
+}
+
+// 新增报警规则
+export function addAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/add`,
+ method: 'post',
+ data,
+ })
+}
+
+// 编辑报警规则
+export function updateAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/update`,
+ method: 'post',
+ data,
+ })
+}
diff --git a/src/menu/index.ts b/src/menu/index.ts
new file mode 100644
index 0000000..aff0e3e
--- /dev/null
+++ b/src/menu/index.ts
@@ -0,0 +1,17 @@
+import MultilevelMenuExample from './modules/multilevel.menu.example'
+
+import type { Menu } from '@/global'
+
+const menu: Menu.recordMainRaw[] = [
+ {
+ meta: {
+ title: '演示',
+ icon: 'sidebar-default',
+ },
+ children: [
+ MultilevelMenuExample,
+ ],
+ },
+]
+
+export default menu
diff --git a/src/menu/modules/multilevel.menu.example.ts b/src/menu/modules/multilevel.menu.example.ts
new file mode 100644
index 0000000..ce26d43
--- /dev/null
+++ b/src/menu/modules/multilevel.menu.example.ts
@@ -0,0 +1,50 @@
+import type { Menu } from '@/global'
+
+const menus: Menu.recordRaw = {
+ meta: {
+ title: '多级导航',
+ icon: 'heroicons-solid:menu-alt-3',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/page',
+ meta: {
+ title: '导航1',
+ },
+ },
+ {
+ meta: {
+ title: '导航2',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/level2/page',
+ meta: {
+ title: '导航2-1',
+ },
+ },
+ {
+ meta: {
+ title: '导航2-2',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/level2/level3/page1',
+ meta: {
+ title: '导航2-2-1',
+ },
+ },
+ {
+ path: '/multilevel_menu_example/level2/level3/page2',
+ meta: {
+ title: '导航2-2-2',
+ },
+ },
+ ],
+ },
+ ],
+ },
+ ],
+}
+
+export default menus
diff --git a/src/api/data/alarm.ts b/src/api/data/alarm.ts
new file mode 100644
index 0000000..73e0e07
--- /dev/null
+++ b/src/api/data/alarm.ts
@@ -0,0 +1,38 @@
+import request from '../index'
+const prefixRule = 'alarmRule'
+
+// 查询报警规则数据 分页
+export function getAlarmRuleListPage(data: object) {
+ return request({
+ url: `${prefixRule}/list`,
+ method: 'post',
+ data,
+ })
+}
+
+// 删除报警规则
+export function deleteAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/delete`,
+ method: 'post',
+ data,
+ })
+}
+
+// 新增报警规则
+export function addAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/add`,
+ method: 'post',
+ data,
+ })
+}
+
+// 编辑报警规则
+export function updateAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/update`,
+ method: 'post',
+ data,
+ })
+}
diff --git a/src/menu/index.ts b/src/menu/index.ts
new file mode 100644
index 0000000..aff0e3e
--- /dev/null
+++ b/src/menu/index.ts
@@ -0,0 +1,17 @@
+import MultilevelMenuExample from './modules/multilevel.menu.example'
+
+import type { Menu } from '@/global'
+
+const menu: Menu.recordMainRaw[] = [
+ {
+ meta: {
+ title: '演示',
+ icon: 'sidebar-default',
+ },
+ children: [
+ MultilevelMenuExample,
+ ],
+ },
+]
+
+export default menu
diff --git a/src/menu/modules/multilevel.menu.example.ts b/src/menu/modules/multilevel.menu.example.ts
new file mode 100644
index 0000000..ce26d43
--- /dev/null
+++ b/src/menu/modules/multilevel.menu.example.ts
@@ -0,0 +1,50 @@
+import type { Menu } from '@/global'
+
+const menus: Menu.recordRaw = {
+ meta: {
+ title: '多级导航',
+ icon: 'heroicons-solid:menu-alt-3',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/page',
+ meta: {
+ title: '导航1',
+ },
+ },
+ {
+ meta: {
+ title: '导航2',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/level2/page',
+ meta: {
+ title: '导航2-1',
+ },
+ },
+ {
+ meta: {
+ title: '导航2-2',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/level2/level3/page1',
+ meta: {
+ title: '导航2-2-1',
+ },
+ },
+ {
+ path: '/multilevel_menu_example/level2/level3/page2',
+ meta: {
+ title: '导航2-2-2',
+ },
+ },
+ ],
+ },
+ ],
+ },
+ ],
+}
+
+export default menus
diff --git a/src/router/modules/leak.ts b/src/router/modules/leak.ts
index 54710b4..5090f5c 100644
--- a/src/router/modules/leak.ts
+++ b/src/router/modules/leak.ts
@@ -89,7 +89,7 @@
{
path: 'config',
name: 'LeakAlarmConfig',
- component: () => import('@/views/basic/device/list.vue'),
+ component: () => import('@/views/data/alarm/ruleList.vue'),
meta: {
title: '报警规则配置',
auth: '/leak/alarm/config',
diff --git a/src/api/data/alarm.ts b/src/api/data/alarm.ts
new file mode 100644
index 0000000..73e0e07
--- /dev/null
+++ b/src/api/data/alarm.ts
@@ -0,0 +1,38 @@
+import request from '../index'
+const prefixRule = 'alarmRule'
+
+// 查询报警规则数据 分页
+export function getAlarmRuleListPage(data: object) {
+ return request({
+ url: `${prefixRule}/list`,
+ method: 'post',
+ data,
+ })
+}
+
+// 删除报警规则
+export function deleteAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/delete`,
+ method: 'post',
+ data,
+ })
+}
+
+// 新增报警规则
+export function addAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/add`,
+ method: 'post',
+ data,
+ })
+}
+
+// 编辑报警规则
+export function updateAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/update`,
+ method: 'post',
+ data,
+ })
+}
diff --git a/src/menu/index.ts b/src/menu/index.ts
new file mode 100644
index 0000000..aff0e3e
--- /dev/null
+++ b/src/menu/index.ts
@@ -0,0 +1,17 @@
+import MultilevelMenuExample from './modules/multilevel.menu.example'
+
+import type { Menu } from '@/global'
+
+const menu: Menu.recordMainRaw[] = [
+ {
+ meta: {
+ title: '演示',
+ icon: 'sidebar-default',
+ },
+ children: [
+ MultilevelMenuExample,
+ ],
+ },
+]
+
+export default menu
diff --git a/src/menu/modules/multilevel.menu.example.ts b/src/menu/modules/multilevel.menu.example.ts
new file mode 100644
index 0000000..ce26d43
--- /dev/null
+++ b/src/menu/modules/multilevel.menu.example.ts
@@ -0,0 +1,50 @@
+import type { Menu } from '@/global'
+
+const menus: Menu.recordRaw = {
+ meta: {
+ title: '多级导航',
+ icon: 'heroicons-solid:menu-alt-3',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/page',
+ meta: {
+ title: '导航1',
+ },
+ },
+ {
+ meta: {
+ title: '导航2',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/level2/page',
+ meta: {
+ title: '导航2-1',
+ },
+ },
+ {
+ meta: {
+ title: '导航2-2',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/level2/level3/page1',
+ meta: {
+ title: '导航2-2-1',
+ },
+ },
+ {
+ path: '/multilevel_menu_example/level2/level3/page2',
+ meta: {
+ title: '导航2-2-2',
+ },
+ },
+ ],
+ },
+ ],
+ },
+ ],
+}
+
+export default menus
diff --git a/src/router/modules/leak.ts b/src/router/modules/leak.ts
index 54710b4..5090f5c 100644
--- a/src/router/modules/leak.ts
+++ b/src/router/modules/leak.ts
@@ -89,7 +89,7 @@
{
path: 'config',
name: 'LeakAlarmConfig',
- component: () => import('@/views/basic/device/list.vue'),
+ component: () => import('@/views/data/alarm/ruleList.vue'),
meta: {
title: '报警规则配置',
auth: '/leak/alarm/config',
diff --git a/src/views/basic/device/addDeviceDialog.vue b/src/views/basic/device/addDeviceDialog.vue
index 49801f7..4d5245e 100644
--- a/src/views/basic/device/addDeviceDialog.vue
+++ b/src/views/basic/device/addDeviceDialog.vue
@@ -60,6 +60,7 @@
// 添加
const saveInfo = () => {
+ deviceInfo.value.deviceName = deviceInfo.value.devcode
addDevice(deviceInfo.value).then((res) => {
if (res.code === 200) {
// 提示保存成功
diff --git a/src/api/data/alarm.ts b/src/api/data/alarm.ts
new file mode 100644
index 0000000..73e0e07
--- /dev/null
+++ b/src/api/data/alarm.ts
@@ -0,0 +1,38 @@
+import request from '../index'
+const prefixRule = 'alarmRule'
+
+// 查询报警规则数据 分页
+export function getAlarmRuleListPage(data: object) {
+ return request({
+ url: `${prefixRule}/list`,
+ method: 'post',
+ data,
+ })
+}
+
+// 删除报警规则
+export function deleteAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/delete`,
+ method: 'post',
+ data,
+ })
+}
+
+// 新增报警规则
+export function addAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/add`,
+ method: 'post',
+ data,
+ })
+}
+
+// 编辑报警规则
+export function updateAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/update`,
+ method: 'post',
+ data,
+ })
+}
diff --git a/src/menu/index.ts b/src/menu/index.ts
new file mode 100644
index 0000000..aff0e3e
--- /dev/null
+++ b/src/menu/index.ts
@@ -0,0 +1,17 @@
+import MultilevelMenuExample from './modules/multilevel.menu.example'
+
+import type { Menu } from '@/global'
+
+const menu: Menu.recordMainRaw[] = [
+ {
+ meta: {
+ title: '演示',
+ icon: 'sidebar-default',
+ },
+ children: [
+ MultilevelMenuExample,
+ ],
+ },
+]
+
+export default menu
diff --git a/src/menu/modules/multilevel.menu.example.ts b/src/menu/modules/multilevel.menu.example.ts
new file mode 100644
index 0000000..ce26d43
--- /dev/null
+++ b/src/menu/modules/multilevel.menu.example.ts
@@ -0,0 +1,50 @@
+import type { Menu } from '@/global'
+
+const menus: Menu.recordRaw = {
+ meta: {
+ title: '多级导航',
+ icon: 'heroicons-solid:menu-alt-3',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/page',
+ meta: {
+ title: '导航1',
+ },
+ },
+ {
+ meta: {
+ title: '导航2',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/level2/page',
+ meta: {
+ title: '导航2-1',
+ },
+ },
+ {
+ meta: {
+ title: '导航2-2',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/level2/level3/page1',
+ meta: {
+ title: '导航2-2-1',
+ },
+ },
+ {
+ path: '/multilevel_menu_example/level2/level3/page2',
+ meta: {
+ title: '导航2-2-2',
+ },
+ },
+ ],
+ },
+ ],
+ },
+ ],
+}
+
+export default menus
diff --git a/src/router/modules/leak.ts b/src/router/modules/leak.ts
index 54710b4..5090f5c 100644
--- a/src/router/modules/leak.ts
+++ b/src/router/modules/leak.ts
@@ -89,7 +89,7 @@
{
path: 'config',
name: 'LeakAlarmConfig',
- component: () => import('@/views/basic/device/list.vue'),
+ component: () => import('@/views/data/alarm/ruleList.vue'),
meta: {
title: '报警规则配置',
auth: '/leak/alarm/config',
diff --git a/src/views/basic/device/addDeviceDialog.vue b/src/views/basic/device/addDeviceDialog.vue
index 49801f7..4d5245e 100644
--- a/src/views/basic/device/addDeviceDialog.vue
+++ b/src/views/basic/device/addDeviceDialog.vue
@@ -60,6 +60,7 @@
// 添加
const saveInfo = () => {
+ deviceInfo.value.deviceName = deviceInfo.value.devcode
addDevice(deviceInfo.value).then((res) => {
if (res.code === 200) {
// 提示保存成功
diff --git a/src/views/basic/locate/addLocateDialog.vue b/src/views/basic/locate/addLocateDialog.vue
index faa1aa8..57de1e7 100644
--- a/src/views/basic/locate/addLocateDialog.vue
+++ b/src/views/basic/locate/addLocateDialog.vue
@@ -5,7 +5,6 @@
import { phoneValidator } from '../common-interface'
import type { ILocateInfo } from './locate-info'
import { addLocate, updateLocate } from '@/api/basic/locate'
-import { validatePhone } from '@/utils/validate'
const emit = defineEmits(['recordSaved'])
diff --git a/src/api/data/alarm.ts b/src/api/data/alarm.ts
new file mode 100644
index 0000000..73e0e07
--- /dev/null
+++ b/src/api/data/alarm.ts
@@ -0,0 +1,38 @@
+import request from '../index'
+const prefixRule = 'alarmRule'
+
+// 查询报警规则数据 分页
+export function getAlarmRuleListPage(data: object) {
+ return request({
+ url: `${prefixRule}/list`,
+ method: 'post',
+ data,
+ })
+}
+
+// 删除报警规则
+export function deleteAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/delete`,
+ method: 'post',
+ data,
+ })
+}
+
+// 新增报警规则
+export function addAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/add`,
+ method: 'post',
+ data,
+ })
+}
+
+// 编辑报警规则
+export function updateAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/update`,
+ method: 'post',
+ data,
+ })
+}
diff --git a/src/menu/index.ts b/src/menu/index.ts
new file mode 100644
index 0000000..aff0e3e
--- /dev/null
+++ b/src/menu/index.ts
@@ -0,0 +1,17 @@
+import MultilevelMenuExample from './modules/multilevel.menu.example'
+
+import type { Menu } from '@/global'
+
+const menu: Menu.recordMainRaw[] = [
+ {
+ meta: {
+ title: '演示',
+ icon: 'sidebar-default',
+ },
+ children: [
+ MultilevelMenuExample,
+ ],
+ },
+]
+
+export default menu
diff --git a/src/menu/modules/multilevel.menu.example.ts b/src/menu/modules/multilevel.menu.example.ts
new file mode 100644
index 0000000..ce26d43
--- /dev/null
+++ b/src/menu/modules/multilevel.menu.example.ts
@@ -0,0 +1,50 @@
+import type { Menu } from '@/global'
+
+const menus: Menu.recordRaw = {
+ meta: {
+ title: '多级导航',
+ icon: 'heroicons-solid:menu-alt-3',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/page',
+ meta: {
+ title: '导航1',
+ },
+ },
+ {
+ meta: {
+ title: '导航2',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/level2/page',
+ meta: {
+ title: '导航2-1',
+ },
+ },
+ {
+ meta: {
+ title: '导航2-2',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/level2/level3/page1',
+ meta: {
+ title: '导航2-2-1',
+ },
+ },
+ {
+ path: '/multilevel_menu_example/level2/level3/page2',
+ meta: {
+ title: '导航2-2-2',
+ },
+ },
+ ],
+ },
+ ],
+ },
+ ],
+}
+
+export default menus
diff --git a/src/router/modules/leak.ts b/src/router/modules/leak.ts
index 54710b4..5090f5c 100644
--- a/src/router/modules/leak.ts
+++ b/src/router/modules/leak.ts
@@ -89,7 +89,7 @@
{
path: 'config',
name: 'LeakAlarmConfig',
- component: () => import('@/views/basic/device/list.vue'),
+ component: () => import('@/views/data/alarm/ruleList.vue'),
meta: {
title: '报警规则配置',
auth: '/leak/alarm/config',
diff --git a/src/views/basic/device/addDeviceDialog.vue b/src/views/basic/device/addDeviceDialog.vue
index 49801f7..4d5245e 100644
--- a/src/views/basic/device/addDeviceDialog.vue
+++ b/src/views/basic/device/addDeviceDialog.vue
@@ -60,6 +60,7 @@
// 添加
const saveInfo = () => {
+ deviceInfo.value.deviceName = deviceInfo.value.devcode
addDevice(deviceInfo.value).then((res) => {
if (res.code === 200) {
// 提示保存成功
diff --git a/src/views/basic/locate/addLocateDialog.vue b/src/views/basic/locate/addLocateDialog.vue
index faa1aa8..57de1e7 100644
--- a/src/views/basic/locate/addLocateDialog.vue
+++ b/src/views/basic/locate/addLocateDialog.vue
@@ -5,7 +5,6 @@
import { phoneValidator } from '../common-interface'
import type { ILocateInfo } from './locate-info'
import { addLocate, updateLocate } from '@/api/basic/locate'
-import { validatePhone } from '@/utils/validate'
const emit = defineEmits(['recordSaved'])
diff --git a/src/views/basic/locate/locate-info.ts b/src/views/basic/locate/locate-info.ts
index 4eb4217..5cbf33d 100644
--- a/src/views/basic/locate/locate-info.ts
+++ b/src/views/basic/locate/locate-info.ts
@@ -35,6 +35,12 @@
ts?: string
}
+export interface ILocateSelect {
+ name: string
+ value: string
+ position?: string
+}
+
export interface IConfigListQuery {
devcode: string // 设备编号
configType: string // 配置类型
diff --git a/src/api/data/alarm.ts b/src/api/data/alarm.ts
new file mode 100644
index 0000000..73e0e07
--- /dev/null
+++ b/src/api/data/alarm.ts
@@ -0,0 +1,38 @@
+import request from '../index'
+const prefixRule = 'alarmRule'
+
+// 查询报警规则数据 分页
+export function getAlarmRuleListPage(data: object) {
+ return request({
+ url: `${prefixRule}/list`,
+ method: 'post',
+ data,
+ })
+}
+
+// 删除报警规则
+export function deleteAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/delete`,
+ method: 'post',
+ data,
+ })
+}
+
+// 新增报警规则
+export function addAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/add`,
+ method: 'post',
+ data,
+ })
+}
+
+// 编辑报警规则
+export function updateAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/update`,
+ method: 'post',
+ data,
+ })
+}
diff --git a/src/menu/index.ts b/src/menu/index.ts
new file mode 100644
index 0000000..aff0e3e
--- /dev/null
+++ b/src/menu/index.ts
@@ -0,0 +1,17 @@
+import MultilevelMenuExample from './modules/multilevel.menu.example'
+
+import type { Menu } from '@/global'
+
+const menu: Menu.recordMainRaw[] = [
+ {
+ meta: {
+ title: '演示',
+ icon: 'sidebar-default',
+ },
+ children: [
+ MultilevelMenuExample,
+ ],
+ },
+]
+
+export default menu
diff --git a/src/menu/modules/multilevel.menu.example.ts b/src/menu/modules/multilevel.menu.example.ts
new file mode 100644
index 0000000..ce26d43
--- /dev/null
+++ b/src/menu/modules/multilevel.menu.example.ts
@@ -0,0 +1,50 @@
+import type { Menu } from '@/global'
+
+const menus: Menu.recordRaw = {
+ meta: {
+ title: '多级导航',
+ icon: 'heroicons-solid:menu-alt-3',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/page',
+ meta: {
+ title: '导航1',
+ },
+ },
+ {
+ meta: {
+ title: '导航2',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/level2/page',
+ meta: {
+ title: '导航2-1',
+ },
+ },
+ {
+ meta: {
+ title: '导航2-2',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/level2/level3/page1',
+ meta: {
+ title: '导航2-2-1',
+ },
+ },
+ {
+ path: '/multilevel_menu_example/level2/level3/page2',
+ meta: {
+ title: '导航2-2-2',
+ },
+ },
+ ],
+ },
+ ],
+ },
+ ],
+}
+
+export default menus
diff --git a/src/router/modules/leak.ts b/src/router/modules/leak.ts
index 54710b4..5090f5c 100644
--- a/src/router/modules/leak.ts
+++ b/src/router/modules/leak.ts
@@ -89,7 +89,7 @@
{
path: 'config',
name: 'LeakAlarmConfig',
- component: () => import('@/views/basic/device/list.vue'),
+ component: () => import('@/views/data/alarm/ruleList.vue'),
meta: {
title: '报警规则配置',
auth: '/leak/alarm/config',
diff --git a/src/views/basic/device/addDeviceDialog.vue b/src/views/basic/device/addDeviceDialog.vue
index 49801f7..4d5245e 100644
--- a/src/views/basic/device/addDeviceDialog.vue
+++ b/src/views/basic/device/addDeviceDialog.vue
@@ -60,6 +60,7 @@
// 添加
const saveInfo = () => {
+ deviceInfo.value.deviceName = deviceInfo.value.devcode
addDevice(deviceInfo.value).then((res) => {
if (res.code === 200) {
// 提示保存成功
diff --git a/src/views/basic/locate/addLocateDialog.vue b/src/views/basic/locate/addLocateDialog.vue
index faa1aa8..57de1e7 100644
--- a/src/views/basic/locate/addLocateDialog.vue
+++ b/src/views/basic/locate/addLocateDialog.vue
@@ -5,7 +5,6 @@
import { phoneValidator } from '../common-interface'
import type { ILocateInfo } from './locate-info'
import { addLocate, updateLocate } from '@/api/basic/locate'
-import { validatePhone } from '@/utils/validate'
const emit = defineEmits(['recordSaved'])
diff --git a/src/views/basic/locate/locate-info.ts b/src/views/basic/locate/locate-info.ts
index 4eb4217..5cbf33d 100644
--- a/src/views/basic/locate/locate-info.ts
+++ b/src/views/basic/locate/locate-info.ts
@@ -35,6 +35,12 @@
ts?: string
}
+export interface ILocateSelect {
+ name: string
+ value: string
+ position?: string
+}
+
export interface IConfigListQuery {
devcode: string // 设备编号
configType: string // 配置类型
diff --git a/src/views/data/alarm/addAlarmRuleDialog.vue b/src/views/data/alarm/addAlarmRuleDialog.vue
new file mode 100644
index 0000000..bd84808
--- /dev/null
+++ b/src/views/data/alarm/addAlarmRuleDialog.vue
@@ -0,0 +1,301 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/api/data/alarm.ts b/src/api/data/alarm.ts
new file mode 100644
index 0000000..73e0e07
--- /dev/null
+++ b/src/api/data/alarm.ts
@@ -0,0 +1,38 @@
+import request from '../index'
+const prefixRule = 'alarmRule'
+
+// 查询报警规则数据 分页
+export function getAlarmRuleListPage(data: object) {
+ return request({
+ url: `${prefixRule}/list`,
+ method: 'post',
+ data,
+ })
+}
+
+// 删除报警规则
+export function deleteAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/delete`,
+ method: 'post',
+ data,
+ })
+}
+
+// 新增报警规则
+export function addAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/add`,
+ method: 'post',
+ data,
+ })
+}
+
+// 编辑报警规则
+export function updateAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/update`,
+ method: 'post',
+ data,
+ })
+}
diff --git a/src/menu/index.ts b/src/menu/index.ts
new file mode 100644
index 0000000..aff0e3e
--- /dev/null
+++ b/src/menu/index.ts
@@ -0,0 +1,17 @@
+import MultilevelMenuExample from './modules/multilevel.menu.example'
+
+import type { Menu } from '@/global'
+
+const menu: Menu.recordMainRaw[] = [
+ {
+ meta: {
+ title: '演示',
+ icon: 'sidebar-default',
+ },
+ children: [
+ MultilevelMenuExample,
+ ],
+ },
+]
+
+export default menu
diff --git a/src/menu/modules/multilevel.menu.example.ts b/src/menu/modules/multilevel.menu.example.ts
new file mode 100644
index 0000000..ce26d43
--- /dev/null
+++ b/src/menu/modules/multilevel.menu.example.ts
@@ -0,0 +1,50 @@
+import type { Menu } from '@/global'
+
+const menus: Menu.recordRaw = {
+ meta: {
+ title: '多级导航',
+ icon: 'heroicons-solid:menu-alt-3',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/page',
+ meta: {
+ title: '导航1',
+ },
+ },
+ {
+ meta: {
+ title: '导航2',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/level2/page',
+ meta: {
+ title: '导航2-1',
+ },
+ },
+ {
+ meta: {
+ title: '导航2-2',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/level2/level3/page1',
+ meta: {
+ title: '导航2-2-1',
+ },
+ },
+ {
+ path: '/multilevel_menu_example/level2/level3/page2',
+ meta: {
+ title: '导航2-2-2',
+ },
+ },
+ ],
+ },
+ ],
+ },
+ ],
+}
+
+export default menus
diff --git a/src/router/modules/leak.ts b/src/router/modules/leak.ts
index 54710b4..5090f5c 100644
--- a/src/router/modules/leak.ts
+++ b/src/router/modules/leak.ts
@@ -89,7 +89,7 @@
{
path: 'config',
name: 'LeakAlarmConfig',
- component: () => import('@/views/basic/device/list.vue'),
+ component: () => import('@/views/data/alarm/ruleList.vue'),
meta: {
title: '报警规则配置',
auth: '/leak/alarm/config',
diff --git a/src/views/basic/device/addDeviceDialog.vue b/src/views/basic/device/addDeviceDialog.vue
index 49801f7..4d5245e 100644
--- a/src/views/basic/device/addDeviceDialog.vue
+++ b/src/views/basic/device/addDeviceDialog.vue
@@ -60,6 +60,7 @@
// 添加
const saveInfo = () => {
+ deviceInfo.value.deviceName = deviceInfo.value.devcode
addDevice(deviceInfo.value).then((res) => {
if (res.code === 200) {
// 提示保存成功
diff --git a/src/views/basic/locate/addLocateDialog.vue b/src/views/basic/locate/addLocateDialog.vue
index faa1aa8..57de1e7 100644
--- a/src/views/basic/locate/addLocateDialog.vue
+++ b/src/views/basic/locate/addLocateDialog.vue
@@ -5,7 +5,6 @@
import { phoneValidator } from '../common-interface'
import type { ILocateInfo } from './locate-info'
import { addLocate, updateLocate } from '@/api/basic/locate'
-import { validatePhone } from '@/utils/validate'
const emit = defineEmits(['recordSaved'])
diff --git a/src/views/basic/locate/locate-info.ts b/src/views/basic/locate/locate-info.ts
index 4eb4217..5cbf33d 100644
--- a/src/views/basic/locate/locate-info.ts
+++ b/src/views/basic/locate/locate-info.ts
@@ -35,6 +35,12 @@
ts?: string
}
+export interface ILocateSelect {
+ name: string
+ value: string
+ position?: string
+}
+
export interface IConfigListQuery {
devcode: string // 设备编号
configType: string // 配置类型
diff --git a/src/views/data/alarm/addAlarmRuleDialog.vue b/src/views/data/alarm/addAlarmRuleDialog.vue
new file mode 100644
index 0000000..bd84808
--- /dev/null
+++ b/src/views/data/alarm/addAlarmRuleDialog.vue
@@ -0,0 +1,301 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/data/alarm/alarm-interface.ts b/src/views/data/alarm/alarm-interface.ts
new file mode 100644
index 0000000..22b4af3
--- /dev/null
+++ b/src/views/data/alarm/alarm-interface.ts
@@ -0,0 +1,43 @@
+// 列表查询参数接口
+export interface IAlarmRuleListQuery {
+ keywords: string
+ offset?: number
+ limit?: number
+ sort?: string
+ order?: string
+}
+
+export interface IAlarmRule {
+ id: string
+ devCode: string
+ highValue: string
+ lowValue: string
+ overTime: string
+ deviceName?: string
+ deviceType?: string
+ deviceTypeName?: string
+ wellCode?: string
+ deptid?: string
+ deptName?: string
+ position?: string
+ modelName?: string
+ installDate?: string
+}
+
+export interface IConfigListQuery {
+ devcode: string // 设备编号
+ configType: string // 配置类型
+ status: string // 配置状态
+ beginTime: string // 操作时间-开始
+ endTime: string // 操作时间-结束
+ offset?: number
+ limit?: number
+ sort?: string
+ order?: string
+}
+
+export interface IDeviceType {
+ name: string
+ value: string
+ deviceType?: string
+}
diff --git a/src/api/data/alarm.ts b/src/api/data/alarm.ts
new file mode 100644
index 0000000..73e0e07
--- /dev/null
+++ b/src/api/data/alarm.ts
@@ -0,0 +1,38 @@
+import request from '../index'
+const prefixRule = 'alarmRule'
+
+// 查询报警规则数据 分页
+export function getAlarmRuleListPage(data: object) {
+ return request({
+ url: `${prefixRule}/list`,
+ method: 'post',
+ data,
+ })
+}
+
+// 删除报警规则
+export function deleteAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/delete`,
+ method: 'post',
+ data,
+ })
+}
+
+// 新增报警规则
+export function addAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/add`,
+ method: 'post',
+ data,
+ })
+}
+
+// 编辑报警规则
+export function updateAlarmRule(data: object) {
+ return request({
+ url: `${prefixRule}/update`,
+ method: 'post',
+ data,
+ })
+}
diff --git a/src/menu/index.ts b/src/menu/index.ts
new file mode 100644
index 0000000..aff0e3e
--- /dev/null
+++ b/src/menu/index.ts
@@ -0,0 +1,17 @@
+import MultilevelMenuExample from './modules/multilevel.menu.example'
+
+import type { Menu } from '@/global'
+
+const menu: Menu.recordMainRaw[] = [
+ {
+ meta: {
+ title: '演示',
+ icon: 'sidebar-default',
+ },
+ children: [
+ MultilevelMenuExample,
+ ],
+ },
+]
+
+export default menu
diff --git a/src/menu/modules/multilevel.menu.example.ts b/src/menu/modules/multilevel.menu.example.ts
new file mode 100644
index 0000000..ce26d43
--- /dev/null
+++ b/src/menu/modules/multilevel.menu.example.ts
@@ -0,0 +1,50 @@
+import type { Menu } from '@/global'
+
+const menus: Menu.recordRaw = {
+ meta: {
+ title: '多级导航',
+ icon: 'heroicons-solid:menu-alt-3',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/page',
+ meta: {
+ title: '导航1',
+ },
+ },
+ {
+ meta: {
+ title: '导航2',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/level2/page',
+ meta: {
+ title: '导航2-1',
+ },
+ },
+ {
+ meta: {
+ title: '导航2-2',
+ },
+ children: [
+ {
+ path: '/multilevel_menu_example/level2/level3/page1',
+ meta: {
+ title: '导航2-2-1',
+ },
+ },
+ {
+ path: '/multilevel_menu_example/level2/level3/page2',
+ meta: {
+ title: '导航2-2-2',
+ },
+ },
+ ],
+ },
+ ],
+ },
+ ],
+}
+
+export default menus
diff --git a/src/router/modules/leak.ts b/src/router/modules/leak.ts
index 54710b4..5090f5c 100644
--- a/src/router/modules/leak.ts
+++ b/src/router/modules/leak.ts
@@ -89,7 +89,7 @@
{
path: 'config',
name: 'LeakAlarmConfig',
- component: () => import('@/views/basic/device/list.vue'),
+ component: () => import('@/views/data/alarm/ruleList.vue'),
meta: {
title: '报警规则配置',
auth: '/leak/alarm/config',
diff --git a/src/views/basic/device/addDeviceDialog.vue b/src/views/basic/device/addDeviceDialog.vue
index 49801f7..4d5245e 100644
--- a/src/views/basic/device/addDeviceDialog.vue
+++ b/src/views/basic/device/addDeviceDialog.vue
@@ -60,6 +60,7 @@
// 添加
const saveInfo = () => {
+ deviceInfo.value.deviceName = deviceInfo.value.devcode
addDevice(deviceInfo.value).then((res) => {
if (res.code === 200) {
// 提示保存成功
diff --git a/src/views/basic/locate/addLocateDialog.vue b/src/views/basic/locate/addLocateDialog.vue
index faa1aa8..57de1e7 100644
--- a/src/views/basic/locate/addLocateDialog.vue
+++ b/src/views/basic/locate/addLocateDialog.vue
@@ -5,7 +5,6 @@
import { phoneValidator } from '../common-interface'
import type { ILocateInfo } from './locate-info'
import { addLocate, updateLocate } from '@/api/basic/locate'
-import { validatePhone } from '@/utils/validate'
const emit = defineEmits(['recordSaved'])
diff --git a/src/views/basic/locate/locate-info.ts b/src/views/basic/locate/locate-info.ts
index 4eb4217..5cbf33d 100644
--- a/src/views/basic/locate/locate-info.ts
+++ b/src/views/basic/locate/locate-info.ts
@@ -35,6 +35,12 @@
ts?: string
}
+export interface ILocateSelect {
+ name: string
+ value: string
+ position?: string
+}
+
export interface IConfigListQuery {
devcode: string // 设备编号
configType: string // 配置类型
diff --git a/src/views/data/alarm/addAlarmRuleDialog.vue b/src/views/data/alarm/addAlarmRuleDialog.vue
new file mode 100644
index 0000000..bd84808
--- /dev/null
+++ b/src/views/data/alarm/addAlarmRuleDialog.vue
@@ -0,0 +1,301 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/data/alarm/alarm-interface.ts b/src/views/data/alarm/alarm-interface.ts
new file mode 100644
index 0000000..22b4af3
--- /dev/null
+++ b/src/views/data/alarm/alarm-interface.ts
@@ -0,0 +1,43 @@
+// 列表查询参数接口
+export interface IAlarmRuleListQuery {
+ keywords: string
+ offset?: number
+ limit?: number
+ sort?: string
+ order?: string
+}
+
+export interface IAlarmRule {
+ id: string
+ devCode: string
+ highValue: string
+ lowValue: string
+ overTime: string
+ deviceName?: string
+ deviceType?: string
+ deviceTypeName?: string
+ wellCode?: string
+ deptid?: string
+ deptName?: string
+ position?: string
+ modelName?: string
+ installDate?: string
+}
+
+export interface IConfigListQuery {
+ devcode: string // 设备编号
+ configType: string // 配置类型
+ status: string // 配置状态
+ beginTime: string // 操作时间-开始
+ endTime: string // 操作时间-结束
+ offset?: number
+ limit?: number
+ sort?: string
+ order?: string
+}
+
+export interface IDeviceType {
+ name: string
+ value: string
+ deviceType?: string
+}
diff --git a/src/views/data/alarm/ruleList.vue b/src/views/data/alarm/ruleList.vue
new file mode 100644
index 0000000..215baaa
--- /dev/null
+++ b/src/views/data/alarm/ruleList.vue
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 新增
+
+
+
+
+
+
+
+
+ {{ (searchQuery.offset! - 1) * searchQuery.limit! + scope.$index + 1 }}
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+