| | |
| | | <template> |
| | | <el-container> |
| | | <el-header>交通统计报表审核系统 - 用户管理</el-header> |
| | | <el-container direction="vertical"> |
| | | <app-header title="交通统计报表审核系统 - 用户管理"></app-header> |
| | | <el-container> |
| | | <el-aside width="200px"> |
| | | <el-menu router :default-active="activeMenu"> |
| | |
| | | <el-menu-item index="/report">报表生成</el-menu-item> |
| | | <el-menu-item index="/rules">规则管理</el-menu-item> |
| | | <el-menu-item index="/users">用户管理</el-menu-item> |
| | | <el-menu-item index="/login" @click="logout">退出登录</el-menu-item> |
| | | </el-menu> |
| | | </el-aside> |
| | | <el-main> |
| | |
| | | </template> |
| | | <script> |
| | | import api from '@/api' |
| | | import AppHeader from '@/components/AppHeader.vue' |
| | | const MODULE_OPTIONS = [ |
| | | { key: 'freight', label: '货运报表' }, |
| | | { key: 'passenger', label: '公路旅客报表' }, |
| | |
| | | { key: 'cityPassenger', label: '城市客运报表' } |
| | | ] |
| | | export default { |
| | | components: { AppHeader }, |
| | | name: 'UserManage', |
| | | data() { |
| | | return { |
| | |
| | | }, |
| | | mounted() { this.loadList() }, |
| | | methods: { |
| | | logout() { |
| | | localStorage.removeItem('token'); localStorage.removeItem('username'); localStorage.removeItem('realName'); localStorage.removeItem('modules') |
| | | this.$router.push('/login') |
| | | }, |
| | | loadList() { |
| | | this.loading = true |
| | | api.get('/user/list', { params: { keyword: this.keyword } }) |
| | | .then(res => { this.list = res.data || [] }) |
| | | .catch(() => this.$message.error('用户列表加载失败')) |
| | | .catch(e => { if (e && e._toast) return; this.$message.error('用户列表加载失败') }) |
| | | .finally(() => { this.loading = false }) |
| | | }, |
| | | moduleKeys(modules) { |
| | |
| | | this.loadList() |
| | | }) |
| | | .catch(err => { |
| | | if (err && err._toast) return |
| | | const d = err && err.response && err.response.data |
| | | this.$message.error((d && d.message) || '保存失败') |
| | | }) |