guoyuji
2024-09-12 455191e2544f84496ad4d1b74b515d7b75d3bb01
north-glass-erp/northglass-erp/src/layout/MainErpView.vue
@@ -6,6 +6,7 @@
import {onMounted, reactive, ref, watch} from "vue"
import deepClone from "@/utils/deepClone"
import userInfo from '@/stores/userInfo'
import {Close, Grid, Histogram, MessageBox, SwitchButton} from "@element-plus/icons-vue"
import { useI18n } from 'vue-i18n'
import i18n from "@/lang/index"
@@ -16,29 +17,69 @@
const router = useRouter()
const userStore = useUserInfoStore()
const user = userStore.user.userName
store.createWebSocket();
const user = userStore.user?.userName
//监听异步返回代码
watch(()=>userStore.responseCode,(newVal) => {
    switch (newVal){
      case 401:{
        if(userStore.msg.split('.')[1] === 'search'){
          router.push({path:'/main/user/notPermission'});
        }else{
          ElMessage.warning(t('error.Code_401'))
        }
        userStore.responseCode=null
        break
      }
      case 402:{
        ElMessage.warning(t('error.Code_402'))
        router.push("/login")
        break
      }
      /*case 500:{
        ElMessage.warning(t('main.connectErr'))
        break
      }*/
      default:{
        break
      }
    }
  }
)
//store.createWebSocket();
// 退出登录
function quit(){
  userStore.$patch({
    user:null
  })
  router.push("/login")
  request.post('/userInfo/logout').finally(()=>{
    router.push("/login")
  })
  //
}
//提取模块列表
let menuList=$ref([])
request.get(`/menu/getMenu/${lang}`).then((res) => {
  if(res.code==200){
    menuList= deepClone(res.data)
  }else{
    ElMessage.warning(res.msg)
    router.push("/login")
onMounted(async ()=>{
  await request.get(`/menu/getMenu/${lang}`).then((res) => {
    if(res.code==200){
      menuList= deepClone(res.data)
    }
  })
  if(userStore.user.address!==null){
      router.push({path:'/main/reportingWorks/addReportingWork'})
  }
}).catch((e)=>{
  ElMessage.warning(t('main.connectErr'))
  router.push("/login")
})
//获取菜单列表
let menuItemList=$ref([])
@@ -64,9 +105,7 @@
    {deep:true}
)
router.beforeEach((to, from) => {
  //return false
})
let openFlag = $ref(null)
@@ -131,7 +170,7 @@
          </el-menu>-->
          <div class="menu"  >
              <div v-for="items in menuList">
                <div class='menu_title' @click="openMenu(items.id)"  >{{items.menuName}}<span class='indicator' >▼</span></div>
                <div class='menu_title' @click="openMenu(items.id)"  >{{$t('menu.'+items.id)}}<span class='indicator' >▼</span></div>
                <ul class='enter-x-left' v-show="openFlag==items.id">
                  <li v-for="menuItem in menuItemList"
@@ -140,7 +179,7 @@
                  >
                    <router-link
                        :to="{path:menuItem.url}">
                      {{ menuItem.itemName}}
                      {{ $t('menu.'+menuItem.menu)}}
                    </router-link>
                  </li>