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 @@ + + + +