From 22bf644b3fc85763be3ad0c5e348d2bee38e2444 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期三, 22 三月 2023 17:07:48 +0800
Subject: [PATCH] Default Changelist

---
 src/views/system/user/component/userDialog.vue |   49 ++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 38 insertions(+), 11 deletions(-)

diff --git a/src/views/system/user/component/userDialog.vue b/src/views/system/user/component/userDialog.vue
index 0eb4dd7..2e0d159 100644
--- a/src/views/system/user/component/userDialog.vue
+++ b/src/views/system/user/component/userDialog.vue
@@ -4,7 +4,7 @@
             <el-form :model="userForm" size="default" ref="userRef" :rules="userFormRules" label-width="90px">
                 <el-row :gutter="35">
                     <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" v-if="disabled">
-                        <el-form-item label="用户名">
+                        <el-form-item label="用户名" prop="username">
                             <el-input v-model.trim="userForm.username" :disabled="disabled" placeholder="" clearable></el-input>
                         </el-form-item>
                     </el-col>
@@ -26,17 +26,24 @@
                         </el-form-item>
                     </el-col>
                     <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+                        <el-form-item label="职务" prop="positionId">
+                            <el-select v-model="userForm.positionId" placeholder="请选择" clearable class="w100">
+                                <el-option v-for="item in dutyData" :key="item.positionId" :label="item.positionName" :value="item.positionId"> </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
                         <el-form-item label="手机号" prop="phone">
                             <el-input v-model.trim="userForm.phone" placeholder="请输入手机号" clearable></el-input>
                         </el-form-item>
                     </el-col>
                     <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-                        <el-form-item label="身份证" prop="identify">
+                        <el-form-item label="身份证">
                             <el-input v-model.trim="userForm.identify" placeholder="请输入身份证" clearable></el-input>
                         </el-form-item>
                     </el-col>
                     <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-                        <el-form-item label="邮箱" prop="email">
+                        <el-form-item label="邮箱">
                             <el-input v-model.trim="userForm.email" placeholder="请输入" clearable></el-input>
                         </el-form-item>
                     </el-col>
@@ -58,7 +65,13 @@
                             </el-input>
                         </el-form-item>
                     </el-col>
-
+                  <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+                    <el-form-item label="用户类型" prop="type">
+                      <el-select v-model="userForm.type" placeholder="请选择" clearable class="w100">
+                        <el-option v-for="item in userTypeList.filter(item => userForm.type === 1 ? item.id === 1 : item.id !== 1)" :key="item.id" :label="item.name" :value="item.id"> </el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
                     <!--					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">-->
                     <!--						<el-form-item label="用户状态">-->
                     <!--							<el-switch v-model="userForm.status" inline-prompt active-value = 1 inactive-value= 0 active-text="启" inactive-text="禁"></el-switch>-->
@@ -84,7 +97,9 @@
 // 定义接口来定义对象的类型
 interface DeptData {}
 interface roleData {}
+interface dutyData {}
 interface sexData {}
+interface type {}
 interface UserState {
     title: string;
     disabled: boolean;
@@ -94,10 +109,11 @@
         realName: string;
         roleId: number | null;
         depId: number | null;
+        positionId: number | null;
         phone: string;
         email: string;
         gender: number | null;
-        positionId: number | null;
+        type: number | null;
         password: string;
         expireTime: string;
         status: number;
@@ -108,7 +124,9 @@
     },
     departmentData: Array<DeptData>;
     roleData: Array<roleData>;
+    dutyData: Array<dutyData>;
     sexList: Array<sexData>;
+    userTypeList: Array<type>;
 }
 
 export default defineComponent({
@@ -129,7 +147,8 @@
                 identify: '',
                 gender: null, // 性别
                 password: '', // 账户密码
-                positionId: 1, // 岗位
+                positionId: null, // 岗位
+                type: null, // 用户类型
                 expireTime: '', // 账户过期
                 status: 1 // 用户状态
             },
@@ -138,25 +157,32 @@
                 realName: [{ required: true, message: '请填写真实姓名', trigger: 'blur' }],
                 roleId: [{ required: true, message: '请选择用户角色', trigger: 'change' }],
                 depId: [{ required: true, message: '请选择部门', trigger: 'change' }],
+                positionId: [{ required: true, message: '请选择职务', trigger: 'change' }],
                 phone: [{ required: true, message: '请填写手机号', trigger: 'blur' }],
-                email: [{ required: true, message: '请填写邮箱地址', trigger: 'blur' }],
-                identify: [{ required: true, message: '请填写身份证号', trigger: 'blur' }],
+                type: [{ required: true, message: '请填写用户类型', trigger: 'blur' }],
                 gender: [{ required: true, message: '请选择性别', trigger: 'change' }],
                 expireTime: [{ required: true, message: '请输入账户过期时间', trigger: 'blur' }],
                 password: [{ required: true, message: '请输入账户密码', trigger: 'blur' }],
             },
             departmentData: [], // 部门数据
             roleData: [], //角色数据
+            dutyData:[], //职务数据
             sexList: [
                 { id: 1, name: '男' },
                 { id: 0, name: '女' }
-            ]
+            ],
+            userTypeList: [
+                { id: 1, name: '超级管理员' },
+                { id: 2, name: '管理员' },
+                { id: 3, name: '普通员工' }
+            ],
         });
         // 打开弹窗
-        const openDialog = (type: string, value: any, departmentList: [], roleList: []) => {
+        const openDialog = (type: string, value: any, departmentList: [], roleList: [], dutyList:[]) => {
             state.isShowUserDialog = true;
             state.departmentData = departmentList;
             state.roleData = roleList;
+            state.dutyData = dutyList
             if (type === '新增') {
                 state.disabled = false
                 state.title = '新增用户';
@@ -168,8 +194,9 @@
                     phone: '',
                     email: '',
                     identify: '',
-                    positionId: 1,
+                    positionId: null,
                     gender: null,
+                    type: null,
                     password: '',
                     expireTime: '',
                     status: 1

--
Gitblit v1.9.2