|
@@ -1,177 +1,3 @@
|
|
|
<template>
|
|
|
- <div class="app-container">
|
|
|
- <div class="filter-container">
|
|
|
- <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-edit" @click="handleCreate">
|
|
|
- 添加用户
|
|
|
- </el-button>
|
|
|
- </div>
|
|
|
- <el-table :key="tableKey" v-loading="listLoading" :data="list" border fit highlight-current-row style="width:100%">
|
|
|
- <el-table-column align="center" width="50">
|
|
|
- <template slot-scope="scope">{{ scope.$index + 1 }}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="头像" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <img :src="scope.row.avatar" alt="" width="50" height="50">
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="登录名" align="center">
|
|
|
- <template slot-scope="scope">{{ scope.row.name }}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="姓名" width="100" align="center">
|
|
|
- <template slot-scope="scope">{{ scope.row.desc }}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="创建时间" align="center">
|
|
|
- <template slot-scope="scope">{{ scope.row.creatTime }}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="更新时间" align="center">
|
|
|
- <template slot-scope="scope">{{ scope.row.updateTime }}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作" width="200" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button size="mini" type="text" @click="handleUpdate(scope.$index, scope.row)">修改
|
|
|
- </el-button>
|
|
|
- <el-button size="mini" type="text" @click="handleDelete(scope.$index, scope.row)">删除
|
|
|
- </el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
-
|
|
|
- <pagination v-show="total>0" :total="total" :page.sync="listQuery.pageNum" :limit.sync="listQuery.pageSize" @pagination="getList" />
|
|
|
-
|
|
|
- </div>
|
|
|
+ <router-view />
|
|
|
</template>
|
|
|
-
|
|
|
-<script>
|
|
|
-import { fetchList, deleteMenu } from '@/api/menu'
|
|
|
-import Pagination from '@/components/Pagination'
|
|
|
-
|
|
|
-export default {
|
|
|
- name: 'MenuList',
|
|
|
- components: { Pagination },
|
|
|
- filters: {
|
|
|
- levelFilter(value) {
|
|
|
- if (value === 0) {
|
|
|
- return '一级'
|
|
|
- } else if (value === 1) {
|
|
|
- return '二级'
|
|
|
- }
|
|
|
- },
|
|
|
- iconFilter(value) {
|
|
|
- if (!value) {
|
|
|
- return ''
|
|
|
- }
|
|
|
- if (value.substr(0, 7) === 'el-icon') {
|
|
|
- return '<i class="' + value + '" />'
|
|
|
- } else {
|
|
|
- return '<svg-icon :icon-class="' + value + '" />'
|
|
|
- }
|
|
|
- },
|
|
|
- disableNextLevel(value) {
|
|
|
- if (value === 0) {
|
|
|
- return false
|
|
|
- } else {
|
|
|
- return true
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- tableKey: 0,
|
|
|
- list: [
|
|
|
- {
|
|
|
- id: 1,
|
|
|
- avatar: 'https://www.caimei365.com/favicon.png?imageView2/1/w/80/h/80',
|
|
|
- name: 'admin',
|
|
|
- desc: '超超',
|
|
|
- creatTime: '2021-12-16 16:15:52',
|
|
|
- updateTime: '2021-12-16 16:15:52'
|
|
|
- },
|
|
|
- {
|
|
|
- id: 2,
|
|
|
- avatar: 'https://www.caimei365.com/favicon.png?imageView2/1/w/80/h/80',
|
|
|
- name: 'zhengjigyi',
|
|
|
- desc: '翼翼',
|
|
|
- creatTime: '2021-12-16 16:15:52',
|
|
|
- updateTime: '2021-12-16 16:15:52'
|
|
|
- },
|
|
|
- {
|
|
|
- id: 3,
|
|
|
- avatar: 'https://www.caimei365.com/favicon.png?imageView2/1/w/80/h/80',
|
|
|
- name: 'wuxiaoyan',
|
|
|
- desc: 'yanyan',
|
|
|
- creatTime: '2021-12-16 16:15:52',
|
|
|
- updateTime: '2021-12-16 16:15:52'
|
|
|
- }
|
|
|
- ],
|
|
|
- total: 5,
|
|
|
- listLoading: false,
|
|
|
- listQuery: {
|
|
|
- pageNum: 1,
|
|
|
- pageSize: 10,
|
|
|
- parentId: 0
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- watch: {
|
|
|
- $route(route) {
|
|
|
- this.resetParentId()
|
|
|
- // this.getList()
|
|
|
- }
|
|
|
- },
|
|
|
- created() {
|
|
|
- this.resetParentId()
|
|
|
- // this.getList()
|
|
|
- },
|
|
|
- methods: {
|
|
|
- isElementIcon(value) {
|
|
|
- return value.substr(0, 7) === 'el-icon'
|
|
|
- },
|
|
|
- resetParentId() {
|
|
|
- this.listQuery.pageNum = 1
|
|
|
- if (this.$route.query.parentId != null) {
|
|
|
- this.parentId = this.$route.query.parentId
|
|
|
- } else {
|
|
|
- this.parentId = 0
|
|
|
- }
|
|
|
- },
|
|
|
- getList() {
|
|
|
- this.listLoading = true
|
|
|
- fetchList(this.listQuery).then(response => {
|
|
|
- this.listLoading = false
|
|
|
- console.log(response)
|
|
|
- this.list = response.data.results
|
|
|
- this.total = response.data.totalRecord
|
|
|
- // Just to simulate the time of the request
|
|
|
- setTimeout(() => {
|
|
|
- this.listLoading = false
|
|
|
- }, 1.5 * 1000)
|
|
|
- })
|
|
|
- },
|
|
|
- handleUpdate(index, row) {
|
|
|
- this.$router.push({ path: '/sys/users/form', query: { id: row.id }})
|
|
|
- },
|
|
|
- handleCreate() {
|
|
|
- this.$router.push({ path: '/sys/users/form' })
|
|
|
- },
|
|
|
- handleDelete(index, row) {
|
|
|
- this.$confirm('是否要删除该菜单', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- deleteMenu(row.id).then(response => {
|
|
|
- this.$message({
|
|
|
- message: '删除成功',
|
|
|
- type: 'success',
|
|
|
- duration: 1000
|
|
|
- })
|
|
|
- this.getList()
|
|
|
- })
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-</script>
|
|
|
-
|
|
|
-<style scoped>
|
|
|
-</style>
|