lalala 6 years ago
parent
commit
feb19f026e

+ 2 - 1
admin-code/src/App.vue

@@ -13,7 +13,8 @@ export default {
 			this.$store.dispatch('permMenu');
 			this.$store.dispatch('userInfo');
 		}
-		localStorage.setItem('source', 'admin');
+		let source = this.$project == 'sass' ? 'sass' : 'admin';
+		localStorage.setItem('source', source);
 		localStorage.setItem('account', 12358);
 	},
 

+ 791 - 0
admin-code/src/mock/userInfo - b.js

@@ -0,0 +1,791 @@
+import Mock from 'mockjs';
+// import { getUrlParams } from './utils';
+
+let token = {
+	expire: 9999999,
+	token:
+		'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlSWRzIjpbIjEiXSwidXNlcklkIjoiMSIsInBhc3N3b3JkVmVyc2lvbiI6MSwiaWF0IjoxNTczOTc4MzYyLCJleHAiOjE1NzQ1ODMxNjJ9.UOfPFd5cbWaRcaCri4TU2aFZ8_t8KVJzfBFBciDYLdQ'
+};
+
+let userList = [
+	{
+		id: '21',
+		name: '测试部门权限2',
+		password: 'e10adc3949ba59abbe56e057f20f883e',
+		passwordV: 1,
+		nickName: '权限2昵称',
+		headImg: null,
+		email: null,
+		remark: null,
+		status: 1,
+		createTime: '2019-11-20 15:48:31',
+		updateTime: '2019-11-20 15:48:31',
+		username: 'testdp2',
+		phone: null,
+		departmentId: '1',
+		roleName: '只有部门2小组2',
+		departmentName: 'COOL-ADMIN'
+	},
+	{
+		id: '20',
+		name: '测试部门权限',
+		password: 'e10adc3949ba59abbe56e057f20f883e',
+		passwordV: 1,
+		nickName: '测试部门权限昵称',
+		headImg: null,
+		email: null,
+		remark: null,
+		status: 1,
+		createTime: '2019-11-20 15:39:28',
+		updateTime: '2019-11-20 15:39:28',
+		username: 'testdep',
+		phone: null,
+		departmentId: '1',
+		roleName: '只有部门1',
+		departmentName: 'COOL-ADMIN'
+	},
+	{
+		id: '19',
+		name: '33',
+		password: 'e10adc3949ba59abbe56e057f20f883e',
+		passwordV: 1,
+		nickName: '333',
+		headImg: null,
+		email: null,
+		remark: null,
+		status: 1,
+		createTime: '2019-11-19 00:02:27',
+		updateTime: '2019-11-19 00:02:27',
+		username: '333',
+		phone: null,
+		departmentId: '17',
+		roleName: '只有部门1',
+		departmentName: '小组1'
+	},
+	{
+		id: '18',
+		name: '阿打算',
+		password: 'e10adc3949ba59abbe56e057f20f883e',
+		passwordV: 1,
+		nickName: '12312',
+		headImg: null,
+		email: null,
+		remark: null,
+		status: 1,
+		createTime: '2019-11-18 18:20:04',
+		updateTime: '2019-11-18 18:20:04',
+		username: '3123',
+		phone: null,
+		departmentId: '13',
+		roleName: 'testRole',
+		departmentName: '部门1'
+	},
+	{
+		id: '17',
+		name: '阿',
+		password: 'e10adc3949ba59abbe56e057f20f883e',
+		passwordV: 1,
+		nickName: '123',
+		headImg: null,
+		email: null,
+		remark: null,
+		status: 1,
+		createTime: '2019-11-18 18:07:57',
+		updateTime: '2019-11-18 18:07:57',
+		username: '123',
+		phone: null,
+		departmentId: '16',
+		roleName: '超管',
+		departmentName: '小组2'
+	},
+	{
+		id: '16',
+		name: 'test',
+		password: 'e10adc3949ba59abbe56e057f20f883e',
+		passwordV: 1,
+		nickName: null,
+		headImg: null,
+		email: null,
+		remark: null,
+		status: 1,
+		createTime: '2019-11-11 10:37:43',
+		updateTime: '2019-11-11 11:17:25',
+		username: '测试',
+		phone: null,
+		departmentId: '14',
+		roleName: '测试,testRole,超管',
+		departmentName: '小组1'
+	}
+];
+
+let userInfo = {
+	createTime: '2019-06-25 10:20:20',
+	email: '123456@qq.com',
+	headImg: 'https://pic.qqtn.com/up/2019-11/2019110209212070747.jpg',
+	id: '1',
+	name: '超级管理员',
+	nickName: '超管',
+	passwordV: 1,
+	phone: '18000000000',
+	remark: '备注',
+	roleIdList: ['1'],
+	status: 1,
+	updateTime: '2019-11-12 09:40:27',
+	username: 'admin'
+};
+
+let menu = {
+	perms: [
+		'sys:menu:add',
+		'sys:menu:delete',
+		'sys:menu:update',
+		'sys:menu:page',
+		'sys:menu:list',
+		'sys:menu:info',
+		'sys:user:add',
+		'sys:user:delete',
+		'sys:user:update',
+		'sys:user:page',
+		'sys:user:list',
+		'sys:user:info',
+		'sys:role:add',
+		'sys:role:delete',
+		'sys:role:update',
+		'sys:role:page',
+		'sys:role:list',
+		'sys:role:info',
+		'1',
+		'sys:log:page',
+		'sys:log:clear'
+	],
+	menus: [
+		// {
+		// 	id: '48',
+		// 	parentId: '47',
+		// 	name: '文档',
+		// 	type: 1,
+		// 	icon: 'icon-favorfill',
+		// 	orderNum: 0,
+		// 	router: '/tutorial/doc',
+		// 	viewPath: 'https://docs.cool-admin.com/#/',
+		// 	keepAlive: 1
+		// },
+		// 工作台
+		{
+			id: '1',
+			parentId: null,
+			name: '工作台',
+			type: 0,
+			icon: 'icongongzuotai',
+			orderNum: 1,
+			router: '/',
+			viewPath: null,
+			keepAlive: 1
+		},
+		// 客户管理
+		{
+			id: '2',
+			parentId: null,
+			name: '客户管理',
+			type: 1,
+			icon: 'iconkehuguanli',
+			orderNum: 2,
+			router: '/member/list',
+			viewPath: 'views/member/list.vue',
+			keepAlive: 1
+		},
+		// 订单管理
+		{
+			id: '3',
+			parentId: null,
+			name: '订单管理',
+			type: 1,
+			icon: 'iconkehuguanli',
+			orderNum: 2,
+			router: '/order/list',
+			viewPath: 'views/order/list.vue',
+			keepAlive: 1
+		},
+		// 商品管理
+		{
+			id: '4',
+			parentId: null,
+			name: '商品管理',
+			type: 0,
+			icon: 'iconkehuguanli',
+			orderNum: 2,
+			router: '/goods/list',
+			viewPath: 'views/goods/goods-list.vue',
+			keepAlive: 1
+		},
+		{
+			id: '401',
+			parentId: '4',
+			name: '商品列表',
+			type: 1,
+			icon: 'icon-user',
+			orderNum: 1,
+			router: '/goods/list',
+			viewPath: 'views/goods/goods-list.vue',
+			keepAlive: 1
+		},
+		{
+			id: '402',
+			parentId: '4',
+			name: '图库管理',
+			type: 1,
+			icon: 'icon-user',
+			orderNum: 1,
+			router: '/goods/img-store',
+			viewPath: 'views/goods/img-store.vue',
+			keepAlive: 1
+		},
+		{
+			id: '403',
+			parentId: '4',
+			name: '添加商品',
+			type: 1,
+			icon: 'icon-user',
+			orderNum: 1,
+			router: '/goods/add',
+			viewPath: 'views/goods/goods-add.vue',
+			keepAlive: 1
+		},
+		{
+			id: '404',
+			parentId: '4',
+			name: '分类管理',
+			type: 1,
+			icon: 'icon-user',
+			orderNum: 1,
+			router: '/goods/category',
+			viewPath: 'views/goods/category.vue',
+			keepAlive: 1
+		},
+		{
+			id: '405',
+			parentId: '4',
+			name: '运费设置',
+			type: 1,
+			icon: 'icon-user',
+			orderNum: 1,
+			router: '/goods/freight',
+			viewPath: 'views/goods/freight-set.vue',
+			keepAlive: 1
+		},
+		{
+			id: '406',
+			parentId: '4',
+			name: '节日自动涨价',
+			type: 1,
+			icon: 'icon-user',
+			orderNum: 1,
+			router: '/goods/auto-price',
+			viewPath: 'views/goods/auto-price.vue',
+			keepAlive: 1
+		},
+		{
+			id: '406',
+			parentId: '4',
+			name: '商品通用简介',
+			type: 1,
+			icon: 'icon-user',
+			orderNum: 1,
+			router: '/goods/summary',
+			viewPath: 'views/goods/summary.vue',
+			keepAlive: 1
+		},
+		// 邀请有礼
+		{
+			id: '5',
+			parentId: null,
+			name: '邀请有礼',
+			type: 0,
+			icon: 'iconkehuguanli',
+			orderNum: 2,
+			router: '/invite/list',
+			viewPath: 'views/invite/list.vue',
+			keepAlive: 1
+		},
+		{
+			id: '501',
+			parentId: '5',
+			name: '邀请有礼',
+			type: 1,
+			icon: 'iconkehuguanli',
+			orderNum: 2,
+			router: '/invite/list',
+			viewPath: 'views/invite/list.vue',
+			keepAlive: 1
+		},
+		{
+			id: '502',
+			parentId: '5',
+			name: '奖励设置',
+			type: 1,
+			icon: 'iconkehuguanli',
+			orderNum: 2,
+			router: '/invite/reward-set',
+			viewPath: 'views/invite/reward-set.vue',
+			keepAlive: 1
+		},
+		// 优惠券
+		{
+			id: '6',
+			parentId: null,
+			name: '优惠券',
+			type: 1,
+			icon: 'iconkehuguanli',
+			orderNum: 2,
+			router: '/coupon/list',
+			viewPath: 'views/coupon/list.vue',
+			keepAlive: 1
+		},
+		// 促销
+		{
+			id: '7',
+			parentId: null,
+			name: '促销',
+			type: 0,
+			icon: 'iconkehuguanli',
+			orderNum: 2,
+			router: '/goods/list',
+			viewPath: 'views/goods/goods-list.vue',
+			keepAlive: 1
+		},
+		// 广告管理
+		{
+			id: '8',
+			parentId: null,
+			name: '广告管理',
+			type: 1,
+			icon: 'iconkehuguanli',
+			orderNum: 2,
+			router: '/ad/list',
+			viewPath: 'views/ad/list.vue',
+			keepAlive: 1
+		},
+		// 员工管理
+		{
+			id: '9',
+			parentId: null,
+			name: '员工管理',
+			type: 0,
+			icon: 'iconkehuguanli',
+			orderNum: 2,
+			router: '/staff/list',
+			viewPath: 'views/staff/list.vue',
+			keepAlive: 1
+		},
+		{
+			id: '901',
+			parentId: '9',
+			name: '员工列表',
+			type: 1,
+			icon: 'iconkehuguanli',
+			orderNum: 2,
+			router: '/staff/list',
+			viewPath: 'views/staff/list.vue',
+			keepAlive: 1
+		},
+		{
+			id: '902',
+			parentId: '9',
+			name: '角色列表',
+			type: 1,
+			icon: 'iconkehuguanli',
+			orderNum: 2,
+			router: '/role/list',
+			viewPath: 'views/staff/role-list.vue',
+			keepAlive: 1
+		},
+		{
+			id: '903',
+			parentId: '9',
+			name: '操作记录',
+			type: 1,
+			icon: 'iconkehuguanli',
+			orderNum: 2,
+			router: '/operate/list',
+			viewPath: 'views/staff/operate.vue',
+			keepAlive: 1
+		},
+		// 设置
+		{
+			id: '10',
+			parentId: null,
+			name: '设置',
+			type: 0,
+			icon: 'iconkehuguanli',
+			orderNum: 2,
+			router: '/goods/list',
+			viewPath: 'views/goods/goods-list.vue',
+			keepAlive: 1
+		},
+		{
+			id: '101',
+			parentId: '10',
+			name: '微信菜单设置',
+			type: 1,
+			icon: 'iconkehuguanli',
+			orderNum: 2,
+			router: '/setting/wx-menu',
+			viewPath: 'views/setting/wx-menu.vue',
+			keepAlive: 1
+		},
+		{
+			id: '11',
+			parentId: null,
+			name: '我的代理',
+			type: 1,
+			icon: 'iconkehuguanli',
+			orderNum: 2,
+			router: '/pages/interest/admin/my-invite',
+			viewPath: 'views/my-invite/index.vue',
+			keepAlive: 1
+		},
+		// ========================================================
+		{
+			id: '12',
+			parentId: '8',
+			name: '新增',
+			type: 2,
+			icon: null,
+			orderNum: 1,
+			router: null,
+			viewPath: null,
+			keepAlive: 0
+		},
+		{
+			id: '17',
+			parentId: '27',
+			name: '用户列表',
+			type: 1,
+			icon: 'icon-user',
+			orderNum: 1,
+			router: '/sys/user',
+			viewPath: 'views/system/user/index.vue',
+			keepAlive: 1
+		},
+		{
+			id: '18',
+			parentId: '17',
+			name: '新增',
+			type: 2,
+			icon: null,
+			orderNum: 1,
+			router: null,
+			viewPath: null,
+			keepAlive: 0
+		},
+		{
+			id: '23',
+			parentId: '22',
+			name: '新增',
+			type: 2,
+			icon: null,
+			orderNum: 1,
+			router: null,
+			viewPath: null,
+			keepAlive: 0
+		},
+		{
+			id: '27',
+			parentId: null,
+			name: '权限管理',
+			type: 0,
+			icon: 'icon-permission',
+			orderNum: 1,
+			router: null,
+			viewPath: null,
+			keepAlive: 0
+		},
+		{
+			id: '29',
+			parentId: '28',
+			name: '日志列表',
+			type: 1,
+			icon: 'icon-log',
+			orderNum: 1,
+			router: '/sys/log',
+			viewPath: 'views/system/log/index.vue',
+			keepAlive: 0
+		},
+		{
+			id: '30',
+			parentId: '29',
+			name: '权限',
+			type: 2,
+			icon: null,
+			orderNum: 1,
+			router: null,
+			viewPath: null,
+			keepAlive: 0
+		},
+		{
+			id: '38',
+			parentId: '8',
+			name: '11111',
+			type: 0,
+			icon: null,
+			orderNum: 1,
+			router: null,
+			viewPath: null,
+			keepAlive: 1
+		},
+		{
+			id: '43',
+			parentId: '45',
+			name: 'crud 示例',
+			type: 1,
+			icon: 'icon-radioboxfill',
+			orderNum: 1,
+			router: '/crud',
+			viewPath: 'views/test/crud.vue',
+			keepAlive: 1
+		},
+		{
+			id: '53',
+			parentId: '1',
+			name: '组件预览',
+			type: 1,
+			icon: 'icon-activityfill',
+			orderNum: 1,
+			router: '/ui-components',
+			viewPath: 'views/workbench/ui-components',
+			keepAlive: 1
+		},
+		{
+			id: '11',
+			parentId: null,
+			name: '系统',
+			type: 0,
+			icon: 'icon-systemfill',
+			orderNum: 2,
+			router: '/sys',
+			viewPath: null,
+			keepAlive: 1
+		},
+		{
+			id: '8',
+			parentId: '27',
+			name: '菜单列表',
+			type: 1,
+			icon: 'icon-menu',
+			orderNum: 2,
+			router: '/sys/menu',
+			viewPath: 'views/system/menu/index.vue',
+			keepAlive: 1
+		},
+		{
+			id: '11',
+			parentId: '8',
+			name: '删除',
+			type: 2,
+			icon: null,
+			orderNum: 2,
+			router: null,
+			viewPath: null,
+			keepAlive: 0
+		},
+		{
+			id: '19',
+			parentId: '17',
+			name: '删除',
+			type: 2,
+			icon: null,
+			orderNum: 2,
+			router: null,
+			viewPath: null,
+			keepAlive: 0
+		},
+		{
+			id: '24',
+			parentId: '22',
+			name: '删除',
+			type: 2,
+			icon: null,
+			orderNum: 2,
+			router: null,
+			viewPath: null,
+			keepAlive: 0
+		},
+		{
+			id: '28',
+			parentId: '11',
+			name: '系统监控',
+			type: 0,
+			icon: 'icon-monitor',
+			orderNum: 2,
+			router: null,
+			viewPath: null,
+			keepAlive: 0
+		},
+		{
+			id: '45',
+			parentId: '1',
+			name: '组件库',
+			type: 0,
+			icon: 'icon-activityfill',
+			orderNum: 2,
+			router: '/ui-lib',
+			viewPath: null,
+			keepAlive: 1
+		},
+		// {
+		// 	id: '46',
+		// 	parentId: '45',
+		// 	name: 'Froala富文本',
+		// 	type: 1,
+		// 	icon: 'icon-radioboxfill',
+		// 	orderNum: 2,
+		// 	router: '/editor-froala',
+		// 	viewPath: 'views/test/editor-froala.vue',
+		// 	keepAlive: 1
+		// },
+		{
+			id: '12',
+			parentId: '8',
+			name: '修改',
+			type: 2,
+			icon: null,
+			orderNum: 3,
+			router: null,
+			viewPath: null,
+			keepAlive: 0
+		},
+		{
+			id: '20',
+			parentId: '17',
+			name: '修改',
+			type: 2,
+			icon: null,
+			orderNum: 3,
+			router: null,
+			viewPath: null,
+			keepAlive: 0
+		},
+		{
+			id: '22',
+			parentId: '27',
+			name: '角色列表',
+			type: 1,
+			icon: 'icon-role',
+			orderNum: 3,
+			router: '/sys/role',
+			viewPath: 'views/system/role/index.vue',
+			keepAlive: 1
+		},
+		{
+			id: '25',
+			parentId: '22',
+			name: '修改',
+			type: 2,
+			icon: null,
+			orderNum: 3,
+			router: null,
+			viewPath: null,
+			keepAlive: 0
+		},
+		// {
+		// 	id: '47',
+		// 	parentId: null,
+		// 	name: '教程',
+		// 	type: 0,
+		// 	icon: 'icon-weibiaoti4',
+		// 	orderNum: 3,
+		// 	router: '/tutorial',
+		// 	viewPath: null,
+		// 	keepAlive: 1
+		// },
+		{
+			id: '49',
+			parentId: '45',
+			name: 'Quill富文本',
+			type: 1,
+			icon: 'icon-radioboxfill',
+			orderNum: 3,
+			router: '/editor-quill',
+			viewPath: 'views/test/editor-quill.vue',
+			keepAlive: 1
+		},
+		{
+			id: '13',
+			parentId: '8',
+			name: '查询',
+			type: 2,
+			icon: null,
+			orderNum: 4,
+			router: null,
+			viewPath: null,
+			keepAlive: 0
+		},
+		{
+			id: '21',
+			parentId: '17',
+			name: '查询',
+			type: 2,
+			icon: null,
+			orderNum: 4,
+			router: null,
+			viewPath: null,
+			keepAlive: 0
+		},
+		{
+			id: '26',
+			parentId: '22',
+			name: '查询',
+			type: 2,
+			icon: null,
+			orderNum: 4,
+			router: null,
+			viewPath: null,
+			keepAlive: 0
+		},
+		{
+			id: '51',
+			parentId: '10',
+			name: '测试404页面',
+			type: 1,
+			icon: 'icon-newfill',
+			orderNum: 10,
+			router: '/test',
+			viewPath: null,
+			keepAlive: 1
+		}
+	]
+};
+
+// Mock.mock(RegExp('/comm/person' + '.*'), 'get', req => {
+// 	// console.table(req);
+// 	return {
+// 		code: 1,
+// 		data: userInfo,
+// 		message: 'success'
+// 	};
+// });
+
+Mock.mock(RegExp('/comm/permmenu' + '.*'), 'get', req => {
+	// console.table(req);
+	return {
+		code: 1,
+		data: menu,
+		message: 'success'
+	};
+});
+
+Mock.mock(RegExp('/sys/user/list' + '.*'), 'get', req => {
+	// console.table(req);
+	return {
+		code: 1,
+		data: {
+			list: userList,
+			pagination: {
+				page: 1,
+				size: 20,
+				total: 6
+			}
+		},
+		message: 'success'
+	};
+});

