Kaynağa Gözat

[Feat 0000] 左上角选择框支持布局切换功能

houzekong 5 ay önce
ebeveyn
işleme
71f71046fa

+ 8 - 2
src/enums/pageEnum.ts

@@ -2,7 +2,13 @@ export enum PageEnum {
   // basic login path
   BASE_LOGIN = '/login',
   // basic home path
-  BASE_HOME = '/dashboard/analysis',
+  BASE_HOME = '/dashboard/sealedGoaf',
+  // secondary home path
+  SECONDARY_HOME = '/basicinfo/mines-info',
+  // tertiary home path
+  TERTIARY_HOME = '/system/menu',
+  // quaternary home path
+  // QUATERNARY_HOME = '/basicinfo/mines-info',
   // error page path
   ERROR_PAGE = '/exception',
   // error log page path
@@ -12,5 +18,5 @@ export enum PageEnum {
   //文件路由
   SYS_FILES_PATH = '/file/share',
   // 邮件中的跳转地址
-  TOKEN_LOGIN = '/tokenLogin'
+  TOKEN_LOGIN = '/tokenLogin',
 }

+ 22 - 6
src/layouts/default/feature/SystemSelect.vue

@@ -2,8 +2,7 @@
   <Dropdown trigger="click">
     <template #overlay>
       <Menu @click="handleMenuClick">
-        <MenuItem key="采空区密闭分析">采空区密闭分析</MenuItem>
-        <MenuItem key="采空区密闭监测">采空区密闭监测</MenuItem>
+        <MenuItem v-for="(title, key) in OPTIONS" :key="key">{{ title }}</MenuItem>
       </Menu>
     </template>
     <Button :class="prefixCls" type="primary">
@@ -17,14 +16,31 @@
   import { Button, Dropdown, Menu, MenuItem } from 'ant-design-vue';
   import { DownOutlined } from '@ant-design/icons-vue';
   import { useDesign } from '/@/hooks/web/useDesign';
-  import { ref } from 'vue';
+  import { onMounted, ref } from 'vue';
+  import { PageEnum } from '/@/enums/pageEnum';
+  import { useRouter } from 'vue-router';
+  import { useI18n } from '/@/hooks/web/useI18n';
 
   const { prefixCls } = useDesign('system-select');
-  const text = ref('采空区密闭分析');
+  const router = useRouter();
+  const { t } = useI18n();
+  const text = ref('');
 
   function handleMenuClick({ key }) {
-    text.value = key;
+    text.value = OPTIONS.value[key];
+    router.push({ path: key });
   }
+
+  const OPTIONS = ref({
+    [PageEnum.BASE_HOME]: t('routes.basic.baseHome'),
+    [PageEnum.SECONDARY_HOME]: t('routes.basic.secondaryHome'),
+  });
+
+  onMounted(() => {
+    text.value = OPTIONS.value[router.currentRoute.value.path];
+  });
+
+  defineExpose({ OPTIONS, prefixCls, handleMenuClick });
 </script>
 <style lang="less" scoped>
   @prefix-cls: ~'@{namespace}-system-select';
@@ -34,7 +50,7 @@
     margin-top: 10px;
     width: 210px;
     position: relative;
-    z-index: 2;
+    z-index: @layout-basic-z-index;
 
     // :deep(.ant-select-selector) {
     //   background-color: @primary-color;

+ 2 - 0
src/locales/lang/en/routes/basic.ts

@@ -2,4 +2,6 @@ export default {
   login: 'Login',
   errorLogList: 'Error Log',
   defaultHomePage: 'Default Home Page',
+  baseHome: 'Goaf Analysis',
+  secondaryHome: 'Goaf Monitoring',
 };

+ 2 - 0
src/locales/lang/zh-CN/routes/basic.ts

@@ -2,4 +2,6 @@ export default {
   login: '登录',
   errorLogList: '错误日志列表',
   defaultHomePage: '默认首页',
+  baseHome: '采空区密闭分析',
+  secondaryHome: '采空区密闭监测',
 };