From d1de15b9da6124af3c8f547b40adb318e223143d Mon Sep 17 00:00:00 2001
From: yinbangzhong <zhongbangyin@126.com>
Date: 星期二, 06 八月 2024 15:11:25 +0800
Subject: [PATCH] 会话管理菜单设置
---
/dev/null | 39 -----
src/router/routes/modules/session.ts | 13 +
src/views/session/sessionRecordsManager/index.vue | 0
src/views/authority/resource/index.vue | 316 ++++++++++++++++++++++----------------------
4 files changed, 167 insertions(+), 201 deletions(-)
diff --git a/src/router/routes/modules/exception.ts b/src/router/routes/modules/exception.ts
deleted file mode 100644
index dac1ccc..0000000
--- a/src/router/routes/modules/exception.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { DEFAULT_LAYOUT } from '../base';
-import { AppRouteRecordRaw } from '../types';
-
-const EXCEPTION: AppRouteRecordRaw = {
- path: '/exception',
- name: 'exception',
- component: DEFAULT_LAYOUT,
- meta: {
- locale: 'menu.exception',
- requiresAuth: true,
- icon: 'icon-exclamation-circle',
- order: 6,
- },
- children: [
- {
- path: '403',
- name: '403',
- component: () => import('@/views/exception/403/index.vue'),
- meta: {
- locale: 'menu.exception.403',
- requiresAuth: true,
- roles: ['admin'],
- },
- },
- {
- path: '404',
- name: '404',
- component: () => import('@/views/exception/404/index.vue'),
- meta: {
- locale: 'menu.exception.404',
- requiresAuth: true,
- roles: ['*'],
- },
- },
- {
- path: '500',
- name: '500',
- component: () => import('@/views/exception/500/index.vue'),
- meta: {
- locale: 'menu.exception.500',
- requiresAuth: true,
- roles: ['*'],
- },
- },
- ],
-};
-
-export default EXCEPTION;
diff --git a/src/router/routes/modules/form.ts b/src/router/routes/modules/form.ts
deleted file mode 100644
index 5c8682f..0000000
--- a/src/router/routes/modules/form.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import { DEFAULT_LAYOUT } from '../base';
-import { AppRouteRecordRaw } from '../types';
-
-const FORM: AppRouteRecordRaw = {
- path: '/form',
- name: 'form',
- component: DEFAULT_LAYOUT,
- meta: {
- locale: 'menu.form',
- icon: 'icon-settings',
- requiresAuth: true,
- order: 3,
- },
- children: [
- {
- path: 'step',
- name: 'Step',
- component: () => import('@/views/form/step/index.vue'),
- meta: {
- locale: 'menu.form.step',
- requiresAuth: true,
- roles: ['admin'],
- },
- },
- {
- path: 'group',
- name: 'Group',
- component: () => import('@/views/form/group/index.vue'),
- meta: {
- locale: 'menu.form.group',
- requiresAuth: true,
- roles: ['admin'],
- },
- },
- ],
-};
-
-export default FORM;
diff --git a/src/router/routes/modules/list.ts b/src/router/routes/modules/list.ts
deleted file mode 100644
index ba0bba6..0000000
--- a/src/router/routes/modules/list.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import { DEFAULT_LAYOUT } from '../base';
-import { AppRouteRecordRaw } from '../types';
-
-const LIST: AppRouteRecordRaw = {
- path: '/list',
- name: 'list',
- component: DEFAULT_LAYOUT,
- meta: {
- locale: 'menu.list',
- requiresAuth: true,
- icon: 'icon-list',
- order: 2,
- },
- children: [
- {
- path: 'search-table', // The midline path complies with SEO specifications
- name: 'SearchTable',
- component: () => import('@/views/list/search-table/index.vue'),
- meta: {
- locale: 'menu.list.searchTable',
- requiresAuth: true,
- roles: ['*'],
- },
- },
- {
- path: 'card',
- name: 'Card',
- component: () => import('@/views/list/card/index.vue'),
- meta: {
- locale: 'menu.list.cardList',
- requiresAuth: true,
- roles: ['*'],
- },
- },
- ],
-};
-
-export default LIST;
diff --git a/src/router/routes/modules/result.ts b/src/router/routes/modules/result.ts
deleted file mode 100644
index 52d281c..0000000
--- a/src/router/routes/modules/result.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import { DEFAULT_LAYOUT } from '../base';
-import { AppRouteRecordRaw } from '../types';
-
-const RESULT: AppRouteRecordRaw = {
- path: '/result',
- name: 'result',
- component: DEFAULT_LAYOUT,
- meta: {
- locale: 'menu.result',
- icon: 'icon-check-circle',
- requiresAuth: true,
- order: 5,
- },
- children: [
- {
- path: 'success',
- name: 'Success',
- component: () => import('@/views/result/success/index.vue'),
- meta: {
- locale: 'menu.result.success',
- requiresAuth: true,
- roles: ['admin'],
- },
- },
- {
- path: 'error',
- name: 'Error',
- component: () => import('@/views/result/error/index.vue'),
- meta: {
- locale: 'menu.result.error',
- requiresAuth: true,
- roles: ['admin'],
- },
- },
- ],
-};
-
-export default RESULT;
diff --git a/src/router/routes/modules/session.ts b/src/router/routes/modules/session.ts
index 6ccd4d7..7404798 100644
--- a/src/router/routes/modules/session.ts
+++ b/src/router/routes/modules/session.ts
@@ -16,12 +16,21 @@
path:'sessionManager',
name:"sessionManager",
meta:{
+ locale: '浼氳瘽绠$悊',
requiresAuth: true,
- hideInMenu:true,
roles: ['*'],
- activeMenu:'session'
},
component:()=>import('@/views/session/sessionManager/index.vue'),
+ },
+ {
+ path:'sessionRecordsManager',
+ name:"sessionRecordsManager",
+ meta:{
+ locale: '浼氳瘽璁板綍',
+ requiresAuth: true,
+ roles: ['*'],
+ },
+ component:()=>import('@/views/session/sessionRecordsManager/index.vue'),
}
]
};
diff --git a/src/router/routes/modules/sessionRecords.ts b/src/router/routes/modules/sessionRecords.ts
deleted file mode 100644
index f70c5e3..0000000
--- a/src/router/routes/modules/sessionRecords.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { DEFAULT_LAYOUT } from '../base';
-import { AppRouteRecordRaw } from '../types';
-const sessionRecords: AppRouteRecordRaw = {
- path: '/sessionRecords',
- name: 'sessionRecords',
- component: DEFAULT_LAYOUT,
- meta: {
- locale: 'menu.sessionRecords',
- requiresAuth: true,
- icon: 'icon-list',
- order: 3,
- hideInMenu:false
- },
- children:[
- {
- path:'sessionRecordsManager',
- name:"sessionRecordsManager",
- meta:{
- requiresAuth: true,
- hideInMenu:true,
- roles: ['*'],
- activeMenu:'sessionRecords'
- },
- component:()=>import('@/views/sessionRecords/sessionRecordsManager/index.vue'),
- }
- ]
-};
-export default sessionRecords;
\ No newline at end of file
diff --git a/src/router/routes/modules/visualization.ts b/src/router/routes/modules/visualization.ts
deleted file mode 100644
index aefa2b1..0000000
--- a/src/router/routes/modules/visualization.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { DEFAULT_LAYOUT } from '../base';
-import { AppRouteRecordRaw } from '../types';
-
-const VISUALIZATION: AppRouteRecordRaw = {
- path: '/visualization',
- name: 'visualization',
- component: DEFAULT_LAYOUT,
- meta: {
- locale: 'menu.visualization',
- requiresAuth: true,
- icon: 'icon-apps',
- order: 1,
- },
- children: [
- {
- path: 'data-analysis',
- name: 'DataAnalysis',
- component: () => import('@/views/visualization/data-analysis/index.vue'),
- meta: {
- locale: 'menu.visualization.dataAnalysis',
- requiresAuth: true,
- roles: ['admin'],
- },
- },
- {
- path: 'multi-dimension-data-analysis',
- name: 'MultiDimensionDataAnalysis',
- component: () =>
- import('@/views/visualization/multi-dimension-data-analysis/index.vue'),
- meta: {
- locale: 'menu.visualization.multiDimensionDataAnalysis',
- requiresAuth: true,
- roles: ['admin'],
- },
- },
- ],
-};
-
-export default VISUALIZATION;
diff --git a/src/views/authority/resource/index.vue b/src/views/authority/resource/index.vue
index a8e8e21..1ea12c6 100644
--- a/src/views/authority/resource/index.vue
+++ b/src/views/authority/resource/index.vue
@@ -8,6 +8,7 @@
:bordered="false"
:style="{ 'width': '100%', 'height': '900px', 'overflow-y': 'auto' }"
>
+ <a-button @click="() => onIconClick(null)">鏂板鐖剁骇鑿滃崟</a-button>
<a-tree
class="tree-demo"
draggable
@@ -138,178 +139,173 @@
</template>
<script lang="ts" setup>
- import { ref } from 'vue';
- import { IconPlus } from '@arco-design/web-vue/es/icon';
- import {
- Resource,
- ResourceAdd,
- ResourceById,
- ResourceDelete,
- ResourceList,
- ResourceUpdate,
- } from '@/api/authority';
- import Authheader from '@/views/authority/components/authheader.vue';
- import { Modal } from '@arco-design/web-vue';
+import { ref } from "vue";
+import { IconPlus } from "@arco-design/web-vue/es/icon";
+import { Resource, ResourceAdd, ResourceById, ResourceDelete, ResourceList, ResourceUpdate } from "@/api/authority";
+import Authheader from "@/views/authority/components/authheader.vue";
+import { Modal } from "@arco-design/web-vue";
- let visible = ref(false);
- let treeData = ref([]);
- let showLine = ref(true);
- let menuTips = ref(['鏉冮檺绠$悊', '璧勬簮']);
- const fieldNames = { value: 'key', label: 'value' };
- // 0鐩綍 1鑿滃崟 2鎸夐挳
- let options = ref([
- {
- key: '3',
- value: '鐩綍',
- },
- {
- key: '0',
- value: '鑿滃崟',
- },
- {
- key: '1',
- value: '鎸夐挳',
- },
- ]);
- let resourceform = ref<Resource>({
- component: '',
- createTime: '',
- description: '',
- icon: '',
- menuId: '',
- menuName: '',
- menuType: '',
- orderNum: '',
- parentId: '',
- parentName: '',
- children: [],
- path: '',
- perms: '',
- status: '',
- syesourcetype: '',
- target: '',
- updateTime: '',
+let visible = ref(false);
+let treeData = ref([]);
+let showLine = ref(true);
+let menuTips = ref(["鏉冮檺绠$悊", "璧勬簮"]);
+const fieldNames = { value: "key", label: "value" };
+// 0鐩綍 1鑿滃崟 2鎸夐挳
+let options = ref([
+ {
+ key: "3",
+ value: "鐩綍"
+ },
+ {
+ key: "0",
+ value: "鑿滃崟"
+ },
+ {
+ key: "1",
+ value: "鎸夐挳"
+ }
+]);
+let resourceform = ref<Resource>({
+ component: "",
+ createTime: "",
+ description: "",
+ icon: "",
+ menuId: "",
+ menuName: "",
+ menuType: "",
+ orderNum: "",
+ parentId: "",
+ parentName: "",
+ children: [],
+ path: "",
+ perms: "",
+ status: "",
+ syesourcetype: "",
+ target: "",
+ updateTime: ""
+});
+
+const onIconClick = (nodeData) => {
+ if (nodeData) {
+ resourceform.value.parentId = nodeData.menuId;
+ resourceform.value.parentName = nodeData.menuName;
+ }
+ resourceform.value.component = "";
+ resourceform.value.createTime = "";
+ resourceform.value.description = "";
+ resourceform.value.icon = "";
+ resourceform.value.menuId = "";
+ resourceform.value.menuName = "";
+ resourceform.value.menuType = "";
+ resourceform.value.orderNum = "0";
+ resourceform.value.path = "";
+ resourceform.value.perms = "";
+ resourceform.value.status = "";
+ resourceform.value.syesourcetype = "";
+
+ visible.value = true;
+};
+
+const addresource = async () => {
+ await ResourceAdd({
+ ...resourceform.value
+ } as unknown as Resource).then((res) => {
+ ResourceData("");
+ });
+};
+
+const onIconClickDelete = (nodeData) => {
+ ResourceDelete(nodeData.menuId).then(() => {
+ ResourceData("");
+ });
+};
+
+const showDetail = (id) => {
+ ResourceById(id).then((res) => {
+ resourceform.value = { ...res.data };
+ });
+};
+const editresource = () => {
+ ResourceUpdate({
+ ...resourceform.value
+ } as unknown as Resource).then((res) => {
+ ResourceData("");
+ Modal.success({
+ title: "淇濆瓨鎴愬姛",
+ content: "淇濆瓨鎴愬姛"
+ });
+ });
+};
+const reset = (id) => {
+ ResourceById(id).then((res) => {
+ resourceform.value = { ...res.data };
+ });
+};
+
+const onDrop = ({ dragNode, dropNode, dropPosition }) => {
+ const data = treeData.value;
+ ResourceUpdate({
+ orderNum: "0",
+ parentId: dropNode.menuId,
+ menuId: dragNode.menuId
+ });
+ const loop = (data, key, callback) => {
+ data.some((item, index, arr) => {
+ if (item.menuId === key) {
+ callback(item, index, arr);
+ return true;
+ }
+ if (item.children) {
+ return loop(item.children, key, callback);
+ }
+ return false;
+ });
+ };
+
+ loop(data, dragNode.menuId, (_, index, arr) => {
+ arr.splice(index, 1);
});
- const onIconClick = (nodeData) => {
- resourceform.value.parentId = nodeData.menuId;
- resourceform.value.component = '';
- resourceform.value.createTime = '';
- resourceform.value.description = '';
- resourceform.value.icon = '';
- resourceform.value.menuId = '';
- resourceform.value.menuName = '';
- resourceform.value.menuType = '';
- resourceform.value.orderNum = '0';
- resourceform.value.parentName = nodeData.menuName;
- resourceform.value.path = '';
- resourceform.value.perms = '';
- resourceform.value.status = '';
- resourceform.value.syesourcetype = '';
-
- visible.value = true;
- };
-
- const addresource = async () => {
- await ResourceAdd({
- ...resourceform.value,
- } as unknown as Resource).then((res) => {
- ResourceData('');
+ if (dropPosition === 0) {
+ loop(data, dropNode.menuId, (item) => {
+ item.children = item.children || [];
+ item.children.push(dragNode);
});
- };
-
- const onIconClickDelete = (nodeData) => {
- ResourceDelete(nodeData.menuId).then(() => {
- ResourceData('');
+ } else {
+ loop(data, dropNode.menuId, (_, index, arr) => {
+ arr.splice(dropPosition < 0 ? index : index + 1, 0, dragNode);
});
- };
+ }
+};
- const showDetail = (id) => {
- ResourceById(id).then((res) => {
- resourceform.value = { ...res.data };
- });
- };
- const editresource = () => {
- ResourceUpdate({
- ...resourceform.value,
- } as unknown as Resource).then((res) => {
- ResourceData('');
- Modal.success({
- title: '淇濆瓨鎴愬姛',
- content: '淇濆瓨鎴愬姛',
- });
- });
- };
- const reset = (id) => {
- ResourceById(id).then((res) => {
- resourceform.value = { ...res.data };
- });
- };
+const handleCancel = (type) => {
+ if (type == 1) {
+ visible.value = false;
+ }
+};
- const onDrop = ({ dragNode, dropNode, dropPosition }) => {
- const data = treeData.value;
- ResourceUpdate({
- orderNum: '0',
- parentId: dropNode.menuId,
- menuId: dragNode.menuId,
- });
- const loop = (data, key, callback) => {
- data.some((item, index, arr) => {
- if (item.menuId === key) {
- callback(item, index, arr);
- return true;
- }
- if (item.children) {
- return loop(item.children, key, callback);
- }
- return false;
- });
- };
+const ResourceData = async (key) => {
+ await ResourceList(key).then((res) => {
+ treeData.value = [...res.rows];
+ });
+};
- loop(data, dragNode.menuId, (_, index, arr) => {
- arr.splice(index, 1);
- });
-
- if (dropPosition === 0) {
- loop(data, dropNode.menuId, (item) => {
- item.children = item.children || [];
- item.children.push(dragNode);
- });
- } else {
- loop(data, dropNode.menuId, (_, index, arr) => {
- arr.splice(dropPosition < 0 ? index : index + 1, 0, dragNode);
- });
- }
- };
-
- const handleCancel = (type) => {
- if (type == 1) {
- visible.value = false;
- }
- };
-
- const ResourceData = async (key) => {
- await ResourceList(key).then((res) => {
- treeData.value = [...res.rows];
- });
- };
-
- ResourceData('');
+ResourceData("");
</script>
<style scoped>
- .tree-demo :deep(.tree-node-dropover) > :deep(.arco-tree-node-title),
- .tree-demo :deep(.tree-node-dropover) > :deep(.arco-tree-node-title):hover {
- animation: blinkBg 0.4s 2;
+.tree-demo :deep(.tree-node-dropover) > :deep(.arco-tree-node-title),
+.tree-demo :deep(.tree-node-dropover) > :deep(.arco-tree-node-title):hover {
+ animation: blinkBg 0.4s 2;
+}
+
+@keyframes blinkBg {
+ 0% {
+ background-color: transparent;
}
- @keyframes blinkBg {
- 0% {
- background-color: transparent;
- }
-
- 100% {
- background-color: var(--color-primary-light-1);
- }
+ 100% {
+ background-color: var(--color-primary-light-1);
}
+}
</style>
diff --git a/src/views/sessionRecords/sessionRecordsManager/index.vue b/src/views/session/sessionRecordsManager/index.vue
similarity index 100%
rename from src/views/sessionRecords/sessionRecordsManager/index.vue
rename to src/views/session/sessionRecordsManager/index.vue
--
Gitblit v1.8.0