|
@@ -27,13 +27,15 @@ const VesselName = ref([])
|
|
|
const VesselNametest = ref('')
|
|
const VesselNametest = ref('')
|
|
|
const ShipperValue = ref('')
|
|
const ShipperValue = ref('')
|
|
|
const ConsigneeValue = ref('')
|
|
const ConsigneeValue = ref('')
|
|
|
|
|
+const deliveryDate = ref('')
|
|
|
const DeliveryReference = ref('')
|
|
const DeliveryReference = ref('')
|
|
|
const getAddressListData = ref({})
|
|
const getAddressListData = ref({})
|
|
|
// const isFocused = ref(false)
|
|
// const isFocused = ref(false)
|
|
|
const isFocused = ref({
|
|
const isFocused = ref({
|
|
|
Shipper: false,
|
|
Shipper: false,
|
|
|
Consignee: false,
|
|
Consignee: false,
|
|
|
- Vessel: false
|
|
|
|
|
|
|
+ Vessel: false,
|
|
|
|
|
+ deliveryDate: false
|
|
|
})
|
|
})
|
|
|
const isataFocused = ref(false)
|
|
const isataFocused = ref(false)
|
|
|
const isetaFocused = ref(false)
|
|
const isetaFocused = ref(false)
|
|
@@ -198,10 +200,6 @@ const showETAlabel = computed(() => {
|
|
|
return ETATimeList.value != null || isetaFocused.value
|
|
return ETATimeList.value != null || isetaFocused.value
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
-const changeFocus = (val: boolean) => {
|
|
|
|
|
- // isFocused.value = val
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
const changeFocustest = (type: any, val: boolean) => {
|
|
const changeFocustest = (type: any, val: boolean) => {
|
|
|
isFocused.value[type] = val
|
|
isFocused.value[type] = val
|
|
|
}
|
|
}
|
|
@@ -227,34 +225,34 @@ const querySearchCountry = (query: string) => {
|
|
|
Countryloading.value = true
|
|
Countryloading.value = true
|
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
|
$api
|
|
$api
|
|
|
- .getAddressCountryCityData({
|
|
|
|
|
- term: query,
|
|
|
|
|
- term_type: 'country',
|
|
|
|
|
- limit: CityCode.value != '' ? CityCode.value : ''
|
|
|
|
|
- })
|
|
|
|
|
- .then((res: any) => {
|
|
|
|
|
- if (res.code === 200) {
|
|
|
|
|
- Countryoptions.value = res.data
|
|
|
|
|
- Countryloading.value = false
|
|
|
|
|
- }
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ .getAddressCountryCityData({
|
|
|
|
|
+ term: query,
|
|
|
|
|
+ term_type: 'country',
|
|
|
|
|
+ limit: CityCode.value != '' ? CityCode.value : ''
|
|
|
|
|
+ })
|
|
|
|
|
+ .then((res: any) => {
|
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
|
+ Countryoptions.value = res.data
|
|
|
|
|
+ Countryloading.value = false
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
}, 1000)
|
|
}, 1000)
|
|
|
}
|
|
}
|
|
|
const querySearchCity = (query: string) => {
|
|
const querySearchCity = (query: string) => {
|
|
|
cityloading.value = true
|
|
cityloading.value = true
|
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
|
$api
|
|
$api
|
|
|
- .getAddressCountryCityData({
|
|
|
|
|
- term: query,
|
|
|
|
|
- term_type: 'city',
|
|
|
|
|
- limit: CountryCode.value != '' ? CountryCode.value : ''
|
|
|
|
|
- })
|
|
|
|
|
- .then((res: any) => {
|
|
|
|
|
- if (res.code === 200) {
|
|
|
|
|
- Cityoptions.value = res.data
|
|
|
|
|
- cityloading.value = false
|
|
|
|
|
- }
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ .getAddressCountryCityData({
|
|
|
|
|
+ term: query,
|
|
|
|
|
+ term_type: 'city',
|
|
|
|
|
+ limit: CountryCode.value != '' ? CountryCode.value : ''
|
|
|
|
|
+ })
|
|
|
|
|
+ .then((res: any) => {
|
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
|
+ Cityoptions.value = res.data
|
|
|
|
|
+ cityloading.value = false
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
}, 1000)
|
|
}, 1000)
|
|
|
}
|
|
}
|
|
|
// 特殊日期样式
|
|
// 特殊日期样式
|
|
@@ -310,12 +308,12 @@ const AddNewAddressDelivery = () => {
|
|
|
// 保存新地址
|
|
// 保存新地址
|
|
|
const SaveNewAddress = () => {
|
|
const SaveNewAddress = () => {
|
|
|
if (
|
|
if (
|
|
|
- CountryCode.value != '' &&
|
|
|
|
|
- CityCode.value != '' &&
|
|
|
|
|
- PostalCode.value != '' &&
|
|
|
|
|
- ContactPerson.value != '' &&
|
|
|
|
|
- ContactNumber.value != '' &&
|
|
|
|
|
- AddressLine1.value != '' ||
|
|
|
|
|
|
|
+ (CountryCode.value != '' &&
|
|
|
|
|
+ CityCode.value != '' &&
|
|
|
|
|
+ PostalCode.value != '' &&
|
|
|
|
|
+ ContactPerson.value != '' &&
|
|
|
|
|
+ ContactNumber.value != '' &&
|
|
|
|
|
+ AddressLine1.value != '') ||
|
|
|
AddressLine2.value != '' ||
|
|
AddressLine2.value != '' ||
|
|
|
AddressLine3.value != '' ||
|
|
AddressLine3.value != '' ||
|
|
|
AddressLine4.value != ''
|
|
AddressLine4.value != ''
|
|
@@ -464,6 +462,7 @@ const SearchShipment = () => {
|
|
|
vessel: VesselNametest.value,
|
|
vessel: VesselNametest.value,
|
|
|
consignee: ConsigneeValue.value,
|
|
consignee: ConsigneeValue.value,
|
|
|
shipper: ShipperValue.value,
|
|
shipper: ShipperValue.value,
|
|
|
|
|
+ recommended_delivery_date: deliveryDate.value,
|
|
|
eta_start: ETATimeList.value != null ? ETATimeList.value[0] : '',
|
|
eta_start: ETATimeList.value != null ? ETATimeList.value[0] : '',
|
|
|
eta_end: ETATimeList.value != null ? ETATimeList.value[1] : '',
|
|
eta_end: ETATimeList.value != null ? ETATimeList.value[1] : '',
|
|
|
ata_start: ATATimeList.value != null ? ATATimeList.value[0] : '',
|
|
ata_start: ATATimeList.value != null ? ATATimeList.value[0] : '',
|
|
@@ -616,7 +615,6 @@ const handleClickEditAddress = (val: any) => {
|
|
|
// 删除地址
|
|
// 删除地址
|
|
|
const handleDeleteAddress = (val: any) => {
|
|
const handleDeleteAddress = (val: any) => {
|
|
|
const key = val.contact_type == 'Unedit' ? 'sync_key' : 'id'
|
|
const key = val.contact_type == 'Unedit' ? 'sync_key' : 'id'
|
|
|
- console.log(val.contact_type)
|
|
|
|
|
if (val.contact_type !== 'Add') {
|
|
if (val.contact_type !== 'Add') {
|
|
|
updateAddressList({ ...val, contact_type: 'Delete' })
|
|
updateAddressList({ ...val, contact_type: 'Delete' })
|
|
|
}
|
|
}
|
|
@@ -730,11 +728,10 @@ onMounted(() => {
|
|
|
>
|
|
>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="shipments_search" v-if="a == undefined">
|
|
<div class="shipments_search" v-if="a == undefined">
|
|
|
- <div class="flex">
|
|
|
|
|
|
|
+ <div class="left-filter-search">
|
|
|
<el-input
|
|
<el-input
|
|
|
placeholder="Enter Booking/HBL/PO/Carrier Booking No. "
|
|
placeholder="Enter Booking/HBL/PO/Carrier Booking No. "
|
|
|
v-model="CreateNewBOokingSearch"
|
|
v-model="CreateNewBOokingSearch"
|
|
|
- style="width: 34%"
|
|
|
|
|
class="log_input"
|
|
class="log_input"
|
|
|
>
|
|
>
|
|
|
<template #prefix>
|
|
<template #prefix>
|
|
@@ -769,14 +766,7 @@ onMounted(() => {
|
|
|
</el-input>
|
|
</el-input>
|
|
|
<span v-if="showLabelConsignee" class="border-label">Consignee</span>
|
|
<span v-if="showLabelConsignee" class="border-label">Consignee</span>
|
|
|
</div>
|
|
</div>
|
|
|
- <el-button
|
|
|
|
|
- style="width: 108px"
|
|
|
|
|
- class="el-button--dark create-button"
|
|
|
|
|
- @click="SearchShipment"
|
|
|
|
|
- >Search</el-button
|
|
|
|
|
- >
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="flex" style="margin-top: 8px">
|
|
|
|
|
|
|
+
|
|
|
<div class="input-with-label">
|
|
<div class="input-with-label">
|
|
|
<CalendarDate
|
|
<CalendarDate
|
|
|
:isNeedFooter="false"
|
|
:isNeedFooter="false"
|
|
@@ -796,7 +786,26 @@ onMounted(() => {
|
|
|
></CalendarDate>
|
|
></CalendarDate>
|
|
|
<span v-if="showataLabel" class="border-label">ATA</span>
|
|
<span v-if="showataLabel" class="border-label">ATA</span>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+
|
|
|
<div class="input-with-label" style="margin-right: 8px">
|
|
<div class="input-with-label" style="margin-right: 8px">
|
|
|
|
|
+ <!-- <AutoSelect ASPlaceholder="Input Vessel Name" :ASValue="VesselName" @changeFocus="changeFocus"></AutoSelect> -->
|
|
|
|
|
+ <a-date-picker
|
|
|
|
|
+ v-model:value="deliveryDate"
|
|
|
|
|
+ :showToday="false"
|
|
|
|
|
+ @focus="isFocused.deliveryDate = true"
|
|
|
|
|
+ @blur="isFocused.deliveryDate = false"
|
|
|
|
|
+ :format="userStore.dateFormat"
|
|
|
|
|
+ placeholder="Recommended Delivery Date"
|
|
|
|
|
+ valueFormat="MM/DD/YYYY"
|
|
|
|
|
+ style="width: 100%; height: 40px"
|
|
|
|
|
+ >
|
|
|
|
|
+ </a-date-picker>
|
|
|
|
|
+ <span v-if="isFocused.deliveryDate" class="border-label"
|
|
|
|
|
+ >Recommended Delivery Date</span
|
|
|
|
|
+ >
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="input-with-label">
|
|
|
<!-- <AutoSelect ASPlaceholder="Input Vessel Name" :ASValue="VesselName" @changeFocus="changeFocus"></AutoSelect> -->
|
|
<!-- <AutoSelect ASPlaceholder="Input Vessel Name" :ASValue="VesselName" @changeFocus="changeFocus"></AutoSelect> -->
|
|
|
<el-input
|
|
<el-input
|
|
|
placeholder="Input Vessel Name"
|
|
placeholder="Input Vessel Name"
|
|
@@ -804,11 +813,19 @@ onMounted(() => {
|
|
|
@focus="changeFocustest('Vessel', true)"
|
|
@focus="changeFocustest('Vessel', true)"
|
|
|
@blur="changeFocustest('Vessel', false)"
|
|
@blur="changeFocustest('Vessel', false)"
|
|
|
class="log_input"
|
|
class="log_input"
|
|
|
|
|
+ style="width: 100%"
|
|
|
>
|
|
>
|
|
|
</el-input>
|
|
</el-input>
|
|
|
<span v-if="showLabelVessel" class="border-label">Vessel Name</span>
|
|
<span v-if="showLabelVessel" class="border-label">Vessel Name</span>
|
|
|
</div>
|
|
</div>
|
|
|
- <div style="width: 108px"></div>
|
|
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="right-btn">
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ style="width: 108px"
|
|
|
|
|
+ class="el-button--dark create-button"
|
|
|
|
|
+ @click="SearchShipment"
|
|
|
|
|
+ >Search</el-button
|
|
|
|
|
+ >
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<NewbookingTable
|
|
<NewbookingTable
|
|
@@ -937,9 +954,14 @@ onMounted(() => {
|
|
|
placeholder="Please Select Time"
|
|
placeholder="Please Select Time"
|
|
|
></el-time-select>
|
|
></el-time-select>
|
|
|
</div>
|
|
</div>
|
|
|
- <div style="margin-left: 12px;">
|
|
|
|
|
|
|
+ <div style="margin-left: 12px">
|
|
|
<div class="delivery_type_title">Delivery Reference</div>
|
|
<div class="delivery_type_title">Delivery Reference</div>
|
|
|
- <el-tooltip class="item" effect="dark" content="Reference to be quoted on arrival at the Warehouse/DC" placement="bottom">
|
|
|
|
|
|
|
+ <el-tooltip
|
|
|
|
|
+ class="item"
|
|
|
|
|
+ effect="dark"
|
|
|
|
|
+ content="Reference to be quoted on arrival at the Warehouse/DC"
|
|
|
|
|
+ placement="bottom"
|
|
|
|
|
+ >
|
|
|
<el-input v-model="DeliveryReference" class="delivery_reference"></el-input>
|
|
<el-input v-model="DeliveryReference" class="delivery_reference"></el-input>
|
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
|
</div>
|
|
</div>
|
|
@@ -1431,7 +1453,14 @@ onMounted(() => {
|
|
|
font-weight: 400;
|
|
font-weight: 400;
|
|
|
}
|
|
}
|
|
|
.shipments_search {
|
|
.shipments_search {
|
|
|
- margin: 0 0 8px 0;
|
|
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ margin-bottom: 16px;
|
|
|
|
|
+}
|
|
|
|
|
+.left-filter-search {
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+ display: grid;
|
|
|
|
|
+ grid-template-columns: repeat(3, 1fr);
|
|
|
|
|
+ grid-gap: 8px;
|
|
|
}
|
|
}
|
|
|
:deep(.log_input .el-input__wrapper) {
|
|
:deep(.log_input .el-input__wrapper) {
|
|
|
box-shadow: 0 0 0 1px var(--color-select-border) inset;
|
|
box-shadow: 0 0 0 1px var(--color-select-border) inset;
|
|
@@ -1439,8 +1468,6 @@ onMounted(() => {
|
|
|
}
|
|
}
|
|
|
.input-with-label {
|
|
.input-with-label {
|
|
|
position: relative;
|
|
position: relative;
|
|
|
- display: inline-block;
|
|
|
|
|
- width: 34%;
|
|
|
|
|
}
|
|
}
|
|
|
.border-label {
|
|
.border-label {
|
|
|
position: absolute;
|
|
position: absolute;
|