From 36d7cdd1553d4b0962c514279b6f734c2e83dbc8 Mon Sep 17 00:00:00 2001 From: Ironsp <1522278303@qq.com> Date: Mon, 18 May 2026 17:40:36 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E6=90=AD=E5=BB=BA=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/fileList/index.ts | 61 +++ src/views/WarningList/list.vue | 45 +- src/views/fileList/list.vue | 129 +++--- src/views/systemList/menu/index.ts | 78 ++++ src/views/systemList/menu/types.ts | 69 +++ src/views/systemList/role/role.vue | 54 ++- src/views/systemList/role11/authUser.vue | 158 +++++++ src/views/systemList/role11/index.vue | 503 +++++++++++++++++++++ src/views/systemList/role11/selectUser.vue | 130 ++++++ 9 files changed, 1132 insertions(+), 95 deletions(-) create mode 100644 src/views/systemList/menu/index.ts create mode 100644 src/views/systemList/menu/types.ts create mode 100644 src/views/systemList/role11/authUser.vue create mode 100644 src/views/systemList/role11/index.vue create mode 100644 src/views/systemList/role11/selectUser.vue diff --git a/src/api/fileList/index.ts b/src/api/fileList/index.ts index e69de29..f9180ac 100644 --- a/src/api/fileList/index.ts +++ b/src/api/fileList/index.ts @@ -0,0 +1,61 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; + +/** + * 查询测试单列表 + * @param query + * @returns {*} + */ +export const listDemo = (query?: any): AxiosPromise => { + return request({ + url: '/device/deviceVideo/list', + method: 'get', + params: query + }); +}; + +/** + * 查询测试单详细 + * @param id + */ +export const getDemo = (id: string | number): AxiosPromise => { + return request({ + url: '/demo/demo/' + id, + method: 'get' + }); +}; + +/** + * 新增测试单 + * @param data + */ +export const addDemo = (data: DemoForm) => { + return request({ + url: '/demo/demo', + method: 'post', + data: data + }); +}; + +/** + * 修改测试单 + * @param data + */ +export const updateDemo = (data: DemoForm) => { + return request({ + url: '/demo/demo', + method: 'put', + data: data + }); +}; + +/** + * 删除测试单 + * @param id + */ +export const delDemo = (id: string | number | Array) => { + return request({ + url: '/demo/demo/' + id, + method: 'delete' + }); +}; diff --git a/src/views/WarningList/list.vue b/src/views/WarningList/list.vue index 05954fa..d7a2941 100644 --- a/src/views/WarningList/list.vue +++ b/src/views/WarningList/list.vue @@ -8,20 +8,13 @@ - + - + - - + @@ -163,13 +156,17 @@ const data = reactive({ pageSize: 10, id: undefined, deviceId: undefined, + //status: undefined, beginTime: undefined, - endTime: undefined + endTime: undefined, + monitoringArea: undefined, + userName: undefined }, - rules: {} + rules: {}, + queryTime: [] }); -const { queryParams, form } = toRefs(data); +const { queryParams, form, rules, queryTime } = toRefs(data); const getList = async () => { loading.value = true; @@ -194,6 +191,8 @@ const reset = () => { const handleQuery = () => { queryParams.value.pageNum = 1; + queryParams.value.beginTime = queryTime.value[0]; + queryParams.value.endTime = queryTime.value[1]; getList(); }; @@ -208,11 +207,17 @@ const handleSelectionChange = (selection: any) => { }; /** 单条:打开确认弹窗 */ -const handleUpdate = (row: any) => { - reset(); - Object.assign(form.value, row); - dialog.visible = true; - dialog.title = '处理报警'; +const handleUpdate = async (row: any) => { + console.log(row.id); + + loading.value = true; + try { + await updateDemo(row.id); + proxy?.$modal.msgSuccess('处理成功'); + await getList(); + } finally { + loading.value = false; + } }; /** 批量:确认后直接提交 */ diff --git a/src/views/fileList/list.vue b/src/views/fileList/list.vue index 2672b09..d4d711d 100644 --- a/src/views/fileList/list.vue +++ b/src/views/fileList/list.vue @@ -4,17 +4,24 @@
+ + + + + - - - - - - - - + + 搜索 @@ -44,19 +51,19 @@ --> - + - - - - - - - + + + + + + + @@ -64,41 +71,28 @@ - +
+
+ +
+
+
+ + diff --git a/src/views/systemList/menu/index.ts b/src/views/systemList/menu/index.ts new file mode 100644 index 0000000..81461fd --- /dev/null +++ b/src/views/systemList/menu/index.ts @@ -0,0 +1,78 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { MenuQuery, MenuVO, MenuForm, MenuTreeOption, RoleMenuTree } from './types'; + +// 查询菜单列表 +export const listMenu = (query?: MenuQuery): AxiosPromise => { + return request({ + url: '/system/menu/list', + method: 'get', + params: query + }); +}; + +// 查询菜单详细 +export const getMenu = (menuId: string | number): AxiosPromise => { + return request({ + url: '/system/menu/' + menuId, + method: 'get' + }); +}; + +// 查询菜单下拉树结构 +export const treeselect = (): AxiosPromise => { + return request({ + url: '/system/menu/treeselect', + method: 'get' + }); +}; + +// 根据角色ID查询菜单下拉树结构 +export const roleMenuTreeselect = (roleId: string | number): AxiosPromise => { + return request({ + url: '/system/menu/roleMenuTreeselect/' + roleId, + method: 'get' + }); +}; + +// 根据角色ID查询菜单下拉树结构 +export const tenantPackageMenuTreeselect = (packageId: string | number): AxiosPromise => { + return request({ + url: '/system/menu/tenantPackageMenuTreeselect/' + packageId, + method: 'get' + }); +}; + +// 新增菜单 +export const addMenu = (data: MenuForm) => { + return request({ + url: '/system/menu', + method: 'post', + data: data + }); +}; + +// 修改菜单 +export const updateMenu = (data: MenuForm) => { + return request({ + url: '/system/menu', + method: 'put', + data: data + }); +}; + +// 删除菜单 +export const delMenu = (menuId: string | number) => { + return request({ + url: '/system/menu/' + menuId, + method: 'delete' + }); +}; + +// 级联删除菜单 +export const cascadeDelMenu = (menuIds: Array) => { + return request({ + url: '/system/menu/cascade/' + menuIds, + method: 'delete' + }); +}; diff --git a/src/views/systemList/menu/types.ts b/src/views/systemList/menu/types.ts new file mode 100644 index 0000000..ca19840 --- /dev/null +++ b/src/views/systemList/menu/types.ts @@ -0,0 +1,69 @@ +import { MenuTypeEnum } from '@/enums/MenuTypeEnum'; + +/** + * 菜单树形结构类型 + */ +export interface MenuTreeOption { + id: string | number; + label: string; + parentId: string | number; + weight: number; + children?: MenuTreeOption[]; +} + +export interface RoleMenuTree { + menus: MenuTreeOption[]; + checkedKeys: string[]; +} + +/** + * 菜单查询参数类型 + */ +export interface MenuQuery { + keywords?: string; + menuName?: string; + status?: string; +} + +/** + * 菜单视图对象类型 + */ +export interface MenuVO extends BaseEntity { + parentName: string; + parentId: string | number; + children: MenuVO[]; + menuId: string | number; + menuName: string; + orderNum: number; + path: string; + component: string; + queryParam: string; + isFrame: string; + isCache: string; + menuType: MenuTypeEnum; + visible: string; + status: string; + icon: string; + remark: string; +} + +export interface MenuForm { + parentName?: string; + parentId?: string | number; + children?: MenuForm[]; + menuId?: string | number; + menuName: string; + orderNum: number; + path: string; + component?: string; + queryParam?: string; + isFrame?: string; + isCache?: string; + menuType?: MenuTypeEnum; + visible?: string; + status?: string; + icon?: string; + remark?: string; + query?: string; + perms?: string; +} diff --git a/src/views/systemList/role/role.vue b/src/views/systemList/role/role.vue index 2fcea0f..91d0eed 100644 --- a/src/views/systemList/role/role.vue +++ b/src/views/systemList/role/role.vue @@ -49,7 +49,7 @@