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