Преглед на файлове

新增/编辑用户不必填手机和邮箱

cxmo преди 1 година
родител
ревизия
efc41e3aa1

+ 12 - 0
src/utils/commonOptions.js

@@ -0,0 +1,12 @@
+
+//系统支持的手机区号,统一管理
+export const areaCode = [
+    { value: '86', label: '+86' },
+    { value: '852', label: "+852" },
+    { value: '886', label: '+886' },
+    { value: '1', label: '+1' },
+    { value: '65', label: '+65' },
+    { value: '62', label: '+62' },
+    { value:'081',label: '+081' },
+    { value:'44',label: '+44' }
+]

+ 2 - 10
src/views/login_manage/MobileModel.vue

@@ -53,6 +53,7 @@
 </template>
 
 <script>
+import {areaCode} from '@/utils/commonOptions';
 export default {
     props:{
         mobileCheck:{
@@ -66,16 +67,7 @@ export default {
     },
     data() {
         return {
-            areaCode:[//手机区号
-                { value: '86', label: '+86' },
-                { value: '852', label: "+852" },
-                { value: '886', label: '+886' },
-                { value: '1', label: '+1' },
-                { value: '65', label: '+65' },
-                { value: '62', label: '+62' },
-                { value:'081',label: '+081' },
-                { value:'44',label: '+44' }
-            ],
+            areaCode:areaCode,
             areaCodeSelect:'86',
             picSrc:'',
             canRequest:false,

+ 38 - 5
src/views/system_manage/components/addUserDialog.vue

@@ -20,15 +20,22 @@
                 <el-input v-model="userForm.name" placeholder="请输入用户名称"  clearable>
                 </el-input>
             </el-form-item>
-            <el-form-item label="手机号码" prop="mobile">
-                <el-input v-model="userForm.mobile" placeholder="请输入手机号码" clearable>
+            <el-form-item label="手机号码" prop="mobile" class="mobile-input-item">
+                <el-input v-model="userForm.mobile" placeholder="请输入手机号码" clearable class="mobile-input">
                 </el-input>
+                <el-select v-model="areaCodeSelect" class="mobile-select" placeholder="请选择">
+                    <el-option v-for="item in areaCode" :key="item.value"
+                        :label="item.label" :value="item.value" />
+                </el-select>
             </el-form-item>
             <el-form-item label="所属部门" prop="depart" v-if="userForm.title == '添加用户'">
                 <el-cascader :options="departArr" v-model="userForm.depart" :props="form_departProp"
                     placeholder="请选择部门分组" clearable>
                 </el-cascader>
             </el-form-item>
+            <el-form-item label="邮箱" prop="email">
+                <el-input v-model="userForm.email" placeholder="请输入邮箱"></el-input>
+            </el-form-item>
             <el-form-item label="工号" prop="employeeNumber">
                 <el-input :disabled="hasEmployeeNo" v-model="userForm.employeeNumber" placeholder="请输入工号"></el-input>
             </el-form-item>
@@ -68,7 +75,8 @@
 </template>
 
 <script>
-import searchDistPicker from '@/components/searchDistPicker.vue'
+import searchDistPicker from '@/components/searchDistPicker.vue';
+import {areaCode} from '@/utils/commonOptions';
     export default {
         props: {
             isAddUserDialogShow: {
@@ -106,14 +114,23 @@ import searchDistPicker from '@/components/searchDistPicker.vue'
                     pwd:[{ required: true, message: '登录密码不能为空', trigger: 'blur' }],
                     name:[{ required: true, message: '姓名不能为空', trigger: 'blur' }],
                     mobile:[{ validator: (rule, value, callback) => {
-                        if (value === '') {
-                            callback(new Error('手机号码不能为空'));
+                        if (value === ''&&!this.userForm.email) {
+                            callback(new Error('手机号码和邮箱至少填一个'));
                         }else if(isNaN(value.trim())) {
                             callback(new Error('请输入正确的手机号格式'));
                         } else {
                             callback();
                         }
                     }, trigger: 'blur'}],
+                    email:[{ validator: (rule, value, callback) => {
+                        if (value === ''&&!this.userForm.mobile) {
+                            callback(new Error('手机号码和邮箱至少填一个'));
+                        }/* else if(isNaN(value.trim())) {
+                            callback(new Error('请输入正确的手机号格式'));
+                        } */ else {
+                            callback();
+                        }
+                    }, trigger: 'blur'}],
                     depart:[{ required: true, message: '部门分组不能为空', trigger: 'change' }],
                     employeeNumber:[{validator:(rule,value,callback)=>{
                         if(!value){
@@ -142,6 +159,8 @@ import searchDistPicker from '@/components/searchDistPicker.vue'
                     children:'tags',
                     multiple: true
                 }, //研究方向选择配置
+                areaCodeSelect:'86',//区号配置
+                areaCode:areaCode,
             };
         },
         methods: {
@@ -163,6 +182,20 @@ import searchDistPicker from '@/components/searchDistPicker.vue'
             width:145px;
         }
     }
+    .mobile-input-item{
+        position:relative;
+        .mobile-select{
+            position:absolute;
+            top:0;
+            left:0;
+            width:80px !important;
+        }
+        .mobile-input{
+            .el-input__inner{
+                padding-left: 95px !important;
+            }
+        }
+    }
 }
 </style>
 <style scoped lang="scss">

+ 1 - 0
src/views/system_manage/departManage.vue

@@ -666,6 +666,7 @@ export default {
 				direct:'',
 				province:'',
 				city:'',
+				email:'',
 			},//用户详情信息
 			authList:[],//权限列表
 			click_roleId:'',//角色id