Files
shipping-portal/resources/assets/vue/components/tracking/elements/OrderTrackingComponent.vue
T
2025-07-07 23:29:49 +08:00

77 lines
3.2 KiB
Vue

<template>
<div class="row m-b-15 parentContainer">
<div class="col">
<div class="row align-items-center">
<div class="col-auto">
<div class="row">
<div class="col-auto p-r-10">
<div class="font-heading all-caps fs-8 muted">Order No / Reference</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="font-heading all-caps fs-12">
<template v-if="isValidOrderNumber">
<a :href="route('order.show', searchString)" target="_blank">{{ searchString }}</a>
</template>
<template v-else-if="item.order_id && item.tracking_no">
<a :href="route('order.show', item.order_id )" target="_blank">{{ item.order_id }}<br><span v-if="$store.getters.isAdmin">({{ item.tracking_no }})</span></a>
</template>
<template v-else-if="item.order_id">
<a :href="route('order.show', item.order_id )" target="_blank">{{ item.order_id }}</a>
</template>
<template v-else>
{{ searchString }}
</template>
</div>
</div>
</div>
</div>
<div class="col-auto">
<div class="row">
<div class="col-auto p-r-10">
<div class="font-heading all-caps fs-8 muted">Tracking Date</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="font-heading all-caps fs-12">{{item.tracking_date}}</div>
</div>
</div>
</div>
<div class="col-6">
<div class="row">
<div class="col-auto p-r-10">
<div class="font-heading all-caps fs-8 muted">Tracking</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="font-heading fs-12">{{item.tracking}}</div>
<div class="font-heading fs-12">{{item.tracking_english}}</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import componentHandler from '../../../general/mixins/componentHandler';
export default {
props: {
searchString: {
type: String,
required: true
}
},
computed: {
isValidOrderNumber() {
return /^\d{9}$/.test(this.searchString);
}
},
mixins: [componentHandler]
}
</script>