dingxin 6 년 전
부모
커밋
38b661a468
17개의 변경된 파일139개의 추가작업 그리고 75개의 파일을 삭제
  1. 13
    5
      CODE/smart-community/operate-api/src/main/java/com/community/huiju/service/impl/ToSysRoleServiceImpl.java
  2. 1
    0
      CODE/smart-community/operate-api/src/main/resources/mapper/ToSysRoleMapper.xml
  3. 1
    1
      CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/RoleController.java
  4. 6
    3
      CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/UserController.java
  5. 15
    2
      CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/RoleServiceImpl.java
  6. 20
    7
      CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/UserServiceImpl.java
  7. 3
    1
      CODE/smart-community/property-api/src/main/resources/mapper/UserMapper.xml
  8. 9
    0
      VUECODE/smart-operate-manage/src/permission.js
  9. 22
    23
      VUECODE/smart-operate-manage/src/views/account/user/addUser.vue
  10. 2
    2
      VUECODE/smart-operate-manage/src/views/account/user/edit.vue
  11. 9
    0
      VUECODE/smart-property-manage/src/permission.js
  12. 12
    9
      VUECODE/smart-property-manage/src/store/modules/user.js
  13. 8
    7
      VUECODE/smart-property-manage/src/views/account/add/role-add.vue
  14. 11
    7
      VUECODE/smart-property-manage/src/views/account/edit/role-edit.vue
  15. 2
    2
      VUECODE/smart-property-manage/src/views/account/role.vue
  16. 2
    2
      VUECODE/smart-property-manage/src/views/account/user/addUser.vue
  17. 3
    4
      VUECODE/smart-property-manage/src/views/account/user/editUser.vue

+ 13
- 5
CODE/smart-community/operate-api/src/main/java/com/community/huiju/service/impl/ToSysRoleServiceImpl.java 파일 보기

169
             return responseBean;
169
             return responseBean;
170
         }
170
         }
171
 
171
 
172
+        // 根据角色名称查询
173
+        ToSysRole selectRole = toSysRoleMapper.selectByRoleName(roleName);
174
+        // 如果 selectRole 不等于null, 并且 toSysRole 的id 和 selectRole 的id 不相等
175
+        if (null != selectRole && toSysRole.getId().intValue() != selectRole.getId().intValue()) {
176
+            responseBean.addError("角色已存在!");
177
+            return responseBean;
178
+        }
179
+
172
         toSysRole.setRoleName(roleName);
180
         toSysRole.setRoleName(roleName);
173
         toSysRole.setDescription(description);
181
         toSysRole.setDescription(description);
174
         toSysRole.setUpdateDate(new Date());
182
         toSysRole.setUpdateDate(new Date());
198
             if (null == toSysRole) {
206
             if (null == toSysRole) {
199
                 throw new WisdomException("删除失败, 角色编号 " + e + " 不存在!");
207
                 throw new WisdomException("删除失败, 角色编号 " + e + " 不存在!");
200
             }
208
             }
201
-            toSysRole.setStatus("0");
202
-            toSysRole.setUpdateUser(userElement.getId());
203
-            toSysRole.setUpdateDate(new Date());
204
-            toSysRoleMapper.updateByPrimaryKeySelective(toSysRole);
209
+            // 删除这个角色
210
+            toSysRoleMapper.deleteByPrimaryKey(e);
211
+            // 删除角色和菜单关联关系
212
+            toSysRoleMenuMapper.deleteByRoleId(e);
205
         });
213
         });
206
-        // 删除这个角色关联关系
214
+        // 删除这个角色和用户关联关系
207
         toSysUserRoleMapper.deleteByRoleId(ids);
215
         toSysUserRoleMapper.deleteByRoleId(ids);
208
 
216
 
209
         responseBean.addSuccess("操作成功!");
217
         responseBean.addSuccess("操作成功!");

+ 1
- 0
CODE/smart-community/operate-api/src/main/resources/mapper/ToSysRoleMapper.xml 파일 보기

141
       <if test="roleName != null and roleName != ''">
141
       <if test="roleName != null and roleName != ''">