+ 40 - 532
admin-code/src/mock/userInfo.js

@@ -182,575 +182,83 @@ let menu = {
 			viewPath: null,
 			keepAlive: 1
 		},
-		// 客户管理
+		// 商家管理
 		{
-			id: '2',
-			parentId: null,
-			name: '客户管理',
-			type: 1,
-			icon: 'iconkehuguanli',
-			orderNum: 2,
-			router: '/member/list',
-			viewPath: 'views/member/list.vue',
-			keepAlive: 1
-		},
-		// 订单管理
-		{
-			id: '3',
-			parentId: null,
-			name: '订单管理',
-			type: 1,
-			icon: 'iconkehuguanli',
-			orderNum: 2,
-			router: '/order/list',
-			viewPath: 'views/order/list.vue',
-			keepAlive: 1
-		},
-		// 商品管理
-		{
-			id: '4',
+			id: '1',
 			parentId: null,
-			name: '商管理',
+			name: '商家管理',
 			type: 0,
-			icon: 'iconkehuguanli',
-			orderNum: 2,
-			router: '/goods/list',
-			viewPath: 'views/goods/goods-list.vue',
-			keepAlive: 1
-		},
-		{
-			id: '401',
-			parentId: '4',
-			name: '商品列表',
-			type: 1,
-			icon: 'icon-user',
-			orderNum: 1,
-			router: '/goods/list',
-			viewPath: 'views/goods/goods-list.vue',
-			keepAlive: 1
-		},
-		{
-			id: '402',
-			parentId: '4',
-			name: '图库管理',
-			type: 1,
-			icon: 'icon-user',
-			orderNum: 1,
-			router: '/goods/img-store',
-			viewPath: 'views/goods/img-store.vue',
-			keepAlive: 1
-		},
-		{
-			id: '403',
-			parentId: '4',
-			name: '添加商品',
-			type: 1,
-			icon: 'icon-user',
-			orderNum: 1,
-			router: '/goods/add',
-			viewPath: 'views/goods/goods-add.vue',
-			keepAlive: 1
-		},
-		{
-			id: '404',
-			parentId: '4',
-			name: '分类管理',
-			type: 1,
-			icon: 'icon-user',
-			orderNum: 1,
-			router: '/goods/category',
-			viewPath: 'views/goods/category.vue',
-			keepAlive: 1
-		},
-		{
-			id: '405',
-			parentId: '4',
-			name: '运费设置',
-			type: 1,
-			icon: 'icon-user',
-			orderNum: 1,
-			router: '/goods/freight',
-			viewPath: 'views/goods/freight-set.vue',
-			keepAlive: 1
-		},
-		{
-			id: '406',
-			parentId: '4',
-			name: '节日自动涨价',
-			type: 1,
-			icon: 'icon-user',
-			orderNum: 1,
-			router: '/goods/auto-price',
-			viewPath: 'views/goods/auto-price.vue',
-			keepAlive: 1
-		},
-		{
-			id: '406',
-			parentId: '4',
-			name: '商品通用简介',
-			type: 1,
-			icon: 'icon-user',
+			icon: 'icongongzuotai',
 			orderNum: 1,
-			router: '/goods/summary',
-			viewPath: 'views/goods/summary.vue',
-			keepAlive: 1
-		},
-		// 邀请有礼
-		{
-			id: '5',
-			parentId: null,
-			name: '邀请有礼',
-			type: 0,
-			icon: 'iconkehuguanli',
-			orderNum: 2,
-			router: '/invite/list',
-			viewPath: 'views/invite/list.vue',
-			keepAlive: 1
-		},
-		{
-			id: '501',
-			parentId: '5',
-			name: '邀请有礼',
-			type: 1,
-			icon: 'iconkehuguanli',
-			orderNum: 2,
-			router: '/invite/list',
-			viewPath: 'views/invite/list.vue',
-			keepAlive: 1
-		},
-		{
-			id: '502',
-			parentId: '5',
-			name: '奖励设置',
-			type: 1,
-			icon: 'iconkehuguanli',
-			orderNum: 2,
-			router: '/invite/reward-set',
-			viewPath: 'views/invite/reward-set.vue',
-			keepAlive: 1
-		},
-		// 优惠券
-		{
-			id: '6',
-			parentId: null,
-			name: '优惠券',
-			type: 1,
-			icon: 'iconkehuguanli',
-			orderNum: 2,
-			router: '/coupon/list',
-			viewPath: 'views/coupon/list.vue',
-			keepAlive: 1
-		},
-		// 促销
-		{
-			id: '7',
-			parentId: null,
-			name: '促销',
-			type: 0,
-			icon: 'iconkehuguanli',
-			orderNum: 2,
-			router: '/goods/list',
-			viewPath: 'views/goods/goods-list.vue',
-			keepAlive: 1
-		},
-		// 广告管理
-		{
-			id: '8',
-			parentId: null,
-			name: '广告管理',
-			type: 1,
-			icon: 'iconkehuguanli',
-			orderNum: 2,
-			router: '/ad/list',
-			viewPath: 'views/ad/list.vue',
-			keepAlive: 1
-		},
-		// 员工管理
-		{
-			id: '9',
-			parentId: null,
-			name: '员工管理',
-			type: 0,
-			icon: 'iconkehuguanli',
-			orderNum: 2,
-			router: '/staff/list',
-			viewPath: 'views/staff/list.vue',
-			keepAlive: 1
-		},
-		{
-			id: '901',
-			parentId: '9',
-			name: '员工列表',
-			type: 1,
-			icon: 'iconkehuguanli',
-			orderNum: 2,
-			router: '/staff/list',
-			viewPath: 'views/staff/list.vue',
-			keepAlive: 1
-		},
-		{
-			id: '902',
-			parentId: '9',
-			name: '角色列表',
-			type: 1,
-			icon: 'iconkehuguanli',
-			orderNum: 2,
-			router: '/role/list',
-			viewPath: 'views/staff/role-list.vue',
-			keepAlive: 1
-		},
-		{
-			id: '903',
-			parentId: '9',
-			name: '操作记录',
-			type: 1,
-			icon: 'iconkehuguanli',
-			orderNum: 2,
-			router: '/operate/list',
-			viewPath: 'views/staff/operate.vue',
-			keepAlive: 1
-		},
-		// 设置
-		{
-			id: '10',
-			parentId: null,
-			name: '设置',
-			type: 0,
-			icon: 'iconkehuguanli',
-			orderNum: 2,
-			router: '/goods/list',
-			viewPath: 'views/goods/goods-list.vue',
-			keepAlive: 1
-		},
-		{
-			id: '101',
-			parentId: '10',
-			name: '微信菜单设置',
-			type: 1,
-			icon: 'iconkehuguanli',
-			orderNum: 2,
-			router: '/setting/wx-menu',
-			viewPath: 'views/setting/wx-menu.vue',
+			router: '/sass/shop-list',
+			viewPath: null,
 			keepAlive: 1
 		},
 		{
 			id: '11',
-			parentId: null,
-			name: '我的代理',
+			parentId: '1',
+			name: '商家列表',
 			type: 1,
-			icon: 'iconkehuguanli',
-			orderNum: 2,
-			router: '/pages/interest/admin/my-invite',
-			viewPath: 'views/my-invite/index.vue',
+			icon: 'icongongzuotai',
+			orderNum: 1,
+			router: '/sass/merchant/merchant-list',
+			viewPath: 'sass/shop/list',
 			keepAlive: 1
 		},
