diff --git a/SafeCampus.WEB/src/api/interface/index.ts b/SafeCampus.WEB/src/api/interface/index.ts index 016fab3..f28ec7f 100644 --- a/SafeCampus.WEB/src/api/interface/index.ts +++ b/SafeCampus.WEB/src/api/interface/index.ts @@ -51,6 +51,13 @@ export interface ReqId { /** id */ id: number | string; } + +/** ReqClothId请求参数 */ +export interface ReqClothId { + /** ReqClothId */ + clothSetId: number | string; +} + /** id请求参数 */ export interface ReqPersonId { /** id */ diff --git a/SafeCampus.WEB/src/api/interface/sys/index.ts b/SafeCampus.WEB/src/api/interface/sys/index.ts index 663fadb..0c7974e 100644 --- a/SafeCampus.WEB/src/api/interface/sys/index.ts +++ b/SafeCampus.WEB/src/api/interface/sys/index.ts @@ -21,3 +21,4 @@ export * from "./organization"; export * from "./auth"; export * from "./warn"; export * from "./usermanage"; +export * from "./monitor"; diff --git a/SafeCampus.WEB/src/api/interface/sys/monitor/camera.ts b/SafeCampus.WEB/src/api/interface/sys/monitor/camera.ts new file mode 100644 index 0000000..b5d6743 --- /dev/null +++ b/SafeCampus.WEB/src/api/interface/sys/monitor/camera.ts @@ -0,0 +1,60 @@ +/** + * @description 单页管理接口 + * @license Apache License Version 2.0 + * @Copyright (c) 2022-Now 少林寺驻北固山办事处大神父王喇嘛 + * @remarks + * SimpleAdmin 基于 Apache License Version 2.0 协议发布,可用于商业项目,但必须遵守以下补充条款: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改SimpleAdmin源码头部的版权声明。 + * 3.分发源码时候,请注明软件出处 https://gitee.com/dotnetmoyu/SimpleAdmin + * 4.基于本软件的作品,只能使用 SimpleAdmin 作为后台服务,除外情况不可商用且不允许二次分发或开源。 + * 5.请不得将本软件应用于危害国家安全、荣誉和利益的行为,不能以任何形式用于非法为目的的行为不要删除和修改作者声明。 + * 6.任何基于本软件而产生的一切法律纠纷和责任,均于我司无关 + */ +import { ReqPage } from "@/api/interface"; +/** + * @Description: 单页管理接口 + * @Author: wangwenpei + * @Date: 2023-12-15 15:34:54 + */ +export namespace sysCamera { + /**单页分页查询 */ + export interface Page extends ReqPage { + alarmType: "visual_fence"; + } + + /** 单页信息 */ + export interface MonitorInfo { + /** id */ + id: number | string; + deviceStatus: boolean; + directUrlIp: string; + fieldId: number | string; + fieldName: string; + groupId: number; + lastTime: string; + pushUserId: number; + resHeight: number; + resWidth: number; + sensorId: string; + sensorName: string; + /** 摄像头快照 */ + snapshotUrl: string; + } + /**摄像头分页查询 */ + export interface List extends ReqPage { + sensorName?: string; + sensorId?: number | string; + groupId?: number | string; + } + // 摄像头分组 + export interface Tree extends MonitorInfo { + children: Tree[]; + } + // 摄像头分组添加编辑删除信息 + export interface MonitorGroupInfo { + /** id */ + id: number | string; + name: string; + } +} diff --git a/SafeCampus.WEB/src/api/interface/sys/monitor/index.ts b/SafeCampus.WEB/src/api/interface/sys/monitor/index.ts new file mode 100644 index 0000000..594629f --- /dev/null +++ b/SafeCampus.WEB/src/api/interface/sys/monitor/index.ts @@ -0,0 +1 @@ +export * from "./camera"; diff --git a/SafeCampus.WEB/src/api/interface/sys/usermanage/clothing.ts b/SafeCampus.WEB/src/api/interface/sys/usermanage/clothing.ts new file mode 100644 index 0000000..bcfaff4 --- /dev/null +++ b/SafeCampus.WEB/src/api/interface/sys/usermanage/clothing.ts @@ -0,0 +1,39 @@ +/** + * @description 用户管理接口 + * @license Apache License Version 2.0 + * @Copyright (c) 2022-Now 少林寺驻北固山办事处大神父王喇嘛 + * @remarks + * SimpleAdmin 基于 Apache License Version 2.0 协议发布,可用于商业项目,但必须遵守以下补充条款: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改SimpleAdmin源码头部的版权声明。 + * 3.分发源码时候,请注明软件出处 https://gitee.com/dotnetmoyu/SimpleAdmin + * 4.基于本软件的作品,只能使用 SimpleAdmin 作为后台服务,除外情况不可商用且不允许二次分发或开源。 + * 5.请不得将本软件应用于危害国家安全、荣誉和利益的行为,不能以任何形式用于非法为目的的行为不要删除和修改作者声明。 + * 6.任何基于本软件而产生的一切法律纠纷和责任,均于我司无关 + */ +/** + * @Description: 服装底库管理接口 + * @Author: syy + * @Date: 2023-12-15 15:34:54 + */ + +export namespace SysUserCloth { + // 服装底库树 + export interface Page { + clothSetId?: number | string; + clothSetName?: number | string; + } + + export interface list { + clothUrl: string; + clothId: number | string; + clothSetId: string; + } + /** 用户信息 */ + export interface SysUserClothInfo { + clothSetId: number | string; + clothSetName: number | string; + /** 列表 */ + clothes?: Array; + } +} diff --git a/SafeCampus.WEB/src/api/interface/sys/usermanage/index.ts b/SafeCampus.WEB/src/api/interface/sys/usermanage/index.ts index 7d0c865..ee39b36 100644 --- a/SafeCampus.WEB/src/api/interface/sys/usermanage/index.ts +++ b/SafeCampus.WEB/src/api/interface/sys/usermanage/index.ts @@ -13,3 +13,4 @@ * @see https://gitee.com/dotnetmoyu/SimpleAdmin */ export * from "./personnel"; +export * from "./clothing"; diff --git a/SafeCampus.WEB/src/api/interface/sys/usermanage/personnel.ts b/SafeCampus.WEB/src/api/interface/sys/usermanage/personnel.ts index 8f91f0c..69bfe0a 100644 --- a/SafeCampus.WEB/src/api/interface/sys/usermanage/personnel.ts +++ b/SafeCampus.WEB/src/api/interface/sys/usermanage/personnel.ts @@ -26,9 +26,11 @@ export namespace SysUserPersonnel { export interface ClassPage { personSetId?: string | number | undefined; personSetName?: string | undefined; - id?: string | undefined; - name?: string | undefined; - personId?: string | undefined | number; + id?: string | number | undefined; + name?: string | number | undefined; + userId?: string | number | undefined; + personId?: string | number | undefined; + userName?: string | number | undefined; } /** 人脸信息 */ export interface SysUserAvatar { @@ -59,9 +61,9 @@ export namespace SysUserPersonnel { /** 扩展字段 */ extData?: string; /** 人脸 */ - faces: Array; + faces: any; /** 分组 */ - personSets: Array; + personSets: any; personSetId?: number | string; } } diff --git a/SafeCampus.WEB/src/api/modules/monitor/live.ts b/SafeCampus.WEB/src/api/modules/monitor/live.ts index e5bbb47..1227609 100644 --- a/SafeCampus.WEB/src/api/modules/monitor/live.ts +++ b/SafeCampus.WEB/src/api/modules/monitor/live.ts @@ -13,28 +13,53 @@ * @see https://gitee.com/dotnetmoyu/SimpleAdmin */ import { moduleRequest } from "@/api/request"; -import { ReqstartId, ResPage, ZJRQ, ReqstopId } from "@/api/interface"; +import { ReqstartId, ResPage, sysCamera, ReqstopId } from "@/api/interface"; const http = moduleRequest("/business/deviceApi/"); +const http2 = moduleRequest("/business/cameraInfo/"); +const http3 = moduleRequest("/business/cameraGroup/"); /** * @Description: 单页管理 - * @Author: huguodong + * @Author: wangwenpei * @Date: 2023-12-15 15:34:54 */ const monitorLIVEApi = { /** 获取单页分页 */ - page(params: ZJRQ.Page) { - return http.post>("brief", params); + page(params: sysCamera.Page) { + return http.post>("brief", params); }, /** 获取单页详情 */ detail(params: ReqstartId) { - return http.get("getStartVideoLive", params); + return http.get("getStartVideoLive", params); + }, + /** 停止视频流获取 */ + stopUrl(params: ReqstopId) { + return http.get("getStopVideoLive", params); + }, + /** 获取监控列表 */ + list(params: sysCamera.List) { + return http2.get>("getPageList", params); + }, + // 批量设置分组 + setGroup(params: sysCamera.setGroup) { + return http2.post>("batchSetGroup", params); + }, + // 获取摄像头分组树 + groupList(params: sysCamera.Tree) { + return http3.get>("getNoPageList"); + }, + // 添加摄像头分组树 + addGroup(params: sysCamera.MonitorGroupInfo) { + return http3.post>("add", params); }, - /** 停止视频流获取 */ - stopUrl(params: ReqstopId) { - return http.get("getStopVideoLive", params); + // 编辑摄像头分组树 + updateGroup(params: sysCamera.MonitorGroupInfo) { + return http3.put>("update", params); }, - + // 删除摄像头分组树 + deleteGroup(params: sysCamera.MonitorGroupInfo) { + return http3.delete>("delete", params); + } }; /** * @Description: 监控管理按钮权限码 diff --git a/SafeCampus.WEB/src/api/modules/usermanage/classManage.ts b/SafeCampus.WEB/src/api/modules/usermanage/classManage.ts index 7c233af..78b33e7 100644 --- a/SafeCampus.WEB/src/api/modules/usermanage/classManage.ts +++ b/SafeCampus.WEB/src/api/modules/usermanage/classManage.ts @@ -23,8 +23,8 @@ const http = moduleRequest("/business/dfieldApi/"); */ const userManageClassManageApi = { /** 查询底库列表 */ - page(params: SysUserPersonnel.ClassPage) { - return http.get("queryAll", params); + page() { + return http.get("queryAll"); }, /** 删除底库 */ delete(params: ReqId) { diff --git a/SafeCampus.WEB/src/api/modules/usermanage/clothing.ts b/SafeCampus.WEB/src/api/modules/usermanage/clothing.ts new file mode 100644 index 0000000..69bdb51 --- /dev/null +++ b/SafeCampus.WEB/src/api/modules/usermanage/clothing.ts @@ -0,0 +1,68 @@ +/** + * @description 单页管理接口 + * @license Apache License Version 2.0 + * @Copyright (c) 2022-Now 少林寺驻北固山办事处大神父王喇嘛 + * @remarks + * SimpleAdmin 基于 Apache License Version 2.0 协议发布,可用于商业项目,但必须遵守以下补充条款: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改SimpleAdmin源码头部的版权声明。 + * 3.分发源码时候,请注明软件出处 https://gitee.com/dotnetmoyu/SimpleAdmin + * 4.基于本软件的作品,只能使用 SimpleAdmin 作为后台服务,除外情况不可商用且不允许二次分发或开源。 + * 5.请不得将本软件应用于危害国家安全、荣誉和利益的行为,不能以任何形式用于非法为目的的行为不要删除和修改作者声明。 + * 6.任何基于本软件而产生的一切法律纠纷和责任,均于我司无关 + * @see https://gitee.com/dotnetmoyu/SimpleAdmin + */ +import { moduleRequest } from "@/api/request"; +import { ReqId, SysUserCloth, ReqClothId } from "@/api/interface"; +const http = moduleRequest("/business/clothApi/"); +/** + * @Description: 单页管理 + * @Author: SYY + * @Date: 2023-12-15 15:34:54 + */ +const userManageClothApi = { + /** 查询服装底库列表 */ + getList(params: SysUserCloth.Page) { + return http.get("getList", params); + }, + /** 查询服装底库详情 */ + page(params: ReqClothId) { + return http.get("getInfo", params); + }, + /** 删除服装底库 */ + deleteClothDataBaseD(params: ReqClothId) { + return http.delete("deleteClothDataBaseD", params); + }, + /** 新增服装底库 */ + addClothDataBaseA(params: SysUserCloth.Page) { + return http.post("addClothDataBaseA", params); + }, + /** 更新服装底库 */ + update(params: SysUserCloth.Page) { + return http.put("updateClothU", params); + }, + + /** 服装图片上传 */ + uploadFile(params: any) { + return http.post("uploadFile", params); + }, + /** 新增服装 */ + add(params: any) { + return http.post("addClothA", params); + }, + /** 删除服装 */ + delete(params: SysUserCloth.list) { + return http.post("deleteClothD", params); + } +}; + +const userClothButtonCode = { + /** 新增人员 */ + add: "userManageClothAdd", + /** 删除人员 */ + edit: "userManageClothEdit", + /** 删除人员 */ + delete: "userManageClothDelete" +}; + +export { userManageClothApi, userClothButtonCode }; diff --git a/SafeCampus.WEB/src/api/modules/usermanage/index.ts b/SafeCampus.WEB/src/api/modules/usermanage/index.ts index db1d1b1..1252d8b 100644 --- a/SafeCampus.WEB/src/api/modules/usermanage/index.ts +++ b/SafeCampus.WEB/src/api/modules/usermanage/index.ts @@ -14,3 +14,6 @@ */ export * from "./personnel"; export * from "./classManage"; +export * from "./clothing"; +export * from "./teacher"; +export * from "./keyPersonnel"; diff --git a/SafeCampus.WEB/src/api/modules/usermanage/keyPersonnel.ts b/SafeCampus.WEB/src/api/modules/usermanage/keyPersonnel.ts new file mode 100644 index 0000000..f3b9de9 --- /dev/null +++ b/SafeCampus.WEB/src/api/modules/usermanage/keyPersonnel.ts @@ -0,0 +1,63 @@ +/** + * @description 单页管理接口 + * @license Apache License Version 2.0 + * @Copyright (c) 2022-Now 少林寺驻北固山办事处大神父王喇嘛 + * @remarks + * SimpleAdmin 基于 Apache License Version 2.0 协议发布,可用于商业项目,但必须遵守以下补充条款: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改SimpleAdmin源码头部的版权声明。 + * 3.分发源码时候,请注明软件出处 https://gitee.com/dotnetmoyu/SimpleAdmin + * 4.基于本软件的作品,只能使用 SimpleAdmin 作为后台服务,除外情况不可商用且不允许二次分发或开源。 + * 5.请不得将本软件应用于危害国家安全、荣誉和利益的行为,不能以任何形式用于非法为目的的行为不要删除和修改作者声明。 + * 6.任何基于本软件而产生的一切法律纠纷和责任,均于我司无关 + * @see https://gitee.com/dotnetmoyu/SimpleAdmin + */ +import { moduleRequest } from "@/api/request"; +import { ReqId, SysUserPersonnel } from "@/api/interface"; +const http = moduleRequest("/business/keyPersonnel/"); +/** + * @Description: 单页管理 + * @Author: SYY + * @Date: 2024-7-19 15:34:54 + */ +const userManageKeyPersonApi = { + /** 获取单页分页 */ + page(params: SysUserPersonnel.Page) { + return http.post("pageQuery", params); + }, + /** 获取单页详情 */ + detail(params: ReqId) { + return http.get("getPersionById", params); + }, + /** 删除人员 */ + delete(params: ReqId) { + return http.delete("deletePersonD", params); + }, + /** 新增人员 */ + add(params: any) { + return http.post("createPersonA", params); + }, + /** 修改人员 */ + update(params: any) { + return http.put("updatePersionU", params); + }, + /** 添加人脸 */ + addFace(params: SysUserPersonnel.SysUserAvatar) { + return http.post("addFaceA", params); + }, + /** 删除人脸 */ + deleteFace(params: SysUserPersonnel.SysUserFace) { + return http.post("deleteFaceD", params); + } +}; + +const userKeyPerButtonCode = { + /** 新增人员 */ + add: "userManageKeyPersonAdd", + /** 删除人员 */ + edit: "userManageKeyPersonEdit", + /** 删除人员 */ + delete: "userManageKeyPersonDelete" +}; + +export { userManageKeyPersonApi, userKeyPerButtonCode }; diff --git a/SafeCampus.WEB/src/api/modules/usermanage/teacher.ts b/SafeCampus.WEB/src/api/modules/usermanage/teacher.ts new file mode 100644 index 0000000..2254f0f --- /dev/null +++ b/SafeCampus.WEB/src/api/modules/usermanage/teacher.ts @@ -0,0 +1,54 @@ +/** + * @description 班主任管理接口 + * @license Apache License Version 2.0 + * @Copyright (c) 2022-Now 少林寺驻北固山办事处大神父王喇嘛 + * @remarks + * SimpleAdmin 基于 Apache License Version 2.0 协议发布,可用于商业项目,但必须遵守以下补充条款: + * 1.请不要删除和修改根目录下的LICENSE文件。 + * 2.请不要删除和修改SimpleAdmin源码头部的版权声明。 + * 3.分发源码时候,请注明软件出处 https://gitee.com/dotnetmoyu/SimpleAdmin + * 4.基于本软件的作品,只能使用 SimpleAdmin 作为后台服务,除外情况不可商用且不允许二次分发或开源。 + * 5.请不得将本软件应用于危害国家安全、荣誉和利益的行为,不能以任何形式用于非法为目的的行为不要删除和修改作者声明。 + * 6.任何基于本软件而产生的一切法律纠纷和责任,均于我司无关 + * @see https://gitee.com/dotnetmoyu/SimpleAdmin + */ +import { moduleRequest } from "@/api/request"; +const http = moduleRequest("/business/classTeacher/"); +/** + * @Description: 单页管理 + * @Author: SYY + * @Date: 2023-12-15 15:34:54 + */ +const userManageTeacherApi = { + /** 查询班主任列表 */ + page() { + return http.get("getNoPageList"); + }, + /** 获取单页详情 */ + detail(params: any) { + return http.get("getInfo", params); + }, + /** 删除班主任 */ + delete(params: any) { + return http.delete("delete", params); + }, + /** 创建班主任 */ + add(params: any) { + return http.post("add", params); + }, + /** 更新班主任 */ + update(params: any) { + return http.put("update", params); + } +}; + +const userTeacherButtonCode = { + /** 新增人员 */ + add: "userManageClassManageAdd", + /** 删除人员 */ + edit: "userManageClassManageEdit", + /** 删除人员 */ + delete: "userManageClassManageDelete" +}; + +export { userManageTeacherApi, userTeacherButtonCode }; diff --git a/SafeCampus.WEB/src/components/TreeFilter/index.scss b/SafeCampus.WEB/src/components/TreeFilter/index.scss index 35a203d..80e0c70 100644 --- a/SafeCampus.WEB/src/components/TreeFilter/index.scss +++ b/SafeCampus.WEB/src/components/TreeFilter/index.scss @@ -26,7 +26,8 @@ .el-tree-node.is-current > .el-tree-node__content { background-color: var(--el-color-primary); .el-tree-node__label, - .el-tree-node__expand-icon { + .el-tree-node__expand-icon, + .el-dropdown .el-link { color: white; } .is-leaf { diff --git a/SafeCampus.WEB/src/components/TreeFilter/index.vue b/SafeCampus.WEB/src/components/TreeFilter/index.vue index 15d5df7..21290dd 100644 --- a/SafeCampus.WEB/src/components/TreeFilter/index.vue +++ b/SafeCampus.WEB/src/components/TreeFilter/index.vue @@ -56,6 +56,7 @@ interface TreeFilterProps { topName?: string; // 顶级分类名称 ==> 非必传,默认为 “全部” showAll?: boolean; // 是否显示全部选项 ==> 非必传,默认为 true width: string; + isData?: boolean; } const props = withDefaults(defineProps(), { id: "id", @@ -65,7 +66,8 @@ const props = withDefaults(defineProps(), { defaultExpandLevel: 1, checkStrictly: false, topName: "全部", - showAll: true + showAll: true, + isData: false }); const defaultProps = { @@ -98,7 +100,7 @@ watch( const setTreeAllData = (data: any) => { //如果需要显示全部选项就加上全部,否则就拿到什么输出什么 if (props.showAll) { - treeAllData.value = [{ id: "", [props.label]: props.topName }, ...data]; + treeAllData.value = [{ [props.id]: "", [props.label]: props.topName }, ...data]; } else { treeAllData.value = data; } @@ -156,13 +158,17 @@ const refresh = async () => { treeRef.value?.setCheckedKeys([]); treeRef.value?.setCurrentKey(""); setSelected(); - await getRequestData(); + if (!props.isData) { + await getRequestData(); + } }; const getRequestData = async () => { - const { data } = await props.requestApi!(); - treeData.value = data; - setTreeAllData(data); + if (!props.isData) { + const { data } = await props.requestApi!(); + treeData.value = data; + setTreeAllData(data); + } }; /** 获取默认展开层级 */ diff --git a/SafeCampus.WEB/src/typings/props.d.ts b/SafeCampus.WEB/src/typings/props.d.ts index 684a882..6875428 100644 --- a/SafeCampus.WEB/src/typings/props.d.ts +++ b/SafeCampus.WEB/src/typings/props.d.ts @@ -27,6 +27,8 @@ declare namespace FormProps { disabled?: boolean; /** 行内表单模式 */ inline?: boolean; + // 树数据 + treeAllData?: Array; /** 表单布局 */ successful?: () => void; } diff --git a/SafeCampus.WEB/src/views/monitor/live/components/moveForm.vue b/SafeCampus.WEB/src/views/monitor/live/components/moveForm.vue index 6a6f1c9..d56779b 100644 --- a/SafeCampus.WEB/src/views/monitor/live/components/moveForm.vue +++ b/SafeCampus.WEB/src/views/monitor/live/components/moveForm.vue @@ -15,8 +15,8 @@ label-width="auto" label-suffix=" :" > - - + + - - - \ No newline at end of file diff --git a/SafeCampus.WEB/src/views/practicalTraining/model/index.vue b/SafeCampus.WEB/src/views/practicalTraining/model/index.vue new file mode 100644 index 0000000..45fa21f --- /dev/null +++ b/SafeCampus.WEB/src/views/practicalTraining/model/index.vue @@ -0,0 +1,175 @@ + + + + + + + \ No newline at end of file diff --git a/SafeCampus.WEB/src/views/sysconfig/ability/index.vue b/SafeCampus.WEB/src/views/sysconfig/ability/index.vue index 0cf0611..cc6c9d8 100644 --- a/SafeCampus.WEB/src/views/sysconfig/ability/index.vue +++ b/SafeCampus.WEB/src/views/sysconfig/ability/index.vue @@ -4,52 +4,89 @@ * @Date: 2023-12-15 15:44:05 !-->