142
         and role_name like concat('%',#{roleName,jdbcType=VARCHAR},'%')
142
         and role_name like concat('%',#{roleName,jdbcType=VARCHAR},'%')
143
       </if>
143
       </if>
144
+      order by create_date DESC
144
     </where>
145
     </where>
145
   </select>
146
   </select>
146
 
147
 

+ 1
- 1
CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/RoleController.java 파일 보기

83
 		return responseBean;
83
 		return responseBean;
84
 	}
84
 	}
85
 	
85
 	
86
-	@ApiOperation(value = "添加角色", notes = "添加角色")
86
+	@ApiOperation(value = "修改角色", notes = "修改角色")
87
 	@ApiImplicitParams({
87
 	@ApiImplicitParams({
88
 			@ApiImplicitParam(paramType = "path", dataTypeClass = Integer.class, name = "id", value = "角色id"),
88
 			@ApiImplicitParam(paramType = "path", dataTypeClass = Integer.class, name = "id", value = "角色id"),
89
 			@ApiImplicitParam(paramType = "header", dataTypeClass = String.class, name = "X-Auth-Token", value = "Token"),
89
 			@ApiImplicitParam(paramType = "header", dataTypeClass = String.class, name = "X-Auth-Token", value = "Token"),

+ 6
- 3
CODE/smart-community/property-api/src/main/java/com/community/huiju/controller/UserController.java 파일 보기

64
 				jsonObject.getInteger("communityId"),
64
 				jsonObject.getInteger("communityId"),
65
 				jsonObject.getString("code"));
65
 				jsonObject.getString("code"));
66
 
66
 
67
-		UserVO userVO = (UserVO)responseBean.getData();
68
-		setUserElement(session,userVO);
69
-		userVO.setToken(session.getId());
67
+		// 为 0 表示成功
68
+		if ("0".equals(responseBean.getCode())) {
69
+			UserVO userVO = (UserVO)responseBean.getData();
70
+			setUserElement(session,userVO);
71
+			userVO.setToken(session.getId());
72
+		}
70
 
73
 
71
 		return responseBean;
74
 		return responseBean;
72
 	}
75
 	}

+ 15
- 2
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/RoleServiceImpl.java 파일 보기

8
 import com.community.commom.session.UserElement;
8
 import com.community.commom.session.UserElement;
9
 import com.community.huiju.dao.RoleMapper;
9
 import com.community.huiju.dao.RoleMapper;
10
 import com.community.huiju.dao.SysRoleMenuMapper;
10
 import com.community.huiju.dao.SysRoleMenuMapper;
11
+import com.community.huiju.dao.SysUserRoleMapper;
11
 import com.community.huiju.model.SysRole;
12
 import com.community.huiju.model.SysRole;
12
 import com.community.huiju.model.SysRoleMenu;
13
 import com.community.huiju.model.SysRoleMenu;
14
+import com.community.huiju.model.SysUserRole;
13
 import com.community.huiju.model.TpTransaction;
15
 import com.community.huiju.model.TpTransaction;
14
 import com.community.huiju.service.RoleServiceI;
16
 import com.community.huiju.service.RoleServiceI;
15
 import com.google.common.collect.Maps;
17
 import com.google.common.collect.Maps;
35
 	
37
 	
36
 	@Autowired
38
 	@Autowired
37
 	private SysRoleMenuMapper sysRoleMenuMapper;
39
 	private SysRoleMenuMapper sysRoleMenuMapper;