-		// ========================================================
 		{
 			id: '12',
-			parentId: '8',
-			name: '新增',
-			type: 2,
-			icon: null,
-			orderNum: 1,
-			router: null,
-			viewPath: null,
-			keepAlive: 0
-		},
-		{
-			id: '17',
-			parentId: '27',
-			name: '用户列表',
+			parentId: '1',
+			name: '申请记录',
 			type: 1,
-			icon: 'icon-user',
-			orderNum: 1,
-			router: '/sys/user',
-			viewPath: 'views/system/user/index.vue',
-			keepAlive: 1
-		},
-		{
-			id: '18',
-			parentId: '17',
-			name: '新增',
-			type: 2,
-			icon: null,
-			orderNum: 1,
-			router: null,
-			viewPath: null,
-			keepAlive: 0
-		},
-		{
-			id: '23',
-			parentId: '22',
-			name: '新增',
-			type: 2,
-			icon: null,
-			orderNum: 1,
-			router: null,
-			viewPath: null,
-			keepAlive: 0
-		},
-		{
-			id: '27',
-			parentId: null,
-			name: '权限管理',
-			type: 0,
-			icon: 'icon-permission',
+			icon: 'icongongzuotai',
 			orderNum: 1,
-			router: null,
+			router: '/',
 			viewPath: null,
-			keepAlive: 0
+			keepAlive: 1
 		},
 		{
-			id: '29',
-			parentId: '28',
-			name: '日志列表',
+			id: '13',
+			parentId: '1',
+			name: '小程序升级',
 			type: 1,
-			icon: 'icon-log',
-			orderNum: 1,
-			router: '/sys/log',
-			viewPath: 'views/system/log/index.vue',
-			keepAlive: 0
-		},
-		{
-			id: '30',
-			parentId: '29',
-			name: '权限',
-			type: 2,
-			icon: null,
-			orderNum: 1,
-			router: null,
-			viewPath: null,
-			keepAlive: 0
-		},
-		{
-			id: '38',
-			parentId: '8',
-			name: '11111',
-			type: 0,
-			icon: null,
+			icon: 'icongongzuotai',
 			orderNum: 1,
-			router: null,
+			router: '/',
 			viewPath: null,
 			keepAlive: 1
 		},
 		{
-			id: '43',
-			parentId: '45',
-			name: 'crud 示例',
+			id: '14',
+			parentId: '1',
+			name: '门店',
 			type: 1,
-			icon: 'icon-radioboxfill',
+			icon: 'icongongzuotai',
 			orderNum: 1,
-			router: '/crud',
-			viewPath: 'views/test/crud.vue',
+			router: '/sass/merchant/shop-list',
+			viewPath: 'sass/shop/shop',
 			keepAlive: 1
 		},
 		{
-			id: '53',
+			id: '14',
 			parentId: '1',
-			name: '组件预览',
+			name: '购买记录',
 			type: 1,
-			icon: 'icon-activityfill',
+			icon: 'icongongzuotai',
 			orderNum: 1,
-			router: '/ui-components',
-			viewPath: 'views/workbench/ui-components',
+			router: '/sass/merchant/buy-list',
+			viewPath: 'sass/shop/buy',
 			keepAlive: 1
 		},
