联调查看物流/修改收货信息/添加备注/补单发货接口

上级 eb1a4449
......@@ -28,9 +28,18 @@ export function sendOrder(data) {
}
//查看物流
export function expressInfoNew(data){
export function expressInfoNew(params){
return request({
url: '/system/order/getExpressInfoNew',
method: 'get',
params
})
}
// 修改订单收货信息
export function orderInfoEdit(data){
return request({
url: '/system/order/orderInfoEdit',
method: 'post',
data: data
})
......
<template>
<div class="orderDetail">
<el-card>
<el-steps :active="1" align-center>
<el-steps :active="orderDetail ? orderDetail.status : 1" align-center>
<el-step title="买家下单付款"></el-step>
<el-step title="商家发货"></el-step>
<el-step title="订单完成"></el-step>
......@@ -17,23 +17,23 @@
<div>
<el-row class="row-title">
<el-col :span="3" class="text-r">订单编号</el-col>
<el-col :span="6" class="text-l">0</el-col>
<el-col :span="6" class="text-l">{{orderDetail ? orderDetail.parent_order_sn : ''}}</el-col>
</el-row>
<el-row class="row-title">
<el-col :span="3" class="text-r">下单时间</el-col>
<el-col :span="6" class="text-l">0</el-col>
<el-col :span="6" class="text-l">{{orderDetail ? formatter(orderDetail.addtime) : ''}}</el-col>
</el-row>
<el-row class="row-title">
<el-col :span="3" class="text-r">商品数量</el-col>
<el-col :span="6" class="text-l">5</el-col>
<el-col :span="6" class="text-l">{{goodsNum}}</el-col>
</el-row>
<el-row class="row-title">
<el-col :span="3" class="text-r">商品总价</el-col>
<el-col :span="6" class="text-l">0</el-col>
<el-col :span="6" class="text-l">{{goodsPrice}}</el-col>
</el-row>
<el-row class="row-title">
<el-col :span="3" class="text-r">运费</el-col>
<el-col :span="6" class="text-l">6</el-col>
<el-col :span="6" class="text-l">{{goodsFreight}}</el-col>
</el-row>
</div>
</div>
......@@ -43,20 +43,20 @@
<img class="icon" src="@/assets/image/order/icon2.png" alt="">
<span>买家信息</span>
</div>
<el-button size="mini" type="primary" @click="modifyinfo">修改收货信息</el-button>
<el-button size="mini" type="primary" @click="modifyinfo" :disabled="orderDetail && orderDetail.status > 2">修改收货信息</el-button>
</div>
<div>
<el-row class="row-title">
<el-col :span="3" class="text-r">订单编号</el-col>
<el-col :span="6" class="text-l">0</el-col>
<el-col :span="3" class="text-r">下单时间</el-col>
<el-col :span="6" class="text-l">0</el-col>
<el-col :span="3" class="text-r">收货人姓名</el-col>
<el-col :span="6" class="text-l">{{orderDetail ? orderDetail.shipping_name : ''}}</el-col>
<el-col :span="3" class="text-r">联系电话</el-col>
<el-col :span="6" class="text-l">{{orderDetail ? orderDetail.phone : ''}}</el-col>
</el-row>
<el-row class="row-title">
<el-col :span="3" class="text-r">商品数量</el-col>
<el-col :span="6" class="text-l">5</el-col>
<el-col :span="3" class="text-r">商品总价</el-col>
<el-col :span="6" class="text-l">0</el-col>
<el-col :span="3" class="text-r">收货地址</el-col>
<el-col :span="6" class="text-l">{{orderDetail ? orderDetail.province + orderDetail.city + orderDetail.county + orderDetail.town + orderDetail.address : ''}}</el-col>
<el-col :span="3" class="text-r"></el-col>
<el-col :span="6" class="text-l"></el-col>
</el-row>
</div>
</div>
......@@ -68,28 +68,56 @@
</div>
<div>
<el-button size="mini" type="primary" @click="goShipping(1)">去发货</el-button>
<el-button size="mini" @click="goShipping(2)">补单发货</el-button>
<el-button size="mini" @click="goShipping(2)" :disabled="orderDetail && orderDetail.status > 2">补单发货</el-button>
</div>
</div>
<el-table :data="[{order_sn: '111'}]" style="border: 1px solid #eee;" @selection-change="handleSelectionChange">
<el-table :data="orderDetail ? orderDetail.item : []" style="border: 1px solid #eee;" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" />
<el-table-column label="订单号" prop="order_sn"/>
<el-table-column label="商品名称" prop="order_sn"/>
<el-table-column label="商品规格" prop="order_sn"/>
<el-table-column label="单价" prop="order_sn"/>
<el-table-column label="数量" prop="Quantity"/>
<el-table-column label="商品状态" prop="Money"/>
<el-table-column label="快递公司" prop="Shipname"/>
<el-table-column label="快递单号" prop="Tel"/>
<el-table-column label="商品名称">
<template slot-scope="scope">
{{scope.row.goods_list[0].title}}
</template>
</el-table-column>
<el-table-column label="商品规格">
<template slot-scope="scope">
{{scope.row.goods_list[0].goods_option_title}}
</template>
</el-table-column>
<el-table-column label="单价">
<template slot-scope="scope">
{{scope.row.goods_list[0].price}}
</template>
</el-table-column>
<el-table-column label="数量">
<template slot-scope="scope">
{{scope.row.goods_list[0].num}}
</template>
</el-table-column>
<el-table-column label="商品状态">
<template slot-scope="scope">
{{scope.row.goods_list[0].goods_status == 0 ? '未发货' : '已发货'}}
</template>
</el-table-column>
<el-table-column label="快递公司">
<template slot-scope="scope">
{{scope.row.goods_list[0].deliver_Name}}
</template>
</el-table-column>
<el-table-column label="快递单号" prop="Tel">
<template slot-scope="scope">
{{scope.row.goods_list[0].deliver_no}}
</template>
</el-table-column>
<el-table-column label="操作" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" @click="goShipping(3)">去发货</el-button>
<el-button size="mini" type="text" @click="getExpressInfoNew">查看物流</el-button>
<el-button size="mini" type="text" @click="goShipping(3, scope.row.goods_list[0].goods_id)" :disabled="scope.row.goods_list[0].goods_status > 0">{{getStatus(scope.row.goods_list[0].goods_status, scope.row.goods_list[0].is_reissue)}}</el-button>
<el-button v-if="scope.row.goods_list[0].goods_status > 0" size="mini" type="text" @click="getExpressInfoNew(scope.row.order_sn, scope.row.goods_list[0].goods_id, scope.row.goods_list[0].sku_id)">查看物流</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="orderItem">
<!-- <div class="orderItem">
<div class="orderTitle">
<img class="icon" src="@/assets/image/order/icon4.png" alt="">
<span>操作历史</span>
......@@ -99,7 +127,7 @@
<el-table-column label="操作人" prop="order_sn" width="300"/>
<el-table-column label="操作内容" prop="order_sn"/>
</el-table>
</div>
</div> -->
<div class="orderItem">
<div class="orderTitle">
<div style="display: flex; align-items: center; width: 70%;">
......@@ -108,7 +136,7 @@
</div>
<el-button size="mini" type="primary" @click="addRemark">添加备注</el-button>
</div>
<div style="width: 75%; min-height: 100px; border: 1px solid #eee;"></div>
<div style="width: 75%; min-height: 100px; border: 1px solid #eee;">{{orderDetail ? orderDetail.remark : ''}}</div>
</div>
</div>
</el-card>
......@@ -121,15 +149,17 @@
:append-to-body="true"
>
<div style="margin: 0 10%">
<el-form ref="form" :model="form" label-width="100px">
<el-form ref="addressForm" :model="addressForm" label-width="100px">
<el-form-item label="收货人姓名:">
<el-input size="mini" v-model="form.name" placeholder="请输入收货人姓名"></el-input>
<el-input size="mini" v-model="addressForm.name" placeholder="请输入收货人姓名"></el-input>
</el-form-item>
<el-form-item label="联系电话:">
<el-input size="mini" v-model="form.mobile" placeholder="请输入联系电话"></el-input>
<el-input size="mini" v-model="addressForm.mobile" placeholder="请输入联系电话"></el-input>
</el-form-item>
<el-form-item label="收货地址:">
<el-input size="mini" v-model="form.address" placeholder="请输入收货地址"></el-input>
<el-cascader v-model="addressForm.areaList" :props='props' placeholder="请选择具体的省市区" style="width:100%"></el-cascader>
<el-input size="mini" v-model="addressForm.street_name" placeholder="请输入街道"></el-input>
<el-input size="mini" v-model="addressForm.address" placeholder="请输入收货地址"></el-input>
</el-form-item>
</el-form>
</div>
......@@ -177,7 +207,7 @@
:append-to-body="true"
>
<div style="padding: 20px 10% 1px; background: #F7F8FA;">
<el-form ref="form" :model="form" label-width="100px">
<el-form ref="form" label-width="100px">
<el-form-item label="添加备注:">
<el-input
type="textarea"
......@@ -204,22 +234,24 @@
:type="activity.type"
color="#0bbd87"
:size="activity.size"
:timestamp="formatter(activity.time)">
{{activity.message}}
:timestamp="formatter(activity.msgTime)">
{{activity.content}}
</el-timeline-item>
</el-timeline>
<div v-if="activities.length == 0">暂无物流信息</div>
</div>
</el-dialog>
</div>
</template>
<script>
import {sendOrder, expressInfoNew, remarkOrder} from '@/api/module/order'
import {orderInfo, sendOrder, expressInfoNew, remarkOrder, orderInfoEdit} from '@/api/module/order'
import {dateFormat} from '@/utils'
import {getAreaList} from '@/api/module/retreat/address'
export default {
props: {
orderDetail: {
type: String
type: Object
},
expressLists: {
type: Array
......@@ -235,23 +267,67 @@ export default {
addRemarkDialog: false,
dialogCheck: false,
titleInfo: '',
form: {
addressForm: {
name: '',
mobile: '',
address: ''
address: '',
street_name: '',
areaList: [] // 省市区
},
activities: [],
multipleSelection: []
multipleSelection: [],
props: {
expandTrigger: 'click',
lazy: true,
lazyLoad: this.lazyLoad,
value: "id",
label: 'name',
leaf: 'leaf'
},
goShippingNum: 0,
goods_ids: null
}
},
mounted() {
computed: {
goodsFreight() {
let freight = 0
if (this.orderDetail) {
this.orderDetail.item.map(item => {
freight += item.freight
})
}
return freight
},
goodsPrice() {
let price = 0
if (this.orderDetail) {
this.orderDetail.item.map(item => {
price += item.goods_list[0].price
})
}
return price
},
goodsNum() {
let goodsNum = 0
if (this.orderDetail) {
this.orderDetail.item.map(item => {
goodsNum += item.goods_list[0].num
})
}
return goodsNum
}
},
methods: {
getStatus(status, is_reissue) {
return status == 0 ? '未发货' : status == 1 && is_reissue == 1 ? '已补单' : status == 1 && is_reissue == 0 ? '已发货' : '已完成'
},
formatter(time) {
return dateFormat(time, 'Y-m-d H:i:s')
},
goShipping(val) {
goShipping(val, id) {
this.goShippingNum = val
this.goods_ids = id
this.expressNum = ''
this.express_sn = ''
......@@ -280,42 +356,89 @@ export default {
break
}
},
// 订单详情
handleInfo() {
this.detailDialog = true
let order_sn = '20200318e095e2d09354'
// let order_sn = orderDetail.parent_order_sn
orderInfo({order_sn: order_sn}).then(res => {
if (res.code == 1) {
this.orderDetail = res.data
}
})
},
// 选中的表格
handleSelectionChange(val) {
this.multipleSelection = val;
},
modifyinfo() {
this.form = {
this.addressForm = {
name: '',
mobile: '',
address: ''
address: '',
street_name: ''
}
this.modifyinfoDialog = true
},
// 修改买家信息
handleModifyInfo() {
if (!this.form.name) {
if (!this.addressForm.name) {
this.$message({
type: 'warning',
message: '请输入收货人姓名'
})
return
}
if (!this.form.mobile) {
if (!this.addressForm.mobile) {
this.$message({
type: 'warning',
message: '请输入联系电话'
})
return
}
if (!this.addressForm.areaList) {
this.$message({
type: 'warning',
message: '请选择省市区'
})
return
}
if (!this.addressForm.street_name) {
this.$message({
type: 'warning',
message: '请输入联系人电话'
message: '请输入街道'
})
return
}
if (!this.form.address) {
if (!this.addressForm.address) {
this.$message({
type: 'warning',
message: '请输入收货地址'
})
return
}
let params = {
id: this.orderDetail.parent_order_sn,
shipping_name: this.addressForm.name,
mobile: this.addressForm.mobile,
street_name: this.addressForm.street_name,
address: this.addressForm.address,
province_name: this.addressForm.areaList[0],
city_name: this.addressForm.areaList[1],
district_name: this.addressForm.areaList[2]
}
orderInfoEdit(params).then(res => {
if (res.code == 1) {
this.$message({
type: 'success',
message: '修改成功'
})
this.modifyinfoDialog = false
this.handleInfo()
}
})
},
// 去发货
handleGoShipping() {
......@@ -341,8 +464,17 @@ export default {
}
})
let goods_ids = []
if (this.goShippingNum != 3) {
this.multipleSelection.map(item => {
goods_ids.push(item.goods_list[0].goods_id)
})
} else {
goods_ids = [this.goods_ids]
}
let params = {
order_goods_ids: [10],
order_goods_ids: goods_ids,
express_company_name: expressName,
express_sn: this.express_sn,
express_code: this.expressNum
......@@ -358,17 +490,17 @@ export default {
})
},
// 查看物流
getExpressInfoNew() {
getExpressInfoNew(sn, goodsId, skuId) {
this.dialogCheck = true
let params = {
order_sn: '',
goods_id: '',
sku_id: ''
order_sn: sn,
goods_id: goodsId,
sku_id: skuId
}
expressInfoNew(params).then(res => {
if (res.code == 1) {
this.activities = res.data.orderTrack
}
})
},
......@@ -387,15 +519,70 @@ export default {
}
let params = {
order_id: '',
order_id: this.orderDetail.parent_order_sn,
remark: this.remark
}
remarkOrder().then(res => {
remarkOrder(params).then(res => {
if (res.code == 1) {
this.$message({
type: 'success',
message: '添加成功'
})
this.addRemarkDialog = false
}
})
},
// 三级联动
lazyLoad(node, resolve) {
this.getArea(node, resolve);
},
getArea(node, resolve) {
const level = node.level;
let limboNode = {};
if(level === 0) {
limboNode = {pid: 0}
}
if(level === 1) {
limboNode = { pid: node.value };
}
if(level === 2) {
limboNode = { pid: node.value };
}
getAreaList(limboNode).then(res => {
let result = {};
if (level === 0) {
result = res.data
result.forEach(item => {
item.value = item.id;
item.label = item.name;
item.children=[];
item.leaf = 0; // 可以控制 是否有下级 值为true都不行,必须等于0
})
}
if (level === 1) {
result = res.data
result.forEach(item => {
item.value = item.id;
item.label = item.name
item.children=[];
//这句代码表示当点击最后一级的时候 label后面不会转圈圈 并把相关值赋值到选择器上
item.leaf = 0
})
}
if (level === 2) {
result = res.data
result.forEach(item => {
item.value = item.id;
item.label = item.name
item.leaf = 1;
})
}
resolve(result)
})
},
}
}
</script>
......@@ -419,6 +606,9 @@ export default {
/deep/.el-dialog__body {
padding-bottom: 0;
}
/deep/.el-input--medium .el-input__inner {
height: 28px;
}
.orderDetail {
height: 660px;
......@@ -428,9 +618,11 @@ export default {
.text-r {
text-align: right;
background: #F7F8FA;
min-height: 38px;
}
.text-l {
text-align: left;
min-height: 38px;
}
.orderItem {
margin-bottom: 20px;
......@@ -454,4 +646,8 @@ export default {
.dialog-footer {
margin: 0 10%;
}
.logistics {
height: 600px;
overflow-y: auto;
}
</style>
\ No newline at end of file
......@@ -183,7 +183,7 @@
detailDialog: false,
isDeliveryOpen: false,
excelList: [],
order_detail: '',
order_detail: null,
expressLists: []
}
},
......@@ -344,9 +344,13 @@
// 订单详情
handleInfo(row) {
this.detailDialog = true
this.order_detail = row.parent_order_sn
orderInfo({order_sn: this.order_detail}).then(res => {
let order_sn = '20200318e095e2d09354'
// let order_sn = row.parent_order_sn
orderInfo({order_sn: order_sn}).then(res => {
if (res.code == 1) {
this.order_detail = res.data
}
})
},
// 获取物流信息
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论