马宇豪
2023-03-22 22bf644b3fc85763be3ad0c5e348d2bee38e2444
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,11 +26,11 @@
                        </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-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">
@@ -65,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>-->
@@ -93,6 +99,7 @@
interface roleData {}
interface dutyData {}
interface sexData {}
interface type {}
interface UserState {
    title: string;
    disabled: boolean;
@@ -106,6 +113,7 @@
        phone: string;
        email: string;
        gender: number | null;
        type: number | null;
        password: string;
        expireTime: string;
        status: number;
@@ -118,6 +126,7 @@
    roleData: Array<roleData>;
    dutyData: Array<dutyData>;
    sexList: Array<sexData>;
    userTypeList: Array<type>;
}
export default defineComponent({
@@ -139,6 +148,7 @@
                gender: null, // 性别
                password: '', // 账户密码
                positionId: null, // 岗位
                type: null, // 用户类型
                expireTime: '', // 账户过期
                status: 1 // 用户状态
            },
@@ -149,6 +159,7 @@
                depId: [{ required: true, message: '请选择部门', trigger: 'change' }],
                positionId: [{ required: true, message: '请选择职务', trigger: 'change' }],
                phone: [{ 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' }],
@@ -159,7 +170,12 @@
            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: [], dutyList:[]) => {
@@ -180,6 +196,7 @@
                    identify: '',
                    positionId: null,
                    gender: null,
                    type: null,
                    password: '',
                    expireTime: '',
                    status: 1