+		// 订单管理
 		{
-			id: '11',
+			id: '2',
 			parentId: null,
-			name: '系统',
-			type: 0,
-			icon: 'icon-systemfill',
-			orderNum: 2,
-			router: '/sys',
-			viewPath: null,
-			keepAlive: 1
-		},
-		{
-			id: '8',
-			parentId: '27',
-			name: '菜单列表',
-			type: 1,
-			icon: 'icon-menu',
-			orderNum: 2,
-			router: '/sys/menu',
-			viewPath: 'views/system/menu/index.vue',
-			keepAlive: 1
-		},
-		{
-			id: '11',
-			parentId: '8',
-			name: '删除',
-			type: 2,
-			icon: null,
-			orderNum: 2,
-			router: null,
-			viewPath: null,
-			keepAlive: 0
-		},
-		{
-			id: '19',
-			parentId: '17',
-			name: '删除',
-			type: 2,
-			icon: null,
-			orderNum: 2,
-			router: null,
-			viewPath: null,
-			keepAlive: 0
-		},
-		{
-			id: '24',
-			parentId: '22',
-			name: '删除',
-			type: 2,
-			icon: null,
-			orderNum: 2,
-			router: null,
-			viewPath: null,
-			keepAlive: 0
-		},
-		{
-			id: '28',
-			parentId: '11',
-			name: '系统监控',
-			type: 0,
-			icon: 'icon-monitor',
-			orderNum: 2,
-			router: null,
-			viewPath: null,
-			keepAlive: 0
-		},
-		{
-			id: '45',
-			parentId: '1',
-			name: '组件库',
-			type: 0,
-			icon: 'icon-activityfill',
-			orderNum: 2,
-			router: '/ui-lib',
-			viewPath: null,
-			keepAlive: 1
-		},
-		// {
-		// 	id: '46',
-		// 	parentId: '45',
-		// 	name: 'Froala富文本',
-		// 	type: 1,
-		// 	icon: 'icon-radioboxfill',
-		// 	orderNum: 2,
-		// 	router: '/editor-froala',
-		// 	viewPath: 'views/test/editor-froala.vue',
-		// 	keepAlive: 1
-		// },
-		{
-			id: '12',
-			parentId: '8',
-			name: '修改',
-			type: 2,
-			icon: null,
-			orderNum: 3,
-			router: null,
-			viewPath: null,
-			keepAlive: 0
-		},
-		{
-			id: '20',
-			parentId: '17',
-			name: '修改',
-			type: 2,
-			icon: null,
-			orderNum: 3,
-			router: null,
-			viewPath: null,
-			keepAlive: 0
-		},
-		{
-			id: '22',
-			parentId: '27',
-			name: '角色列表',
-			type: 1,
-			icon: 'icon-role',
-			orderNum: 3,
-			router: '/sys/role',
-			viewPath: 'views/system/role/index.vue',
-			keepAlive: 1
-		},
-		{
-			id: '25',
-			parentId: '22',
-			name: '修改',
-			type: 2,
-			icon: null,
-			orderNum: 3,
-			router: null,
-			viewPath: null,
-			keepAlive: 0
-		},
-		// {
-		// 	id: '47',
-		// 	parentId: null,
-		// 	name: '教程',
-		// 	type: 0,
-		// 	icon: 'icon-weibiaoti4',
-		// 	orderNum: 3,
-		// 	router: '/tutorial',
-		// 	viewPath: null,
-		// 	keepAlive: 1
-		// },
-		{
-			id: '49',
-			parentId: '45',
-			name: 'Quill富文本',
-			type: 1,
-			icon: 'icon-radioboxfill',
-			orderNum: 3,
-			router: '/editor-quill',
-			viewPath: 'views/test/editor-quill.vue',
-			keepAlive: 1
-		},
-		{
-			id: '13',
-			parentId: '8',
-			name: '查询',
-			type: 2,
-			icon: null,
-			orderNum: 4,
-			router: null,
-			viewPath: null,
-			keepAlive: 0
-		},
-		{
-			id: '21',
-			parentId: '17',
-			name: '查询',
-			type: 2,
-			icon: null,
-			orderNum: 4,
-			router: null,
-			viewPath: null,
-			keepAlive: 0
-		},
-		{
-			id: '26',
-			parentId: '22',
-			name: '查询',
-			type: 2,
-			icon: null,
-			orderNum: 4,
-			router: null,
-			viewPath: null,
-			keepAlive: 0
-		},
-		{
-			id: '51',
-			parentId: '10',
-			name: '测试404页面',
+			name: '订单管理',
 			type: 1,
-			icon: 'icon-newfill',
-			orderNum: 10,
-			router: '/test',
-			viewPath: null,
+			icon: 'icongongzuotai',
+			orderNum: 1,
+			router: '/sass/order/list',
+			viewPath: 'sass/order/list',
 			keepAlive: 1
 		}
 	]

