diff --git a/src/api/miniUser.js b/src/api/miniUser.js
new file mode 100644
index 0000000000000000000000000000000000000000..a0236c460b636c87fabe64110b9ddcbd5f51a071
--- /dev/null
+++ b/src/api/miniUser.js
@@ -0,0 +1,21 @@
+import request from '@/utils/request'
+
+const api = {
+ miniUserList: '/user/selectAll',
+ miniUserStatusModify: '/user/updateRole'
+}
+
+export function getMiniUserList (parameter) {
+ return request({
+ url: api.miniUserList + `/pageNum/${parameter.pageNo ? parameter.pageNo : 1}/pageSize/${parameter.pageSize ? parameter.pageSize : 20}`,
+ method: 'get'
+ })
+}
+
+export function modifyMiniUserStatus (parameter) {
+ return request({
+ url: api.miniUserStatusModify,
+ method: 'post',
+ data: parameter
+ })
+}
diff --git a/src/config/router.config.js b/src/config/router.config.js
index b581baafd8ee1f2c7f57f512552ad61263b5ae78..fd679146f32e2febcd7d079aba0d8a88b49f5f33 100644
--- a/src/config/router.config.js
+++ b/src/config/router.config.js
@@ -50,6 +50,21 @@ export const asyncRouterMap = [
meta: { title: 'menu.orderManagement.orderDetail', keepAlive: false }
}
]
+ },
+ {
+ path: '/userManagement',
+ name: 'UserManagement',
+ component: RouteView,
+ redirect: '/userManagement/miniUserList',
+ meta: { title: 'menu.userManagement', keepAlive: true, icon: 'account-book', permission: ['dashboard'] },
+ children: [
+ {
+ path: '/UserManagement/miniUserList',
+ name: 'MiniUserList',
+ component: () => import('@/views/UserManagement/miniUserList/MiniUserList'),
+ meta: { title: 'menu.userManagement.miniUserList', keepAlive: false, permission: ['dashboard'] }
+ }
+ ]
}
]
// children: [
diff --git a/src/core/global.js b/src/core/global.js
index 0fe30bb6798e74cbe9d05d643bfdc01c51fd5dc5..4c127040fa304b51af8d8f77de88b81f7eb9c88b 100644
--- a/src/core/global.js
+++ b/src/core/global.js
@@ -24,3 +24,22 @@ export const statusMap = {
}
}
}
+
+export const UserstatusMap = {
+ 'user': {
+ status: 'processing',
+ text: '普通用户',
+ dropDownIcon: {
+ type: 'clock-circle',
+ color: '#1890ff'
+ }
+ },
+ 'agent': {
+ status: 'success',
+ text: '代理用户',
+ dropDownIcon: {
+ type: 'check-circle',
+ color: '#52c41a'
+ }
+ }
+}
diff --git a/src/locales/lang/zh-CN/menu.js b/src/locales/lang/zh-CN/menu.js
index a59b25c4e87cc3b5ca862167b3ef999372d1fd34..ca9e8fd8d825b61bcecca7f251515b0fcd9f42cd 100644
--- a/src/locales/lang/zh-CN/menu.js
+++ b/src/locales/lang/zh-CN/menu.js
@@ -4,6 +4,8 @@ export default {
'menu.bookManagement': '书本管理',
'menu.bookManagement.bookList': '书本列表',
'menu.orderManagement': '订单管理',
+ 'menu.userManagement': '用户管理',
+ 'menu.userManagement.miniUserList': '小程序用户',
'menu.orderManagement.orderList': '订单列表',
'menu.orderManagement.orderDetail': '订单详情',
'menu.dashboard': '仪表盘',
diff --git a/src/mock/index.js b/src/mock/index.js
index b38c80a03ee6d8535cf2567fae354491d3157ff7..e4b4ef09b8ff605675a4ebe530d5c763c31f71b3 100644
--- a/src/mock/index.js
+++ b/src/mock/index.js
@@ -17,6 +17,7 @@ if (isMock()) {
require('./services/article')
require('./services/books')
require('./services/orders')
+ require('./services/miniUser')
Mock.setup({
timeout: 800 // setter delay time
diff --git a/src/mock/services/miniUser.js b/src/mock/services/miniUser.js
new file mode 100644
index 0000000000000000000000000000000000000000..c6396ad9991ea4ef3e12efcc133aaa1442d71573
--- /dev/null
+++ b/src/mock/services/miniUser.js
@@ -0,0 +1,33 @@
+import Mock from 'mockjs2'
+import { builder } from '../util'
+
+const totalCount = 100
+
+const Random = Mock.Random
+
+const miniUserList = (options) => {
+ const arr = options.url.split('/')
+ const result = []
+ const pageNum = Number(arr[arr.indexOf('pageNum') + 1])
+ const pageSize = Number(arr[arr.indexOf('pageSize') + 1])
+ const totalPage = Math.ceil(totalCount / pageSize)
+ const next = (pageNum >= totalPage ? (totalCount % pageSize) : pageSize) + 1
+ for (let i = 1; i < next; i++) {
+ result.push(Mock.mock({
+ 'openId': '@id',
+ 'nickname': Random.pick(['@cname', '@name(true)', '@name']),
+ 'createTime': '@datetime',
+ 'role': Random.pick(['user', 'agent'])
+ }))
+ }
+
+ return builder({
+ pageSize: pageSize,
+ pageNum: pageNum,
+ total: totalCount,
+ pages: totalPage,
+ list: result
+ })
+}
+
+Mock.mock(/.+\/user\/selectAll\/.+/, 'get', miniUserList)
diff --git a/src/views/UserManagement/miniUserList/MiniUserList.vue b/src/views/UserManagement/miniUserList/MiniUserList.vue
new file mode 100644
index 0000000000000000000000000000000000000000..80d78e681b1d0bb83a0273dd31c00d7d7697a728
--- /dev/null
+++ b/src/views/UserManagement/miniUserList/MiniUserList.vue
@@ -0,0 +1,137 @@
+
+
+
+
+
+ {{ nickname }}
+
+
+
+ {{ time | moment }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+