海运出口 新增部分功能

szh-new
张同海 7 months ago
parent 2caaa8a615
commit 408d0b7deb

@ -1,3 +1,11 @@
###
# @Author: 张同海 14166000+zhangtonghai@user.noreply.gitee.com
# @Date: 2024-04-17 10:30:29
# @LastEditors: 张同海 14166000+zhangtonghai@user.noreply.gitee.com
# @LastEditTime: 2024-04-18 16:02:47
# @FilePath: \ds-wms-client-web\.env.development
# @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
###
# Whether to open mock
VITE_USE_MOCK = true

@ -1,4 +1,37 @@
import { request } from '/@/utils/request'
// 编辑 (Auth)
export function BookingOrderSave(parameter) {
return request({
url: '/opApi/SeaExport/EditSeaExport',
method: 'post',
data: parameter,
})
}
// 列表 (Auth)
export function PageDataByBooking(parameter) {
return request({
url: '/opApi/SeaExport/GetSeaExportList',
method: 'post',
data: parameter,
})
}
// 获取单证员列表 (Auth)
export function GetVouchingClerkList(parameter) {
return request({
url: '/mainApi/ClientCommon/GetVouchingClerkList',
method: 'get',
params: parameter,
})
}
// 获取场站下拉列表 (Auth)
export function GetYardClientList(parameter) {
return request({
url: '/mainApi/ClientCommon/GetYardClientList',
method: 'get',
params: parameter,
})
}
/**
* 分页查询订舱主表
* @params PageSize
@ -11,13 +44,7 @@ export function BookingOrderPage(parameter) {
params: parameter,
})
}
export function PageDataByBooking(parameter) {
return request({
url: '/mainApi/SeaExport/GetSeaExportList',
method: 'post',
data: parameter,
})
}
// 更新用户高级查询条件设置 (Auth)
export function UpdateUserQuerySet(parameter) {
return request({
@ -42,23 +69,6 @@ export function GetCarrierlist(parameter) {
params: parameter,
})
}
// 编辑 (Auth)
export function BookingOrderSave(parameter) {
return request({
url: '/mainApi/SeaExport/EditSeaExport',
method: 'post',
data: parameter,
})
}
// 获取单证员列表 (Auth)
export function GetVouchingClerkList(parameter) {
return request({
url: '/mainApi/ClientCommon/GetVouchingClerkList',
method: 'get',
params: parameter,
})
}
/**
* 获取订舱明细

@ -70,7 +70,10 @@
voyno: any
etd: any
}
import { GetVouchingClerkList } from '/@/views/operation/seaexport/api/BookingLedger'
import {
GetVouchingClerkList,
GetYardClientList,
} from '/@/views/operation/seaexport/api/BookingLedger'
import { ref } from 'vue'
import { useMessage } from '/@/hooks/web/useMessage'
const { notification } = useMessage()
@ -103,16 +106,22 @@
}
}
function getSelectFirst(e, canClick = true) {
console.log(e, canClick, RefselectView.value, 'getSelectFirst')
// if (canClick) {
// RefselectView.value.$refs.vcSelect.$refs.arrow.click()
// } else {
// RefselectView.value.focus()
// }
RefselectView.value.focus()
console.log(open.value)
open.value = true
console.log(open.value)
if (
[
'doc',
'blType',
// ---------------
'cargoid',
'nobill',
@ -132,6 +141,15 @@
'shippercountry',
].includes(props.type)
) {
console.log(props.type)
if (props.type === 'blType') {
selectList.value = emnuData(props.type)
inLoading.value = false
console.log(selectList.value)
return false
}
// if (props.type === 'yard') {
// if (this.yardFilter.length === 0) {
// selectList.value = this.yardList
@ -238,157 +256,174 @@
}
}
function emnuData(type) {
switch (
type
// case 'cargoid':
// return [
// {
// name: 'S ',
// code: 'S',
// },
// {
// name: 'R ',
// code: 'R',
// },
// {
// name: 'D ',
// code: 'D',
// },
// {
// name: 'O ',
// code: 'O',
// },
// ]
// case 'nobill':
// return [
// {
// name: 'ONE',
// code: 'ONE',
// },
// {
// name: 'TWO',
// code: 'TWO',
// },
// {
// name: 'THREE',
// code: 'THREE',
// },
// {
// name: 'FOUR',
// code: 'FOUR',
// },
// {
// name: 'FIVE',
// code: 'FIVE',
// },
// {
// name: 'SIX',
// code: 'SIX',
// },
// {
// name: 'SEVEN',
// code: 'SEVEN',
// },
// {
// name: 'EIGHT',
// code: 'EIGHT',
// },
// {
// name: 'NINE',
// code: 'NINE',
// },
// {
// name: 'TEN',
// code: 'TEN',
// },
// ]
// case 'copynobill':
// return [
// {
// name: 'ONE',
// code: 'ONE',
// },
// {
// name: 'TWO',
// code: 'TWO',
// },
// {
// name: 'THREE',
// code: 'THREE',
// },
// {
// name: 'FOUR',
// code: 'FOUR',
// },
// {
// name: 'FIVE',
// code: 'FIVE',
// },
// {
// name: 'SIX',
// code: 'SIX',
// },
// {
// name: 'SEVEN',
// code: 'SEVEN',
// },
// {
// name: 'EIGHT',
// code: 'EIGHT',
// },
// {
// name: 'NINE',
// code: 'NINE',
// },
// {
// name: 'TEN',
// code: 'TEN',
// },
// ]
// case 'masterBolIndicator':
// return [
// { ID: '1', NAME: 'Carrier filing HBL | HBL' },
// { ID: '2', NAME: 'Self filing HBL | ' },
// { ID: '3', NAME: 'Not Applicable/Straight bl | HBL' },
// ]
// case 'salerCode':
// return [
// { ID: 'CN087', NAME: 'CN087 | GRACE SUN' },
// { ID: 'CN096', NAME: 'CN096 | LEON LIANG' },
// { ID: 'CN097', NAME: 'CN097 | CHARLES GAO' },
// { ID: 'CN098', NAME: 'CN098 | TERESA LIU SHAN' },
// { ID: 'CN106', NAME: 'CN106 | HOKI YU' },
// { ID: 'CN107', NAME: 'CN107 | WILLIAM YANG JING YU' },
// { ID: 'CN099', NAME: 'CN099 | HELEN ZHANG' },
// { ID: 'CN100', NAME: 'CN100 | LEOREN' },
// ]
// case 'yard':
// return this.yardList
// case 'kindpkgs':
// return this.packageList
// case 'carrierid':
// return this.carrierList
// case 'carrier':
// return this.carrierList
// case 'issuetype':
// return this.issuetypeList
// case 'blfrt':
// return this.blfrtList
// case 'lineName':
// return this.lineList
// case 'shippingMethod':
// const arr = this.$options.filters['dictData']('ShippingMethod') || []
// return arr
// case 'sourceName':
// return this.sourceList
// case 'notifypartycountry':
// return this.countryList
// case 'consigneecountry':
// return this.countryList
// case 'shippercountry':
// return this.countryList
) {
switch (type) {
case 'blType':
return [
{
name: '整箱',
code: '整箱',
},
{
name: '拼箱单票',
code: '拼箱单票',
},
{
name: '拼箱主票',
code: '拼箱主票',
},
{
name: '拼箱分票',
code: '拼箱分票',
},
]
}
// case 'cargoid':
// return [
// {
// name: 'S ',
// code: 'S',
// },
// {
// name: 'R ',
// code: 'R',
// },
// {
// name: 'D ',
// code: 'D',
// },
// {
// name: 'O ',
// code: 'O',
// },
// ]
// case 'nobill':
// return [
// {
// name: 'ONE',
// code: 'ONE',
// },
// {
// name: 'TWO',
// code: 'TWO',
// },
// {
// name: 'THREE',
// code: 'THREE',
// },
// {
// name: 'FOUR',
// code: 'FOUR',
// },
// {
// name: 'FIVE',
// code: 'FIVE',
// },
// {
// name: 'SIX',
// code: 'SIX',
// },
// {
// name: 'SEVEN',
// code: 'SEVEN',
// },
// {
// name: 'EIGHT',
// code: 'EIGHT',
// },
// {
// name: 'NINE',
// code: 'NINE',
// },
// {
// name: 'TEN',
// code: 'TEN',
// },
// ]
// case 'copynobill':
// return [
// {
// name: 'ONE',
// code: 'ONE',
// },
// {
// name: 'TWO',
// code: 'TWO',
// },
// {
// name: 'THREE',
// code: 'THREE',
// },
// {
// name: 'FOUR',
// code: 'FOUR',
// },
// {
// name: 'FIVE',
// code: 'FIVE',
// },
// {
// name: 'SIX',
// code: 'SIX',
// },
// {
// name: 'SEVEN',
// code: 'SEVEN',
// },
// {
// name: 'EIGHT',
// code: 'EIGHT',
// },
// {
// name: 'NINE',
// code: 'NINE',
// },
// {
// name: 'TEN',
// code: 'TEN',
// },
// ]
// case 'masterBolIndicator':
// return [
// { ID: '1', NAME: 'Carrier filing HBL | HBL' },
// { ID: '2', NAME: 'Self filing HBL | ' },
// { ID: '3', NAME: 'Not Applicable/Straight bl | HBL' },
// ]
// case 'salerCode':
// return [
// { ID: 'CN087', NAME: 'CN087 | GRACE SUN' },
// { ID: 'CN096', NAME: 'CN096 | LEON LIANG' },
// { ID: 'CN097', NAME: 'CN097 | CHARLES GAO' },
// { ID: 'CN098', NAME: 'CN098 | TERESA LIU SHAN' },
// { ID: 'CN106', NAME: 'CN106 | HOKI YU' },
// { ID: 'CN107', NAME: 'CN107 | WILLIAM YANG JING YU' },
// { ID: 'CN099', NAME: 'CN099 | HELEN ZHANG' },
// { ID: 'CN100', NAME: 'CN100 | LEOREN' },
// ]
// case 'yard':
// return this.yardList
// case 'kindpkgs':
// return this.packageList
// case 'carrierid':
// return this.carrierList
// case 'carrier':
// return this.carrierList
// case 'issuetype':
// return this.issuetypeList
// case 'blfrt':
// return this.blfrtList
// case 'lineName':
// return this.lineList
// case 'shippingMethod':
// const arr = this.$options.filters['dictData']('ShippingMethod') || []
// return arr
// case 'sourceName':
// return this.sourceList
// case 'notifypartycountry':
// return this.countryList
// case 'consigneecountry':
// return this.countryList
// case 'shippercountry':
// return this.countryList
}
function getSelectBlur(e) {
open.value = false
@ -483,9 +518,13 @@
switch (type) {
case 'GetVouchingClerkList':
return GetVouchingClerkList
case 'GetYardClientList':
return GetYardClientList
}
}
function handleChange(op) {
console.log(op)
let Dop = op[0]
inEdit.value = true
setTimeout(() => {

@ -224,173 +224,274 @@
import mastetMore from './modules/mastetMore.vue'
import rightContent from './modules/rightContent.vue'
import sedOrder from './modules/sedOrder.vue'
// const initDetail = {
// id: 0,
// parentId: 0,
// customername: '',
// customerid: '',
// carrier: 'CMA',
// carrierid: 'CMA',
// forwarder: '',
// forwarderid: '',
// pono: '',
// mblno: '',
// hblno: '',
// epCode: '',
// custno: '',
// contractno: '',
// vessel: '',
// voyno: '',
// voynoinner: '',
// lanecode: '',
// etd: '',
// atd: '',
// lanename: '',
// shipagency: '',
// shipagencyid: '',
// lineName: '',
// sale: '',
// saleid: '',
// op: '',
// opid: '',
// doc: '',
// docid: '',
// custservice: '',
// custserviceid: '',
// route: '',
// routeid: '',
// dzRemark: '',
// czRemark: '',
// // shipper: '',
// shipperContent: '',
// notifypartY2: '',
// feeself: false,
// // consignee: '',
// consigneeContent: '',
// // notifyparty: '',
// notifyPartyContent: '',
// yard: '',
// yardid: '',
// customser: '',
// customserid: '',
// trucker: '',
// truckerid: '',
// agentname: '',
// agentId: '',
// // agentid: '',
// warehouse: '',
// warehouseID: '',
// eta: '',
// // closingdate: '',
// closingDate: '',
// closedocdate: '',
// closevgmdate: '',
// portload: '',
// portloadid: '',
// transport: '',
// transportid: '',
// portdischarge: '',
// portdischargeid: '',
// destination: '',
// destinationid: '',
// placedelivery: '',
// placedeliveryid: '',
// placereceipt: '',
// placereceiptid: '',
// pkgs: 0,
// kindpkgs: '',
// kgs: 0,
// cbm: 0,
// yardremark: '',
// yardcontract: '',
// yardcontracttel: '',
// yardcontractemail: '',
// pkgstotal: '',
// kgstotal: '',
// cbmtotal: '',
// marks: '',
// goodsname: '',
// goodscode: '',
// cargoid: '',
// hscode: '',
// description: '',
// totalno: '',
// issuetype: '',
// issuedate: '',
// issueplace: '',
// issueplaceid: '',
// nobill: '',
// copynobill: '',
// prepardat: '',
// prepardatid: '',
// payableat: '',
// payableatid: '',
// blfrt: '',
// thirdpayaddr: '',
// service: 'CY-CY',
// reeferf: '',
// tempset: '',
// tempid: '',
// tempmin: '',
// tempmax: '',
// humidity: '',
// dclass: '',
// dunno: '',
// dpage: '',
// dlabel: '',
// linkman: '',
// soremark: '',
// siremark: '',
// ctnInputs: [],
// weituo: '',
// freightpayer: '',
// scaccode: '',
// itncode: '',
// iscontainersoc: 0,
// tempFiles: [],
// bookingEDIExt: {
// weiTuoFang: '',
// ediAttn: '',
// ediAttnTel: '',
// ediAttnMail: '',
// sendCode: '',
// receiveCode: '',
// amsConsignee: '',
// amsNotifyParty: '',
// opEName: '',
// opTel: '',
// opEmail: '',
// goodsName: '',
// orderRemark: '',
// kingTareweight: '',
// exRemark1: '',
// exRemark2: '',
// exRemark3: '',
// exRemark4: '',
// consigneeEdiCode: '',
// shipperEdiCode: '',
// notifyCdoe: '',
// salerCode: '',
// salerCodeName: '',
// emanifestHbl: '',
// masterBolIndicator: '',
// masterBolIndicatorName: '',
// s0CC0C: '',
// ckhi: '',
// cncm: '',
// wncm: '',
// acihbl: '',
// },
// hbList: [],
// remark: [],
// file: [],
// log: [],
// item: [],
// statuslog: [],
// extendState: {
// isLockBooking: false,
// },
// autoYardImport: {},
// }
const initDetail = {
id: 0,
parentId: 0,
customername: '',
customerid: '',
carrier: 'CMA',
carrierid: 'CMA',
forwarder: '',
forwarderid: '',
pono: '',
mblno: '',
cntrNo: '',
// ----------
doc: '',
bsno: '1',
hblno: '',
epCode: '',
custno: '',
contractno: '',
vessel: '',
mblno: '',
voyno: '',
voynoinner: '',
lanecode: '',
etd: '',
atd: '',
lanename: '',
shipagency: '',
shipagencyid: '',
lineName: '',
sale: '',
saleid: '',
op: '',
opid: '',
doc: '',
docid: '',
custservice: '',
custserviceid: '',
route: '',
routeid: '',
dzRemark: '',
czRemark: '',
// shipper: '',
blType: '整箱',
irCode: '',
remark: '',
applyNo: '',
stlName: '',
transNo: '',
bookingNo: '',
invoiceNo: '',
voucherNo: '',
contractNo: '',
customerNo: '',
sourceCode: '',
accountDate: '1',
bookingType: '',
grossWeight: '',
insuranceer: '',
insuranceNo: '',
measurement: '',
operatorFax: '',
operatorTel: '',
customername: '',
operatorCode: '',
temperatureUnit: '',
financialStaffEmail: '',
financialStaffTel: '',
financialStaffFax: '',
serviceContractNo: '',
noPkgs: '',
operatorEmail: '',
yard: '',
shipperContent: '',
notifypartY2: '',
feeself: false,
// consignee: '',
consigneeContent: '',
// notifyparty: '',
notifyPartyContent: '',
yard: '',
yardid: '',
customser: '',
customserid: '',
trucker: '',
truckerid: '',
agentname: '',
agentId: '',
// agentid: '',
warehouse: '',
warehouseID: '',
eta: '',
// closingdate: '',
closingDate: '',
closedocdate: '',
closevgmdate: '',
portload: '',
portloadid: '',
description: '',
mblFrt: '',
noBill: '',
vessel: '',
service: '',
yardTel: '',
loadPort: '',
yardATTN: '',
IssueType: '',
orderType: '',
payableAt: '',
prepareAt: '',
tradeTerm: '',
transport: '',
transportid: '',
portdischarge: '',
portdischargeid: '',
wareHouse: '',
copyNoBill: '',
issuePlace: '',
destination: '',
destinationid: '',
placedelivery: '',
placedeliveryid: '',
placereceipt: '',
placereceiptid: '',
pkgs: 0,
kindpkgs: '',
kgs: 0,
cbm: 0,
yardremark: '',
yardcontract: '',
yardcontracttel: '',
yardcontractemail: '',
pkgstotal: '',
kgstotal: '',
cbmtotal: '',
packingType: '',
agentContent: '',
receiptPlace: '',
deliveryPlace: '',
dischargePort: '',
financialStaffCode: '',
marks: '',
goodsname: '',
goodscode: '',
cargoid: '',
hscode: '',
description: '',
totalno: '',
issuetype: '',
issuedate: '',
issueplace: '',
issueplaceid: '',
nobill: '',
copynobill: '',
prepardat: '',
prepardatid: '',
payableat: '',
payableatid: '',
blfrt: '',
thirdpayaddr: '',
service: 'CY-CY',
reeferf: '',
tempset: '',
tempid: '',
tempmin: '',
tempmax: '',
hsCode: '',
cargoId: '',
linkMan: '',
totalNo: '',
dangerNo: '',
humidity: '',
dclass: '',
dunno: '',
dpage: '',
dlabel: '',
linkman: '',
soremark: '',
siremark: '',
ctnInputs: [],
weituo: '',
freightpayer: '',
scaccode: '',
itncode: '',
iscontainersoc: 0,
tempFiles: [],
bookingEDIExt: {
weiTuoFang: '',
ediAttn: '',
ediAttnTel: '',
ediAttnMail: '',
sendCode: '',
receiveCode: '',
amsConsignee: '',
amsNotifyParty: '',
opEName: '',
opTel: '',
opEmail: '',
goodsName: '',
orderRemark: '',
kingTareweight: '',
exRemark1: '',
exRemark2: '',
exRemark3: '',
exRemark4: '',
consigneeEdiCode: '',
shipperEdiCode: '',
notifyCdoe: '',
salerCode: '',
salerCodeName: '',
emanifestHbl: '',
masterBolIndicator: '',
masterBolIndicatorName: '',
s0CC0C: '',
ckhi: '',
cncm: '',
wncm: '',
acihbl: '',
},
hbList: [],
remark: [],
file: [],
log: [],
item: [],
statuslog: [],
extendState: {
isLockBooking: false,
},
autoYardImport: {},
cntrTotal: '',
goodsName: '',
dangerPage: '',
dangerClass: '',
dangerLabel: '',
reeferQuantity: '',
temperatureMax: '',
temperatureMin: '',
temperatureSet: '',
// ----------------------------
voyno2N: '',
customNo: '',
kindPkgs: '',
masterNo: '1',
vessel2N: '',
ediRemark: '',
cntrSealNo: '',
enterprise: '',
tranStatus: '',
transRemark: '',
inspectionNo: '',
termDelivery: '',
manifestStatus: '',
insperctService: '',
masterDescription: '',
masterShipperContent: '',
masterConsigneeContent: '',
masterNotifyPartyContent: '',
}
const bookingEDIExtData = {
weiTuoFang: '',
@ -430,8 +531,8 @@
const type = ref(route.query.type || 'CMA')
const isCopy = ref(route.query.isCopy || false)
const Showtabs = ref(false)
// const bookingDetails = ref(initDetail)
const bookingDetails = ref()
const bookingDetails = ref({ ...initDetail })
// const bookingDetails = ref()
const tabBarStyle = ref({
background: '#fff',
padding: '0 20px',
@ -657,7 +758,7 @@
historyData.value[id.value] = hisData
}
if (appStore.gethasbookingDetail) {
bookingDetails.value = {}
bookingDetails.value = { ...initDetail }
}
next()
setTimeout(() => {
@ -768,7 +869,13 @@
const FnOk = () => {
console.log(bookingDetails.value, RefbasicInfo.value.RefbasicFrom.getFieldsValue())
const _data = { ...bookingDetails.value, ...RefbasicInfo.value.RefbasicFrom.getFieldsValue() }
const _data = {
...initDetail,
...bookingDetails.value,
...RefbasicInfo.value.RefbasicFrom.getFieldsValue(),
...RefmailingInfo.value.RefmailingFrom.getFieldsValue(),
...RefcargoInfo.value.RefcargoFrom.getFieldsValue(),
}
// delete _data.hbList
appStore.setinBookingDetailsSave(true)
// if (route.query.isCopy) {
@ -1038,6 +1145,45 @@
// check()
// }
}
//
function changeDetailFun(data) {
const { detail } = data
console.log(data, detail.value, bookingDetails.value, 'changeDetailFun')
// if (ifCompare(bookingDetails.value, detail.value) && !inChildLoading.value) {
// checkSaveFun({ type: 'details', hasChange: true })
// }
bookingDetails.value = detail.value
}
//
// function ifCompare(object1, object2) {
// var o1keys = Object.keys(object1)
// var o2keys = Object.keys(object2)
// if (o2keys.length !== o1keys.length) return false
// for (let i = 0; i <= o1keys.length - 1; i++) {
// const key = o1keys[i]
// if (!o2keys.includes(key)) return false
// if (object2[key] !== object1[key]) return false
// }
// return true
// }
function checkSaveFun(data) {
if (inGoodsSave.value) {
return false
}
const key = route.fullPath
const lastPages = appStore.getneedSavePages
const $data = appStore.getneedSavePages[key] || {}
if (!detailsLoadOver.value) {
data.hasChange = false
}
if (data.type === 'details') {
$data.details = data.hasChange
} else if (data.type === 'hbList') {
$data.hbList = data.hasChange
}
lastPages[key] = $data
appStore.setneedSavePages(lastPages)
}
// ============================================
function getRouterHis() {
inChildLoading.value = true
@ -1345,15 +1491,7 @@
RefrightContent.value.saveServiceBasic(data)
}
}
function changeDetailFun(data) {
console.log(data)
const { detail } = data
if (ifCompare(bookingDetails.value, detail) && !inChildLoading.value) {
checkSaveFun({ type: 'details', hasChange: true })
}
bookingDetails.value = detail
}
function changectnall(arr) {
let str = ''
arr.forEach((item, index) => {
@ -1406,17 +1544,7 @@
function pkgsEnCapitalFun(data) {
bookingDetails.value.totalno = data
}
function ifCompare(object1, object2) {
var o1keys = Object.keys(object1)
var o2keys = Object.keys(object2)
if (o2keys.length !== o1keys.length) return false
for (let i = 0; i <= o1keys.length - 1; i++) {
const key = o1keys[i]
if (!o2keys.includes(key)) return false
if (object2[key] !== object1[key]) return false
}
return true
}
function changeParentTabs(type) {
mainOrderActiveKey.value = type
}
@ -1444,7 +1572,7 @@
}, 100)
}
function init() {
bookingDetails.value = JSON.parse(JSON.stringify(initDetail))
bookingDetails.value = { ...initDetail }
excuteRules.value = []
excuteRulesType.value = ''
Showtabs.value = false
@ -2196,24 +2324,7 @@
console.log(err)
})
}
function checkSaveFun(data) {
if (inGoodsSave.value) {
return false
}
const key = route.fullPath
const lastPages = appStore.getneedSavePages
const $data = appStore.getneedSavePages[key] || {}
if (!detailsLoadOver.value) {
data.hasChange = false
}
if (data.type === 'details') {
$data.details = data.hasChange
} else if (data.type === 'hbList') {
$data.hbList = data.hasChange
}
lastPages[key] = $data
appStore.setneedSavePages(lastPages)
}
function changeHBFun(data) {
const arr = []
data.map((item: any) => {

File diff suppressed because it is too large Load Diff

@ -599,7 +599,30 @@
import { useRoute } from 'vue-router'
const route = useRoute()
const props = defineProps({
details: { type: Object, default: {} },
details: {
type: Object,
default: {
marks: '',
hsCode: '',
cargoId: '',
linkMan: '',
totalNo: '',
dangerNo: '',
humidity: '',
cntrTotal: '',
goodsName: '',
dangerPage: '',
dangerClass: '',
dangerLabel: '',
description: '',
grossWeight: '',
reeferQuantity: '',
temperatureMax: '',
temperatureMin: '',
temperatureSet: '',
kindPkgs: '',
},
},
rules: { type: Object, default: {} },
isLockBooking: { type: Boolean, default: false },
inSave: { type: Boolean, default: false },

@ -863,143 +863,59 @@
</a-form>
</div>
</template>
<script>
<script lang="ts" setup>
import inputView from '../components/inputView.vue'
import selectView from '../components/selectView.vue'
import datePickerView from '../components/datePickerView.vue'
let timer
export default {
components: {
inputView,
selectView,
const props = defineProps({
details: {
type: Object,
default: {},
},
props: {
details: {
type: Object,
default: () => {
return {}
},
},
rules: {
type: Object,
default: () => {
return {}
},
},
inSave: {
type: Boolean,
default: false,
},
isParent: {
type: String,
default: '',
},
rules: {
type: Object,
default: {},
},
data() {
return {
iscontainersoc: '',
StoreSalesRepCode: [
{ ID: 'CN087', NAME: 'CN087 | GRACE SUN' },
{ ID: 'CN096', NAME: 'CN096 | LEON LIANG' },
{ ID: 'CN097', NAME: 'CN097 | CHARLES GAO' },
{ ID: 'CN098', NAME: 'CN098 | TERESA LIU SHAN' },
{ ID: 'CN106', NAME: 'CN106 | HOKI YU' },
{ ID: 'CN107', NAME: 'CN107 | WILLIAM YANG JING YU' },
{ ID: 'CN099', NAME: 'CN099 | HELEN ZHANG' },
{ ID: 'CN100', NAME: 'CN100 | LEOREN' },
],
StoreMasterBOLIndicator: [
{ ID: '1', NAME: 'Carrier filing HBL | 船公司发HBL' },
{ ID: '2', NAME: 'Self filing HBL | 自己发' },
{ ID: '3', NAME: 'Not Applicable/Straight bl | 无HBL' },
],
}
inSave: {
type: Boolean,
default: false,
},
watch: {
details: {
handler(nval, oval) {
if (!this.inSave) {
this.$emit('changeDetail', {
detail: nval,
type: 'ediMore',
})
}
},
deep: true,
},
iscontainersoc(nval, oval) {
this.details.iscontainersoc = nval !== '0'
},
'$route.query': {
immediate: true,
handler(nD, oD) {
if (this.$route.name === 'BookingDetail') {
this.id = this.$route.query.id
}
},
},
},
created() {},
mounted() {
this.iscontainersoc = this.details.iscontainersoc ? '1' : '0'
},
methods: {
debounce(func, wait, ...args) {
if (timer) clearTimeout(timer)
timer = setTimeout(() => {
func.apply(this, args)
}, wait)
},
checkbasic() {
this.$refs.ediFrom.validate((valid) => {
if (valid) {
return true
} else {
return false
}
})
},
inputChange({ type, value }) {
const bookingEDIExtArr = [
'sendCode',
'receiveCode',
'ediAttn',
'ediAttnTel',
'ediAttnMail',
'amsConsignee',
'amsNotifyParty',
'opEName',
'opTel',
'opEmail',
'goodsName',
'orderRemark',
'consigneeEdiCode',
'shipperEdiCode',
'notifyCdoe',
'emanifestHbl',
'acihbl',
'CNPTNo',
'kingTareweight',
'xmcywy',
'emcNameAccount',
]
if (bookingEDIExtArr.includes(type)) {
this.details.bookingEDIExt[type] = value
} else {
this.details[type] = value
}
this.$forceUpdate()
},
getSelectViewRes({ type, res }) {
if (type === 'masterBolIndicator') {
this.details.masterBolIndicator = res.ID || ''
this.details.masterBolIndicatorName = res.NAME || ''
} else if (type === 'salerCode') {
this.details.salerCode = res.ID
this.details.salerCodeName = res.NAME
}
},
isParent: {
type: String,
default: '',
},
})
function inputChange({ type, value }) {
const bookingEDIExtArr = [
'sendCode',
'receiveCode',
'ediAttn',
'ediAttnTel',
'ediAttnMail',
'amsConsignee',
'amsNotifyParty',
'opEName',
'opTel',
'opEmail',
'goodsName',
'orderRemark',
'consigneeEdiCode',
'shipperEdiCode',
'notifyCdoe',
'emanifestHbl',
'acihbl',
'CNPTNo',
'kingTareweight',
'xmcywy',
'emcNameAccount',
]
if (bookingEDIExtArr.includes(type)) {
props.details.bookingEDIExt[type] = value
} else {
props.details[type] = value
}
this.$forceUpdate()
}
</script>
<style lang="less" scoped>

@ -285,11 +285,9 @@
<selectView
type="yard"
:defaultVal="details.yard"
searchApi="GetYardlist"
:searchQuery="{ keyword: '' }"
searchApi="GetYardClientList"
:disabled="BookingLockOrder['yard'] && isLockBooking"
:showLabel="['name', 'showCode']"
:openSearch="false"
@change="getSelectViewRes"
style="flex: 1; margin-top: -4px"
></selectView>
@ -1198,6 +1196,49 @@
></selectView>
</a-form-item>
</a-col>
<a-col :span="6">
<a-form-item
class="from-label"
label="委托方式"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback
name="orderType"
>
<selectView
type="orderType"
:defaultVal="details.orderType"
searchApi="GetPortloadlist"
:searchQuery="{ KeyWord: '' }"
:showLabel="['enName']"
:openSearch="true"
:disabled="BookingLockOrder['orderType'] && isLockBooking"
:isCopy="true"
@change="getSelectViewRes"
></selectView>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item
class="from-label"
label="清关日期"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback
name="tradeTerm"
>
<datePickerView
class="date-picker"
style="min-width: 100px"
:showTime="true"
:disabled="BookingLockOrder['tradeTerm'] && isLockBooking"
:parentVal="details.tradeTerm"
type="tradeTerm"
format="YYYY-MM-DD HH:00"
@dateChange="dateChangeFun"
></datePickerView>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item name="note">
<div
@ -1643,7 +1684,41 @@
import { useRoute } from 'vue-router'
const route = useRoute()
const props = defineProps({
details: { type: Object, default: {} },
details: {
type: Object,
default: {
yard: '',
shipperContent: '',
consigneeContent: '',
notifyPartyContent: '',
description: '',
voyno: '',
mblFrt: '',
noBill: '',
vessel: '',
service: '',
yardTel: '',
loadPort: '',
yardATTN: '',
IssueType: '',
orderType: '',
payableAt: '',
prepareAt: '',
tradeTerm: '',
transport: '',
wareHouse: '',
copyNoBill: '',
issuePlace: '',
destination: '',
packingType: '',
agentContent: '',
receiptPlace: '',
deliveryPlace: '',
dischargePort: '',
financialStaffCode: '',
termDelivery: '',
},
},
rules: { type: Object, default: {} },
isLockBooking: { type: Boolean, default: false },
ishd: { type: Boolean, default: false },

@ -1,8 +1,9 @@
export default {
basicRules: {
bsno: [{ required: true, message: '请输入业务编号', trigger: 'change' }],
businessStatus: [{ required: false, message: '请选择业务状态', trigger: 'change' }],
feeStatus: [{ required: false, message: '请选择费用状态', trigger: 'change' }],
shippingMethod: [{ required: false, message: '请选择装运方式', trigger: 'change' }],
blType: [{ required: true, message: '请选择装运方式', trigger: 'change' }],
mailProjectId: [{ required: false, message: '请输入邮件方案', trigger: 'change' }],
saleOrgId: [{ required: false, message: '销售公司', trigger: 'change' }],
customername: [{ required: false, message: '请选择委托单位', trigger: 'change' }],
@ -15,7 +16,7 @@ export default {
operatorId: [{ required: false, message: '请选择操作员', trigger: 'change' }],
operatorCode: [{ required: false, message: '请选择操作员代码', trigger: 'change' }],
sale: [{ required: false, message: '请选择揽货人', trigger: 'change' }],
doc: [{ required: true, message: '请选择单证', trigger: 'change' }],
doc: [{ required: false, message: '请选择单证', trigger: 'change' }],
customerService: [{ required: false, message: '请选择客服', trigger: 'change' }],
saleDeptId: [{ required: false, message: '请选择所属业务部门', trigger: 'change' }],
invoiceNo: [{ required: false, message: '请输入发票号', trigger: 'change' }],
@ -27,33 +28,35 @@ export default {
insuranceer: [{ required: false, message: '请输入保险人', trigger: 'change' }],
serviceContractNo: [{ required: false, message: '请输入服务合同号', trigger: 'change' }],
applyNo: [{ required: false, message: '请输入申请放箱号', trigger: 'change' }],
etd: [{ required: false, message: '请选择开船日期', trigger: 'change' }],
atd: [{ required: false, message: '请选择ATD', trigger: 'change' }],
vessel: [{ required: false, message: '请输入船名', trigger: 'change' }],
vesselId: [{ required: false, message: '请输入船名id', trigger: 'change' }],
voyno: [{ required: false, message: '请输入航次', trigger: 'change' }],
eta: [{ required: false, message: '请选择预抵日期', trigger: 'change' }],
cntrNo: [{ required: false, message: '请输入集装箱大写', trigger: 'change' }],
remark: [{ required: false, message: '请输入备注', trigger: 'change' }],
transNo: [{ required: false, message: '请输入运单号', trigger: 'change' }],
voucherNo: [{ required: false, message: '请输入凭证号', trigger: 'change' }],
accountDate: [{ required: false, message: '请选择财务日期', trigger: 'change' }],
bookingType: [{ required: false, message: '请输入订舱类型', trigger: 'change' }],
grossWeight: [{ required: false, message: '请输入货物毛重', trigger: 'change' }],
insuranceNo: [{ required: false, message: '请输入保险单号', trigger: 'change' }],
measurement: [{ required: false, message: '请输入货物尺码', trigger: 'change' }],
operatorFax: [{ required: false, message: '请输入操作员传真', trigger: 'change' }],
operatorTel: [{ required: false, message: '请输入操作员电话', trigger: 'change' }],
operatorEmail: [{ required: false, message: '请输入操作员邮箱', trigger: 'change' }],
temperatureUnit: [{ required: false, message: '请输入温度单位', trigger: 'change' }],
financialStaffEmail: [{ required: false, message: '请输入财务邮箱', trigger: 'change' }],
financialStaffTel: [{ required: false, message: '请输入财务电话', trigger: 'change' }],
financialStaffFax: [{ required: false, message: '请输入财务传真', trigger: 'change' }],
noPkgs: { required: false, title: '件数包装', message: '请选择件数包装', trigger: 'change' },
// ------------------------------------------------------------------------------------
bsno: [{ required: false, message: '请输入业务编号', trigger: 'change' }],
billFeeStatus: [{ required: false, message: '请选择单据费用状态', trigger: 'change' }],
billFeeStatusTime: [{ required: false, message: '请选择单据费用状态时间', trigger: 'change' }],
businessDate: [{ required: false, message: '请选择录入日期', trigger: 'change' }],
accountDate: [{ required: false, message: '请选择财务日期', trigger: 'change' }],
transNo: [{ required: false, message: '请输入运单号', trigger: 'change' }],
forwarder: [{ required: false, message: '请选择货代公司', trigger: 'change' }],
bookingType: [{ required: false, message: '请输入订舱类型', trigger: 'change' }],
insuranceNo: [{ required: false, message: '请输入保险单号', trigger: 'change' }],
insuranceAmount: [{ required: false, message: '请输入保险金额', trigger: 'change' }],
isVoucher: [{ required: false, message: '请选择是否生成凭证', trigger: 'change' }],
voucherNo: [{ required: false, message: '请输入凭证号', trigger: 'change' }],
remark: [{ required: false, message: '请输入备注', trigger: 'change' }],
status1: [{ required: false, message: '请输入状态1', trigger: 'change' }],
status2: [{ required: false, message: '请输入状态2', trigger: 'change' }],
status3: [{ required: false, message: '请输入状态3', trigger: 'change' }],
@ -112,6 +115,12 @@ export default {
yardATTN: [{ required: false, message: '场站联系人', trigger: 'change' }],
yardTel: [{ required: false, message: '场站联系方式', trigger: 'change' }],
transport: [{ required: false, message: '中转港', trigger: 'change' }],
etd: [{ required: false, message: '请选择开船日期', trigger: 'change' }],
atd: [{ required: false, message: '请选择ATD', trigger: 'change' }],
vessel: [{ required: false, message: '请输入船名', trigger: 'change' }],
vesselId: [{ required: false, message: '请输入船名id', trigger: 'change' }],
voyno: [{ required: false, message: '请输入航次', trigger: 'change' }],
eta: [{ required: false, message: '请选择预抵日期', trigger: 'change' }],
receiptPlace: [{ required: false, message: '请选择收货地', trigger: 'change' }],
receiptPlaceId: [{ required: false, message: '请选择收货地Id', trigger: 'change' }],
loadPort: [{ required: false, message: '请选择装货港', trigger: 'change' }],
@ -135,12 +144,12 @@ export default {
payableAt: [{ required: false, message: '请选择到付地点', trigger: 'change' }],
service: [{ required: false, message: '请选择运输条款', trigger: 'change' }],
note: [{ required: false, message: '备注', trigger: 'change' }],
orderType: [{ required: false, message: '请选择委托方式', trigger: 'change' }],
tradeTerm: [{ required: false, message: '请输入清关日期', trigger: 'change' }],
// ------------------------------------------------------------------------------------
intoPortDocDate: [{ required: false, message: '请选择集港日期', trigger: 'change' }],
orderType: [{ required: false, message: '请选择委托方式', trigger: 'change' }],
// trucker: [{ required: false, message: '请输入车队', trigger: 'change' }],
// closevgmdate: [{ required: false, message: '请选择VGM时间', trigger: 'change' }],
@ -170,12 +179,9 @@ export default {
dangerLabel: [{ required: false, message: '请输入危险品标签', trigger: 'change' }],
linkMan: [{ required: false, message: '请选择联系人', trigger: 'change' }],
totalNo: [{ required: false, message: '请输入件数大写', trigger: 'change' }],
// ------------------------------------------------------------------------------------
grossWeight: [{ required: false, message: '请输入货物毛重', trigger: 'change' }],
measurement: [{ required: false, message: '请输入货物尺码', trigger: 'change' }],
// ------------------------------------------------------------------------------------
cntrNo: [{ required: false, message: '请输入集装箱大写', trigger: 'change' }],
cntr1: [{ required: false, message: '请输入箱型1', trigger: 'change' }],
cntr2: [{ required: false, message: '请输入箱型2', trigger: 'change' }],
cntr3: [{ required: false, message: '请输入箱型3', trigger: 'change' }],
@ -193,13 +199,8 @@ export default {
packingType: [{ required: false, message: '请选择装箱类型', trigger: 'change' }],
isOperator: [{ required: false, message: '请选择是否为操作', trigger: 'change' }],
operatorEmail: [{ required: false, message: '请输入操作员邮箱', trigger: 'change' }],
operatorTel: [{ required: false, message: '请输入操作员电话', trigger: 'change' }],
operatorFax: [{ required: false, message: '请输入操作员传真', trigger: 'change' }],
isFinancialStaff: [{ required: false, message: '请选择是否为财务', trigger: 'change' }],
financialStaffEmail: [{ required: false, message: '请输入财务邮箱', trigger: 'change' }],
financialStaffTel: [{ required: false, message: '请输入财务电话', trigger: 'change' }],
financialStaffFax: [{ required: false, message: '请输入财务传真', trigger: 'change' }],
},
billRules: {
blIssueSatus: [{ required: false, message: '请输入签单状态', trigger: 'change' }],
@ -238,8 +239,6 @@ export default {
voyno2N: [{ required: false, message: '二程航次', trigger: 'change' }],
// ------------------------------------------------------------------------------------
tradeTerm: [{ required: false, message: '请输入清关日期', trigger: 'change' }],
// 'bookingEDIExt.sendCode': [
// { required: false, message: '请输入发送方EDI代码', trigger: 'change' },
// ],
@ -333,7 +332,6 @@ export default {
message: '请选择箱号封号',
trigger: 'change',
},
noPkgs: { required: false, title: '件数包装', message: '请选择件数包装', trigger: 'change' },
// ctnall: { required: false, title: '箱型', message: '请选择箱型', trigger: 'change' },
// ctnnum: { required: false, title: '箱量', message: '请选择箱量', trigger: 'change' },

@ -1917,16 +1917,16 @@
{ staCode: 'sta_zhuangchuan', isChecked: false },
{ staCode: 'sta_atd', isChecked: false },
]
if (item.bookstatus.length > 0) {
bookstatus.map((book, bindex) => {
item.bookstatus.map((item, index) => {
if (item.staCode === book.staCode) {
bookstatus[bindex] = item
bookstatus[bindex].isChecked = true
}
})
})
}
// if (item.bookstatus.length > 0) {
// bookstatus.map((book, bindex) => {
// item.bookstatus.map((item, index) => {
// if (item.staCode === book.staCode) {
// bookstatus[bindex] = item
// bookstatus[bindex].isChecked = true
// }
// })
// })
// }
if (item.bsstatusname) {
if (appStore.getstatusDIct) {
appStore.getstatusDIct.forEach((ite) => {
@ -4157,9 +4157,9 @@
overflow: visible !important;
}
/deep/ .vxe-cell {
overflow: visible !important;
}
// /deep/ .vxe-cell {
// overflow: visible !important;
// }
}
.bookremark {

@ -213,7 +213,7 @@ export const formSchema: FormSchema[] = [
field: 'currentNo',
label: '当前值',
component: 'Input',
defaultValue: '',
defaultValue: '0',
colProps: { span: 12 },
dynamicDisabled: true,
},

Loading…
Cancel
Save