40
+
41
+	@Autowired
42
+	private SysUserRoleMapper sysUserRoleMapper;
43
+
38
 	/**
44
 	/**
39
 	 * 获取角色列表
45
 	 * 获取角色列表
40
 	 *
46
 	 *
76
 		LocalDateTime dateTime = LocalDateTime.now();
82
 		LocalDateTime dateTime = LocalDateTime.now();
77
 		sysRole.setCreateUser(userId);
83
 		sysRole.setCreateUser(userId);
78
 		sysRole.setCreateDate(dateTime);
84
 		sysRole.setCreateDate(dateTime);
79
-		sysRole.setUpdateUser(userId);
80
-		sysRole.setUpdateDate(dateTime);
81
 		//校验角色名不能相同
85
 		//校验角色名不能相同
82
 		SysRole checkSysRole = roleMapper.selectByRoleName(sysRole.getRoleName());
86
 		SysRole checkSysRole = roleMapper.selectByRoleName(sysRole.getRoleName());
83
 		if (null != checkSysRole){
87
 		if (null != checkSysRole){
103
 	private int addSysRoleMenu(SysRole sysRole) {
107
 	private int addSysRoleMenu(SysRole sysRole) {
104
 		List<SysRoleMenu> sysRoleMenuList = new ArrayList<SysRoleMenu>();
108
 		List<SysRoleMenu> sysRoleMenuList = new ArrayList<SysRoleMenu>();
105
 		List<Integer> menuIdList = sysRole.getMenuArray();
109
 		List<Integer> menuIdList = sysRole.getMenuArray();
110
+
106
 		menuIdList.stream().forEach(menuId -> {
111
 		menuIdList.stream().forEach(menuId -> {
107
 			SysRoleMenu sysRoleMenu = new SysRoleMenu();
112
 			SysRoleMenu sysRoleMenu = new SysRoleMenu();
108
 			sysRoleMenu.setCommunityId(sysRole.getCommunityId());
113
 			sysRoleMenu.setCommunityId(sysRole.getCommunityId());
170
 		queryWrapper.eq("role_id", sysRole.getId());
175
 		queryWrapper.eq("role_id", sysRole.getId());
171
 		queryWrapper.eq("community_id", sysRole.getCommunityId());
176
 		queryWrapper.eq("community_id", sysRole.getCommunityId());
172
 		sysRoleMenuMapper.delete(queryWrapper);
177
 		sysRoleMenuMapper.delete(queryWrapper);
178
+
173
 		//重新添加
179
 		//重新添加
174
 		int count = addSysRoleMenu(sysRole);
180
 		int count = addSysRoleMenu(sysRole);
175
 		if (count < 1){
181
 		if (count < 1){
203
 			queryWrapper.eq("role_id", roleId);
209
 			queryWrapper.eq("role_id", roleId);
204
 			queryWrapper.eq("community_id", userElement.getCommunityId());
210
 			queryWrapper.eq("community_id", userElement.getCommunityId());
205
 			sysRoleMenuMapper.delete(queryWrapper);
211
 			sysRoleMenuMapper.delete(queryWrapper);
212
+
213
+			// 删除角色和用户关系
214
+			QueryWrapper<SysUserRole> deleteQueryWrapper = new QueryWrapper<>();
215
+			deleteQueryWrapper.eq("role_id", roleId);
216
+			deleteQueryWrapper.eq("community_id", userElement.getCommunityId());
217
+			sysUserRoleMapper.delete(deleteQueryWrapper);
206
 		});
218
 		});
219
+
207
 		responseBean.addSuccess(size);
220
 		responseBean.addSuccess(size);
208
 		return responseBean;
221
 		return responseBean;
209
 	}
222
 	}

+ 20
- 7
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/UserServiceImpl.java 파일 보기

21
 import com.google.common.collect.Lists;
21
 import com.google.common.collect.Lists;
22
 import lombok.extern.slf4j.Slf4j;
22
 import lombok.extern.slf4j.Slf4j;
23
 import com.google.common.collect.Maps;
23
 import com.google.common.collect.Maps;
24
+import org.apache.commons.collections.CollectionUtils;
24
 import org.apache.commons.lang.StringUtils;
25
 import org.apache.commons.lang.StringUtils;
25
 import org.springframework.beans.BeanUtils;
26
 import org.springframework.beans.BeanUtils;
26
 import org.springframework.beans.factory.annotation.Autowired;
27
 import org.springframework.beans.factory.annotation.Autowired;
75
             responseBean.addError("当前手机号不存在, 请联系运营人员!");
76
             responseBean.addError("当前手机号不存在, 请联系运营人员!");
76
             return responseBean;
77
             return responseBean;
77
         }
78
         }
79
+        if ("0".equals(user.getStatus())) {
80
+            responseBean.addError("您的账号已停用!");
81
+            return responseBean;
82
+        }
78
 
83
 
79
         UserVO userVO = new UserVO();
84
         UserVO userVO = new UserVO();
80
         // 查询该用户的权限
85
         // 查询该用户的权限
120
         // 查询该用户的权限
125
         // 查询该用户的权限
121
         // 获取用户权限
126
         // 获取用户权限
122
         getUserRole(user,userVO);
127
         getUserRole(user,userVO);
123
-        
124
-        // 菜单权限
125
-        userVO.setPermissionList(getPermission(userElement));
126
 
128
 
127
         responseBean.addSuccess(userVO);
129
         responseBean.addSuccess(userVO);
128
 
130
 
146
         Map<String, Object> map = Maps.newHashMap();
148
         Map<String, Object> map = Maps.newHashMap();
147
         map.put("userId", user.getId());
149
         map.put("userId", user.getId());
148
         List<TpSysRole> tpSysRoleList = tpSysRoleMapper.selectByUserIdAndRoleId(map);
150
         List<TpSysRole> tpSysRoleList = tpSysRoleMapper.selectByUserIdAndRoleId(map);
151
+        if (CollectionUtils.isNotEmpty(tpSysRoleList)) {
152
+            userVO.setRoles(tpSysRoleList);
153
+            // 菜单权限
154
+            userVO.setPermissionList(getPermission(userVO.getId(), userVO.getCommunityId()));
155
+        } else {
156
+            TpSysRole tpSysRole = new TpSysRole();
157
+            tpSysRole.setRoleName("没有角色!");
158
+            userVO.setRoles(Arrays.asList(tpSysRole));
159
+            userVO.setPermissionList(Collections.EMPTY_LIST);
160
+        }
149
 
161
 
150
-        userVO.setRoles(tpSysRoleList);
151
     }
162
     }
152
 
163
 
153
     /**
164
     /**
311
                 SysUserRole sysUserRole = new SysUserRole();
322
                 SysUserRole sysUserRole = new SysUserRole();
312
                 sysUserRole.setUserId(user.getId());
323
                 sysUserRole.setUserId(user.getId());
313
                 sysUserRole.setRoleId(roleID);
324
                 sysUserRole.setRoleId(roleID);
325
+                sysUserRole.setCommunityId(communityId);
314
                 sysUserRoleMapper.insert(sysUserRole);
326
                 sysUserRoleMapper.insert(sysUserRole);
315
             }
327
             }
316
         }
328
         }
360
     /**
372
     /**
361
      * 获取当前用户的权限列表
373
      * 获取当前用户的权限列表
362
      *
374
      *
363
-     * @param userElement
375
+     * @param userId
376
+     * @param communityId
364
      * @return
377
      * @return
365
      */