+ 153 - 0
admin-code/src/sass/member/list.vue

@@ -0,0 +1,153 @@
+<template>
+	<div class="app-list-content">
+		<cl-crud class="liu-crud-wrap" @load="onLoad">
+			<template #slot-tabs="{ scope }">
+				<el-tabs
+					class="liu-tabs"
+					type="border-card"
+					v-model="tabIndex"
+					@tab-click="handleClick"
+				>
+					<el-tab-pane
+						v-for="(item, index) in tabsData"
+						:key="index"
+						:label="item.text"
+						:name="item.key"
+					></el-tab-pane>
+				</el-tabs>
+			</template>
+		</cl-crud>
+	</div>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			// cl-crud
+			app: null,
+			tabIndex: '-1',
+			tabsData: [
+				{
+					text: '全部',
+					key: '-1',
+					val: 0
+				},
+				{
+					text: '粉丝',
+					key: '0',
+					val: 0
+				},
+				{
+					text: '会员',
+					key: '1',
+					val: 0
+				}
+			]
+		};
+	},
+	mounted() {},
+	methods: {
+		handleClick() {
+			this.app.refresh({ status: this.tabIndex });
+		},
+		// crud
+		onLoad({ ctx, app }) {
+			this.app = app;
+			ctx.service(this.$service.sassOrder)
+				.set('table', {
+					columns: [
+						{
+							prop: 'ID',
+							label: '单号',
+							align: 'center'
+						},
+						{
+							prop: 'bookName',
+							label: '头像',
+							align: 'center',
+							'min-width': '200px'
+						},
+						{
+							prop: 'receiveUserName',
+							label: '来源昵称',
+							align: 'center',
+							'min-width': '200px'
+						},
+						{
+							prop: 'prePrice',
+							label: '手机号',
+							align: 'center'
+						},
+						{
+							prop: 'actPrice',
+							label: '商家',
+							align: 'center',
+							emptyText: '无'
+						},
+						{
+							prop: 'sendTime',
+							label: '会员级别',
+							align: 'center',
+							emptyText: '无'
+						},
+						{
+							prop: 'status',
+							label: '余额',
+							align: 'center',
+							emptyText: '无'
+						},
+						{
+							prop: 'sendNum',
+							label: '成长值',
+							align: 'center',
+							emptyText: '无'
+						},
+						{
+							prop: 'sendNum',
+							label: '关注公众号',
+							align: 'center',
+							emptyText: '无'
+						},
+						{
+							prop: 'sendNum',
+							label: '最近访问',
+							align: 'center',
+							emptyText: '无'
+						}
+					],
+					// 操作列
+					op: {
+						visible: false, // 是否显示
+						// 同 element-ui Table-column Attributes
+						props: {
+							width: 150,
+							align: 'center',
+							fixed: 'right',
+							label: '操作'
+						},
+						// 布局,请移步 `layout`
+						layout: []
+					}
+				})
+				.set('layout', [
+					['slot-tabs'],
+					['flex1', 'refresh-btn'],
+					['data-table'],
+					['flex1', 'pagination']
+				])
+				.on('refresh', async (params, { next }) => {
+					// 继续执行刷新
+					let { asset } = await next(params);
+					this.tabsData[0].val = asset.totalOrder;
+					this.tabsData[1].val = asset.unPayOrder;
+					this.tabsData[2].val = asset.unSendOrder;
+					this.tabsData[3].val = asset.sendingOrder;
+					this.tabsData[4].val = asset.finishOrder;
+				})
+				.done();
+			app.refresh();
+		}
+	}
+};
+</script>

