Skip to content

Commit 134101b

Browse files
committed
change login, header, ...some pages
1 parent a5c368b commit 134101b

File tree

8 files changed

+172
-22
lines changed

8 files changed

+172
-22
lines changed

README.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,11 @@ npm run dev
5353
- [x] 管理用户
5454
- [x] 管理商铺
5555
- [x] 食品管理
56-
- [ ] 权限验证
57-
- [ ] 管理员设置
56+
- [x] 权限验证
57+
- [x] 管理员设置
5858
- [ ] 图表📈
5959
- [ ] 上传文件
60-
- [ ] 系统设置
6160
- [ ] 富文本编辑器
62-
- [ ] Markdown编辑器
6361

6462

6563
# 项目截图

build/dev-server.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ devMiddleware.waitUntilValid(() => {
7676
console.log('> Listening at ' + uri + '\n')
7777
// when env is testing, don't need open it
7878
if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') {
79-
// opn(uri)
79+
opn(uri)
8080
}
8181
_resolve()
8282
})

src/api/getData.js

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,28 @@
11
import fetch from '@/config/fetch'
22

3+
/**
4+
* 登陆
5+
*/
6+
7+
const login = data => fetch('/admin/login', data, 'POST');
8+
9+
/**
10+
* 退出
11+
*/
12+
13+
const signout = () => fetch('/admin/singout');
14+
15+
/**
16+
* 超级管理员列表
17+
*/
18+
19+
const adminList = data => fetch('/admin/all', data);
20+
21+
/**
22+
* 超级管理员列表
23+
*/
24+
25+
const adminCount = () => fetch('/admin/count');
326

