提供了前端分页mixin解决方案
This commit is contained in:
20
QMPlusVuePage/src/api/api.js
Normal file
20
QMPlusVuePage/src/api/api.js
Normal file
@@ -0,0 +1,20 @@
|
||||
import service from '@/utils/request'
|
||||
// @Tags api
|
||||
// @Summary 分页获取角色列表
|
||||
// @Security ApiKeyAuth
|
||||
// @accept application/json
|
||||
// @Produce application/json
|
||||
// @Param data body modelInterface.PageInfo true "分页获取用户列表"
|
||||
// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}"
|
||||
// @Router /api/getApiList [post]
|
||||
// {
|
||||
// page int
|
||||
// pageSize int
|
||||
// }
|
||||
export const getApiList = (data) => {
|
||||
return service({
|
||||
url: "/api/getApiList",
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
@@ -1,14 +1,62 @@
|
||||
<template>
|
||||
<div>
|
||||
新建api
|
||||
<div>
|
||||
<div class="button-box clearflex">
|
||||
<el-button @click="addApi" type="primary">新增api</el-button>
|
||||
</div>
|
||||
<el-table :data="tableData" border stripe>
|
||||
<el-table-column label="id" min-width="180" prop="ID"></el-table-column>
|
||||
<el-table-column label="api路径" min-width="180" prop="path"></el-table-column>
|
||||
<el-table-column label="api简介" min-width="180" prop="description"></el-table-column>
|
||||
<el-table-column fixed="right" label="操作" width="200">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="editApi(scope.row)" size="small" type="text">编辑</el-button>
|
||||
<el-button @click="deleteApi(scope.row)" size="small" type="text">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:current-page="page"
|
||||
:page-size="pageSize"
|
||||
:page-sizes="[10, 30, 50, 100]"
|
||||
:style="{float:'right',padding:'20px'}"
|
||||
:total="total"
|
||||
@current-change="handleCurrentChange"
|
||||
@size-change="handleSizeChange"
|
||||
hide-on-single-page
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
></el-pagination>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getApiList } from '@/api/api'
|
||||
import infoList from '@/view/superAdmin/mixins/infoList'
|
||||
|
||||
export default {
|
||||
name:"Api",
|
||||
name: 'Api',
|
||||
mixins:[infoList],
|
||||
data() {
|
||||
return {
|
||||
listApi: getApiList,
|
||||
listKey:'list'
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
addApi() {},
|
||||
editApi() {},
|
||||
deleteApi() {}
|
||||
},
|
||||
created() {
|
||||
this.getTableData()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss">
|
||||
|
||||
<style scoped lang="scss">
|
||||
.button-box {
|
||||
padding: 10px 20px;
|
||||
.el-button {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
</style>
|
@@ -67,15 +67,15 @@ import {
|
||||
createAuthority
|
||||
} from '@/api/authority'
|
||||
import { getBaseMenuTree, addMenuAuthority, getMenuAuthority } from '@/api/menu'
|
||||
import infoList from '@/view/superAdmin/mixins/infoList'
|
||||
export default {
|
||||
name: 'Authority',
|
||||
mixins:[infoList],
|
||||
data() {
|
||||
return {
|
||||
listApi: getAuthorityList,
|
||||
listKey:'list',
|
||||
activeUserId: 0,
|
||||
page: 1,
|
||||
total: 10,
|
||||
pageSize: 10,
|
||||
tableData: [],
|
||||
treeData: [],
|
||||
treeIds: [],
|
||||
defaultProps: {
|
||||
@@ -91,16 +91,6 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 条数
|
||||
handleSizeChange(val) {
|
||||
this.pageSize = val
|
||||
this.getAuthList()
|
||||
},
|
||||
// 页码
|
||||
handleCurrentChange(val) {
|
||||
this.page = val
|
||||
this.getAuthList()
|
||||
},
|
||||
// 删除角色
|
||||
deleteAuth(row) {
|
||||
this.$confirm('此操作将永久删除该角色, 是否继续?', '提示', {
|
||||
@@ -115,7 +105,7 @@ export default {
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
this.getAuthList()
|
||||
this.getTableData()
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
@@ -145,7 +135,7 @@ export default {
|
||||
type: 'success',
|
||||
message: '添加成功!'
|
||||
})
|
||||
this.getAuthList()
|
||||
this.getTableData()
|
||||
this.closeDialog()
|
||||
}
|
||||
this.initForm()
|
||||
@@ -155,11 +145,7 @@ export default {
|
||||
addAuthority() {
|
||||
this.dialogFormVisible = true
|
||||
},
|
||||
// 获取用户列表
|
||||
async getAuthList(page = this.page, pageSize = this.pageSize) {
|
||||
const table = await getAuthorityList({ page, pageSize })
|
||||
this.tableData = table.data.authList
|
||||
},
|
||||
|
||||
// 关联用户列表关系
|
||||
async addAuthMenu(row) {
|
||||
const res1 = await getMenuAuthority({ authorityId: row.authorityId })
|
||||
@@ -194,11 +180,11 @@ export default {
|
||||
// 获取基础menu树
|
||||
},
|
||||
created() {
|
||||
this.getAuthList()
|
||||
this.getTableData()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss">
|
||||
<style scoped lang="scss">
|
||||
.button-box {
|
||||
padding: 10px 20px;
|
||||
.el-button {
|
||||
|
@@ -80,14 +80,14 @@
|
||||
|
||||
<script>
|
||||
import { getMenuList, addBaseMenu, deleteBaseMenu } from '@/api/menu'
|
||||
import infoList from '@/view/superAdmin/mixins/infoList'
|
||||
export default {
|
||||
name: 'Menus',
|
||||
mixins:[infoList],
|
||||
data() {
|
||||
return {
|
||||
page: 1,
|
||||
total: 10,
|
||||
pageSize: 10,
|
||||
tableData: [],
|
||||
listApi:getMenuList,
|
||||
listKey:'list',
|
||||
dialogFormVisible: false,
|
||||
form: {
|
||||
path: '',
|
||||
@@ -103,14 +103,6 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleSizeChange(val) {
|
||||
this.pageSize = val
|
||||
this.getMenuList()
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.page = val
|
||||
this.getMenuList()
|
||||
},
|
||||
deleteMenu(ID) {
|
||||
this.$confirm('此操作将永久删除所有角色下该菜单, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
@@ -124,7 +116,7 @@ export default {
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
})
|
||||
this.getMenuList()
|
||||
this.getTableData()
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
@@ -158,7 +150,7 @@ export default {
|
||||
type: 'success',
|
||||
message: '添加成功!'
|
||||
})
|
||||
this.getAuthList()
|
||||
this.getTableData()
|
||||
this.closeDialog()
|
||||
} else {
|
||||
this.$message({
|
||||
@@ -174,17 +166,11 @@ export default {
|
||||
this.form.parentId = String(id)
|
||||
this.dialogFormVisible = true
|
||||
},
|
||||
async getMenuList(page = this.page, pageSize = this.pageSize) {
|
||||
const table = await getMenuList({ page, pageSize })
|
||||
this.tableData = table.data.menuList
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getMenuList()
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss">
|
||||
<style scoped lang="scss">
|
||||
.button-box {
|
||||
padding: 10px 20px;
|
||||
.el-button {
|
||||
|
28
QMPlusVuePage/src/view/superAdmin/mixins/infoList.js
Normal file
28
QMPlusVuePage/src/view/superAdmin/mixins/infoList.js
Normal file
@@ -0,0 +1,28 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
page: 1,
|
||||
total: 10,
|
||||
pageSize: 10,
|
||||
tableData: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleSizeChange(val) {
|
||||
this.pageSize = val
|
||||
this.getTableData()
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.page = val
|
||||
this.getTableData()
|
||||
},
|
||||
async getTableData(page = this.page, pageSize = this.pageSize) {
|
||||
const table = await this.listApi({ page, pageSize })
|
||||
this.tableData = table.data[this.listKey]
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getTableData()
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user