This commit is contained in:
parent
b41fd7c106
commit
d9d14c9b11
|
|
@ -1,8 +1,8 @@
|
|||
import axios from 'axios'
|
||||
// import {getHeaders} from '../utils/token'
|
||||
|
||||
// const baseUrl = 'http://localhost:8083/api/'
|
||||
const baseUrl = 'http://api.tomey.live/api/'
|
||||
const baseUrl = 'http://localhost:8083/api/'
|
||||
// const baseUrl = 'http://api.tomey.live/api/'
|
||||
class HttpRequest {
|
||||
constructor (baseUrl) {
|
||||
this.baseUrl = baseUrl
|
||||
|
|
@ -20,7 +20,8 @@ class HttpRequest {
|
|||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8',
|
||||
token: token
|
||||
}
|
||||
},
|
||||
method: 'post'
|
||||
}, options)
|
||||
return instance(options).then(res => {
|
||||
return res
|
||||
|
|
|
|||
|
|
@ -4,8 +4,7 @@ import qs from 'qs'
|
|||
// 获取订单数据
|
||||
export const getDataShowInfo = () => {
|
||||
return axios.request({
|
||||
url: 'getdatashowinfo',
|
||||
method: 'post',
|
||||
url: 'getdatashowinfo'
|
||||
// data: qs.stringify(data, { arrayFormat: 'brackets' })
|
||||
})
|
||||
}
|
||||
|
|
@ -13,7 +12,6 @@ export const getDataShowInfo = () => {
|
|||
export const changPassword = (data) => {
|
||||
return axios.request({
|
||||
url: 'editpassword',
|
||||
method: 'post',
|
||||
data: qs.stringify(data, { arrayFormat: 'brackets' })
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ import qs from 'qs'
|
|||
export const addOrder = (data) => {
|
||||
return axios.request({
|
||||
url: 'addorder',
|
||||
method: 'post',
|
||||
data: qs.stringify(data, { arrayFormat: 'brackets' })
|
||||
})
|
||||
}
|
||||
|
|
@ -13,21 +12,18 @@ export const addOrder = (data) => {
|
|||
export const getAllFlats = () => {
|
||||
return axios.request({
|
||||
url: 'getallflats',
|
||||
method: 'post',
|
||||
})
|
||||
}
|
||||
// 获取所有公寓信息
|
||||
export const getPriceList = () => {
|
||||
return axios.request({
|
||||
url: 'getpricelist',
|
||||
method: 'post',
|
||||
url: 'getpricelist'
|
||||
})
|
||||
}
|
||||
// 获取所有公寓信息
|
||||
export const getSelfOrderLst = (data) => {
|
||||
return axios.request({
|
||||
url: 'getselforderlist',
|
||||
method: 'post',
|
||||
data: qs.stringify(data, { arrayFormat: 'brackets' })
|
||||
})
|
||||
}
|
||||
|
|
@ -35,7 +31,6 @@ export const getSelfOrderLst = (data) => {
|
|||
export const getCourierLst = (data) => {
|
||||
return axios.request({
|
||||
url: 'couriergetalllist',
|
||||
method: 'post',
|
||||
data: qs.stringify(data, { arrayFormat: 'brackets' })
|
||||
})
|
||||
}
|
||||
|
|
@ -44,10 +39,35 @@ export const getCourierLst = (data) => {
|
|||
export const getTack = (data) => {
|
||||
return axios.request({
|
||||
url: 'gettack',
|
||||
method: 'post',
|
||||
data: qs.stringify(data, { arrayFormat: 'brackets' })
|
||||
})
|
||||
}
|
||||
// 获取所有公寓信息
|
||||
export const cancelO = (data) => {
|
||||
return axios.request({
|
||||
url: 'cancel',
|
||||
data: qs.stringify(data, { arrayFormat: 'brackets' })
|
||||
})
|
||||
}
|
||||
// 获取所有公寓信息
|
||||
export const courierGetSelfList = (data) => {
|
||||
return axios.request({
|
||||
url: 'couriergetselflist',
|
||||
data: qs.stringify(data, { arrayFormat: 'brackets' })
|
||||
})
|
||||
}
|
||||
// 获取所有公寓信息
|
||||
export const delivery = (data) => {
|
||||
return axios.request({
|
||||
url: 'delivery',
|
||||
data: qs.stringify(data, { arrayFormat: 'brackets' })
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 获取所有公寓信息
|
||||
export const charge = (data) => {
|
||||
return axios.request({
|
||||
url: 'charge',
|
||||
data: qs.stringify(data, { arrayFormat: 'brackets' })
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,7 +53,6 @@ export default {
|
|||
icon: 'el-icon-tickets',
|
||||
title: '所有订单',
|
||||
menuItem: [
|
||||
{route: 'foo', listTitle: '查找订单'},
|
||||
{route: 'anro', listTitle: '未接订单'},
|
||||
{route: 'aro', listTitle: '已接订单'},
|
||||
{route: 'aho', listTitle: '历史订单'}
|
||||
|
|
|
|||
|
|
@ -107,7 +107,6 @@ export default {
|
|||
methods: {
|
||||
getUserInfo () {
|
||||
let loading = this.$loading({lock: true, text: '玩命加载中...'})
|
||||
|
||||
this.userInformation.username = sessionStorage.getItem('username')
|
||||
this.userInformation.email = sessionStorage.getItem('email')
|
||||
this.userInformation.identity = sessionStorage.getItem('identity')
|
||||
|
|
|
|||
|
|
@ -176,16 +176,9 @@
|
|||
message: '添加成功!',
|
||||
type: 'success'
|
||||
})
|
||||
this.orderForm={
|
||||
number: '',
|
||||
company: '',
|
||||
name: '',
|
||||
phone:'',
|
||||
flatsid: '',
|
||||
hostel: '',
|
||||
type: '',
|
||||
decs: ''
|
||||
}
|
||||
this.orderForm.decs = ''
|
||||
this.orderForm.hostel = ''
|
||||
this.$refs.addorder.resetFields()
|
||||
}else {
|
||||
this.$message({
|
||||
message: data.errorMsg,
|
||||
|
|
|
|||
|
|
@ -2,22 +2,24 @@
|
|||
<div class="currentorder">
|
||||
<person-title>当前位置 :: 我的订单 >> <em>所有订单</em></person-title>
|
||||
<div class="currentorder-cont">
|
||||
<el-row>
|
||||
<el-col :offset="10" :span="4">
|
||||
<el-select v-model="value" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select></el-col>
|
||||
<el-col :span="4">
|
||||
<el-input v-model="input" placeholder="请输入内容"></el-input>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="findOrder-search">
|
||||
<el-form :inline="true" :model="findOrderForm" class="user-findOrder">
|
||||
<el-form-item label="查询条件">
|
||||
<el-select v-model="findOrderForm.condition" placeholder="选择查询条件">
|
||||
<el-option label=" " value="1"></el-option>
|
||||
<el-option label="姓名" value="name"></el-option>
|
||||
<el-option label="电话" value="phone"></el-option>
|
||||
<el-option label="快递公司" value="company"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="请输入">
|
||||
<el-input v-model="findOrderForm.answers" placeholder="查询条件"></el-input>
|
||||
</el-form-item>
|
||||
<el-button type="primary" v-on:click="queryData()">查询</el-button>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-table
|
||||
:data="CompOrderData"
|
||||
:data="OrderData"
|
||||
class="userOrderList"
|
||||
:default-sort="{prop: 'createTime', order: 'descending'}"
|
||||
style="width: 100%">
|
||||
|
|
@ -55,23 +57,31 @@
|
|||
<el-form-item label="寝室号 :">
|
||||
<span>{{props.row.hostel}}</span>
|
||||
</el-form-item>
|
||||
<template v-if="props.row.status==2">
|
||||
<el-form-item label="接单人员 :">
|
||||
<span>{{ props.row.courier }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="接单人电话 :">
|
||||
<span>{{ props.row.courier }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="接单时间 :">
|
||||
<span>{{ props.row.courier }}</span>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<el-form-item label="备注 :">
|
||||
<span>{{ props.row.decs }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="发布时间 :">
|
||||
<span>{{ props.row.createTime }}</span>
|
||||
<el-form-item>
|
||||
</el-form-item>
|
||||
<template v-if="props.row.status!=2">
|
||||
<el-form-item label="接单人员 :">
|
||||
<span>{{ props.row.courier.username }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="接单人电话 :">
|
||||
<span>{{ props.row.courier.phone }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="props.row.status==2" label="接单时间 :">
|
||||
<span>{{ props.row.lastTime }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="props.row.status==3" label="送达时间 :">
|
||||
<span>{{ props.row.lastTime }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="props.row.status==4" label="收取时间 :">
|
||||
<span>{{ props.row.lastTime }}</span>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<!-- <el-form-item label="发布时间 :">-->
|
||||
<!-- <span>{{ props.row.createTime }}</span>-->
|
||||
<!-- </el-form-item>-->
|
||||
</el-form>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -85,7 +95,6 @@
|
|||
<el-table-column
|
||||
prop="status"
|
||||
label="快递状态"
|
||||
:filter-method="filterTag"
|
||||
filter-placement="bottom-end">
|
||||
<template slot-scope="scope">
|
||||
<el-tag
|
||||
|
|
@ -115,7 +124,7 @@
|
|||
class="btn-cancel"
|
||||
type='danger'
|
||||
key='Cancel'
|
||||
@click="$emit('CancelOrder',scope.row)"
|
||||
v-on:click="cancel(scope.row.id)"
|
||||
>取消订单
|
||||
</el-button>
|
||||
<!-- handleSuccess(scope.$index, scope.row) -->
|
||||
|
|
@ -124,7 +133,7 @@
|
|||
<el-button
|
||||
size="mini"
|
||||
key='Delete'
|
||||
@click="$emit('DeleteOrder',scope.row)"
|
||||
v-on:click="chargeOrder(scope.row.id)"
|
||||
>确认收货
|
||||
</el-button>
|
||||
</template>
|
||||
|
|
@ -136,7 +145,7 @@
|
|||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:current-page="currentPage4"
|
||||
:current-page="4"
|
||||
:page-sizes="[10, 50, 80, 100]"
|
||||
:page-size="10"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
|
|
@ -147,14 +156,17 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import userOrderList from './userOrderList'
|
||||
import {getSelfOrderLst} from '../../../api/order'
|
||||
import axios from 'axios'
|
||||
import {getSelfOrderLst, cancelO, charge} from '../../../api/order'
|
||||
import {formData} from '../../../unit/formDate'
|
||||
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
CompOrderData: null,
|
||||
findOrderForm: {
|
||||
condition: '',
|
||||
answers: ''
|
||||
},
|
||||
OrderData: null,
|
||||
selectData: {
|
||||
page: 1,
|
||||
size: 10,
|
||||
|
|
@ -165,7 +177,7 @@
|
|||
starttime: '',
|
||||
endtime: '',
|
||||
type: '',
|
||||
status: '',
|
||||
status: ''
|
||||
},
|
||||
totalOrder: 0,
|
||||
showPagination: true,
|
||||
|
|
@ -175,30 +187,111 @@
|
|||
titleList: [
|
||||
{id: 1, columnTitle: '订单号', prop: 'id'},
|
||||
{id: 2, columnTitle: '姓名', prop: 'name'},
|
||||
{id: 3, columnTitle: '发布时间', prop: 'createTime'}
|
||||
]
|
||||
}
|
||||
},
|
||||
components: {
|
||||
userOrderList
|
||||
},
|
||||
created () {
|
||||
this.getUserOrder()
|
||||
},
|
||||
methods: {
|
||||
getUserOrder () {
|
||||
let loading = this.$loading({lock: true, text: '玩命加载中...'})
|
||||
getSelfOrderLst(this.selectData).then((res) => {
|
||||
chargeOrder(id){
|
||||
this.$confirm(`是否确认送达,完成订单?`,
|
||||
'确认送达', {
|
||||
confirmButtonText: '确认',
|
||||
cancelButtonText: '取消',
|
||||
type: 'success'
|
||||
}).then(() => {
|
||||
let formData = {
|
||||
id: id
|
||||
}
|
||||
charge(formData).then((res) => {
|
||||
console.log(res)
|
||||
var data = res.data
|
||||
if (data.success) {
|
||||
this.CompOrderData = data.data.list
|
||||
this.CompOrderData = {...this.CompOrderData}
|
||||
let resData = res.data
|
||||
if (resData.success) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: "订单完成"
|
||||
})
|
||||
this.getUserOrder()
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'error',
|
||||
message: resData.errorMsg
|
||||
})
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消操作'
|
||||
})
|
||||
})
|
||||
},
|
||||
queryData(){
|
||||
var data = this.findOrderForm
|
||||
this.selectData.company=''
|
||||
this.selectData.phone=''
|
||||
this.selectData.name=''
|
||||
this.selectData.name=''
|
||||
if (data.condition == 'flats'){
|
||||
}else if (data.condition == 'name'){
|
||||
this.selectData.name=data.answers
|
||||
}else if (data.condition == 'name'){
|
||||
this.selectData.name=data.answers
|
||||
}else if (data.condition == 'phone'){
|
||||
this.selectData.phone=data.answers
|
||||
}else if (data.condition == 'company'){
|
||||
this.selectData.company=data.answers
|
||||
}
|
||||
this.getUserOrder()
|
||||
},
|
||||
cancel (id) {
|
||||
let data = {
|
||||
orderid: id
|
||||
}
|
||||
cancelO(data).then((res) => {
|
||||
console.log(res)
|
||||
let data = res.data
|
||||
if (data.success) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: data.data
|
||||
})
|
||||
setTimeout(this.getUserOrder, 500)
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'error',
|
||||
message: data.data
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
getUserOrder () {
|
||||
// let loading = this.$loading({lock: true, text: '玩命加载中...'})
|
||||
getSelfOrderLst(this.selectData).then((res) => {
|
||||
var data = res.data
|
||||
// loading.close()
|
||||
if (data.success) {
|
||||
this.OrderData = []
|
||||
var list = data.data.list
|
||||
for (let i = 0; i < list.length; i++) {
|
||||
var dataitem = list[i]
|
||||
dataitem.lastTime = formData(list[i].lastTime, 'yyyy-MM-dd hh:mm:ss')
|
||||
dataitem.createTime = formData(list[i].createTime, 'yyyy-MM-dd hh:mm:ss')
|
||||
this.OrderData.push(dataitem)
|
||||
}
|
||||
this.totalOrder = data.data.count
|
||||
}else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: data.errorMsg
|
||||
})
|
||||
}
|
||||
})
|
||||
loading.close()
|
||||
},
|
||||
updateHandler () {
|
||||
this.CompOrderData = {...this.CompOrderData}
|
||||
this.OrderData = {...this.OrderData}
|
||||
},
|
||||
handleCancel (data) {
|
||||
// 如果已接单接不可以取消
|
||||
|
|
@ -283,7 +376,7 @@
|
|||
handleCurrentChange (val) {
|
||||
this.selectData.page = val
|
||||
this.getUserOrder()
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
@ -354,7 +447,11 @@
|
|||
width: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
.el-button {
|
||||
margin: 0 auto;
|
||||
}
|
||||
.findOrder-search{
|
||||
padding-top: 1rem;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -1,22 +1,119 @@
|
|||
<template>
|
||||
<div class="horder">
|
||||
<div class="currentorder">
|
||||
<person-title>当前位置 :: 我的订单 >> <em>历史订单</em></person-title>
|
||||
<div class="hidtoryOrder-cont">
|
||||
<userOrderList
|
||||
:userOrder='CompOrder'
|
||||
:listType='listType'
|
||||
:titleList='titleList'
|
||||
@DeleteOrder='handleDelete'>
|
||||
</userOrderList>
|
||||
<div class="currentorder-cont">
|
||||
<div class="findOrder-search">
|
||||
<el-form :inline="true" :model="findOrderForm" class="user-findOrder">
|
||||
<el-form-item label="查询条件">
|
||||
<el-select v-model="findOrderForm.condition" placeholder="选择查询条件">
|
||||
<el-option label=" " value="1"></el-option>
|
||||
<el-option label="姓名" value="name"></el-option>
|
||||
<el-option label="电话" value="phone"></el-option>
|
||||
<el-option label="快递公司" value="company"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="请输入">
|
||||
<el-input v-model="findOrderForm.answers" placeholder="查询条件"></el-input>
|
||||
</el-form-item>
|
||||
<el-button type="primary" v-on:click="queryData()">查询</el-button>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-table
|
||||
:data="OrderData"
|
||||
class="userOrderList"
|
||||
:default-sort="{prop: 'createTime', order: 'descending'}"
|
||||
style="width: 100%">
|
||||
<div class="emptyTip" slot="empty">
|
||||
暂时没有订单 , 赶紧去
|
||||
|
||||
<a href="" @click.prevent="handleGotoNewOrde"
|
||||
> 发布订单 </a>吧
|
||||
</div>
|
||||
<el-table-column type="expand">
|
||||
<template slot-scope="props">
|
||||
<el-form label-position="left"
|
||||
inline class="userTable demo-table-expand">
|
||||
<el-form-item label="订单号 :">
|
||||
<span>{{ props.row.id }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="收货人姓名 :">
|
||||
<span>{{props.row.name}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="电话 :">
|
||||
<span>{{props.row.phone}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="快递大小 :">
|
||||
<span>{{ props.row.typeDesc }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="快递公司 :">
|
||||
<span>{{ props.row.company}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="取货码 :">
|
||||
<span>{{props.row.number}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="公寓 :">
|
||||
<span>{{props.row.flats}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="寝室号 :">
|
||||
<span>{{props.row.hostel}}</span>
|
||||
</el-form-item>
|
||||
<template>
|
||||
<el-form-item label="接单人员 :">
|
||||
<span>{{ props.row.courier.username }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="接单人电话 :">
|
||||
<span>{{ props.row.courier.phone }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="接单时间 :">
|
||||
<span>{{ props.row.lastTime }}</span>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<el-form-item label="备注 :">
|
||||
<span>{{ props.row.decs }}</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-for="item in titleList"
|
||||
:key='item.id'
|
||||
:sortable='item.sortable'
|
||||
:label="item.columnTitle"
|
||||
:prop="item.prop">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="status"
|
||||
label="快递状态"
|
||||
:filter-method="filterTag"
|
||||
filter-placement="bottom-end">
|
||||
<template slot-scope="scope">
|
||||
<el-tag
|
||||
v-if="scope.row.status==1">待取件
|
||||
</el-tag>
|
||||
<el-tag
|
||||
type="warning" v-if="scope.row.status==2"
|
||||
>运输中
|
||||
</el-tag>
|
||||
<el-tag
|
||||
type="danger" v-if="scope.row.status==3"
|
||||
disable-transitions>待收取
|
||||
</el-tag>
|
||||
<el-tag
|
||||
type="success" v-if="scope.row.status==4"
|
||||
disable-transitions>完成
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="pageination-oder">
|
||||
<el-pagination v-if="showPagination"
|
||||
background
|
||||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:current-page="currentPage"
|
||||
:pager-count="5"
|
||||
:page-size="pageSize"
|
||||
layout="total, prev, pager, next, jumper"
|
||||
:current-page="4"
|
||||
:page-sizes="[10, 50, 80, 100]"
|
||||
:page-size="10"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="totalOrder">
|
||||
</el-pagination>
|
||||
</div>
|
||||
|
|
@ -24,96 +121,242 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import userOrderList from './userOrderList'
|
||||
import axios from 'axios'
|
||||
import {getSelfOrderLst} from '../../../api/order'
|
||||
import {formData} from '../../../unit/formDate'
|
||||
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
CompOrder:[],
|
||||
currentPage : 1,
|
||||
pageSize : 8,
|
||||
findOrderForm: {
|
||||
condition: '',
|
||||
answers: ''
|
||||
},
|
||||
OrderData: null,
|
||||
selectData: {
|
||||
page: 1,
|
||||
size: 10,
|
||||
flats: '',
|
||||
name: '',
|
||||
phone: '',
|
||||
company: '',
|
||||
starttime: '',
|
||||
endtime: '',
|
||||
type: '',
|
||||
status: 4
|
||||
},
|
||||
totalOrder: 0,
|
||||
showPagination: true,
|
||||
listType: {
|
||||
noCompBtn:false
|
||||
noCompBtn: true
|
||||
},
|
||||
titleList: [
|
||||
{id:1,columnTitle:'完成时间',prop:'completedData',sortable:true},
|
||||
{id:2,columnTitle:'订单价格(元)',prop:'Price',sortable:true},
|
||||
{id:3,columnTitle:'订单状态',prop:'orderState',sortable:false}
|
||||
{id: 1, columnTitle: '订单号', prop: 'id'},
|
||||
{id: 2, columnTitle: '姓名', prop: 'name'},
|
||||
{id: 3, columnTitle: '发布时间', prop: 'createTime'}
|
||||
]
|
||||
}
|
||||
},
|
||||
components:{
|
||||
userOrderList
|
||||
created () {
|
||||
this.getUserOrder()
|
||||
},
|
||||
mounted() {
|
||||
this.getHistoryOrder();
|
||||
},
|
||||
methods:{
|
||||
getHistoryOrder(){
|
||||
let loading = this.$loading({lock:true,text:'正在加载...'});
|
||||
axios.get(`/users/horder?size=${this.pageSize}&page=${this.currentPage}`).then(response=>{
|
||||
let res = response.data;
|
||||
loading.close();
|
||||
if(res.status=='0'){
|
||||
this.CompOrder = res.result.CompOrder;
|
||||
this.totalOrder = Number.parseInt(res.result.totalOrder);
|
||||
if(this.totalOrder <= this.pageSize){
|
||||
this.showPagination = false
|
||||
methods: {queryData(){
|
||||
var data = this.findOrderForm
|
||||
this.selectData.company=''
|
||||
this.selectData.phone=''
|
||||
this.selectData.name=''
|
||||
this.selectData.name=''
|
||||
if (data.condition == 'flats'){
|
||||
}else if (data.condition == 'name'){
|
||||
this.selectData.name=data.answers
|
||||
}else if (data.condition == 'name'){
|
||||
this.selectData.name=data.answers
|
||||
}else if (data.condition == 'phone'){
|
||||
this.selectData.phone=data.answers
|
||||
}else if (data.condition == 'company'){
|
||||
this.selectData.company=data.answers
|
||||
}
|
||||
this.getUserOrder()
|
||||
},
|
||||
getUserOrder () {
|
||||
console.log(new Date('2020-12-08T11:52:30.000+00:00').getFullYear())
|
||||
// let loading = this.$loading({lock: true, text: '玩命加载中...'})
|
||||
getSelfOrderLst(this.selectData).then((res) => {
|
||||
var data = res.data
|
||||
// loading.close()
|
||||
if (data.success) {
|
||||
this.OrderData = []
|
||||
var list = data.data.list
|
||||
for (let i = 0; i < list.length; i++) {
|
||||
var dataitem = list[i]
|
||||
dataitem.lastTime = formData(list[i].lastTime, 'yyyy-MM-dd hh:mm:ss')
|
||||
dataitem.createTime = formData(list[i].createTime, 'yyyy-MM-dd hh:mm:ss')
|
||||
this.OrderData.push(dataitem)
|
||||
}
|
||||
this.totalOrder = data.data.count
|
||||
}else {
|
||||
console.log(res.msg);
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: data.errorMsg
|
||||
})
|
||||
}
|
||||
}).catch(err=>{
|
||||
console.log(err);
|
||||
|
||||
})
|
||||
},
|
||||
handleDelete(data){
|
||||
// 删除订单
|
||||
this.$confirm('此操作将永久删除该文件, 是否继续?',
|
||||
'提示', {
|
||||
handleCancel (data) {
|
||||
// 如果已接单接不可以取消
|
||||
this.$confirm('此操作将取消订单, 是否继续?',
|
||||
'取消订单', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'error'
|
||||
}).then(() => {
|
||||
axios.get(`/users/deleteHistoryOrder?orderId=${data.orderId}`).then(response=>{
|
||||
let res = response.data;
|
||||
if(res.status=='0'){
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
});
|
||||
let mode = this.totalOrder % this.pageSize;
|
||||
if(mode ===1){ //判断是否当页最后一条
|
||||
this.currentPage --;
|
||||
}
|
||||
this.getHistoryOrder();
|
||||
}else{
|
||||
this.$message({
|
||||
type: 'error',
|
||||
message:res.msg
|
||||
});
|
||||
}
|
||||
}).catch(err=>{
|
||||
console.log(err);
|
||||
});
|
||||
// let loading = this.$loading({lock:true,text:'正在取消订单...'});
|
||||
// axios.get(`/users/cancelCurrentOrder?orderId=${data.orderId}`).then(response=>{
|
||||
// let res = response.data;
|
||||
// loading.close();
|
||||
// if(res.status=='0'){
|
||||
// this.$message({
|
||||
// type: 'success',
|
||||
// message: '取消成功!'
|
||||
// });
|
||||
// let mode = this.totalOrder % this.selectData.size;
|
||||
// if(mode ===1){ //判断是否当页最后一条
|
||||
// this.selectData.page --;
|
||||
// }
|
||||
// this.getUserOrder();
|
||||
// }else{
|
||||
// this.$message({
|
||||
// type: 'error',
|
||||
// message:res.msg
|
||||
// });
|
||||
// }
|
||||
// }).catch(err=>{
|
||||
// console.log(err);
|
||||
// });
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
});
|
||||
});
|
||||
message: '已取消操作'
|
||||
})
|
||||
})
|
||||
},
|
||||
handleCompleted (orderData) {
|
||||
// 完成订单
|
||||
this.$confirm(`是否确认送达,完成订单?`,
|
||||
'支付订单', {
|
||||
confirmButtonText: '确认',
|
||||
cancelButtonText: '取消',
|
||||
type: 'success'
|
||||
}).then(() => {
|
||||
// let loading = this.$loading({lock:true,text:'正在完成订单...'});
|
||||
// axios.post(`/users/completedCurrentOrder`,orderData).then(response=>{
|
||||
// let res = response.data;
|
||||
// loading.close();
|
||||
// if(res.status=='0'){
|
||||
// this.$message({
|
||||
// type: 'success',
|
||||
// message: '收货成功!'
|
||||
// });
|
||||
// let mode = this.totalOrder % this.selectData.size;
|
||||
// if(mode ===1){ //判断是否当页最后一条
|
||||
// this.selectData.page --;
|
||||
// }
|
||||
// this.getUserOrder();
|
||||
// }else{
|
||||
// this.$message({
|
||||
// type: 'error',
|
||||
// message:res.msg
|
||||
// });
|
||||
// }
|
||||
// }).catch(err=>{
|
||||
// console.log(err);
|
||||
// });
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消操作'
|
||||
})
|
||||
})
|
||||
},
|
||||
handleSizeChange (val) {
|
||||
this.selectData.size = val
|
||||
this.getUserOrder()
|
||||
},
|
||||
handleCurrentChange (val) {
|
||||
this.currentPage = val;
|
||||
this.getHistoryOrder();
|
||||
this.selectData.page = val
|
||||
this.getUserOrder()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
<style lang='scss'>
|
||||
.userOrderList {
|
||||
.el-message {
|
||||
top: 5rem;
|
||||
}
|
||||
|
||||
.el-button {
|
||||
width: 4.2rem;
|
||||
height: 1.5rem;
|
||||
line-height: 1.5rem;
|
||||
padding: 0;
|
||||
|
||||
span {
|
||||
font-size: 0.6rem;
|
||||
}
|
||||
}
|
||||
|
||||
//交易操作
|
||||
.btn-cancel {
|
||||
margin-right: 0.2rem;
|
||||
margin-bottom: 0.3rem;
|
||||
}
|
||||
|
||||
.btn-success {
|
||||
/*background-color: #409eff;*/
|
||||
/*color: #fff;*/
|
||||
|
||||
&:hover {
|
||||
/*background-color: lighten(#409eff, 5%);*/
|
||||
}
|
||||
}
|
||||
|
||||
// 当前订单没有数据时候
|
||||
.emptyTip a {
|
||||
color: rgb(226, 137, 137);
|
||||
|
||||
&:hover {
|
||||
color: rgb(214, 29, 29);
|
||||
}
|
||||
}
|
||||
|
||||
.el-button + .el-button {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
// 展开详情后文本 的span
|
||||
.horder .el-form-item__content span,
|
||||
.currentorder .el-form-item__content span {
|
||||
margin-right: 0.5rem;
|
||||
}
|
||||
|
||||
.demo-table-expand {
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
.demo-table-expand label {
|
||||
width: 6.2rem;
|
||||
color: #99a9bf;
|
||||
}
|
||||
|
||||
.demo-table-expand .el-form-item {
|
||||
margin-right: 0;
|
||||
margin-bottom: 0;
|
||||
width: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
.el-button {
|
||||
margin: 0 auto;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@
|
|||
<script>
|
||||
import leftMenu from '../LeftMenu'
|
||||
import appFooter from '../../AppFooter'
|
||||
import axios from 'axios'
|
||||
export default {
|
||||
components: {
|
||||
leftMenu,
|
||||
|
|
@ -54,7 +53,6 @@ export default {
|
|||
{route: 'currentorder', listTitle: '所有订单'},
|
||||
{route: 'addorder', listTitle: '发布订单'},
|
||||
{route: 'horder', listTitle: '历史订单'},
|
||||
{route: 'userorder', listTitle: '查找订单'}
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -78,17 +76,9 @@ export default {
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
checkLogin () {
|
||||
let loading = this.$loading({lock: true, text: '正在加载...'})
|
||||
|
||||
loading.close()
|
||||
},
|
||||
handleIsCollapse (newVal) {
|
||||
this.isCollapse = newVal
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.checkLogin()
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,119 +0,0 @@
|
|||
<template>
|
||||
<div class="historyOrder">
|
||||
<person-title>当前位置 :: 我的订单 >> <em>历史订单</em></person-title>
|
||||
<div class="hidtoryOrder-cont">
|
||||
<userOrderList
|
||||
:userOrder='CompOrder'
|
||||
:listType='listType'
|
||||
:titleList='titleList'
|
||||
@DeleteOrder='handleDelete'>
|
||||
</userOrderList>
|
||||
</div>
|
||||
<div class="pageination-oder">
|
||||
<el-pagination v-if="showPagination"
|
||||
background
|
||||
@current-change="handleCurrentChange"
|
||||
:current-page="currentPage"
|
||||
:pager-count="5"
|
||||
:page-size="pageSize"
|
||||
layout="total, prev, pager, next, jumper"
|
||||
:total="totalOrder">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import userOrderList from './userOrderList'
|
||||
import axios from 'axios'
|
||||
export default {
|
||||
data(){
|
||||
return {
|
||||
CompOrder:[],
|
||||
currentPage : 1,
|
||||
pageSize : 8,
|
||||
totalOrder : 0,
|
||||
showPagination : true,
|
||||
listType:{
|
||||
noCompBtn:false
|
||||
},
|
||||
titleList:[
|
||||
{id:1,columnTitle:'完成时间',prop:'completedData',sortable:true},
|
||||
{id:2,columnTitle:'订单价格(元)',prop:'Price',sortable:true},
|
||||
{id:3,columnTitle:'订单状态',prop:'orderState',sortable:false}
|
||||
]
|
||||
}
|
||||
},
|
||||
components:{
|
||||
userOrderList
|
||||
},
|
||||
mounted() {
|
||||
this.getHistoryOrder();
|
||||
},
|
||||
methods:{
|
||||
getHistoryOrder(){
|
||||
let loading = this.$loading({lock:true,text:'正在加载...'});
|
||||
axios.get(`/users/historyOrder?size=${this.pageSize}&page=${this.currentPage}`).then(response=>{
|
||||
let res = response.data;
|
||||
loading.close();
|
||||
if(res.status=='0'){
|
||||
this.CompOrder = res.result.CompOrder;
|
||||
this.totalOrder = Number.parseInt(res.result.totalOrder);
|
||||
if(this.totalOrder <= this.pageSize){
|
||||
this.showPagination = false
|
||||
}
|
||||
}else{
|
||||
console.log(res.msg);
|
||||
}
|
||||
}).catch(err=>{
|
||||
console.log(err);
|
||||
|
||||
})
|
||||
},
|
||||
handleDelete(data){
|
||||
// 删除订单
|
||||
this.$confirm('此操作将永久删除该文件, 是否继续?',
|
||||
'提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'error'
|
||||
}).then(() => {
|
||||
axios.get(`/users/deleteHistoryOrder?orderId=${data.orderId}`).then(response=>{
|
||||
let res = response.data;
|
||||
if(res.status=='0'){
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
});
|
||||
let mode = this.totalOrder % this.pageSize;
|
||||
if(mode ===1){ //判断是否当页最后一条
|
||||
this.currentPage --;
|
||||
}
|
||||
this.getHistoryOrder();
|
||||
}else{
|
||||
this.$message({
|
||||
type: 'error',
|
||||
message:res.msg
|
||||
});
|
||||
}
|
||||
}).catch(err=>{
|
||||
console.log(err);
|
||||
});
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
});
|
||||
});
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.currentPage = val;
|
||||
this.getHistoryOrder();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
|
|
@ -1,261 +0,0 @@
|
|||
<template>
|
||||
<div class="newOrder">
|
||||
<person-title>当前位置 :: 我的订单 >> <em>发布订单</em></person-title>
|
||||
<div class="createNewOrder">
|
||||
<el-form :model="orderForm"
|
||||
:rules="rules" ref="newOrder"
|
||||
label-position='left'
|
||||
@submit.native.prevent
|
||||
:status-icon='true'
|
||||
label-width="7rem" class="demo-orderForm">
|
||||
<el-form-item label="物品类型 : " prop="goodsTpye">
|
||||
<el-select v-model="orderForm.goodsTpye" placeholder="请选择物品类型">
|
||||
<el-option label="请选择" value="请选择" disabled></el-option>
|
||||
<el-option
|
||||
v-for="goods in goodsTpyeList"
|
||||
:key='goods'
|
||||
:label="goods" :value="goods"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="物品大小 : " prop="goodsSize">
|
||||
<el-select v-model="orderForm.goodsSize" placeholder="请选择物品大小">
|
||||
<el-option label="请选择" value="请选择" disabled></el-option>
|
||||
<el-option
|
||||
v-for="size in goodsSizeList"
|
||||
:key='size'
|
||||
:label="size" :value="size"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="快递公司(可多选) : " prop="company">
|
||||
<el-select v-model="orderForm.company"
|
||||
multiple placeholder="请选择快递公司">
|
||||
<el-option label="请选择" value="请选择" disabled></el-option>
|
||||
<el-option
|
||||
v-for="item in companyList"
|
||||
:key='item'
|
||||
:label="item" :value="item"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="取货码(可多个) : " prop="goodsCode" >
|
||||
<el-select
|
||||
v-model="orderForm.goodsCode"
|
||||
multiple
|
||||
filterable
|
||||
allow-create
|
||||
default-first-option
|
||||
no-data-text='添加方法: 回车或者选择文本'
|
||||
placeholder="请输入取货码">
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="发布价格(1-20元) : " prop="Price">
|
||||
<el-input-number v-model="orderForm.Price"
|
||||
:precision="2" :step="1.00" :max="20" :min="1"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="快递数量 : " prop="goodsNumber">
|
||||
<el-input-number v-model="orderForm.goodsNumber"
|
||||
:step="1.00" :max="10" :min="1"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item style='margin-left:0.5rem' label="备注 : " prop="remarks">
|
||||
<el-input type="textarea" :rows="3"
|
||||
placeholder="请输入内容..." resize='none'
|
||||
v-model="orderForm.remarks">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary"
|
||||
@click="submitForm('newOrder')">发布</el-button>
|
||||
<el-button @click="resetForm('newOrder')">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import axios from 'axios'
|
||||
import {gotoNewOrder} from './../../../assets/js/gotoNewOrder'
|
||||
export default {
|
||||
data(){
|
||||
let trueGoodsNumber=(rule, value, callback) => {
|
||||
if (value !=this.$data.orderForm.goodsCode.length) {
|
||||
callback(new Error('取货码数量和快递数量不匹配 !'));
|
||||
}else{
|
||||
callback();
|
||||
}
|
||||
};
|
||||
let trueGoodsCode=(rule, value, callback) => {
|
||||
if (value) {
|
||||
if(value.length!=this.orderForm.company.length){
|
||||
callback(new Error('取货码和快递公司数量不匹配 !'));
|
||||
return;
|
||||
}
|
||||
for(let i=0;i<value.length;i++){
|
||||
if(! /^[0-9]{6}$/.test(value[i]) ){
|
||||
callback(new Error('取货码为6位数字 !'));
|
||||
}
|
||||
}
|
||||
callback();
|
||||
}else{
|
||||
callback();
|
||||
}
|
||||
};
|
||||
return {
|
||||
goodsTpyeList:['生活用品','衣物','食物','数码3c','小家具','电器','箱包','乐器','其他'],
|
||||
goodsSizeList:['较小','小','一般','大','较大','非常大'],
|
||||
companyList:['顺丰','韵达','圆通','中通','申通','邮政','天天','安能','优速','京东','其他'],
|
||||
orderForm: {
|
||||
goodsTpye: '',
|
||||
goodsSize:'',
|
||||
company:[],
|
||||
goodsCode:[],
|
||||
Price:0.00,
|
||||
goodsNumber:0,
|
||||
remarks:''
|
||||
},
|
||||
rules: {
|
||||
goodsTpye: [
|
||||
{ required: true, message: '请选择物品类型', trigger: 'change' }
|
||||
],
|
||||
goodsSize: [
|
||||
{ required: true, message: '请选择快递大小', trigger: 'change' }
|
||||
],
|
||||
company:[
|
||||
{ required: true, message: '请选择快递公司', trigger: 'change' }
|
||||
],
|
||||
goodsCode:[
|
||||
{ required: true,message: '请输入快递取货码', trigger: 'change' },
|
||||
{ validator: trueGoodsCode, trigger: 'change'}
|
||||
],
|
||||
Price: [
|
||||
{ required: true, type:'number', message: '请设置发布价格', trigger: 'blur' }
|
||||
],
|
||||
goodsNumber:[
|
||||
{ required: true, message: '请选择快递数量', trigger: 'blur' },
|
||||
{ validator: trueGoodsNumber,message: '取货码数量和快递数量不匹配 !', trigger: 'change'}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.handleIsCompInfo();
|
||||
},
|
||||
mounted() {
|
||||
window.onkeydown = (e)=>{
|
||||
let key = window.event.keyCode;
|
||||
if(key==13){
|
||||
this.submitForm('newOrder');
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//如果没有完善个人信息不可以发布订单
|
||||
handleIsCompInfo(){
|
||||
let loading = this.$loading({lock:true,text:'玩命加载中...'});
|
||||
axios.get(`/users/userInformation`).then(response=>{
|
||||
let res = response.data;
|
||||
loading.close();
|
||||
if(res.status=='0'){
|
||||
let userInfo = res.result;
|
||||
if(!userInfo.userName || !userInfo.address){
|
||||
this.$message({
|
||||
message: '请先完善个人信息,便于联系您',
|
||||
type: 'error',
|
||||
showClose:true
|
||||
});
|
||||
gotoNewOrder.$emit('goNewOrder','addInformation',1);
|
||||
this.$router.push({ path: 'addInformation' });
|
||||
}
|
||||
}else{
|
||||
console.log(res.msg);
|
||||
}
|
||||
}).catch(err=>{
|
||||
console.log(err);
|
||||
|
||||
})
|
||||
},
|
||||
handleNewOrder(objdata){
|
||||
let loading = this.$loading({lock:true,text:'正在发布...'});
|
||||
axios.post('/users/newOrder',objdata).then(response=>{
|
||||
let res = response.data;
|
||||
loading.close();
|
||||
if(res.status=='0'){
|
||||
this.$message({
|
||||
message: '恭喜你,发布成功!',
|
||||
type: 'success'
|
||||
});
|
||||
gotoNewOrder.$emit('goNewOrder','currentOrder');
|
||||
this.$router.push({ path: 'currentOrder' });
|
||||
}else{
|
||||
this.$message({
|
||||
message: res.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}).catch(err=>{
|
||||
console.log(err);
|
||||
})
|
||||
},
|
||||
submitForm(formName) {
|
||||
this.$refs[formName].validate((valid) => {
|
||||
if (valid) {
|
||||
this.$confirm(`确认填写正确, 是否支付 ${this.orderForm.Price} 元并发布订单?`,
|
||||
'发布订单', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'success'
|
||||
}).then(() => {
|
||||
let order = {
|
||||
goodsTpye:this.orderForm.goodsTpye,
|
||||
goodsSize:this.orderForm.goodsSize,
|
||||
company:this.orderForm.company,
|
||||
goodsCode:this.orderForm.goodsCode,
|
||||
Price:this.orderForm.Price,
|
||||
goodsNumber:this.orderForm.goodsNumber,
|
||||
remarks:this.orderForm.remarks
|
||||
}
|
||||
let loading = this.$loading({lock:true,text:'正在支付...'});
|
||||
setTimeout(()=>{
|
||||
loading.close();
|
||||
this.$message({
|
||||
message: '支付成功!',
|
||||
type: 'success'
|
||||
});
|
||||
this.handleNewOrder(order)
|
||||
},600);
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消发布'
|
||||
});
|
||||
});
|
||||
} else {
|
||||
console.log('error submit!!');
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
resetForm(formName) {
|
||||
this.$refs[formName].resetFields();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang='scss'>
|
||||
.createNewOrder{
|
||||
padding-left: 5rem;
|
||||
padding-top: 2rem;
|
||||
width: 40%;
|
||||
min-width: 20rem;
|
||||
}
|
||||
@media only screen and (max-width:1650px){
|
||||
.newOrder .el-form--label-left .el-form-item__label{
|
||||
width: 10rem !important;
|
||||
}
|
||||
}
|
||||
@media only screen and (max-width:768px){
|
||||
.createNewOrder{
|
||||
width: 75%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -2,8 +2,24 @@
|
|||
<div class="currentorder">
|
||||
<person-title>当前位置 :: 接单大厅 >> <em>订单列表</em></person-title>
|
||||
<div class="currentorder-cont">
|
||||
<div class="findOrder-search">
|
||||
<el-form :inline="true" :model="findOrderForm" class="user-findOrder">
|
||||
<el-form-item label="查询条件">
|
||||
<el-select v-model="findOrderForm.condition" placeholder="选择查询条件">
|
||||
<el-option label=" " value="1"></el-option>
|
||||
<el-option label="姓名" value="name"></el-option>
|
||||
<el-option label="电话" value="phone"></el-option>
|
||||
<el-option label="快递公司" value="company"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="请输入">
|
||||
<el-input v-model="findOrderForm.answers" placeholder="查询条件"></el-input>
|
||||
</el-form-item>
|
||||
<el-button type="primary" v-on:click="queryData()">查询</el-button>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-table
|
||||
:data="CompOrderData"
|
||||
:data="OrderData"
|
||||
class="userOrderList"
|
||||
:default-sort="{prop: 'createTime', order: 'descending'}"
|
||||
style="width: 100%">
|
||||
|
|
@ -89,11 +105,16 @@
|
|||
|
||||
<script>
|
||||
import {getCourierLst, getTack} from '../../../api/order'
|
||||
import {formData} from '../../../unit/formDate'
|
||||
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
CompOrderData: null,
|
||||
findOrderForm: {
|
||||
condition: '',
|
||||
answers: ''
|
||||
},
|
||||
OrderData: null,
|
||||
selectData: {
|
||||
page: 1,
|
||||
size: 10,
|
||||
|
|
@ -122,17 +143,46 @@
|
|||
this.getUserOrder()
|
||||
},
|
||||
methods: {
|
||||
queryData(){
|
||||
var data = this.findOrderForm
|
||||
this.selectData.company=''
|
||||
this.selectData.phone=''
|
||||
this.selectData.name=''
|
||||
this.selectData.name=''
|
||||
if (data.condition == 'flats'){
|
||||
}else if (data.condition == 'name'){
|
||||
this.selectData.name=data.answers
|
||||
}else if (data.condition == 'name'){
|
||||
this.selectData.name=data.answers
|
||||
}else if (data.condition == 'phone'){
|
||||
this.selectData.phone=data.answers
|
||||
}else if (data.condition == 'company'){
|
||||
this.selectData.company=data.answers
|
||||
}
|
||||
this.getUserOrder()
|
||||
},
|
||||
getUserOrder () {
|
||||
let loading = this.$loading({lock: true, text: '玩命加载中...'})
|
||||
getCourierLst(this.selectData).then((res) => {
|
||||
console.log(res)
|
||||
loading.close()
|
||||
var data = res.data
|
||||
if (data.success) {
|
||||
this.CompOrderData = data.data.list
|
||||
this.OrderData = []
|
||||
var list = data.data.list
|
||||
for (let i = 0; i < list.length; i++) {
|
||||
var dataitem = list[i]
|
||||
dataitem.lastTime = formData(list[i].lastTime, 'yyyy-MM-dd hh:mm:ss')
|
||||
dataitem.createTime = formData(list[i].createTime, 'yyyy-MM-dd hh:mm:ss')
|
||||
this.OrderData.push(dataitem)
|
||||
}
|
||||
this.totalOrder = data.data.count
|
||||
}else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: data.errorMsg
|
||||
})
|
||||
}
|
||||
})
|
||||
loading.close()
|
||||
},
|
||||
getOrder (id) {
|
||||
let data = {
|
||||
|
|
@ -231,7 +281,11 @@
|
|||
width: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
.el-button {
|
||||
margin: 0 auto;
|
||||
}
|
||||
.findOrder-search{
|
||||
padding-top: 1rem;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -45,8 +45,7 @@ export default {
|
|||
title: '我的订单',
|
||||
menuItem: [
|
||||
{route: 'wro', listTitle: '已接订单'},
|
||||
{route: 'who', listTitle: '历史订单'},
|
||||
{route: 'wfo', listTitle: '查找订单'}
|
||||
{route: 'who', listTitle: '历史订单'}
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,62 +1,310 @@
|
|||
<template>
|
||||
<div class="wokerReceivedOrder">
|
||||
<person-title>当前位置 :: 我的订单 >> <em>已接订单</em></person-title>
|
||||
<div class="wokerReceivedOrder-cont">
|
||||
<!-- <wokerOrderList-->
|
||||
<!-- :userOrder='ReceiveOrder'-->
|
||||
<!-- :rightOptBtn='rightOptBtn'-->
|
||||
<!-- :titleList='titleList'-->
|
||||
<!-- @completedOrder='handleCompletedOrder'>-->
|
||||
<!-- </wokerOrderList>-->
|
||||
<div class="currentorder">
|
||||
<person-title>当前位置 :: 我的订单 >> <em>所有订单</em></person-title>
|
||||
<div class="currentorder-cont">
|
||||
<div class="findOrder-search">
|
||||
<el-form :inline="true" :model="findOrderForm" class="user-findOrder">
|
||||
<el-form-item label="查询条件">
|
||||
<el-select v-model="findOrderForm.condition" placeholder="选择查询条件">
|
||||
<el-option label=" " value="1"></el-option>
|
||||
<el-option label="姓名" value="name"></el-option>
|
||||
<el-option label="电话" value="phone"></el-option>
|
||||
<el-option label="快递公司" value="company"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="请输入">
|
||||
<el-input v-model="findOrderForm.answers" placeholder="查询条件"></el-input>
|
||||
</el-form-item>
|
||||
<el-button type="primary" v-on:click="queryData()">查询</el-button>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-table
|
||||
:data="OrderData"
|
||||
class="userOrderList"
|
||||
:default-sort="{prop: 'createTime', order: 'descending'}"
|
||||
style="width: 100%">
|
||||
<div class="emptyTip" slot="empty">
|
||||
暂时没有订单 , 赶紧去
|
||||
|
||||
<a href="" @click.prevent="handleGotoNewOrde"
|
||||
> 发布订单 </a>吧
|
||||
</div>
|
||||
<el-table-column type="expand">
|
||||
<template slot-scope="props">
|
||||
<el-form label-position="left"
|
||||
inline class="userTable demo-table-expand">
|
||||
<el-form-item label="订单号 :">
|
||||
<span>{{ props.row.id }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="收货人姓名 :">
|
||||
<span>{{props.row.name}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="电话 :">
|
||||
<span>{{props.row.phone}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="快递大小 :">
|
||||
<span>{{ props.row.typeDesc }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="快递公司 :">
|
||||
<span>{{ props.row.company}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="取货码 :">
|
||||
<span>{{props.row.number}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="公寓 :">
|
||||
<span>{{props.row.flats}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="寝室号 :">
|
||||
<span>{{props.row.hostel}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注 :">
|
||||
<span>{{ props.row.decs }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
</el-form-item>
|
||||
<template v-if="props.row.status!=2">
|
||||
<el-form-item label="接单人员 :">
|
||||
<span>{{ props.row.courier.username }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="接单人电话 :">
|
||||
<span>{{ props.row.courier.phone }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="props.row.status==2" label="接单时间 :">
|
||||
<span>{{ props.row.lastTime }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="props.row.status==3" label="送达时间 :">
|
||||
<span>{{ props.row.lastTime }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="props.row.status==4" label="收取时间 :">
|
||||
<span>{{ props.row.lastTime }}</span>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<!-- <el-form-item label="发布时间 :">-->
|
||||
<!-- <span>{{ props.row.createTime }}</span>-->
|
||||
<!-- </el-form-item>-->
|
||||
</el-form>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-for="item in titleList"
|
||||
:key='item.id'
|
||||
:sortable='item.sortable'
|
||||
:label="item.columnTitle"
|
||||
:prop="item.prop">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="status"
|
||||
label="快递状态"
|
||||
filter-placement="bottom-end">
|
||||
<template slot-scope="scope">
|
||||
<el-tag
|
||||
v-if="scope.row.status==1">待取件
|
||||
</el-tag>
|
||||
<el-tag
|
||||
type="warning" v-if="scope.row.status==2"
|
||||
>运输中
|
||||
</el-tag>
|
||||
<el-tag
|
||||
type="danger" v-if="scope.row.status==3"
|
||||
disable-transitions>待收取
|
||||
</el-tag>
|
||||
<el-tag
|
||||
type="success" v-if="scope.row.status==4"
|
||||
disable-transitions>完成
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column>
|
||||
<template slot="header" slot-scope="scope">操作
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<template v-if="scope.row.status==2">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
v-on:click="deliveryOrder(scope.row.id)"
|
||||
>确认送达
|
||||
</el-button>
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="pageination-oder">
|
||||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:current-page="4"
|
||||
:page-sizes="[10, 50, 80, 100]"
|
||||
:page-size="10"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="totalOrder">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import axios from 'axios'
|
||||
import wokerOrderList from './WokerOrderList'
|
||||
import {courierGetSelfList, delivery} from '../../../api/order'
|
||||
import {formData} from '../../../unit/formDate'
|
||||
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
ReceiveOrder:[],
|
||||
rightOptBtn:'receiveOrderBtn',// 'receiveOrderBtn' // 'historyBtn'
|
||||
findOrderForm: {
|
||||
condition: '',
|
||||
answers: ''
|
||||
},
|
||||
OrderData: null,
|
||||
selectData: {
|
||||
page: 1,
|
||||
size: 10,
|
||||
id: '',
|
||||
flats: '',
|
||||
name: '',
|
||||
phone: '',
|
||||
company: '',
|
||||
starttime: '',
|
||||
endtime: '',
|
||||
type: '',
|
||||
status: ''
|
||||
},
|
||||
totalOrder: 0,
|
||||
showPagination: true,
|
||||
listType: {
|
||||
noCompBtn: true
|
||||
},
|
||||
titleList: [
|
||||
{id:1,columnTitle:'发布时间',prop:'createTime',sortable:true},
|
||||
{id:2,columnTitle:'价格(元)',prop:'Price',sortable:true},
|
||||
{id:3,columnTitle:'类型',prop:'goodsTpye',sortable:false},
|
||||
{id:4,columnTitle:'数量',prop:'goodsNumber',sortable:true}
|
||||
|
||||
{id: 1, columnTitle: '订单号', prop: 'id'},
|
||||
{id: 2, columnTitle: '姓名', prop: 'name'},
|
||||
{id: 3, columnTitle: '发布时间', prop: 'createTime'}
|
||||
]
|
||||
}
|
||||
},
|
||||
components:{
|
||||
wokerOrderList
|
||||
},
|
||||
mounted() {
|
||||
// this.getReceivedOrderList();
|
||||
created () {
|
||||
this.getUserOrder()
|
||||
},
|
||||
methods: {
|
||||
// getReceivedOrderList(){
|
||||
//
|
||||
// },
|
||||
// handleCompletedOrder(orderData){
|
||||
// // 如果已接单接不可以取消
|
||||
// this.$confirm(`是否配送完成? 申请完成订单(此操作会向客户发起完成请求,
|
||||
// 若客户2天内没有确认则系统自动确认`,
|
||||
// '完成订单', {
|
||||
// confirmButtonText: '确定',
|
||||
// cancelButtonText: '取消',
|
||||
// type: 'success'
|
||||
// }).then(() => {
|
||||
// // let loading = this.$loading({lock:true,text:'玩命加载中...'});
|
||||
// axios.post(`/wokers/completedOrde`,orderData).then(response=>{
|
||||
// // let res = response.data;
|
||||
queryData () {
|
||||
var data = this.findOrderForm
|
||||
this.selectData.company = ''
|
||||
this.selectData.phone = ''
|
||||
this.selectData.name = ''
|
||||
this.selectData.name = ''
|
||||
if (data.condition == 'flats') {
|
||||
} else if (data.condition == 'name') {
|
||||
this.selectData.name = data.answers
|
||||
} else if (data.condition == 'name') {
|
||||
this.selectData.name = data.answers
|
||||
} else if (data.condition == 'phone') {
|
||||
this.selectData.phone = data.answers
|
||||
} else if (data.condition == 'company') {
|
||||
this.selectData.company = data.answers
|
||||
}
|
||||
this.getUserOrder()
|
||||
},
|
||||
deliveryOrder (id) {
|
||||
this.$confirm(`是否确认送达,完成订单?`,
|
||||
'确认送达', {
|
||||
confirmButtonText: '确认',
|
||||
cancelButtonText: '取消',
|
||||
type: 'success'
|
||||
}).then(() => {
|
||||
let formData = {
|
||||
id: id
|
||||
}
|
||||
delivery(formData).then((res) => {
|
||||
console.log(res)
|
||||
let resData = res.data
|
||||
if (resData.success) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: "订单送达"
|
||||
})
|
||||
this.getUserOrder()
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'error',
|
||||
message: resData.errorMsg
|
||||
})
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消操作'
|
||||
})
|
||||
})
|
||||
},
|
||||
cancel (id) {
|
||||
let data = {
|
||||
orderid: id
|
||||
}
|
||||
cancelO(data).then((res) => {
|
||||
console.log(res)
|
||||
let data = res.data
|
||||
if (data.success) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: data.data
|
||||
})
|
||||
setTimeout(this.getUserOrder, 500)
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'error',
|
||||
message: data.data
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
getUserOrder () {
|
||||
// let loading = this.$loading({lock: true, text: '玩命加载中...'})
|
||||
courierGetSelfList(this.selectData).then((res) => {
|
||||
var data = res.data
|
||||
// loading.close()
|
||||
if (data.success) {
|
||||
this.OrderData = []
|
||||
var list = data.data.list
|
||||
for (let i = 0; i < list.length; i++) {
|
||||
var dataitem = list[i]
|
||||
dataitem.lastTime = formData(list[i].lastTime, 'yyyy-MM-dd hh:mm:ss')
|
||||
dataitem.createTime = formData(list[i].createTime, 'yyyy-MM-dd hh:mm:ss')
|
||||
this.OrderData.push(dataitem)
|
||||
}
|
||||
this.totalOrder = data.data.count
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: data.errorMsg
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
updateHandler () {
|
||||
this.OrderData = {...this.OrderData}
|
||||
},
|
||||
handleCancel (data) {
|
||||
// 如果已接单接不可以取消
|
||||
this.$confirm('此操作将取消订单, 是否继续?',
|
||||
'取消订单', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'error'
|
||||
}).then(() => {
|
||||
// let loading = this.$loading({lock:true,text:'正在取消订单...'});
|
||||
// axios.get(`/users/cancelCurrentOrder?orderId=${data.orderId}`).then(response=>{
|
||||
// let res = response.data;
|
||||
// loading.close();
|
||||
// if(res.status=='0'){
|
||||
// this.$message({
|
||||
// type: 'success',
|
||||
// message: '已向客户发起完成请求!'
|
||||
// message: '取消成功!'
|
||||
// });
|
||||
// let mode = this.totalOrder % this.selectData.size;
|
||||
// if(mode ===1){ //判断是否当页最后一条
|
||||
// this.selectData.page --;
|
||||
// }
|
||||
// this.getUserOrder();
|
||||
// }else{
|
||||
// this.$message({
|
||||
// type: 'error',
|
||||
|
|
@ -65,19 +313,136 @@ export default {
|
|||
// }
|
||||
// }).catch(err=>{
|
||||
// console.log(err);
|
||||
//
|
||||
// });
|
||||
// }).catch(() => {
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消操作'
|
||||
})
|
||||
})
|
||||
},
|
||||
handleCompleted (orderData) {
|
||||
// 完成订单
|
||||
this.$confirm(`是否确认送达,完成订单?`,
|
||||
'支付订单', {
|
||||
confirmButtonText: '确认',
|
||||
cancelButtonText: '取消',
|
||||
type: 'success'
|
||||
}).then(() => {
|
||||
// let loading = this.$loading({lock:true,text:'正在完成订单...'});
|
||||
// axios.post(`/users/completedCurrentOrder`,orderData).then(response=>{
|
||||
// let res = response.data;
|
||||
// loading.close();
|
||||
// if(res.status=='0'){
|
||||
// this.$message({
|
||||
// type: 'info',
|
||||
// message: '已取消操作'
|
||||
// type: 'success',
|
||||
// message: '收货成功!'
|
||||
// });
|
||||
// let mode = this.totalOrder % this.selectData.size;
|
||||
// if(mode ===1){ //判断是否当页最后一条
|
||||
// this.selectData.page --;
|
||||
// }
|
||||
// this.getUserOrder();
|
||||
// }else{
|
||||
// this.$message({
|
||||
// type: 'error',
|
||||
// message:res.msg
|
||||
// });
|
||||
// }
|
||||
// }).catch(err=>{
|
||||
// console.log(err);
|
||||
// });
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消操作'
|
||||
})
|
||||
})
|
||||
},
|
||||
handleSizeChange (val) {
|
||||
this.selectData.size = val
|
||||
this.getUserOrder()
|
||||
},
|
||||
handleCurrentChange (val) {
|
||||
this.selectData.page = val
|
||||
this.getUserOrder()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
<style lang='scss'>
|
||||
.userOrderList {
|
||||
.el-message {
|
||||
top: 5rem;
|
||||
}
|
||||
|
||||
.el-button {
|
||||
width: 4.2rem;
|
||||
height: 1.5rem;
|
||||
line-height: 1.5rem;
|
||||
padding: 0;
|
||||
|
||||
span {
|
||||
font-size: 0.6rem;
|
||||
}
|
||||
}
|
||||
|
||||
//交易操作
|
||||
.btn-cancel {
|
||||
margin-right: 0.2rem;
|
||||
margin-bottom: 0.3rem;
|
||||
}
|
||||
|
||||
.btn-success {
|
||||
/*background-color: #409eff;*/
|
||||
/*color: #fff;*/
|
||||
|
||||
&:hover {
|
||||
/*background-color: lighten(#409eff, 5%);*/
|
||||
}
|
||||
}
|
||||
|
||||
// 当前订单没有数据时候
|
||||
.emptyTip a {
|
||||
color: rgb(226, 137, 137);
|
||||
|
||||
&:hover {
|
||||
color: rgb(214, 29, 29);
|
||||
}
|
||||
}
|
||||
|
||||
.el-button + .el-button {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
// 展开详情后文本 的span
|
||||
.horder .el-form-item__content span,
|
||||
.currentorder .el-form-item__content span {
|
||||
margin-right: 0.5rem;
|
||||
}
|
||||
|
||||
.demo-table-expand {
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
.demo-table-expand label {
|
||||
width: 6.2rem;
|
||||
color: #99a9bf;
|
||||
}
|
||||
|
||||
.demo-table-expand .el-form-item {
|
||||
margin-right: 0;
|
||||
margin-bottom: 0;
|
||||
width: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
.el-button {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.findOrder-search {
|
||||
padding-top: 1rem;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ const router = new Router({
|
|||
},
|
||||
{
|
||||
path: 'horder',
|
||||
component: () => import('@compage/user/HOrder'),
|
||||
component: () => import('@compage/user/HOrder')
|
||||
},
|
||||
{
|
||||
path: 'userorder',
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
export function formData (dates, format) {
|
||||
if (dates == '' || dates == null) {
|
||||
return ''
|
||||
} else {
|
||||
let date = new Date(dates)
|
||||
let time = {
|
||||
'M+': date.getMonth() + 1,
|
||||
'd+': date.getDate(),
|
||||
'h+': date.getHours(),
|
||||
'm+': date.getMinutes(),
|
||||
's+': date.getSeconds(),
|
||||
'q+': Math.floor((date.getMonth() + 3) / 3),
|
||||
'S+': date.getMilliseconds(),
|
||||
}
|
||||
if (/(y+)/i.test(format)) {
|
||||
format = format.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
|
||||
}
|
||||
for (let k in time) {
|
||||
if (new RegExp('(' + k + ')').test(format)) {
|
||||
format = format.replace(RegExp.$1, RegExp.$1.length === 1 ? time[k] : ('00' + time[k]).substr(('' + time[k]).length))
|
||||
}
|
||||
}
|
||||
return format
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue