dingxin 6 jaren geleden
bovenliggende
commit
29b1bb447d

+ 42
- 1
CODE/smart-community/operate-api/src/main/java/com/community/huiju/controller/UserController.java Bestand weergeven

@@ -96,7 +96,7 @@ public class UserController extends BaseController {
96 96
         return responseBean;
97 97
     }
98 98
 
99
-    @ApiOperation(value = "用户成员列表", notes = "用户成员列表")
99
+    @ApiOperation(value = "添加成员", notes = "用户成员列表")
100 100
     @ApiImplicitParams({
101 101
             @ApiImplicitParam(paramType = "body",dataType = "String",name = "parameter",value = "loginName:手机号,userName:姓名" )
102 102
     })
@@ -107,5 +107,46 @@ public class UserController extends BaseController {
107 107
         return responseBean;
108 108
     }
109 109
 
110
+    @ApiOperation(value = "修改成员", notes = "修改成员")
111
+    @ApiImplicitParams({
112
+            @ApiImplicitParam(paramType = "body",dataType = "String",name = "parameter",value = "loginName:手机号,userName:姓名" )
113
+    })
114
+    @RequestMapping(value = "/user/upDate", method = RequestMethod.POST)
115
+    public ResponseBean upDate(@RequestBody String parameter,HttpSession session){
116
+        UserElement userElement = getUserElement(session);
117
+        ResponseBean  responseBean = iToUserService.upDate(parameter,userElement.getId());
118
+        return responseBean;
119
+    }
120
+
121
+    @ApiOperation(value = "查看成员详情", notes = "查看成员详情")
122
+    @ApiImplicitParams({
123
+            @ApiImplicitParam(paramType = "body",dataType = "String",name = "parameter" )
124
+    })
125
+    @RequestMapping(value = "/user/selectById", method = RequestMethod.POST)
126
+    public ResponseBean selectById(@RequestBody String parameter,HttpSession session){
127
+        UserElement userElement = getUserElement(session);
128
+        ResponseBean  responseBean = iToUserService.selectById(parameter,userElement.getId());
129
+        return responseBean;
130
+    }
131
+
132
+    @ApiOperation(value = "修改当前状态", notes = "修改当前状态")
133
+    @ApiImplicitParams({
134
+            @ApiImplicitParam(paramType = "body",dataType = "String",name = "parameter" )
135
+    })
136
+    @RequestMapping(value = "/user/upDateStatus", method = RequestMethod.POST)
137
+    public ResponseBean upDateStatus(@RequestBody String parameter,HttpSession session){
138
+        UserElement userElement = getUserElement(session);
139
+        ResponseBean  responseBean = iToUserService.upDateStatus(parameter,userElement.getId());
140
+        return responseBean;
141
+    }
142
+//    @ApiOperation(value = "得到所有角色", notes = "得到所有角色")
143
+//    @ApiImplicitParams({
144
+//            @ApiImplicitParam(paramType = "body",dataType = "String",name = "parameter" )
145
+//    })
146
+//    @RequestMapping(value = "/user/selectRole", method = RequestMethod.POST)
147
+//    public ResponseBean selectRole(@RequestBody String parameter){
148
+//        ResponseBean  responseBean = iToUserService.selectRole(parameter);
149
+//        return responseBean;
150
+//    }
110 151
 
111 152
 }

+ 3
- 0
CODE/smart-community/operate-api/src/main/java/com/community/huiju/dao/ToSysUserRoleMapper.java Bestand weergeven

@@ -2,6 +2,7 @@ package com.community.huiju.dao;
2 2
 
3 3
 import com.community.huiju.model.ToSysUserRole;
4 4
 import org.apache.ibatis.annotations.Mapper;
5
+import org.apache.ibatis.annotations.Param;
5 6
 
6 7
 @Mapper