427
/**
528
* 获取定位城市
@@ -153,5 +176,5 @@ const getUserInfo = user_id => fetch('/v1/user/' + user_id);
153176
const getAddressById = address_id => fetch('/v1/addresse/' + address_id);
154177

155178

156-
export { cityGuess, addShop, searchplace, getCategory, addCategory, addFood, foodCategory ,getResturants, getResturantDetail, getResturantsCount, updateResturant, deleteResturant, getFoods, getFoodsCount, getMenu, updateFood, getMenuById, deleteFood, getUserList, getUserCount, getOrderList, getOrderCount, getUserInfo, getAddressById}
179+
export {login, signout, adminList, adminCount, cityGuess, addShop, searchplace, getCategory, addCategory, addFood, foodCategory ,getResturants, getResturantDetail, getResturantsCount, updateResturant, deleteResturant, getFoods, getFoodsCount, getMenu, updateFood, getMenuById, deleteFood, getUserList, getUserCount, getOrderList, getOrderCount, getUserInfo, getAddressById}
157180

src/components/headTop.vue

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,31 @@
1616
</template>
1717

1818
<script>
19+
import {signout} from '@/api/getData'
1920
export default {
2021
created(){
2122
2223
},
2324
methods: {
24-
handleCommand(command) {
25-
this.$message(command);
26-
}
25+
async handleCommand(command) {
26+
if (command == 'home') {
27+
this.$router.push('/manage');
28+
}else if(command == 'singout'){
29+
const res = await signout()
30+
if (res.status == 1) {
31+
this.$message({
32+
type: 'success',
33+
message: '退出成功'
34+
});
35+
this.$router.push('/');
36+
}else{
37+
this.$message({
38+
type: 'error',
39+
message: res.message
40+
});
41+
}
42+
}
43+
},
2744
}
2845
}
2946
</script>

src/page/adminList.vue

Lines changed: 97 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,110 @@
11
<template>
22
<div class="fillcontain">
3-
adminList
3+
<head-top></head-top>
4+
<div class="table_container">
5+
<el-table
6+
:data="tableData"
7+
style="width: 100%">
8+
<el-table-column
9+
prop="user_name"
10+
label="姓名"
11+
width="180">
12+
</el-table-column>
13+
<el-table-column
14+
prop="create_time"
15+
label="注册日期"
16+
width="180">
17+
</el-table-column>
18+
<el-table-column
19+
prop="admin"
20+
label="权限">
21+
</el-table-column>
22+
</el-table>
23+
<div class="Pagination" style="text-align: right;margin-top: 10px;">
24+
<el-pagination
25+
@size-change="handleSizeChange"
26+
@current-change="handleCurrentChange"
27+
:current-page="currentPage"
28+
:page-size="20"
29+
layout="total, prev, pager, next"
30+
:total="count">
31+
</el-pagination>
32+
</div>
33+
</div>
434
</div>
535
</template>
636

737
<script>
38+
import headTop from '../components/headTop'
39+
import {adminList, adminCount} from '@/api/getData'
840
export default {
9-
41+
data(){
42+
return {
43+
tableData: [],
44+
currentRow: null,
45+
offset: 0,
46+
limit: 20,
47+
count: 0,
48+
currentPage: 1,
49+
}
50+
},
51+
components: {
52+
headTop,
53+
},
54+
created(){
55+
this.initData();
56+
},
57+
methods: {
58+
async initData(){
59+
try{
60+
const countData = await adminCount();
61+
if (countData.status == 1) {
62+
this.count = countData.count;
63+
}else{
64+
throw new Error('获取数据失败');
65+
}
66+
this.getAdmin();
67+
}catch(err){
68+
console.log('获取数据失败', err);
69+
}
70+
},
71+
handleSizeChange(val) {
72+
console.log(`每页 ${val}`);
73+
},
74+
handleCurrentChange(val) {
75+
this.currentPage = val;
76+
this.offset = (val - 1)*this.limit;
77+
this.getAdmin()
78+
},
79+
async getAdmin(){
80+
try{
81+
const res = await adminList({offset: this.offset, limit: this.limit});
82+
if (res.status == 1) {
83+
this.tableData = [];
84+
res.data.forEach(item => {
85+
const tableItem = {
86+
create_time: item.create_time,
87+
user_name: item.user_name,
88+
admin: item.admin,
89+
}
90+
this.tableData.push(tableItem)
91+
})
92+
}else{
93+
throw new Error(res.message)
94+
}
95+
}catch(err){
96+
console.log('获取数据失败', err);
97+
}
98+
}
99+
},
10100
}
11101
</script>
12102

13103
<style lang="less">
14104
@import '../style/mixin';
105+
.table_container{
106+
padding: 20px;
107+
}
15108
</style>
109+
110+

src/page/foodList.vue

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -319,12 +319,12 @@
319319
});
320320
this.tableData.splice(index, 1);
321321
}else{
322-
throw new Error('删除食品失败')
322+
throw new Error(res.message)
323323
}
324324
}catch(err){
325325
this.$message({
326326
type: 'error',
327-
message: '删除食品失败'
327+
message: err.message
328328
});
329329
console.error('删除食品失败')
330330
}
@@ -363,9 +363,8 @@
363363
}else{
364364
this.$message({
365365
type: 'error',
366-
message: '更新食品信息失败'
366+
message: res.message
367367
});
368-
throw new Error('更新餐馆信息失败')
369368
}
370369
}catch(err){
371370
console.log('更新餐馆信息失败', err);

src/page/login.vue

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,15 @@
1616
<el-button type="primary" @click="submitForm('loginForm')" class="submit_btn">登陆</el-button>
1717
</el-form-item>
1818
</el-form>
19+
<p class="tip">未登录过的新用户,自动注册成为普通管理员</p>
20+
<p class="tip">已注册过的用户不能重新注册</p>
1921
</section>
2022
</transition>
2123
</div>
2224
</template>
2325

2426
<script>
27+
import {login} from '@/api/getData'
2528
export default {
2629
data(){
2730
return {
@@ -44,10 +47,22 @@
4447
this.showLogin = true;
4548
},
4649
methods: {
47-
submitForm(formName) {
48-
this.$refs[formName].validate((valid) => {
50+
async submitForm(formName) {
51+
this.$refs[formName].validate(async (valid) => {
4952
if (valid) {
50-
this.$router.push('manage')
53+
const res = await login({user_name: this.loginForm.username, password: this.loginForm.password})
54+
if (res.status == 1) {
55+
this.$message({
56+
type: 'success',
57+
message: '登录成功'
58+
});
59+
this.$router.push('manage')
60+
}else{
61+
this.$message({
62+
type: 'error',
63+
message: res.message
64+
});
65+
}
5166
} else {
5267
this.$notify.error({
5368
title: '错误',
@@ -89,6 +104,10 @@
89104
font-size: 16px;
90105
}
91106
}
107+
.tip{
108+
font-size: 12px;
109+
color: #666;
110+
}
92111
.form-fade-enter-active, .form-fade-leave-active {
93112
transition: all 1s;
94113
}

src/page/shopList.vue

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -239,12 +239,12 @@
239239
});
240240
this.tableData.splice(index, 1);
241241
}else{
242-
throw new Error('删除店铺失败')
242+
throw new Error(res.message)
243243
}
244244
}catch(err){
245245
this.$message({
246246
type: 'error',
247-
message: '删除店铺失败'
247+
message: err.message
248248
});
249249
console.error('删除店铺失败')
250250
}
@@ -303,9 +303,8 @@
303303
}else{
304304
this.$message({
305305
type: 'error',
306-
message: '更新店铺信息失败'
306+
message: res.message
307307
});
308-
throw new Error('更新餐馆信息失败')
309308
}
310309
}catch(err){
311310
console.log('更新餐馆信息失败', err);

0 commit comments

Comments
 (0)