魏熙美 hace 6 años
padre
commit
bda455470d

+ 4
- 0
src/config/api.js Ver fichero

@@ -63,6 +63,10 @@ const apis = {
63 63
     deleteUserRole:{
64 64
       method:'post',
65 65
       url: `${commPrefix}/deleteUserRole`
66
+    },
67
+    updatePwd: {
68
+      method:'post',
69
+      url: `${commPrefix}/updatePwd`
66 70
     }
67 71
   },
68 72
   type: {

+ 4
- 0
src/layout/default/User.vue Ver fichero

@@ -11,6 +11,7 @@
11 11
       </span>
12 12
       <el-dropdown-menu slot="dropdown">
13 13
         <!-- <el-dropdown-item command="resetPassword">重置密码</el-dropdown-item> -->
14
+        <el-dropdown-item command="showUpdatePwd">修改密码</el-dropdown-item>
14 15
         <el-dropdown-item command="logout">登出</el-dropdown-item>
15 16
       </el-dropdown-menu>
16 17
     </el-dropdown>
@@ -33,6 +34,9 @@ export default {
33 34
         case 'logout':
34 35
           this.$emit('logout')
35 36
           break
37
+        case 'showUpdatePwd':
38
+          this.$emit('showUpdatePwd')
39
+          break
36 40
         default:
37 41
           // todo
38 42
       }

+ 48
- 1
src/layout/default/index.vue Ver fichero

@@ -9,7 +9,7 @@
9 9
     <el-container>
10 10
       <el-header class="head">
11 11
         <div class="h-item">&nbsp;</div>
12
-        <user class="h-item-noflex" :user="userAuthority" :messages="[1]" @logout="logout" @resetPassword="resetPassword"></user>
12
+        <user class="h-item-noflex" :user="userAuthority" :messages="[1]" @logout="logout" @resetPassword="resetPassword" @showUpdatePwd="showUpdatePwd"></user>
13 13
       </el-header>
14 14
       <el-breadcrumb class="breadcrumb" separator-class="el-icon-arrow-right">
15 15
         <el-breadcrumb-item :to="{ name: 'index' }">首页</el-breadcrumb-item>
@@ -22,6 +22,25 @@
22 22
         <xm-footer company="荟房科技" />
23 23
       </el-footer>
24 24
     </el-container>
25
+    <el-dialog
26
+            title="修改密码"
27
+            :visible.sync="pwdDialogVisible"
28
+            width="25%"
29
+            :before-close="handleClose">
30
+      <el-form :model="fromPwd" status-icon :rules="rules" ref="ruleForm" label-width="100px">
31
+        <el-form-item label="旧密码" prop="oldPwd">
32
+          <el-input v-model="fromPwd.oldPwd" />
33
+        </el-form-item>
34
+        <el-form-item label="新密码" prop="newPwd">
35
+          <el-input v-model="fromPwd.newPwd" />
36
+        </el-form-item>
37
+      </el-form>
38
+
39
+      <span>
40
+      <el-button @click="pwdDialogVisible = false">取 消</el-button>
41
+      <el-button type="primary" @click="updatePwd">确 定</el-button>
42
+    </span>
43
+    </el-dialog>
25 44
   </el-container>
26 45
 </template>
27 46
 
@@ -42,6 +61,19 @@ export default {
42 61
       menus: [],
43 62
       menuArray: [],
44 63
       userAuthority: [],
64
+      fromPwd: {
65
+        oldPwd: '',
66
+        newPwd: ''
67
+      },
68
+      pwdDialogVisible: false,
69
+      rules: {
70
+        oldPwd: [
71
+          { required: true, message: '请输入旧密码', trigger: 'blur' }
72
+        ],
73
+        newPwd: [
74
+          { required: true, message: '请输入新密码', trigger: 'blur' }
75
+        ]
76
+      },
45 77
     }
46 78
   },
47 79
   computed: {
@@ -78,6 +110,9 @@ export default {
78 110
     this.menus = pages
79 111
   },
80 112
   methods: {
113
+    handleClose(done) {
114
+      done();
115
+    },
81 116
     isInMenuList(menu) {
82 117
       const m = this.menuArray.filter(x => x.name === menu.name)[0]
83 118
       if (!m) {
@@ -98,6 +133,18 @@ export default {
98 133
           }
99 134
         })
100 135
       })
136
+    },
137
+    showUpdatePwd() { // 显示修改密码框
138
+      this.pwdDialogVisible = true
139
+    },
140
+    updatePwd() {
141
+      this.$refs.ruleForm.validate((valid) => {
142
+        if (valid) {
143
+          this.$store.dispatch('updatePwd', this.fromPwd).then(() => {
144
+            this.pwdDialogVisible = false
145
+          })
146
+        }
147
+      })
101 148
     }
102 149
   }
103 150
 }

+ 2
- 2
src/store/modules/sysuser.js Ver fichero

@@ -60,7 +60,7 @@ export default {
60 60
     },
61 61
     addSysUser ( _, payload) {
62 62
       const dtStr = window.JSON.stringify(payload)
63
-      const api = lodash.get(apis, 'sysuser.edi.vue')
63
+      const api = lodash.get(apis, 'sysuser.add')
64 64
       return interact(api, dtStr)
65 65
     },
66 66
     editSysUser ( _, payload) {
@@ -139,6 +139,6 @@ export default {
139 139
           reject()
140 140
         })
141 141
       })
142
-    }
142
+    },
143 143
   }
