zhanghua
2022-10-28 d4ab8daa939334d634c5ccfe2ccac7d61d17a467
权限菜单加载--未完
6个文件已修改
306 ■■■■ 已修改文件
src/views/layout/components/Menu/index.vue 202 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/fivepack/shop/components/main/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/fivepack/threepack/components/main/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/systemSetting/baseSetting/department/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/systemSetting/baseSetting/role/updateUser/index.vue 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/systemSetting/baseSetting/user/components/main/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/layout/components/Menu/index.vue
@@ -6,6 +6,57 @@
      <el-scrollbar>
        <!-- 路由 -->
        <el-menu router class="el-menu-vertical" :default-active="$route.path" >
          <!-- <el-submenu
            :index="menu.url ? menu.url : menu.id.toString()"
            v-for="menu in menuList"
            :key="menu.id"
            class="firstMenu"
          >
            <template slot="title">
              <span slot="prefix" class="icon-padding fisrtSpan">
                <svg-icon :icon-class="menu.icon"></svg-icon>
              </span>
              <span class="fisrtSpan">{{ menu.title }}</span>
            </template>
            <template v-if="menu.children.length > 0">
              <el-submenu
                v-for="secondMenu in menu.children"
                :key="secondMenu.id"
                :index="
                  secondMenu.url ? secondMenu.url : secondMenu.id.toString()
                "
                class="secondMenu"
              >
                <template v-if="secondMenu.children.length > 0">
                  <template slot="title">
                    <span class="secondSpan">{{ secondMenu.title }}</span>
                  </template>
                  <el-menu-item
                    v-for="thirdMenu in secondMenu.children"
                    :key="thirdMenu.id"
                    :index="`${thirdMenu.id}`"
                    :route="{ name: thirdMenu.url }"
                    >{{ thirdMenu.title }}</el-menu-item
                  >
                </template>
                <el-menu-item
                  v-else
                  :key="secondMenu.id"
                  :index="`${secondMenu.id}`"
                  :route="{ name: secondMenu.url }"
                  >{{ secondMenu.title }}</el-menu-item
                >
              </el-submenu>
            </template>
            <el-menu-item
              v-else
              :key="menu.id"
              :index="`${menu.id}`"
              :route="{ name: menu.url }"
              >{{ menu.title }}</el-menu-item
            >
          </el-submenu> -->
          <!-- 系统设置模块 -->
          <el-submenu index="/home/system" class="firstMenu">
            <template slot="title">
@@ -21,29 +72,47 @@
                <span class="secondSpan">基本设置</span>
              </template>
              <!-- 用户管理 -->
              <el-menu-item index="/home/system/userSetting/user">用户管理</el-menu-item>
              <el-menu-item index="/home/system/userSetting/user"
                >用户管理</el-menu-item
              >
              <!-- 角色管理 -->
              <el-menu-item index="/home/system/userSetting/role">角色管理</el-menu-item>
              <el-menu-item index="/home/system/userSetting/role"
                >角色管理</el-menu-item
              >
              <!-- 部门管理 -->
              <el-menu-item index="/home/system/userSetting/department">部门管理</el-menu-item>
              <el-menu-item index="/home/system/userSetting/department"
                >部门管理</el-menu-item
              >
            </el-submenu>
            <!-- 平台设置 -->
            <el-submenu index="/home/system/platform" class="secondMenu">
              <template slot="title">
                <span class="secondSpan">门户管理</span>
              </template>
              <el-menu-item index="/home/system/platform/mySetting">自定义菜单</el-menu-item>
              <el-menu-item index="/home/system/platform/portalSetting">logo管理</el-menu-item>
              <el-menu-item index="/home/system/platform/otherInterface">第三方接口管理</el-menu-item>
              <el-menu-item index="/home/system/platform/mySetting"
                >自定义菜单</el-menu-item
              >
              <el-menu-item index="/home/system/platform/portalSetting"
                >logo管理</el-menu-item
              >
              <el-menu-item index="/home/system/platform/otherInterface"
                >第三方接口管理</el-menu-item
              >
            </el-submenu>
            <!-- 设备管理 -->
            <el-submenu index="/home/system/device" class="secondMenu">
              <template slot="title">
                <span class="secondSpan">设备管理</span>
              </template>
              <el-menu-item index="/home/system/device/bayonet">卡口设备管理</el-menu-item>
              <el-menu-item index="/home/system/device/point">点位管理</el-menu-item>
              <el-menu-item index="/home/system/device/grid">网格管理</el-menu-item>
              <el-menu-item index="/home/system/device/bayonet"
                >卡口设备管理</el-menu-item
              >
              <el-menu-item index="/home/system/device/point"
                >点位管理</el-menu-item
              >
              <el-menu-item index="/home/system/device/grid"
                >网格管理</el-menu-item
              >
            </el-submenu>
          </el-submenu>
          <!-- 运营管理模块 -->
