From 4fb06a58ed5df46f29af1e9fa65cfd40335263ad Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期六, 18 一月 2025 17:06:18 +0800
Subject: [PATCH] # 6. 大屏添加作业类型 (全盘,还是分拣  IOType) 10.平库出库时,当前平库ID是写死在Sql里,需修改 11.平库出库没有判断是否预约出库,且生成拣货单时没有锁定库存,需确认是否考虑回库问题 26. 已拣过货的任务明细,可以再次拣货,拣货明细需添加一个拣货状态 47. 确认发货前,需判断是否已绑定至集货区 48. CTU出库后,库位103不再删除原有库位信息

---
 zy-asrs-admin/src/views/IndexView.vue |   43 +++++++++++++++++++++++++++++++++++++------
 1 files changed, 37 insertions(+), 6 deletions(-)

diff --git a/zy-asrs-admin/src/views/IndexView.vue b/zy-asrs-admin/src/views/IndexView.vue
index e9b44a0..10cdd64 100644
--- a/zy-asrs-admin/src/views/IndexView.vue
+++ b/zy-asrs-admin/src/views/IndexView.vue
@@ -1,10 +1,13 @@
 <script setup>
-import { nextTick, ref, inject, onMounted } from 'vue';
+import { nextTick, ref, inject, onMounted, h, reactive } from 'vue';
 import { useRouter } from "vue-router";
 import { get, post, postForm } from '@/utils/request.js'
 import { logout } from '@/config.js';
 import * as Icons from "@ant-design/icons-vue";
 import { message } from 'ant-design-vue';
+// import type { MenuMode, MenuTheme } from 'ant-design-vue';
+// import { ItemType } from 'ant-design-vue';
+
 import {
   MenuUnfoldOutlined,
   MenuFoldOutlined,
@@ -37,6 +40,8 @@
   ...Icons,
 };
 
+
+
 onMounted(() => {
   let name = router.currentRoute.value.name;
   let path = router.currentRoute.value.path;
@@ -59,10 +64,23 @@
   }
 })
 
+
+const state = reactive({
+    rootSubmenuKeys: [],
+    openKeys: ["/"],
+    selectedKeys: [],
+});
+
 getMenu()
 function getMenu() {
   get('/api/auth/menu', {}).then((result) => {
     menuCache.value = result.data.data;
+    let routes = menuCache.value.map(item =>{
+        return item.route
+    })
+      routes.unshift('/')
+      state.rootSubmenuKeys = routes
+      console.log(state.rootSubmenuKeys)
   })
 }
 
@@ -150,9 +168,9 @@
   selectedKeys.value = [item.key]
 
   // open menu
-  let arr = item.key.split("/");
-  let key = '/' + arr[1];
-  openKeys.value = [key]
+  // let arr = item.key.split("/");
+  // let key = '/' + arr[1];
+  // openKeys.value = [key]
 }
 
 const switchLocale = async (locale) => {
@@ -223,6 +241,19 @@
   }
 }
 
+const onOpenChange = (openKeys) => {
+    const latestOpenKey = openKeys.find(
+        (key) => state.openKeys.indexOf(key) === -1
+    );
+    if (state.rootSubmenuKeys.indexOf(latestOpenKey) === -1) {
+        state.openKeys = openKeys
+    } else {
+        state.openKeys = latestOpenKey ? [latestOpenKey] : [];
+    }
+    console.log(state.openKeys)
+}
+
+
 </script>
 
 <template>
@@ -230,8 +261,8 @@
       <div class="sider-style">
         <a-layout-sider class="main-sider" v-model:collapsed="collapsed" :trigger="null"  theme="dark">
         <div class="logo" />
-        <a-menu v-model:openKeys="openKeys" v-model:selectedKeys="selectedKeys" @select="menuSelect"  theme="dark"
-                mode="inline" >
+        <a-menu v-model:openKeys="state.openKeys" v-model:selectedKeys="state.selectedKeys"  @select="menuSelect"  theme="dark"
+                mode="inline" @openChange="onOpenChange">
           <div>
             <a-menu-item key="/" name="涓婚〉">
               <HomeOutlined /> {{ formatMessage('common.home', '涓婚〉') }}

--
Gitblit v1.9.1