Эх сурвалжийг харах

feat: user phone and email

Casper Dai 1 жил өмнө
parent
commit
4bb7067810

+ 66 - 8
src/views/realm/user/Account.vue

@@ -10,7 +10,9 @@
     >
       <template #default>
         <div class="c-grid-form u-align-self--center">
-          <span class="c-grid-form__label u-required">账号</span>
+          <span class="c-grid-form__label u-required">
+            账号
+          </span>
           <div
             class="u-width has-info"
             data-info="仅可包含数字、字母"
@@ -22,15 +24,39 @@
               clearable
             />
           </div>
-          <span class="c-grid-form__label">姓名</span>
+          <span class="c-grid-form__label">
+            姓名
+          </span>
           <el-input
             v-model.trim="user.name"
-            class="u-width--sm"
+            class="u-width"
             placeholder="账号使用者姓名"
             maxlength="20"
             clearable
           />
-          <span class="c-grid-form__label">部门</span>
+          <span class="c-grid-form__label u-required">
+            手机
+          </span>
+          <el-input
+            v-model.trim="user.phone"
+            class="u-width"
+            placeholder="账号使用者手机号码"
+            maxlength="13"
+            clearable
+          />
+          <span class="c-grid-form__label u-required">
+            邮箱
+          </span>
+          <el-input
+            v-model.trim="user.email"
+            class="u-width"
+            placeholder="账号使用者电子邮箱"
+            maxlength="50"
+            clearable
+          />
+          <span class="c-grid-form__label">
+            部门
+          </span>
           <div class="c-grid-form__auto u-overflow-x--auto">
             <el-tree
               ref="tree"
@@ -91,7 +117,11 @@ import { mapGetters } from 'vuex'
 import {
   AlarmLevelInfo,
   SupportedAlarmStrategies
-} from '@/constant'
+} from '@/constant.js'
+import {
+  validPhone,
+  validEmail
+} from '@/utils/validate.js'
 import {
   getUsersByDepartment,
   addUser,
@@ -99,8 +129,8 @@ import {
   toggleUser,
   updateUserInformLevel,
   getUserInforms
-} from '@/api/user'
-import Settings from './Settings'
+} from '@/api/user.js'
+import Settings from './Settings.vue'
 
 const CustomEvents = Object.freeze([
   { id: 1, level: 0, label: '播控器离线' },
@@ -306,7 +336,7 @@ export default {
       this.$department = { id, path, name }
     },
     onSave (done) {
-      const { username } = this.user
+      const { username, phone, email } = this.user
       if (!username) {
         this.$message({
           type: 'warning',
@@ -328,6 +358,34 @@ export default {
         })
         return
       }
+      if (!phone) {
+        this.$message({
+          type: 'warning',
+          message: '请填写手机号码'
+        })
+        return
+      }
+      if (!validPhone(phone)) {
+        this.$message({
+          type: 'warning',
+          message: '用户手机号码格式错误'
+        })
+        return
+      }
+      if (!email) {
+        this.$message({
+          type: 'warning',
+          message: '请填写电子邮箱'
+        })
+        return
+      }
+      if (!validEmail(email)) {
+        this.$message({
+          type: 'warning',
+          message: '用户电子邮箱格式错误'
+        })
+        return
+      }
       addUser({
         ...this.user,
         ...(