@@ -58,26 +127,44 @@
              <template slot="title">
                <span class="secondSpan">基础设置</span>
              </template>
              <el-menu-item index="/home/operate/baseSetting/violation">违规事项设置</el-menu-item>
              <el-menu-item index="/home/operate/baseSetting/illegalBuild">违建事项设置</el-menu-item>
              <el-menu-item index="/home/operate/baseSetting/violation"
                >违规事项设置</el-menu-item
              >
              <el-menu-item index="/home/operate/baseSetting/illegalBuild"
                >违建事项设置</el-menu-item
              >
              <!-- <el-menu-item index="/home/operate/baseSetting/threepack">门前三包设置</el-menu-item> -->
            </el-submenu>
            <el-submenu index="/home/operate/disposal" class="secondMenu">
              <template slot="title">
                <span class="secondSpan">事项处理管理</span>
              </template>
              <el-menu-item index="/home/operate/casepool/pool">案件池</el-menu-item>
              <el-menu-item index="/home/operate/casepool/escalation">上报管理</el-menu-item>
              <el-menu-item index="/home/operate/casepool/dispatch">调度管理</el-menu-item>
              <el-menu-item index="/home/operate/casepool/learn">再学习管理</el-menu-item>
              <el-menu-item index="/home/operate/casepool/notDeal">暂不处理</el-menu-item>
              <el-menu-item index="/home/operate/casepool/pool"
                >案件池</el-menu-item
              >
              <el-menu-item index="/home/operate/casepool/escalation"
                >上报管理</el-menu-item
              >
              <el-menu-item index="/home/operate/casepool/dispatch"
                >调度管理</el-menu-item
              >
              <el-menu-item index="/home/operate/casepool/learn"
                >再学习管理</el-menu-item
              >
              <el-menu-item index="/home/operate/casepool/notDeal"
                >暂不处理</el-menu-item
              >
            </el-submenu>
            <el-submenu index="/home/operate/management" class="secondMenu">
              <template slot="title">
                <span class="secondSpan">审核管理</span>
              </template>
              <el-menu-item index="/home/operate/management">审核管理</el-menu-item>
              <el-menu-item index="/home/operate/management/managementMessage">短信审核管理</el-menu-item>
              <el-menu-item index="/home/operate/management"
                >审核管理</el-menu-item
              >
              <el-menu-item index="/home/operate/management/managementMessage"
                >短信审核管理</el-menu-item
              >
              <!-- <el-menu-item index="/home/operate/baseSetting/threepack">门前三包设置</el-menu-item> -->
            </el-submenu>
            <el-menu-item index="/home/operate/myWait">我的待办</el-menu-item>
