component下新建文件夹order下新建文件Order.vue,并在路由中引入文件
因为数据库中少了些文件,所以要自己导入。
1 )citydata.js
2 ) db.js
3 ) wuliudb.json
PS:这些文件太长,我就不放了。
<el-breadcrumb separator-class="el-icon-arrow-right">
<el-breadcrumb-item :to="{ path: '/home' }">首页el-breadcrumb-item>
<el-breadcrumb-item>订单管理el-breadcrumb-item>
<el-breadcrumb-item>订单列表el-breadcrumb-item>
el-breadcrumb>
<el-row>
<el-col :span="8">
<el-input placeholder="请输入内容">
<el-button slot="append" icon="el-icon-search">el-button>
el-input>
el-col>
el-row>
<el-table :data="orderList" border stripe>
<el-table-column type="index">el-table-column>
<el-table-column label="订单编号" prop="order_number">el-table-column>
<el-table-column label="订单价格" prop="order_price">el-table-column>
<el-table-column label="是否付款" prop="pay_status">
<template slot-scope="scope">
<el-tag type="success" v-if="scope.pay_status === 1">已付款el-tag>
<el-tag type="danger" v-else>未付款el-tag>
template>
el-table-column>
<el-table-column label="是否发货" prop="is_send">el-table-column>
<el-table-column label="下单时间" prop="create_time">
<template slot-scope="scope">
{{ scope.row.create_time | dateFormat }}
template>
el-table-column>
<el-table-column label="操作">
<template>
<el-button
icon="el-icon-edit"
size="mini"
type="primary"
@click="showBox"
>el-button>
<el-button
icon="el-icon-location"
size="mini"
type="success"
@click="showProgressBox"
>el-button>
template>
el-table-column>
el-table>
queryInfo: {
query: '',
pagenum: 1,
pagesize: 10
},
orderList: [],
async getOrderList () {
const { data: result } = await this.$http.get('orders', {
params: this.queryInfo
})
if (result.meta.status !== 200) {
return this.$message.error('获取订单列表失败')
}
this.total = result.total
this.orderList = result.data.goods
},
showBox () {
this.addressVisible = true
},
showProgressBox () {
this.progressInfo = this.db
this.progressVisible = true
}
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="queryInfo.pagenum"
:page-sizes="[5, 10, 15]"
:page-size="queryInfo.pagesize"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
background
>el-pagination>
total: 0,
handleSizeChange (newSize) {
this.queryInfo.pagesize = newSize
this.getOrderList()
},
handleCurrentChange (newPage) {
this.queryInfo.pagenum = newPage
this.getOrderList()
},
<el-dialog
title="修改地址"
:visible.sync="addressVisible"
width="50%"
@close="addressDialogClosed"
>
<el-form
:model="addressForm"
:rules="addressFormRules"
ref="addressFormRef"
label-width="100px"
>
<el-form-item
label="省市区/县"
prop="address1"
>
<el-cascader
:options="cityData"
v-model="addressForm.address1"
>el-cascader>
el-form-item>
<el-form-item
label="详细地址"
prop="address2"
>
<el-input v-model="addressForm.address2">el-input>
el-form-item>
el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="addressVisible = false">取 消el-button>
<el-button
type="primary" @click="addressVisible = false"
>确 定el-button>
span>
el-dialog>
addressVisible: false,
addressForm: {
address1: [],
address2: ''
},
addressFormRules: {
address1: [
{ required: true, message: '请选择省市区县', trigger: 'blur' }
],
address2: [
{ required: true, message: '请输入详细地址', trigger: 'blur' }
]
},
cityData,
addressDialogClosed () {
this.$refs.addressFormRef.resetFields()
},
<el-dialog
title="物流进度"
:visible.sync="progressVisible"
width="50%"
>
<el-timeline>
<el-timeline-item
v-for="(activity, index) in progressInfo"
:key="index"
:timestamp="activity.time"
>
{{ activity.context }}
el-timeline-item>
el-timeline>
el-dialog>
progressVisible: false,
progressInfo: [],
db