| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParam" ref="queryForm" :inline="true"> |
| | | <el-form-item label="用户名:"> |
| | | <el-input v-model="queryParam.userName"></el-input> |
| | | <el-form-item label="真实姓名:"> |
| | | <el-input v-model="queryParam.realName" @input="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="submitForm">查询</el-button> |
| | | <el-button type="primary" @click="submitForm" size="small">查询</el-button> |
| | | <router-link :to="{path:'/user/student/edit'}" class="link-left"> |
| | | <el-button type="primary">添加</el-button> |
| | | <el-button type="primary" size="small">添加</el-button> |
| | | </router-link> |
| | | <el-button class="link-left" type="danger" @click="exportExcel" size="small">下载导入模板</el-button> |
| | | <el-upload |
| | | class="link-left" |
| | | style="display: inline;" |
| | | accept=".xls,.xlsx" |
| | | :multiple="false" |
| | | action="/api/admin/user/import" |
| | | :with-credentials="true" |
| | | :on-success="importSuccess" |
| | | :show-file-list="false"> |
| | | <el-button type="success" size="small">导入</el-button> |
| | | </el-upload> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%"> |
| | | <el-table-column prop="userName" label="用户名"/> |
| | | <el-table-column prop="realName" label="真实姓名" /> |
| | | <el-table-column prop="userLevel" label="学级" :formatter="levelFormatter"/> |
| | | <!-- <el-table-column prop="userLevel" label="学级" :formatter="levelFormatter"/>--> |
| | | <el-table-column prop="sex" label="性别" width="60px;" :formatter="sexFormatter"/> |
| | | <el-table-column label="班级"> |
| | | <template slot-scope="scope"> |
| | | <span v-if="Array.isArray(scope.row.className) && scope.row.className.length > 0"> |
| | | {{ scope.row.className.join(', ') }} |
| | | </span> |
| | | <span v-else>-</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="phone" label="手机号"/> |
| | | <el-table-column prop="createTime" label="创建时间" width="160px"/> |
| | | <el-table-column label="状态" prop="status" width="70px"> |
| | |
| | | <router-link :to="{path:'/log/user/list', query:{userId:row.id}}" class="link-left"> |
| | | <el-button size="mini" >日志</el-button> |
| | | </router-link> |
| | | <el-button size="mini" type="danger" @click="deleteUser(row)" class="link-left">删除</el-button> |
| | | <el-popconfirm |
| | | style="margin: 0 5px" |
| | | title="确定要删除该成员吗?" |
| | | @confirm="deleteUser(row)" |
| | | > |
| | | <el-button slot="reference" type="danger" size="mini">删除</el-button> |
| | | </el-popconfirm> |
| | | <el-button size="mini" @click="resetPassword(row)" type="success" class="link-left">重置密码</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | data () { |
| | | return { |
| | | queryParam: { |
| | | userName: '', |
| | | realName: '', |
| | | role: 1, |
| | | pageIndex: 1, |
| | | pageSize: 10 |
| | |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | importSuccess (response) { |
| | | this.$message.success(response.message); |
| | | this.search(); |
| | | }, |
| | | exportExcel () { |
| | | let url = '/api/admin/user/importTemplate' |
| | | var x = new XMLHttpRequest() |
| | | x.open('GET', url, true) |
| | | x.responseType = 'blob' |
| | | x.onload = function () { |
| | | var url = window.URL.createObjectURL(x.response) |
| | | var a = document.createElement('a') |
| | | a.href = url |
| | | a.download = '用户导入模板.xlsx' |
| | | a.click() |
| | | } |
| | | x.send() |
| | | }, |
| | | search () { |
| | | this.listLoading = true |
| | | userApi.getUserPageList(this.queryParam).then(data => { |
| | |
| | | }) |
| | | }, |
| | | deleteUser (row) { |
| | | let _this = this |
| | | userApi.deleteUser(row.id).then(re => { |
| | | if (re.code === 1) { |
| | | _this.search() |
| | | _this.$message.success(re.message) |
| | | } else { |
| | | _this.$message.error(re.message) |
| | | } |
| | | this.$confirm('此操作将永久删除该成员, 是否继续?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | let _this = this |
| | | userApi.deleteUser(row.id).then(re => { |
| | | if (re.code === 1) { |
| | | _this.search() |
| | | _this.$message.success(re.message) |
| | | } else { |
| | | _this.$message.error(re.message) |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | submitForm () { |
| | |
| | | }, |
| | | statusBtnFormatter (status) { |
| | | return this.enumFormat(this.statusBtn, status) |
| | | } |
| | | }, |
| | | resetPassword(row) { |
| | | this.$confirm('此操作将重置该成员的密码, 是否继续?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | userApi.resetUserPassword(row.id).then(re => { |
| | | if (re.code === 1) { |
| | | this.$message.success(re.message) |
| | | } else { |
| | | this.$message.error(re.message) |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | }, |
| | | computed: { |
| | | ...mapGetters('enumItem', [ |