@@ -85,27 +172,47 @@
              <template slot="title">
                <span class="secondSpan">专项整治</span>
              </template>
              <el-menu-item index="/home/operate/rectification/taskList">任务列表</el-menu-item>
              <el-menu-item index="/home/operate/rectification/surveyList">普查列表</el-menu-item>
              <el-menu-item index="/home/operate/rectification/renovationList">整治列表</el-menu-item>
              <el-menu-item index="/home/operate/rectification/taskList"
                >任务列表</el-menu-item
              >
              <el-menu-item index="/home/operate/rectification/surveyList"
                >普查列表</el-menu-item
              >
              <el-menu-item index="/home/operate/rectification/renovationList"
                >整治列表</el-menu-item
              >
            </el-submenu>
            <el-menu-item index="/home/operate/lawEnforcement">巡查执法</el-menu-item>
            <el-menu-item index="/home/operate/lawEnforcement"
              >巡查执法</el-menu-item
            >
            <el-menu-item index="/home/operate/dasds">案卷查询</el-menu-item>
            <el-submenu index="/home/operate/fivepack" class="secondMenu">
              <template slot="title">
                <span class="secondSpan">门前五包处置管理</span>
              </template>
              <el-menu-item index="/home/operate/fivepack/threepackage">门前三包</el-menu-item>
              <el-menu-item index="/home/operate/fivepack/shop">店铺管理</el-menu-item>
              <el-menu-item index="/home/operate/fivepack/threepackage"
                >门前三包</el-menu-item
              >
              <el-menu-item index="/home/operate/fivepack/shop"
                >店铺管理</el-menu-item
              >
            </el-submenu>
            <el-menu-item index="/home/operate/dasdas">算法模型管理</el-menu-item>
            <el-menu-item index="/home/operate/dasdas"
              >算法模型管理</el-menu-item
            >
            <el-submenu index="/home/operate/car" class="secondMenu">
              <template slot="title">
                <span class="secondSpan">车辆管理</span>
              </template>
              <el-menu-item index="/home/operate/car/carIndex">车辆管理</el-menu-item>
              <el-menu-item index="/home/operate/car/lawTrajectory">轨迹分析(执法车)</el-menu-item>
              <el-menu-item index="/home/operate/car/soilTrajectory">轨迹分析(渣土车)</el-menu-item>
              <el-menu-item index="/home/operate/car/carIndex"
                >车辆管理</el-menu-item
              >
              <el-menu-item index="/home/operate/car/lawTrajectory"
                >轨迹分析(执法车)</el-menu-item
              >
              <el-menu-item index="/home/operate/car/soilTrajectory"
                >轨迹分析(渣土车)</el-menu-item
              >
            </el-submenu>
            <el-menu-item index="/home/operate">图片管理</el-menu-item>
            <el-menu-item index="/home/operate">视频管理</el-menu-item>
@@ -113,8 +220,12 @@
              <template slot="title">
                <span class="secondSpan">消息管理</span>
              </template>
              <el-menu-item index="/home/operate/message/messageIndex">消息管理</el-menu-item>
              <el-menu-item index="/home/operate/message/mycontrol">栏目管理</el-menu-item>
              <el-menu-item index="/home/operate/message/messageIndex"
                >消息管理</el-menu-item
              >
              <el-menu-item index="/home/operate/message/mycontrol"
                >栏目管理</el-menu-item
              >
            </el-submenu>
            <el-menu-item index="/home/operate">短信管理</el-menu-item>
            <el-menu-item index="/home/operate/log">日志管理</el-menu-item>
@@ -195,25 +306,38 @@
export default {
  data(){
    return{
    }
      menuList: [],
    };
  },
  created(){
    // this.getMenuList();
    this.loadMenu();
  },
  methods:{
    loadMenu() {
      const info = JSON.parse(sessionStorage.getItem("user"));
      var timer;
      if (info && info.menus) {
        clearTimeout(timer);
        this.menuList = info.menus;
        console.log(info.menus);
      } else {
        timer = setInterval(() => {
          this.loadMenu();
        }, 1000);
      }
    },
    // 获取菜单列表
    getMenuList(){
      let arr;
      this.$axios({
        method:'get',
        url:'sccg/system/portal/menu/search_myself'
      })
      .then(res=>{
        method: "get",
        url: "sccg/system/portal/menu/search_myself",
      }).then((res) => {
        console.log(res);
      })
    }
  }
      });
    },
  },
};
</script>
src/views/operate/fivepack/shop/components/main/index.vue
@@ -56,7 +56,7 @@
            search: "",
            dialogUpdate: false,
            userInfo: '',
            totalNum: 200,
            totalNum: 0,
            pageSize: 10,
            currentPage: 1,
            renderFlag: false,
src/views/operate/fivepack/threepack/components/main/index.vue
@@ -60,7 +60,7 @@
            dialogUpdate: false,
            updateFlag: false,
            userInfo: '',
            totalNum: 200,
            totalNum: 0,
            pageSize: 10,
            currentPage: 1,
            renderFlag: false,
src/views/systemSetting/baseSetting/department/index.vue
@@ -159,7 +159,7 @@
      dialogUpdate: false,
      updateFlag: false,
      userInfo: "",
      totalNum: 200,
      totalNum: 0,
      pageSize: 10,
      currentPage: 1,
      context: "",
