LandingBillDetail.vue 2.61 KB
Newer Older
lanbaoming's avatar
lanbaoming committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
<!--拆单审核中的申请信息部分-->
<template>
    <div v-if="order">
        <el-descriptions :column="4" v-if="order" :colon="true">
            <el-descriptions-item :label="$t('订单号')">{{order.orderNo}}</el-descriptions-item>
            <el-descriptions-item :label="$t('运输方式')">
                <dict-tag class="mr-10" :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.transportId" />
            </el-descriptions-item>
            <el-descriptions-item :label="$t('出货方式')">
                {{channel ? channel.nameZh : '/'}}
            </el-descriptions-item>
            <el-descriptions-item :label="$t('订单状态')">
                {{order.statusMsg}}
            </el-descriptions-item>
            <el-descriptions-item :label="$t('唛头')">{{order.marks}}</el-descriptions-item>
            <el-descriptions-item :label="$t('始发仓')">
                {{order.logisticsInfoDto.startTitleZh}}
            </el-descriptions-item>
            <el-descriptions-item :label="$t('目的仓')" :span="2">
                {{order.logisticsInfoDto.destAddressZh}}
            </el-descriptions-item>
        </el-descriptions>
        <el-button type="primary" @click="ShowLandingBill=true">{{ $t('查看提单') }}</el-button>

        <el-dialog :title="$t('查看提单')" :visible.sync="ShowLandingBill" width="1000px">
            <div style="text-align:center; width: 960px; margin: auto" v-html="billContent" />
        </el-dialog>
    </div>
</template>
<script>
import {getOrder} from '@/api/ecw/order'
import {getChannel} from '@/api/ecw/channel'
import {getBillService} from '@/api/ecw/box'
export default {
    name: 'OrderLandingBill',
    props:{
        id: [String, Number],
        path: String
    },
    data(){
        return {
            order: null,
            channel: null,
            ShowLandingBill: false,
            billContent: null
        }
    },
    watch:{
        order(){
            if(this.order.channelId){
                this.getChannel()
            }
        }
    },
    created(){
        if(this.id){
            getBillService({id: this.id}).then(res => {
                this.billContent = res.data.billContent
                return getOrder(res.data.orderId)
            }).then(res => {
                this.order = res.data
            })
        }
    },
    methods:{
        getChannel(){
            getChannel(this.order.channelId).then(res => {
                this.channel = res.data
            })
        }
    }
}
</script>
<style scoped lang="scss">
.title{
    padding: 10px 0;
    span{
        font-size: 14px;
        font-weight: bold;
    }
}
</style>