378
      */
366
-    public List<Map<String, Object>> getPermission(UserElement userElement) {
379
+    public List<Map<String, Object>> getPermission(Integer userId, Integer communityId) {
367
         List<Map<String,Object>> permissionList = new ArrayList<>();
380
         List<Map<String,Object>> permissionList = new ArrayList<>();
368
-        permissionList = userMapper.getPermission(userElement.getId(),userElement.getCommunityId());
381
+        permissionList = userMapper.getPermission(userId,communityId);
369
         //构造id集合
382
         //构造id集合
370
         List<String> parentIdList = new ArrayList<>();
383
         List<String> parentIdList = new ArrayList<>();
371
         permissionList.forEach(e -> {
384
         permissionList.forEach(e -> {

+ 3
- 1
CODE/smart-community/property-api/src/main/resources/mapper/UserMapper.xml 파일 보기

127
 
127
 
128
     <select id="selectByPermissionList" resultType="java.util.Map">
128
     <select id="selectByPermissionList" resultType="java.util.Map">
129
         SELECT id,menu_name as menuName,menu_url as menuUrl,parent_id FROM tp_sys_menu WHERE id in
129
         SELECT id,menu_name as menuName,menu_url as menuUrl,parent_id FROM tp_sys_menu WHERE id in
130
-        <foreach item="item" index="index" collection="array" open="(" separator="," close=")">
130
+        (
131
+        <foreach item="item" index="index" collection="array" separator=",">
131
         #{item}
132
         #{item}
132
         </foreach>
133
         </foreach>
134
+        )
133
     </select>
135
     </select>
134
 </mapper>
136
 </mapper>

+ 9
- 0
VUECODE/smart-operate-manage/src/permission.js 파일 보기

24
               if (router.name === permission['menuUrl']) {
24
               if (router.name === permission['menuUrl']) {
25
                 rounterMap.push(router)
25
                 rounterMap.push(router)
26
               }
26
               }
27
+              // 子节点匹配
28
+              router.children.forEach(children => {
29
+                if (children.name === permission['menuUrl']) {
30
+                  // 如果包含, 防止和上面重复添加, 不包含的时候添加一次
31
+                  if (!rounterMap.includes(router)) {
32
+                    rounterMap.push(router)
33
+                  }
34
+                }
35
+              })
27
             })
36
             })
28
           })