src/views/systemSetting/baseSetting/role/updateUser/index.vue
@@ -4,8 +4,15 @@
            <div class="mainContent">
                <div class="my-tree">
                    <div class="my-tree__wrap">
                        <el-tree ref="tree" :data="roleList" :props="defaultProps" show-checkbox @check="handleCheck"
                            :default-checked-keys="checkedIds" default-expand-all node-key="id">
            <el-tree
              ref="tree"
              :data="roleList"
              :props="defaultProps"
              show-checkbox
              :default-checked-keys="checkedIds"
              default-expand-all
              node-key="id"
            >
                        </el-tree>
                    </div>
                    <!-- <div class="my-tree__bottom"></div> -->
@@ -24,20 +31,20 @@
    data() {
        return {
            role: {
                name: '',
                sort: '',
                description: '',
        name: "",
        sort: "",
        description: "",
            },
            roleList: [],
            defaultProps: {
                children: 'children',
                label: 'title'
        children: "children",
        label: "title",
            },
            treeLabel: '',
      treeLabel: "",
            treeId: 23,
            checkedIds: [],
            resCheckedIds: [],
        }
    };
    },
    created() {
        const that = this;
@@ -48,67 +55,70 @@
        // 获取系统菜单
        getMenuList() {
            this.$axios({
                method: 'get',
                url: 'sccg/menu/treeList',
            })
                .then(res => {
        method: "get",
        url: "sccg/menu/treeList",
      }).then((res) => {
                    this.roleList = res.data;
                })
      });
        },
        // 树形控件复选框点击事件
        handleCheck(data, checked) {
            console.log(checked.checkedKeys);
            this.checkedIds = checked.checkedKeys;
            console.log(this.checkedIds);
    //   console.log(checked.checkedKeys);
    //   this.checkedIds = checked.checkedKeys;
    //   console.log(this.checkedIds);
        },
        // 保存role
        saveRole() {
            this.resCheckedIds = [];
      let nodes = this.$refs.tree.getCheckedNodes(false, true);
            const { userInfo } = this;
            this.resCheckedIds = this.checkedIds;
      this.checkedIds = nodes.map((n) => n.id);
            this.$axios({
                method: 'post',
                url: 'sccg/role/allocMenu?roleId=' + userInfo.id + '&menuIds=' + this.checkedIds,
            })
                .then(res => {
        method: "post",
        url:
          "sccg/role/allocMenu?roleId=" +
          userInfo.id +
          "&menuIds=" +
          this.checkedIds,
      }).then((res) => {
                    if (res.code === 200) {
                        this.$message({
                            type: 'success',
                            message: '修改角色权限成功',
                        })
            type: "success",
            message: "修改角色权限成功",
          });
                        this.getRoleMenus(userInfo.id);
                        this.$emit('changeDialog', { flag: false });
                        this.getUserList();
          this.$emit("changeDialog", { flag: false });
        //   this.getUserList();
                    } else {
                        this.$message({
                            type: 'warning',
                            message: res.message
                        })
            type: "warning",
            message: res.message,
          });
                    }
                })
      });
            // this.$emit('changeDialog',{dialogUpdate:false});
        },
        // 消除role
        resetRole() {
            this.resCheckedIds = [];
            this.$emit('changeDialog', { dialogUpdate: false });
      this.$emit("changeDialog", { dialogUpdate: false });
        },
        // 获取角色菜单
        getRoleMenus(roleId) {
            this.$axios({
                method: 'get',
                url: `sccg/role/listMenu/${roleId}`
            })
                .then(res => {
        method: "get",
        url: `sccg/role/listMenu/${roleId}`,
      }).then((res) => {
                    this.checkedIds = [];
                    res.data.forEach(item => {
        res.data.forEach((item) => {
                        this.checkedIds.push(item.id);
                    })
                })
        }
        });
      });
    },
    props: ['userInfo', 'updateFlag', 'getUserList', 'changeDialog']
}
  },
  props: ["userInfo", "updateFlag", "getUserList", "changeDialog"],
};
</script>
<style lang="scss" scoped>
.updateUser {
src/views/systemSetting/baseSetting/user/components/main/index.vue
@@ -112,7 +112,7 @@
            dialogView:false,
            updateFlag: false,
            userInfo: '',
            totalNum: 200,
            totalNum: 0,
            pageSize: 10,
            currentPage: 1,
            renderFlag: false,