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/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/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.vue b/SafeCampus.WEB/src/components/TreeFilter/index.vue index 15d5df7..254e30a 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 = { @@ -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/userManage/clothing/components/form/index.vue b/SafeCampus.WEB/src/views/userManage/clothing/components/form/index.vue new file mode 100644 index 0000000..2ab640f --- /dev/null +++ b/SafeCampus.WEB/src/views/userManage/clothing/components/form/index.vue @@ -0,0 +1,156 @@ + + + + + + + diff --git a/SafeCampus.WEB/src/views/userManage/clothing/components/form1/index.vue b/SafeCampus.WEB/src/views/userManage/clothing/components/form1/index.vue new file mode 100644 index 0000000..696ae2c --- /dev/null +++ b/SafeCampus.WEB/src/views/userManage/clothing/components/form1/index.vue @@ -0,0 +1,105 @@ + + + + + + diff --git a/SafeCampus.WEB/src/views/userManage/clothing/index.vue b/SafeCampus.WEB/src/views/userManage/clothing/index.vue new file mode 100644 index 0000000..edfa3af --- /dev/null +++ b/SafeCampus.WEB/src/views/userManage/clothing/index.vue @@ -0,0 +1,195 @@ + + + + diff --git a/SafeCampus.WEB/src/views/userManage/keyPersonnel/components/form/form_basic.vue b/SafeCampus.WEB/src/views/userManage/keyPersonnel/components/form/form_basic.vue new file mode 100644 index 0000000..cd9cd0d --- /dev/null +++ b/SafeCampus.WEB/src/views/userManage/keyPersonnel/components/form/form_basic.vue @@ -0,0 +1,181 @@ + + + + + + diff --git a/SafeCampus.WEB/src/views/userManage/keyPersonnel/components/form/index.vue b/SafeCampus.WEB/src/views/userManage/keyPersonnel/components/form/index.vue new file mode 100644 index 0000000..59dfeee --- /dev/null +++ b/SafeCampus.WEB/src/views/userManage/keyPersonnel/components/form/index.vue @@ -0,0 +1,117 @@ + + + + + + diff --git a/SafeCampus.WEB/src/views/userManage/keyPersonnel/index.vue b/SafeCampus.WEB/src/views/userManage/keyPersonnel/index.vue new file mode 100644 index 0000000..cf30845 --- /dev/null +++ b/SafeCampus.WEB/src/views/userManage/keyPersonnel/index.vue @@ -0,0 +1,220 @@ + + + + diff --git a/SafeCampus.WEB/src/views/userManage/personnel/components/form/form_basic.vue b/SafeCampus.WEB/src/views/userManage/personnel/components/form/form_basic.vue index a8c4c6b..abaf000 100644 --- a/SafeCampus.WEB/src/views/userManage/personnel/components/form/form_basic.vue +++ b/SafeCampus.WEB/src/views/userManage/personnel/components/form/form_basic.vue @@ -75,7 +75,7 @@ import { SysUserPersonnel, userManagePersonnelApi, userManageClassManageApi } from "@/api"; import { Plus } from "@element-plus/icons-vue"; import { useUserStore } from "@/stores/modules"; -import type { UploadProps, UploadUserFile } from "element-plus"; +import type { UploadProps } from "element-plus"; import { ElMessage } from "element-plus"; import { TokenEnum } from "@/enums"; // props @@ -92,12 +92,12 @@ const userInfo = computed({ /* */ const userStore = useUserStore(); const { accessToken } = userStore; -const fileList = ref([]); +const fileList = ref([]); const faces = ref([]); const dialogImageUrl = ref(""); const dialogVisible = ref(false); -const treeData = ref<{ [key: string]: any }[]>([]); -const handleRemove: UploadProps["onRemove"] = uploadFile => { +const treeData = ref([]); +const handleRemove: UploadProps["onRemove"] = (uploadFile: any) => { const index = faces.value.findIndex(item => item.uid === uploadFile.uid); if (index > -1) { faces.value.splice(index, 1); @@ -143,7 +143,6 @@ const genderOptions = ref([ const getRequestData = async () => { const { data } = await userManageClassManageApi.page(); treeData.value = data; - console.log(treeData.value, "treeData"); }; onMounted(() => { // 初始化 @@ -152,7 +151,7 @@ onMounted(() => { if (userInfo.value.personId) { if (userInfo.value.faces?.length > 0) { fileList.value = [ - ...JSON.parse(JSON.stringify(userInfo.value.faces)).map(item => { + ...JSON.parse(JSON.stringify(userInfo.value.faces)).map((item: any) => { return { url: item.faceUrl, uid: item.faceId, @@ -161,7 +160,7 @@ onMounted(() => { }) ]; faces.value = [ - ...JSON.parse(JSON.stringify(userInfo.value.faces)).map(item => { + ...JSON.parse(JSON.stringify(userInfo.value.faces)).map((item: any) => { return { faceUrl: item.faceUrl, uid: item.faceId, diff --git a/SafeCampus.WEB/src/views/userManage/personnel/components/formTeacher/index.vue b/SafeCampus.WEB/src/views/userManage/personnel/components/formTeacher/index.vue new file mode 100644 index 0000000..bb94ca5 --- /dev/null +++ b/SafeCampus.WEB/src/views/userManage/personnel/components/formTeacher/index.vue @@ -0,0 +1,116 @@ + + + + + + diff --git a/SafeCampus.WEB/src/views/userManage/personnel/index.vue b/SafeCampus.WEB/src/views/userManage/personnel/index.vue index cd002f3..27f2172 100644 --- a/SafeCampus.WEB/src/views/userManage/personnel/index.vue +++ b/SafeCampus.WEB/src/views/userManage/personnel/index.vue @@ -10,7 +10,7 @@ label="personSetName" id="personSetId" width="300px" - :show-all="false" + :show-all="true" :request-api="userManageClassManageApi.page" @change="changeTreeFilter" > @@ -20,13 +20,31 @@ @@ -86,6 +104,8 @@
+ +
@@ -95,12 +115,13 @@