Jelajahi Sumber

feat(logger): account management

Casper Dai 2 tahun lalu
induk
melakukan
e0282d86ff
3 mengubah file dengan 40 tambahan dan 26 penghapusan
  1. 28 19
      src/api/user.js
  2. 11 6
      src/views/realm/user/Account.vue
  3. 1 1
      src/views/realm/user/Settings.vue

+ 28 - 19
src/api/user.js

@@ -1,6 +1,9 @@
 import md5 from 'md5'
 import store from '@/store'
-import { Role } from '@/constant'
+import {
+  Role,
+  AlarmLevelInfo
+} from '@/constant'
 import request, {
   keycloakRequest,
   tenantRequest
@@ -40,11 +43,11 @@ export function userinfo (silence) {
   return send(config, keycloakRequest)
 }
 
-export function addUserAccount (data) {
+export function addUser (data) {
   return add({
     url: '/admin/users',
     method: 'POST',
-    data: addTenant({
+    data: addTenantKey({
       ...data,
       credentials: [{ type: 'password', value: process.env.VUE_APP_USER_PASSWORD, temporary: true }]
     })
@@ -59,12 +62,13 @@ export function updateUser (data, message) {
   }, message)
 }
 
-export function toggleUser (userId, enabled) {
+export function toggleUser ({ userId, userName }, enabled) {
   return messageSend({
     url: '/admin/users/enabled',
     method: 'PUT',
     data: addTenantKey({
       userId,
+      userName,
       enabled
     })
   }, enabled ? '启用' : '停用')
@@ -371,24 +375,13 @@ export function getUsersByDepartment (query) {
   })
 }
 
-export function addUser (data) {
-  return add({
-    url: '/admin/users',
-    method: 'POST',
-    data: addTenantKey({
-      ...data,
-      credentials: [{ type: 'password', value: process.env.VUE_APP_USER_PASSWORD, temporary: true }]
-    })
-  })
-}
-
-export function updateUserDepartment (userId, department) {
+export function updateUserDepartment (userId, { id, name }) {
   return tenantRequest({
     url: '/admin/users/regrouping',
     method: 'PUT',
     data: addTenantKey({
       userId,
-      departmentId: department.id
+      ...(id ? { departmentId: id, departmentName: name } : { departmentName: '顶层部门' })
     })
   })
 }
@@ -404,13 +397,29 @@ export function updateUserName (userId, name) {
   }, null, tenantRequest)
 }
 
-export function updateUserInformLevel (userId, informLevel) {
+export function updateUserInformLevel ({ userId, userName }, informLevel) {
+  let informName = '未知'
+  switch (true) {
+    case informLevel >= 1000:
+      informName = `所有${AlarmLevelInfo[informLevel - 1000]}`
+      break
+    case informLevel >= 0:
+      informName = `部门${AlarmLevelInfo[informLevel - 1000]}`
+      break
+    case informLevel === -1:
+      informName = '不预警'
+      break
+    default:
+      break
+  }
   return update({
     url: '/admin/users/update/deviceExceptionLevel',
     method: 'PUT',
     data: addTenantKey({
       userId,
-      informLevel
+      userName,
+      informLevel,
+      informName
     })
   }, null, tenantRequest)
 }

+ 11 - 6
src/views/realm/user/Account.vue

@@ -247,11 +247,12 @@ export default {
         username: '',
         name: ''
       }
-      this.$department = { id: this.group.id, path: this.group.path }
+      console.log(this.group)
+      this.$department = { id: this.group.id, path: this.group.path, name: this.group.name }
       this.$refs.editDialog.show()
     },
-    onGroupClick ({ id, path }) {
-      this.$department = { id, path }
+    onGroupClick ({ id, path, name }) {
+      this.$department = { id, path, name }
     },
     onSave (done) {
       const { username } = this.user
@@ -278,7 +279,11 @@ export default {
       }
       addUser({
         ...this.user,
-        departmentId: this.$department.id
+        ...(
+          this.$department.id
+            ? { id: this.$department.id, departmentName: this.$department.name }
+            : { departmentName: '顶层部门' }
+        )
       }).then(() => {
         done()
         if (this.$department.path.indexOf(this.group.path) === 0) {
@@ -302,14 +307,14 @@ export default {
         '操作确认',
         { type: 'warning' }
       ).then(() => toggleUser(
-        user.userId,
+        user,
         enabled
       )).then(() => {
         user.enabled = enabled
       })
     },
     updateInformLevel (val, user) {
-      updateUserInformLevel(user.userId, val).then(() => {
+      updateUserInformLevel(user, val).then(() => {
         user.informLevel = val
       })
     }

+ 1 - 1
src/views/realm/user/Settings.vue

@@ -263,7 +263,7 @@ export default {
         '操作确认',
         { type: 'warning' }
       ).then(() => toggleUser(
-        this.userId,
+        this.user,
         enabled
       )).then(() => {
         this.user.enabled = enabled