预定舱模块

szh-new
sunzehua 5 months ago
parent 05a90bf951
commit b9836b9176

@ -0,0 +1,144 @@
// @ts-ignore
import { request } from '/@/utils/request'
import { DataResult, PageRequest } from '/@/api/model/baseModel'
export function SearchShipSailingScheduleSpot(data) {
return request<DataResult>({
url: '/BookingMSKSPOTAPI/SearchShipSailingSchedule',
method: 'post',
data,
})
}
export function SearchShipSailingSchedule(data) {
return request<DataResult>({
url: '/BookingMSKAPI/SearchShipSailingSchedule',
method: 'post',
data,
})
}
export function getContractno(data) {
return request<DataResult>({
url: '/Para/QuerytParaContractNoInfo',
method: 'get',
params: data,
})
}
export function SearchCommodities(data) {
return request<DataResult>({
url: '/BookingMSKAPI/SearchCommodities',
method: 'post',
data,
})
}
export function mskGetGetInfoSpot(data) {
return request<DataResult>({
url: '/BookingMSKSPOTAPI/GetInfo',
method: 'get',
params: data,
})
}
export function mskGetSaveSpot(data) {
return request<DataResult>({
url: '/BookingMSKSPOTAPI/Save',
method: 'post',
data,
})
}
export function SearchLocations(data) {
return request<DataResult>({
url: '/BookingMSKAPI/SearchLocations',
method: 'post',
data,
})
}
export function SendMSKBooking(data) {
return request<DataResult>({
url: '/BookingMSKAPI/SendMSKBooking',
method: 'post',
data,
})
}
export function mskGetSave(data) {
return request<DataResult>({
url: '/BookingMSKAPI/Save',
method: 'post',
data,
})
}
export function mskGetGetInfo(data) {
return request<DataResult>({
url: '/BookingMSKAPI/GetInfo',
method: 'get',
params: data,
})
}
export function GetInitInfoMsk() {
return request<DataResult>({
url: '/BookingMSKSPOTAPI/GetInitInfo',
method: 'get',
})
}
export function SendMSKBookingSpot(data) {
return request<DataResult>({
url: '/BookingMSKSPOTAPI/SendMSKBooking',
method: 'post',
data,
})
}
export function GetInitInfoMskApi() {
return request<DataResult>({
url: '/BookingMSKAPI/GetInitInfo',
method: 'get',
})
}
export function maskCopySPOT(data) {
return request<DataResult>({
url: '/BookingMSKSPOTAPI/BatchCopy',
method: 'post',
data,
})
}
export function SearchCommoditiesSpot(data) {
return request<DataResult>({
url: '/BookingMSKSPOTAPI/SearchCommodities',
method: 'post',
data,
})
}
export function SearchLocationsSpot(data) {
return request<DataResult>({
url: '/BookingMSKSPOTAPI/SearchLocations',
method: 'post',
data,
})
}
export function CheckWarningBatchCopy(data) {
return request<DataResult>({
url: '/BookingMSKAPI/CheckWarningBatchCopy',
method: 'post',
data,
})
}
export function maskCopy(data) {
return request<DataResult>({
url: '/BookingMSKAPI/BatchCopy',
method: 'post',
data,
})
}

