src/api/authority.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/authority/resource/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/authority/users/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/authority.ts
@@ -1,5 +1,5 @@ import axios from "axios"; import { Pagination } from "@/types/global"; import axios from 'axios'; import { Pagination } from '@/types/global'; export interface User { userId: string; @@ -9,7 +9,8 @@ phoneNumber: string; dept: any; resources: any; knowledges:any; knowledges: any; dialogs: any; createTime: string; status: string; } @@ -28,30 +29,30 @@ } export interface Resource { "menuId": string; "createTime": string; "updateTime": string; "menuName": string; "component": string; "description": string; "icon": string; "orderNum": string; "target": string; "parentId": string; "parentName": string; "children": any; "syesourcetype": string; "status": string; "path": string; "perms": string; "menuType": string; menuId: string; createTime: string; updateTime: string; menuName: string; component: string; description: string; icon: string; orderNum: string; target: string; parentId: string; parentName: string; children: any; syesourcetype: string; status: string; path: string; perms: string; menuType: string; } export interface Knowledge { "id": string; "createTime": string; "updateTime": string; "name": string; id: string; createTime: string; updateTime: string; name: string; } export interface Result<T> { @@ -62,75 +63,78 @@ } export function UserList(params: Pagination) { return axios.get<Result<User[]>>("/base/system/user/list", { params }); return axios.get<Result<User[]>>('/base/system/user/list', { params }); } export function Userstatus(userID, status) { return axios.put("/base/system/user/changeStatus", { "userId": userID, "status": status }); return axios.put('/base/system/user/changeStatus', { userId: userID, status: status, }); } export function UserChangePwd(userId) { return axios.put("/base/system/user/profile/updatePwd", { "userId": userId }); return axios.put('/base/system/user/profile/updatePwd', { userId: userId }); } export function UserEdit(user) { return axios.put("/base/system/user", { user }); return axios.put('/base/system/user', { user }); } export function UserAdd(user) { return axios.post("/base/system/user", { user }); return axios.post('/base/system/user', { user }); } export function UserDelete(userId) { return axios.delete("/base/system/user/" + userId); return axios.delete('/base/system/user/' + userId); } export function OrganizationList(key: string) { return axios.post<Result<Organization[]>>("/base/system/dept/list", { "deptName": key }); return axios.post<Result<Organization[]>>('/base/system/dept/list', { deptName: key, }); } export function OrganizationAdd(organization) { return axios.post("/base/system/dept", { organization }); return axios.post('/base/system/dept', { organization }); } export function OrganizationDelete(id) { return axios.delete("/base/system/dept/" + id); return axios.delete('/base/system/dept/' + id); } export function OrganizationUpdate(organization) { return axios.put("/base/system/dept", { organization }); return axios.put('/base/system/dept', { organization }); } export function OrganizationById(id) { return axios.get<Result<Organization>>("/base/system/dept/" + id); return axios.get<Result<Organization>>('/base/system/dept/' + id); } export function ResourceList(key: string) { return axios.get<Result<Resource[]>>("/base/system/menu/treeselect"); return axios.get<Result<Resource[]>>('/base/system/menu/treeselect'); } export function ResourceAdd(resource) { return axios.post("/base/system/menu", { resource }); return axios.post('/base/system/menu', { resource }); } export function ResourceDelete(id) { return axios.delete("/base/system/menu/" + id); return axios.delete('/base/system/menu/' + id); } export function ResourceUpdate(resource) { return axios.put("/base/system/menu", { resource }); return axios.put('/base/system/menu', { resource }); } export function ResourceById(id) { return axios.get<Result<Resource>>("/base/system/menu/" + id); return axios.get<Result<Resource>>('/base/system/menu/' + id); } export function KnowledgeList() { return axios.get<Result<Knowledge>>("/base/system/knowledge/list"); } return axios.get<Result<Knowledge>>('/base/system/knowledge/list'); } export function DialogList() { return axios.get<Result<Knowledge>>('/base/system/dialog/list'); } src/views/authority/resource/index.vue
@@ -107,15 +107,15 @@ // 0目录 1菜单 2按钮 let options = ref([ { key: "0", key: "3", value: "目录" }, { key: "1", key: "0", value: "菜单" }, { key: "2", key: "1", value: "按钮" } ]); src/views/authority/users/index.vue
@@ -197,7 +197,16 @@ <icon-user /> 智能体 </template> Content of Tab Panel 3 <a-checkbox-group v-model="checkedKeysDialog" direction="vertical" @change="onCheckDialog"> <a-checkbox v-for="(dialog, index) of DialogsList" :value="dialog.id" :lable="dialog.name" @change="onCheckDialog" > {{ dialog.name }} </a-checkbox> </a-checkbox-group> </a-tab-pane> </a-tabs> <a-card :style="{ width: '100%',height: '200px', 'overflow-y': 'auto', margin:'1px'}" @@ -226,6 +235,17 @@ {{ tag.knowledgeName }} </a-tag> </a-space> <a-divider /> <a-space wrap> 智能体: <a-tag v-for="(tag, index) of checkStrictlyDialog" :key="tag.dialogId" @close="handleDialogRemove(tag)" > {{ tag.dialogName }} </a-tag> </a-space> </a-card> </div> @@ -240,6 +260,7 @@ import { Pagination } from "@/types/global"; import type { TableColumnData } from "@arco-design/web-vue/es/table/interface"; import { DialogList, KnowledgeList, OrganizationList, ResourceList, @@ -268,7 +289,12 @@ let checkedKeysKnowledge= ref([]); let checkStrictlyKnowledge= ref([]); let checkedKeysDialog= ref([]); let checkStrictlyDialog= ref([]); let knowledgeList = ref([]); let DialogsList = ref([]); let menuTips = ref(["权限管理", "账号"]); type SizeProps = "mini" | "small" | "medium" | "large"; @@ -344,6 +370,23 @@ }); } }; const onCheckDialog = (newCheckedKeys, event) => { let o = { "dialogId": event.target.value, "dialogName": event.target.labels[0].innerText }; if (event.target.checked) { checkStrictlyDialog.value.push(o); } else { checkStrictlyDialog.value.forEach((val, idx, array) => { // val: 当前值 if (val.dialogId == event.target.value) { checkStrictlyDialog.value.splice(idx, 1); return true; } }); } }; const handleRemove = (key) => { checkStrictly.value = checkStrictly.value.filter((tag) => tag !== key); }; @@ -353,6 +396,10 @@ const handleKnowledgeRemove = (key) => { checkStrictlyKnowledge.value = checkStrictlyKnowledge.value.filter((tag) => tag !== key); }; const handleDialogRemove = (key) => { checkStrictlyDialog.value = checkStrictlyDialog.value.filter((tag) => tag !== key); }; const basePagination: Pagination = { current: 1, @@ -442,15 +489,21 @@ }; const editResourceHandleOk = async () => { let resources: Array = [],Knowledges: Array = [], user: User = { "userId": selectUser.value.userId }; let resources: Array = [],dialogs: Array = [],Knowledges: Array = [], user: User = { "userId": selectUser.value.userId }; checkStrictlyMenu.value.forEach((val) => { resources.push(val.menuId); }); user.resources = resources; checkStrictlyKnowledge.value.forEach((val) => { Knowledges.push(val.knowledgeId); }); user.knowledges = Knowledges; checkStrictlyDialog.value.forEach((val) => { dialogs.push(val.dialogId); }); user.dialogs = dialogs; await UserEdit(user).then((res) => { fetchData(); @@ -524,6 +577,8 @@ checkStrictlyMenu.value = []; checkStrictlyKnowledge.value=[]; checkedKeysKnowledge.value=[]; checkStrictlyDialog.value=[]; checkedKeysDialog.value=[]; selectUser.value = record; record.resources.forEach((val) => { checkStrictlyMenu.value.push({ "menuId": val.menuId, "menuName": val.menuName }); @@ -533,6 +588,10 @@ record.knowledges.forEach((val) => { checkStrictlyKnowledge.value.push({ "knowledgeId": val.id, "knowledgeName": val.name }); checkedKeysKnowledge.value.push(val.id); }); record.dialogs.forEach((val) => { checkStrictlyDialog.value.push({ "dialogId": val.id, "dialogName": val.name }); checkedKeysDialog.value.push(val.id); }); } @@ -596,6 +655,10 @@ KnowledgeList().then((res) => { knowledgeList.value = res.rows; }); DialogList().then((res) => { DialogsList.value = res.rows; }); fetchData(); OrganizationData(""); MenuData();