张同海 2 years ago
commit ab9e60d978

@ -219,7 +219,7 @@ export default {
forwarder: [{ required: false, message: '请输入订舱代理', trigger: 'change' }],
pono: [{ required: false, message: '请输入PO NO', trigger: 'change' }],
hblno: [{ required: false, message: '请输入分提单号', trigger: 'change' }],
bookingno: [{ required: false, message: '请输入订舱编号', trigger: 'change' }],
custNo: [{ required: false, message: '请输入订舱编号', trigger: 'change' }],
contractno: [{ required: false, message: '请输入EP号/约号', trigger: 'change' }],
vessel: [{ required: false, message: '请输入船名', trigger: 'change' }],
lanecode: [{ required: false, message: '请输入航线代码', trigger: 'change' }],

@ -231,7 +231,7 @@ const initDetail = {
pono: '',
mblno: '',
hblno: '',
bookingno: '',
custNo: '',
contractno: '',
vessel: '',
voyno: '',
@ -373,7 +373,7 @@ export default {
forwarder: [{ required: false, message: '请输入订舱代理', trigger: 'change' }],
pono: [{ required: false, message: '请输入PO NO', trigger: 'change' }],
hblno: [{ required: false, message: '请输入分提单号', trigger: 'change' }],
bookingno: [{ required: false, message: '请输入订舱编号', trigger: 'change' }],
custNo: [{ required: false, message: '请输入订舱编号', trigger: 'change' }],
contractno: [{ required: false, message: '请输入EP号/约号', trigger: 'change' }],
vessel: [{ required: false, message: '请输入船名', trigger: 'change' }],
lanecode: [{ required: false, message: '请输入航线代码', trigger: 'change' }],

@ -0,0 +1,167 @@
<template>
<div class="auto-input-content">
<auto-complete
class="auto-input"
size="small"
:allowClear="true"
v-model="value"
:dropdown-match-select-width="false"
:dropdown-style="dropdownStyle"
@select="handleSelect"
@change="debounce(handleChange, 0, $event)"
@focus="handleChangeFirst"
>
<template slot="dataSource">
<!-- :value="item[showLabel[0]]" -->
<a-select-option v-for="(item, index) in dataSourceList" :key="index" :value="index + ''" >
<div class="title">
<template v-for="(label, lindex) in showLabel">
{{ item[label] }}
<template v-if="lindex != showLabel.length - 1"> / </template>
</template>
</div>
</a-select-option>
</template>
</auto-complete>
</div>
</template>
<script>
import {
GetPortloadlist,
GetPortlist
} from '@/api/modular/main/BookingLedger'
import { AutoComplete } from 'ant-design-vue'
let timer
export default {
name: '',
components: {
AutoComplete
},
props: {
defaultVal: {
type: String,
default: ''
},
type: {
type: String,
default: ''
},
dropdownStyle: {
type: Object,
default: () => {
return {}
}
},
searchApi: {
type: String,
default: ''
},
searchQuery: {
type: Object,
default: () => {
return {}
}
},
//
showLabel: {
type: Array,
default: () => {
return []
}
}
},
data() {
return {
value: this.defaultVal || '',
dataSourceList: [],
inEdit: false
}
},
watch: {
defaultVal(nval, oval) {
if (this.inEdit) { return false }
this.value = nval
}
},
mounted() {
this.value = this.defaultVal
},
methods: {
debounce(func, wait, ...args) {
if (timer) clearTimeout(timer)
timer = setTimeout(() => {
func.apply(this, args)
}, wait)
},
getFromSelectData(func, ...args) {
return new Promise((resolve, reject) => {
func(...args).then((res) => {
if (res.code === 200) {
resolve(res.data);
} else {
reject(res)
}
})
});
},
emnuCompleteApi (type) {
switch (type) {
case 'GetPortloadlist':
return GetPortloadlist
case 'GetPortlist':
return GetPortlist
}
},
handleSelect (e) {
const num = Number(e)
console.log(num)
const data = this.dataSourceList[num]
this.value = data[this.showLabel[0]]
this.$emit('select', {
type: this.type,
res: data
})
setTimeout(() => {
this.handleChange(this.value)
}, 600)
},
handleChange (e) {
console.log('change', e)
this.inEdit = true
setTimeout(() => {
this.inEdit = false
}, 800)
//
if (e) {
Object.keys(this.searchQuery).map((item, index) => {
if (item === 'KeyWord' || item === 'name') {
this.searchQuery[item] = e
}
})
} else {
Object.keys(this.searchQuery).map((item, index) => {
if (item === 'KeyWord' || item === 'name') {
this.searchQuery[item] = ''
}
})
}
this.getFromSelectData(this.emnuCompleteApi(this.searchApi), this.searchQuery).then((data) => {
console.log(data)
this.dataSourceList = data
})
},
handleChangeFirst (e) {
if (this.value && this.dataSourceList.length !== 0) {
return false
} else if (this.value && this.dataSourceList.length === 0) {
this.handleChange(this.value)
return false
}
this.handleChange(e)
}
}
}
</script>
<style lang="less">
</style>

@ -146,9 +146,9 @@
:labelCol="labelCol2"
:wrapperCol="wrapperCol2"
has-feedback
prop="bookingno"
prop="custno"
>
<inputView type="bookingno" :parentVal="details.bookingno" @getInputChange="inputChange"/>
<inputView type="custno" :parentVal="details.custno" @getInputChange="inputChange"/>
<!-- <a-input :allowClear="true" v-model="details.bookingno" /> -->
</a-form-model-item>
</a-col>

@ -451,9 +451,10 @@ export default {
}
.line-count {
width: 24px;
padding-top: 3px;
height: 106px;
margin-top: 10px;
height: 100px;
overflow: auto;
padding-top: 7px;
&::-webkit-scrollbar {
display: none;
}

@ -639,10 +639,10 @@ export default {
afterCellValueChange: ({ row, column, changeValue }) => {
if (['kgs', 'cbm', 'tareweight', 'weighkgs'].includes(column.field)) {
changeValue = changeValue + ''
const valIndex = changeValue.indexOf('.') + 1
const valIndex = changeValue.includes('.') ? changeValue.indexOf('.') + 1 : false
const valCount = changeValue.length - valIndex
// 5
if (valCount > 5) {
if (valIndex && valCount > 5) {
const height = document.body.clientHeight - 100
this.$message.config({
top: `${height}px`,
@ -746,12 +746,17 @@ export default {
// })
// this.tableData[nowIndex]['weighkgs'] = Number(this.tableData[nowIndex].kgs) + Number(this.tableData[nowIndex].tareweight)
// row['weighkgs'] = Number(row['kgs']) + Number(row['tareweight'])
// debugger
console.log(row['kgs'], row['tareweight'])
row['weighkgs'] = this.calc(Number(row['kgs']), Number(row['tareweight']), '+')
const kgsVal = row['weighkgs'] + ''
const kgsIndex = kgsVal.indexOf('.') + 1
const kgsCount = kgsVal.length - kgsIndex
const kgsIndex = kgsVal.includes('.') ? kgsVal.indexOf('.') + 1 : false
const kgsCount = kgsVal.includes('.') ? kgsVal.length - kgsIndex : false
console.log(row['weighkgs'], kgsCount)
if (kgsCount > 4) {
row['weighkgs'] = kgsVal.substr(0, kgsIndex + 4)
row['weighkgs'] = kgsVal.substr(0, kgsIndex + 5)
} else if (!kgsIndex) {
row['weighkgs'] = kgsVal + '.00'
} else {
const arrayNum = kgsVal.split('.')
if (!/\./.test(kgsVal)) {

@ -22,8 +22,8 @@
:dropdown-match-select-width="false"
:dropdown-style="{ width: '200px' }"
@select="shipperSelect"
@focus="shipperChange"
@change="debounce(shipperChange, 300, $event)"
@focus="shipperChangeFirst"
/>
<!-- @change="shipperChange" -->
<a-button class="save-btn" type="link" size="small" icon="save" @click="saveModel('shipper')">
@ -74,8 +74,8 @@
:dropdown-match-select-width="false"
:dropdown-style="{ width: '200px' }"
@select="consigneeSelect"
@focus="consigneeChange"
@change="debounce(consigneeChange, 300, $event)"
@focus="consigneeChangeFirst"
/>
<!-- @change="consigneeChange" -->
<a-button class="save-btn" type="link" size="small" icon="save" @click="saveModel('consignee')"
@ -124,8 +124,8 @@
class="customer-input"
:data-source="notifyDataArr"
@select="notifySelect"
@focus="notifyChange"
@change="debounce(notifyChange, 300, $event)"
@focus="notifyChangeFirst"
/>
<!-- @change="notifyChange" -->
<a-button class="save-btn" type="link" size="small" icon="save" @click="saveModel('notifyparty')"></a-button>
@ -218,7 +218,7 @@
prop="feeself"
>
<!-- {{ details.feeself }} -->
<a-radio-group size="small" v-model="details.feeself" @change="changeFeeself">
<a-radio-group size="small" v-model="details.feeself">
<a-radio size="small" :value="true">
</a-radio>
@ -246,8 +246,8 @@
:dropdown-match-select-width="false"
:dropdown-style="{ width: '200px' }"
@select="customserSelect"
@focus="customserChange"
@change="debounce(customserChange, 300, $event)"
@focus="customserChangeFirst"
/>
<!-- @change="customserChange" -->
</a-form-model-item>
@ -270,8 +270,8 @@
:dropdown-match-select-width="false"
:dropdown-style="{ width: '200px' }"
@select="truckerSelect"
@focus="truckerChange"
@change="debounce(truckerChange, 300, $event)"
@focus="truckerChangeFirst"
/>
</a-form-model-item>
</a-col>
@ -293,8 +293,8 @@
:dropdown-match-select-width="false"
:dropdown-style="{ width: '200px' }"
@select="agentidSelect"
@focus="agentidChange"
@change="debounce(agentidChange, 300, $event)"
@focus="agentidChangeFirst"
/>
</a-form-model-item>
</a-col>
@ -317,8 +317,8 @@
:dropdown-match-select-width="false"
:dropdown-style="{ width: '200px' }"
@select="warehouseSelect"
@focus="warehouseChange"
@change="debounce(warehouseChange, 300, $event)"
@focus="warehouseChangeFirst"
/>
</a-form-model-item>
</a-col>
@ -407,19 +407,15 @@
has-feedback
prop="placereceiptid"
>
<auto-complete
size="small"
:allowClear="true"
v-model="details.placereceiptid"
class="customer-input"
:data-source="placereceiptDataArr"
:dropdown-match-select-width="false"
:dropdown-style="{ width: '300px' }"
@select="placereceiptSelect"
@focus="placereceiptChange"
@change="debounce(placereceiptChange, 0, $event)"
></auto-complete>
<!-- @change="debounce(placereceiptChange, 100, $event)" -->
<autoCompleteView
type="placereceiptid"
:defaultVal="details.placereceiptid"
:dropdownStyle="{ width: '300px' }"
searchApi="GetPortloadlist"
:searchQuery="{ KeyWord: '' }"
:showLabel="['ediCode', 'enName']"
@select="getAutoInputChangeSelect"
></autoCompleteView>
</a-form-model-item>
</a-col>
<a-col :span="12">
@ -444,18 +440,15 @@
has-feedback
prop="portloadid"
>
<auto-complete
size="small"
:allowClear="true"
v-model="details.portloadid"
class="customer-input"
:data-source="portloadDataArr"
:dropdown-match-select-width="false"
:dropdown-style="{ width: '300px' }"
@select="portloadSelect"
@focus="portloadChange"
@change="debounce(portloadChange, 0, $event)"
></auto-complete>
<autoCompleteView
type="portloadid"
:defaultVal="details.portloadid"
:dropdownStyle="{ width: '300px' }"
searchApi="GetPortloadlist"
:searchQuery="{ KeyWord: '' }"
:showLabel="['ediCode', 'enName']"
@select="getAutoInputChangeSelect"
></autoCompleteView>
</a-form-model-item>
</a-col>
<a-col :span="12">
@ -468,7 +461,6 @@
prop="portload"
>
<inputView type="portload" size="small" :parentVal="details.portload" @getInputChange="inputChange"/>
<!-- <a-input :allowClear="true" v-model="details.portload" /> -->
</a-form-model-item>
</a-col>
<a-col :span="12">
@ -480,18 +472,15 @@
has-feedback
prop="transportid"
>
<auto-complete
size="small"
:allowClear="true"
v-model="details.transportid"
class="customer-input"
:data-source="transportDataArr"
:dropdown-match-select-width="false"
:dropdown-style="{ width: '300px' }"
@select="transportSelect"
@focus="transportChange"
@change="debounce(transportChange, 0, $event)"
/>
<autoCompleteView
type="transportid"
:defaultVal="details.transportid"
:dropdownStyle="{ width: '300px' }"
searchApi="GetPortlist"
:searchQuery="{ KeyWord: '' }"
:showLabel="['ediCode', 'enName']"
@select="getAutoInputChangeSelect"
></autoCompleteView>
</a-form-model-item>
</a-col>
<a-col :span="12">
@ -504,7 +493,6 @@
prop="transport"
>
<inputView type="transport" size="small" :parentVal="details.transport" @getInputChange="inputChange"/>
<!-- <a-input :allowClear="true" v-model="details.transport" /> -->
</a-form-model-item>
</a-col>
<a-col :span="12">
@ -516,18 +504,15 @@
has-feedback
prop="portdischargeid"
>
<auto-complete
size="small"
:allowClear="true"
v-model="details.portdischargeid"
class="customer-input"
:data-source="portdischargeDataArr"
:dropdown-match-select-width="false"
:dropdown-style="{ width: '300px' }"
@select="portdischargeSelect"
@focus="portdischargeChange"
@change="debounce(portdischargeChange, 0, $event)"
/>
<autoCompleteView
type="portdischargeid"
:defaultVal="details.portdischargeid"
:dropdownStyle="{ width: '300px' }"
searchApi="GetPortlist"
:searchQuery="{ KeyWord: '' }"
:showLabel="['ediCode', 'enName']"
@select="getAutoInputChangeSelect"
></autoCompleteView>
</a-form-model-item>
</a-col>
<a-col :span="12">
@ -540,30 +525,26 @@
prop="portdischarge"
>
<inputView type="portdischarge" size="small" :parentVal="details.portdischarge" @getInputChange="inputChange"/>
<!-- <a-input :allowClear="true" v-model="details.portdischarge" /> -->
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item
class="from-label"
label="目的代码"
label="目的代码"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback
prop="destinationid"
>
<auto-complete
size="small"
:allowClear="true"
v-model="details.destinationid"
class="customer-input"
:data-source="destinationDataArr"
:dropdown-match-select-width="false"
:dropdown-style="{ width: '300px' }"
@select="destinationSelect"
@focus="destinationChange"
@change="debounce(destinationChange, 0, $event)"
/>
<autoCompleteView
type="destinationid"
:defaultVal="details.destinationid"
:dropdownStyle="{ width: '300px' }"
searchApi="GetPortlist"
:searchQuery="{ KeyWord: '' }"
:showLabel="['ediCode', 'enName']"
@select="getAutoInputChangeSelect"
></autoCompleteView>
</a-form-model-item>
</a-col>
<a-col :span="12">
@ -576,30 +557,26 @@
prop="destination"
>
<inputView type="destination" size="small" :parentVal="details.destination" @getInputChange="inputChange"/>
<!-- <a-input :allowClear="true" v-model="details.destination" /> -->
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item
class="from-label"
label="交货代码"
label="交货代码"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback
prop="placedeliveryid"
>
<auto-complete
size="small"
:allowClear="true"
v-model="details.placedeliveryid"
class="customer-input"
:data-source="placedeliveryDataArr"
:dropdown-match-select-width="false"
:dropdown-style="{ width: '300px' }"
@select="placedeliverySelect"
@change="debounce(placedeliveryChange, 0, $event)"
@focus="placedeliveryChange"
/>
<autoCompleteView
type="placedeliveryid"
:defaultVal="details.placedeliveryid"
:dropdownStyle="{ width: '300px' }"
searchApi="GetPortlist"
:searchQuery="{ KeyWord: '' }"
:showLabel="['ediCode', 'enName']"
@select="getAutoInputChangeSelect"
></autoCompleteView>
</a-form-model-item>
</a-col>
<a-col :span="12">
@ -818,6 +795,7 @@ import { XCard } from '@/components'
import { AutoComplete } from 'ant-design-vue'
import inputView from './inputView'
import textareaView from './textareaView'
import autoCompleteView from './autoCompleteView'
import {
BookingTemplate,
GetYardlist,
@ -834,7 +812,8 @@ export default {
XCard,
AutoComplete,
textareaView,
inputView
inputView,
autoCompleteView
},
props: {
details: {
@ -884,12 +863,6 @@ export default {
notifyData: [], //
yardData: [], //
yardSelectData: [],
portloadData: [], //
transportData: [], //
portdischargeData: [], //
destinationData: [], //
placedeliveryData: [], //
placereceiptData: [], //
kindpkgsData: [],
customserData: [], //
truckerData: [], //
@ -1003,90 +976,6 @@ export default {
return []
}
},
portloadDataArr() {
if (this.portloadData) {
const arr = []
this.portloadData.map((item, index) => {
if (!arr.includes(item.enName)) {
arr.push(`(${item.ediCode})${item.enName}`)
// arr.push(item.enName)
}
})
return arr
} else {
return []
}
},
transportDataArr() {
if (this.transportData) {
const arr = []
this.transportData.map((item, index) => {
if (!arr.includes(item.enName)) {
arr.push(`(${item.ediCode})${item.enName}`)
// arr.push(item.enName)
}
})
return arr
} else {
return []
}
},
portdischargeDataArr() {
if (this.portdischargeData) {
const arr = []
this.portdischargeData.map((item, index) => {
if (!arr.includes(item.enName)) {
arr.push(`(${item.ediCode})${item.enName}`)
// arr.push(item.enName)
}
})
return arr
} else {
return []
}
},
destinationDataArr() {
if (this.destinationData) {
const arr = []
this.destinationData.map((item, index) => {
if (!arr.includes(item.enName)) {
arr.push(`(${item.ediCode})${item.enName}`)
// arr.push(item.enName)
}
})
return arr
} else {
return []
}
},
placedeliveryDataArr() {
if (this.placedeliveryData) {
const arr = []
this.placedeliveryData.map((item, index) => {
if (!arr.includes(item.enName)) {
arr.push(`(${item.ediCode})${item.enName}`)
// arr.push(item.enName)
}
})
return arr
} else {
return []
}
},
placereceiptDataArr() {
if (this.placereceiptData) {
const arr = []
this.placereceiptData.map((item, index) => {
if (!arr.includes(item.enName)) {
arr.push(`(${item.ediCode})${item.enName}`)
// arr.push(item.enName)
}
})
return arr
} else {
return []
}
},
kindpkgsDataArr() {
if (this.kindpkgsData) {
const arr = []
@ -1254,6 +1143,10 @@ export default {
shipperChange(value) {
this.getTemplate(value, 'shipper')
},
shipperChangeFirst(value) {
if (this.shippername) { return false }
this.getTemplate(value, 'shipper')
},
consigneeSelect(value) {
this.consigneename = value
@ -1264,7 +1157,10 @@ export default {
consigneeChange(value) {
this.getTemplate(value, 'consignee')
},
consigneeChangeFirst(value) {
if (this.consigneename) { return false }
this.getTemplate(value, 'consignee')
},
notifySelect(value) {
this.notifypartyname = value
const index = this.notifyDataArr.indexOf(value)
@ -1274,6 +1170,10 @@ export default {
notifyChange(value) {
this.getTemplate(value, 'notify')
},
notifyChangeFirst(value) {
if (this.notifypartyname) { return false }
this.getTemplate(value, 'notify')
},
// - end
@ -1319,117 +1219,6 @@ export default {
},
// - end
// ( / ) - start
getPortloadlist(name = '', type) {
GetPortloadlist({
KeyWord: name
})
.then(res => {
if (res.code === 200) {
this[`${type}Data`] = res.data
this.$forceUpdate()
}
})
.catch(err => {
console.log(err)
})
},
portloadSelect(value) {
const index = this.portloadDataArr.indexOf(value)
this.details.portloadid = this.portloadData[index].ediCode
this.details.portload = this.portloadData[index].enName
this.details.issueplace = this.portloadData[index].enName
if (!this.details.prepardat) {
this.details.prepardat = this.portloadData[index].enName
}
},
portloadChange(value) {
if (!value) {
this.details.portloadid = this.details.portloadid ? this.details.portloadid : ''
}
this.getPortloadlist(value, 'portload')
},
placereceiptSelect(value) {
const index = this.placereceiptDataArr.indexOf(value)
this.details.placereceiptid = this.placereceiptData[index].ediCode
this.details.placereceipt = this.placereceiptData[index].enName
},
placereceiptChange(value) {
if (!value) {
this.details.placereceiptid = this.details.placereceiptid ? this.details.placereceiptid : ''
}
this.getPortloadlist(value, 'placereceipt')
},
// ( / ) - end
// ( / / / ) - start
getPortlist(name = '', type) {
GetPortlist({
KeyWord: name
})
.then(res => {
if (res.code === 200) {
this[`${type}Data`] = res.data.splice(0, 50)
this.$forceUpdate()
}
})
.catch(err => {
console.log(err)
})
},
//
portdischargeSelect(value) {
const index = this.portdischargeDataArr.indexOf(value)
this.details.portdischargeid = this.portdischargeData[index].ediCode
this.details.portdischarge = this.portdischargeData[index].enName
if (!this.details.payableat) {
this.details.payableat = this.portdischargeData[index].enName
}
},
portdischargeChange(value) {
if (!value) {
this.details.portdischargeid = this.details.portdischargeid ? this.details.portdischargeid : ''
}
this.getPortlist(value, 'portdischarge')
},
//
destinationSelect(value) {
const index = this.destinationDataArr.indexOf(value)
this.details.destinationid = this.destinationData[index].ediCode
this.details.destination = this.destinationData[index].enName
},
destinationChange(value) {
if (!value) {
this.details.destinationid = this.details.destinationid ? this.details.destinationid : ''
}
this.getPortlist(value, 'destination')
},
//
placedeliverySelect(value) {
const index = this.placedeliveryDataArr.indexOf(value)
this.details.placedeliveryid = this.placedeliveryData[index].ediCode
this.details.placedelivery = this.placedeliveryData[index].enName
},
placedeliveryChange(value) {
if (!value) {
this.details.placedeliveryid = this.details.placedeliveryid ? this.details.placedeliveryid : ''
}
this.getPortlist(value, 'placedelivery')
},
//
transportSelect(value) {
const index = this.transportDataArr.indexOf(value)
this.details.transportid = this.transportData[index].ediCode
this.details.transport = this.transportData[index].enName
},
transportChange(value) {
if (!value) {
this.details.transportid = this.details.transportid ? this.details.transportid : ''
}
this.getPortlist(value, 'transport')
},
// ( / / / ) - end
// - start
getPackage(name = '') {
GetPackage({
@ -1485,6 +1274,10 @@ export default {
}
this.getDjyCustomerpage(value, 'customser', 'customs_broker')
},
customserChangeFirst(value) {
if (this.details.customser) { return false }
this.getDjyCustomerpage(value, 'customser', 'customs_broker')
},
// - end
// - start
@ -1497,6 +1290,10 @@ export default {
}
this.getDjyCustomerpage(value, 'trucker', 'fleet')
},
truckerChangeFirst(value) {
if (this.details.trucker) { return false }
this.getDjyCustomerpage(value, 'trucker', 'fleet')
},
// - end
// - start
@ -1509,6 +1306,10 @@ export default {
}
this.getDjyCustomerpage(value, 'agentid', 'out_agent')
},
agentidChangeFirst(value) {
if (this.details.agentid) { return false }
this.getDjyCustomerpage(value, 'agentid', 'out_agent')
},
// - end
// - start
@ -1522,6 +1323,10 @@ export default {
}
this.getDjyCustomerpage(value, 'warehouse', 'warehouse')
},
warehouseChangeFirst(value) {
if (this.details.warehouse) { return false }
this.getDjyCustomerpage(value, 'warehouse', 'warehouse')
},
// - end
//
@ -1972,7 +1777,6 @@ export default {
const cbmTexyVal = this.details.cbmtotal
const arr = cbmTexyVal.split(/\n|\r/g)
let cbm = 0
console.log('arr', arr)
arr.map((item, index) => {
const regexStr = item.match(/[a-zA-Z]+|[0-9]+(?:\.[0-9]+|)/g)
console.log('分割数组:', regexStr)
@ -1982,28 +1786,22 @@ export default {
cbm = (cbm * 100 + num1 * 100) / 100
}
})
// cbm += ''
// let res = null
// const pNum = cbm.split('.')
// if (!/\./.test(cbm)) {
// res = cbm + '.00'
// } else if (pNum[1].length < 2) {
// res = cbm + '0'
// } else if (pNum.length > 1) {
// res = pNum[0] + '.' + pNum[1].substr(0, 1)
// console.log(pNum[0], pNum[1].substr(0, 1))
// } else {
// res = cbm
// }
console.log('尺码: ', cbm)
this.details.cbm = cbm
this.cbmtotalRes = cbm
},
changeFeeself (e) {
// this.details.feeself = e
// this.details.feeself = !this.details.feeself
this.$forceUpdate()
// this.$emit('', this.details.feeself)
// -
getAutoInputChangeSelect ({ type, res }) {
//
if (['placereceiptid', 'portloadid', 'transportid', 'portdischargeid', 'destinationid', 'placedeliveryid'].includes(type)) {
this.details[type] = res['ediCode']
this.details[type.replace('id', '')] = res['enName']
if (type === 'portloadid') {
this.details.issueplace = res['enName']
this.details.prepardat = this.details.prepardat ? this.details.prepardat : res['enName']
} else if (type === 'portdischargeid') {
this.details.payableat = this.details.payableat ? this.details.payableat : res['enName']
}
}
}
}
}

@ -490,7 +490,7 @@ import { mapActions } from 'vuex'
const formInitData = [
{ title: '主提单号', align: 'center', width: '90', label: 'MBLNO', type: 'input' },
{ title: '分提单号', align: 'center', width: '90', label: 'HBLNO', type: 'input' },
{ title: '订舱编号', align: 'center', width: '90', label: 'BOOKINGNO', type: 'input' },
{ title: '订舱编号', align: 'center', width: '90', label: 'CUSTNO', type: 'input' },
{ title: '开船日期', align: 'center', width: '90', label: 'ETD', type: 'date' },
{ title: '实际开船日期', align: 'center', width: '90', label: 'ATD', type: 'date' },
{ title: '船名', align: 'center', width: '90', label: 'VESSEL', type: 'input' }

@ -8,9 +8,9 @@ export default {
{ field: 'vessel', label: 'VESSEL', width: 120, title: '船名', showHeaderOverflow: true, sortable: true },
{ field: 'etd', label: 'ETD', width: 110, title: '开船日期', showHeaderOverflow: true, sortable: true, slots: { default: 'etd' } },
{ field: 'voyno', label: 'VOYNO', width: 120, title: '海关航次', showHeaderOverflow: true },
{ field: 'bookingStatus', label: 'BOOKINGSTATUS', width: 120, title: '订舱状态', showHeaderOverflow: true },
{ field: 'vgm', label: 'VGM', width: 120, title: 'VGM', showHeaderOverflow: true },
{ field: 'billStatus', label: 'BILLSTATUS', width: 120, title: '提单状态', showHeaderOverflow: true },
// { field: 'bookingStatus', label: 'BOOKINGSTATUS', width: 120, title: '订舱状态', showHeaderOverflow: true },
// { field: 'vgm', label: 'VGM', width: 120, title: 'VGM', showHeaderOverflow: true },
// { field: 'billStatus', label: 'BILLSTATUS', width: 120, title: '提单状态', showHeaderOverflow: true },
{ field: 'portdischarge', label: 'PORTDISCHARGE', width: 120, title: '卸货港', showHeaderOverflow: true, sortable: true },
{ field: 'createdUserName', label: 'CREATEDUSERNAME', width: 120, title: '创建人', showHeaderOverflow: true, sortable: true },
{ field: 'createdTime', label: 'CREATEDTIME', width: 160, title: '创建日期', showHeaderOverflow: true, sortable: true },
@ -69,16 +69,16 @@ export default {
{ field: 'tempset', label: 'TEMPSET', width: 160, title: '设置温度', showHeaderOverflow: true, sortable: true },
{ field: 'reeferf', label: 'REEFERF', width: 160, title: '通风度', showHeaderOverflow: true, sortable: true },
{ field: 'shipagency', label: 'SHIPAGENCY', width: 160, title: '船代', showHeaderOverflow: true, sortable: true },
{ field: 'bookingno', label: 'BOOKINGNO', width: 160, title: '订舱编号', showHeaderOverflow: true, sortable: true },
{ field: 'custno', label: 'CUSTNO', width: 160, title: '订舱编号', showHeaderOverflow: true, sortable: true },
// 以下为东胜没有,大简云有,目前保留的
{ field: 'vgm', label: 'VGM', width: 120, title: 'VGM', showHeaderOverflow: true },
// { field: 'vgm', label: 'VGM', width: 120, title: 'VGM', showHeaderOverflow: true },
{ field: 'forwarder', label: 'FORWARDER', width: 120, title: '订舱代理', showHeaderOverflow: true, sortable: true },
{ field: 'bookingStatus', label: 'BOOKINGSTATUS', width: 120, title: '订舱状态', showHeaderOverflow: true },
// { field: 'bookingStatus', label: 'BOOKINGSTATUS', width: 120, title: '订舱状态', showHeaderOverflow: true },
{ field: 'freightpayer', label: 'FREIGHTPAYER', width: 120, title: '付款方', showHeaderOverflow: true, sortable: true },
{ field: 'voyno', label: 'VOYNO', width: 120, title: '海关航次', showHeaderOverflow: true },
{ field: 'cargoid', label: 'CARGOID', width: 120, title: '货物标识', showHeaderOverflow: true, sortable: true },
{ field: 'marks', label: 'MARKS', width: 120, title: '唛头', showHeaderOverflow: true, sortable: true },
{ field: 'billStatus', label: 'BILLSTATUS', width: 120, title: '提单状态', showHeaderOverflow: true },
// { field: 'billStatus', label: 'BILLSTATUS', width: 120, title: '提单状态', showHeaderOverflow: true },
{ field: 'dunno', label: 'DUNNO', width: 120, title: '危险品编号', showHeaderOverflow: true, sortable: true },
{ field: 'contractno', label: 'CONTRACTNO', width: 120, title: '合约号', showHeaderOverflow: true, sortable: true },
{ field: 'route', label: 'ROUTE', width: 120, title: '航线操作', showHeaderOverflow: true, sortable: true },
@ -119,7 +119,7 @@ export default {
{ title: '操作员', align: 'center', width: 120, label: 'OP', type: 'complete', showLabel: 'name' },
{ title: '单证员', align: 'center', width: 120, label: 'DOC', type: 'complete', showLabel: 'name' },
{ title: '报关行', align: 'center', width: 120, label: 'CUSTOMSER', type: 'complete', showLabel: 'shortName' },
{ title: '订舱编号', align: 'center', width: 120, label: 'BOOKINGNO', type: 'input' },
{ title: '订舱编号', align: 'center', width: 120, label: 'CUSTNO', type: 'input' },
{ title: '业务编号', align: 'center', width: 120, label: 'BSNO', type: 'input' },
{ title: '业务状态', align: 'center', width: 120, label: 'BSSTATUS', type: 'input' },
{ title: '客户合同号', align: 'center', width: 120, label: 'SERVICECONTRACTNO', type: 'input' },

Loading…
Cancel
Save