+ 156 - 0
admin-code/src/sass/order/list.vue

@@ -0,0 +1,156 @@
+<template>
+	<div class="app-list-content">
+		<cl-crud class="liu-crud-wrap" @load="onLoad">
+			<template #slot-tabs="{ scope }">
+				<el-tabs
+					class="liu-tabs"
+					type="border-card"
+					v-model="tabIndex"
+					@tab-click="handleClick"
+				>
+					<el-tab-pane
+						v-for="(item, index) in tabsData"
+						:key="index"
+						:label="item.text"
+						:name="item.key"
+					></el-tab-pane>
+				</el-tabs>
+			</template>
+
+			<!-- 状态 -->
+			<template #table-column-status="{scope}">
+				<span>{{ scope.row.status | constantfilter('ORDER_STATUS') }}</span>
+			</template>
+		</cl-crud>
+	</div>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			// cl-crud
+			app: null,
+			tabIndex: '-1',
+			tabsData: [
+				{
+					text: '全部',
+					key: '-1',
+					val: 0
+				},
+				{
+					text: '待付款',
+					key: '0',
+					val: 0
+				},
+				{
+					text: '待配送',
+					key: '1',
+					val: 0
+				},
+				{
+					text: '配送中',
+					key: '2',
+					val: 0
+				},
+				{
+					text: '已完结',
+					key: '5',
+					val: 0
+				}
+			]
+		};
+	},
+	mounted() {},
+	methods: {
+		handleClick() {
+			this.app.refresh({ status: this.tabIndex });
+		},
+		// crud
+		onLoad({ ctx, app }) {
+			this.app = app;
+			ctx.service(this.$service.sassOrder)
+				.set('table', {
+					columns: [
+						{
+							prop: 'orderSn',
+							label: '单号',
+							align: 'center'
+						},
+						{
+							prop: 'bookName',
+							label: '订花人',
+							align: 'center',
+							'min-width': '200px'
+						},
+						{
+							prop: 'receiveUserName',
+							label: '收花人',
+							align: 'center',
+							'min-width': '200px'
+						},
+						{
+							prop: 'prePrice',
+							label: '总价',
+							align: 'center'
+						},
+						{
+							prop: 'actPrice',
+							label: '实付款',
+							align: 'center',
+							emptyText: '无'
+						},
+						{
+							prop: 'sendTime',
+							label: '送达时间',
+							align: 'center',
+							emptyText: '无'
+						},
+						{
+							prop: 'status',
+							label: '状态',
+							align: 'center',
+							emptyText: '无'
+						},
+						{
+							prop: 'sendNum',
+							label: '编号',
+							align: 'center',
+							emptyText: '无'
+						}
+					],
+					// 操作列
+					op: {
+						visible: false, // 是否显示
+						// 同 element-ui Table-column Attributes
+						props: {
+							width: 150,
+							align: 'center',
+							fixed: 'right',
+							label: '操作'
+						},
+						// 布局,请移步 `layout`
+						layout: []
+					}
+				})
+				.set('layout', [
+					['slot-tabs'],
+					['flex1', 'refresh-btn'],
+					['data-table'],
+					['flex1', 'pagination']
+				])
+				.on('refresh', async (params, { next }) => {
+					// 继续执行刷新
+					let { asset } = await next(params);
+					this.tabsData[0].val = asset.totalOrder;
+					this.tabsData[1].val = asset.unPayOrder;
+					this.tabsData[2].val = asset.unSendOrder;
+					this.tabsData[3].val = asset.sendingOrder;
+					this.tabsData[4].val = asset.finishOrder;
+				})
+				.done();
+			app.refresh();
+		}
+	}
+};
+</script>

