Pārlūkot izejas kodu

增加首页跳转页面

duy 2 gadi atpakaļ
vecāks
revīzija
70420eb059

+ 1 - 0
src/config/app.js

@@ -5,4 +5,5 @@ export default {
     theme: 'light', //用户可选择类型:auto,light, dark
     color: theme.color[1],
     homeTheme: theme.home[4],
+    indexModel:'1',
 }

+ 1 - 0
src/layout/index.vue

@@ -102,6 +102,7 @@ const appLogoName = ref(useAppState.getLogoName)
 const HomeTheme = ref(useAppState.getHomeTheme)
 const AppColor = ref(useAppState.getColor)
 
+
 //顶部菜单数据和相关处理
 const MenuBarKey = ref(BarMenuKey)
 const RoutesName = ref(BarMenuKey)

+ 18 - 5
src/layout/modules/MenuBar.vue

@@ -1,6 +1,6 @@
 <template>
     <el-menu :collapse="isCollapse" :default-active="curKey" class="hc-aside-menu" unique-opened>
-        <el-menu-item index="home-index" @click="MenuClick({ code: 'home-index' })">
+        <el-menu-item v-if="indexModel === '1'" index="home-index" @click="MenuClick({ code: 'home-index' })">
             <div class="hc-aside-menu-item">
                 <div class="menu---item">
                     <HcIcon :fill="curKey === 'home-index'" class="hc-menu-icon" name="home-3" />
@@ -10,6 +10,16 @@
                 </div>
             </div>
         </el-menu-item>
+        <el-menu-item v-if="indexModel === '2'" index="home-index" @click="MenuClick({ code: 'home-index-static' })">
+            <div class="hc-aside-menu-item">
+                <div class="menu---item">
+                    <HcIcon :fill="curKey === 'home-index-static'" class="hc-menu-icon" name="home-3" />
+                    <div class="name">
+                        首页
+                    </div>
+                </div>
+            </div>
+        </el-menu-item>
         <MenuItem :collapse="isCollapse" :cur="curKey" :datas="datas" :msg-count="msgCount" @change="MenuClick" />
     </el-menu>
 </template>
@@ -21,7 +31,7 @@ import { getToken } from '~src/api/util/auth'
 import { getStoreValue } from '~uti/storage'
 import { getTenantDetail } from '~api/other'
 import { getObjValue } from 'js-fast-way'
-
+import { useAppStore } from '~src/store'
 const props = defineProps({
     datas: {
         type: Array,
@@ -40,20 +50,23 @@ const props = defineProps({
         default: () => ({}),
     },
 })
-
 //事件
 const emit = defineEmits(['change'])
+const useAppState = useAppStore()
 //初始变量
 const curKey = ref(props.cur)
 const isCollapse = ref(props.collapse)
-
+//首页模式
+const indexModel = ref(useAppState.getIndexModel)
 //监听
 watch(() => [
     props.cur,
     props.collapse,
-], ([cur, collapse]) => {
+    useAppState.getIndexModel,
+], ([cur, collapse, IndexModel]) => {
     curKey.value = cur
     isCollapse.value = collapse
+    indexModel.value = IndexModel
 })
 
 

+ 7 - 0
src/store/index.js

@@ -17,6 +17,7 @@ export const useAppStore = defineStore('main', {
         themeVal: getStoreValue('themeVal') || '', //实际主题:light, dark
         color: getStoreValue('color') || appConfig.color,
         homeTheme: getStoreValue('homeTheme') || appConfig.homeTheme,
+        indexModel:getStoreValue('indexModel') || appConfig.indexModel, //首页模式
         //用户信息
         token: getStoreValue('token') || '',
         refreshToken: getStoreValue('refreshToken') || '',
@@ -52,6 +53,7 @@ export const useAppStore = defineStore('main', {
         getThemeVal: state => state.themeVal,
         getColor: state => state.color,
         getHomeTheme: state => state.homeTheme,
+        getIndexModel:state => state.indexModel,
         //用户信息
         getToken: state => state.token,
         getRefreshToken: state => state.refreshToken,
@@ -107,6 +109,11 @@ export const useAppStore = defineStore('main', {
             this.homeTheme = value
             setStoreValue('homeTheme', value)
         },
+        //设置首页模式
+        setIndexModel(value) {
+            this.indexModel = value
+            setStoreValue('indexModel', value)
+        },
         //用户信息
         setTokenVal(value) {
             this.token = value

+ 1 - 0
src/store/modules/user.js

@@ -74,6 +74,7 @@ export const initUserConfigInfo = async () => {
             shotWebRtc: '0',
             fullScreen: '1',
             opinionView: 1,
+            indexModel:'1',
         })
         return Promise.resolve(true)
     }

+ 7 - 3
src/views/home/config.vue

@@ -98,7 +98,7 @@
         </div>
    
         <div class="text-lg font-medium mb-4">首页模式</div>
-        <el-radio-group v-model="radio1" class="ml-4">
+        <el-radio-group v-model="IndexModel" class="ml-4" @change="changeIndexModel">
             <el-radio label="1" size="large">精简模式</el-radio>
             <el-radio label="2" size="large">数据模式</el-radio>
         </el-radio-group>
@@ -149,6 +149,7 @@ const HomeTheme = ref(useAppState.getHomeTheme)
 const webRtcVal = ref(useAppState.getShotWebRtc)
 const fullScreenVal = ref(useAppState.getFullScreen)
 const UserColorNmae = ref(UserColor.value?.name || 'green')
+const IndexModel = ref(useAppState.getIndexModel)
 
 //颜色
 const ColorConfigData = ref(themeData.color)
@@ -200,7 +201,10 @@ const webRtcUpdate = (val) => {
 const fullScreenUpdate = (val) => {
     useAppState.setFullScreen(val)
 }
-
+//更改首页模式
+const changeIndexModel = (val) => {
+    useAppState.setIndexModel(val)
+}
 //取消配置
 const CancelClick = () => {
     router.back()
@@ -218,7 +222,7 @@ const SaveConfigClick = async () => {
         homeTheme: HomeTheme.value?.name,
         shotWebRtc: webRtcVal.value,
         fullScreen: fullScreenVal.value,
-        indexModel:radio1.value,
+        indexModel:IndexModel.value,
     })
     //判断状态
     saveLoading.value = false

+ 9 - 2
src/views/login/index.vue

@@ -96,7 +96,8 @@ userStore.clearStoreData() //先清理下缓存
 //系统信息
 const appLogoIcon = ref('')
 const appLogoName = ref('')
-
+//首页模式
+const IndexModel = ref(userStore.getIndexModel)
 //切换登录类型
 const account = ref(true)
 const tenantMode = ref(true)
@@ -198,7 +199,13 @@ const formValidateClick = async () => {
         useAppLogin(formValue.value).then(() => {
             loading.value = false
             window?.$message?.success('登录成功')
-            router.push({ path: '/home/index' })
+            console.log(IndexModel.value, 'IndexModel')
+            if (IndexModel.value === '1') {
+                router.push({ path: '/home/index' })
+            } else {
+                router.push({ path: '/home/index/static' })
+            }
+            
         }).catch(() => {
             loading.value = false
         })

+ 1 - 0
src/views/user/auth.vue

@@ -79,6 +79,7 @@ const loginByTokenApi = async (form) => {
          setAppName('')
         window?.$message?.success('授权登录成功')
         await router.push({ path: '/home/index' })
+   
     } else {
         window.$message?.error('授权登录失败')
         isErrorShow.value = true