From 21e346b09b236c1645a4af2b045dd599b248b6f0 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期二, 29 十月 2024 17:07:06 +0800
Subject: [PATCH] 增加了重置密码的功能

---
 src/views/user/admin/list.vue   |   18 ++++++++
 src/api/user.js                 |    1 
 src/views/user/teacher/list.vue |   18 ++++++++
 src/views/user/student/list.vue |   18 ++++++++
 src/views/sys/SysSetting.vue    |    6 ++
 5 files changed, 57 insertions(+), 4 deletions(-)

diff --git a/src/api/user.js b/src/api/user.js
index 045b8d8..1adbdf9 100644
--- a/src/api/user.js
+++ b/src/api/user.js
@@ -14,4 +14,5 @@
   getClassesCurrentUserList: (param) => get('/api/admin/user/classes/students', param),
   updatePassword: (data) => post('/api/common/user/update/password', data),
   uploadImg: (data) => post('/api/admin/upload/img', data),
+  resetUserPassword: (id) => post('/api/admin/user/reset/password/' + id),
 }
diff --git a/src/views/sys/SysSetting.vue b/src/views/sys/SysSetting.vue
index d5dfdfe..96905d5 100644
--- a/src/views/sys/SysSetting.vue
+++ b/src/views/sys/SysSetting.vue
@@ -4,6 +4,9 @@
       <el-form-item label="瀵嗙爜杩囨湡鏃堕棿(澶�)" prop="passwordExpireTime">
         <el-input v-model="form.passwordExpireTime" type="number" autocomplete="off" placeholder="姣斿锛�30澶╁瘑鐮佽繃鏈�"></el-input>
       </el-form-item>
+      <el-form-item label="榛樿瀵嗙爜" prop="passwordDefault">
+        <el-input v-model="form.passwordDefault" autocomplete="off" placeholder="閲嶇疆鍚庝娇鐢ㄩ粯璁ゅ瘑鐮�" readonly></el-input>
+      </el-form-item>
       <el-form-item>
         <el-button type="primary" @click="edit()">淇濆瓨</el-button>
       </el-form-item>
@@ -20,7 +23,8 @@
     return {
       form: {
         id: null,
-        passwordExpireTime: null
+        passwordExpireTime: null,
+        passwordDefault: null
       },
       rules: {
         passwordExpireTime: [
diff --git a/src/views/user/admin/list.vue b/src/views/user/admin/list.vue
index d36e14a..d295c63 100644
--- a/src/views/user/admin/list.vue
+++ b/src/views/user/admin/list.vue
@@ -42,6 +42,7 @@
             <el-button size="mini">缂栬緫</el-button>
           </router-link>
           <el-button size="mini" type="danger"  @click="deleteUser(row)" class="link-left">鍒犻櫎</el-button>
+          <el-button size="mini"  @click="resetPassword(row)" type="success" class="link-left">閲嶇疆瀵嗙爜</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -121,7 +122,22 @@
     },
     statusBtnFormatter (status) {
       return this.enumFormat(this.statusBtn, status)
-    }
+    },
+    resetPassword(row) {
+      this.$confirm('姝ゆ搷浣滃皢閲嶇疆璇ユ垚鍛樼殑瀵嗙爜, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        userApi.resetUserPassword(row.id).then(re => {
+          if (re.code === 1) {
+            this.$message.success(re.message)
+          } else {
+            this.$message.error(re.message)
+          }
+        })
+      })
+    },
   },
   computed: {
     ...mapGetters('enumItem', [
diff --git a/src/views/user/student/list.vue b/src/views/user/student/list.vue
index b5af310..925026a 100644
--- a/src/views/user/student/list.vue
+++ b/src/views/user/student/list.vue
@@ -64,6 +64,7 @@
           >
             <el-button slot="reference" type="danger" size="mini">鍒犻櫎</el-button>
           </el-popconfirm>
+          <el-button size="mini"  @click="resetPassword(row)" type="success" class="link-left">閲嶇疆瀵嗙爜</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -170,7 +171,22 @@
     },
     statusBtnFormatter (status) {
       return this.enumFormat(this.statusBtn, status)
-    }
+    },
+    resetPassword(row) {
+      this.$confirm('姝ゆ搷浣滃皢閲嶇疆璇ユ垚鍛樼殑瀵嗙爜, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        userApi.resetUserPassword(row.id).then(re => {
+          if (re.code === 1) {
+            this.$message.success(re.message)
+          } else {
+            this.$message.error(re.message)
+          }
+        })
+      })
+    },
   },
   computed: {
     ...mapGetters('enumItem', [
diff --git a/src/views/user/teacher/list.vue b/src/views/user/teacher/list.vue
index a89ec22..af1f787 100644
--- a/src/views/user/teacher/list.vue
+++ b/src/views/user/teacher/list.vue
@@ -42,6 +42,7 @@
             <el-button size="mini">缂栬緫</el-button>
           </router-link>
           <el-button size="mini" type="danger"  @click="deleteUser(row)" class="link-left">鍒犻櫎</el-button>
+          <el-button size="mini"  @click="resetPassword(row)" type="success" class="link-left">閲嶇疆瀵嗙爜</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -121,7 +122,22 @@
     },
     statusBtnFormatter (status) {
       return this.enumFormat(this.statusBtn, status)
-    }
+    },
+    resetPassword(row) {
+      this.$confirm('姝ゆ搷浣滃皢閲嶇疆璇ユ垚鍛樼殑瀵嗙爜, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        userApi.resetUserPassword(row.id).then(re => {
+          if (re.code === 1) {
+            this.$message.success(re.message)
+          } else {
+            this.$message.error(re.message)
+          }
+        })
+      })
+    },
   },
   computed: {
     ...mapGetters('enumItem', [

--
Gitblit v1.8.0