7 8
 public interface ToSysUserRoleMapper {
@@ -16,4 +17,6 @@ public interface ToSysUserRoleMapper {
16 17
     int updateByPrimaryKeySelective(ToSysUserRole record);
17 18
 
18 19
     int updateByPrimaryKey(ToSysUserRole record);
20
+
21
+    void delete(@Param("userId") Integer userId);
19 22
 }

+ 9
- 0
CODE/smart-community/operate-api/src/main/java/com/community/huiju/dao/ToUserMapper.java Bestand weergeven

@@ -31,4 +31,13 @@ public interface ToUserMapper {
31 31
      * @return
32 32
      */
33 33
     String selectByIdUserName(Integer createUser);
34
+
35
+    List<ToUser> selectUser(@Param("id") Integer id);
36
+
37
+    /**
38
+     * 查询多个角色
39
+     * @return
40
+     */
41
+    List<ToUser>  selectRole(@Param("id") Integer id);
42
+
34 43
 }

+ 12
- 0
CODE/smart-community/operate-api/src/main/java/com/community/huiju/model/ToUser.java Bestand weergeven

@@ -42,6 +42,18 @@ public class ToUser {
42 42
      */
43 43
     private String updateNmae;
44 44
 
45
+    /**
46
+     * 角色id
47
+     */
48
+    private  String roleId;
49
+
50
+    public String getRoleId() {
51
+        return roleId;
52
+    }
53
+
54
+    public void setRoleId(String roleId) {
55
+        this.roleId = roleId;
56
+    }
45 57
 
46 58
     public String getCreateNmae() {
47 59
         return createNmae;

+ 29
- 0
CODE/smart-community/operate-api/src/main/java/com/community/huiju/service/IToUserService.java Bestand weergeven

@@ -37,4 +37,33 @@ public interface IToUserService {
37 37
      * @return
38 38
      */
39 39
     ResponseBean addUser(String parameter,Integer UserID);
40
+
41
+    /**
42
+     * 修改成员
43
+     * @param parameter
44
+     * @param id
45
+     * @return
46
+     */
47
+    ResponseBean upDate(String parameter, Integer id);
48
+
49
+    /**
50
+     * 查看成员详情
51
+     * @param parameter
52
+     * @param id
53
+     * @return
54
+     */
55
+    ResponseBean selectById(String parameter, Integer id);
56
+
57
+    /**
58
+     * 修改当前状态
59
+     * @param parameter
60
+     * @return
61
+     */
62
+    ResponseBean upDateStatus(String parameter,Integer userID);
63
+
64
+//    /**
65
+//     * 角色有多个
66
+//     * @return
67
+//     */
68
+//    ResponseBean selectRole(String parameter);
40 69
 }

+ 100
- 5
CODE/smart-community/operate-api/src/main/java/com/community/huiju/service/impl/ToUserServerImpl.java Bestand weergeven

@@ -23,9 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
23 23
 import org.springframework.stereotype.Service;
24 24
 
25 25
 import javax.security.auth.callback.TextOutputCallback;
26
-import java.util.Date;
27
-import java.util.List;
28
-import java.util.Map;
26
+import java.util.*;
29 27
 
30 28
 @Service("iToUserServer")
31 29
 @Slf4j
@@ -113,6 +111,8 @@ public class ToUserServerImpl implements IToUserService {
113 111
         List<ToUser> userList=toUserMapper.userList(loginName,userName);
114 112
 
115 113
         for (ToUser toUser:userList){
114
+            //查询当前所有角色
115
+            toUser.setRoleName(selectRole(toUser.getId()));
116 116
             // 创建人
117 117
             String createNmae=toUserMapper.selectByIdUserName(toUser.getCreateUser());
118 118
             // 修改人
@@ -137,8 +137,8 @@ public class ToUserServerImpl implements IToUserService {
137 137
 
138 138
         String loginName= object.getString("loginName");
139 139
         String userName = object.getString("userName");
140
-        JSONArray contentImg = object.getJSONArray("roleName");
141
-        Integer[] roleIDArray = contentImg.toArray(new Integer[]{});
140
+        JSONArray List = object.getJSONArray("menuArray");
141
+        Integer[] roleIDArray = List.toArray(new Integer[]{});
142 142
         String remark = object.getString("remark");
143 143
 
144 144
         toUser.setUserName(userName);
@@ -159,4 +159,99 @@ public class ToUserServerImpl implements IToUserService {
159 159
          response.addSuccess("成功");
160 160
         return response;
161 161
     }
162
+
163
+    @Override
164
+    public ResponseBean upDate(String parameter, Integer userID) {
165
+        ResponseBean response = new ResponseBean<>();
166
+        JSONObject object = JSONObject.parseObject(parameter);
167
+        ToUser toUser = new ToUser();
168
+
169
+        String loginName = object.getString("loginName");
170
+        Integer ID= object.getInteger("id");
171
+        String userName = object.getString("userName");
172
+        JSONArray List = object.getJSONArray("menuArray");
173
+        Integer[] roleIDArray = List.toArray(new Integer[]{});
174
+        String remark = object.getString("remark");
175
+
176
+        toUser.setUserName(userName);
177
+        toUser.setLoginName(loginName);
178
+        toUser.setRemark(remark);
179
+        toUser.setStatus("1");
180
+        toUser.setId(ID);
181
+        toUser.setUpdateUser(userID);
182
+        toUser.setUpdateDate(new Date());
183
+        toUserMapper.updateByPrimaryKey(toUser);
184
+
185
+        //会对应多个角色
186
+        if (null!=List) {
187
+            toSysUserRoleMapper.delete(ID);
188
+            for (Integer roleID : roleIDArray) {
189
+                ToSysUserRole toSysUserRole = new ToSysUserRole();
190
+                toSysUserRole.setUserId(toUser.getId());
191
+                toSysUserRole.setRoleId(roleID);
192
+                toSysUserRoleMapper.insert(toSysUserRole);
193
+            }
194
+        }
195
+        response.addSuccess("成功");
196
+        return response;
197
+    }
198
+
199
+    @Override
200
+    public ResponseBean selectById(String parameter, Integer userID) {
201
+        ResponseBean response= new ResponseBean<>();
202
+        JSONObject object= JSONObject.parseObject(parameter);
203
+        Integer ID= object.getInteger("id");
204
+        List<String> list=new ArrayList<String>();
205
+        List<ToUser> userList=toUserMapper.selectUser(ID);
206
+        for (ToUser toUser:userList){
207
+            list.add(toUser.getRoleId());
208
+        }
209
+         HashMap map= new HashMap<>();
210
+        map.put("userList",userList);
211
+        map.put("roleList",list);
212
+        response.addSuccess(map);
213
+        return response;
214
+    }
215
+
216
+    @Override
217
+    public ResponseBean upDateStatus(String parameter,Integer userID) {
218
+        ResponseBean response = new ResponseBean<>();
219
+        JSONObject object = JSONObject.parseObject(parameter);
220
+        Integer status = object.getInteger("status");
221
+        Integer id = object.getInteger("id");
222
+        ToUser toUser = new ToUser();
223
+        toUser.setId(id);
224
+        int st=status.intValue();
225
+        if (st==1){
226
+            toUser.setStatus("0");
227
+        }else if (st==0){
228
+            toUser.setStatus("1");
229
+        }
230
+        toUser.setUpdateUser(userID);
231
+        toUser.setUpdateDate(new Date());
232
+        toUserMapper.updateByPrimaryKey(toUser);
233
+        response.addSuccess("成功");
234
+        return response;
235
+    }
236
+
237
+    //查询多个角色转换为字符串
238
+    public String selectRole(Integer id) {
239
+        List<ToUser> toUser= toUserMapper.selectRole(id);
240
+        List<String> list=new ArrayList<String>();
241
+         for (ToUser user:toUser){
242
+             list.add(user.getRoleName());
243
+         }
244
+        String result = "";
245
+        if (list != null && list.size() > 0) {
246
+            for (String item : list) {
247
+                // 把列表中的每条数据用逗号分割开来,然后拼接成字符串
248
+                result += item + ",";
249
+
250
+            }
251
+            result = result.substring(0,result.length()-1);
252
+        }
253
+        return result;
254
+    }
255
+
256
+
162 257
 }

+ 5
- 0
CODE/smart-community/operate-api/src/main/resources/mapper/ToSysUserRoleMapper.xml Bestand weergeven

@@ -68,4 +68,9 @@
68 68
       role_id = #{roleId,jdbcType=INTEGER}
69 69
     where id = #{id,jdbcType=INTEGER}
70 70
   </update>
71
+
72
+  <delete id="delete" parameterType="java.lang.Integer" >
73
+    delete from to_sys_user_role
74
+    where user_id = #{userId,jdbcType=INTEGER}
75
+  </delete>
71 76
 </mapper>

+ 35
- 1
CODE/smart-community/operate-api/src/main/resources/mapper/ToUserMapper.xml Bestand weergeven

@@ -15,6 +15,7 @@
15 15
     <result column="update_user" property="updateUser" jdbcType="INTEGER" />
16 16
     <result column="update_date" property="updateDate" jdbcType="TIMESTAMP" />
17 17
     <result column="role_name" property="roleName" jdbcType="VARCHAR" />
18
+    <result column="role_id" property="roleId" jdbcType="VARCHAR" />
18 19
   </resultMap>
19 20
   <sql id="Base_Column_List" >
20 21
     id, user_name, login_name, login_password, email, head_portrait, remark, status, 
@@ -193,13 +194,13 @@
193 194
     tu.user_name,
194 195
     tu.remark,
195 196
     tu.login_name,
196
-    tu.remark,
197 197
     tu.status,
198 198
     tu.id
199 199
     FROM
200 200
     to_user tu
201 201
     LEFT JOIN to_sys_user_role ON tu.id = to_sys_user_role.user_id
202 202
     LEFT JOIN to_sys_role sr ON to_sys_user_role.role_id = sr.id
203
+    group by to_sys_user_role.user_id
203 204
     <where>
204 205
     <if test="loginName != null and loginName !=''" >
205 206
       and tu.login_name = #{loginName,jdbcType=VARCHAR}
@@ -218,4 +219,37 @@
218 219
     WHERE id=#{id,jdbcType=INTEGER}
219 220
   </select>
220 221
 
222
+  <select id="selectUser"  resultMap="BaseResultMap" >
223
+    SELECT
224
+    sr.role_name,
225
+    sr.description,
226
+    sr.create_user,
227
+    sr.create_date,
228
+    sr.update_date,
229
+    sr.update_user,
230
+    tu.user_name,
231
+    tu.remark,
232
+    tu.login_name,
233
+    tu.status,
234
+    tu.id,
235
+    to_sys_user_role.role_id
236
+    FROM
237
+    to_user tu
238
+    LEFT JOIN to_sys_user_role ON tu.id = to_sys_user_role.user_id
239
+    LEFT JOIN to_sys_role sr ON to_sys_user_role.role_id = sr.id
240
+    WHERE tu.id=#{id,jdbcType=INTEGER}
241
+  </select>
242
+  <select id="selectRole"  resultMap="BaseResultMap" parameterType="int">
243
+      SELECT
244
+          sr.role_name,
245
+          tu.remark,
246
+          tu.login_name,
247
+          tu.id,
248
+          to_sys_user_role.role_id
249
+      FROM
250
+          to_user tu
251
+      LEFT JOIN to_sys_user_role ON tu.id = to_sys_user_role.user_id
252
+      LEFT JOIN to_sys_role sr ON to_sys_user_role.role_id = sr.id
253
+      WHERE tu.id=#{id,jdbcType=INTEGER}
254
+  </select>
221 255
 </mapper>

+ 1
- 1
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/TpAnnouncementService.java Bestand weergeven

@@ -34,7 +34,7 @@ public interface TpAnnouncementService extends IService<TpAnnouncement> {
34 34
     ResponseBean announcementById(String paramets);
35 35
 
36 36
     /**
37
-     * 添加公告
37
+     * 修改公告
38 38
       * @param paramets
39 39
      * @return
40 40
      */

+ 54
- 1
VUECODE/smart-operate-manage/src/api/user.js Bestand weergeven

@@ -25,4 +25,57 @@ export function userRoleById(data) {
25 25
     }
26 26
   })
27 27
 }
28
-
28
+// 添加用户角色
29
+export function addUser(data) {
30
+  return request({
31
+    url: '/user/addUser',
32
+    method: 'post',
33
+    data: {
34
+      pageNum: data.pageNum,
35
+      pageSize: data.pageSize,
36
+      roleName: data.roleName,
37
+      remark: data.remark,
38
+      userName: data.userName,
39
+      loginName: data.loginName,
40
+      menuArray: data.menuArray
41
+    }
42
+  })
43
+}
44
+// 查看用户角色
45
+export function selectUser(data) {
46
+  return request({
47
+    url: '/user/selectById',
48
+    method: 'post',
49
+    data: {
50
+      id: data.id
51
+    }
52
+  })
53
+}
54
+// 修改用户角色
55
+export function upDate(data) {
56
+  return request({
57
+    url: '/user/upDate',
58
+    method: 'post',
59
+    data: {
60
+      id: data.id,
61
+      pageNum: data.pageNum,
62
+      pageSize: data.pageSize,
63
+      roleName: data.roleName,
64
+      remark: data.remark,
65
+      userName: data.userName,
66
+      loginName: data.loginName,
67
+      menuArray: data.menuArray
68
+    }
69
+  })
70
+}
71
+// 修改用户当前状态
72
+export function upDateStatus(data) {
73
+  return request({
74
+    url: '/user/upDateStatus',
75
+    method: 'post',
76
+    data: {
77
+      id: data.id,
78
+      status: data.status
79
+    }
80
+  })
81
+}

+ 7
- 0
VUECODE/smart-operate-manage/src/router/index.js Bestand weergeven

@@ -148,6 +148,13 @@ export const constantRouterMap = [
148 148
         name: 'user-addUser',
149 149
         hidden: true,
150 150
         meta: { title: '添加成员', icon: 'table' }
151
+      },
152
+      {
153
+        path: '/account/user/edit',
154
+        component: () => import('@/views/account/user/edit'),
155
+        name: 'user-edit',
156
+        hidden: true,
157
+        meta: { title: '添加成员', icon: 'table' }
151 158
       }
152 159
     ]
153 160
   },

+ 42
- 3
VUECODE/smart-operate-manage/src/store/modules/user.js Bestand weergeven

@@ -1,6 +1,6 @@
1 1
 import { login, logOut, getInfo, sendCode } from '@/api/login'
2 2
 import { getToken, setToken, removeToken } from '@/utils/auth'
3
-import { employeesList, userRoleById } from '@/api/user'
3
+import { employeesList, userRoleById, addUser, selectUser, upDate, upDateStatus, selectRole } from '@/api/user'
4 4
 
5 5
 const user = {
6 6
   state: {
@@ -112,7 +112,7 @@ const user = {
112 112
       })
113 113
     },
114 114
     // 查询角色 UserRoleById
115
-    UserRoleById({ commit, state }, data) { // 查询活动详情
115
+    UserRoleById({ commit, state }, data) {
116 116
       return new Promise((resolve, reject) => {
117 117
         userRoleById(data).then(response => {
118 118
           resolve(response)
@@ -120,8 +120,47 @@ const user = {
120 120
           reject(error)
121 121
         })
122 122
       })
123
+    },
124
+    // 添加成员角色
125
+    AddUser({ commit, state }, data) {
126
+      return new Promise((resolve, reject) => {
127
+        addUser(data).then(response => {
128
+          resolve(response)
129
+        }).catch(error => {
130
+          reject(error)
131
+        })
132
+      })
133
+    },
134
+    // 获取成员信息
135
+    SelectUser({ commit, state }, data) {
136
+      return new Promise((resolve, reject) => {
137
+        selectUser(data).then(response => {
138
+          resolve(response)
139
+        }).catch(error => {
140
+          reject(error)
141
+        })
142
+      })
143
+    },
144
+    // 修改成员信息
145
+    UpDate({ commit, state }, data) {
146
+      return new Promise((resolve, reject) => {
147
+        upDate(data).then(response => {
148
+          resolve(response)
149
+        }).catch(error => {
150
+          reject(error)
151
+        })
152
+      })
153
+    },
154
+    // 修改成员状态(停用或者启用)
155
+    UpDateStatus({ commit, state }, data) {
156
+      return new Promise((resolve, reject) => {
157
+        upDateStatus(data).then(response => {
158
+          resolve(response)
159
+        }).catch(error => {
160
+          reject(error)
161
+        })
162
+      })
123 163
     }
124 164
   }
125 165
 }
126
-
127 166
 export default user

+ 95
- 85
VUECODE/smart-operate-manage/src/views/account/user/addUser.vue Bestand weergeven

@@ -1,127 +1,137 @@
1 1
 <template>
2 2
   <div id="root">
3
-    <el-form ref="listQuery" :model="listQuery" :rules="rules" label-width="100px" class="demo-listQuery">
4
-      <el-form-item label="姓名:" prop="roleName">
5
-        <el-input v-model="listQuery.roleName"/>
3
+    <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
4
+      <el-form-item label="名称" prop="userName">
5
+        <el-input v-model="ruleForm.userName"/>
6 6
       </el-form-item>
7
-      <el-form-item label="手机号:" prop="description">
8
-        <el-input v-model="listQuery.description"/>
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="手机号" />
9 9
       </el-form-item>
10
-      <el-transfer
11
-    filterable
12
-    :titles="['所有角色', '已选角色']"
13
-    :left-default-checked="[2, 3]"
14
-    :filter-method="filterMethod"
15
-    filter-placeholder="请输角色名称"
16
-    v-model="value2"
17
-    :data="dataList"/>
18
-      <el-form-item label="备注:" prop="description">
19
-        <el-input v-model="listQuery.description"/>
10
+      <el-form-item label="角色" prop="menuArray">
11
+        <!-- default-expanded-keys 展示选中的
12
+             default-checked-keys 勾上选中的-->
13
+        <el-tree
14
+          ref="tree"
15
+          :data="menuData"
16
+          :default-expanded-keys="ruleForm.menuArray"
17
+          :default-checked-keys="ruleForm.menuArray"
18
+          :props="defaultProps"
19
+          show-checkbox
20
+          node-key="id"
21
+          @check-change="handleCheckChange"/>
22
+      </el-form-item>
23
+      <el-form-item label="备注" prop="remark">
24
+        <el-input v-model="ruleForm.remark"/>
20 25
       </el-form-item>
21 26
       <el-form-item>
22
-        <el-button type="primary">立即创建</el-button>
27
+        <el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button>
23 28
       </el-form-item>
24 29
     </el-form>
25 30
   </div>
26 31
 </template>
27 32
 
28 33
 <script>
29
-import { mapActions } from 'vuex'
30 34
 export default {
31 35
   data() {
32 36
     return {
33
-      listQuery: {
34
-        id: '',  
37
+      ruleForm: {
38
+        id: '',
39
+        userName: '',
40
+        loginName:'',
41
+        remark: '',
35 42
         roleName: '',
36
-        description: '',
37
-        menuArray: [], // 已选中的权限资源
43
+        createUser: '',
44
+        updateUser: '',
45
+        updateDate: '',
38 46
         pageNum: 1,
39
-        pageSize:100
47
+        pageSize: 10,
48
+        menuArray: [] // 已选中的权限资源
49
+      },
50
+      menuData: [], // 所有权限资源
51
+      defaultProps: { // 设置树形节点的渲染的属性
52
+        id: 'id',
53
+        label: 'roleName',
54
+        children: 'children'
40 55
       },
41
-       va3:[], 
42
-       value2:[1,4],
43
-       dataList:[],
44
-       citiesList:['上海', '北京', '广州', '深圳', '南京', '西安'],
45
-       pinyinList:['上海', '北京', '广州', '深圳', '南京', '西安', '成都'],
46 56
       rules: {
47 57
         roleName: [
48
-          { required: true, message: '请输入名称', trigger: 'blur' }
58
+          { required: true, message: '名称', trigger: 'blur' }
49 59
         ],
50
-        description: [
60
+        loginName: [
51 61
           { required: true, message: '请输入手机号', trigger: 'blur' }
52 62
         ],
63
+        
53 64
       }
54 65
     }
55 66
   },
56 67
   mounted() {
57
-      this.getById()
58
-    //    this.roleBox()
68
+     this.getById()
59 69
   },
60 70
   methods: {
61
-     getById() { // 根据ID获取活动信息
62
-    //   this.ruleForm.id = this.$route.params.id
63
-      this.$store.dispatch('UserRoleById', this.listQuery).then((res) => {
64
-            console.log('1111',res.data.list)
65
-             const iss= res.data.list
66
-
67
-    for (let i = 0; i < iss.length;i++) {
68
-          this.va3.push(iss[i].id)
69
-          console.log('this.va3',this.va3)
71
+    submitForm(formName) {
72
+      // 获取选中的树形节点 key
73
+      this.ruleForm.menuArray = this.$refs.tree.getCheckedKeys()
74
+      this.$refs[formName].validate((valid) => {
75
+        const loading = this.$loading({
76
+          lock: true,
77
+          text: 'Loading',
78
+          spinner: 'el-icon-loading',
79
+          background: 'rgba(0, 0, 0, 0.7)'
80
+        })
81
+        if (valid) {
82
+          console.log('this.roleName',this.roleName)
83
+          this.$store.dispatch('AddUser', this.ruleForm).then((res) => {
84
+            const resCode = res.code
85
+            this.ruleForm.id=''
86
+            if (resCode === '0') {
87
+              this.$message({
88
+                message: res.message,
89
+                type: 'success'
90
+              })
91
+              loading.close()
92
+              this.$router.push({ name: 'user-index' })
93
+            }
94
+          }).catch(() => {
95
+            console.log('error AddUser')
96
+            loading.close()
97
+          })
98
+        } else {
99
+          console.log('error submit!!')
100
+          loading.close()
101
+          return false
70 102
         }
71 103
       })
72 104
     },
73
-    roleBox(){
74
-        const generateData2 = _ => {
75
-        const data = this.dataList;
76
-        const cities = this.citiesList
77
-        const pinyin = this.pinyinList
78
-        cities.forEach((city, index) => {
79
-          data.push({
80
-            label: city,
81
-            key: index,
82
-            pinyin: pinyin[index]
83
-          });
84
-        });
85
-         console.log('data:',data)
86
-        return data;
87
-        this.filterMethod(query,item)
88
-      };
89
-      return {
90
-        data2: generateData2(),
91
-        }
92
-        this.filterMethod
93
-      },
94
-      filterMethod(query, item) {
95
-        //  console.log('item:',item)
96
-        const s = item.pinyin.indexOf(query) > -1;
97
-        //  console.log('this.value2:++',this.value2)
98
-        // console.log('this.value2:++',this.citiesList[2])
99
-        // console.log('this.value2:++',this.citiesList[4])
100
-        return s
101
-        },
102
-        // ss4(){
103
-        //   console.log('11111111111111111111')
104
-        //    console.log('this.checked:',this.checked)
105
-        // let value = this.value2
106
-        // for(let i=0;i < value.length;i++){
107
-        //      const va= this.value2[i]
108
-        //    console.log('根据下标遍历每一条数据',this.citiesList[va])
109
-        // }
110
-
111
-        // }
112
-  }    
105
+    resetForm(formName) {
106
+      this.$refs[formName].resetFields()
107
+    },
108
+    handleCheckChange(data, checked, indeterminate) { // 树形图选择事件
109
+      console.log(data, checked, indeterminate)
110
+    },
111
+    getMenuList() { // 获取 菜单列表
112
+      this.$store.dispatch('GetMenuList').then((res) => {
113
+        this.menuData = res.data
114
+      }).catch(() => {
115
+        console.log('error GetMenuList')
116
+      })
117
+    },
118
+    getById(){
119
+    this.$store.dispatch('UserRoleById', this.ruleForm).then((res) => {
120
+      this.menuData = res.data.list
121
+      console.log(this.menuData)
122
+    }).catch(() => {
123
+      console.log('error UserRoleById')
124
+    })
113 125
 }
126
+  }
127
+  }
114 128
 </script>
115 129
 
116 130
 <style scoped>
117
-.demo-listQuery {
131
+.demo-ruleForm {
118 132
   width: 500px;
119 133
   margin-top: 20px;
120 134
   margin-left: auto;
121 135
   margin-right: auto;
122 136
 }
123
-#button-checked{
124
-     float:right;
125
-     margin-right: 50px; 
126
-}
127 137
 </style>

+ 156
- 0
VUECODE/smart-operate-manage/src/views/account/user/edit.vue Bestand weergeven

@@ -0,0 +1,156 @@
1
+<template>
2
+  <div id="root">
3
+    <el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm">
4
+      <el-form-item label="名称" prop="userName">
5
+        <el-input v-model="ruleForm.userName"/>
6
+      </el-form-item>
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="手机号" />
9
+      </el-form-item>
10
+      <el-form-item label="角色" prop="menuArray">
11
+        <!-- default-expanded-keys 展示选中的
12
+             default-checked-keys 勾上选中的-->
13
+        <el-tree
14
+          ref="tree"
15
+          :data="menuData"
16
+          :default-expanded-keys="ruleForm.menuArray"
17
+          :default-checked-keys="ruleForm.menuArray"
18
+          :props="defaultProps"
19
+          show-checkbox
20
+          node-key="id"
21
+          @check-change="handleCheckChange"/>
22
+      </el-form-item>
23
+      <el-form-item label="备注" prop="remark">
24
+        <el-input v-model="ruleForm.remark"/>
25
+      </el-form-item>
26
+      <el-form-item>
27
+        <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button>
28
+      </el-form-item>
29
+    </el-form>
30
+  </div>
31
+</template>
32
+
33
+<script>
34
+export default {
35
+  data() {
36
+    return {
37
+      ruleForm: {
38
+        id: '',
39
+        userName: '',
40
+        loginName:'',
41
+        remark: '',
42
+        roleName: '',
43
+        createUser: '',
44
+        updateUser: '',
45
+        updateDate: '',
46
+        pageNum: 1,
47
+        pageSize: 10,
48
+        menuArray: [] // 已选中的权限资源
49
+      },
50
+      menuData: [], // 所有权限资源
51
+      defaultProps: { // 设置树形节点的渲染的属性
52
+        id: 'id',
53
+        label: 'roleName',
54
+        children: 'children'
55
+      },
56
+      rules: {
57
+        roleName: [
58
+          { required: true, message: '名称', trigger: 'blur' }
59
+        ],
60
+        loginName: [
61
+          { required: true, message: '请输入手机号', trigger: 'blur' }
62
+        ],
63
+        
64
+      }
65
+    }
66
+  },
67
+  mounted() {
68
+     this.selectUser(this.$route.params.id)
69
+     console.log('this.$route.params.id',this.$route.params.id)
70
+     this.getById()
71
+  },
72
+  methods: {
73
+    submitForm(formName) {
74
+      // 获取选中的树形节点 key
75
+      this.ruleForm.menuArray = this.$refs.tree.getCheckedKeys()
76
+      this.$refs[formName].validate((valid) => {
77
+        const loading = this.$loading({
78
+          lock: true,
79
+          text: 'Loading',
80
+          spinner: 'el-icon-loading',
81
+          background: 'rgba(0, 0, 0, 0.7)'
82
+        })
83
+        if (valid) {
84
+          console.log('this.roleName',this.roleName)
85
+          this.$store.dispatch('UpDate', this.ruleForm).then((res) => {
86
+            const resCode = res.code
87
+            if (resCode === '0') {
88
+              this.$message({
89
+                message: res.message,
90
+                type: 'success'
91
+              })
92
+              loading.close()
93
+              this.$router.push({ name: 'user-index' })
94
+            }
95
+          }).catch(() => {
96
+            console.log('error AddUser')
97
+            loading.close()
98
+          })
99
+        } else {
100
+          console.log('error submit!!')
101
+          loading.close()
102
+          return false
103
+        }
104
+      })
105
+    },
106
+    resetForm(formName) {
107
+      this.$refs[formName].resetFields()
108
+    },
109
+    handleCheckChange(data, checked, indeterminate) { // 树形图选择事件
110
+      console.log(data, checked, indeterminate)
111
+    },
112
+    getMenuList() { // 获取 菜单列表
113
+      this.$store.dispatch('GetMenuList').then((res) => {
114
+        this.menuData = res.data
115
+      }).catch(() => {
116
+        console.log('error GetMenuList')
117
+      })
118
+    },
119
+    getById(){
120
+    this.$store.dispatch('UserRoleById', this.ruleForm).then((res) => {
121
+      this.menuData = res.data.list
122
+      console.log(this.menuData)
123
+    }).catch(() => {
124
+      console.log('error UserRoleById')
125
+    })
126
+},
127
+  selectUser(id){
128
+    this.ruleForm.id=id
129
+    this.$store.dispatch('SelectUser', this.ruleForm).then((res) => {
130
+      // this.ruleForm.loginName = res.data.loginName
131
+      // this.ruleForm=res.data[0]
132
+        // this.ruleForm.loginName.push(res.data[0])
133
+        this.ruleForm.loginName=res.data.userList[0].loginName
134
+         this.ruleForm.userName=res.data.userList[0].userName
135
+         this.ruleForm.remark=res.data.userList[0].remark
136
+         this.ruleForm.menuArray=res.data.roleList
137
+        console.log('res.data',res.data)
138
+
139
+    }).catch(() => {
140
+      console.log('error SelectUser')
141
+    })
142
+
143
+
144
+  }
145
+  }
146
+  }
147
+</script>
148
+
149
+<style scoped>
150
+.demo-ruleForm {
151
+  width: 500px;
152
+  margin-top: 20px;
153
+  margin-left: auto;
154
+  margin-right: auto;
155
+}
156
+</style>

+ 46
- 25
VUECODE/smart-operate-manage/src/views/account/user/index.vue Bestand weergeven

@@ -14,7 +14,7 @@
14 14
     </el-form>
15 15
     <div class="button">
16 16
       <el-button type="primary" @click="addUser">添加</el-button>
17
-      <el-button type="warning" >修改</el-button>
17
+      <el-button type="warning" @click="upDate">修改</el-button>
18 18
     </div>
19 19
     <el-table
20 20
       v-loading="listLoading"
@@ -36,7 +36,7 @@
36 36
       <el-table-column prop="updateNmae" label="修改人" align="center"/>
37 37
       <el-table-column prop="updateDate" label="修改时间" align="center" ><template slot-scope="scope">{{ formatDate(scope.row.updateDate) }}</template></el-table-column>
38 38
       <el-table-column prop="id" label="操作" align="center">
39
-          <template slot-scope="scope"><a><span style="color: #63B8FF" @click="clickTitle(scope.row.id)">{{ scope.row.status =='1' ? '停用账号':'启用账号' }}</span></a></template>
39
+          <template slot-scope="scope"><a><span style="color: #63B8FF" @click="upDateStatus(scope.row.id,scope.row.status)">{{ scope.row.status =='1' ? '停用账号':'启用账号' }}</span></a></template>
40 40
       <!-- <a><template slot-scope="scope">
41 41
           <span v-if="scope.row.status==1">{{ '停用账号' }}</span>
42 42
           <span v-if="scope.row.status==0">{{ '启用账号' }}</span>
@@ -70,6 +70,7 @@ export default {
70 70
         createUser: '',
71 71
         updateUser: '',
72 72
         updateDate: '',
73
+        status : '',
73 74
         pageNum: 1,
74 75
         pageSize: 10
75 76
       },
@@ -101,34 +102,33 @@ export default {
101 102
       value = value < 10 ? '0' + value : value
102 103
       return value
103 104
     },
104
-    getStatus(row) { // 获取状态
105
-      let statusName = ''
105
+    // getStatus(row) { // 获取状态
106
+    //   let statusName = ''
106 107
 
107
-      // 判断状态
108
-      switch (row.status) {
109
-        case '0':
110
-          statusName = '已作废'
111
-          break
112
-        case '1':
113
-          statusName = '已发布'
114
-          break
115
-        case '2':
116
-          statusName = '草稿'
117
-          break
118
-      }
108
+    //   // 判断状态
109
+    //   switch (row.status) {
110
+    //     case '0':
111
+    //       statusName = '已作废'
112
+    //       break
113
+    //     case '1':
114
+    //       statusName = '已发布'
115
+    //       break
116
+    //     case '2':
117
+    //       statusName = '草稿'
118
+    //       break
119
+    //   }
119 120
 
120
-      // 如果修改时间和创建时间不一致, 就显示已修改
121
-      if (row.status === '1' && (row.updateDate > row.createDate)) {
122
-        statusName = '已修改'
123
-      }
121
+    //   // 如果修改时间和创建时间不一致, 就显示已修改
122
+    //   if (row.status === '1' && (row.updateDate > row.createDate)) {
123
+    //     statusName = '已修改'
124
+    //   }
124 125
 
125
-      return statusName
126
-    },
126
+    //   return statusName
127
+    // },
127 128
     dataQuery() { // 查询数据
128 129
       this.listLoading = true
129 130
       this.$store.dispatch('EmployeesList', this.listQuery).then((res) => {
130 131
          this.listDate = res.item
131
-        console.log('resData1',this.listDate)
132 132
         this.list = res.item
133 133
         this.total = res.total
134 134
         this.listLoading = false
@@ -136,6 +136,7 @@ export default {
136 136
         this.listLoading = false
137 137
         console.log('error EmployeesList')
138 138
       })
139
+      
139 140
     },
140 141
     handleSelectionChange(data) {
141 142
       // 设置为 空
@@ -171,9 +172,29 @@ export default {
171 172
     },
172 173
     addUser(){
173 174
     this.$router.push({ name: 'user-addUser' })
175
+     this.listQuery.id=''
176
+    },
177
+    upDate(){
178
+      //  this.$router.push({ name: 'user-edit' })
179
+       const ids = this.deleteIds[0]
180
+          this.$router.push({ name: 'user-edit', params: { id: ids }})
181
+    },
182
+    upDateStatus(id,status){
183
+      this.listQuery.id=id
184
+      this.listQuery.status=status
185
+      this.$store.dispatch('UpDateStatus', this.listQuery).then((res) => {
186
+        console.log('res',res)
187
+        this.dataQuery()
188
+        this.listLoading = false
189
+      }).catch(() => {
190
+        this.listLoading = false
191
+        console.log('error UpDateStatus')
192
+      })
174 193
     }
175
-  }
176
-}
194
+    }
195
+    }
196
+  
197
+
177 198
 </script>
178 199
 
179 200
 <style scoped>