Quellcode durchsuchen

更新 views/devops/user 模块

reghao vor 3 Monaten
Ursprung
Commit
abc503259d

+ 16 - 0
src/api/devops.js

@@ -32,10 +32,26 @@ export function getAccountLoginRecord() {
   return get(devopsApi.getAccount + '/record')
 }
 
+export function updateAccountName(formData) {
+  return postForm(devopsApi.getAccount + '/update/username', formData)
+}
+
+export function updateAccountPasswd(formData) {
+  return postForm(devopsApi.getAccount + '/update/passwd', formData)
+}
+
+export function logoutAccountLogin(formData) {
+  return postForm(devopsApi.getAccount + '/logout', formData)
+}
+
 export function getAccountMessage(queryInfo) {
   return get(devopsApi.getAccount + '/message', queryInfo)
 }
 
+export function clearAccountMessage() {
+  return postForm(devopsApi.getAccount + '/message/clear')
+}
+
 export function getMachineList(queryInfo) {
   return get(devopsApi.getMachineList, queryInfo)
 }

+ 7 - 3
src/views/devops/user/UserLogin.vue

@@ -54,7 +54,7 @@
 </template>
 
 <script>
-import { getAccountLoginRecord } from '@/api/devops'
+import { getAccountLoginRecord, logoutAccountLogin } from '@/api/devops'
 
 export default {
   name: 'UserLogin',
@@ -85,8 +85,12 @@ export default {
         type: 'warning'
       }).then(() => {
         const formData = new FormData()
-        formData.append('appId', row.appId)
-        this.$message.info('logout')
+        formData.append('loginId', row.loginId)
+        logoutAccountLogin(formData).then(resp => {
+          this.$message.info(resp.msg)
+        }).catch(error => {
+          this.$message.error(error.message)
+        })
       }).catch(() => {
         this.$message({
           type: 'info',

+ 6 - 12
src/views/devops/user/UserMessage.vue

@@ -2,6 +2,7 @@
   <el-container>
     <el-header height="220">
       <h3>我的消息</h3>
+      <el-button type="success" size="mini" icon="el-icon-delete" style="margin-left: 5px" @click="handleClear">清空消息</el-button>
     </el-header>
     <el-main>
       <el-table
@@ -34,12 +35,6 @@
               size="mini"
               @click="handleEdit(scope.$index, scope.row)"
             >查看</el-button>
-            <el-button
-              style="margin-top: 5px; margin-left: 5px"
-              size="mini"
-              type="danger"
-              @click="handleDelete(scope.$index, scope.row)"
-            >删除</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -70,7 +65,7 @@
 </template>
 
 <script>
-import { getAccountMessage } from '@/api/devops'
+import { clearAccountMessage, getAccountMessage } from '@/api/devops'
 
 export default {
   name: 'UserMessage',
@@ -129,17 +124,16 @@ export default {
       this.message = row
       this.showContentDialog = true
     },
-    handleDelete(index, row) {
-      this.$message.info('delete message')
-      /* addAppConfig().then(resp => {
+    handleClear(index, row) {
+      clearAccountMessage().then(resp => {
         if (resp.code === 0) {
           this.getData()
         } else {
-          this.$message.info(resp.msg)
+          this.$message.error(resp.msg)
         }
       }).catch(error => {
         this.$message.error(error.message)
-      })*/
+      })
     }
   }
 }

+ 77 - 22
src/views/devops/user/UserProfile.vue

@@ -13,23 +13,14 @@
               </div>
               <div class="text item">
                 <el-form v-if="loginUser !== null" ref="form" :model="loginUser" label-width="80px">
-                  <el-form-item label="用户 ID">
-                    <el-input v-model="loginUser.userId" style="width: 70%; padding-right: 10px" readonly />
-                  </el-form-item>
                   <el-form-item label="用户名">
                     <el-input v-model="loginUser.username" style="width: 70%; padding-right: 10px" readonly />
+                    <el-button size="mini" type="info" @click="showUpdateDialog(1)">修改</el-button>
                   </el-form-item>
-                  <!-- <el-form-item label="显示名">
-                    <el-input v-model="loginUser.screenName" style="width: 70%; padding-right: 10px" readonly />
-                  </el-form-item>
-                  <el-form-item label="手机">
-                    <el-input v-model="loginUser.mobile" style="width: 70%; padding-right: 10px" readonly />
-                    <el-button size="mini" type="info" @click="showUpdateDialog(1)">更新</el-button>
+                  <el-form-item label="用户密码">
+                    <el-input value="**********" style="width: 70%; padding-right: 10px" readonly />
+                    <el-button size="mini" type="info" @click="showUpdateDialog(2)">修改</el-button>
                   </el-form-item>
-                  <el-form-item label="密码">
-                    <el-input v-model="loginUser.mobile" style="width: 70%; padding-right: 10px" readonly />
-                    <el-button size="mini" type="info" @click="showUpdateDialog(2)">更新</el-button>
-                  </el-form-item>-->
                 </el-form>
               </div>
             </el-card>
@@ -39,10 +30,43 @@
     </el-main>
 
     <el-dialog
+      :title="updateTitle"
+      append-to-body
+      :visible.sync="updateUsernameDialog"
+      width="30%"
+      center
+    >
+      <el-row style="padding-right: 5px; padding-left: 5px; padding-bottom: 5px;">
+        <el-form ref="form" :model="updateUsernameForm" label-width="100px">
+          <el-form-item label="新用户名" label-width="100px">
+            <el-input v-model="updateUsernameForm.newUsername" style="width: 45%; padding-right: 10px" />
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" @click.native="onUpdateUsername">确定</el-button>
+          </el-form-item>
+        </el-form>
+      </el-row>
+    </el-dialog>
+    <el-dialog
+      :title="updateTitle"
       append-to-body
-      :visible.sync="showEditScopeDialog"
+      :visible.sync="updatePasswordDialog"
+      width="30%"
       center
     >
+      <el-row style="padding-right: 5px; padding-left: 5px; padding-bottom: 5px; text-align: center">
+        <el-form ref="form" :model="updatePasswordForm" label-width="100px">
+          <el-form-item label="当前密码">
+            <el-input v-model="updatePasswordForm.currentPasswd" style="padding-right: 1px"/>
+          </el-form-item>
+          <el-form-item label="新密码">
+            <el-input v-model="updatePasswordForm.newPasswd" style="padding-right: 1px"/>
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" @click.native="onUpdatePassword">确定</el-button>
+          </el-form-item>
+        </el-form>
+      </el-row>
     </el-dialog>
   </el-container>
 </template>
@@ -50,12 +74,22 @@
 <script>
 import { updateVideoScope } from '@/api/video'
 import { getAuthedUser } from '@/utils/auth'
+import { updateAccountName, updateAccountPasswd } from '@/api/devops'
 
 export default {
   name: 'UserProfile',
   data() {
     return {
-      showEditScopeDialog: false,
+      updateTitle: null,
+      updateUsernameDialog: false,
+      updateUsernameForm: {
+        newUsername: null
+      },
+      updatePasswordDialog: false,
+      updatePasswordForm: {
+        currentPasswd: null,
+        newPasswd: null
+      },
       loginUser: null
     }
   },
@@ -66,17 +100,38 @@ export default {
     document.title = '我的'
   },
   methods: {
-    handleScope(index, row) {
-      this.form.videoId = row.videoId
-      this.form.scope = '' + row.scope
-      this.showEditScopeDialog = true
+    showUpdateDialog(type) {
+      if (type === 1) {
+        this.updateType = 1
+        this.updateTitle = '修改用户名'
+        this.updateUsernameDialog = true
+      } else if (type === 2) {
+        this.updateType = 2
+        this.updateTitle = '修改用户密码'
+        this.updatePasswordDialog = true
+      }
+    },
+    onUpdateUsername() {
+      const formData = new FormData()
+      formData.append('newUsername', this.updateUsernameForm.newUsername)
+      updateAccountName(formData).then(resp => {
+        this.$message.info(resp.msg)
+      }).catch(error => {
+        this.$message.error(error.message)
+      }).finally(() => {
+        this.updateUsernameDialog = false
+      })
     },
-    onUpdateScope() {
-      this.showEditScopeDialog = false
-      updateVideoScope().then(resp => {
+    onUpdatePassword() {
+      const formData = new FormData()
+      formData.append('currentPasswd', this.updatePasswordForm.currentPasswd)
+      formData.append('newPasswd', this.updatePasswordForm.newPasswd)
+      updateAccountPasswd(formData).then(resp => {
         this.$message.info(resp.msg)
       }).catch(error => {
         this.$message.error(error.message)
+      }).finally(() => {
+        this.updatePasswordDialog = false
       })
     }
   }