{"ast":null,"code":"import { computed } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\nimport { useStore } from 'vuex';\nimport { Document, Plus, List, User } from '@element-plus/icons-vue';\nimport { ElMessage } from 'element-plus';\nimport { logout } from '@/api/auth';\nexport default {\n __name: 'index',\n setup(__props, {\n expose: __expose\n }) {\n __expose();\n const route = useRoute();\n const router = useRouter();\n const store = useStore();\n const userInfo = computed(() => store.state.userInfo);\n const handleLogout = async () => {\n try {\n await logout();\n store.dispatch('logout');\n ElMessage.success('退出成功');\n router.push('/login');\n } catch (error) {\n console.error('退出失败:', error);\n store.dispatch('logout');\n router.push('/login');\n }\n };\n\n // 根据用户角色计算菜单项\n const menuItems = computed(() => {\n const role = store.state.userInfo.role;\n const items = [{\n key: 'orders',\n label: '我的订单',\n path: '/orders/my',\n icon: 'el-icon-document'\n }];\n\n // 仓库管理员可以创建订单\n if (role === 'ROLE_WAREHOUSE_ADMIN') {\n items.push({\n key: 'createOrder',\n label: '创建订单',\n path: '/orders/create',\n icon: 'el-icon-plus'\n });\n }\n\n // 管理员和物流管理员可以查看所有订单\n if (['ROLE_ADMIN', 'ROLE_LOGISTICS_ADMIN'].includes(role)) {\n items.push({\n key: 'allOrders',\n label: '全部订单',\n path: '/admin/orders',\n icon: 'el-icon-tickets'\n });\n }\n\n // 只有超级管理员可以管理用户\n if (role === 'ROLE_ADMIN') {\n items.push({\n key: 'users',\n label: '用户管理',\n path: '/admin/users',\n icon: 'el-icon-user'\n });\n }\n return items;\n });\n const __returned__ = {\n route,\n router,\n store,\n userInfo,\n handleLogout,\n menuItems,\n computed,\n get useRoute() {\n return useRoute;\n },\n get useRouter() {\n return useRouter;\n },\n get useStore() {\n return useStore;\n },\n get Document() {\n return Document;\n },\n get Plus() {\n return Plus;\n },\n get List() {\n return List;\n },\n get User() {\n return User;\n },\n get ElMessage() {\n return ElMessage;\n },\n get logout() {\n return logout;\n }\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n};","map":{"version":3,"names":["computed","useRoute","useRouter","useStore","Document","Plus","List","User","ElMessage","logout","route","router","store","userInfo","state","handleLogout","dispatch","success","push","error","console","menuItems","role","items","key","label","path","icon","includes"],"sources":["D:/language/VScode/Front-end logistics/src/components/layout/index.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n "],"mappings":"AAoDA,SAASA,QAAQ,QAAQ,KAAK;AAC9B,SAASC,QAAQ,EAAEC,SAAS,QAAQ,YAAY;AAChD,SAASC,QAAQ,QAAQ,MAAM;AAC/B,SAASC,QAAQ,EAAEC,IAAI,EAAEC,IAAI,EAAEC,IAAI,QAAQ,yBAAyB;AACpE,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,MAAM,QAAQ,YAAY;;;;;;;IAEnC,MAAMC,KAAK,GAAGT,QAAQ,CAAC,CAAC;IACxB,MAAMU,MAAM,GAAGT,SAAS,CAAC,CAAC;IAC1B,MAAMU,KAAK,GAAGT,QAAQ,CAAC,CAAC;IAExB,MAAMU,QAAQ,GAAGb,QAAQ,CAAC,MAAMY,KAAK,CAACE,KAAK,CAACD,QAAQ,CAAC;IAErD,MAAME,YAAY,GAAG,MAAAA,CAAA,KAAY;MAC/B,IAAI;QACF,MAAMN,MAAM,CAAC,CAAC;QACdG,KAAK,CAACI,QAAQ,CAAC,QAAQ,CAAC;QACxBR,SAAS,CAACS,OAAO,CAAC,MAAM,CAAC;QACzBN,MAAM,CAACO,IAAI,CAAC,QAAQ,CAAC;MACvB,CAAC,CAAC,OAAOC,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,OAAO,EAAEA,KAAK,CAAC;QAC7BP,KAAK,CAACI,QAAQ,CAAC,QAAQ,CAAC;QACxBL,MAAM,CAACO,IAAI,CAAC,QAAQ,CAAC;MACvB;IACF,CAAC;;IAED;IACA,MAAMG,SAAS,GAAGrB,QAAQ,CAAC,MAAM;MAC/B,MAAMsB,IAAI,GAAGV,KAAK,CAACE,KAAK,CAACD,QAAQ,CAACS,IAAI;MACtC,MAAMC,KAAK,GAAG,CACZ;QACEC,GAAG,EAAE,QAAQ;QACbC,KAAK,EAAE,MAAM;QACbC,IAAI,EAAE,YAAY;QAClBC,IAAI,EAAE;MACR,CAAC,CACF;;MAED;MACA,IAAIL,IAAI,KAAK,sBAAsB,EAAE;QACnCC,KAAK,CAACL,IAAI,CAAC;UACTM,GAAG,EAAE,aAAa;UAClBC,KAAK,EAAE,MAAM;UACbC,IAAI,EAAE,gBAAgB;UACtBC,IAAI,EAAE;QACR,CAAC,CAAC;MACJ;;MAEA;MACA,IAAI,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAACC,QAAQ,CAACN,IAAI,CAAC,EAAE;QACzDC,KAAK,CAACL,IAAI,CAAC;UACTM,GAAG,EAAE,WAAW;UAChBC,KAAK,EAAE,MAAM;UACbC,IAAI,EAAE,eAAe;UACrBC,IAAI,EAAE;QACR,CAAC,CAAC;MACJ;;MAEA;MACA,IAAIL,IAAI,KAAK,YAAY,EAAE;QACzBC,KAAK,CAACL,IAAI,CAAC;UACTM,GAAG,EAAE,OAAO;UACZC,KAAK,EAAE,MAAM;UACbC,IAAI,EAAE,cAAc;UACpBC,IAAI,EAAE;QACR,CAAC,CAAC;MACJ;MAEA,OAAOJ,KAAK;IACd,CAAC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}