dingxin il y a 6 ans
Parent
révision
03bab5c365

+ 12
- 0
CODE/smart-community/operate-api/src/main/java/com/community/huiju/controller/UserController.java Voir le fichier

@@ -96,4 +96,16 @@ public class UserController extends BaseController {
96 96
         return responseBean;
97 97
     }
98 98
 
99
+    @ApiOperation(value = "用户成员列表", notes = "用户成员列表")
100
+    @ApiImplicitParams({
101
+            @ApiImplicitParam(paramType = "body",dataType = "String",name = "parameter",value = "loginName:手机号,userName:姓名" )
102
+    })
103
+    @RequestMapping(value = "/user/addUser", method = RequestMethod.POST)
104
+    public ResponseBean addUser(@RequestBody String parameter,HttpSession session){
105
+        UserElement userElement = getUserElement(session);
106
+        ResponseBean  responseBean = iToUserService.addUser(parameter,userElement.getId());
107
+        return responseBean;
108
+    }
109
+
110
+
99 111
 }

+ 8
- 0
CODE/smart-community/operate-api/src/main/java/com/community/huiju/service/IToUserService.java Voir le fichier

@@ -29,4 +29,12 @@ public interface IToUserService {
29 29
      * @return
30 30
      */
31 31
     ResponseBean userList(String parameter);
32
+
33
+    /**
34
+     * 添加成员角色
35
+     * @param parameter
36
+     * @param UserID
37
+     * @return
38
+     */
39
+    ResponseBean addUser(String parameter,Integer UserID);
32 40
 }

+ 39
- 0
CODE/smart-community/operate-api/src/main/java/com/community/huiju/service/impl/ToUserServerImpl.java Voir le fichier

@@ -1,13 +1,16 @@
1 1
 package com.community.huiju.service.impl;
2 2
 
3
+import com.alibaba.fastjson.JSONArray;
3 4
 import com.alibaba.fastjson.JSONObject;
4 5
 import com.beust.jcommander.internal.Maps;
5 6
 import com.community.commom.mode.ResponseBean;
6 7
 import com.community.commom.utils.AccountValidatorUtil;
7 8
 import com.community.huiju.common.code.cache.AppkeyCache;
8 9
 import com.community.huiju.dao.ToSysRoleMapper;
10
+import com.community.huiju.dao.ToSysUserRoleMapper;
9 11
 import com.community.huiju.dao.ToUserMapper;
10 12
 import com.community.huiju.model.ToSysRole;
13
+import com.community.huiju.model.ToSysUserRole;
11 14
 import com.community.huiju.model.ToUser;
12 15
 import com.community.huiju.service.IToUserService;
13 16
 import com.community.huiju.vo.ToUserVO;
@@ -19,6 +22,8 @@ import org.springframework.beans.BeanUtils;
19 22
 import org.springframework.beans.factory.annotation.Autowired;
20 23
 import org.springframework.stereotype.Service;
21 24
 
25
+import javax.security.auth.callback.TextOutputCallback;
26
+import java.util.Date;
22 27
 import java.util.List;
23 28
 import java.util.Map;
24 29
 
@@ -32,6 +37,9 @@ public class ToUserServerImpl implements IToUserService {
32 37
     @Autowired
33 38
     private ToSysRoleMapper toSysRoleMapper;
34 39
 
40
+    @Autowired
41
+    private ToSysUserRoleMapper toSysUserRoleMapper;
42
+
35 43
     @Override
36 44
     public ResponseBean login(String loginName, String code) {
37 45
 
@@ -120,4 +128,35 @@ public class ToUserServerImpl implements IToUserService {
120 128
         response.addSuccess(map);
121 129
         return response;
122 130
     }
131
+
132
+    @Override
133
+    public ResponseBean addUser(String parameter,Integer userID) {
134
+        ResponseBean response= new ResponseBean<>();
135
+        JSONObject object= JSONObject.parseObject(parameter);
136
+        ToUser toUser= new ToUser();
137
+
138
+        String loginName= object.getString("loginName");
139
+        String userName = object.getString("userName");
140
+        JSONArray contentImg = object.getJSONArray("roleName");
141
+        Integer[] roleIDArray = contentImg.toArray(new Integer[]{});
142
+        String remark = object.getString("remark");
143
+
144
+        toUser.setUserName(userName);
145
+        toUser.setLoginName(loginName);
146
+        toUser.setRemark(remark);
147
+        toUser.setStatus("1");;
148
+        toUser.setCreateUser(userID);
149
+        toUser.setCreateDate(new Date());
150
+        toUserMapper.insert(toUser);
151
+
152
+        //会对应多个角色
153
+        for (Integer roleID:roleIDArray  ){
154
+           ToSysUserRole toSysUserRole= new ToSysUserRole();
155
+            toSysUserRole.setUserId(toUser.getId());
156
+            toSysUserRole.setRoleId(roleID);
157
+            toSysUserRoleMapper.insert(toSysUserRole);
158
+        }
159
+         response.addSuccess("成功");
160
+        return response;
161
+    }
123 162
 }

+ 1
- 1
CODE/smart-community/operate-api/src/main/resources/mapper/ToUserMapper.xml Voir le fichier

@@ -30,7 +30,7 @@
30 30
     delete from to_user
31 31
     where id = #{id,jdbcType=INTEGER}
32 32
   </delete>
33
-  <insert id="insert" parameterType="com.community.huiju.model.ToUser" >
33
+  <insert id="insert" parameterType="com.community.huiju.model.ToUser" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
34 34
     insert into to_user (id, user_name, login_name, 
35 35
       login_password, email, head_portrait, 
36 36
       remark, status, create_user, 

+ 12
- 0
VUECODE/smart-operate-manage/src/api/user.js Voir le fichier

@@ -13,4 +13,16 @@ export function employeesList(data) {
13 13
     }
14 14
   })
