|
|
@@ -8,24 +8,21 @@ const visible = ref(false)
|
|
|
const loading = ref(false)
|
|
|
|
|
|
const shipmentInfoTableData = ref([])
|
|
|
+const processList = ref()
|
|
|
+const rowData = ref()
|
|
|
const openDialog = (row: any) => {
|
|
|
visible.value = true
|
|
|
loading.value = true
|
|
|
$api
|
|
|
.getDeliveryBookingDialogData({ serial_no: row._serial_no })
|
|
|
.then((res) => {
|
|
|
- console.log('res', res)
|
|
|
const data = res.data.data
|
|
|
if (data.update_time !== data.create_time && data.status === 'Pending Approval') {
|
|
|
data.status = 'Modified'
|
|
|
}
|
|
|
handleStepData(data.status, data)
|
|
|
- deliveryInfoData.value = {
|
|
|
- modeType: data.delivery_mode || '--',
|
|
|
- deliveryDate: data.delivery_date || '--',
|
|
|
- deliveryAddress: data.delivery_address || '--',
|
|
|
- specialRequirements: data.special_requirements || '--'
|
|
|
- }
|
|
|
+ processList.value = data.operation_log
|
|
|
+ const rowData = data
|
|
|
shipmentInfoTableData.value = data.shipmentsData || []
|
|
|
})
|
|
|
.finally(() => {
|
|
|
@@ -64,42 +61,33 @@ const handleStepData = (status, data) => {
|
|
|
} else if (status === 'Approved') {
|
|
|
stepList.value.push({
|
|
|
label: 'Approved',
|
|
|
- date: '--',
|
|
|
+ date: data.update_time || '--',
|
|
|
icon: 'icon_confirm_b',
|
|
|
- status: 'unfinished'
|
|
|
+ status: ''
|
|
|
})
|
|
|
} else if (status === 'Rejected') {
|
|
|
stepList.value.push({
|
|
|
label: 'Rejected',
|
|
|
- date: 'Jun-05-2024',
|
|
|
+ date: data.update_time || '--',
|
|
|
icon: 'icon_reject_b',
|
|
|
- status: 'rejected'
|
|
|
+ status: 'rejected',
|
|
|
+ description:
|
|
|
+ 'This is some description information about the pending task, if there is too much content.'
|
|
|
})
|
|
|
} else if (status === 'Cancelled') {
|
|
|
stepList.value.push({
|
|
|
label: 'Cancelled',
|
|
|
- date: 'Jun-05-2024',
|
|
|
+ date: data.update_time || '--',
|
|
|
icon: 'icon_cancelled_b',
|
|
|
- status: 'completed'
|
|
|
+ status: 'cancelled'
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
-const deliveryInfoData = ref({
|
|
|
- modeType: '',
|
|
|
- deliveryDate: '',
|
|
|
- deliveryAddress: '',
|
|
|
- specialRequirements: ''
|
|
|
-})
|
|
|
|
|
|
const clearData = () => {
|
|
|
shipmentInfoTableData.value = []
|
|
|
stepList.value = []
|
|
|
- deliveryInfoData.value = {
|
|
|
- modeType: '',
|
|
|
- deliveryDate: '',
|
|
|
- deliveryAddress: '',
|
|
|
- specialRequirements: ''
|
|
|
- }
|
|
|
+ rowData.value = {}
|
|
|
}
|
|
|
defineExpose({
|
|
|
openDialog
|
|
|
@@ -121,10 +109,10 @@ defineExpose({
|
|
|
<DetailStep :stepList="stepList" />
|
|
|
<div class="booking-info">
|
|
|
<div class="booking-no">
|
|
|
- <span class="no">Booking No.B83131200164</span>
|
|
|
- <v-tag class="tag" type="Pending Approval">Pending Approval</v-tag>
|
|
|
+ <span class="no">Booking No.{{ rowData?.booking_no }}</span>
|
|
|
+ <v-tag class="tag" :type="rowData?.status">{{ rowData?.status }}</v-tag>
|
|
|
</div>
|
|
|
- <div class="created-time">Created Time:Jun-01-2024</div>
|
|
|
+ <div class="created-time">{{ formatTimezone(rowData?.created_time) }}</div>
|
|
|
</div>
|
|
|
<ShipmentInforTable :data="shipmentInfoTableData" />
|
|
|
<div class="delivery-information">
|
|
|
@@ -132,35 +120,33 @@ defineExpose({
|
|
|
<div class="delivery-info">
|
|
|
<div class="delivery-item inline-flex" style="width: 200px">
|
|
|
<span class="item-label">Mode Type</span>
|
|
|
- <span class="item-value">{{ deliveryInfoData.modeType }}</span>
|
|
|
+ <span class="item-value">{{ rowData?.delivery_mode || '--' }}</span>
|
|
|
</div>
|
|
|
<div class="delivery-item inline-flex">
|
|
|
<span class="item-label">Delivery Date</span>
|
|
|
<span class="item-value">
|
|
|
<span class="font_family icon-icon_date_b" style="margin-right: 4px"></span>
|
|
|
- <span style="margin-top: 1px">{{
|
|
|
- formatTimezone(deliveryInfoData.deliveryDate)
|
|
|
- }}</span>
|
|
|
+ <span style="margin-top: 1px">{{ formatTimezone(rowData?.delivery_date) }}</span>
|
|
|
</span>
|
|
|
</div>
|
|
|
<div class="delivery-item">
|
|
|
<span class="item-label">Delivery Address</span>
|
|
|
<span class="item-value">
|
|
|
<span class="font_family icon-icon_location_b" style="margin-right: 2px"></span>
|
|
|
- <span style="margin-top: 1px">{{ deliveryInfoData.deliveryAddress }}</span>
|
|
|
+ <span style="margin-top: 1px">{{ rowData?.delivery_address || '--' }}</span>
|
|
|
</span>
|
|
|
</div>
|
|
|
<div class="delivery-item">
|
|
|
<span class="item-label">Special Requirements</span>
|
|
|
<span class="item-value">
|
|
|
<span class="font_family icon-icon_paragraph_b" style="margin-right: 2px"></span>
|
|
|
- <span style="margin-top: 1px">{{ deliveryInfoData.specialRequirements }}</span>
|
|
|
+ <span style="margin-top: 1px">{{ rowData?.special_requirements || '--' }}</span>
|
|
|
</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<el-divider style="margin-top: 8px; margin-bottom: 20px" />
|
|
|
- <OperationLogProcess />
|
|
|
+ <OperationLogProcess :processList="processList" />
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
</template>
|