|
|
|
@ -15,6 +15,7 @@
|
|
|
|
|
v-model="form.productCode"
|
|
|
|
|
style="width: 100%">
|
|
|
|
|
<a-select-option value="MaerskContract">MaerskContract</a-select-option>
|
|
|
|
|
<a-select-option value="MaerskSpot">MaerskSpot</a-select-option>
|
|
|
|
|
</a-select>
|
|
|
|
|
</a-form-model-item>
|
|
|
|
|
</a-col>
|
|
|
|
@ -27,7 +28,7 @@
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
<a-row>
|
|
|
|
|
<a-col :span="12">
|
|
|
|
|
<a-col :span="12" v-if="mskBookType == 'api'">
|
|
|
|
|
<a-form-model-item label="订舱合同唯一ID">
|
|
|
|
|
<a-select
|
|
|
|
|
:disabled="nodisabled"
|
|
|
|
@ -54,7 +55,7 @@
|
|
|
|
|
</a-form-model-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
<a-row>
|
|
|
|
|
<a-row v-if="mskBookType == 'api'">
|
|
|
|
|
<a-col :span="12">
|
|
|
|
|
<a-form-model-item label="是否持约">
|
|
|
|
|
<a-switch @change="handleChangePrice" v-model="form.isBookingPartOwnPrice" />
|
|
|
|
@ -75,6 +76,7 @@
|
|
|
|
|
</a-form-model-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
<div v-if="mskBookType == 'api'">
|
|
|
|
|
<a-row>
|
|
|
|
|
<a-col :span="12">
|
|
|
|
|
<a-form-model-item label="订舱公司名称">
|
|
|
|
@ -123,6 +125,57 @@
|
|
|
|
|
</a-form-model-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
</div>
|
|
|
|
|
<div v-if="mskBookType == 'spot'">
|
|
|
|
|
<a-row>
|
|
|
|
|
<a-col :span="12">
|
|
|
|
|
<a-form-model-item label="订舱公司名称">
|
|
|
|
|
{{ mskSpotInfo.bookedByCompanyName }}
|
|
|
|
|
</a-form-model-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col :span="12">
|
|
|
|
|
<a-form-model-item label="订舱方ID">
|
|
|
|
|
{{ mskSpotInfo.bookedMaerskByPartyCode }}
|
|
|
|
|
</a-form-model-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
<a-row>
|
|
|
|
|
<a-col :span="12">
|
|
|
|
|
<a-form-model-item label="订舱公司联系人">
|
|
|
|
|
{{ mskSpotInfo.bookedByPartyContactName }}
|
|
|
|
|
</a-form-model-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col :span="12">
|
|
|
|
|
<a-form-model-item label="订舱公司邮箱">
|
|
|
|
|
{{ mskSpotInfo.bookedByPartyContactEmail }}
|
|
|
|
|
</a-form-model-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
<a-row>
|
|
|
|
|
<a-col :span="12">
|
|
|
|
|
<a-form-model-item label="持约方名称">
|
|
|
|
|
{{ mskSpotInfo.priceOwnerCompanyName }}
|
|
|
|
|
</a-form-model-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col :span="12">
|
|
|
|
|
<a-form-model-item label="持约方ID">
|
|
|
|
|
{{ mskSpotInfo.priceOwnerMaerskPartyCode }}
|
|
|
|
|
</a-form-model-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
<a-row>
|
|
|
|
|
<a-col :span="12">
|
|
|
|
|
<a-form-model-item label="持约方联系人">
|
|
|
|
|
{{ mskSpotInfo.priceOwnerContactName }}
|
|
|
|
|
</a-form-model-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col :span="12">
|
|
|
|
|
<a-form-model-item label="持约方邮箱">
|
|
|
|
|
{{ mskSpotInfo.priceOwnerContactEmail }}
|
|
|
|
|
</a-form-model-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="title">地点、船期详情</div>
|
|
|
|
|
<a-row>
|
|
|
|
|
<a-col :span="12">
|
|
|
|
@ -209,9 +262,12 @@
|
|
|
|
|
<div class="box" v-for="(item, index) in shipData" :key="index">
|
|
|
|
|
<div class="left" style="width: 100%;">
|
|
|
|
|
<div class="top">
|
|
|
|
|
<span class="top-text">{{ item.orignCityName }} </span>
|
|
|
|
|
<span class="top-text">{{ item.orignCityName }},{{ item.originRegionName }},{{ item.originCountryName }}</span>
|
|
|
|
|
<img style="margin: 0 15px;" src="../../assets/icons/u92.svg" alt="">
|
|
|
|
|
<span class="top-text">{{ item.deliveryCityName }}</span>
|
|
|
|
|
<span class="top-text">{{ item.deliveryCityName }},{{ item.deliveryRegionName }},{{ item.deliveryCountryName }}</span>
|
|
|
|
|
<span style="margin-left:30px;margin-right: 10px;color: black;">{{ item.shipRateTotalCurrency
|
|
|
|
|
}}</span>
|
|
|
|
|
<span style="color: black;">{{ item.shipRateTotalAmount }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="bottom">
|
|
|
|
|
<div class="item">
|
|
|
|
@ -225,7 +281,7 @@
|
|
|
|
|
<div class="item-left"> <img src="../../assets/icons/u90.svg" alt=""> </div>
|
|
|
|
|
<div class="item-right">
|
|
|
|
|
<div>到港</div>
|
|
|
|
|
<div>{{ item.atd }}</div>
|
|
|
|
|
<div>{{ item.eta }}</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="item">
|
|
|
|
@ -243,6 +299,20 @@
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div v-if="item.legs">
|
|
|
|
|
<div v-for="(ite, index1) in item.legs" :key="index1" style="margin-top: 10px;">
|
|
|
|
|
<a-tag color="green">{{ index1 + 1 }}</a-tag>
|
|
|
|
|
<img style="margin: 0 10px 0 0" src="../../assets/icons/u1041.svg" alt="">
|
|
|
|
|
<span style="margin-right: 5px;display: inline-block;">{{ ite.from.cityName }},{{
|
|
|
|
|
ite.from.regionName }},{{ ite.from.countryName }}</span>
|
|
|
|
|
<span>ETD:{{ ite.etd }}</span>
|
|
|
|
|
<span style="margin: 0 10px;">--------</span>
|
|
|
|
|
<img style="margin: 0 10px" src="../../assets/icons/u1041.svg" alt="">
|
|
|
|
|
<span style="margin-right: 10px;display: inline-block;">{{ ite.to.cityName }},{{ ite.to.regionName
|
|
|
|
|
}},{{ ite.to.countryName }}</span>
|
|
|
|
|
<span>ETA:{{ ite.eta }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="title">货物详情</div>
|
|
|
|
@ -373,6 +443,7 @@
|
|
|
|
|
<a-button type="danger" @click="showFlag = false">取消</a-button>
|
|
|
|
|
</template>
|
|
|
|
|
</a-modal>
|
|
|
|
|
|
|
|
|
|
<a-modal title="检索船期" :footer="null" :visible="visible" width="1200px" @cancel="visible = false">
|
|
|
|
|
<div style="display: flex;align-items: center;">
|
|
|
|
|
<a-row style="width:95%">
|
|
|
|
@ -422,6 +493,8 @@
|
|
|
|
|
<span class="top-text">{{ item.orignCityName }} </span>
|
|
|
|
|
<img style="margin: 0 15px;" src="../../assets/icons/u92.svg" alt="">
|
|
|
|
|
<span class="top-text">{{ item.deliveryCityName }}</span>
|
|
|
|
|
<span style="margin-left:30px;margin-right: 10px;color: black;">{{ item.totalCurrency }}</span>
|
|
|
|
|
<span style="color: black;">{{ item.totalAmount }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="bottom">
|
|
|
|
|
<div class="item">
|
|
|
|
@ -435,7 +508,7 @@
|
|
|
|
|
<div class="item-left"> <img src="../../assets/icons/u90.svg" alt=""> </div>
|
|
|
|
|
<div class="item-right">
|
|
|
|
|
<div>到港</div>
|
|
|
|
|
<div>{{ item.atd }}</div>
|
|
|
|
|
<div>{{ item.eta }}</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="item">
|
|
|
|
@ -453,6 +526,20 @@
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div v-if="item.legs">
|
|
|
|
|
<div v-for="(ite, index1) in item.legs" :key="index1" style="margin-top: 10px;">
|
|
|
|
|
<a-tag color="green">{{ index1 + 1 }}</a-tag>
|
|
|
|
|
<img style="margin: 0 10px 0 0" src="../../assets/icons/u1041.svg" alt="">
|
|
|
|
|
<span style="margin-right: 5px;display: inline-block;width:220px">{{ ite.from.cityName }},{{
|
|
|
|
|
ite.from.regionName }},{{ ite.from.countryName }}</span>
|
|
|
|
|
<span>ETD:{{ ite.etd }}</span>
|
|
|
|
|
<span style="margin: 0 10px;">--------</span>
|
|
|
|
|
<img style="margin: 0 10px" src="../../assets/icons/u1041.svg" alt="">
|
|
|
|
|
<span style="margin-right: 10px;display: inline-block;min-width: 240px">{{ ite.to.cityName }},{{
|
|
|
|
|
ite.to.regionName }},{{ ite.to.countryName }}</span>
|
|
|
|
|
<span>ETA:{{ ite.eta }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="right">
|
|
|
|
|
<a-button @click="handleSelectCQ(item)" type="primary">选择</a-button>
|
|
|
|
@ -506,9 +593,9 @@
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import {
|
|
|
|
|
getContractno, SearchCommodities, SearchShipSailingSchedule,
|
|
|
|
|
SearchLocations, SendMSKBooking, mskGetSave, mskGetGetInfo,
|
|
|
|
|
CheckWarningBatchCopy, maskCopy
|
|
|
|
|
getContractno, SearchCommodities, SearchShipSailingSchedule, mskGetGetInfoSpot, mskGetSaveSpot,
|
|
|
|
|
SearchLocations, SendMSKBooking, mskGetSave, mskGetGetInfo, GetInitInfoMsk, SendMSKBookingSpot,
|
|
|
|
|
CheckWarningBatchCopy, maskCopy, SearchLocationsSpot, SearchShipSailingScheduleSpot
|
|
|
|
|
} from '@/api/modular/main/BookingLedger'
|
|
|
|
|
import { mapGetters } from 'vuex'
|
|
|
|
|
import moment from 'moment'
|
|
|
|
@ -529,6 +616,7 @@ export default {
|
|
|
|
|
mskType: '',
|
|
|
|
|
mskNumber: '',
|
|
|
|
|
mskCopyId: '',
|
|
|
|
|
mskBookType: '',
|
|
|
|
|
searchForm: {
|
|
|
|
|
isoEquipmentCode: ''
|
|
|
|
|
},
|
|
|
|
@ -580,6 +668,7 @@ export default {
|
|
|
|
|
],
|
|
|
|
|
visible: false,
|
|
|
|
|
labelCol: { span: 6 },
|
|
|
|
|
mskSpotInfo: {},
|
|
|
|
|
cqLoading: false,
|
|
|
|
|
goodsFlag: false,
|
|
|
|
|
showFlag: false,
|
|
|
|
@ -592,6 +681,7 @@ export default {
|
|
|
|
|
])
|
|
|
|
|
},
|
|
|
|
|
mounted() {
|
|
|
|
|
this.getinitInfoMsk()
|
|
|
|
|
},
|
|
|
|
|
watch: {
|
|
|
|
|
'form.ctns': {
|
|
|
|
@ -635,6 +725,29 @@ export default {
|
|
|
|
|
carrierDeliveryDestinationGeoID: this.form.carrierDeliveryDestinationGeoID,
|
|
|
|
|
...this.searchForm
|
|
|
|
|
}
|
|
|
|
|
if (this.mskBookType === 'spot') {
|
|
|
|
|
if (this.form.ctns.length === 0) {
|
|
|
|
|
this.$message.warning('请先添加一条箱型箱量')
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
if (!this.form.ctns[0].ctnCode || !this.form.ctns[0].ctnSufferWeight || !this.form.ctns[0].ctnNum) {
|
|
|
|
|
this.$message.warning('请填写完整箱型箱量')
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
data.isoEquipmentCode = this.form.ctns[0].ctnCode
|
|
|
|
|
data.ISOEquipmentNum = this.form.ctns[0].ctnNum
|
|
|
|
|
data.stuffingWeight = this.form.ctns[0].ctnSufferWeight
|
|
|
|
|
SearchShipSailingScheduleSpot(data).then(res => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
this.shipList = res.data
|
|
|
|
|
} else {
|
|
|
|
|
this.$message.error(res.message)
|
|
|
|
|
this.shipList = []
|
|
|
|
|
}
|
|
|
|
|
this.cqLoading = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
if (this.mskBookType === 'api') {
|
|
|
|
|
SearchShipSailingSchedule(data).then(res => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
this.shipList = res.data
|
|
|
|
@ -644,6 +757,21 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
this.cqLoading = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
getinitInfoMsk() {
|
|
|
|
|
// const data = localStorage.getItem('mskSpotInfo') ? JSON.parse(localStorage.getItem('mskSpotInfo')) : {}
|
|
|
|
|
// if (data.bookedByCompanyName) {
|
|
|
|
|
// this.mskSpotInfo = data
|
|
|
|
|
// } else {
|
|
|
|
|
// GetInitInfoMsk().then(res => {
|
|
|
|
|
// this.mskSpotInfo = res.data
|
|
|
|
|
// localStorage.setItem('mskSpotInfo', JSON.stringify(res.data))
|
|
|
|
|
// })
|
|
|
|
|
// }
|
|
|
|
|
GetInitInfoMsk().then(res => {
|
|
|
|
|
this.mskSpotInfo = res.data
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleCtnChange(row) {
|
|
|
|
|
this.ctnallList.forEach(item => {
|
|
|
|
@ -657,6 +785,7 @@ export default {
|
|
|
|
|
this.mskNumber = number
|
|
|
|
|
this.mskCopyId = copyId
|
|
|
|
|
this.getContractnoList()
|
|
|
|
|
this.mskBookType = 'api'
|
|
|
|
|
this.shipData = []
|
|
|
|
|
// 获取当前时间
|
|
|
|
|
if (!id) {
|
|
|
|
@ -714,6 +843,71 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
this.showFlag = true
|
|
|
|
|
},
|
|
|
|
|
spotInit(id, type, number, copyId) {
|
|
|
|
|
this.mskType = type || 'add'
|
|
|
|
|
this.mskNumber = number
|
|
|
|
|
this.mskCopyId = copyId
|
|
|
|
|
this.mskBookType = 'spot'
|
|
|
|
|
this.getContractnoList()
|
|
|
|
|
this.shipData = []
|
|
|
|
|
// 获取当前时间
|
|
|
|
|
if (!id) {
|
|
|
|
|
this.form = {
|
|
|
|
|
ctns: [
|
|
|
|
|
{ ctnSufferWeight: 18000, ctnNum: 1, ctnCode: '45G11', ctnName: '40HC' }
|
|
|
|
|
],
|
|
|
|
|
isReefer: false,
|
|
|
|
|
productCode: 'MaerskSpot',
|
|
|
|
|
carrierCode: 'MAEU',
|
|
|
|
|
isBookingPartOwnPrice: true,
|
|
|
|
|
importServiceMode: 'CY',
|
|
|
|
|
exportServiceMode: 'CY',
|
|
|
|
|
earliestDepartureDate: moment().format('YYYY-MM-DD'),
|
|
|
|
|
cargoType: 'DRY',
|
|
|
|
|
sender: 'BOOKAPI',
|
|
|
|
|
commodityCodeType: 'MaerskCode'
|
|
|
|
|
}
|
|
|
|
|
this.$set(this.form, 'isReefer', false)
|
|
|
|
|
this.$forceUpdate()
|
|
|
|
|
} else {
|
|
|
|
|
this.formLoading = true
|
|
|
|
|
mskGetGetInfoSpot({ id: id }).then(res => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
if (!res.data.ctns) {
|
|
|
|
|
res.data.ctns = []
|
|
|
|
|
}
|
|
|
|
|
this.form = res.data
|
|
|
|
|
this.form.priceReferenceId = this.form.priceReferenceId + ''
|
|
|
|
|
this.$set(this.form, 'sfcarrierGeoID', this.form.placeOfReceiptCityName)
|
|
|
|
|
this.$set(this.form, 'mdsfcarrierGeoID', this.form.placeOfDeliveryCityName)
|
|
|
|
|
if (this.form.vesselName) {
|
|
|
|
|
this.shipData.push({
|
|
|
|
|
deliveryCityName: this.form.placeOfDeliveryCityName,
|
|
|
|
|
orignCityName: this.form.placeOfReceiptCityName,
|
|
|
|
|
carrierDepartureVoyageNumber: this.form.exportVoyageNumber,
|
|
|
|
|
vesselName: this.form.vesselName,
|
|
|
|
|
days: this.form.estSailingDays,
|
|
|
|
|
atd: this.form.destinationArrivalDateTimeLocal,
|
|
|
|
|
etd: this.form.originDepartureDateTimeLocal,
|
|
|
|
|
shipRateTotalCurrency: this.form.shipRateTotalCurrency,
|
|
|
|
|
shipRateTotalAmount: this.form.shipRateTotalAmount
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
console.log(this.shipData)
|
|
|
|
|
if (this.form.isReefer) {
|
|
|
|
|
this.disabled = false
|
|
|
|
|
} else {
|
|
|
|
|
this.disabled = true
|
|
|
|
|
}
|
|
|
|
|
this.$forceUpdate()
|
|
|
|
|
} else {
|
|
|
|
|
this.$message.error(res.message)
|
|
|
|
|
}
|
|
|
|
|
this.formLoading = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
this.showFlag = true
|
|
|
|
|
},
|
|
|
|
|
handleChangePrice(val) {
|
|
|
|
|
if (val) {
|
|
|
|
|
this.form.priceOwnerContactEmail = this.form.bookedByCompanyContactEmail
|
|
|
|
@ -773,6 +967,18 @@ export default {
|
|
|
|
|
this.form.estSailingDays = item.days
|
|
|
|
|
this.form.transportMode = item.transportMode
|
|
|
|
|
this.form.carrierProductId = item.carrierProductId
|
|
|
|
|
this.form.originCountryName = item.originCountryName
|
|
|
|
|
this.form.originRegionName = item.originRegionName
|
|
|
|
|
this.form.deliveryRegionName = item.deliveryRegionName
|
|
|
|
|
this.form.deliveryCountryName = item.deliveryCountryName
|
|
|
|
|
if (this.mskBookType === 'spot') {
|
|
|
|
|
this.form.pId = item.pId
|
|
|
|
|
this.form.mD5 = item.mD5
|
|
|
|
|
this.form.priceID = item.priceID
|
|
|
|
|
this.form.shipRateTotalAmount = item.totalAmount
|
|
|
|
|
this.form.shipRateTotalCurrency = item.totalCurrency
|
|
|
|
|
}
|
|
|
|
|
if (this.mskBookType === 'api') {
|
|
|
|
|
const arr = []
|
|
|
|
|
if (this.form.ctns.length > 0) {
|
|
|
|
|
this.form.ctns.forEach(item => {
|
|
|
|
@ -786,6 +992,7 @@ export default {
|
|
|
|
|
if (arr.length === 0) {
|
|
|
|
|
this.form.ctns.push({ ctnCode: this.searchForm.isoEquipmentCode, ctnNum: 1, ctnSufferWeight: 0 })
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this.shipData.push(item)
|
|
|
|
|
this.visible = false
|
|
|
|
|
this.$forceUpdate()
|
|
|
|
@ -802,6 +1009,20 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
this.formLoading = true
|
|
|
|
|
if (this.mskType === 'add') {
|
|
|
|
|
if (this.mskBookType === 'spot') {
|
|
|
|
|
this.form.priceReference = this.form.priceID
|
|
|
|
|
SendMSKBookingSpot(this.form).then(res => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
this.showFlag = false
|
|
|
|
|
this.$message.success('发送成功')
|
|
|
|
|
this.$emit('handleSuccess')
|
|
|
|
|
} else {
|
|
|
|
|
this.$message.error(res.message)
|
|
|
|
|
}
|
|
|
|
|
this.formLoading = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
if (this.mskBookType === 'api') {
|
|
|
|
|
SendMSKBooking(this.form).then(res => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
this.showFlag = false
|
|
|
|
@ -813,6 +1034,7 @@ export default {
|
|
|
|
|
this.formLoading = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
console.log('error submit!!');
|
|
|
|
|
return false;
|
|
|
|
@ -820,7 +1042,6 @@ export default {
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
handleSave() {
|
|
|
|
|
console.log(this.form);
|
|
|
|
|
this.$refs.form.validate(valid => {
|
|
|
|
|
if (valid) {
|
|
|
|
|
this.form.carrierId = 'MSK'
|
|
|
|
@ -832,6 +1053,19 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
this.formLoading = true
|
|
|
|
|
if (this.mskType === 'add') {
|
|
|
|
|
if (this.mskBookType === 'spot') {
|
|
|
|
|
this.form.priceReference = this.form.priceID
|
|
|
|
|
mskGetSaveSpot(this.form).then(res => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
this.showFlag = false
|
|
|
|
|
this.$emit('handleSuccess')
|
|
|
|
|
} else {
|
|
|
|
|
this.$message.error(res.message)
|
|
|
|
|
}
|
|
|
|
|
this.formLoading = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
if (this.mskBookType === 'api') {
|
|
|
|
|
mskGetSave(this.form).then(res => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
this.showFlag = false
|
|
|
|
@ -841,6 +1075,7 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
this.formLoading = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
const data = {
|
|
|
|
|
originalId: this.mskCopyId,
|
|
|
|
@ -929,6 +1164,7 @@ export default {
|
|
|
|
|
carrierId: 'MSK',
|
|
|
|
|
carrierCode: this.form.carrierCode
|
|
|
|
|
}
|
|
|
|
|
if (this.mskBookType === 'api') {
|
|
|
|
|
SearchLocations(data).then(res => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
this.portloadList = res.data
|
|
|
|
@ -938,6 +1174,17 @@ export default {
|
|
|
|
|
this.fetching = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
if (this.mskBookType === 'spot') {
|
|
|
|
|
SearchLocationsSpot(data).then(res => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
this.portloadList = res.data
|
|
|
|
|
} else {
|
|
|
|
|
this.$message.error(res.message)
|
|
|
|
|
}
|
|
|
|
|
this.fetching = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
getSearchLocations1(val) {
|
|
|
|
|
if (val.length >= 3) {
|
|
|
|
@ -947,6 +1194,7 @@ export default {
|
|
|
|
|
carrierId: 'MSK',
|
|
|
|
|
carrierCode: this.form.carrierCode
|
|
|
|
|
}
|
|
|
|
|
if (this.mskBookType === 'api') {
|
|
|
|
|
SearchLocations(data).then(res => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
this.portdischargeList = res.data
|
|
|
|
@ -956,6 +1204,17 @@ export default {
|
|
|
|
|
this.fetching = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
if (this.mskBookType === 'spot') {
|
|
|
|
|
SearchLocationsSpot(data).then(res => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
this.portdischargeList = res.data
|
|
|
|
|
} else {
|
|
|
|
|
this.$message.error(res.message)
|
|
|
|
|
}
|
|
|
|
|
this.fetching = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
handleSelectProduct() {
|
|
|
|
|
if (this.form.productCode === 'MaerskContract') {
|
|
|
|
@ -1068,11 +1327,11 @@ export default {
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
|
|
|
|
.left {
|
|
|
|
|
width: 80%;
|
|
|
|
|
width: 90%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.right {
|
|
|
|
|
width: 20%;
|
|
|
|
|
width: 10%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.top {
|
|
|
|
@ -1108,7 +1367,7 @@ export default {
|
|
|
|
|
|
|
|
|
|
.item {
|
|
|
|
|
display: flex;
|
|
|
|
|
width: 20%;
|
|
|
|
|
width: 21%;
|
|
|
|
|
margin-right: 15px;
|
|
|
|
|
|
|
|
|
|
.item-left {
|
|
|
|
|