Commit 629b75b6 authored by yaya's avatar yaya

feat:添加中转单详情

parent bd186301
...@@ -59,4 +59,11 @@ export function requestIdentifySendBack(data) { ...@@ -59,4 +59,11 @@ export function requestIdentifySendBack(data) {
data data
}) })
} }
export function requestTransferDetail(data) {
return request({
url: '/identifyOrder/findDetail',
method: 'post',
data
})
}
...@@ -535,6 +535,18 @@ export const asyncRouterMap = [ ...@@ -535,6 +535,18 @@ export const asyncRouterMap = [
noCache: true, noCache: true,
keepAlive: true keepAlive: true
} }
}, {
path: 'transferOrderDetail',
component: () => import('@/views/order/transferOrderDetail'),
name: 'transferOrderDetail',
meta: {
perms: [],
title: '订单详情',
icon: 'list',
noCache: true,
keepAlive: true
},
hidden: true
} }
] ]
}, },
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
title="寄出快递"> title="寄出快递">
<el-form ref="imageValue" :model="logisticForm" :rules="logisticRules"> <el-form ref="imageValue" :model="logisticForm" :rules="logisticRules">
<el-form-item label="物流公司" label-width="100px" prop="outLogisticsCode"> <el-form-item label="物流公司" label-width="100px" prop="outLogisticsCode">
<el-select v-model="logisticForm.outLogisticsCode" placeholder="请选择物流公司"> <el-select v-model="logisticForm.outLogisticsCode" placeholder="请选择物流公司" style="width: 240px;margin-right: 10px;margin-bottom: 10px">
<el-option <el-option
v-for="item in logisticList" v-for="item in logisticList"
:key="item.code" :key="item.code"
...@@ -20,7 +20,6 @@ ...@@ -20,7 +20,6 @@
<el-input <el-input
v-model="logisticForm.outWaybill" v-model="logisticForm.outWaybill"
clearable clearable
size="mini"
class="filter-item" class="filter-item"
style="width: 240px;margin-right: 10px" style="width: 240px;margin-right: 10px"
placeholder="请输入快递单号" /> placeholder="请输入快递单号" />
......
<template>
<div class="page_transferDetail">
<div v-if="itemContent && itemContent.distributionOrderId" class="detail_button">
<el-button
v-if="(itemContent && itemContent.transferState === 12)"
type="primary"
size="mini"
@click="handleReceive()">确认收货
</el-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>
<el-card class="box-card" style="margin: 0 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="100px" style="width: 30%">
<el-form-item label="订单编号:">
<div>{{ itemContent.distributionOrderId || '-' }}</div>
</el-form-item>
<el-form-item label="下单时间:">
<div>{{ itemContent.createTime || '-' }}</div>
</el-form-item>
</el-form>
<el-form ref="addInviteRef" label-width="100px" style="width: 30%">
<el-form-item label="藏家名称:">
<div>{{ itemContent.sellerName || '-' }}</div>
</el-form-item>
<el-form-item label="下单用户:">
<div>{{ itemContent.buyerName || '-' }}</div>
</el-form-item>
</el-form>
<el-form ref="addInviteRef" label-width="100px" style="width: 40%">
<el-form-item label="藏家地址:">
<div>{{ itemContent.returnName + ',' + itemContent.returnPhone + ',' + itemContent.returnAddress }}</div>
</el-form-item>
<el-form-item label="收货信息:">
<div>{{ itemContent.receiverName + ',' + itemContent.receiverPhone + ',' + itemContent.receiverAddress || '-' }}</div>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" style="margin: 16px 16px 0">
<div class="title">
<div class="title_content">平台鉴定信息</div>
</div>
<div class="user_info flex">
<el-form ref="addInviteRef" label-width="100px" style="width: 30%">
<el-form-item label="鉴定结果:">
<div>{{ itemContent.approved === 1 ? '通过' : itemContent.approved === 0 ? '不通过' : '-' }}</div>
</el-form-item>
</el-form>
<el-form ref="addInviteRef" label-width="100px" style="width: 70%">
<el-form-item label="原因:">
<div>{{ itemContent.approvedRemark || '-' }}</div>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" style="margin: 16px 16px 0">
<div class="title">
<div class="title_content">物流信息</div>
</div>
<div class="user_info flex">
<el-form ref="addInviteRef" label-width="200px" style="width: 100%">
<el-form-item label="藏家>平台 物流信息:">
<div>{{ itemContent.fromLogisticsInfo || '-' }}</div>
</el-form-item>
<el-form-item label="平台>买家 物流信息:">
<div>{{ itemContent.fromLogisticsInfo || '-' }}</div>
</el-form-item>
<el-form-item label="平台>藏家 物流信息:">
<div>{{ itemContent.returnLogisticsInfo || '-' }}</div>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" style="margin: 16px 16px 0">
<div class="title">
<div class="title_content">藏品信息</div>
</div>
<div v-if="list && list.length > 0" class="user_info flex">
<el-table
:data="list"
size="small"
element-loading-text="正在查询中..."
border
fit
highlight-current-row>
<el-table-column align="center" label="藏品图片" 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">
</template>
</el-table-column>
<el-table-column align="center" label="名称" min-width="150px" prop="itemName">
<template slot-scope="scope">
<Line2Hidden :text="scope.row.itemName || ''" />
</template>
</el-table-column>
<el-table-column align="center" label="数量" prop="itemNum" />
<el-table-column align="center" label="金额" prop="itemPrice" />
</el-table>
</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, requestTransferDetail } from '@/api/business/order'
export default {
name: 'TransferOrderDetail',
components: { ReturnLogisticIdentifyDialog, NoPassIdentifyDialog, Line2Hidden },
data() {
return {
itemContent: {},
distributionOrderId: '',
showNoPassIdentifyDialog: false,
logisticDialogShow: false,
logisticType: 1,
deliveryLogisticsInfo: '',
fromLogisticsInfo: '',
returnLogisticsInfo: '',
list: []
}
},
created() {
const id = this.$route.query.distributionOrderId
if (!id) {
return
}
this.distributionOrderId = id
this.handleGetDetail()
},
methods: {
handleGetDetail() {
const params = {
distributionOrderId: this.distributionOrderId
}
requestTransferDetail(params).then(response => {
console.log('===response=', response)
this.itemContent = response.data.data.data || {}
const model = {
itemName: this.itemContent.itemName,
homePageImage: this.itemContent.homePageImage,
itemNum: this.itemContent.itemNum,
itemPrice: this.itemContent.itemPrice ? ${this.itemContent.itemPrice}` : '-'
}
this.list = [model]
}).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 = {
identifyOrderId: this.itemContent.identifyOrderId,
distributionOrderId: this.itemContent.distributionOrderId,
approved: 1
}
requestIdentify(params).then(response => {
this.handleGetDetail()
this.$notify.success({
message: '操作成功'
})
}).catch((e) => {
console.log('===报错=', e)
this.$message.error(e.data && e.data.errmsg || '请求失败, 请重试')
})
})
},
/**
* 不通过
*/
handleNoPass() {
this.showNoPassIdentifyDialog = true
},
/**
* 不通过操作成功,刷新列表
*/
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()
}
}
}
</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;
}
</style>
...@@ -213,7 +213,7 @@ export default { ...@@ -213,7 +213,7 @@ export default {
* @param item * @param item
*/ */
handleToDetail(item) { handleToDetail(item) {
this.$router.push({ path: '/order/transferOrderDetail', query: { distributionOrderId: item.distributionOrderId }})
}, },
/** /**
* 收货 * 收货
......
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