144 144
 }

+ 10
- 0
src/store/system.js Ver fichero

@@ -75,6 +75,16 @@ export default {
75 75
         commit('updateUser', {})
76 76
         // commit('syncState', { userLoged: false })
77 77
       })
78
+    },
79
+    updatePwd(_, payload) { // 修改密码
80
+      return new Promise((resolve, reject) => {
81
+        const api = lodash.get(apis, 'sysuser.updatePwd')
82
+        interact(api,payload).then((data) => {
83
+          resolve(data)
84
+        }).catch(() => {
85
+          reject()
86
+        })
87
+      })
78 88
     }
79 89
   }
80 90
 }

+ 51
- 9
src/views/sysuser/edit.vue Ver fichero

@@ -1,6 +1,9 @@
1 1
 <template>
2 2
   <div>
3 3
     <el-form class="user-form" :rules="rules" :model="detail" ref="ruleForm" label-width="160px">
4
+      <el-form-item label="登录名" prop="loginname" required>
5
+        <el-input v-model="detail.loginname"></el-input>
6
+      </el-form-item>
4 7
       <el-form-item label="用户名" prop="username" required>
5 8
         <el-input v-model="detail.username"></el-input>
6 9
       </el-form-item>
@@ -57,9 +60,22 @@ export default {
57 60
         menuArray: []
58 61
         
59 62
       },
63
+      pageNavi: {
64
+        page: 1,
65
+        size: 10,
66
+        total: 0,
67
+      },
68
+      listQuery: {
69
+        name: '',
70
+        phone: '',
71
+        identity: undefined,
72
+      },
60 73
       roleId: [],
61 74
       sysRole:[],
62 75
       rules: {
76
+        loginname: [
77
+          { required: true, message: '请输入登录名', trigger: 'blur' }
78
+        ],
63 79
         nickname: [
64 80
           { required: true, message: '请输入用户名', trigger: 'blur' }
65 81
         ],
@@ -77,6 +93,7 @@ export default {
77 93
   },
78 94
   methods: {
79 95
     ...mapUserActions([
96
+      'getSysUserList',
80 97
       'getDetail',
81 98
       'addSysUser',
82 99
       'editSysUser',
@@ -90,6 +107,17 @@ export default {
90 107
     onCancel () {
91 108
       this.$router.back()
92 109
     },
110
+    getList () {
111
+      this.getSysUserList({
112
+        pageNum: this.pageNavi.page || 1,
113
+        pageSize: this.pageNavi.size,
114
+        identity: this.listQuery.identity === '%' ? undefined : this.listQuery.identity,
115
+        ...this.listQuery,
116
+      }).then((data) => {
117
+        const { current: page, size, total } = data
118
+        this.pageNavi = { page, size, total }
119
+      })
120
+    },
93 121
     onSubmit () {
94 122
       this.$refs.ruleForm.validate((valid) => {
95 123
         if (!valid) {
@@ -99,19 +127,36 @@ export default {
99 127
 
100 128
         if (!this.detail.userId) {
101 129
           // 新增
102
-          this.addSysUser({...this.detail, isSales: 1}).then(() => {
130
+          this.addSysUser({...this.detail, isSales: 1}).then((res) => {
103 131
             this.$notify.success('添加信息成功')
132
+
133
+            this.formInline.userId = res.userId
134
+            this.getUserRoledetails()
135
+            this.init()
136
+
137
+            // 保存角色
138
+            this.formInline.menuArray = this.roleId
139
+            this.updateUserRolede(this.formInline)
140
+            this.getList()
141
+            this.$router.go(-1)
104 142
           })
105 143
         } else {
106 144
           // 修改
107 145
           this.editSysUser({...this.detail, isSales: 1}).then(() => {
108 146
             this.$notify.success('编辑信息成功')
147
+            // 保存角色
148
+            this.formInline.menuArray = this.roleId
149
+            this.updateUserRolede(this.formInline)
150
+            this.getList()
151
+            this.$router.go(-1)
109 152
           })
110
-          // 保存角色
111
-          this.formInline.menuArray = this.roleId
112
-          this.updateUserRolede(this.formInline)
113 153
         }
114
-
154
+      })
155
+    },
156
+    getUserRoledetails() {
157
+      this.userRoledetails(this.formInline).then((data)=>{
158
+        this.sysRole = data.sysRole
159
+        this.roleId = data.arrayList
115 160
       })
116 161
     },
117 162
     init () {
@@ -132,10 +177,7 @@ export default {
132 177
   },
133 178
   created () {
134 179
     this.formInline.userId = this.$route.query.id
135
-    this.userRoledetails(this.formInline).then((data)=>{
136
-        this.sysRole = data.sysRole
137
-        this.roleId = data.arrayList
138
-    })
180
+    this.getUserRoledetails()
139 181
     this.init()
140 182
   },
141 183
 }

+ 1
- 1
src/views/sysuser/list.vue Ver fichero

@@ -58,7 +58,7 @@
58 58
         label="操作">
59 59
         <template slot-scope="scope">
60 60
           <el-button type="text" @click="handleEdit(scope.row)" size="small">编辑</el-button>
61
-           <el-button type="text" @click="addUserRole(scope.row)" size="small">添加权限</el-button>       
61
+<!--           <el-button type="text" @click="addUserRole(scope.row)" size="small">添加权限</el-button>       -->
62 62
         </template>
63 63
       </el-table-column>
64 64
     </el-table>