From 30e36368e54581fcc0c581a004f1f68873c1e819 Mon Sep 17 00:00:00 2001 From: Your Name <123456> Date: 星期二, 10 五月 2022 08:37:34 +0800 Subject: [PATCH] 地图 --- src/views/systemManage/userManage/index.vue | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 102 insertions(+), 4 deletions(-) diff --git a/src/views/systemManage/userManage/index.vue b/src/views/systemManage/userManage/index.vue index 1dc2708..8db5777 100644 --- a/src/views/systemManage/userManage/index.vue +++ b/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: '绑定成功', -- Gitblit v1.9.2