+ 98 - 0
admin-code/src/sass/shop/buy.vue

@@ -0,0 +1,98 @@
+<template>
+	<div class="app-list-content">
+		<cl-crud class="liu-crud-wrap" @load="onLoad"> </cl-crud>
+	</div>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			// cl-crud
+			app: null
+		};
+	},
+	mounted() {},
+	methods: {
+		// crud
+		onLoad({ ctx, app }) {
+			this.app = app;
+			let applyHost = () => {
+				return this.$service.sassShop.buyList();
+			};
+			ctx.service({
+				page: applyHost
+			})
+				.set('table', {
+					columns: [
+						{
+							prop: 'id',
+							label: 'ID',
+							align: 'center'
+						},
+						{
+							prop: 'merchantName',
+							label: '花店名称',
+							align: 'center'
+						},
+						{
+							prop: 'userName',
+							label: '店长',
+							align: 'center'
+						},
+						{
+							prop: 'mobile',
+							label: '手机号',
+							align: 'center'
+						},
+						{
+							prop: 'prePrice',
+							label: '付款金额',
+							align: 'center',
+							emptyText: '无'
+						},
+						{
+							prop: 'createTime',
+							label: '付款时间',
+							align: 'center',
+							emptyText: '无'
+						},
+						{
+							prop: 'updateTime',
+							label: '到期时间',
+							align: 'center',
+							emptyText: '无'
+						},
+						{
+							prop: 'setName',
+							label: '套餐',
+							align: 'center',
+							emptyText: '无'
+						}
+					],
+					// 操作列
+					op: {
+						visible: false, // 是否显示
+						// 同 element-ui Table-column Attributes
+						props: {
+							width: 150,
+							align: 'center',
+							fixed: 'right',
+							label: '操作'
+						},
+						// 布局,请移步 `layout`
+						layout: []
+					}
+				})
+				.set('layout', [
+					['slot-tabs'],
+					['flex1', 'refresh-btn'],
+					['data-table'],
+					['flex1', 'pagination']
+				])
+				.done();
+			app.refresh();
+		}
+	}
+};
+</script>

+ 138 - 0
admin-code/src/sass/shop/list.vue

