Browse Source

fix: 站点切换器默认显示站点名称(修复 loading 态 label 解析回退为ID),入口移至顶栏右侧工具区

skyline 3 ngày trước cách đây
mục cha
commit
86ec164371

+ 0 - 3
admin-web/src/layout/navBars/breadcrumb/index.vue

@@ -1,8 +1,6 @@
 <template>
 	<div class="layout-navbars-breadcrumb-index">
 		<Logo v-if="setIsShowLogo" />
-		<!-- 全局站点切换(当前数据范围) -->
-		<StationSwitcher />
 		<Breadcrumb />
 <!--		<Horizontal :menuList="state.menuList"  />-->
 <!--		<Horizontal :menuList="state.menuList" v-if="isLayoutTransverse" />-->
@@ -22,7 +20,6 @@ import mittBus from '/@/utils/mitt';
 const Breadcrumb = defineAsyncComponent(() => import('/@/layout/navBars/breadcrumb/breadcrumb.vue'));
 const Toolbar = defineAsyncComponent(() => import('/@/layout/navBars/breadcrumb/toolbar.vue'));
 const Logo = defineAsyncComponent(() => import('/@/layout/logo/index.vue'));
-const StationSwitcher = defineAsyncComponent(() => import('/@/layout/navBars/breadcrumb/stationSwitcher.vue'));
 const Horizontal = defineAsyncComponent(() => import('/@/layout/navMenu/horizontal.vue'));
 
 // 定义变量内容

+ 4 - 14
admin-web/src/layout/navBars/breadcrumb/stationSwitcher.vue

@@ -57,6 +57,9 @@ const handleStationChange = (stationId: string) => {
 
 const loadStationList = () => {
   $body(`/washStation/list`, {pageNum: 1, pageSize: 1024}).then((res: any) => {
+    //必须先结束 loading 再赋值选项:element-plus 在 loading 态下过滤结果为空,
+    //会导致选中项 label 解析失败、回退显示原始站点ID
+    state.loading = false;
     let {list} = res;
     state.stationList = list || [];
     state.options = state.stationList.map((k: any) => {
@@ -90,20 +93,7 @@ onMounted(() => {
   display: flex;
   align-items: center;
   height: 50px;
-  padding: 0 12px 0 4px;
-  position: relative;
-
-  //与面包屑之间的分隔:范围(哪个站)与位置(哪个页)是两个语境
-  &::after {
-    content: '';
-    position: absolute;
-    right: 0;
-    top: 50%;
-    transform: translateY(-50%);
-    width: 1px;
-    height: 20px;
-    background: var(--el-border-color-lighter);
-  }
+  padding: 0 8px 0 4px;
 
   .station-select {
     width: 180px;

+ 4 - 0
admin-web/src/layout/navBars/breadcrumb/toolbar.vue

@@ -1,6 +1,9 @@
 <template>
   <div class="layout-navbars-breadcrumb-user pr15" :style="{ flex: layoutUserFlexNum }">
 
+    <!--    全局站点切换(当前数据范围)-->
+    <StationSwitcher />
+
     <!--    字体大小-->
     <el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onComponentSizeChange">
       <div class="layout-navbars-breadcrumb-user-icon">
@@ -116,6 +119,7 @@ import u from "/@/utils/u";
 const Notification = defineAsyncComponent(() => import('/@/layout/navBars/breadcrumb/notification.vue'));
 const NotificationCenter = defineAsyncComponent(() => import('/@/layout/navBars/breadcrumb/notificationCenter.vue'));
 const Search = defineAsyncComponent(() => import('/@/layout/navBars/breadcrumb/search.vue'));
+const StationSwitcher = defineAsyncComponent(() => import('/@/layout/navBars/breadcrumb/stationSwitcher.vue'));
 
 // 定义变量内容
 const {locale, t} = useI18n();