gaoshp
2024-04-17 ca3903e09980b98a1a46af0c339e9ca00fa04ccd
src/views/login/components/passwordForm.vue
@@ -49,18 +49,6 @@
         //this.$HTTP.get('/api/blade-sync/outer-app-config/appStatus')
      },
      methods: {
         // qsStringify(obj) {
         //   return Object.keys(obj)
         //     .map(key => {
         //       if (Array.isArray(obj[key])) {
         //         return obj[key]
         //           .map(arrayValue => `${encodeURIComponent(key)}=${encodeURIComponent(arrayValue)}`)
         //           .join('&');
         //       }
         //       return `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`;
         //     })
         //     .join('&');
         // },
         async login(){
            var validate = await this.$refs.loginForm.validate().catch(()=>{})
            if(!validate){ return false }
@@ -93,34 +81,81 @@
                    });
               }
            })
            await this.$HTTP.postJ("/api/blade-system/menu/routes?" + this.$TOOL.qsStringify({"appCode": "CPS"})).then(res=> {
               console.log(res,1111)
            })
            await this.$API.system.menu.myMenus.get().then(resp=> {
               if(resp.data.menu.length==0){
                  console.log(resp,2222)
            //获取菜单
            await this.$HTTP.get("/api/blade-system/menu/routes?" + this.$TOOL.qsStringify({"appCode": "CPS"})).then(res=> {
               if(res.data.length==0){
                  this.islogin = false
                  this.$alert("当前用户无任何菜单权限,请联系系统管理员", "无权限访问", {
                     type: 'error',
                     center: true
                  })
                  return false
               }
               this.$TOOL.data.set("MENU", resp.data.menu)
               this.$TOOL.data.set("PERMISSIONS", resp.data.permissions)
               this.$TOOL.data.set("DASHBOARDGRID", resp.data.dashboardGrid)
            });
            this.$router.replace({
               path: '/'
               }
               //开始
               function addComponentToLastLevel(items) {
                  return items.map((item) => {
                     // 复制当前项,避免直接修改原始对象
                     const clonedItem = { ...item };
                     // 检查当前项是否有 children 属性
                     if (clonedItem.children) {
                        // 递归处理 children
                        clonedItem.children = addComponentToLastLevel(clonedItem.children);
                     } else {
                        // 如果没有 children 属性,说明是最后一级,添加 component 对象
                        var len = clonedItem.path.length;
                        if(item.name == "任务调度") {
                           //clonedItem.component = clonedItem.path;   //有component不可以使用iframe
                        }else {
                           clonedItem.component = clonedItem.path.substring(1,len);
                        }
                     }
                     if(item.name == "任务调度") {
                        clonedItem.meta = {title: clonedItem.name,icon: "el-icon-takeaway-box", type: "iframe"}
                     }else {
                        clonedItem.meta = {title: clonedItem.name,icon: "el-icon-takeaway-box", type: "menu"}
                     }
                     return clonedItem;
                  });
               }
               var transformedArray = addComponentToLastLevel(res.data);
               //获取多个工作台
               this.$HTTP.get("/api/blade-system/workbench/list?status=1").then(resp=> {
                  if(resp.data.length) {
                     //console.log(resp.data,resp.data[0].name,333);
                     resp.data.forEach((item,index)=> {
                        item.component = "home";
                        item.meta = {title: item.name, icon: 'el-icon-menu', affix: true};
                        item.path = "/dashboard";
                        item.parentId = item.id;
                     })
                     transformedArray[0].path = "/home";
                     transformedArray[0].children = resp.data;
                     var obj = {
                        dashboardGrid: ["welcome", "ver", "time", "progress", "echarts", "about"],
                        menu: transformedArray,
                        permissions: ["list.add", "list.edit", "list.delete", "user.add", "user.edit", "user.delete"]
                     }
                     this.$TOOL.data.set("MENU", obj.menu)
                     this.$TOOL.data.set("PERMISSIONS", obj.permissions)
                     this.$TOOL.data.set("DASHBOARDGRID", obj.dashboardGrid)
                     console.log(transformedArray,222)
                     this.$router.replace({
                        path: '/'
                     })
                     this.$message.success("Login Success 登录成功")
                     this.islogin = false;
                  }
               })
            })
            this.$message.success("Login Success 登录成功")
            this.islogin = false;
         }
      }
   }
</script>
<style>
.login-form {margin: 0 auto;margin-top: 46px;width: 354px;}
.inputHeight {height: 60px;line-height: 60px;}
.login-form {margin: 0 auto;margin-top: 46px;width: 294px;}
.inputHeight {height: 40px;line-height: 40px;}
</style>