Commit 654875f2 authored by xiami's avatar xiami

新增换藏订单

parent f9dcf505
...@@ -7,6 +7,13 @@ export function requestOrderList(data) { ...@@ -7,6 +7,13 @@ export function requestOrderList(data) {
data data
}) })
} }
export function requestChangeOrderList(data) {
return request({
url: '/exchangeApplyOrder/findList',
method: 'post',
data
})
}
export function requestLogisticsList(data) { export function requestLogisticsList(data) {
return request({ return request({
url: '/sysDistributionOrder/getLogisticsList', url: '/sysDistributionOrder/getLogisticsList',
...@@ -44,6 +51,14 @@ export function requestIdentify(data) { ...@@ -44,6 +51,14 @@ export function requestIdentify(data) {
}) })
} }
export function exchangeApplyOrderIdentify(data) {
return request({
url: '/exchangeApplyOrder/handleApplyOrder',
method: 'post',
data
})
}
export function requestIdentifyDelivery(data) { export function requestIdentifyDelivery(data) {
return request({ return request({
url: '/identifyOrder/delivery', url: '/identifyOrder/delivery',
...@@ -73,6 +88,13 @@ export function findOrderBillDetail(data) { ...@@ -73,6 +88,13 @@ export function findOrderBillDetail(data) {
data data
}) })
} }
export function exchangeApplyOrderDetail(data) {
return request({
url: '/exchangeApplyOrder/findDetail',
method: 'post',
data
})
}
export function findUserBill(data) { export function findUserBill(data) {
return request({ return request({
......
...@@ -648,6 +648,42 @@ export const asyncRouterMap = [ ...@@ -648,6 +648,42 @@ export const asyncRouterMap = [
keepAlive: true keepAlive: true
}, },
hidden: true hidden: true
}, {
path: 'ChangeOrderDetail',
component: () => import('@/views/order/ChangeOrderDetail'),
name: 'ChangeOrderDetail',
meta: {
perms: [],
title: '交换订单详情页',
icon: 'list',
noCache: true,
keepAlive: true
},
hidden: true
}, {
path: 'ChangeOrderDetailnew',
component: () => import('@/views/order/ChangeOrderDetailnew'),
name: 'ChangeOrderDetailnew',
meta: {
perms: [],
title: '交换订单详情页',
icon: 'list',
noCache: true,
keepAlive: true
},
hidden: true
}, {
path: 'UserChangeOrderView',
component: () => import('@/views/order/UserChangeOrderView'),
name: 'UserChangeOrderView',
meta: {
perms: [],
title: '交换订单列表',
icon: 'list',
noCache: true,
keepAlive: true
},
hidden: true
} }
] ]
}, },
......
<template>
<div class="page_itemDetail">
<el-card class="box-card" style="margin:16px">
<div class="title">
<div class="title_content">交换单信息</div>
<el-button v-if="itemContent.transferStateName" type="warning" plain size="mini">{{ itemContent.transferStateName }}</el-button>
</div>
<div class="user_info flex">
<el-form ref="addInviteRef" label-width="120px" style="width: 30%">
<el-form-item label="交换单号:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
</el-form>
<el-form ref="addInviteRef" label-width="140px" style="width: 30%">
<el-form-item label="交换单号状态:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
</el-form>
<el-form ref="addInviteRef" label-width="140px" style="width: 30%">
<el-form-item label="交换单号申请时间:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
</el-form>
</div>
</el-card>
<!-- <el-card class="box-card" style="margin: 16px">
<h3>申请者用户信息</h3>
<div class="user_info flex" >
<el-form ref="addInviteRef" label-width="140px">
<el-form-item label="申请者用户ID:" >
<div>{{ itemContent && itemContent.id || '-' }}</div>
</el-form-item>
<el-form-item label="申请者用户昵称:">
<div>{{ itemContent && itemContent.id || '-' }}</div>
</el-form-item>
<el-form-item label="商品名称:">
<div>{{ itemContent && itemContent.name || '-' }}</div>
</el-form-item>
<el-form-item label="价格:">
<div>{{ `¥${itemContent && itemContent.distributionPrice || '-'}` }}</div>
</el-form-item>
<el-form-item label="官方估价:">
<div>{{ `¥${itemContent && itemContent.distributionPrice || '-'}` }}</div>
</el-form-item>
<el-form-item label="商品详情:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="商品图片/视频:">
<div v-if="itemContent && itemContent.imagelist && (typeof itemContent.imagelist === 'object')" class="image">
<div v-for="item in itemContent.imagelist" :key="item.url" class="image_item" @click="handleShowLargeDialog(item.type, item.url, item.videoUrl)">
<img :src="item.url" class="image_item_content" >
<img v-if="item.type === 1" class="image_content_video_icon" src="https://cdn.wanwudezhi.com/static/web-static/image/10651432d8c28651da81753c260d81b3_120x120.png">
</div>
</div>
</el-form-item>
<el-form-item label="订单号:" >
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="订单状态:" >
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="收货地址:" >
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="用户寄出物流公司:" >
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="用户寄出快递单号:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="平台寄出物流公司:" >
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="平台寄出快递单号:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" style="margin: 16px">
<h3>受理用户信息</h3>
<div class="user_info flex" >
<el-form ref="addInviteRef" label-width="140px">
<el-form-item label="受理者用户ID:">
<div>{{ itemContent && itemContent.id || '-' }}</div>
</el-form-item>
<el-form-item label="申请者用户昵称:">
<div>{{ itemContent && itemContent.id || '-' }}</div>
</el-form-item>
<el-form-item label="商品名称:">
<div>{{ itemContent && itemContent.name || '-' }}</div>
</el-form-item>
<el-form-item label="价格:">
<div>{{ `¥${itemContent && itemContent.distributionPrice || '-'}` }}</div>
</el-form-item>
<el-form-item label="官方估价:">
<div>{{ `¥${itemContent && itemContent.distributionPrice || '-'}` }}</div>
</el-form-item>
<el-form-item label="商品详情:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="商品图片/视频:">
<div v-if="itemContent && itemContent.imagelist && (typeof itemContent.imagelist === 'object')" class="image">
<div v-for="item in itemContent.imagelist" :key="item.url" class="image_item" @click="handleShowLargeDialog(item.type, item.url, item.videoUrl)">
<img :src="item.url" class="image_item_content" >
<img v-if="item.type === 1" class="image_content_video_icon" src="https://cdn.wanwudezhi.com/static/web-static/image/10651432d8c28651da81753c260d81b3_120x120.png">
</div>
</div>
</el-form-item>
<el-form-item label="订单号:" >
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="订单状态:" >
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="收货地址:" >
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="用户寄出物流公司:" >
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="用户寄出快递单号:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="平台寄出物流公司:" >
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="平台寄出快递单号:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
</el-form>
</div>
</el-card> -->
<el-card class="box-card" style="margin:16px">
<div class="title">
<div class="title_content">申请者用户相关信息</div>
<el-button v-if="itemContent.transferStateName" type="warning" plain size="mini">{{ itemContent.transferStateName }}</el-button>
</div>
<div class="user_info flex">
<el-form ref="addInviteRef" label-width="120px" style="width: 30%">
<el-form-item label="用户ID:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="商品名称:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="订单编号:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="订单生成时间:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
</el-form>
<el-form ref="addInviteRef" label-width="140px" style="width: 30%">
<el-form-item label="用户昵称:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="商品价格:">
<div>{{ itemContent && itemContent.distributionPrice || '-' }}</div>
</el-form-item>
<el-form-item label="订单状态:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="用户寄出物流信息:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
</el-form>
<el-form ref="addInviteRef" label-width="140px" style="width: 30%">
<el-form-item label="商品名称:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="官方估价:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="收货地址:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="平台寄出物流信息:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
</el-form>
</div>
<div v-if="itemContent && itemContent.distributionOrderId" class="detail_button">
<el-button
v-if="(itemContent.transferState === 13)"
type="primary"
size="mini"
@click="handlePass()">通过
</el-button>
<el-button
v-if="(itemContent.transferState === 13)"
type="danger"
size="mini"
@click="handleNoPass()">不通过
</el-button>
<el-button
v-if="(itemContent.transferState === 14)"
type="primary"
size="mini"
@click="handleSend(1)">去发货
</el-button>
<el-button
v-if="(itemContent.transferState === 15)"
type="primary"
size="mini"
@click="handleSend(2)">退回藏品
</el-button>
</div>
<div class="user_info flex" >
<el-form ref="addInviteRef" label-width="120px" >
<el-form-item label="商品详情:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="商品图片/视频:">
<div v-if="itemContent && itemContent.imagelist && (typeof itemContent.imagelist === 'object')" class="image">
<div v-for="item in itemContent.imagelist" :key="item.url" class="image_item" @click="handleShowLargeDialog(item.type, item.url, item.videoUrl)">
<img :src="item.url" class="image_item_content" >
<img v-if="item.type === 1" class="image_content_video_icon" src="https://cdn.wanwudezhi.com/static/web-static/image/10651432d8c28651da81753c260d81b3_120x120.png">
</div>
</div>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" style="margin: 16px">
<div class="title">
<div class="title_content">受理者用户相关信息</div>
<el-button v-if="itemContent.transferStateName" type="warning" plain size="mini">{{ itemContent.transferStateName }}</el-button>
</div>
<div class="user_info flex">
<el-form ref="addInviteRef" label-width="120px" style="width: 30%">
<el-form-item label="用户ID:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="商品名称:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="订单编号:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="订单生成时间:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
</el-form>
<el-form ref="addInviteRef" label-width="140px" style="width: 30%">
<el-form-item label="用户昵称:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="商品价格:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="订单状态:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="用户寄出物流信息:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
</el-form>
<el-form ref="addInviteRef" label-width="140px" style="width: 30%">
<el-form-item label="商品名称:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="官方估价:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="收货地址:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="平台寄出物流信息:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
</el-form>
</div>
<div class="user_info flex" >
<el-form ref="addInviteRef" label-width="120px" >
<el-form-item label="商品详情:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="商品图片/视频:">
<div v-if="itemContent && itemContent.imagelist && (typeof itemContent.imagelist === 'object')" class="image">
<div v-for="item in itemContent.imagelist" :key="item.url" class="image_item" @click="handleShowLargeDialog(item.type, item.url, item.videoUrl)">
<img :src="item.url" class="image_item_content" >
<img v-if="item.type === 1" class="image_content_video_icon" src="https://cdn.wanwudezhi.com/static/web-static/image/10651432d8c28651da81753c260d81b3_120x120.png">
</div>
</div>
</el-form-item>
</el-form>
</div>
</el-card>
<CheckLargeImageDialog
:show-large-dialog="showLargeDialog"
:image-url="imageUrl"
@closeLargeDialog="showLargeDialog = false"
/>
<CheckVideoDialog
:show-video-dialog="showVideoDialog"
:video-url="videosUrl"
@closeLargeDialog="showVideoDialog = false" />
</div>
</template>
<script>
import { findSaleDetail } from '../../api/business/sale'
import CheckLargeImageDialog from '../goods/components/CheckLargeImageDialog'
import CheckVideoDialog from '../goods/components/CheckVideoDialog'
export default {
name: 'ItemDetail',
components: { CheckVideoDialog, CheckLargeImageDialog },
data() {
return {
id: '',
itemContent: {},
imageUrl: '',
showLargeDialog: false,
showVideoDialog: false,
videosUrl: ''
}
},
created() {
if (this.$route.query.id == null) {
return
}
this.id = this.$route.query.id
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
this.handleGetDetail(loading)
},
methods: {
/**
* 获取详情
* @param loading
*/
handleGetDetail(loading) {
findSaleDetail({ id: this.id })
.then(response => {
if (loading) {
loading.close()
}
console.log('====', response.data.data)
if (response.data.data) {
this.itemContent = response.data.data
this.itemContent.images = response.data.data.images ? response.data.data.images.split(';') : []
const imageList = []
if (this.itemContent.videos) {
const videoList = this.itemContent.videos.split(',')
if (videoList.length === 2) {
imageList.push({
url: videoList[1],
type: 1,
videoUrl: videoList[0]
})
}
}
if (this.itemContent.images && this.itemContent.images.length > 0) {
for (var i = 0; i < this.itemContent.images.length; i++) {
imageList.push({
url: this.itemContent.images[i],
videoUrl: '',
type: 2
})
}
}
this.itemContent.imagelist = imageList
}
})
.catch(response => {
console.log('====erro', response)
if (loading) {
loading.close()
}
})
},
/**
* 展示大图
* @param imageUrl
*/
handleShowLargeDialog(type, imageUrl, videoUrl) {
if (type === 1) {
this.videosUrl = videoUrl
this.showVideoDialog = true
} else {
this.imageUrl = imageUrl
this.showLargeDialog = true
}
}
}
}
</script>
<style lang="scss" scoped>
.page_itemDetail {
padding: 20px;
.image {
width: 100%;
display: flex;
flex-direction: row;
}
.image_item {
width: 100px;
height: 100px;
margin-right: 10px;
margin-top: 16px;
position: relative;
.image_item_content {
width: 100px;
height: 100px;
}
.image_content_video_icon {
position: absolute;
width: 30px;
height: 30px;
top: 10px;
left: 10px;
}
}
}
.title {
display: flex;
flex-direction: row;
margin-bottom: 10px;
.title_content {
font-weight: 600;
font-size: 22px;
margin-right: 16px;
}
}
/deep/ .el-form-item {
margin-bottom: 0
}
.detail_button {
text-align: end;
margin: 16px;
}
</style>
<template>
<div class="page_transferDetail">
<div v-if="itemContent && itemContent.distributionOrderId" class="detail_button">
</div>
<el-card class="box-card" style="margin:16px">
<div v-if="itemContent && itemContent.exchangeApplyOrderId" class="detail_button">
<el-button
v-if="(itemContent.state=== 1)"
type="primary"
size="mini"
@click="handlePass()">通过
</el-button>
<el-button
v-if="(itemContent.state=== 1)"
type="danger"
size="mini"
@click="handleNoPass()">不通过
</el-button>
</div>
<div class="title">
<div class="title_content">交换单信息</div>
<el-button v-if="itemContent.transferStateName" type="warning" plain size="mini">{{ itemContent.transferStateName }}</el-button>
</div>
<div class="user_info flex">
<el-form ref="addInviteRef" label-width="120px" style="width: 30%">
<el-form-item label="交换单号:">
<div>{{ itemContent && itemContent.exchangeApplyOrderId || '-' }}</div>
</el-form-item>
</el-form>
<el-form ref="addInviteRef" label-width="140px" style="width: 30%">
<el-form-item label="交换单号状态:">
<div>{{ itemContent && itemContent.stateName || '-' }}</div>
</el-form-item>
</el-form>
<el-form ref="addInviteRef" label-width="140px" style="width: 30%">
<el-form-item label="交换单号申请时间:">
<div>{{ itemContent && itemContent.createTime || '-' }}</div>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" style="margin: 16px">
<div class="title">
<div class="title_content">申请者用户相关信息</div>
<el-button v-if="itemContent.transferStateName" type="warning" plain size="mini">{{ itemContent.transferStateName }}</el-button>
</div>
<div v-if="itemContent && itemContent.userCommitOrderInfo.distributionOrderId" class="detail_button">
<el-button
v-if="(itemContent.userCommitOrderInfo.state === 10)"
type="primary"
size="mini"
@click="handleSend(3)">去发货
</el-button>
</div>
<div class="user_info flex">
<el-form ref="addInviteRef" label-width="120px" style="width: 30%">
<el-form-item label="用户ID:">
<div>{{ itemContent && itemContent.userCommitOrderInfo.buyerId || '-' }}</div>
</el-form-item>
<el-form-item label="订单编号:">
<div>{{ itemContent && itemContent.userCommitOrderInfo.distributionOrderId || '-' }}</div>
</el-form-item>
<el-form-item label="商品ID:">
<div>{{ itemContent && itemContent.userCommitOrderInfo.itemVoList[0].itemId || '-' }}</div>
</el-form-item>
<el-form-item label="商品名称:">
<div>{{ itemContent && itemContent.userCommitOrderInfo.itemVoList[0].name || '-' }}</div>
</el-form-item>
</el-form>
<el-form ref="addInviteRef" label-width="140px" style="width: 30%">
<el-form-item label="用户昵称:">
<div>{{ itemContent && itemContent.userCommitOrderInfo.buyerName || '-' }}</div>
</el-form-item>
<el-form-item label="订单状态:">
<div>{{ itemContent && itemContent.userCommitOrderInfo.stateName || '-' }}</div>
</el-form-item>
<el-form-item label="用户寄出物流信息:">
<div>{{ itemContent && itemContent.userCommitOrderInfo.fromWaybill|| '-' }}</div>
</el-form-item>
<el-form-item label="商品价格:">
<div>{{ itemContent && itemContent.userCommitOrderInfo.itemVoList[0].distributionPrice || '-' }}</div>
</el-form-item>
</el-form>
<el-form ref="addInviteRef" label-width="140px" style="width: 30%">
<el-form-item label="订单生成时间:">
<div>{{ itemContent && itemContent.userCommitOrderInfo.createTime || '-' }}</div>
</el-form-item>
<el-form-item label="收货地址:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="平台寄出物流信息:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="官方估价:">
<div>{{ itemContent && itemContent.userCommitOrderInfo.itemVoList[0].officialEstimatedPrice || '-' }}</div>
</el-form-item>
</el-form>
</div>
<div class="user_info flex" >
<el-form ref="addInviteRef" label-width="120px" >
<el-form-item label="商品详情:">
<div>{{ itemContent && itemContent.userCommitOrderInfo.itemVoList[0].description || '-' }}</div>
</el-form-item>
<el-form-item label="商品图片/视频:">
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" style="margin: 16px">
<div class="title">
<div class="title_content">受理者用户相关信息</div>
<el-button v-if="itemContent.transferStateName" type="warning" plain size="mini">{{ itemContent.transferStateName }}</el-button>
</div>
<div v-if="itemContent && itemContent.receiveTargetOrderInfo.distributionOrderId" class="detail_button">
<el-button
v-if="(itemContent.userCommitOrderInfo.state === 10)"
type="primary"
size="mini"
@click="handleSend(1)">去发货
</el-button>
<el-button
v-if="(itemContent.transferState === 15)"
type="primary"
size="mini"
@click="handleSend(2)">退回藏品
</el-button>
</div>
<div class="user_info flex">
<el-form ref="addInviteRef" label-width="120px" style="width: 30%">
<el-form-item label="用户ID:">
<div>{{ itemContent && itemContent.receiveTargetOrderInfo.sellerId || '-' }}</div>
</el-form-item>
<el-form-item label="订单编号:">
<div>{{ itemContent && itemContent.receiveTargetOrderInfo.distributionOrderId || '-' }}</div>
</el-form-item>
<el-form-item label="商品ID:">
<div>{{ itemContent && itemContent.receiveTargetOrderInfo.itemVoList[0].itemId || '-' }}</div>
</el-form-item>
<el-form-item label="商品名称:">
<div>{{ itemContent && itemContent.receiveTargetOrderInfo.itemVoList[0].name || '-' }}</div>
</el-form-item>
</el-form>
<el-form ref="addInviteRef" label-width="140px" style="width: 30%">
<el-form-item label="用户昵称:">
<div>{{ itemContent && itemContent.receiveTargetOrderInfo.sellerName || '-' }}</div>
</el-form-item>
<el-form-item label="订单状态:">
<div>{{ itemContent && itemContent.receiveTargetOrderInfo.stateName || '-' }}</div>
</el-form-item>
<el-form-item label="用户寄出物流信息:">
<div>{{ itemContent && itemContent.receiveTargetOrderInfo.fromWaybill|| '-' }}</div>
</el-form-item>
<el-form-item label="商品价格:">
<div>{{ itemContent && itemContent.receiveTargetOrderInfo.itemVoList[0].distributionPrice || '-' }}</div>
</el-form-item>
</el-form>
<el-form ref="addInviteRef" label-width="140px" style="width: 30%">
<el-form-item label="订单生成时间:">
<div>{{ itemContent && itemContent.receiveTargetOrderInfo.createTime || '-' }}</div>
</el-form-item>
<el-form-item label="收货地址:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="平台寄出物流信息:">
<div>{{ itemContent && itemContent.description || '-' }}</div>
</el-form-item>
<el-form-item label="官方估价:">
<div>{{ itemContent && itemContent.receiveTargetOrderInfo.itemVoList[0].officialEstimatedPrice || '-' }}</div>
</el-form-item>
</el-form>
</div>
<div class="user_info flex" >
<el-form ref="addInviteRef" label-width="120px" >
<el-form-item label="商品详情:">
<div>{{ itemContent && itemContent.receiveTargetOrderInfo.itemVoList[0].description || '-' }}</div>
</el-form-item>
<el-form-item label="商品图片/视频:">
<div v-if="itemContent && itemContent.imagelist && (typeof itemContent.imagelist === 'object')" class="image">
<div v-for="item in itemContent.receiveTargetOrderInfo.imagelist" :key="item.url" class="image_item" @click="handleShowLargeDialog(item.type, item.url, item.videoUrl)">
<img :src="item.url" class="image_item_content" >
<img v-if="item.type === 1" class="image_content_video_icon" src="https://cdn.wanwudezhi.com/static/web-static/image/10651432d8c28651da81753c260d81b3_120x120.png">
</div>
</div>
</el-form-item>
</el-form>
</div>
</el-card>
<NoPassIdentifyDialog
:show-no-pass-identify-dialog-show="showNoPassIdentifyDialog"
:distribution-order-id="itemContent.distributionOrderId"
:identify-order-id="itemContent.identifyOrderId"
@refreshItem="handleRefreshItem"
@cancelDialog="showNoPassIdentifyDialog = false"
/>
<ReturnLogisticIdentifyDialog
v-if="logisticDialogShow"
:logistic-dialog-show="logisticDialogShow"
:distribution-order-id="itemContent.distributionOrderId"
:identify-order-id="itemContent.identifyOrderId"
:type="logisticType"
@cancelDialog="handleCancelLogisticDialog"
@refreshDelivery="handleRefreshLogisticItem"
@refreshSendBack="handleRefreshLogisticItem"/>
</div>
</template>
<script>
import Line2Hidden from '@/components/line2Hidden'
import NoPassIdentifyDialog from './components/NoPassIdentifyDialog'
import ReturnLogisticIdentifyDialog from './components/ReturnLogisticIdentifyDialog'
import { requestSigned, requestIdentify,exchangeApplyOrderDetail,exchangeApplyOrderIdentify } from '@/api/business/order'
export default {
name: 'ChangeOrderDetailnew',
components: { ReturnLogisticIdentifyDialog, NoPassIdentifyDialog, Line2Hidden },
data() {
return {
itemContent: {},
distributionOrderId: '',
showNoPassIdentifyDialog: false,
logisticDialogShow: false,
logisticType: 1,
deliveryLogisticsInfo: '',
fromLogisticsInfo: '',
returnLogisticsInfo: '',
list: []
}
},
created() {
const id = this.$route.query.exchangeApplyOrderId
if (!id) {
return
}
this.exchangeApplyOrderId = id
this.handleGetDetail()
},
methods: {
handleGetDetail() {
const params = {
exchangeApplyOrderId: this.exchangeApplyOrderId
}
exchangeApplyOrderDetail(params).then(response => {
console.log('===response=', response)
this.itemContent = response.data.data || {}
this.fromLogisticsInfo = response.data.data.fromLogisticsInfo || '-'
this.returnLogisticsInfo = response.data.data.returnLogisticsInfo || ''
this.deliveryLogisticsInfo = response.data.data.deliveryLogisticsInfo || ''
const model = {
itemName: this.itemContent.itemName,
homePageImage: this.itemContent.homePageImage,
itemNum: this.itemContent.itemNum,
itemPrice: this.itemContent.itemPrice ? ${this.itemContent.itemPrice}` : '-'
}
this.list = [model]
this.itemContent.images = response.data.data.images ? response.data.data.images.split(';') : []
const imageList = []
if (this.itemContent.videos) {
const videoList = this.itemContent.videos.split(',')
if (videoList.length === 2) {
imageList.push({
url: videoList[1],
type: 1,
videoUrl: videoList[0]
})
}
}
if (this.itemContent.images && this.itemContent.images.length > 0) {
for (var i = 0; i < this.itemContent.images.length; i++) {
imageList.push({
url: this.itemContent.images[i],
videoUrl: '',
type: 2
})
}
}
this.itemContent.imagelist = imageList
}).catch((e) => {
console.log('===报错=', e)
this.$message.error(e.data && e.data.errmsg || '请求失败, 请重试')
})
},
/**
* 收货
* @param item
*/
handleReceive() {
this.$confirm('请确认包裹的物流信息是否正确?', '确认收货', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'message'
}).then(() => {
const params = {
identifyOrderId: this.itemContent.identifyOrderId
}
requestSigned(params).then(response => {
this.handleGetDetail()
this.$notify.success({
message: '确认收货成功'
})
}).catch((e) => {
console.log('===报错=', e)
this.$message.error(e.data && e.data.errmsg || '请求失败, 请重试')
})
})
},
/**
* 通过
* @param item
*/
handlePass() {
this.$confirm('该藏品确定通过平台鉴定?', '平台鉴定结果', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'message'
}).then(() => {
const params = {
exchangeApplyOrderId: this.itemContent.exchangeApplyOrderId,
state: 3
}
exchangeApplyOrderIdentify(params).then(response => {
this.handleGetDetail()
this.$notify.success({
message: '操作成功'
})
}).catch((e) => {
console.log('===报错=', e)
this.$message.error(e.data && e.data.errmsg || '请求失败, 请重试')
})
})
},
/**
* 不通过
*/
handleNoPass() {
this.$confirm('该藏品确定通过平台鉴定?', '平台鉴定结果', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'message'
}).then(() => {
const params = {
exchangeApplyOrderId: this.itemContent.exchangeApplyOrderId,
state: 4
}
exchangeApplyOrderIdentify(params).then(response => {
this.handleGetDetail()
this.$notify.success({
message: '操作成功'
})
}).catch((e) => {
console.log('===报错=', e)
this.$message.error(e.data && e.data.errmsg || '请求失败, 请重试')
})
})
},
/**
* 不通过操作成功,刷新列表
*/
handleRefreshItem() {
this.handleGetDetail()
this.showNoPassIdentifyDialog = false
},
/**
* 不通过
* @param row type: 1平台发货 2退回藏品
*/
handleSend(type) {
this.logisticDialogShow = true
this.logisticType = type
},
/**
* 不通过操作成功,刷新列表
*/
handleRefreshLogisticItem() {
this.logisticDialogShow = false
this.handleGetDetail()
},
/**
* 发货 or 退回操作
*/
handleCancelLogisticDialog() {
this.logisticDialogShow = false
},
/**
* 不通过操作取消
*/
handleCancelNoPassDialog() {
this.handleGetDetail()
},
/**
* 展示大图
* @param imageUrl
*/
handleShowLargeDialog(type, imageUrl, videoUrl) {
if (type === 1) {
this.videosUrl = videoUrl
this.showVideoDialog = true
} else {
this.imageUrl = imageUrl
this.showLargeDialog = true
}
}
}
}
</script>
<style lang="scss" scoped>
.page_transferDetail {
height: 100%;
display: flex;
flex-direction: column;
padding: 0 10px 10px;
.detail_button {
text-align: end;
margin: 16px;
}
.title {
display: flex;
flex-direction: row;
margin-bottom: 10px;
.title_content {
font-weight: 600;
font-size: 22px;
margin-right: 16px;
}
}
}
/deep/ .el-card__body {
padding: 12px;
}
/deep/ .el-form-item {
margin-bottom: 0;
}
/deep/ .el-switch {
height: 30px;
}
.image_item_content {
width: 100px;
height: 100px;
}
.image_content_video_icon {
position: absolute;
width: 30px;
height: 30px;
top: 10px;
left: 10px;
}
</style>
...@@ -138,22 +138,23 @@ ...@@ -138,22 +138,23 @@
<span class="tooltip-span">{{ `${scope.row.waybill || '-'}` }}</span> <span class="tooltip-span">{{ `${scope.row.waybill || '-'}` }}</span>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column align="center" label="操作" width="300"> <!-- 中转单状态 (12, "待平台收货"), (13, "平台鉴定中"), (14, "待平台发货"), (15, "待平台退回"), (16, "平台已发货"), (17, "退回待收货"), (18, "退回已收货"),-->
<el-table-column align="center" label="操作" width="300">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
:disabled="(!scope.row.editAble && scope.row.type === 2)"
type="primary" type="primary"
size="mini" size="mini"
@click="handleToDetail(scope.row)">编辑 @click="handleToOrderDetail(scope.row)">详情
</el-button> </el-button>
<el-button <el-button
:disabled="(!scope.row.editAble && scope.row.type === 2)" type="primary"
type="danger"
size="mini" size="mini"
@click="handleDelete(scope.row)">删除 @click="handleToOrderDetail(scope.row)">订单
</el-button> </el-button>
</template> </template>
</el-table-column>--> </el-table-column>
</el-table> </el-table>
...@@ -263,6 +264,21 @@ export default { ...@@ -263,6 +264,21 @@ export default {
handleToDetailuser(item) { handleToDetailuser(item) {
this.$router.push({ path: '/sale/itemDetail', query: { id: item.itemId }}) this.$router.push({ path: '/sale/itemDetail', query: { id: item.itemId }})
}, },
/**
* 详情
* @param item
*/
handleToOrderDetail(item) {
this.$router.push({ path: '/order/ChangeOrderDetail', query: { id: item.itemId }})
},
/**
* 订单
* @param item
*/
handleToOrderDetail(item) {
this.$router.push({ path: '/order/ChangeOrderDetail', query: { distributionOrderId: item.distributionOrderId }})
},
getList() { getList() {
localStorage.setItem('systemState', '') localStorage.setItem('systemState', '')
this.listLoading = true this.listLoading = true
......
<template>
<div class="page_consignList">
<div class="filter-container">
<div class="button_left">
<el-input v-model="listQuery.exchangeApplyOrderId" clearable class="filter-item" style="width: 200px;" placeholder="请输入交换编号"/>
<el-input
v-model="listQuery.distributionOrderId"
clearable
class="filter-item"
style="width: 200px;"
placeholder="请输入订单编号" />
<el-select v-model="listQuery.state" placeholder="请选择交换单状态" class="filter-item" style="width: 200px;">
<el-option
v-for="item in options"
:key="item.label"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
<el-input v-model="listQuery.itemName" clearable class="filter-item" style="width: 200px;" placeholder="请输入申请方藏品名称"/>
<el-input v-model="listQuery.sellerName" clearable class="filter-item" style="width: 200px;" placeholder="请输入受理方藏家名称"/>
<el-button class="filter-item" type="primary" icon="el-icon-search" style="margin-left: 12px" @click="handleFilter">查找</el-button>
<el-button class="filter-item" @click="resetSearchForm">重置</el-button>
</div>
</div>
<el-table
v-loading="listLoading"
:data="list"
size="small"
element-loading-text="正在查询中..."
border
fit
highlight-current-row>
<el-table-column align="center" min-width="180px" prop="exchangeApplyOrderId" label="交换单号" />
<!-- <el-table-column align="center" label="申请方昵称" min-width="150px" prop="sellerName">
<template slot-scope="scope">
<Line2Hidden :text="scope.row.sellerName || ''" />
</template>
</el-table-column> -->
<!-- <el-table-column align="center" label="申请方藏品估价" min-width="120px" prop="amount" /> -->
<!-- <el-table-column align="center" label="受理方昵称" min-width="90px" prop="sellerName" /> -->
<el-table-column align="center" label="申请方藏品图片" min-width="120px" prop="homePageImage">
<template slot-scope="scope">
<!-- <img v-if="scope.row.homePageImage && scope.row.homePageImage.url" :src="scope.row.homePageImage.url" width="60px" height="60px"> -->
<div v-if="scope.row.userItemList && scope.row.userItemList.length > 0" class="image_preview">
<el-image
:preview-src-list="[scope.row.userItemList[0].homePageImage.url]"
:src="scope.row.userItemList[0].homePageImage.url"
class="table-td-thumb"
/>
</div>
</template>
</el-table-column>
<el-table-column align="center" label="申请方藏品名称" min-width="200px" prop="userExchangeItemName">
<template slot-scope="scope">
<div class="user_self" @click="handleToDetailuser(scope.row)">{{ scope.row.userItemList[0].name}}</div>
</template>
</el-table-column>
<el-table-column align="center" label="受理方藏品图片" min-width="120px" prop="homePageImage">
<template slot-scope="scope">
<!-- <img v-if="scope.row.homePageImage && scope.row.homePageImage.url" :src="scope.row.homePageImage.url" width="60px" height="60px"> -->
<div v-if="scope.row.targetItemList && scope.row.targetItemList.length > 0" class="image_preview">
<el-image
:preview-src-list="[scope.row.targetItemList[0].homePageImage.url]"
:src="scope.row.targetItemList[0].homePageImage.url"
class="table-td-thumb"
/>
</div>
</template>
</el-table-column>
<el-table-column align="center" label="受理方藏品标题" min-width="200px" prop="name">
<template slot-scope="scope">
<div class="user_self" @click="handleToDetail(scope.row)">{{ scope.row.targetItemList[0].name}}</div>
</template>
</el-table-column>
<!-- <el-table-column align="center" label="受理方藏品估价" prop="userExchangeItemOfficalPrice" /> -->
<el-table-column align="center" label="申请时间" min-width="200px" prop="createTime" />
<el-table-column align="center" label="订单状态" prop="stateName" />
<!-- <el-table-column align="center" label="用户寄出物流公司" prop="fromLogisticsName">
</el-table-column> -->
<!-- 中转单状态 (12, "待平台收货"), (13, "平台鉴定中"), (14, "待平台发货"), (15, "待平台退回"), (16, "平台已发货"), (17, "退回待收货"), (18, "退回已收货"),-->
<el-table-column align="center" label="操作" width="200">
<template slot-scope="scope">
<el-button
type="primary"
size="mini"
@click="handleToOrderDetailnew(scope.row)">详情
</el-button>
</template>
</el-table-column>
</el-table>
<Pagination
v-show="total>0"
:total="total"
:page.sync="listQuery.page"
:limit.sync="listQuery.limit"
@pagination="getList" />
</div>
</template>
<script>
import Line2Hidden from '@/components/line2Hidden'
import Pagination from '@/components/Pagination'
import { requestChangeOrderList } from '@/api/business/order'
export default {
name: 'UserChangeOrderView',
components: {
Pagination,
Line2Hidden
},
data() {
return {
activeIndex: '1',
itemKey: 0,
options: [{
value: 0,
label: '待处理'
}, {
value: -1,
label: '取消'
}, {
value: 1,
label: '同意'
}],
listLoading: true,
listQuery: {
page: 1,
limit: 20,
},
list: [],
total: 0,
// 图文估价
imageValueDialogShow: false,
// 建议寄售价
identifyValueDialogShow: false,
// 货品售出
finishDialogShow: false,
// 寄售凭证
finishSettlementDialogShow: false,
// 取消
cancelConsignDialogShow: false,
currentSaleId: ''
}
},
created() {
this.getList()
},
methods: {
resetSearchForm() {
this.listQuery = {
page: 1,
limit: 20,
}
this.getList()
},
handleFilter() {
this.listQuery.page = 1
this.getList()
},
handlerGetList() {
this.listQuery.page = 1
this.getList()
},
handleClick(tab, event) {
this.listQuery.page = 1
this.getList()
},
handleToDetail(item) {
this.$router.push({ path: '/sale/itemDetail', query: { id: item.targetItemList[0].itemId}})
},
handleToDetailuser(item) {
this.$router.push({ path: '/sale/itemDetail', query: { id: item.userItemList[0].itemId}})
},
/**
* 详情
* @param item
*/
handleToOrderDetail(item) {
this.$router.push({ path: '/order/ChangeOrderDetail', query: { id: item.itemId }})
},
/**
* 订单
* @param item
*/
handleToOrderDetailnew(item) {
this.$router.push({ path: '/order/ChangeOrderDetailnew', query: { exchangeApplyOrderId: item.exchangeApplyOrderId }})
},
getList() {
this.listLoading = true
requestChangeOrderList(this.listQuery).then(response => {
this.list = response.data.data.dataList
this.total = response.data.data.total
this.listLoading = false
}).catch((e) => {
console.log('===报错=', e)
this.list = []
this.total = 0
this.listLoading = false
})
}
}
}
</script>
<style lang="scss" scoped>
/deep/ .el-switch {
height: 30px;
}
/deep/ .cell {
display: flex;
justify-content: center;
}
.page_consignList {
padding: 20px;
.filter-container {
display: flex;
flex-direction: row;
justify-content: space-between;
}
}
.image_preview {
width: 60px;
height: 60px;
align-content: center;
justify-content: center;
}
.user_self {
color: #409EFF;
}
.table-td-thumb {
width: 60px;
height: 60px;
}
</style>
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
<script> <script>
import { MessageBox } from 'element-ui' import { MessageBox } from 'element-ui'
import { requestIdentifyDelivery, requestIdentifySendBack, requestLogisticsList } from '@/api/business/order' import { requestIdentifyDelivery, requestIdentifySendBack, requestLogisticsList, requestDelivery} from '@/api/business/order'
export default { export default {
name: 'ReturnLogisticIdentifyDialog', name: 'ReturnLogisticIdentifyDialog',
props: { props: {
...@@ -138,7 +138,24 @@ export default { ...@@ -138,7 +138,24 @@ export default {
type: 'error' type: 'error'
}) })
}) })
} else { } if (this.type === 3) {
requestDelivery(params)
.then(response => {
this.itemContent = {}
this.logisticForm = {}
this.$notify.success({
message: '发货成功'
})
this.$emit('refreshDelivery')
})
.catch(response => {
MessageBox.alert('业务错误:' + response.data.errmsg, '警告', {
confirmButtonText: '确定',
type: 'error'
})
})
}
else {
requestIdentifySendBack(params) requestIdentifySendBack(params)
.then(response => { .then(response => {
this.itemContent = {} this.itemContent = {}
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
<el-menu-item index="1">藏馆订单</el-menu-item> <el-menu-item index="1">藏馆订单</el-menu-item>
<el-menu-item index="2">平台中转</el-menu-item> <el-menu-item index="2">平台中转</el-menu-item>
<el-menu-item index="3">换藏订单</el-menu-item> <el-menu-item index="3">换藏订单</el-menu-item>
<el-menu-item index="4">交换订单</el-menu-item>
</el-menu> </el-menu>
<div v-if="activeIndex === '1'"> <div v-if="activeIndex === '1'">
<SaleOrderView /> <SaleOrderView />
...@@ -11,9 +12,12 @@ ...@@ -11,9 +12,12 @@
<div v-else-if="activeIndex === '2'"> <div v-else-if="activeIndex === '2'">
<TransferOrderView /> <TransferOrderView />
</div> </div>
<div v-else="activeIndex === '3'"> <div v-else-if="activeIndex === '3'">
<ChangeOrderView /> <ChangeOrderView />
</div> </div>
<div v-else="activeIndex === '4'">
<UserChangeOrderView />
</div>
</div> </div>
</template> </template>
...@@ -21,17 +25,19 @@ ...@@ -21,17 +25,19 @@
import SaleOrderView from './saleOrderView' import SaleOrderView from './saleOrderView'
import TransferOrderView from './transferOrderView' import TransferOrderView from './transferOrderView'
import ChangeOrderView from './ChangeOrderView' import ChangeOrderView from './ChangeOrderView'
import UserChangeOrderView from './UserChangeOrderView'
export default { export default {
name: 'ItemOrderList', name: 'ItemOrderList',
components: { components: {
TransferOrderView, TransferOrderView,
SaleOrderView, SaleOrderView,
ChangeOrderView ChangeOrderView,
UserChangeOrderView
}, },
data() { data() {
return { return {
activeIndex: '3', activeIndex: '4',
listLoading: true listLoading: true
} }
}, },
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
</div> </div>
<el-card class="box-card" style="margin: 0 16px"> <el-card class="box-card" style="margin: 0 16px">
<div class="title"> <div class="title">
<div class="title_content">订单信息</div> <div class="title_content">申请者相关信息</div>
<el-button v-if="itemContent.transferStateName" type="warning" plain size="mini">{{ itemContent.transferStateName }}</el-button> <el-button v-if="itemContent.transferStateName" type="warning" plain size="mini">{{ itemContent.transferStateName }}</el-button>
</div> </div>
<div class="user_info flex"> <div class="user_info flex">
......
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 to comment