zhanghua
2022-10-17 d22f9b9278303f340e2f8efd6f5a98f0b614c05c
src/views/systemSetting/baseSetting/department/updateUser/index.vue
@@ -1,31 +1,32 @@
<template>
    <div class="updateUser">
        <header>
            <div class="headerTitle">{{updateFlag ? '修改用户部门信息' :'查看用户信息'}}</div>
        </header>
        <!-- <header>
             <div class="headerTitle">{{updateFlag ? '修改用户部门信息' :'查看用户信息'}}</div>
        </header> -->
        <main>
            <div class="mainContent">
                <el-form ref="user" label-width="140px" autoComplete="on" :model="user" :rules="createUserRules"
                    label-position="right">
                    <!-- 部门id -->
                    <el-form-item class="optionItem" label="部门名称:" prop="id">
                    <!-- 部门id
                    <el-form-item class="optionItem" label="部门id:" prop="id">
                        <el-input v-model="user.id" placeholder="请输入部门名称" :disabled="!updateFlag"></el-input>
                    </el-form-item>
                    </el-form-item> -->
                    <!-- 部门名称 -->
                    <el-form-item class="optionItem" label="部门名称:" prop="departName">
                        <el-input v-model="user.departName" placeholder="请输入部门名称" :disabled="!updateFlag"></el-input>
                    </el-form-item>
                    <!-- 上级部门 -->
                    <el-form-item class="optionItems" label="上级部门:" prop="parentId">
                        <el-select v-model="user.parentId" placeholder="请选择上级部门" :disabled="!updateFlag">
                            <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value">
                        <el-select v-model="user.parentId" placeholder="请选择上级部门" disabled>
                            <el-option v-for="item in departList" :key="item.departName" :label="item.departName"
                                :value="item.id">
                            </el-option>
                        </el-select>
                    </el-form-item>
                    <!-- 部门类型 -->
                    <el-form-item class="optionItem" label="部门类型:" prop="departType">
                        <el-select v-model="user.departType" placeholder="请选择部门类型" :disabled="!updateFlag">
                            <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value">
                            <el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id">
                            </el-option>
                        </el-select>
                    </el-form-item>
@@ -46,36 +47,43 @@
    </div>
</template>
<script>
import {getTypeList} from '@/utils/helper'
export default {
    data() {
        const validateNickname = (rule, value, callback) => {
            if (!value) {
                callback(new Error("请填写部门名称"));
            } else {
                callback();
            }
        };
        const validateId = (rule, value, callback) => {
            if (!value) {
                callback(new Error("请填写部门id"));
            } else {
                callback();
            }
        }
        const validatePass = (rule, value, callback) => {
            if (!value) {
                callback(new Error("请填写登录密码"));
                callback();
            } else {
                const rep = /^\w+$/;
                if (!rep.test(value)) {
                    callback(new Error("密码只能是以数字、26个英文字母或者下划线组成的字符串"));
                }
                callback();
                // const rep = /^\w+$/;
                // if (!rep.test(value)) {
                //     callback(new Error("密码只能是以数字、26个英文字母或者下划线组成的字符串"));
                // }
            }
        };
        const validatePhone = (rule, value, callback) => {
            if (!value) {
                callback(new Error("请填写手机号码"));
                callback();
            } else {
                const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/
                if (!rep.test(value)) {
                    callback("请输入正确的手机号码");
                }
                callback();
                // const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/
                // if (!rep.test(value)) {
                //     callback("请输入正确的手机号码");
                // }
            }
        };
        return {
@@ -103,8 +111,8 @@
                    { required: false, trigger: "blur" },
                ],
            },
            roleList: [
                { name: '角色1', value: 1 }, { name: '角色2', value: 2 }
            departList: [
            ],
            typeList: []
        }
@@ -112,30 +120,40 @@
    created() {
        const that = this;
        this.user = JSON.parse(JSON.stringify(that.userInfo));
        // 获取角色列表
        // this.$axios.get('')
        // 获取用户类型列表
        // this.$axios.get('sccg/admin/list',{userType:0}).then(res=>{
        //     console.log(res);
        // })
        // 获取全部部门列表
        this.$axios.get('sccg/depart/page').then(res => {
            that.typeList = res.data.records;
        })
            that.departList = res.data.records;
        });
        // 获取部门类型
        this.getDepartType();
    },
    methods: {
        handleUser() {
            const { user } = this;
            const that = this;
            this.$axios.post('sccg/depart/update', {
                id: user.id,
                departName: user.departName,
                parentId: user.parentId,
                departDes: user.departDes
            }).then(res => {
                this.$emit('changeDialog',{dialogUpdate:false});
                this.getUserList();
            this.$refs['user'].validate((valid) => {
                if (valid) {
                    const { user } = this;
                    console.log(user)
                    this.$axios.post('sccg/depart/update', {
                        id: user.id,
                        departName: user.departName,
                        parentId: user.parentId,
                        departDes: user.departDes
                    }).then(res => {
                        console.log(res);
                        this.$message({
                            message:res.message,
                            type:res.code === 200 ? 'success' : 'warning',
                        })
                        this.$emit('changeDialog', { flag: false });
                        this.getUserList();
                    })
                } else {
                    return false;
                }
            })
        },
        // 获取部门类型
        async getDepartType(){
           this.typeList =   await getTypeList(1,'08')
        }
    },
    props: ['userInfo', 'updateFlag', 'getUserList', 'changeDialog']
@@ -146,46 +164,24 @@
    border-radius: 1px;
    background-color: #09152f;
    header {
        display: flex;
        justify-content: center;
        height: 60px;
        line-height: 60px;
        padding: 0 20px;
        border: 1px solid #fff;
        .headerTitle {
            color: #4b9bb7;
            font-weight: 600;
        }
        .headerTip span {
            color: #ff3b6c;
        }
        .headerTip label {
            color: #4b9bb7;
        }
    }
    main {
        border: 1px solid #fff;
        // border: 1px solid #fff;
        text-align: left;
        padding: 0 55px;
        background-color: #09152f;
        padding-bottom: 50px;
        .mainTitle {
            color: #4b9bb7;
            font-weight: 600;
            line-height: 100px;
            font-size: 14px;
        }
        // .mainTitle {
        //     color: #4b9bb7;
        //     font-weight: 600;
        //     line-height: 100px;
        //     font-size: 14px;
        // }
        .mainContent {
            display: flex;
            justify-content: center;
            margin-top: 50px;
            padding-top: 50px;
            .el-form-item__content {
                width: 400px;