37
           })
29
 
38
 

+ 22
- 23
VUECODE/smart-operate-manage/src/views/account/user/addUser.vue 파일 보기

1
 <template>
1
 <template>
2
   <div id="root">
2
   <div id="root">
3
     <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
3
     <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
4
-      <el-form-item label="名" prop="userName">
4
+      <el-form-item label="名" prop="userName">
5
         <el-input v-model="ruleForm.userName"/>
5
         <el-input v-model="ruleForm.userName"/>
6
       </el-form-item>
6
       </el-form-item>
7
-     <el-form-item class="filter-item" label="手机号" prop="loginName" >
7
+      <el-form-item class="filter-item" label="手机号" prop="loginName" >
8
         <el-input v-model.trim="ruleForm.loginName" onkeyup="this.value=this.value.replace(/\D/g,'')" placeholder="手机号" />
8
         <el-input v-model.trim="ruleForm.loginName" onkeyup="this.value=this.value.replace(/\D/g,'')" placeholder="手机号" />
9
       </el-form-item>
9
       </el-form-item>
10
       <el-form-item label="角色" prop="menuArray">
10
       <el-form-item label="角色" prop="menuArray">
37
       ruleForm: {
37
       ruleForm: {
38
         id: '',
38
         id: '',
39
         userName: '',
39
         userName: '',
40
-        loginName:'',
40
+        loginName: '',
41
         remark: '',
41
         remark: '',
42
         roleName: '',
42
         roleName: '',
43
         createUser: '',
43
         createUser: '',
62
         ],
62
         ],
63
         menuArray: [
63
         menuArray: [
64
           { required: true, message: '请选择角色', trigger: 'blur' }
64
           { required: true, message: '请选择角色', trigger: 'blur' }
65
-        ],        
65
+        ]
66
       }
66
       }
67
     }
67
     }
68
   },
68
   },
69
   mounted() {
69
   mounted() {
70
-     this.getById()
70
+    this.getById()
71
   },
71
   },
72
   methods: {
72
   methods: {
73
     submitForm(formName) {
73
     submitForm(formName) {
74
-      
75
       // 获取选中的树形节点 key
74
       // 获取选中的树形节点 key
76
       this.ruleForm.menuArray = this.$refs.tree.getCheckedKeys()
75
       this.ruleForm.menuArray = this.$refs.tree.getCheckedKeys()
77
       this.$refs[formName].validate((valid) => {
76
       this.$refs[formName].validate((valid) => {
82
           background: 'rgba(0, 0, 0, 0.7)'
81
           background: 'rgba(0, 0, 0, 0.7)'
83
         })
82
         })
84
         if (valid) {
83
         if (valid) {
85
-          console.log('this.roleName',this.roleName)
84
+          console.log('this.roleName', this.roleName)
86
           this.$store.dispatch('AddUser', this.ruleForm).then((res) => {
85
           this.$store.dispatch('AddUser', this.ruleForm).then((res) => {
87
-            if(this.ruleForm.menuArray.length<=0){
88
-               this.$message.error('请选择角色')
89
-               loading.close()
90
-               console.log('this.ruleForm.menuArray',this.ruleForm.menuArray)
91
-               return
86
+            if (this.ruleForm.menuArray.length <= 0) {
87
+              this.$message.error('请选择角色')
88
+              loading.close()
89
+              console.log('this.ruleForm.menuArray', this.ruleForm.menuArray)
90
+              return
92
             }
91
             }
93
             const resCode = res.code
92
             const resCode = res.code
94
-            this.ruleForm.id=''
93
+            this.ruleForm.id = ''
95
             if (resCode === '0') {
94
             if (resCode === '0') {
96
               this.$message({
95
               this.$message({
97
                 message: res.message,
96
                 message: res.message,
99
               })
98
               })
100
               loading.close()
99
               loading.close()
101
               this.$router.push({ name: 'user-index' })
100
               this.$router.push({ name: 'user-index' })
102
-            }else{
101
+            } else {
103
               this.$message.error(res.message)
102
               this.$message.error(res.message)
104
             }
103
             }
105
           }).catch(() => {
104
           }).catch(() => {
126
         console.log('error GetMenuList')
125
         console.log('error GetMenuList')
127
       })
126
       })
128
     },
127
     },
129
-    getById(){
130
-    this.$store.dispatch('UserRoleById', this.ruleForm).then((res) => {
131
-      this.menuData = res.data.list
132
-      console.log(this.menuData)
133
-    }).catch(() => {
134
-      console.log('error UserRoleById')
135
-    })
136
-}
137
-  }
128
+    getById() {
129
+      this.$store.dispatch('UserRoleById', this.ruleForm).then((res) => {
130
+        this.menuData = res.data.list
131
+        console.log(this.menuData)
132
+      }).catch(() => {
133
+        console.log('error UserRoleById')
134
+      })
135
+    }
138
   }
136
   }
137
+}
139
 </script>