@@ -0,0 +1,138 @@
+<template>
+	<div class="app-list-content">
+		<cl-crud class="liu-crud-wrap" @load="onLoad">
+			<!-- 粉丝 -->
+			<template #table-column-totalFans="{scope}">
+				<span>{{ scope.row.merchantAsset.totalFans }}</span>
+			</template>
+
+			<!-- 客户 -->
+			<template #table-column-totalUser="{scope}">
+				<span>{{ scope.row.merchantAsset.totalUser }}</span>
+			</template>
+
+			<!-- 访问量 -->
+			<template #table-column-totalVisit="{scope}">
+				<span>{{ scope.row.merchantAsset.totalVisit }}</span>
+			</template>
+		</cl-crud>
+	</div>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			// cl-crud
+			app: null
+		};
+	},
+	mounted() {},
+	methods: {
+		// crud
+		onLoad({ ctx, app }) {
+			this.app = app;
+			let applyHost = () => {
+				return this.$service.sassShop.merchantList();
+			};
+			ctx.service({
+				page: applyHost
+			})
+				.set('table', {
+					columns: [
+						{
+							prop: 'id',
+							label: 'ID',
+							align: 'center'
+						},
+						{
+							prop: 'merchantName',
+							label: '名称',
+							align: 'center'
+						},
+						{
+							prop: 'totalFans',
+							label: '粉丝',
+							align: 'center'
+						},
+						{
+							prop: 'totalUser',
+							label: '客户',
+							align: 'center'
+						},
+						{
+							prop: 'totalIncome',
+							label: '收入',
+							align: 'center',
+							emptyText: '无'
+						},
+						{
+							prop: 'totalVisit',
+							label: '访问量',
+							align: 'center'
+						},
+						{
+							prop: 'adminName',
+							label: '店长',
+							align: 'center'
+						},
+						{
+							prop: 'openAppId',
+							label: '平台',
+							align: 'center',
+							'min-width': '150px'
+						},
+						{
+							prop: 'wxAppId',
+							label: '公众号',
+							align: 'center',
+							'min-width': '150px'
+						},
+						{
+							prop: 'miniAppId',
+							label: '小程序',
+							align: 'center',
+							'min-width': '150px'
+						},
+						{
+							prop: 'miniVersion',
+							label: '小程序版本',
+							align: 'center'
+						},
+						{
+							prop: 'setName',
+							label: '套餐',
+							align: 'center'
+						},
+						{
+							prop: 'status',
+							label: '状态',
+							align: 'center'
+						}
+					],
+					// 操作列
+					op: {
+						visible: false, // 是否显示
+						// 同 element-ui Table-column Attributes
+						props: {
+							width: 150,
+							align: 'center',
+							fixed: 'right',
+							label: '操作'
+						},
+						// 布局,请移步 `layout`
+						layout: []
+					}
+				})
+				.set('layout', [
+					['slot-tabs'],
+					['flex1', 'refresh-btn'],
+					['data-table'],
+					['flex1', 'pagination']
+				])
+				.done();
+			app.refresh();
+		}
+	}
+};
+</script>

+ 86 - 0
admin-code/src/sass/shop/shop.vue

@@ -0,0 +1,86 @@
+<template>
+	<div class="app-list-content">
+		<cl-crud class="liu-crud-wrap" @load="onLoad"> </cl-crud>
+	</div>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			// cl-crud
+			app: null
+		};
+	},
+	mounted() {},
+	methods: {
+		// crud
+		onLoad({ ctx, app }) {
+			this.app = app;
+			let applyHost = () => {
+				return this.$service.sassShop.shopList();
+			};
+			ctx.service({
+				page: applyHost
+			})
+				.set('table', {
+					columns: [
+						{
+							prop: 'id',
+							label: 'ID',
+							align: 'center'
+						},
+						{
+							prop: 'shopName',
+							label: '门店名称',
+							align: 'center'
+						},
+						{
+							prop: 'merchantName',
+							label: '商家',
+							align: 'center'
+						},
+						{
+							prop: 'shopProvince',
+							label: '省',
+							align: 'center'
+						},
+						{
+							prop: 'shopCity',
+							label: '市',
+							align: 'center',
+							emptyText: '无'
+						},
+						{
+							prop: 'shopDist',
+							label: '区',
+							align: 'center',
+							emptyText: '无'
+						}
+					],
+					// 操作列
+					op: {
+						visible: false, // 是否显示
+						// 同 element-ui Table-column Attributes
+						props: {
+							width: 150,
+							align: 'center',
+							fixed: 'right',
+							label: '操作'
+						},
+						// 布局,请移步 `layout`
+						layout: []
+					}
+				})
+				.set('layout', [
+					['slot-tabs'],
+					['flex1', 'refresh-btn'],
+					['data-table'],
+					['flex1', 'pagination']
+				])
+				.done();
+			app.refresh();
+		}
+	}
+};
+</script>

+ 7 - 1
admin-code/src/service/index.js

@@ -14,6 +14,9 @@ import ad from './ad/index';
 import staff from './staff/index';
 import role from './role/index';
 import single from './single/index';
+// sass
+import sassShop from './sass/shop/index';
+import sassOrder from './sass/order/index';
 
 Vue.prototype.$service = {
 	common,
@@ -30,7 +33,10 @@ Vue.prototype.$service = {
 	ad,
 	staff,
 	role,
-	single
+	single,
+	// sass
+	sassShop,
+	sassOrder
 };
 
 export default Vue.prototype.$service;

+ 6 - 0
admin-code/src/service/sass/order/index.js

@@ -0,0 +1,6 @@
+import { BaseService, Service } from '@/cool/index';
+
+@Service('order')
+export class OrderService extends BaseService {}
+
+export default new OrderService();

+ 46 - 0
admin-code/src/service/sass/shop/index.js

@@ -0,0 +1,46 @@
+import { BaseService, Service } from '@/cool/index';
+
+export class ShopService extends BaseService {
+	// 商家列表 s
+	merchantList(data) {
+		return this.request({
+			url: '/merchant/list',
+			params: data
+		});
+	}
+
+	// 商家申请记录 s
+	applyList(data) {
+		return this.request({
+			url: '/apply/list',
+			params: data
+		});
+	}
+
+	// 商家申请审核 s
+	applyCheck(data) {
+		return this.request({
+			url: '/apply/check',
+			methods: 'POST',
+			data: data
+		});
+	}
+
+	// 门店列表 b
+	shopList(data) {
+		return this.request({
+			url: '/shop/list',
+			params: data
+		});
+	}
+
+	// 购买列表 b
+	buyList(data) {
+		return this.request({
+			url: '/renew/list',
+			params: data
+		});
+	}
+}
+
+export default new ShopService();

+ 1 - 1
admin-code/vue.config.js

@@ -7,7 +7,7 @@ module.exports = {
 		port: '7777',
 		proxy: {
 			'/dev': {
-				target: 'http://api.b.huaml.com',
+				target: 'http://api.s.huaml.com',
 
 				changeOrigin: true,
 				pathRewrite: { '^/dev': '' }