@ -1,5 +1,6 @@
<template>
<BasicModal width="1100px" v-bind="$attrs" :use-wrapper="true" title="马士基订舱" @register="registerModal" @ok="handleSave">
<BasicModal width="1100px" v-bind="$attrs" :use-wrapper="true" title="马士基订舱" @register="registerModal"
@ok="handleSave">
<a-spin :spinning="formLoading">
<div class="main">
<div class="title">MSK 订舱</div>
@ -350,59 +351,27 @@
<script lang="ts" setup>
import { ref } from 'vue'
import { BasicModal, useModalInner } from '/@/components/Modal'
import {
getContractno, SearchCommodities, SearchShipSailingSchedule, mskGetGetInfoSpot, mskGetSaveSpot,
SearchLocations, SendMSKBooking, mskGetSave, mskGetGetInfo, GetInitInfoMsk, SendMSKBookingSpot, GetInitInfoMskApi,
CheckWarningBatchCopy, maskCopy, SearchLocationsSpot, SearchShipSailingScheduleSpot, maskCopySPOT, SearchCommoditiesSpot
} from './api'
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
setModalProps({ loading: false })
})
const loading = ref(false)
async function handleSave(exit) {
}
const wrapperCol = { span: 18 }
const labelCol = { span: 6 }
const formLoading = ref(false)
interface contractnoListFace {
contractName: any
contractNo: any,
id: number
}
const contractnoList = ref<contractnoListFace[]>([])
const contractnoList = ref([]) as any
const nodisabled = ref(false)
const mskBookType = ref('')
const form = ref({
isReefer: false,
isShipperOwned: false,
isImportReturned: false,
temperature: 0,
humidity: 0,
ventilation: 0,
noOfProbes: 0,
cargoType: '',
totalCargoWeight: 0,
commodityCodeType: '',
commodityName: '',
importServiceMode: '',
exportServiceMode: '',
mdsfcarrierGeoID: '',
sfcarrierGeoID: '',
priceOwnerContactEmail: '',
priceOwnerContactName: '',
priceOwnerMaerskPartyCode: '',
priceOwnerCompanyName: '',
bookedByCompanyContactEmail: '',
bookedByCompanyContactName: '',
productCode: '',
sender: '',
priceReferenceId: '',
carrierCode: '',
isBookingPartOwnPrice: '',
bookedByMaerskPartyCode: '',
bookedByCompanyName: '',
earliestDepartureDate: '',
isSendNoSchedule: '',
ctns: []
})
import { useMessage } from '../../../hooks/web/useMessage'
const { createMessage } = useMessage()
const form = ref({}) as any
const columns = [
{
title: '箱型',
@ -438,17 +407,7 @@ const rules = {
carrierCode: [{ required: true, message: '请选择服务船公司', trigger: 'blur' }]
}
function handleSelectPrice() {
}
function handleSelectProduct() {
}
function handleChangePrice() {
}
interface portloadListFace {
countryName: any
unRegionName: any
@ -458,13 +417,7 @@ interface portloadListFace {
const portloadList = ref<portloadListFace[]>([])
const fetching = ref(false)
function getSearchLocations() {
}
function handleSelect() {
}
interface portdischargeListFace {
countryName: any
@ -474,67 +427,664 @@ interface portdischargeListFace {
}
const portdischargeList = ref<portdischargeListFace[]>([])
function getSearchLocations1() {
}
const searchForm = ref({}) as any
const shipList = ref([]) as any
const cqLoading = ref(false)
function handleSelect1() {
//
function handleOpenCQ() {
if (!form.value.earliestDepartureDate) {
createMessage.warning('请先选择预计离港日期')
return false
}
if (!form.value.sfcarrierGeoID || !form.value.mdsfcarrierGeoID) {
createMessage.warning('请先选择始发地和目的地')
return false
}
if (form.value.ctns.length === 0) {
createMessage.warning('请先添加一条箱型箱量')
return false
}
if (!form.value.ctns[0].ctnCode || !form.value.ctns[0].ctnSufferWeight || !form.value.ctns[0].ctnNum) {
createMessage.warning('请填写完整箱型箱量')
return false
}
visible.value = true
this.cqLoading = true
const data = {
carrierId: 'MSK',
collectionOriginCityName: form.value.placeOfReceiptCityName,
collectionOriginCountryCode: form.value.placeOfReceiptCountryCode,
deliveryDestinationCityName: form.value.placeOfDeliveryCityName,
deliveryDestinationCountryCode: form.value.placeOfDeliveryCountryCode,
cargoType: form.value.cargoType,
exportServiceMode: form.value.exportServiceMode,
importServiceMode: form.value.importServiceMode,
vesselOperatorCarrierCode: form.value.carrierCode,
startDate: form.value.earliestDepartureDate,
carrierCollectionOriginGeoID: form.value.carrierCollectionOriginGeoID,
carrierDeliveryDestinationGeoID: form.value.carrierDeliveryDestinationGeoID,
}
collectionOriginUNLocationCode: form.value.userPlaceOfReceiptUnLocCode,
collectionOriginUNRegionName: form.value.userPlaceOfReceiptRegionName,
collectionOriginCountryName: form.value.userPlaceOfReceiptCountryName,
function handleOpenCQ() {
deliveryDestinationUNLocationCode: form.value.userPlaceOfDeliveryUnLocCode,
deliveryDestinationUNRegionName: form.value.userPlaceOfDeliveryRegionName,
deliveryDestinationCountryName: form.value.userPlaceOfDeliveryCountryName,
...searchForm.value
}
data.isoEquipmentCode = form.value.ctns[0].ctnCode
data.ISOEquipmentNum = form.value.ctns[0].ctnNum
data.stuffingWeight = form.value.ctns[0].ctnSufferWeight
if (mskBookType.value === 'spot') {
SearchShipSailingScheduleSpot(data).then(res => {
if (res.success) {
shipList.value = res.data
} else {
createMessage.error(res.message)
shipList.value = []
}
cqLoading.value = false
})
}
if (mskBookType.value === 'api') {
SearchShipSailingSchedule(data).then(res => {
if (res.success) {
shipList.value = res.data
} else {
createMessage.error(res.message)
shipList.value = []
}
cqLoading.value = false
})
}
}
interface shipDataFace {
totalAmountShow: any
totalCurrency: any
deliveryCountryName: string
deliveryRegionName: string
deliveryCityName: string
originCountryName: string
originRegionName: string
orignCityName: string
legs: Array<any>
carrierDepartureVoyageNumber: any
vesselName: string
days: any
eta: string
etd: string
}
const shipData = ref<shipDataFace[]>([])
function handleOpenSP() {
const shipData = ref([]) as any
}
const disabled = ref(false)
function handleChagneType() {
}
function handleCtnChange(row) {
function handleCtnChange(row) {
ctnallList.value.forEach(item => {
if (item.code === row.ctnCode) {
row.ctnName = item.name
}
})
}
function handleAdd() {
}
interface ctnallListFace {
code: any
name: any
}
const ctnallList = ref<ctnallListFace[]>([])
function filterOption() {
const mskSpotInfo = ref({})
const mskApiInfo = ref({})
//
function getinitInfoMsk() {
GetInitInfoMsk().then(res => {
mskSpotInfo.value = res.data
})
GetInitInfoMskApi().then(res => {
mskApiInfo.value = res.data
})
}
const mskType = ref('')
const mskNumber = ref('')
const mskCopyId = ref('')
const maskTitle = ref('')
const showFlag = ref(false)
import moment from 'moment'
//
function init(id, type, number, copyId) {
mskType.value = type || 'add'
mskNumber.value = number
mskCopyId.value = copyId
maskTitle.value = '马士基合约订舱'
getContractnoList()
mskBookType.value = 'api'
shipData.value = []
if (!id) {
form.value = {
ctns: [
{ ctnSufferWeight: 15000, ctnNum: 1, ctnCode: '22G1', ctnName: '20GP' },
{ ctnSufferWeight: 15000, ctnNum: 1, ctnCode: '45G11', ctnName: '40HC' }
],
isReefer: false,
productCode: 'MaerskContract',
carrierCode: 'MAEU',
isBookingPartOwnPrice: true,
importServiceMode: 'CY',
exportServiceMode: 'CY',
earliestDepartureDate: moment().format('YYYY-MM-DD'),
cargoType: 'DRY',
sender: 'BOOKAPI',
commodityCodeType: 'MaerskCode'
}
form.value = { ...form.value, ...this.mskApiInfo }
form.value.isReefer = false
} else {
formLoading.value = true
mskGetGetInfo({ id: id }).then(res => {
if (res.success) {
if (!res.data.ctns) {
res.data.ctns = []
}
form.value = res.data
form.value.priceReferenceId = form.value.priceReferenceId + ''
form.value.sfcarrierGeoID = form.value.placeOfReceiptCityName
form.value.mdsfcarrierGeoID = form.value.placeOfDeliveryCityName
if (!form.value.selectedShipScheduleShow) {
shipData.value.push({
deliveryCityName: form.value.placeOfDeliveryCityName,
orignCityName: form.value.placeOfReceiptCityName,
carrierDepartureVoyageNumber: form.value.exportVoyageNumber,
vesselName: form.value.vesselName,
days: form.value.estSailingDays,
atd: form.value.destinationArrivalDateTimeLocal,
etd: form.value.originDepartureDateTimeLocal
})
} else {
shipData.value.push(form.value.selectedShipScheduleShow)
}
if (form.value.isReefer) {
disabled.value = false
} else {
disabled.value = true
}
} else {
createMessage.error(res.message)
}
formLoading.value = false
})
}
showFlag.value = true
}
//spot
function spotInit(id, type, number, copyId) {
mskType.value = type || 'add'
mskNumber.value = number
maskTitle.value = '马士基SPOT订舱'
mskCopyId.value = copyId
mskBookType.value = 'spot'
getContractnoList()
shipData.value = []
if (!id) {
form.value = {
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'
}
form.value.isReefer = false
form.value = { ...form.value, ...mskSpotInfo.value }
} else {
formLoading.value = true
mskGetGetInfoSpot({ id: id }).then(res => {
if (res.success) {
if (!res.data.ctns) {
res.data.ctns = []
}
form.value = res.data
form.value.priceReferenceId = null
form.value.sfcarrierGeoID = form.value.placeOfReceiptCityName
form.value.mdsfcarrierGeoID = form.value.placeOfDeliveryCityName
if (!form.value.selectedShipScheduleShow) {
shipData.value.push({
deliveryCityName: form.value.placeOfDeliveryCityName,
orignCityName: form.value.placeOfReceiptCityName,
carrierDepartureVoyageNumber: form.value.exportVoyageNumber,
vesselName: form.value.vesselName,
days: form.value.estSailingDays,
atd: form.value.destinationArrivalDateTimeLocal,
etd: form.value.originDepartureDateTimeLocal,
shipRateTotalCurrency: form.value.shipRateTotalCurrency,
shipRateTotalAmount: form.value.shipRateTotalAmount
})
} else {
shipData.value.push(form.value.selectedShipScheduleShow)
}
if (form.value.isReefer) {
disabled.value = false
} else {
disabled.value = true
}
} else {
createMessage.error(res.message)
}
formLoading.value = false
})
}
showFlag.value = true
}
function handleChangePrice(val) {
if (val) {
form.value.priceOwnerContactEmail = form.value.bookedByCompanyContactEmail
form.value.priceOwnerContactName = form.value.bookedByCompanyContactName
form.value.priceOwnerMaerskPartyCode = form.value.bookedByMaerskPartyCode
form.value.priceOwnerCompanyName = form.value.bookedByCompanyName
} else {
form.value.priceOwnerContactEmail = ''
form.value.priceOwnerContactName = ''
form.value.priceOwnerMaerskPartyCode = ''
form.value.priceOwnerCompanyName = ''
}
}
function handleSelectPrice(val) {
contractnoList.value.forEach(item => {
if (item.id === val) {
form.value.priceReference = item.contractNo
form.value.priceReferenceName = item.contractName
form.value.priceOwnerContactEmail = item.contractLinkEmail
form.value.priceOwnerContactName = item.contractLinkName
form.value.priceOwnerMaerskPartyCode = item.contractPartyCode
form.value.priceOwnerCompanyName = item.contractPartyName
form.value.isBookingPartOwnPrice = item.isOurOwnPrice
}
})
}
function handleSelectPrice1(val) {
contractnoList.value.forEach(item => {
if (item.id === val) {
form.value.priceOwnerContactEmail = item.contractLinkEmail
form.value.priceOwnerContactName = item.contractLinkName
form.value.priceOwnerMaerskPartyCode = item.contractPartyCode
form.value.priceOwnerCompanyName = item.contractPartyName
form.value.priceOwnerReference = item.contractNo
form.value.priceOwnerReferenceName = item.contractName
}
})
}
const visible = ref(false)
//
function handleSelectCQ(item) {
shipData.value = []
form.value.originDepartureDateTimeLocal = item.etd
form.value.isoEquipmentCode = searchForm.value.isoEquipmentCode
form.value.destinationArrivalDateTimeLocal = item.eta
form.value.placeOfReceiptUnLocCode = item.orignUNLocationCode
form.value.placeOfDeliveryUnLocCode = item.deliveryUNLocationCode
form.value.placeOfReceiptCountryCode = item.orignCountryCode
form.value.placeOfDeliveryCountryCode = item.deliveryCountryCode
form.value.vesselName = item.vesselName
form.value.carrierVesselCode = item.carrierVesselCode
form.value.exportVoyageNumber = item.carrierDepartureVoyageNumber
form.value.estSailingDays = item.days
form.value.transportMode = item.transportMode
form.value.carrierProductId = item.carrierProductId
form.value.originCountryName = item.originCountryName
form.value.originRegionName = item.originRegionName
form.value.deliveryRegionName = item.deliveryRegionName
form.value.deliveryCountryName = item.deliveryCountryName
form.value.pId = item.pId
form.value.mD5 = item.mD5
if (mskBookType.value === 'spot') {
form.value.priceID = item.priceID
form.value.shipRateTotalAmount = item.totalAmountShow
form.value.shipRateTotalCurrency = item.totalCurrency
}
shipData.value.push(item)
visible.value = false
}
const emit = defineEmits(['handleSuccess'])
function handleSubimt() {
this.$refs.form.validate(valid => {
if (valid) {
form.value.carrierId = 'MSK'
formLoading.value = true
if (mskType.value === 'add') {
if (mskBookType.value === 'spot') {
form.value.priceReference = form.value.priceID
SendMSKBookingSpot(form.value).then(res => {
if (res.success) {
showFlag.value = false
createMessage.success('发送成功')
emit('handleSuccess')
} else {
createMessage.error(res.message)
}
formLoading.value = false
})
}
if (mskBookType.value === 'api') {
SendMSKBooking(form.value).then(res => {
if (res.success) {
showFlag.value = false
createMessage.success('发送成功')
this.$emit('handleSuccess')
} else {
createMessage.error(res.message)
}
formLoading.value = false
})
}
}
} else {
console.log('error submit!!');
return false;
}
});
}
function handleSave() {
form.value.carrierId = 'MSK'
if (!form.value.isBookingPartOwnPrice) {
if (!form.value.priceOwnerReferenceId) {
createMessage.warning('请选择持约方合同')
return false
}
}
formLoading.value = true
if (mskType.value === 'add') {
if (mskBookType.value === 'spot') {
form.value.priceReference = form.value.priceID
mskGetSaveSpot(form.value).then(res => {
if (res.success) {
showFlag.value = false
this.$emit('handleSuccess')
} else {
createMessage.error(res.message)
}
formLoading.value = false
})
}
if (mskBookType.value === 'api') {
mskGetSave(form.value).then(res => {
if (res.success) {
showFlag.value = false
this.$emit('handleSuccess')
} else {
createMessage.error(res.message)
}
formLoading.value = false
})
}
} else {
const data = {
originalId: this.mskCopyId,
opType: 'copy_edit',
copyNum: this.mskNumber,
bookingDto: form.value
}
delete data.bookingDto.id
CheckWarningBatchCopy(data).then(res => {
formLoading.value = false
if (res.success) {
this.handleCopyMore()
} else {
//
}
})
}
}
function handleCopyMore() {
const data = {
originalId: this.mskCopyId,
opType: 'copy_edit',
copyNum: this.mskNumber,
bookingDto: form.value
}
delete data.bookingDto.id
formLoading.value = true
if (mskBookType.value === 'api') {
maskCopy(data).then(res => {
if (res.success) {
createMessage.success('复制成功')
showFlag.value = false
this.$emit('handleSuccessCopy')
} else {
createMessage.error(res.message)
}
formLoading.value = false
})
}
if (mskBookType.value === 'spot') {
maskCopySPOT(data).then(res => {
if (res.success) {
createMessage.success('复制成功')
showFlag.value = false
this.$emit('handleSuccessCopy')
} else {
createMessage.error(res.message)
}
formLoading.value = false
})
}
}
function handleSelect(val) {
this.portloadList.forEach(item => {
if (item.carrierGeoID === val) {
form.value.placeOfReceiptCityName = item.cityName
form.value.carrierCollectionOriginGeoID = item.carrierGeoID
// form.value.placeOfReceiptCountryCode = item.countryCode
form.value.userPlaceOfReceiptUnLocCode = item.unLocationCode
form.value.userPlaceOfReceiptCityName = item.cityName
form.value.userPlaceOfReceiptCountryCode = item.countryCode
form.value.userPlaceOfReceiptCountryName = item.countryName
form.value.userPlaceOfReceiptRegionName = item.unRegionName
}
})
}
function handleSelect1(val) {
this.portdischargeList.forEach(item => {
if (item.carrierGeoID === val) {
form.value.placeOfDeliveryCityName = item.cityName
// form.value.placeOfDeliveryCountryCode = item.countryCode
form.value.carrierDeliveryDestinationGeoID = item.carrierGeoID
form.value.userPlaceOfDeliveryUnLocCode = item.unLocationCode
form.value.userPlaceOfDeliveryCityName = item.cityName
form.value.userPlaceOfDeliveryCountryCode = item.countryCode
form.value.userPlaceOfDeliveryCountryName = item.countryName
form.value.userPlaceOfDeliveryRegionName = item.unRegionName
}
})
}
function getSearchLocations(val) {
if (val.length >= 3) {
this.fetching = true
const data = {
cityName: val,
carrierId: 'MSK',
carrierCode: form.value.carrierCode
}
if (mskBookType.value === 'api') {
SearchLocations(data).then(res => {
if (res.success) {
this.portloadList = res.data
} else {
createMessage.error(res.message)
}
this.fetching = false
})
}
if (mskBookType.value === 'spot') {
SearchLocationsSpot(data).then(res => {
if (res.success) {
this.portloadList = res.data
} else {
createMessage.error(res.message)
}
this.fetching = false
})
}
}
}
function getSearchLocations1(val) {
if (val.length >= 3) {
this.fetching = true
const data = {
cityName: val,
carrierId: 'MSK',
carrierCode: form.value.carrierCode
}
if (mskBookType.value === 'api') {
SearchLocations(data).then(res => {
if (res.success) {
this.portdischargeList = res.data
} else {
createMessage.error(res.message)
}
this.fetching = false
})
}
if (mskBookType.value === 'spot') {
SearchLocationsSpot(data).then(res => {
if (res.success) {
this.portdischargeList = res.data
} else {
createMessage.error(res.message)
}
this.fetching = false
})
}
}
}
function handleSelectProduct() {
if (form.value.productCode === 'MaerskContract') {
this.nodisabled = false
} else {
this.nodisabled = true
}
}
function handleChagneType() {
if (form.value.isReefer) {
disabled.value = false
} else {
disabled.value = true
}
}
function handleSelectGoods(item) {
this.goodsFlag = false
this.$set(form.value, 'commodityCode', item.commodityCode)
this.$set(form.value, 'commodityName', item.commodityName)
this.$refs.form.validateField('commodityName');
}
function handleDeleteCtn(index) {
form.value.ctns.splice(index, 1)
}
function handleAdd() {
const data = {
ctnCode: '',
ctnNum: 1,
ctnSufferWeight: 0
}
form.value.ctns.push(data)
}
function filterOption(input, option) {
return (
option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
);
}
function handleClick(val, index) {
this.goodsList[index].goodsType = val
}
function handleOpenSP() {
this.goodsFlag = true
}
//
function getGoodsList() {
const data = {
carrierId: 'MSK',
commodityName: this.goodsName
}
this.loading = true
if (mskBookType.value === 'api') {
SearchCommodities(data).then(res => {
if (res.success) {
if (form.value.cargoType) {
const arr = [] as any
res.data.forEach(item => {
if (item.cargoTypes.includes(form.value.cargoType)) {
arr.push(item)
}
})
this.goodsList = arr
} else {
this.goodsList = res.data
}
} else {
createMessage.error(res.message)
}
this.loading = false
})
}
if (mskBookType.value === 'spot') {
SearchCommoditiesSpot(data).then(res => {
if (res.success) {
if (form.value.cargoType) {
const arr = [] as any
res.data.forEach(item => {
if (item.cargoTypes.includes(form.value.cargoType)) {
arr.push(item)
}
})
this.goodsList = arr
} else {
this.goodsList = res.data
}
} else {
createMessage.error(res.message)
}
this.loading = false
})
}
}
function getAutoViewRes({ type, res }) {
if (type === 'contractno') {
form.value.contractno = res.contractNo || ''
}
}
function getContractnoList() {
getContractno({ carrier: 'MSK' }).then(res => {
contractnoList.value = res.data
})
}
</script>
<style lang="less" scoped>
/deep/ .ant-form-item {
margin-bottom: 0px !important;
}
/deep/ .ant-form-item-label > label{
/deep/ .ant-form-item-label>label {
height: 25px !important;
}

@ -57,9 +57,9 @@
<cabinModal @register="registerModal" ></cabinModal>
</div>
</template>
<script lang="ts" setup name="海运出口">
<script lang="ts" setup >
import { BasicTable, useTable, TableAction } from '/@/components/Table'
import { PageDataByBooking } from '../seaexport/api/BookingLedger'
import { PageDataByBooking } from '../../operation/seaexport/api/BookingLedger'
import { columns, searchFormSchema, FeeStatus } from './columns'
import { BulbFilled, CheckCircleFilled } from '@ant-design/icons-vue';
import cabinModal from './detail.vue'
Loading…
Cancel
Save