15 15
 }
16
+// 获取角色暂定写死
17
+export function userRoleById(data) {
18
+  return request({
19
+    url: '/role/list',
20
+    method: 'post',
21
+    data: {
22
+      pageNum: data.pageNum,
23
+      pageSize: data.pageSize,
24
+      roleName: data.roleName
25
+    }
26
+  })
27
+}
16 28
 

+ 7
- 0
VUECODE/smart-operate-manage/src/router/index.js Voir le fichier

@@ -141,6 +141,13 @@ export const constantRouterMap = [
141 141
         name: 'role-info',
142 142
         hidden: true,
143 143
         meta: { title: '角色详情', icon: 'table' }
144
+      },
145
+      {
146
+        path: '/account/user/addUser',
147
+        component: () => import('@/views/account/user/addUser'),
148
+        name: 'user-addUser',
149
+        hidden: true,
150
+        meta: { title: '添加成员', icon: 'table' }
144 151
       }
145 152
     ]
146 153
   },

+ 11
- 1
VUECODE/smart-operate-manage/src/store/modules/user.js Voir le fichier

@@ -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 } from '@/api/user'
3
+import { employeesList, userRoleById } from '@/api/user'
4 4
 
5 5
 const user = {
6 6
   state: {
@@ -110,6 +110,16 @@ const user = {
110 110
           reject(error)
111 111
         })
112 112
       })
113
+    },
114
+    // 查询角色 UserRoleById
115
+    UserRoleById({ commit, state }, data) { // 查询活动详情
116
+      return new Promise((resolve, reject) => {
117
+        userRoleById(data).then(response => {
118
+          resolve(response)
119
+        }).catch(error => {
120
+          reject(error)
121
+        })
122
+      })
113 123
     }
114 124
   }
115 125
 }

+ 127
- 0
VUECODE/smart-operate-manage/src/views/account/user/addUser.vue Voir le fichier

@@ -0,0 +1,127 @@
1
+<template>
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"/>
6
+      </el-form-item>
7
+      <el-form-item label="手机号:" prop="description">
8
+        <el-input v-model="listQuery.description"/>
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"/>
20
+      </el-form-item>
21
+      <el-form-item>
22
+        <el-button type="primary">立即创建</el-button>
23
+      </el-form-item>
24
+    </el-form>
25
+  </div>
26
+</template>
27
+
28
+<script>
29
+import { mapActions } from 'vuex'
30
+export default {
31
+  data() {
32
+    return {
33
+      listQuery: {
34
+        id: '',  
35
+        roleName: '',
36
+        description: '',
37
+        menuArray: [], // 已选中的权限资源
38
+        pageNum: 1,
39
+        pageSize:100
40
+      },
41
+       va3:[], 
42
+       value2:[1,4],
43
+       dataList:[],
44
+       citiesList:['上海', '北京', '广州', '深圳', '南京', '西安'],
45
+       pinyinList:['上海', '北京', '广州', '深圳', '南京', '西安', '成都'],
46
+      rules: {
47
+        roleName: [
48
+          { required: true, message: '请输入名称', trigger: 'blur' }
49
+        ],
50
+        description: [
51
+          { required: true, message: '请输入手机号', trigger: 'blur' }
52
+        ],
53
+      }
54
+    }
55
+  },
56
+  mounted() {
57
+      this.getById()
58
+    //    this.roleBox()
59
+  },
60
+  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)
70
+        }
71
+      })
72
+    },
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
+  }    
113
+}
114
+</script>
115
+
116
+<style scoped>
117
+.demo-listQuery {
118
+  width: 500px;
119
+  margin-top: 20px;
120
+  margin-left: auto;
121
+  margin-right: auto;
122
+}
123
+#button-checked{
124
+     float:right;
125
+     margin-right: 50px; 
126
+}
127
+</style>

+ 4
- 2
VUECODE/smart-operate-manage/src/views/account/user/index.vue Voir le fichier

@@ -13,7 +13,7 @@
13 13
       </el-form-item>
14 14
     </el-form>
15 15
     <div class="button">
16
-      <el-button type="primary">添加</el-button>
16
+      <el-button type="primary" @click="addUser">添加</el-button>
17 17
       <el-button type="warning" >修改</el-button>
18 18
     </div>
19 19
     <el-table
@@ -37,7 +37,6 @@
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 39
           <template slot-scope="scope"><a><span style="color: #63B8FF" @click="clickTitle(scope.row.id)">{{ scope.row.status =='1' ? '停用账号':'启用账号' }}</span></a></template>
40
-
41 40
       <!-- <a><template slot-scope="scope">
42 41
           <span v-if="scope.row.status==1">{{ '停用账号' }}</span>
43 42
           <span v-if="scope.row.status==0">{{ '启用账号' }}</span>
@@ -169,6 +168,9 @@ export default {
169 168
       var month = value.getMonth() + 1
170 169
       var day = value.getDate()
171 170
       return year + '-' + month + '-' + day
171
+    },
172
+    addUser(){
173
+    this.$router.push({ name: 'user-addUser' })
172 174
     }
173 175
   }
174 176
 }