138
 </script>
140
 
139
 
141
 <style scoped>
140
 <style scoped>

+ 2
- 2
VUECODE/smart-operate-manage/src/views/account/user/edit.vue 파일 보기

1
 <template>
1
 <template>
2
   <div id="root">
2
   <div id="root">
3
     <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
3
     <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
4
-      <el-form-item label="名" prop="userName">
4
+      <el-form-item label="名" prop="userName">
5
         <el-input v-model="ruleForm.userName"/>
5
         <el-input v-model="ruleForm.userName"/>
6
       </el-form-item>
6
       </el-form-item>
7
       <el-form-item class="filter-item" label="手机号" prop="loginName" >
7
       <el-form-item class="filter-item" label="手机号" prop="loginName" >
91
             }
91
             }
92
           console.log('this.roleName',this.roleName)
92
           console.log('this.roleName',this.roleName)
93
           this.$store.dispatch('UpDate', this.ruleForm).then((res) => {
93
           this.$store.dispatch('UpDate', this.ruleForm).then((res) => {
94
-            
94
+
95
             const resCode = res.code
95
             const resCode = res.code
96
             if (resCode === '0') {
96
             if (resCode === '0') {
97
               this.$message({
97
               this.$message({

+ 9
- 0
VUECODE/smart-property-manage/src/permission.js 파일 보기

24
               if (router.name === permission['menuUrl']) {
24
               if (router.name === permission['menuUrl']) {
25
                 rounterMap.push(router)
25
                 rounterMap.push(router)
26
               }
26
               }
27
+              // 子节点匹配
28
+              router.children.forEach(children => {
29
+                if (children.name === permission['menuUrl']) {
30
+                  // 如果不包含, 防止和上面重复添加
31
+                  if (!rounterMap.includes(router)) {
32
+                    rounterMap.push(router)
33
+                  }
34
+                }
35
+              })
27
             })
36
             })
28
           })
37
           })
29
 
38
 

+ 12
- 9
VUECODE/smart-property-manage/src/store/modules/user.js 파일 보기

35
       const username = data.username.trim()
35
       const username = data.username.trim()
36
       return new Promise((resolve, reject) => {
36
       return new Promise((resolve, reject) => {
37
         login(username, data.password, data.communityId).then(response => {
37
         login(username, data.password, data.communityId).then(response => {
38
-          const data = response.data
39
-          console.log('登陆后的数据的Token', data.token)
40
-          setToken(data.token)
41
-          commit('SET_TOKEN', data.token)
38
+          console.log('login: ', response)
39
+          if (response.code === '0') {
40
+            const data = response.data
41
+            setToken(data.token)
42
+            commit('SET_TOKEN', data.token)
43
+          }
42
           resolve(response)
44
           resolve(response)
43
         }).catch(error => {
45
         }).catch(error => {
44
           reject(error)
46
           reject(error)
51
       return new Promise((resolve, reject) => {
53
       return new Promise((resolve, reject) => {
52
         getInfo().then(response => {
54
         getInfo().then(response => {
53
           const data = response.data
55
           const data = response.data
54
-          if (data.roles && data.roles.length > 0) { // 验证返回的roles是否是一个非空数组
55
-            commit('SET_ROLES', data.roles)
56
-          } else {
57
-            reject('getInfo: roles must be a non-null array !')
58
-          }
56
+          // if (data.roles && data.roles.length > 0) { // 验证返回的roles是否是一个非空数组
57
+          //   commit('SET_ROLES', data.roles)
58
+          // } else {
59
+          //   reject('getInfo: roles must be a non-null array !')
60
+          // }
61
+          commit('SET_ROLES', data.roles)
59
           commit('SET_NAME', data.userName)
62
           commit('SET_NAME', data.userName)
60
           commit('SET_AVATAR', data.loginName)
63
           commit('SET_AVATAR', data.loginName)
61
           commit('SET_USER_DATA', data)
64
           commit('SET_USER_DATA', data)

+ 8
- 7
VUECODE/smart-property-manage/src/views/account/add/role-add.vue 파일 보기

11
         <el-tree
11
         <el-tree
12
           ref="tree"
12
           ref="tree"
13
           :data="menuList"
13
           :data="menuList"
14
+          :props="defaultProps"
14
           show-checkbox
15
           show-checkbox
15
-          node-key="id"
16
-          :props="defaultProps">
17
-        </el-tree>
18
-      </el-form-item> 
16
+          node-key="id"/>
17
+      </el-form-item>
19
       <el-form-item>
18
       <el-form-item>
20
         <el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button>
19
         <el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button>
21
         <el-button @click="resetForm('ruleForm')">重置</el-button>
20
         <el-button @click="resetForm('ruleForm')">重置</el-button>
47
           { required: true, message: '请输入角色名称', trigger: 'blur' }
46
           { required: true, message: '请输入角色名称', trigger: 'blur' }
48
         ],
47
         ],
49
         menuArray: [
48
         menuArray: [
50
-          { type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' }
51
         ]
49
         ]
52
       },
50
       },
53
       defaultProps: {
51
       defaultProps: {
56
       }
54
       }
57
     }
55
     }
58
   },
56
   },
59
-  created(){
57
+  created() {
60
     this.getMenuList()
58
     this.getMenuList()
61
   },
59
   },
62
   methods: {
60
   methods: {
69
     submitForm(formName) { // 提交
67
     submitForm(formName) { // 提交
70
       // 获取选中的树形节点 key
68
       // 获取选中的树形节点 key
71
       this.ruleForm.menuArray = this.$refs.tree.getCheckedKeys()
69
       this.ruleForm.menuArray = this.$refs.tree.getCheckedKeys()
72
-      console.log(this.ruleForm.menuArray)
70
+      if (this.ruleForm.menuArray.length < 1) {
71
+        this.$message.error('请至少选择一个菜单权限')
72
+        return
73
+      }
73
       this.$refs[formName].validate((valid) => {
74
       this.$refs[formName].validate((valid) => {
74
         if (valid) {
75
         if (valid) {
75
           this.addRole()
76
           this.addRole()

+ 11
- 7
VUECODE/smart-property-manage/src/views/account/edit/role-edit.vue 파일 보기

11
         <el-tree
11
         <el-tree
12
           ref="tree"
12
           ref="tree"
13
           :data="menuList"
13
           :data="menuList"
14
-          show-checkbox
15
-          node-key="id"
16
           :default-expanded-keys="ruleForm.menuArray"
14
           :default-expanded-keys="ruleForm.menuArray"
17
           :default-checked-keys="ruleForm.menuArray"
15
           :default-checked-keys="ruleForm.menuArray"
18
-          :props="defaultProps">
19
-        </el-tree>
20
-      </el-form-item> 
16
+          :props="defaultProps"
17
+          show-checkbox
18
+          node-key="id"/>
19
+      </el-form-item>
21
       <el-form-item>
20
       <el-form-item>
22
         <el-button type="primary" @click="submitForm('ruleForm')">修改</el-button>
21
         <el-button type="primary" @click="submitForm('ruleForm')">修改</el-button>
23
         <el-button @click="resetForm('ruleForm')">重置</el-button>
22
         <el-button @click="resetForm('ruleForm')">重置</el-button>
50
           { required: true, message: '请输入角色名称', trigger: 'blur' }
49
           { required: true, message: '请输入角色名称', trigger: 'blur' }
51
         ],
50
         ],
52
         menuArray: [
51
         menuArray: [
53
-          { type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' }
52
+          // { type: 'array', required: true, message: '请至少选择一个菜单权限', trigger: 'change' }
54
         ]
53
         ]
55
       },
54
       },
56
       defaultProps: {
55
       defaultProps: {
59
       }
58
       }
60
     }
59
     }
61
   },
60
   },
62
-  created(){
61
+  created() {
63
     this.ruleForm.id = this.$route.params.id
62
     this.ruleForm.id = this.$route.params.id
64
     this.getDataById()
63
     this.getDataById()
65
     this.getMenuList()
64
     this.getMenuList()
76
       // 获取选中的树形节点 key
75
       // 获取选中的树形节点 key
77
       this.ruleForm.menuArray = this.$refs.tree.getCheckedKeys()
76
       this.ruleForm.menuArray = this.$refs.tree.getCheckedKeys()
78
       console.log(this.ruleForm.menuArray)
77
       console.log(this.ruleForm.menuArray)
78
+      if (this.ruleForm.menuArray.length < 1) {
79
+        this.$message.error('请至少选择一个菜单权限')
80
+        return
81
+      }
82
+      console.log(this.ruleForm.menuArray)
79
       this.$refs[formName].validate((valid) => {
83
       this.$refs[formName].validate((valid) => {
80
         if (valid) {
84
         if (valid) {
81
           this.updateRole()
85
           this.updateRole()

+ 2
- 2
VUECODE/smart-property-manage/src/views/account/role.vue 파일 보기

10
       <el-button type="warning" @click="editRole">修改</el-button>
10
       <el-button type="warning" @click="editRole">修改</el-button>
11
       <el-button type="danger" @click="deleteRole">删除</el-button>
11
       <el-button type="danger" @click="deleteRole">删除</el-button>
12
     </div>
12
     </div>
13
-    
13
+
14
     <el-table
14
     <el-table
15
       v-loading="listLoading"
15
       v-loading="listLoading"
16
       :key="tableKey"
16
       :key="tableKey"
123
       this.FetchRoleList(this.listQuery).then(() => {
123
       this.FetchRoleList(this.listQuery).then(() => {
124
         this.listLoading = false
124
         this.listLoading = false
125
       }).catch(() => {
125
       }).catch(() => {
126
-        this.loading = false
126
+        this.listLoading = false
127
         console.log('get list error')
127
         console.log('get list error')
128
       })
128
       })
129
     },
129
     },

+ 2
- 2
VUECODE/smart-property-manage/src/views/account/user/addUser.vue 파일 보기

1
 <template>
1
 <template>
2
   <div id="root">
2
   <div id="root">
3
     <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
3
     <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
4
-      <el-form-item label="员工名称" prop="userName">
4
+      <el-form-item label="姓名" prop="userName">
5
         <el-input v-model="ruleForm.userName"/>
5
         <el-input v-model="ruleForm.userName"/>
6
       </el-form-item>
6
       </el-form-item>
7
      <el-form-item class="filter-item" label="手机号" prop="loginName" >
7
      <el-form-item class="filter-item" label="手机号" prop="loginName" >
55
       },
55
       },
56
       rules: {
56
       rules: {
57
         userName: [
57
         userName: [
58
-          { required: true, message: '名', trigger: 'blur' }
58
+          { required: true, message: '请输入姓名', trigger: 'blur' }
59
         ],
59
         ],
60
         loginName: [
60
         loginName: [
61
           { required: true, message: '请输入手机号', trigger: 'blur' }
61
           { required: true, message: '请输入手机号', trigger: 'blur' }

+ 3
- 4
VUECODE/smart-property-manage/src/views/account/user/editUser.vue 파일 보기

1
 <template>
1
 <template>
2
   <div id="root">
2
   <div id="root">
3
     <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
3
     <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
4
-       <el-form-item label="员工名称" prop="userName">
4
+       <el-form-item label="姓名" prop="userName">
5
           <el-input v-model="ruleForm.userName"/>
5
           <el-input v-model="ruleForm.userName"/>
6
        </el-form-item>
6
        </el-form-item>
7
     
7
     
55
         children: 'children'
55
         children: 'children'
56
       },
56
       },
57
       rules: {
57
       rules: {
58
-        roleName: [
59
-            { required: true, message: '请输入活动名称', trigger: 'blur' },
60
-            { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
58
+        userName: [
59
+            { required: true, message: '请输入姓名', trigger: 'blur' }
61
           ],
60
           ],
62
         loginName: [
61
         loginName: [
63
           { required: true, message: '请输入手机号', trigger: 'blur' }
62
           { required: true, message: '请输入手机号', trigger: 'blur' }