Your Name
2022-05-10 30e36368e54581fcc0c581a004f1f68873c1e819
src/views/systemManage/userManage/index.vue
@@ -11,6 +11,15 @@
                        @keyup.enter.native="queryHandle"
                    />
                </el-form-item>
                <el-form-item label="真实姓名">
                    <el-input
                        v-model="queryForm.realname"
                        class="filter-item"
                        placeholder=""
                        style="width: 150px;"
                        @keyup.enter.native="queryHandle"
                    />
                </el-form-item>
                <el-form-item label="单位">
                    <el-input
                        v-model="queryForm.company"
@@ -67,6 +76,17 @@
                        icon="el-icon-upload2"
                        @click="showImportHandle"
                    >导入</el-button>
                </el-form-item>
                <el-form-item>
                    <el-button
                        v-if="getBtnPermission('export')"
                        v-show="userType != 3"
                        class="filter-item"
                        style="margin-left: 10px;"
                        type="primary"
                        icon="el-icon-upload2"
                        @click="showExportHandle"
                    >导出</el-button>
                </el-form-item>
            </el-form>
        </div>
@@ -328,11 +348,11 @@
                <el-row>
                    <el-col :span="12">
                        <el-form-item label="单位:" prop="company">
                            <el-select v-model.trim="dataForm.company"  auto-complete="on" style="width:100%;">
                            <el-select v-model.trim="dataForm.company"  value-key="item" auto-complete="on" style="width:100%;" @change="companyChange">
                                <el-option
                                    v-for="item in companyList"
                                    :key="item.id"
                                    :value="item.company"
                                    :value="item"
                                    :label="item.company"
                                >
                                </el-option>
@@ -340,7 +360,7 @@
                        </el-form-item>
                    </el-col>
                    <el-col :span="12">
                        <el-form-item label="部门:" prop="department">
                        <el-form-item label="部门:" prop="department" v-if="isMain">
                            <el-select v-model.trim="dataForm.department"  auto-complete="on" style="width:100%;">
                                <el-option
                                    v-for="item in departmentList"
@@ -634,8 +654,10 @@
                tableKey: 0,
                userData: null,
                listLoading: true,
                isMain:false,
                iscompanyList:[{id:1,name:'否'},{id:0,name:'是'}],
                queryForm: {
                    realname:'',
                    username: '',
                    company:'',
                    department:'',
@@ -710,6 +732,7 @@
                userRoleDataFormRules: {
                    userRoles: [{ type: 'array', required: true, message: '角色不能为空', trigger: 'change' }]
                },
                typeList:[{id:1,name:'超级管理员'},{id:2,name:'管理员'},{id:3,name:'普通用户'}],
                roleList: [],
                passwordType: 'password',
                confirmPasswordType: 'password',
@@ -739,6 +762,15 @@
                this.order = param.order;
                this.getUserList()
            },
            companyChange(val){
                this.dataForm.company = val.company
                if (val.ismain === 1) {
                    this.isMain = true;
                }else{
                    this.isMain = false;
                    this.dataForm.department = ''
                }
            },
            getUserList() {
                const _this = this
                const params = {}
@@ -747,6 +779,7 @@
                params['pageIndex'] = _this.currentPage
                params['pageSize'] = _this.pageSize
                params['type'] = _this.userType
                params['realname'] = _this.realname
                params['isMain'] = true
                for (const i in _this.queryForm) {
                    if (_this.queryForm[i] != undefined && _this.queryForm[i].toString() != '') {
@@ -991,6 +1024,8 @@
                this.dataForm.password = null
                this.dialogStatus = 'update'
                this.dialogFormVisible = true
                let ismain = this.companyList.find(item=>item.company === row.company).ismain
                this.isMain = ismain === 1;
                this.$nextTick(() => {
                    this.$refs['dataForm'].clearValidate()
                })
@@ -1048,6 +1083,70 @@
            showImportHandle() {
                this.importDisabled = false
                this.importDialogFormVisible = true
            },
            showExportHandle() {
                const _this = this
                const params = {}
                params['sort'] = _this.sort
                params['order'] = _this.order
                params['pageIndex'] = 0
                params['pageSize'] = 99999
                params['type'] = _this.userType
                params['realname'] = _this.realname
                params['isMain'] = true
                for (const i in _this.queryForm) {
                    if (_this.queryForm[i] != undefined && _this.queryForm[i].toString() != '') {
                        params[i] = _this.queryForm[i]
                    }
                }
                userList(params)
                    .then((response) => {
                        const res = response.data
                        if (res.code == 200) {
                            const allData = res.result.result
                            if (allData.length == 0) {
                                parseError({ error: '没有录入数据', vm: _this })
                                return
                            }
                            import('@/vendor/Export2Excel').then((excel) => {
                                const tHeader = [
                                    '用户名',
                                    '真实姓名',
                                    '身份证号',
                                    '单位',
                                    '部门',
                                    '职位',
                                    '用户类型',
                                    '角色',
                                ]
                                const data =  allData.map(v=>{
                                    return [
                                        v.username,
                                        v.realname,
                                        v.idcard,
                                        v.company,
                                        v.department,
                                        v.job,
                                        this.typeList.find(item=>item.id === v.type).name,
                                        v.roles.map(item=>item.name).join(","),
                                    ]
                                })
                                excel.export_json_to_excel({
                                    header: tHeader,
                                    data,
                                    filename: '用户'
                                })
                            })
                        } else {
                            parseError({ error: res.message, vm: _this })
                        }
                    })
                    .catch((error) => {
                        parseError({ error: error, vm: _this })
                    })
            },
            viewHandle() {
                window.open(exampleFile, '_blank')
@@ -1244,7 +1343,6 @@
                const _this = this;
                bindCard(_this.cardDataForm).then(response => {
                    const res = response.data
                    debugger
                    if (res.code === '200'){
                        _this.$message({
                            message: '绑定成功',