1
lzhe
2024-03-26 5de0ed201341e0ac0bf0cfbbc2df30bb7440d4e4
1
已修改3个文件
73 ■■■■■ 文件已修改
src/layout/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/style/app.scss 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login/components/passwordForm.vue 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/index.vue
@@ -145,11 +145,11 @@
        </div>
        <section class="aminui-wrapper">
            <div v-if="!ismobile" class="aminui-side-split">
                <div class="aminui-side-split-top">
                <!-- <div class="aminui-side-split-top">
                    <router-link :to="$CONFIG.DASHBOARD_URL">
                        <img class="logo" :title="$CONFIG.APP_NAME" src="img/logo-r.png">
                    </router-link>
                </div>
                </div> -->
                <div class="adminui-side-split-scroll">
                    <el-scrollbar>
                        <ul>
src/style/app.scss
@@ -64,7 +64,7 @@
.adminui-side-top {border-bottom: 1px solid #ebeef5;height:50px;line-height: 50px;}
.adminui-side-top h2 {padding:0 20px;font-size: 17px;color: #fff;}
.adminui-side-scroll {overflow: auto;overflow-x:hidden;flex: 1;background-color: #315655;}
.adminui-side-scrolul {background-color: #315655;}
.adminui-side-scrolul,.el-menu {background-color: #315655;}
.adminui-side-scrolul .el-menu-item ,.adminui-side-scrolul .el-sub-menu__title{color: #fff;}
.adminui-side-scrolul .el-menu-item:hover,.adminui-side-scrolul .el-sub-menu__title:hover{background-color: #316e6e;}
.adminui-side-bottom {border-top: 1px solid #ebeef5;height:51px;cursor: pointer;display: flex;align-items: center;justify-content: center;}
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,23 +81,58 @@
                        });
                    }
                })
                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
                    }
                    //开始
                    function addComponentToLastLevel(items) {
                        return items.map((item) => {
                            // 复制当前项,避免直接修改原始对象
                            const clonedItem = { ...item };
                            // 检查当前项是否有 children 属性
                            if (clonedItem.children) {
                                // 递归处理 children
                                clonedItem.children = addComponentToLastLevel(clonedItem.children);
                            } else {
                                // 如果没有 children 属性,说明是最后一级,添加 component 对象
                                clonedItem.component = clonedItem.path;
                            }
                            clonedItem.meta = {title: clonedItem.name,icon: "el-icon-takeaway-box", type: "menu"}
                            return clonedItem;
                        });
                    }
                    var transformedArray = addComponentToLastLevel(res.data);
                    transformedArray[0].path = "/home";
                    transformedArray[0].children = [{
                        component: "home",
                        meta: {title: "工作台", icon: 'el-icon-menu', affix: true},
                        name: "工作台",
                        path: "/dashboard"
                    }]
                    //结束
                    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", resp.data.menu)
                    this.$TOOL.data.set("PERMISSIONS", resp.data.permissions)
                    this.$TOOL.data.set("DASHBOARDGRID", resp.data.dashboardGrid)
                });
                    // this.$API.system.menu.myMenus.get().then(resp=> {
                    //     console.log(transformedArray,resp,1234);
                    //     Object.assign({},transformedArray,resp.data.menu);
                    //     this.$TOOL.data.set("MENU", obj.menu)
                    //     this.$TOOL.data.set("PERMISSIONS", obj.permissions)
                    //     this.$TOOL.data.set("DASHBOARDGRID", obj.dashboardGrid)
                    // });
                    this.$TOOL.data.set("MENU", obj.menu)
                    this.$TOOL.data.set("PERMISSIONS", obj.permissions)
                    this.$TOOL.data.set("DASHBOARDGRID", obj.dashboardGrid)
                })
                this.$router.replace({
                    path: '/'
                })