order-logistic.vue 4.69 KB
<template>
    <div class="logistic-page yoho-page">
        <header-box title="物流信息" ref="header"></header-box>
        <div class="overview">
            <div class="left" >
                <img class="logoicon" v-img-src="{src: logo, width: 90, height: 90}"/>
            </div>
            <div class="right">
                <div>
                    <span class='info'>物流公司:</span>
                    <span >{{logisticDate.caption}}</span>
                </div>
                <div>
                    <span class='info'>快递单号:</span>
                    <span>{{logisticDate.express_number}}</span>
                </div>
            </div>
        </div><!--end overview-->
        <div class="title">
            <span>物流详情</span>
        </div>
        <div class="detail">
            <div class="timeline-box" v-for="(detail, index) in logisticDate.express_detail" :key="index">
                <span class="timeline-node"></span>
                <div class="timeline-info">
                    <div class="timeline-info-row">
                        {{detail.accept_address}}
                    </div>
                    <div class="timeline-info-row time">
                        {{detail.acceptTime}}
                    </div>
                </div>
            </div>
        </div><!--end detail-->
    </div><!--end logistic-page-->
</template>
<style>
$logistic_gray: #f0f0f0;
$border_color_light: #eee;

.logistic-page {
    background-color: $logistic_gray;

    .overview {
        height: 150px;
        line-height: 120px;
        width: 100%;
        margin-bottom: 20px;
        background-color: #fff;
        color: #464646;
        border-bottom: 1px solid $border_color_light;

        .left {
            width: 150px;
            float: left;
            text-align: center;
            height: 100%;

            .logoicon {
                width: 90px;
                height: 90px;
                margin: 0 auto;
                background-size: 100%;
                background-repeat: no-repeat;
                background-position: center;
                margin-top: 30px;
            }
        }

        .right {
            width: 600px;
            height: 100%;
            float: left;
            padding: 36px 0;

            div {
                height: 40px;
                line-height: 44px;
                font-size: 24px;
            }
        }

        .info {
            padding-right: 4px;
            color: #b0b0b0;
        }
    }

    .title {
        height: 88px;
        line-height: 89px;
        background-color: #fff;
        padding-left: 30px;
        font-size: 34px;
    }

    .detail {
        background-color: #fff;
        padding-left: 42px;
        margin-bottom: 40px;
    }

    .timeline-box {
        border-left: 1px solid $border_color_light;
        position: relative;
        padding-left: 42px;
        height: 116px;
    }

    .timeline-node {
        position: absolute;
        top: 32px;
        left: -9.04444px;
        display: inline-block;
        width: 16px;
        height: 16px;
        background-color: #b0b0b0;
        border-radius: 100%;
    }

    .timeline-box:first-child {
        .timeline-node {
            background-color: #000;
            width: 22px;
            height: 22px;
        }

        .timeline-info-row {
            color: #000;
        }

        .time {
            color: #b0b0b0;
        }
    }

    .timeline-info {
        padding: 20px 0;
        border-bottom: 1px solid $border_color_light;
    }

    .timeline-box:last-child {
        .timeline-info {
            border: none;
        }
    }

    .timeline-info-row {
        min-height: 40px;
        line-height: 40px;
        font-size: 28px;
        color: #b0b0b0;
        padding-right: 32px;
    }

    .time {
        font-size: 24px;
    }
}
</style>
<script>
    import $ from 'jquery';
    import qs from 'yoho-qs';
    import tip from 'common/tip';
    import HeaderBox from 'component/header.vue';

    export default {
        data() {
            return {
                logisticDate: [],
                logo: ''
            };
        },
        created() {
            const data = {
                orderCode: qs.order_code || '',
                type: qs.type || '',
                id: qs.id || ''
            };

            $.ajax({
                url: '/me/get-order-logistic-date',
                data: data
            }).then(result => {
                this.logisticDate = result;
                if (result && result.logo) {
                    this.logo = result.logo;
                }
            }).fail(() => {
                tip('网络错误');
            });
        },
        components: {HeaderBox}
    };
</script>