From 89b24e8ac8377c8f438eae301845cd1e44f0a4ef Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期二, 10 五月 2022 08:38:04 +0800
Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/ztqt
---
src/views/systemManage/userManage/index.vue | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 104 insertions(+), 4 deletions(-)
diff --git a/src/views/systemManage/userManage/index.vue b/src/views/systemManage/userManage/index.vue
index 6db12dd..8db5777 100644
--- a/src/views/systemManage/userManage/index.vue
+++ b/src/views/systemManage/userManage/index.vue
@@ -1,10 +1,19 @@
<template>
<div class="app-container">
- <div>
+ <div class="filter-container">
<el-form :inline="true" :model="queryForm">
<el-form-item label="用户名">
<el-input
v-model="queryForm.username"
+ class="filter-item"
+ placeholder=""
+ style="width: 150px;"
+ @keyup.enter.native="queryHandle"
+ />
+ </el-form-item>
+ <el-form-item label="真实姓名">
+ <el-input
+ v-model="queryForm.realname"
class="filter-item"
placeholder=""
style="width: 150px;"
@@ -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,8 @@
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() != '') {
params[i] = _this.queryForm[i]
@@ -990,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 +1084,70 @@
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')
},
--
Gitblit v1.9.2