|
@@ -518,13 +518,69 @@
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <div :class="['info-item',$t('language') === 'English'?'small-width':'']">
|
|
|
|
|
+ <div class="item-tit">打印订单信息</div>
|
|
|
|
|
+ <el-row :gutter="20">
|
|
|
|
|
+ <el-col :span="12">
|
|
|
|
|
+ <div class="item">
|
|
|
|
|
+ <div class="text">打印渠道:</div>
|
|
|
|
|
+ <div class="res">{{ printOrder.printChannel }}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="12">
|
|
|
|
|
+ <div class="item" style="width:320px;">
|
|
|
|
|
+ <div class="text">订单状态:</div>
|
|
|
|
|
+ <el-button v-if="printOrder.status == 0 || printOrder.status == null" type="primary" size="mini" @click="openPrintOrderDialog">创建订单</el-button>
|
|
|
|
|
+ <div class="res" v-else-if="printOrder.status == 1">已发起,待确认</div>
|
|
|
|
|
+ <div class="res" v-else-if="printOrder.status == 2">待付款,已确认</div>
|
|
|
|
|
+ <div class="res" v-else-if="printOrder.status == 3">待生产,已付款</div>
|
|
|
|
|
+ <div class="res" v-else-if="printOrder.status == 4">待发货,已生产</div>
|
|
|
|
|
+ <div class="res" v-else-if="printOrder.status == 5">待收货,已发货</div>
|
|
|
|
|
+ <div class="res" v-else-if="printOrder.status == 6">交易取消</div>
|
|
|
|
|
+ <div class="res" v-else-if="printOrder.status == 7">售后</div>
|
|
|
|
|
+ <div class="res" v-else-if="printOrder.status == 8">交易完成,已收货</div>
|
|
|
|
|
+ <div class="res" v-else>未知</div>
|
|
|
|
|
+ <div class="res" style="margin-left: 5px"><el-button :loading="orderDeliveryLoading" v-if="printOrder.status != 0 && printOrder.status != null" type="success" size="mini" @click="getOrderDelivery">更新</el-button></div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ <el-row :gutter="20">
|
|
|
|
|
+ <el-col :span="12">
|
|
|
|
|
+ <div class="item" style="width:360px;">
|
|
|
|
|
+ <div class="text">三方订单号:</div>
|
|
|
|
|
+ <div class="res" >{{ printOrder.orderNo }}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ <el-row>
|
|
|
|
|
+ <el-col :span="24">
|
|
|
|
|
+ <div class="item">
|
|
|
|
|
+ <div class="text">PDF文件:</div>
|
|
|
|
|
+ <el-link v-if="printOrder.worksUrl != null" type="primary" :underline="false" :href="resourcesUrl + printOrder.worksUrl" target="_blank">查看文件</el-link>
|
|
|
|
|
+ <el-button :loading="generatePdfLoading" v-if="printOrder.worksUrl == null" type="primary" size="mini" @click="generatePrintPdf(dataForm.orderNumber, dataForm.shopId)">生成PDF</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ <el-row>
|
|
|
|
|
+ <el-col :span="24">
|
|
|
|
|
+ <div class="item">
|
|
|
|
|
+ <div class="item" style="width:360px;">物流信息:{{printOrder.logisticName}} | {{printOrder.deliveryCode}}</div>
|
|
|
|
|
+ <el-button type="primary" size="mini" v-if="orderStatus == 2" @click="openDeliveryDialog">发货</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="goods-list">
|
|
<div class="goods-list">
|
|
|
<el-table
|
|
<el-table
|
|
|
:data="prodList"
|
|
:data="prodList"
|
|
|
header-cell-class-name="table-header"
|
|
header-cell-class-name="table-header"
|
|
|
- row-class-name="table-row"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ row-class-name="table-row">
|
|
|
|
|
+ <el-table-column type="expand">
|
|
|
|
|
+ <template slot-scope="props">
|
|
|
|
|
+ <OrderCardItem :orderNumber="dataForm.orderNumber"/>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
<el-table-column prop="" :label="this.$i18n.t('home.product')">
|
|
<el-table-column prop="" :label="this.$i18n.t('home.product')">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
<!-- 商品信息 -->
|
|
<!-- 商品信息 -->
|
|
@@ -688,6 +744,16 @@
|
|
|
ref="orderRemarkUpdate"
|
|
ref="orderRemarkUpdate"
|
|
|
@refreshUserRemarkOrder="getDataList"
|
|
@refreshUserRemarkOrder="getDataList"
|
|
|
></order-remark-update>
|
|
></order-remark-update>
|
|
|
|
|
+ <!-- 弹窗, 新增 / 修改 -->
|
|
|
|
|
+ <order-print-create
|
|
|
|
|
+ v-if="orderPrintCreateVisible"
|
|
|
|
|
+ ref="orderPrintCreate"
|
|
|
|
|
+ @refreshUserAddrOrder="getDataList"
|
|
|
|
|
+ ></order-print-create>
|
|
|
|
|
+ <order-delivery-update
|
|
|
|
|
+ v-if="devyVisible"
|
|
|
|
|
+ ref="orderDeliveryUpdate"
|
|
|
|
|
+ ></order-delivery-update>
|
|
|
<!-- </el-dialog> -->
|
|
<!-- </el-dialog> -->
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -696,6 +762,9 @@
|
|
|
import OrderAddrUpdate from '@/components/order-addr-update'
|
|
import OrderAddrUpdate from '@/components/order-addr-update'
|
|
|
import OrderRemarkUpdate from '@/components/order-remark-update'
|
|
import OrderRemarkUpdate from '@/components/order-remark-update'
|
|
|
import ProdPic from '@/components/prod-pic'
|
|
import ProdPic from '@/components/prod-pic'
|
|
|
|
|
+import OrderCardItem from '@/components/order-card-item'
|
|
|
|
|
+import OrderPrintCreate from '@/components/order-print-create'
|
|
|
|
|
+import OrderDeliveryUpdate from './order-delivery-update'
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
data () {
|
|
data () {
|
|
@@ -723,7 +792,8 @@ export default {
|
|
|
finallyTime: '',
|
|
finallyTime: '',
|
|
|
cancelTime: '',
|
|
cancelTime: '',
|
|
|
orderType: '',
|
|
orderType: '',
|
|
|
- userAddrOrder: {}
|
|
|
|
|
|
|
+ userAddrOrder: {},
|
|
|
|
|
+ shopId:null,
|
|
|
},
|
|
},
|
|
|
resourcesUrl: process.env.VUE_APP_RESOURCES_URL,
|
|
resourcesUrl: process.env.VUE_APP_RESOURCES_URL,
|
|
|
deliveryExpresse: {
|
|
deliveryExpresse: {
|
|
@@ -732,21 +802,42 @@ export default {
|
|
|
indexs: 0,
|
|
indexs: 0,
|
|
|
orderRemarkUpdateVisible: false,
|
|
orderRemarkUpdateVisible: false,
|
|
|
orderAddrUpdateVisible: false,
|
|
orderAddrUpdateVisible: false,
|
|
|
|
|
+ orderPrintCreateVisible: false,
|
|
|
offsetCount: 0, // 偏移量
|
|
offsetCount: 0, // 偏移量
|
|
|
// 商品列表
|
|
// 商品列表
|
|
|
- prodList: []
|
|
|
|
|
|
|
+ prodList: [],
|
|
|
|
|
+ printOrder:{
|
|
|
|
|
+ orderNumber:null,
|
|
|
|
|
+ orderNo:null,
|
|
|
|
|
+ worksUrl:null,
|
|
|
|
|
+ printChannel:null,
|
|
|
|
|
+ photoPages:null,
|
|
|
|
|
+ status:null,
|
|
|
|
|
+ logisticName: null,
|
|
|
|
|
+ deliveryCode: null,
|
|
|
|
|
+ },
|
|
|
|
|
+ selectPrintChannel: null,
|
|
|
|
|
+ selectPrintSkuId: null,
|
|
|
|
|
+ generatePdfLoading: false,
|
|
|
|
|
+ orderDeliveryLoading: false,
|
|
|
|
|
+ devyVisible: false,
|
|
|
|
|
+ orderStatus: 1,
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
components: {
|
|
components: {
|
|
|
OrderAddrUpdate,
|
|
OrderAddrUpdate,
|
|
|
OrderRemarkUpdate,
|
|
OrderRemarkUpdate,
|
|
|
- ProdPic
|
|
|
|
|
|
|
+ ProdPic,
|
|
|
|
|
+ OrderCardItem,
|
|
|
|
|
+ OrderPrintCreate,
|
|
|
|
|
+ OrderDeliveryUpdate
|
|
|
},
|
|
},
|
|
|
watch: {
|
|
watch: {
|
|
|
visible: function () {
|
|
visible: function () {
|
|
|
if (!this.visible) {
|
|
if (!this.visible) {
|
|
|
this.orderRemarkUpdateVisible = false
|
|
this.orderRemarkUpdateVisible = false
|
|
|
this.orderAddrUpdateVisible = false
|
|
this.orderAddrUpdateVisible = false
|
|
|
|
|
+ this.orderPrintCreateVisible = false
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
deliveryExpresse: function (newVal, oldVal) {
|
|
deliveryExpresse: function (newVal, oldVal) {
|
|
@@ -776,7 +867,10 @@ export default {
|
|
|
},
|
|
},
|
|
|
created () {
|
|
created () {
|
|
|
this.dataForm.orderNumber = this.$route.query.orderNumber || 0
|
|
this.dataForm.orderNumber = this.$route.query.orderNumber || 0
|
|
|
|
|
+ this.dataForm.shopId = this.$route.query.shopId || null
|
|
|
|
|
+ this.orderStatus = this.$route.query.status || null
|
|
|
this.init()
|
|
this.init()
|
|
|
|
|
+ this.initPrintOrder();
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
init () {
|
|
init () {
|
|
@@ -809,6 +903,101 @@ export default {
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
|
|
+ initPrintOrder() {
|
|
|
|
|
+ if (this.dataForm.orderNumber) {
|
|
|
|
|
+ this.$http({
|
|
|
|
|
+ url: this.$http.adornUrl(`/order/thirdPrintOrder/info/${this.dataForm.orderNumber}`),
|
|
|
|
|
+ method: 'get',
|
|
|
|
|
+ params: this.$http.adornParams()
|
|
|
|
|
+ }).then(({ data }) => {
|
|
|
|
|
+ if(data){
|
|
|
|
|
+ this.printOrder = data;
|
|
|
|
|
+ }
|
|
|
|
|
+ this.printOrder.orderNumber = this.dataForm.orderNumber;
|
|
|
|
|
+ this.printOrder.shopId = this.dataForm.shopId;
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 生成作品打印PDF
|
|
|
|
|
+ */
|
|
|
|
|
+ generatePrintPdf () {
|
|
|
|
|
+ this.generatePdfLoading = true;
|
|
|
|
|
+ this.$http({
|
|
|
|
|
+ url: this.$http.adornUrl('/order/thirdPrintOrder/generatePrintPdf'),
|
|
|
|
|
+ method: 'post',
|
|
|
|
|
+ data: this.$http.adornData({
|
|
|
|
|
+ orderNumber: this.dataForm.orderNumber,
|
|
|
|
|
+ shopId: this.dataForm.shopId
|
|
|
|
|
+ }),
|
|
|
|
|
+ }).then(({ data }) => {
|
|
|
|
|
+ if(data.status === "success"){
|
|
|
|
|
+ this.generatePdfLoading = false;
|
|
|
|
|
+ this.printOrder.worksUrl = data.result.worksUrl;
|
|
|
|
|
+ window.open(this.resourcesUrl + data.result.worksUrl);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ this.generatePdfLoading = false;
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ message: data.msg,
|
|
|
|
|
+ type: 'error'
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ openPrintOrderDialog(){
|
|
|
|
|
+ this.orderPrintCreateVisible = true
|
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
|
+ const From = JSON.parse(JSON.stringify(this.printOrder))
|
|
|
|
|
+ this.$refs.orderPrintCreate.init(From)
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ createPrintOrder(){
|
|
|
|
|
+ this.$http({
|
|
|
|
|
+ url: this.$http.adornUrl('/order/thirdPrintOrder/createOrder'),
|
|
|
|
|
+ method: 'post',
|
|
|
|
|
+ data: this.$http.adornData({
|
|
|
|
|
+ orderNumber: this.dataForm.orderNumber,
|
|
|
|
|
+ shopId: this.dataForm.shopId,
|
|
|
|
|
+ printChannel: this.selectPrintChannel,
|
|
|
|
|
+ thirdSkuId: this.selectPrintSkuId
|
|
|
|
|
+ }),
|
|
|
|
|
+ }).then(({ data }) => {
|
|
|
|
|
+ if(data.status === "success"){
|
|
|
|
|
+ window.open(this.resourcesUrl + data.result.worksUrl);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ message: data.msg,
|
|
|
|
|
+ type: 'error'
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ openDeliveryDialog(){
|
|
|
|
|
+ this.devyVisible = true
|
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
|
+ this.$refs.orderDeliveryUpdate.init(this.dataForm)
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ getOrderDelivery(){
|
|
|
|
|
+ this.$http({
|
|
|
|
|
+ url: this.$http.adornUrl('/order/thirdPrintOrder/orderDelivery'),
|
|
|
|
|
+ method: 'post',
|
|
|
|
|
+ data: this.$http.adornData({
|
|
|
|
|
+ orderNumber: this.dataForm.orderNumber
|
|
|
|
|
+ }),
|
|
|
|
|
+ }).then(({ data }) => {
|
|
|
|
|
+ if(data.status === "success"){
|
|
|
|
|
+ this.printOrder.status = data.result.order_status;
|
|
|
|
|
+ this.printOrder.logisticName = data.result.logistics_name;
|
|
|
|
|
+ this.printOrder.deliveryCode = data.result.delivery_code;
|
|
|
|
|
+ }else{
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ message: data.msg,
|
|
|
|
|
+ type: 'error'
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
getDataList () {
|
|
getDataList () {
|
|
|
this.$http({
|
|
this.$http({
|
|
|
url: this.$http.adornUrl(`/order/delivery/orderInfo/${this.dataForm.orderNumber}`),
|
|
url: this.$http.adornUrl(`/order/delivery/orderInfo/${this.dataForm.orderNumber}`),
|