diff --git a/SafeCampus.WEB/package.json b/SafeCampus.WEB/package.json index 38947d1..b435dea 100644 --- a/SafeCampus.WEB/package.json +++ b/SafeCampus.WEB/package.json @@ -2,6 +2,7 @@ "name": "simple-admin", "private": true, "version": "1.0.0", + "node-version": "18.12.0 - 20.9.0", "type": "module", "description": "SimpleAdmin是ElementUI最好看的开源通用业务型后台管理系统", "author": { diff --git a/SafeCampus.WEB/src/api/modules/index.ts b/SafeCampus.WEB/src/api/modules/index.ts index 3ac6dc9..ffc0a40 100644 --- a/SafeCampus.WEB/src/api/modules/index.ts +++ b/SafeCampus.WEB/src/api/modules/index.ts @@ -20,4 +20,5 @@ export * from "./monitor"; export * from "./sysconfig"; export * from "./statistion"; export * from "./usermanage"; -export * from "./attendance"; \ No newline at end of file +export * from "./attendance"; +export * from "./violation"; diff --git a/SafeCampus.WEB/src/api/modules/sysconfig/ability.ts b/SafeCampus.WEB/src/api/modules/sysconfig/ability.ts index 40f89c8..6cd3629 100644 --- a/SafeCampus.WEB/src/api/modules/sysconfig/ability.ts +++ b/SafeCampus.WEB/src/api/modules/sysconfig/ability.ts @@ -13,11 +13,11 @@ * @see https://gitee.com/dotnetmoyu/SimpleAdmin */ import { moduleRequest } from "@/api/request"; -import { ReqId, ResPage, ZJRQ,setWarn } from "@/api/interface"; +import { ReqId, ResPage, ZJRQ, setWarn } from "@/api/interface"; const http = moduleRequest("/business/warn/"); +const http1 = moduleRequest("/violation/analysis/"); const abilityApi = { - /** 获取告警分组 */ warnGroup(params: ReqId) { return http.get("getWarnGroup", params); @@ -26,6 +26,12 @@ const abilityApi = { setWarnGroup(params: setWarn) { return http.post("setWarnGroupDevice", params); }, + /* 预警分析报告导出 */ + reportExport(params: any) { + return http1.download("reportExport", params, { + showHeader: true + }); + } }; export { abilityApi }; diff --git a/SafeCampus.WEB/src/api/modules/violation/index.ts b/SafeCampus.WEB/src/api/modules/violation/index.ts new file mode 100644 index 0000000..4b49ec9 --- /dev/null +++ b/SafeCampus.WEB/src/api/modules/violation/index.ts @@ -0,0 +1,16 @@ +/** + * @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 + */ + +export * from "./portraitSummary"; diff --git a/SafeCampus.WEB/src/api/modules/violation/portraitSummary.ts b/SafeCampus.WEB/src/api/modules/violation/portraitSummary.ts new file mode 100644 index 0000000..8b9db03 --- /dev/null +++ b/SafeCampus.WEB/src/api/modules/violation/portraitSummary.ts @@ -0,0 +1,45 @@ +/** + * @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("/violation/portraitSummary/"); +/** + * @Description: 学校画像 + * @Author: SYY + * @Date: 2024-7-30 15:34:54 + */ +const portraitSummaryApi = { + /** 获取学生性别 */ + getStudentSex() { + return http.get("getStudentSex"); + }, + /** 获取学生年龄 */ + getStudentAge() { + return http.get("getStudentAge"); + }, + /** 获取地理位置 */ + getAddress() { + return http.get("getAddress"); + }, + /** 获取属性标签 */ + getStudentAttr() { + return http.get("getStudentAttr"); + }, + /** 获取学生属性标签 */ + getStudentDetail(params: any) { + return http.get("getStudentDetail", params); + } +}; + +export { portraitSummaryApi }; diff --git a/SafeCampus.WEB/src/api/request/instance.ts b/SafeCampus.WEB/src/api/request/instance.ts index c185194..afe2c66 100644 --- a/SafeCampus.WEB/src/api/request/instance.ts +++ b/SafeCampus.WEB/src/api/request/instance.ts @@ -22,6 +22,7 @@ import { checkStatus } from "../helper/checkStatus"; import { useUserStore } from "@/stores/modules"; import { AxiosCanceler } from "../helper/axiosCancel"; import router from "@/routers"; +import { i } from "vite/dist/node/types.d-jgA8ss1A"; // 自定义 AxiosRequestConfig 接口,增加 noLoading 属性 export interface CustomAxiosRequestConfig extends InternalAxiosRequestConfig { @@ -111,7 +112,7 @@ export default class RequestHttp { (response: AxiosResponse) => { // 检查并存储授权信息 this.checkAndStoreAuthentication(response); - const { data, config } = response; + const { data, config }: any = response; const userStore = useUserStore(); axiosCanceler.removePending(config); tryHideFullScreenLoading(); @@ -140,7 +141,11 @@ export default class RequestHttp { }); } // 成功请求(在页面上除非特殊情况,否则不用处理失败逻辑) - return data; + if (config.showHeader) { + return response; //平时用在打印、导出、下载的时候使用 + } else { + return data; + } }, async (error: AxiosError) => { const { response } = error; diff --git a/SafeCampus.WEB/src/views/attendance/passenger/components/form/form_basic.vue b/SafeCampus.WEB/src/views/attendance/passenger/components/form/form_basic.vue index 872f727..11f8b41 100644 --- a/SafeCampus.WEB/src/views/attendance/passenger/components/form/form_basic.vue +++ b/SafeCampus.WEB/src/views/attendance/passenger/components/form/form_basic.vue @@ -67,7 +67,7 @@ const splitOptions = ref([ ]); // 摄像头 let cameraldsOptions = ref([]); -monitorLIVEApi.list({ pageSize: 1000, pageNum: 1 }).then(res => { +monitorLIVEApi.list({ pageSize: 1000, pageNum: 1 }).then((res: any) => { if (res.code == 200) { cameraldsOptions.value = res.data.list.map(e => { return { diff --git a/SafeCampus.WEB/src/views/attendance/passenger/index.vue b/SafeCampus.WEB/src/views/attendance/passenger/index.vue index 7166533..87fd6c4 100644 --- a/SafeCampus.WEB/src/views/attendance/passenger/index.vue +++ b/SafeCampus.WEB/src/views/attendance/passenger/index.vue @@ -88,7 +88,7 @@ function onOpen(opt: FormOptEnum, record: {} | AttendancePassenger.PassengerInfo const RefreshTable = () => { proTable.value?.refresh(); }; -const haseExtJson = row => { +const haseExtJson = (row: any) => { let extJson = JSON.parse(row.extJson); return extJson.length == 0; }; diff --git a/SafeCampus.WEB/src/views/userManage/dormitory/index.vue b/SafeCampus.WEB/src/views/userManage/dormitory/index.vue index 61c51b6..8edda77 100644 --- a/SafeCampus.WEB/src/views/userManage/dormitory/index.vue +++ b/SafeCampus.WEB/src/views/userManage/dormitory/index.vue @@ -160,7 +160,7 @@ const columns: ColumnProps[] = [ ]; const size = ref<'default' | 'large' | 'small'>('default') const timeVisible = ref(false); //是否显示时间设置 -const timeForm = reactive({ +const timeForm = reactive({ dateArr: [], timeArr: [], diff --git a/SafeCampus.WEB/src/views/violation/analysis/index.vue b/SafeCampus.WEB/src/views/violation/analysis/index.vue index 3cd6009..f959325 100644 --- a/SafeCampus.WEB/src/views/violation/analysis/index.vue +++ b/SafeCampus.WEB/src/views/violation/analysis/index.vue @@ -6,57 +6,125 @@