Commit aa3fdce1 by changjin

完成banner管理,用户管理,操作日志,订单统计,每日食谱管理的页面

parent f8bb8dad
...@@ -46,3 +46,27 @@ html, body { ...@@ -46,3 +46,27 @@ html, body {
.no-margin-card { .no-margin-card {
.el-form-item {margin-bottom: 0} .el-form-item {margin-bottom: 0}
} }
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 120px!important;
height: 120px!important;
line-height: 120px!important;
text-align: center;
}
.avatar {
width: 120px!important;
height: 120px!important;
display: block;
}
\ No newline at end of file
...@@ -11,21 +11,21 @@ ...@@ -11,21 +11,21 @@
:router="true" :router="true"
text-color="#aebee8" text-color="#aebee8"
class="el-menu-vertical-demo"> class="el-menu-vertical-demo">
<el-menu-item index="/tab/defaultPage/4"> <el-menu-item index="/tab/userList">
<i class="icon"><img src="../assets/img/icon/ico1.png" alt=""></i> <i class="icon"><img src="../assets/img/icon/ico1.png" alt=""></i>
<span slot="title">用户管理</span> <span slot="title">用户管理</span>
</el-menu-item> </el-menu-item>
<el-submenu index="1"> <el-submenu index="1">
<template slot="title"><i class="icon"><img src="../assets/img/icon/ico3.png" alt=""></i>菜单管理</template> <template slot="title"><i class="icon"><img src="../assets/img/icon/ico3.png" alt=""></i>菜单管理</template>
<el-menu-item-group> <el-menu-item-group>
<el-menu-item index="/tab/defaultPage/1">banner管理</el-menu-item> <el-menu-item index="/tab/bannerList">banner管理</el-menu-item>
<el-menu-item index="/tab/defaultPage/2">外卖管理</el-menu-item> <el-menu-item index="/tab/defaultPage/2">外卖管理</el-menu-item>
<el-menu-item index="/tab/defaultPage/13">每日食谱管理</el-menu-item> <el-menu-item index="/tab/cookbook">每日食谱管理</el-menu-item>
<el-menu-item index="/tab/defaultPage/3">厨师管理</el-menu-item> <el-menu-item index="/tab/cookList">厨师管理</el-menu-item>
<el-menu-item index="/tab/orderList">订单管理</el-menu-item> <el-menu-item index="/tab/orderList">订单管理</el-menu-item>
</el-menu-item-group> </el-menu-item-group>
</el-submenu> </el-submenu>
<el-menu-item index="/tab/defaultPage/5"> <el-menu-item index="/tab/log">
<i class="icon"><img src="../assets/img/icon/ico2.png" alt=""></i> <i class="icon"><img src="../assets/img/icon/ico2.png" alt=""></i>
<span slot="title">操作日志</span> <span slot="title">操作日志</span>
</el-menu-item> </el-menu-item>
......
...@@ -15,7 +15,22 @@ Vue.prototype.$axios = axios ...@@ -15,7 +15,22 @@ Vue.prototype.$axios = axios
Vue.use(ElementUI) Vue.use(ElementUI)
Vue.config.productionTip = false Vue.config.productionTip = false
var alert = require('element-ui').MessageBox.alert
async function responseInterceptor (response) {
if (response.data.code === '0') {
return response
} else {
// 在添加其他的错误码判断
if (response.data.msg) {
alert(response.data.msg, '温馨提示')
}
}
}
// 设置拦截器
axios.interceptors.response.use(function (response) {
return responseInterceptor(response)
})
new Vue({ new Vue({
router, router,
store, store,
......
...@@ -8,7 +8,11 @@ import CookDetail from './views/cookManage/CookDetail' ...@@ -8,7 +8,11 @@ import CookDetail from './views/cookManage/CookDetail'
import OrderList from './views/orderList/OrderList' import OrderList from './views/orderList/OrderList'
import OrderDetail from './views/orderList/OrderDetail' import OrderDetail from './views/orderList/OrderDetail'
import DefaultPage from './views/DefaultPage' import DefaultPage from './views/DefaultPage'
import UserList from './views/user'
import BannerList from './views/banner/bannerList'
import BannerAdd from './views/banner/bannerAdd'
import Log from './views/log'
import cookbook from './views/cookbook'
Vue.use(Router) Vue.use(Router)
export default new Router({ export default new Router({
...@@ -30,6 +34,31 @@ export default new Router({ ...@@ -30,6 +34,31 @@ export default new Router({
component: Layout, component: Layout,
children: [ children: [
{ {
path: 'userList',
name: 'userList',
component: UserList
},
{
path: 'bannerList',
name: 'bannerList',
component: BannerList
},
{
path: 'bannerAdd',
name: 'bannerAdd',
component: BannerAdd
},
{
path: 'cookbook',
name: 'cookbook',
component: cookbook
},
{
path: 'log',
name: 'log',
component: Log
},
{
path: 'cookList', path: 'cookList',
name: 'cookList', name: 'cookList',
component: CookList component: CookList
......
...@@ -37,7 +37,7 @@ export default { ...@@ -37,7 +37,7 @@ export default {
}).then((res) => { }).then((res) => {
console.log(res.data) console.log(res.data)
if (res.data.code === '0') { if (res.data.code === '0') {
this.$router.push({ name: 'orderList' }) this.$router.push({ name: 'userList' })
window.localStorage.setItem('userInfo', JSON.stringify(res.data)) window.localStorage.setItem('userInfo', JSON.stringify(res.data))
} }
}) })
......
<template>
<div>
<div class="breadcrumb-box" style="margin-bottom: 20px">
<el-breadcrumb separator-class="el-icon-arrow-right">
<el-breadcrumb-item>您当前的位置为:</el-breadcrumb-item>
<el-breadcrumb-item>菜单管理</el-breadcrumb-item>
<el-breadcrumb-item>banner管理</el-breadcrumb-item>
<el-breadcrumb-item :to="{ path: '/tab/bannerAdd' }">{{renderType}}新增轮播图</el-breadcrumb-item>
</el-breadcrumb>
</div>
<el-card class="box-card no-margin-card">
<div class="cook-detail">
<p class="my_title">
<em>请填写轮播图信息</em>
</p>
<div class="cook_infor">
<el-row>
<el-form label-width="110px" :model="addForm">
<el-col :span="18">
<el-form-item label="轮播图名称:" :rules="{required: true}">
<el-input v-model="addForm.name" placeholder="请输入轮播图名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="18" class="mt30">
<el-form-item label="轮播图:" :rules="{required: true}">
<el-upload
class="avatar-uploader"
action="http://47.94.209.240:8088/file/fileUpload"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="18">
<el-form-item label="启用:">
<el-switch v-model="addForm.status"></el-switch>
</el-form-item>
</el-col>
<el-col :span="18" class="mt30">
<el-form-item label="链接:" :rules="{required: true}">
<el-input v-model="addForm.name" placeholder="请输入链接"></el-input>
</el-form-item>
</el-col>
<el-col :span="18" class="mt30">
<el-form-item label="排序号:" :rules="{required: true}">
<el-input v-model="addForm.name" placeholder="请输入排序号(请填写数字,数字越大越靠前)"></el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-row style="text-align: center; padding-top: 50px">
<el-button type="primary" @click="saveBtn">保存</el-button>
<el-button type="primary" @click="goBack" plain>返回</el-button>
</el-row>
</div>
</div>
</el-card>
</div>
</template>
<script>
export default {
name: 'bannerAdd',
data () {
return {
addForm: {},
imageUrl: ''
}
},
created () {
this.getDetail()
},
methods: {
getDetail () {
var _this = this
this.$axios.get('/pc/trade/get/id/' + this.$route.params.id, {
}).then(function (res) {
console.log(res.data)
_this.orderObg = res.data.data
})
},
// 保存
saveBtn () {
var that = this
var params = {
"herf": that.addForm.herf,
"id": 0,
"name": that.addForm.herf,
"status": that.addForm.status,
"url": that.addForm.status,
"userName": that.addForm.status
}
this.$axios.post('/pcbanner/add/banner',params, {
}).then(function (res) {
console.log(res.data)
_this.orderObg = res.data.data
})
},
handleAvatarSuccess(res, file) {
this.imageUrl = URL.createObjectURL(file.raw);
},
goBack () {
this.$router.go(-1)
}
},
}
</script>
<style scoped lang="less">
.cook-detail {
width: 100%;
height: calc(100% - 34px);
background-color: #ffffff;
padding: 30px 40px;
box-sizing: border-box;
.my_title {margin-bottom: 45px}
.cook_infor {font-size: 16px;
.el-row {margin-bottom: 24px;
span {color: #333333}
.col_rt {color: #666666}
}
}
}
.mt30{
margin-top: 30px;
}
</style>
<template>
<div>
<div class="breadcrumb-box" style="margin-bottom: 20px">
<el-breadcrumb separator-class="el-icon-arrow-right">
<el-breadcrumb-item>您当前的位置为:</el-breadcrumb-item>
<el-breadcrumb-item>菜单管理</el-breadcrumb-item>
<el-breadcrumb-item>banner管理</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="order-list">
<el-card class="box-card no-margin-card margin-bottom20">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-col :sm="6" class="margin-bottom20">
<el-form-item label="名称">
<el-input v-model="formInline.orderNumber" placeholder="工号"></el-input>
</el-form-item>
</el-col>
<el-col :sm="10">
<el-form-item label="上传时间">
<el-col :sm="11">
<el-form-item prop="date1">
<el-date-picker v-model="formInline.startTime" type="datetime" placeholder="开始时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col class="line" :sm="2" style="text-align: center">-</el-col>
<el-col :sm="11">
<el-form-item prop="date2">
<el-date-picker v-model="formInline.endTime" type="datetime" placeholder="结束时间">
</el-date-picker>
</el-form-item>
</el-col>
</el-form-item>
</el-col>
<el-col :sm="2">
<el-form-item>
<el-button type="primary" @click="searchList" size="small">搜索</el-button>
</el-form-item>
</el-col>
</el-form>
</el-card>
<el-card class="box-card no-margin-card">
<div class="order_table">
<p class="table_title padding-bottom15" style="text-align: right">
<el-button type="primary" plain class="btn-search" size="small" @click="goAdd">新增</el-button>
<!--<el-button type="primary" plain class="btn-search" size="small">订单统计</el-button>-->
</p>
<el-table
:data="orderListData"
stripe
:key="Math.random()"
class="my-table margin-bottom20"
@row-click="handleRowChange"
:header-cell-style="{background:'#f0fafe',color:'#333333'}"
:header-row-style="{height: '60px'}"
style="width: 100%">
<el-table-column
prop="tradeNo"
label="轮播图名称"
align="center"
width="180">
</el-table-column>
<el-table-column
prop="userNo"
label="缩略图"
align="center"
width="240">
</el-table-column>
<el-table-column
prop="userName"
align="center"
label="启用">
</el-table-column>
<el-table-column
prop="type"
align="center"
label="上传人">
<template slot-scope="scope">
<span>{{renderType(scope.row.type)}}</span>
</template>
</el-table-column>
<el-table-column
prop="num"
align="center"
label="上传时间">
</el-table-column>
</el-table>
<div class="pagination_box" v-if="orderListData && orderListData.length">
<el-button icon="el-icon-arrow-left" size="mini" @click="goPage(-1)" v-if="allPage > 1"></el-button>
<el-button icon="el-icon-arrow-left" size="mini" disabled v-if="allPage === 1"></el-button>
<div class="page_num"><span>{{page}}</span> / <span>{{countPage}}</span></div>
<el-button icon="el-icon-arrow-right" size="mini" @click="goPage(1)" v-if="allPage !== countPage"></el-button>
<el-button icon="el-icon-arrow-right" size="mini" disabled v-if="allPage === countPage"></el-button>
<input type="text" class="page_search" v-model="allPage">
<el-button type="primary" size="mini" @click="goToPage">跳转</el-button>
</div>
</div>
</el-card>
</div>
</div>
</template>
<script>
export default {
name: 'bannerList',
data () {
return {
formInline: {
orderNumber: '',
name: '',
startTime: '',
endTime: '',
type: ''
},
allPage: 1,
currentPage: 10,
countPage: '',
page: '',
orderListData: []
}
},
created () {
this.getOrderList()
},
methods: {
onSubmit () {
alert(1)
},
getOrderList () {
let parms = {
}
this.$axios({
method: 'post',
url: '/pcbanner/get/list?p=' + this.allPage + '&c=' + this.currentPage,
data: parms
}).then((res) => {
this.orderListData = res.data.data.resultList
this.countPage = res.data.data.countPage
this.page = res.data.data.page
console.log(res.data)
})
},
handleRowChange (row, event, column) {
this.$router.push({ name: 'orderDetail', params: { id: row.id, type: row.type} })
},
searchList () {
this.getOrderList()
},
goPage (num) {
this.allPage = Number(this.allPage) + num
this.getOrderList()
},
goToPage () {
this.getOrderList()
},
goAdd () {
this.$router.push('/tab/bannerAdd')
},
},
}
</script>
<style scoped lang="less">
</style>
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
<div class="cook_top"> <div class="cook_top">
<el-form :inline="true" :model="formInline" class="demo-form-inline" label-width="60px" label-position="left"> <el-form :inline="true" :model="formInline" class="demo-form-inline" label-width="60px" label-position="left">
<el-form-item label="姓名"> <el-form-item label="姓名">
<el-input v-model="formInline.user" placeholder="预约内容"></el-input> <el-input v-model="formInline.name" placeholder="姓名"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="手机号"> <el-form-item label="手机号">
<el-input v-model="formInline.tel" placeholder="输入手机号"></el-input> <el-input v-model="formInline.phone" placeholder="手机号"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="预约"> <el-form-item label="预约">
<el-select v-model="formInline.isY"> <el-select v-model="formInline.status">
<el-option label="是" value="是"></el-option> <el-option label="是" value="是"></el-option>
<el-option label="否" value="否"></el-option> <el-option label="否" value="否"></el-option>
</el-select> </el-select>
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<el-button type="primary" plain class="btn-search" size="small">新增</el-button> <el-button type="primary" plain class="btn-search" size="small">新增</el-button>
</p> </p>
<el-table <el-table
:data="tableData" :data="data"
stripe stripe
class="my-table" class="my-table"
:header-cell-style="{background:'#f0fafe',color:'#333333'}" :header-cell-style="{background:'#f0fafe',color:'#333333'}"
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
prop="name" prop="name"
label="厨师姓名" label="厨师姓名"
align="center" align="center"
width="180"> >
<template slot-scope="scope"> <template slot-scope="scope">
<router-link :to="{name: 'cookDetail', params: {id: scope.row.id}}" <router-link :to="{name: 'cookDetail', params: {id: scope.row.id}}"
class="buttonText">厨师姓名</router-link> class="buttonText">厨师姓名</router-link>
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
prop="cookName" prop="cookName"
label="菜系" label="菜系"
align="center" align="center"
width="240"> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="cookType" prop="cookType"
...@@ -64,7 +64,8 @@ ...@@ -64,7 +64,8 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
align="center" align="center"
label="操作"> label="操作"
>
<a href="javascript:;" class="btn_edit">编辑</a> <a href="javascript:;" class="btn_edit">编辑</a>
<a href="javascript:;" class="btn_delete">删除</a> <a href="javascript:;" class="btn_delete">删除</a>
</el-table-column> </el-table-column>
...@@ -86,45 +87,51 @@ export default { ...@@ -86,45 +87,51 @@ export default {
data () { data () {
return { return {
formInline: { formInline: {
user: '', name: '',
tel: '', phone: '',
isY: '' status: ''
}, },
tableData: [{ allPage: 1,
id: '01', currentPage: 10,
name: '王小虎', countPage: '',
cookName: '粤菜/京菜', page: '',
cookType: '面点', data: []
isYu: true,
dateTime: '06-03 12:00 ~ 04-04 22:00'
}, {
id: '02',
name: '王小虎',
cookName: '粤菜/京菜',
cookType: '面点',
isYu: true,
dateTime: '06-03 12:00 ~ 04-04 22:00'
}, {
id: '03',
name: '王小虎',
cookName: '粤菜/京菜',
cookType: '面点',
isYu: true,
dateTime: '06-03 12:00 ~ 04-04 22:00'
}, {
id: '04',
name: '王小虎',
cookName: '粤菜/京菜',
cookType: '面点',
isYu: true,
dateTime: '06-03 12:00 ~ 04-04 22:00'
}]
} }
}, },
created () {
this.getList()
},
methods: { methods: {
onSubmit () { onSubmit () {
console.log('submit!') console.log('submit!')
},
getList () {
let parms = {
"name": this.formInline.name,
"phone": this.formInline.phone,
"status": this.formInline.status
} }
this.$axios({
method: 'post',
url: '/pccook/get/list?p=' + this.allPage + '&c=' + this.currentPage,
data: parms
}).then((res) => {
this.data = res.data.data.resultList
this.countPage = res.data.data.countPage
this.page = res.data.data.page
console.log(res.data)
})
},
searchList () {
this.getOrderList()
},
goPage (num) {
this.allPage = Number(this.allPage) + num
this.getOrderList()
},
goToPage () {
this.getOrderList()
},
} }
} }
</script> </script>
......
<template>
<div>
<div class="breadcrumb-box" style="margin-bottom: 20px">
<el-breadcrumb separator-class="el-icon-arrow-right">
<el-breadcrumb-item>您当前的位置为:</el-breadcrumb-item>
<el-breadcrumb-item>每日食谱管理</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="order-list">
<el-card class="box-card no-margin-card margin-bottom20">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-col :sm="6" class="margin-bottom20">
<el-form-item label="名称">
<el-input v-model="formInline.orderNumber" placeholder="名称"></el-input>
</el-form-item>
</el-col>
<el-col :sm="2">
<el-form-item>
<el-button type="primary" @click="searchList" size="small">搜索</el-button>
</el-form-item>
</el-col>
</el-form>
</el-card>
<el-card class="box-card no-margin-card">
<div class="order_table">
<el-table
:data="orderListData"
stripe
:key="Math.random()"
class="my-table margin-bottom20"
@row-click="handleRowChange"
:header-cell-style="{background:'#f0fafe',color:'#333333'}"
:header-row-style="{height: '60px'}"
style="width: 100%">
<el-table-column
prop="tradeNo"
label="菜品编号"
align="center"
>
</el-table-column>
<el-table-column
prop="userNo"
label="菜品名称"
align="center"
>
</el-table-column>
<el-table-column
prop="userName"
align="center"
label="菜品图片">
</el-table-column>
<el-table-column
prop="type"
align="center"
label="菜品种类">
<template slot-scope="scope">
<span>{{renderType(scope.row.type)}}</span>
</template>
</el-table-column>
<el-table-column
prop="userName"
align="center"
label="库存数量">
</el-table-column>
<el-table-column
prop="userName"
align="center"
label="单价">
</el-table-column>
<el-table-column
prop="userName"
align="center"
label="单位">
</el-table-column>
<el-table-column
prop="userName"
align="center"
label="菜谱分类">
</el-table-column>
<el-table-column
prop="userName"
align="center"
label="菜谱发布时间">
</el-table-column>
<el-table-column
prop="userName"
align="center"
label="预定开始">
</el-table-column>
<el-table-column
prop="userName"
align="center"
label="预定截止">
</el-table-column>
</el-table>
<div class="pagination_box" v-if="orderListData && orderListData.length">
<el-button icon="el-icon-arrow-left" size="mini" @click="goPage(-1)" v-if="allPage > 1"></el-button>
<el-button icon="el-icon-arrow-left" size="mini" disabled v-if="allPage === 1"></el-button>
<div class="page_num"><span>{{page}}</span> / <span>{{countPage}}</span></div>
<el-button icon="el-icon-arrow-right" size="mini" @click="goPage(1)" v-if="allPage !== countPage"></el-button>
<el-button icon="el-icon-arrow-right" size="mini" disabled v-if="allPage === countPage"></el-button>
<input type="text" class="page_search" v-model="allPage">
<el-button type="primary" size="mini" @click="goToPage">跳转</el-button>
</div>
</div>
</el-card>
</div>
</div>
</template>
<script>
export default {
name: 'bannerList',
data () {
return {
formInline: {
orderNumber: '',
name: '',
startTime: '',
endTime: '',
type: ''
},
allPage: 1,
currentPage: 10,
countPage: '',
page: '',
orderListData: []
}
},
created () {
this.getOrderList()
},
methods: {
onSubmit () {
alert(1)
},
getOrderList () {
let parms = {
}
this.$axios({
method: 'post',
url: '/pclog/get/list?p=' + this.allPage + '&c=' + this.currentPage,
data: parms
}).then((res) => {
this.orderListData = res.data.data.resultList
this.countPage = res.data.data.countPage
this.page = res.data.data.page
console.log(res.data)
})
},
handleRowChange (row, event, column) {
this.$router.push({ name: 'orderDetail', params: { id: row.id, type: row.type} })
},
searchList () {
this.getOrderList()
},
goPage (num) {
this.allPage = Number(this.allPage) + num
this.getOrderList()
},
goToPage () {
this.getOrderList()
},
goAdd () {
this.$router.push('/tab/bannerAdd')
},
},
}
</script>
<style scoped lang="less">
</style>
<template>
<div>
<div class="breadcrumb-box" style="margin-bottom: 20px">
<el-breadcrumb separator-class="el-icon-arrow-right">
<el-breadcrumb-item>您当前的位置为:</el-breadcrumb-item>
<el-breadcrumb-item>操作日志</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="order-list">
<el-card class="box-card no-margin-card margin-bottom20">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-col :sm="6" class="margin-bottom20">
<el-form-item label="操作人">
<el-input v-model="formInline.orderNumber" placeholder="操作人"></el-input>
</el-form-item>
</el-col>
<el-col :sm="10">
<el-form-item label="操作时间">
<el-col :sm="11">
<el-form-item prop="date1">
<el-date-picker v-model="formInline.startTime" type="datetime" placeholder="开始时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col class="line" :sm="2" style="text-align: center">-</el-col>
<el-col :sm="11">
<el-form-item prop="date2">
<el-date-picker v-model="formInline.endTime" type="datetime" placeholder="结束时间">
</el-date-picker>
</el-form-item>
</el-col>
</el-form-item>
</el-col>
<el-col :sm="2">
<el-form-item>
<el-button type="primary" @click="searchList" size="small">搜索</el-button>
</el-form-item>
</el-col>
</el-form>
</el-card>
<el-card class="box-card no-margin-card">
<div class="order_table">
<el-table
:data="orderListData"
stripe
:key="Math.random()"
class="my-table margin-bottom20"
@row-click="handleRowChange"
:header-cell-style="{background:'#f0fafe',color:'#333333'}"
:header-row-style="{height: '60px'}"
style="width: 100%">
<el-table-column
prop="tradeNo"
label="操作人"
align="center"
width="180">
</el-table-column>
<el-table-column
prop="userNo"
label="操作模块"
align="center"
width="240">
</el-table-column>
<el-table-column
prop="userName"
align="center"
label="操作时间">
</el-table-column>
<el-table-column
prop="type"
align="center"
label="操作内容">
<template slot-scope="scope">
<span>{{renderType(scope.row.type)}}</span>
</template>
</el-table-column>
</el-table>
<div class="pagination_box" v-if="orderListData && orderListData.length">
<el-button icon="el-icon-arrow-left" size="mini" @click="goPage(-1)" v-if="allPage > 1"></el-button>
<el-button icon="el-icon-arrow-left" size="mini" disabled v-if="allPage === 1"></el-button>
<div class="page_num"><span>{{page}}</span> / <span>{{countPage}}</span></div>
<el-button icon="el-icon-arrow-right" size="mini" @click="goPage(1)" v-if="allPage !== countPage"></el-button>
<el-button icon="el-icon-arrow-right" size="mini" disabled v-if="allPage === countPage"></el-button>
<input type="text" class="page_search" v-model="allPage">
<el-button type="primary" size="mini" @click="goToPage">跳转</el-button>
</div>
</div>
</el-card>
</div>
</div>
</template>
<script>
export default {
name: 'bannerList',
data () {
return {
formInline: {
orderNumber: '',
name: '',
startTime: '',
endTime: '',
type: ''
},
allPage: 1,
currentPage: 10,
countPage: '',
page: '',
orderListData: []
}
},
created () {
this.getOrderList()
},
methods: {
onSubmit () {
alert(1)
},
getOrderList () {
let parms = {
}
this.$axios({
method: 'post',
url: '/pclog/get/list?p=' + this.allPage + '&c=' + this.currentPage,
data: parms
}).then((res) => {
this.orderListData = res.data.data.resultList
this.countPage = res.data.data.countPage
this.page = res.data.data.page
console.log(res.data)
})
},
handleRowChange (row, event, column) {
this.$router.push({ name: 'orderDetail', params: { id: row.id, type: row.type} })
},
searchList () {
this.getOrderList()
},
goPage (num) {
this.allPage = Number(this.allPage) + num
this.getOrderList()
},
goToPage () {
this.getOrderList()
},
goAdd () {
this.$router.push('/tab/bannerAdd')
},
},
}
</script>
<style scoped lang="less">
</style>
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<div class="order_table"> <div class="order_table">
<p class="table_title padding-bottom15" style="text-align: right"> <p class="table_title padding-bottom15" style="text-align: right">
<el-button type="primary" plain class="btn-search" size="small">打印</el-button> <el-button type="primary" plain class="btn-search" size="small">打印</el-button>
<!--<el-button type="primary" plain class="btn-search" size="small">订单统计</el-button>--> <el-button type="primary" plain class="btn-search" size="small" @click="statistical">订单统计</el-button>
</p> </p>
<el-table <el-table
:data="orderListData" :data="orderListData"
...@@ -127,6 +127,85 @@ ...@@ -127,6 +127,85 @@
</div> </div>
</el-card> </el-card>
</div> </div>
<el-dialog
title="订单统计"
:visible.sync="dialogVisible"
width="50%">
<el-row>
<div class="order-list">
<el-card class="box-card no-margin-card margin-bottom20">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-col :sm="10">
<el-form-item label="下单时间">
<el-col :sm="11">
<el-form-item prop="date1">
<el-date-picker v-model="formInline.startTime" type="datetime" placeholder="开始时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col class="line" :sm="2" style="text-align: center">-</el-col>
<el-col :sm="11">
<el-form-item prop="date2">
<el-date-picker v-model="formInline.endTime" type="datetime" placeholder="结束时间">
</el-date-picker>
</el-form-item>
</el-col>
</el-form-item>
</el-col>
<el-col :sm="8" :offset="1">
<el-form-item label="类型" style="margin-left: 30px">
<el-select v-model="formInline.type">
<el-option label="全部" value="全部"></el-option>
<el-option label="外卖" value="外卖"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :sm="2">
<el-form-item>
<el-button type="primary" @click="searchList" size="small">搜索</el-button>
</el-form-item>
</el-col>
</el-form>
</el-card>
<el-card class="box-card no-margin-card">
<div class="order_table">
<el-table
:data="orderListData"
stripe
:key="Math.random()"
class="my-table margin-bottom20"
@row-click="handleRowChange"
:header-cell-style="{background:'#f0fafe',color:'#333333'}"
:header-row-style="{height: '60px'}"
style="width: 100%">
<el-table-column
type="index"
label="序号"
align="center"
width="180">
</el-table-column>
<el-table-column
prop="tradeNo"
label="名称"
align="center"
width="180">
</el-table-column>
<el-table-column
prop="userNo"
label="数量"
align="center"
width="240">
</el-table-column>
</el-table>
</div>
</el-card>
</div>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="save">确 定</el-button>
</span>
</el-dialog>
</div> </div>
</template> </template>
...@@ -146,7 +225,8 @@ export default { ...@@ -146,7 +225,8 @@ export default {
currentPage: 10, currentPage: 10,
countPage: '', countPage: '',
page: '', page: '',
orderListData: [] orderListData: [],
dialogVisible: false
} }
}, },
created () { created () {
...@@ -187,7 +267,10 @@ export default { ...@@ -187,7 +267,10 @@ export default {
}, },
goToPage () { goToPage () {
this.getOrderList() this.getOrderList()
} },
statistical () {
this.dialogVisible = true
},
}, },
computed: { computed: {
renderStatus (status) { renderStatus (status) {
......
<template>
<div>
<div class="breadcrumb-box" style="margin-bottom: 20px">
<el-breadcrumb separator-class="el-icon-arrow-right">
<el-breadcrumb-item>您当前的位置为:</el-breadcrumb-item>
<el-breadcrumb-item>用户管理</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="order-list">
<el-card class="box-card no-margin-card margin-bottom20">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-col :sm="6" class="margin-bottom20">
<el-form-item label="工号">
<el-input v-model="formInline.user" placeholder="工号"></el-input>
</el-form-item>
</el-col>
<el-col :sm="6" :offset="1">
<el-form-item label="姓名">
<el-input v-model="formInline.name" placeholder="姓名"></el-input>
</el-form-item>
</el-col>
<el-col :sm="6" :offset="1">
<el-form-item label="手机号">
<el-input v-model="formInline.tel" placeholder="手机号"></el-input>
</el-form-item>
</el-col>
<el-col :sm="2">
<el-form-item>
<el-button type="primary" @click="searchList" size="small">搜索</el-button>
</el-form-item>
</el-col>
</el-form>
</el-card>
<el-card class="box-card no-margin-card">
<div class="order_table">
<el-table
:data="orderListData"
stripe
:key="Math.random()"
class="my-table margin-bottom20"
:header-cell-style="{background:'#f0fafe',color:'#333333'}"
:header-row-style="{height: '60px'}"
style="width: 100%">
<el-table-column
prop="user"
label="工号"
align="center"
width="180">
</el-table-column>
<el-table-column
prop="xingming"
label="姓名"
align="center"
width="240">
</el-table-column>
<el-table-column
prop="tel"
align="center"
label="手机号">
</el-table-column>
<el-table-column
prop="type"
align="center"
label="订单数">
<template slot-scope="scope">
<span>{{renderType(scope.row.type)}}</span>
</template>
</el-table-column>
<el-table-column
prop="num"
align="center"
label="启用">
</el-table-column>
<el-table-column
prop="dizhi"
align="center"
label="地址">
</el-table-column>
</el-table>
<div class="pagination_box" v-if="orderListData && orderListData.length">
<el-button icon="el-icon-arrow-left" size="mini" @click="goPage(-1)" v-if="allPage > 1"></el-button>
<el-button icon="el-icon-arrow-left" size="mini" disabled v-if="allPage === 1"></el-button>
<div class="page_num"><span>{{page}}</span> / <span>{{countPage}}</span></div>
<el-button icon="el-icon-arrow-right" size="mini" @click="goPage(1)" v-if="allPage !== countPage"></el-button>
<el-button icon="el-icon-arrow-right" size="mini" disabled v-if="allPage === countPage"></el-button>
<input type="text" class="page_search" v-model="allPage">
<el-button type="primary" size="mini" @click="goToPage">跳转</el-button>
</div>
</div>
</el-card>
</div>
</div>
</template>
<script>
export default {
name: 'orderList',
data () {
return {
formInline: {
user: '',
name: '',
tel: ''
},
allPage: 1,
currentPage: 10,
countPage: '',
page: '',
orderListData: []
}
},
created () {
this.getOrderList()
},
methods: {
onSubmit () {
alert(1)
},
getOrderList () {
let parms = {
"tel": this.formInline.tel,
"user": this.formInline.user,
"xingming": this.formInline.name
}
this.$axios({
method: 'post',
url: '/pcuser/list?p=' + this.allPage + '&c=' + this.currentPage,
data: parms
}).then((res) => {
this.orderListData = res.data.data.resultList
this.countPage = res.data.data.countPage
this.page = res.data.data.page
console.log(res.data)
})
},
searchList () {
this.getOrderList()
},
goPage (num) {
this.allPage = Number(this.allPage) + num
this.getOrderList()
},
goToPage () {
this.getOrderList()
}
},
computed: {
renderStatus (status) {
return function (status) {
if (status === 'DQR') {
return '待确认'
} else if (status === 'YQX') {
return '已取消'
} else if (status === 'YWC') {
return '已完成'
}
}
},
renderType (type) {
return function (type) {
if (type === 'WM') {
return '外卖'
} else if (type === 'JZ') {
return '家政'
} else if (type === 'CS') {
return '超市'
}
}
}
}
}
</script>
<style scoped lang="less">
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment