张同海 2 years ago
commit 0dd69192d0

@ -622,3 +622,11 @@ export function SendTrace(parameter) {
data: parameter data: parameter
}) })
} }
export function getDjyTenantConfig(parameter) {
return axios({
url: '/DjyTenantConfig/get',
method: 'get',
params: parameter
})
}

@ -107,7 +107,8 @@ import {
BookingOrderGet, BookingOrderGet,
BookingOrderUpdate, BookingOrderUpdate,
BookingOrderAdd, BookingOrderAdd,
BookingOrderAddOrUpdate BookingOrderAddOrUpdate,
getDjyTenantConfig
} from '@/api/modular/main/BookingLedger' } from '@/api/modular/main/BookingLedger'
import { mapActions, mapGetters } from 'vuex' import { mapActions, mapGetters } from 'vuex'
import { string } from 'clipboard' import { string } from 'clipboard'
@ -511,6 +512,18 @@ export default {
} }
}, },
getDjyTenantConfig () {
getDjyTenantConfig({
type: ''
})
.then(res => {
this.$forceUpdate()
})
.catch(err => {
console.log(err)
})
},
enmuCarrier(type) { enmuCarrier(type) {
switch (type) { switch (type) {
case 'CMA': case 'CMA':

@ -2,16 +2,18 @@
<div class="basic-info"> <div class="basic-info">
<x-card> <x-card>
<div slot="content" style="margin-top: -5px;"> <div slot="content" style="margin-top: -5px;">
<a-form style="margin-bottom:10px;"> <!-- <a-button type="primary" @click="checkbasic"> </a-button> -->
<a-form-model style="margin-bottom:10px;" ref="basicFrom" :model="details" :rules="rules">
<a-row class="from-box" :gutter="10"> <a-row class="from-box" :gutter="10">
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
prop="customername"
label="客户" label="客户"
:labelCol="labelCol2" :labelCol="labelCol2"
:wrapperCol="wrapperCol2" :wrapperCol="wrapperCol2"
has-feedback> has-feedback>
<div class="customer-box"> <div class="customer-box" style="padding-right:24px;">
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
class="customer-input" class="customer-input"
@ -31,15 +33,27 @@
></span> ></span>
<span class="customer-btn iconfont icon-jiahao2fill" @click="changeCustomer('add')"></span> <span class="customer-btn iconfont icon-jiahao2fill" @click="changeCustomer('add')"></span>
</div> </div>
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8">
<a-form-item class="from-label" label="提单号" :labelCol="labelCol2" :wrapperCol="wrapperCol2" has-feedback> <a-form-model-item
class="from-label"
label="提单号"
prop="mblno"
:labelCol="labelCol2"
:wrapperCol="wrapperCol2"
has-feedback>
<a-input :allowClear="true" v-model="details.mblno" :disabled="ishd" /> <a-input :allowClear="true" v-model="details.mblno" :disabled="ishd" />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8">
<a-form-item class="from-label" label="船公司" :labelCol="labelCol2" :wrapperCol="wrapperCol2" has-feedback> <a-form-model-item
class="from-label"
label="船公司"
prop="carrierid"
:labelCol="labelCol2"
:wrapperCol="wrapperCol2"
has-feedback>
<!-- <auto-complete <!-- <auto-complete
:allowClear="true" :allowClear="true"
:data-source="carrierDataArr" :data-source="carrierDataArr"
@ -58,15 +72,16 @@
{{ carrier.selectShowTab }} {{ carrier.selectShowTab }}
</a-select-option> </a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="订舱代理" label="订舱代理"
:labelCol="labelCol2" :labelCol="labelCol2"
:wrapperCol="wrapperCol2" :wrapperCol="wrapperCol2"
has-feedback has-feedback
prop="forwarder"
> >
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
@ -80,55 +95,80 @@
@focus="forwarderChange" @focus="forwarderChange"
/> />
<!-- <a-input :allowClear="true" v-model="details.forwarder" /> --> <!-- <a-input :allowClear="true" v-model="details.forwarder" /> -->
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8">
<a-form-item class="from-label" label="PO NO" :labelCol="labelCol2" :wrapperCol="wrapperCol2" has-feedback> <a-form-model-item
class="from-label"
label="PO NO"
:labelCol="labelCol2"
:wrapperCol="wrapperCol2"
has-feedback
prop="pono">
<a-input :allowClear="true" v-model="details.pono" /> <a-input :allowClear="true" v-model="details.pono" />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="分提单号" label="分提单号"
:labelCol="labelCol2" :labelCol="labelCol2"
:wrapperCol="wrapperCol2" :wrapperCol="wrapperCol2"
has-feedback has-feedback
prop="hblno"
> >
<a-input :allowClear="true" v-model="details.hblno" /> <a-input :allowClear="true" v-model="details.hblno" />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="订舱编号" label="订舱编号"
:labelCol="labelCol2" :labelCol="labelCol2"
:wrapperCol="wrapperCol2" :wrapperCol="wrapperCol2"
has-feedback has-feedback
prop="bookingno"
> >
<a-input :allowClear="true" v-model="details.bookingno" /> <a-input :allowClear="true" v-model="details.bookingno" />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<template v-if="details.carrierid === 'ESL'"> <template v-if="details.carrierid === 'ESL'">
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8">
<a-form-item class="from-label" label="EP号" :labelCol="labelCol2" :wrapperCol="wrapperCol2" has-feedback> <a-form-model-item
class="from-label"
label="EP号"
:labelCol="labelCol2"
:wrapperCol="wrapperCol2"
has-feedback
prop="contractno">
<a-input :allowClear="true" v-model="details.contractno" /> <a-input :allowClear="true" v-model="details.contractno" />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
</template> </template>
<template v-else> <template v-else>
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="8">
<a-form-item class="from-label" label="约号" :labelCol="labelCol2" :wrapperCol="wrapperCol2" has-feedback> <a-form-model-item
class="from-label"
label="约号"
:labelCol="labelCol2"
:wrapperCol="wrapperCol2"
has-feedback
prop="contractno">
<a-input :allowClear="true" v-model="details.contractno" /> <a-input :allowClear="true" v-model="details.contractno" />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
</template> </template>
</a-row> </a-row>
<div class="from-box2"> <div class="from-box2">
<a-row :gutter="10"> <a-row :gutter="10">
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6">
<a-form-item class="from-label" label="船名" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> <a-form-model-item
class="from-label"
label="船名"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback
prop="vessel">
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
class="customer-input" class="customer-input"
@ -140,29 +180,31 @@
@change="vesselChange" @change="vesselChange"
@focus="vesselChange" @focus="vesselChange"
/> />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<template v-if="details.carrierid === 'ESL'"> <template v-if="details.carrierid === 'ESL'">
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="航线代码" label="航线代码"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="lanecode"
> >
<a-input :allowClear="true" v-model="details.lanecode" /> <a-input :allowClear="true" v-model="details.lanecode" />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
</template> </template>
<template v-else> <template v-else>
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="内部航次" label="内部航次"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="voynoinner"
> >
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
@ -175,28 +217,29 @@
@change="voynoinnerChange" @change="voynoinnerChange"
@focus="voynoinnerChange" @focus="voynoinnerChange"
/> />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
</template> </template>
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="海关航次" label="海关航次"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="voyno"
> >
<a-input :allowClear="true" v-model="details.voyno" /> <a-input :allowClear="true" v-model="details.voyno" />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="开船日期" label="开船日期"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="etd"
> >
<div class="date-box"> <div class="date-box">
<a-date-picker class="date-picker" format="YYYY-MM-DD" v-model="details.etd" @change="changeEtd"> <a-date-picker class="date-picker" format="YYYY-MM-DD" v-model="details.etd" @change="changeEtd">
@ -204,27 +247,34 @@
</a-date-picker> </a-date-picker>
<span class="week" v-if="etdWeek">W{{ etdWeek || '--' }}</span> <span class="week" v-if="etdWeek">W{{ etdWeek || '--' }}</span>
</div> </div>
</a-form-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row :gutter="10"> <a-row :gutter="10">
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="实际开船" label="实际开船"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="atd"
> >
<div class="date-box"> <div class="date-box">
<a-date-picker class="date-picker" format="YYYY-MM-DD" v-model="details.atd"> <a-date-picker class="date-picker" format="YYYY-MM-DD" v-model="details.atd">
<a-icon slot="suffixIcon" type="time" style="display: none" /> <a-icon slot="suffixIcon" type="time" style="display: none" />
</a-date-picker> </a-date-picker>
</div> </div>
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6">
<a-form-item class="from-label" label="航线" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> <a-form-model-item
class="from-label"
label="航线"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback
prop="lanename">
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
class="customer-input" class="customer-input"
@ -236,10 +286,16 @@
@change="lanenameChange" @change="lanenameChange"
@focus="lanenameChange" @focus="lanenameChange"
/> />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6">
<a-form-item class="from-label" label="船代" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback> <a-form-model-item
class="from-label"
label="船代"
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback
prop="shipagency">
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
class="customer-input" class="customer-input"
@ -251,31 +307,33 @@
@change="shipagencyChange" @change="shipagencyChange"
@focus="shipagencyChange" @focus="shipagencyChange"
/> />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<template v-if="details.carrierid === 'ESL'"> <template v-if="details.carrierid === 'ESL'">
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="约号" label="约号"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="contractno"
> >
<a-input :allowClear="true" v-model="details.contractno" /> <a-input :allowClear="true" v-model="details.contractno" />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
</template> </template>
</a-row> </a-row>
</div> </div>
<a-row class="from-box3" :gutter="10"> <a-row class="from-box3" :gutter="10">
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="销售人员" label="销售人员"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="sale"
> >
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
@ -288,15 +346,16 @@
@change="saleChange" @change="saleChange"
@focus="saleChange" @focus="saleChange"
/> />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="操作人员" label="操作人员"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="op"
> >
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
@ -309,15 +368,16 @@
@change="opChange" @change="opChange"
@focus="opChange" @focus="opChange"
/> />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="单证人员" label="单证人员"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="doc"
> >
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
@ -330,15 +390,16 @@
@change="docChange" @change="docChange"
@focus="docChange" @focus="docChange"
/> />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6"> <a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="客服人员" label="客服人员"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="custservice"
> >
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
@ -351,10 +412,10 @@
@change="custserviceChange" @change="custserviceChange"
@focus="custserviceChange" @focus="custserviceChange"
/> />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
</a-form> </a-form-model>
</div> </div>
</x-card> </x-card>
@ -650,7 +711,29 @@ export default {
// / - end // / - end
customerContactsData: [], customerContactsData: [],
ContactType: [], ContactType: [],
customerContactsDataList: [] customerContactsDataList: [],
rules: {
// customername: [ { required: true, message: '', trigger: 'blur' } ],
// mblno: [{ required: true, message: '', trigger: 'blur' }],
// carrierid: [{ required: true, message: '', trigger: 'blur' }],
// forwarder: [{ required: true, message: '', trigger: 'blur' }],
// pono: [{ required: true, message: 'PO NO', trigger: 'blur' }],
// hblno: [{ required: true, message: '', trigger: 'blur' }],
// bookingno: [{ required: true, message: '', trigger: 'blur' }],
// contractno: [{ required: true, message: 'EP/', trigger: 'blur' }],
// vessel: [{ required: true, message: '', trigger: 'blur' }],
// lanecode: [{ required: true, message: '线', trigger: 'blur' }],
// voynoinner: [{ required: true, message: '', trigger: 'blur' }],
// voyno: [{ required: true, message: '', trigger: 'blur' }],
// etd: [{ required: true, message: '', trigger: 'blur' }],
// atd: [{ required: true, message: '', trigger: 'blur' }],
// lanename: [{ required: true, message: '线', trigger: 'blur' }],
// shipagency: [{ required: true, message: '', trigger: 'blur' }],
// sale: [{ required: true, message: '', trigger: 'blur' }],
// op: [{ required: true, message: '', trigger: 'blur' }],
// doc: [{ required: true, message: '', trigger: 'blur' }],
// custservice: [{ required: true, message: '', trigger: 'blur' }]
}
} }
}, },
computed: { computed: {
@ -823,6 +906,17 @@ export default {
this.init() this.init()
}, },
methods: { methods: {
checkbasic () {
this.$refs.basicFrom.validate(valid => {
console.log(valid)
if (valid) {
console.log('验证成功!');
} else {
console.log('验证失败!');
return false;
}
});
},
// ========== ========== // ========== ==========
focusEvent2(data) { focusEvent2(data) {
let Arr = data let Arr = data
@ -1337,7 +1431,7 @@ export default {
.customer-box { .customer-box {
display: flex; display: flex;
margin-top: 2px;
.customer-input { .customer-input {
flex: 1; flex: 1;
} }
@ -1367,6 +1461,9 @@ export default {
/deep/ .date-box { /deep/ .date-box {
padding-top: 7px !important; padding-top: 7px !important;
} }
.ant-input[type="text"]{
height: 28px !important;
}
// .ant-calendar-picker-input{ // .ant-calendar-picker-input{
// padding: 0 4px; // padding: 0 4px;

@ -4,60 +4,71 @@
<template slot="header"> <template slot="header">
<div class="base-tit"><i class="iconfont icon-goods"></i>货物信息</div> <div class="base-tit"><i class="iconfont icon-goods"></i>货物信息</div>
</template> </template>
<a-button type="primary" @click="checkbasic"> </a-button>
<div class="container cargo-info"> <div class="container cargo-info">
<a-row :gutter="20"> <a-form-model :selfUpdate="true" ref="cargoFrom" :model="details" :rules="rules">
<a-col :span="8"> <a-row :gutter="20">
<div class="tit"> <a-col :span="8">
<div>Seal No.(封志号)</div> <div class="tit" :class="{'required':rules['marks'] && rules['marks'].required}">
<div>Marks & Nos.(标记与号码)</div> <div>Seal No.(封志号)</div>
</div> <div>Marks & Nos.(标记与号码)</div>
<div class="bottom">
<a-textarea class="input-box" v-model="details.marks" @change="valueChange('marks')"/>
<div
class="line-count"
id="shipper-scroll-right"
v-if="Object.keys(details).length > 1 && details.marks.length > 1"
>
<div v-for="(num, index) in details.marks.split('\n')" :key="index">{{ num.length }}</div>
</div> </div>
</div> <a-form-model-item has-feedback prop="marks" class="textarea-label" label="">
</a-col> <div class="bottom">
<a-col :span="16"> <a-textarea class="input-box" v-model="details.marks" @change="valueChange('marks')"/>
<div class="line"> <div
<div class="left"> class="line-count"
<div>Description of Goods</div> id="shipper-scroll-right"
<div>(包装种类与货名)</div> v-if="Object.keys(details).length > 1 && details.marks.length > 1"
>
<div v-for="(num, index) in details.marks.split('\n')" :key="index">{{ num.length }}</div>
</div>
</div>
</a-form-model-item>
</a-col>
<a-col :span="16">
<div class="line">
<div class="left" :class="{'required':rules['description'] && rules['description'].required}">
<div>Description of Goods</div>
<div>(包装种类与货名)</div>
</div>
<div class="input cargo-mark" >
<div :class="{'required':rules['cargoid'] && rules['cargoid'].required}" style="padding-top:4px;">货物标志</div>
<a-form-model-item has-feedback prop="cargoid" label="">
<a-select :default-value="details.cargoid || 'S'" v-model="details.cargoid" style="width: 120px" @change="handleChange">
<a-select-option value="S"> S 普通货 </a-select-option>
<a-select-option value="R"> R 冻柜 </a-select-option>
<a-select-option value="D"> D 危险品 </a-select-option>
<a-select-option value="O"> O 超限箱 </a-select-option>
</a-select>
</a-form-model-item>
</div>
<div class="input" >
<div :class="{'required':rules['hscode'] && rules['hscode'].required}" style="padding-top:4px;">HS编码</div>
<a-form-model-item has-feedback prop="hscode" label="">
<a-input :allowClear="true" v-model="details.hscode" />
</a-form-model-item>
</div>
</div> </div>
<div class="input cargo-mark"> <a-form-model-item has-feedback prop="description" class="textarea-label" label="">
<div>货物标志</div> <div class="bottom">
<a-select :default-value="details.cargoid || 'S'" v-model="details.cargoid" style="width: 120px" @change="handleChange"> <a-textarea class="input-box" v-model="details.description" @change="valueChange('description')"/>
<a-select-option value="S"> S 普通货 </a-select-option> <div
<a-select-option value="R"> R 冻柜 </a-select-option> class="line-count"
<a-select-option value="D"> D 危险品 </a-select-option> id="shipper-scroll-right"
<a-select-option value="O"> O 超限箱 </a-select-option> v-if="Object.keys(details).length > 1 && details.description.length > 1"
</a-select> >
</div> <div v-for="(num, index) in details.description.split('\n')" :key="index">{{ num.length }}</div>
<div class="input"> </div>
<div>HS编码</div> </div>
<a-input :allowClear="true" v-model="details.hscode" /> </a-form-model-item>
</div> </a-col>
</div> <a-col class="num-box" :span="24">
<div class="bottom"> <span class="label">件数大写: </span>
<a-textarea class="input-box" v-model="details.description" @change="valueChange('description')"/> <a-input :allowClear="true" class="input-val" v-model="details.totalno" disabled placeholder="自动生成"/>
<div </a-col>
class="line-count" </a-row>
id="shipper-scroll-right" </a-form-model>
v-if="Object.keys(details).length > 1 && details.description.length > 1"
>
<div v-for="(num, index) in details.description.split('\n')" :key="index">{{ num.length }}</div>
</div>
</div>
</a-col>
<a-col class="num-box" :span="24">
<span class="label">件数大写: </span>
<a-input :allowClear="true" class="input-val" v-model="details.totalno" disabled placeholder="自动生成"/>
</a-col>
</a-row>
</div> </div>
</a-collapse-panel> </a-collapse-panel>
</a-collapse> </a-collapse>
@ -79,7 +90,13 @@ export default {
}, },
data() { data() {
return { return {
showKey: ['1'] showKey: ['1'],
rules: {
// marks: [ { required: true, message: 'Seal No. Marks & Nos', trigger: 'blur' } ],
// cargoid: [ { required: true, message: '', trigger: 'blur' } ],
// hscode: [ { required: true, message: 'HS', trigger: 'blur' } ],
// description: [ { required: true, message: '', trigger: 'blur' } ]
}
} }
}, },
watch: { watch: {
@ -110,6 +127,17 @@ export default {
}, },
created() {}, created() {},
methods: { methods: {
checkbasic () {
this.$refs.cargoFrom.validate(valid => {
console.log(valid)
if (valid) {
console.log('验证成功!');
} else {
console.log('验证失败!');
return false;
}
});
},
handleChange(value) { handleChange(value) {
this.details.cargoid = value this.details.cargoid = value
}, },
@ -178,6 +206,7 @@ export default {
box-sizing: border-box; box-sizing: border-box;
} }
.line { .line {
text-align: left; text-align: left;
width: 100%; width: 100%;
@ -190,6 +219,7 @@ export default {
text-align: left; text-align: left;
display: inline-block; display: inline-block;
width: 170px; width: 170px;
padding-top: 4px;
} }
.input { .input {
@ -250,4 +280,24 @@ export default {
} }
} }
} }
/deep/ .ant-form-explain{
margin-top: -6px;
}
.required{
padding-left: 10px;
position: relative;
&::before{
display: inline-block;
margin-right: 4px;
color: #f5222d;
font-size: 14px;
font-family: SimSun, sans-serif;
line-height: 1;
content: '*';
position: absolute;
top: 8px;
left: 0;
}
}
</style> </style>

@ -824,8 +824,8 @@ export default {
created() { created() {
this.init() this.init()
document.onkeydown = (event) => { document.onkeydown = (event) => {
console.log("按下:"+event.key+"键:"+event.keyCode, document.activeElement); // console.log(":"+event.key+":"+event.keyCode, document.activeElement);
console.log(document.activeElement); // console.log(document.activeElement);
if (event.key === 'Backspace' && this.ctnallViewIndex !== null) { if (event.key === 'Backspace' && this.ctnallViewIndex !== null) {
const val = document.getElementsByClassName('ctnallView')[this.ctnallViewIndex].getElementsByTagName('input')[0].value const val = document.getElementsByClassName('ctnallView')[this.ctnallViewIndex].getElementsByTagName('input')[0].value
console.log('内容', val, this.ctnList) console.log('内容', val, this.ctnList)

@ -5,144 +5,150 @@
<div class="base-tit"><i class="iconfont icon-a-fahuodaifahuo"></i>收发通信息</div> <div class="base-tit"><i class="iconfont icon-a-fahuodaifahuo"></i>收发通信息</div>
</template> </template>
<div class="mail-info"> <div class="mail-info">
<a-row :gutter="10"> <!-- <a-button type="primary" @click="checkbasic"> </a-button> -->
<a-col :xs="24" :sm="24" :md="24" :lg="10" :xl="12"> <a-form-model :selfUpdate="true" ref="mailingFrom" :model="details" :rules="rules">
<div class="sender"> <a-row :gutter="10">
<div class="top"> <a-col :xs="24" :sm="24" :md="24" :lg="10" :xl="12">
<div class="name"><span class="iconfont icon-bianji"></span>发货人</div> <a-form-model-item has-feedback prop="shipper" class="sender-label">
<auto-complete <div class="sender">
:allowClear="true" <div class="top">
v-model="shippername" <div class="name"><span class="iconfont icon-bianji"></span>发货人</div>
class="customer-input" <auto-complete
:data-source="shipperDataArr" :allowClear="true"
:dropdown-match-select-width="false" v-model="shippername"
:dropdown-style="{ width: '200px' }" class="customer-input"
@select="shipperSelect" :data-source="shipperDataArr"
@change="shipperChange" :dropdown-match-select-width="false"
@focus="shipperChange" :dropdown-style="{ width: '200px' }"
/> @select="shipperSelect"
<a-button class="save-btn" type="link" size="small" icon="save" @click="saveModel('shipper')"> @change="shipperChange"
保存 @focus="shipperChange"
</a-button> />
<div class="right"> <a-button class="save-btn" type="link" size="small" icon="save" @click="saveModel('shipper')">
<span class="btn-circle" @click="spliceMore('shipper')" :style="{ fontSize: '14px' }">*</span> 保存
<span class="btn" @click="changeCode(35, 'shipper')">35</span> </a-button>
<span class="btn" @click="changeCode(40, 'shipper')">40</span> <div class="right">
<span class="btn" @click="changeCode(50, 'shipper')">50</span> <span class="btn-circle" @click="spliceMore('shipper')" :style="{ fontSize: '14px' }">*</span>
</div> <span class="btn" @click="changeCode(35, 'shipper')">35</span>
</div> <span class="btn" @click="changeCode(40, 'shipper')">40</span>
<div class="bottom"> <span class="btn" @click="changeCode(50, 'shipper')">50</span>
<a-textarea </div>
id="shipper-scroll" </div>
:defaultValue="details.shipper" <div class="bottom">
v-model="showShipper" <a-textarea
:auto-size="{ minRows: 2, maxRows: 5 }" id="shipper-scroll"
style="height: 120px" :defaultValue="details.shipper"
@blur="textareaChange($event, 'shipper')" v-model="showShipper"
/> :auto-size="{ minRows: 2, maxRows: 5 }"
<div style="height: 120px"
class="line-count" @blur="textareaChange($event, 'shipper')"
id="shipper-scroll-right" />
v-if="Object.keys(details).length > 1 && details.shipper.length > 1" <div
> class="line-count"
<div v-for="(num, index) in details.shipper.split('\n')" :key="index">{{ num.length }}</div> id="shipper-scroll-right"
</div> v-if="Object.keys(details).length > 1 && details.shipper.length > 1"
</div> >
</div> <div v-for="(num, index) in details.shipper.split('\n')" :key="index">{{ num.length }}</div>
<div class="consignee"> </div>
<div class="top"> </div>
<div class="name"><span class="iconfont icon-bianji"></span>收货人</div>
<auto-complete
:allowClear="true"
v-model="consigneename"
class="customer-input"
:data-source="consigneeDataArr"
:dropdown-match-select-width="false"
:dropdown-style="{ width: '200px' }"
@select="consigneeSelect"
@change="consigneeChange"
@focus="consigneeChange"
/>
<a-button class="save-btn" type="link" size="small" icon="save" @click="saveModel('consignee')"
>保存</a-button
>
<div class="right">
<span class="btn-circle" @click="spliceMore('consignee')" :style="{ fontSize: '14px' }">*</span>
<span class="btn" @click="changeCode(35, 'consignee')">35</span>
<span class="btn" @click="changeCode(40, 'consignee')">40</span>
<span class="btn" @click="changeCode(50, 'consignee')">50</span>
</div>
</div>
<div class="bottom">
<a-textarea
id="consignee-scroll"
:defaultValue="details.consignee"
v-model="showConsignee"
:auto-size="{ minRows: 2, maxRows: 5 }"
style="height: 120px"
@blur="textareaChange($event, 'consignee')"
/>
<div
class="line-count"
id="consignee-scroll-right"
v-if="Object.keys(details).length > 1 && details.consignee.length > 1"
>
<div v-for="(num, index) in details.consignee.split('\n')" :key="index">{{ num.length }}</div>
</div> </div>
</div> </a-form-model-item>
</div> <a-form-model-item has-feedback prop="consignee" class="sender-label">
<div class="notifier"> <div class="consignee">
<div class="top"> <div class="top">
<div class="name"><span class="iconfont icon-bianji"></span>通知人</div> <div class="name"><span class="iconfont icon-bianji"></span>收货人</div>
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
v-model="notifypartyname" v-model="consigneename"
class="customer-input" class="customer-input"
:data-source="notifyDataArr" :data-source="consigneeDataArr"
@select="notifySelect" :dropdown-match-select-width="false"
@change="notifyChange" :dropdown-style="{ width: '200px' }"
@focus="notifyChange" @select="consigneeSelect"
/> @change="consigneeChange"
<a-button class="save-btn" type="link" size="small" icon="save" @click="saveModel('notifyparty')" @focus="consigneeChange"
>保存</a-button />
> <a-button class="save-btn" type="link" size="small" icon="save" @click="saveModel('consignee')"></a-button
<div class="right"> >
<span class="btn-circle" @click="spliceMore('notifyparty')" :style="{ fontSize: '14px' }">*</span> <div class="right">
<span class="btn" @click="changeCode(35, 'notifyparty')">35</span> <span class="btn-circle" @click="spliceMore('consignee')" :style="{ fontSize: '14px' }">*</span>
<span class="btn" @click="changeCode(40, 'notifyparty')">40</span> <span class="btn" @click="changeCode(35, 'consignee')">35</span>
<span class="btn" @click="changeCode(50, 'notifyparty')">50</span> <span class="btn" @click="changeCode(40, 'consignee')">40</span>
<span class="btn" @click="changeCode(50, 'consignee')">50</span>
</div>
</div>
<div class="bottom">
<a-textarea
id="consignee-scroll"
:defaultValue="details.consignee"
v-model="showConsignee"
:auto-size="{ minRows: 2, maxRows: 5 }"
style="height: 120px"
@blur="textareaChange($event, 'consignee')"
/>
<div
class="line-count"
id="consignee-scroll-right"
v-if="Object.keys(details).length > 1 && details.consignee.length > 1"
>
<div v-for="(num, index) in details.consignee.split('\n')" :key="index">{{ num.length }}</div>
</div>
</div>
</div> </div>
</div> </a-form-model-item>
<div class="bottom"> <a-form-model-item has-feedback prop="notifyparty" class="sender-label">
<a-textarea <div class="notifier">
id="notifyparty-scroll" <div class="top">
:defaultValue="details.notifyparty" <div class="name"><span class="iconfont icon-bianji"></span>通知人</div>
:auto-size="{ minRows: 2, maxRows: 5 }" <auto-complete
style="height: 120px" :allowClear="true"
v-model="showNotifier" v-model="notifypartyname"
@blur="textareaChange($event, 'notifyparty')" class="customer-input"
/> :data-source="notifyDataArr"
<div @select="notifySelect"
class="line-count" @change="notifyChange"
id="notifyparty-scroll-right" @focus="notifyChange"
v-if="Object.keys(details).length > 1 && details.notifyparty.length > 1" />
> <a-button class="save-btn" type="link" size="small" icon="save" @click="saveModel('notifyparty')"></a-button
<div v-for="(num, index) in details.notifyparty.split('\n')" :key="index">{{ num.length }}</div> >
<div class="right">
<span class="btn-circle" @click="spliceMore('notifyparty')" :style="{ fontSize: '14px' }">*</span>
<span class="btn" @click="changeCode(35, 'notifyparty')">35</span>
<span class="btn" @click="changeCode(40, 'notifyparty')">40</span>
<span class="btn" @click="changeCode(50, 'notifyparty')">50</span>
</div>
</div>
<div class="bottom">
<a-textarea
id="notifyparty-scroll"
:defaultValue="details.notifyparty"
:auto-size="{ minRows: 2, maxRows: 5 }"
style="height: 120px"
v-model="showNotifier"
@blur="textareaChange($event, 'notifyparty')"
/>
<div
class="line-count"
id="notifyparty-scroll-right"
v-if="Object.keys(details).length > 1 && details.notifyparty.length > 1"
>
<div v-for="(num, index) in details.notifyparty.split('\n')" :key="index">{{ num.length }}</div>
</div>
</div>
</div> </div>
</div> </a-form-model-item>
</div> </a-col>
</a-col> <a-col :xs="24" :sm="24" :md="24" :lg="14" :xl="12">
<a-col :xs="24" :sm="24" :md="24" :lg="14" :xl="12">
<a-form :selfUpdate="true">
<a-row :gutter="16"> <a-row :gutter="16">
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label yarn-label"
label="场站" label="场站"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
style="overflow: visible" style="overflow: visible"
prop="yard"
> >
<div class="yard-box" style="display: flex"> <div class="yard-box" style="display: flex">
<!-- <auto-complete <!-- <auto-complete
@ -173,15 +179,16 @@
<a-checkbox v-model="details.feeself"> </a-checkbox> <a-checkbox v-model="details.feeself"> </a-checkbox>
</div> </div>
</div> </div>
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="报关行" label="报关行"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="customser"
> >
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
@ -194,15 +201,16 @@
@change="customserChange" @change="customserChange"
@focus="customserChange" @focus="customserChange"
/> />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="车队" label="车队"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="trucker"
> >
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
@ -215,15 +223,16 @@
@change="truckerChange" @change="truckerChange"
@focus="truckerChange" @focus="truckerChange"
/> />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="国外代理" label="国外代理"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="agentid"
> >
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
@ -236,28 +245,30 @@
@change="agentidChange" @change="agentidChange"
@focus="agentidChange" @focus="agentidChange"
/> />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="预抵日期" label="预抵日期"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="eta"
> >
<a-date-picker format="YYYY-MM-DD" v-model="details.eta"> <a-date-picker format="YYYY-MM-DD" v-model="details.eta">
<a-icon slot="suffixIcon" type="time" style="display: none" /> <a-icon slot="suffixIcon" type="time" style="display: none" />
</a-date-picker> </a-date-picker>
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="截港时间" label="截港时间"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="closingdate"
> >
<a-date-picker <a-date-picker
style="min-width:100px" style="min-width:100px"
@ -268,15 +279,16 @@
> >
<a-icon slot="suffixIcon" type="time" style="display: none" /> <a-icon slot="suffixIcon" type="time" style="display: none" />
</a-date-picker> </a-date-picker>
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="截单时间" label="截单时间"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="closedocdate"
> >
<a-date-picker <a-date-picker
style="min-width:100px" style="min-width:100px"
@ -287,15 +299,16 @@
> >
<a-icon slot="suffixIcon" type="time" style="display: none" /> <a-icon slot="suffixIcon" type="time" style="display: none" />
</a-date-picker> </a-date-picker>
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="VGM时间" label="VGM时间"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="closevgmdate"
> >
<a-date-picker <a-date-picker
style="min-width:100px" style="min-width:100px"
@ -306,15 +319,16 @@
> >
<a-icon slot="suffixIcon" type="time" style="display: none" /> <a-icon slot="suffixIcon" type="time" style="display: none" />
</a-date-picker> </a-date-picker>
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="收货代码" label="收货代码"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="placereceiptid"
> >
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
@ -327,26 +341,28 @@
@change="placereceiptChange" @change="placereceiptChange"
@focus="placereceiptChange" @focus="placereceiptChange"
></auto-complete> ></auto-complete>
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="收货地" label="收货地"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="placereceipt"
> >
<a-input :allowClear="true" v-model="details.placereceipt" /> <a-input :allowClear="true" v-model="details.placereceipt" />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="装货港代码" label="装货港代码"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="portloadid"
> >
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
@ -359,26 +375,28 @@
@change="portloadChange" @change="portloadChange"
@focus="portloadChange" @focus="portloadChange"
></auto-complete> ></auto-complete>
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="装货港" label="装货港"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="portload"
> >
<a-input :allowClear="true" v-model="details.portload" /> <a-input :allowClear="true" v-model="details.portload" />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="中转港代码" label="中转港代码"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="transportid"
> >
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
@ -391,26 +409,28 @@
@change="transportChange" @change="transportChange"
@focus="transportChange" @focus="transportChange"
/> />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="中转港" label="中转港"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="transport"
> >
<a-input :allowClear="true" v-model="details.transport" /> <a-input :allowClear="true" v-model="details.transport" />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="卸货港代码" label="卸货港代码"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="portdischargeid"
> >
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
@ -423,26 +443,28 @@
@change="portdischargeChange" @change="portdischargeChange"
@focus="portdischargeChange" @focus="portdischargeChange"
/> />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="卸货港" label="卸货港"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="portdischarge"
> >
<a-input :allowClear="true" v-model="details.portdischarge" /> <a-input :allowClear="true" v-model="details.portdischarge" />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="目的代码" label="目的代码"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="destinationid"
> >
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
@ -455,26 +477,28 @@
@change="destinationChange" @change="destinationChange"
@focus="destinationChange" @focus="destinationChange"
/> />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="目的地" label="目的地"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="destination"
> >
<a-input :allowClear="true" v-model="details.destination" /> <a-input :allowClear="true" v-model="details.destination" />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="交货代码" label="交货代码"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="placedeliveryid"
> >
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
@ -487,37 +511,40 @@
@change="placedeliveryChange" @change="placedeliveryChange"
@focus="placedeliveryChange" @focus="placedeliveryChange"
/> />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="交货地" label="交货地"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="placedelivery"
> >
<a-input :allowClear="true" v-model="details.placedelivery" /> <a-input :allowClear="true" v-model="details.placedelivery" />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="件数" label="件数"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="pkgs"
> >
<a-input :allowClear="true" v-model="details.pkgs" type="number" @change="changePkgs"/> <a-input :allowClear="true" v-model="details.pkgs" type="number" @change="changePkgs"/>
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="包装" label="包装"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="kindpkgs"
> >
<auto-complete <auto-complete
:allowClear="true" :allowClear="true"
@ -530,38 +557,40 @@
@change="kindpkgsChange" @change="kindpkgsChange"
@focus="kindpkgsChange" @focus="kindpkgsChange"
/> />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="毛重" label="毛重"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="kgs"
> >
<div class="line-box"> <div class="line-box">
<a-input :allowClear="true" v-model="details.kgs" /><span class="unit">KGS</span> <a-input :allowClear="true" v-model="details.kgs" /><span class="unit">KGS</span>
</div> </div>
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="尺寸" label="尺寸"
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
has-feedback has-feedback
prop="cbm"
> >
<div class="line-box"> <div class="line-box">
<a-input :allowClear="true" v-model="details.cbm" /><span class="unit">CBM</span> <a-input :allowClear="true" v-model="details.cbm" /><span class="unit">CBM</span>
</div> </div>
</a-form-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
</a-form> </a-col>
</a-col> </a-row>
</a-row> </a-form-model>
</div> </div>
<a-modal <a-modal
@ -595,7 +624,7 @@
<a-form> <a-form>
<a-row> <a-row>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="联系人" label="联系人"
:labelCol="YardlabelCol" :labelCol="YardlabelCol"
@ -604,10 +633,10 @@
style="overflow: visible;" style="overflow: visible;"
> >
<a-input v-model="details.yardcontract" /> <a-input v-model="details.yardcontract" />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="电话" label="电话"
:labelCol="YardlabelCol" :labelCol="YardlabelCol"
@ -616,10 +645,10 @@
style="overflow: visible;" style="overflow: visible;"
> >
<a-input v-model="details.yardcontracttel" /> <a-input v-model="details.yardcontracttel" />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item <a-form-model-item
class="from-label" class="from-label"
label="邮箱" label="邮箱"
:labelCol="YardlabelCol" :labelCol="YardlabelCol"
@ -628,7 +657,7 @@
style="overflow: visible;" style="overflow: visible;"
> >
<a-input v-model="details.yardcontractemail" /> <a-input v-model="details.yardcontractemail" />
</a-form-item> </a-form-model-item>
</a-col> </a-col>
</a-row> </a-row>
</a-form> </a-form>
@ -716,7 +745,36 @@ export default {
customerModelconfirm: false, customerModelconfirm: false,
showShipper: '', showShipper: '',
showConsignee: '', showConsignee: '',
showNotifier: '' showNotifier: '',
rules: {
// shipper: [ { required: true, message: '', trigger: 'blur' } ],
// consignee: [ { required: true, message: '', trigger: 'blur' } ],
// notifyparty: [ { required: true, message: '', trigger: 'blur' } ],
// yard: [ { required: true, message: '', trigger: 'blur' } ],
// customser: [ { required: true, message: '', trigger: 'blur' } ],
// trucker: [ { required: true, message: '', trigger: 'blur' } ],
// agentid: [ { required: true, message: '', trigger: 'blur' } ],
// eta: [ { required: true, message: '', trigger: 'blur' } ],
// closingdate: [ { required: true, message: '', trigger: 'blur' } ],
// closedocdate: [ { required: true, message: '', trigger: 'blur' } ],
// closevgmdate: [ { required: true, message: 'VGM', trigger: 'blur' } ],
// placereceiptid: [ { required: true, message: '', trigger: 'blur' } ],
// placereceipt: [ { required: true, message: '', trigger: 'blur' } ],
// portloadid: [ { required: true, message: '', trigger: 'blur' } ],
// portload: [ { required: true, message: '', trigger: 'blur' } ],
// transportid: [ { required: true, message: '', trigger: 'blur' } ],
// transport: [ { required: true, message: '', trigger: 'blur' } ],
// portdischargeid: [ { required: true, message: '', trigger: 'blur' } ],
// portdischarge: [ { required: true, message: '', trigger: 'blur' } ],
// destinationid: [ { required: true, message: '', trigger: 'blur' } ],
// destination: [ { required: true, message: '', trigger: 'blur' } ],
// placedeliveryid: [ { required: true, message: '', trigger: 'blur' } ],
// placedelivery: [ { required: true, message: '', trigger: 'blur' } ],
// pkgs: [ { required: true, message: '', trigger: 'blur' } ],
// kindpkgs: [ { required: true, message: '', trigger: 'blur' } ],
// kgs: [ { required: true, message: '', trigger: 'blur' } ],
// cbm: [ { required: true, message: '', trigger: 'blur' } ],
}
} }
}, },
watch: { watch: {
@ -963,6 +1021,17 @@ export default {
}, 2000) }, 2000)
}, },
methods: { methods: {
checkbasic () {
this.$refs.mailingFrom.validate(valid => {
console.log(valid)
if (valid) {
console.log('验证成功!');
} else {
console.log('验证失败!');
return false;
}
});
},
// ========== ========== // ========== ==========
changeYard(type) { changeYard(type) {
if (type == 'remark') { if (type == 'remark') {
@ -1646,7 +1715,9 @@ export default {
.top { .top {
margin-bottom: 15px; margin-bottom: 15px;
min-height: 32px; min-height: 32px;
line-height: 32px;
overflow: hidden; overflow: hidden;
display: flex;
.name { .name {
display: inline-block; display: inline-block;
font-size: 13px; font-size: 13px;
@ -1666,6 +1737,9 @@ export default {
margin-top: 5px; margin-top: 5px;
margin-right: 25px; margin-right: 25px;
} }
.customer-input{
flex: 1;
}
.btn { .btn {
width: 20px; width: 20px;
height: 20px; height: 20px;
@ -1733,6 +1807,9 @@ export default {
font-size: 12px; font-size: 12px;
line-height: 20px; line-height: 20px;
} }
textarea{
line-height: 22px;
}
.line-count { .line-count {
width: 24px; width: 24px;
padding-top: 3px; padding-top: 3px;
@ -1753,14 +1830,37 @@ export default {
} }
} }
} }
.sender-label{
position: relative;
margin-bottom: 0px !important;
/deep/ .ant-form-item-children-icon{
position: absolute;
top: calc(100% + 15px);
left: 0;
}
/deep/ .ant-form-explain{
padding-left: 33px;
margin-top: -15px;
}
}
.yard-box { .yard-box {
position: relative; position: relative;
margin-top: 5px;
i { i {
color: @primary-color; color: @primary-color;
margin-top: -3px !important; margin-top: -5px !important;
cursor: pointer; cursor: pointer;
} }
} }
.yarn-label{
position: relative;
/deep/ .ant-form-item-children-icon{
// position: absolute;
// top: 13px;
// right: 44px;
display: none;
}
}
.content { .content {
.label { .label {
margin-bottom: 10px; margin-bottom: 10px;
@ -1783,6 +1883,7 @@ export default {
.line-box { .line-box {
display: flex; display: flex;
margin-top: 6px;
span.unit { span.unit {
font-size: 12px; font-size: 12px;
color: #999; color: #999;
@ -1797,5 +1898,14 @@ export default {
top: 15px !important; top: 15px !important;
right: -22px !important; right: -22px !important;
} }
.yarn-label {
position: relative;
/deep/ .ant-form-item-children-icon{
// position: absolute;
// top: 13px;
// right: 15px;
display: none;
}
}
} }
</style> </style>

@ -61,11 +61,12 @@
</button> </button>
</div> </div>
<div <div
v-if="!details.hbList || details.hbList.length === 0"
class="btn-list single-view-1" class="btn-list single-view-1"
:style="{ width: '150px' }" :style="{ width: '150px' }"
> >
<button @click="addChild()" v-if="!details.hbList || details.hbList.length === 0"><span class="iconfont icon-zhizhishu"></span></button> <button @click="addChild()"><span class="iconfont icon-zhizhishu"></span>添加分</button>
<button><span class="iconfont icon-electronic-signature"></span>自定义必填项</button> <!-- <button><span class="iconfont icon-electronic-signature"></span>自定义必填项</button> -->
</div> </div>
</a-card> </a-card>

@ -500,7 +500,7 @@ export default {
this.formRes = data this.formRes = data
}, },
tableMoreRefresh() { tableMoreRefresh() {
const arr = this.formRes.MBLNO.split(/-||,|[.]/) const arr = this.formRes.MBLNO.split(/|,/)
let val = `` let val = ``
arr.map((item, index) => { arr.map((item, index) => {
val += `${item} val += `${item}
@ -645,8 +645,8 @@ export default {
if (this.tableOrderType !== '') { if (this.tableOrderType !== '') {
query.DescStr = this.tableOrderType === 'desc' query.DescStr = this.tableOrderType === 'desc'
} }
if (query.MBLNO && query.MBLNO.split(/-||,|[.]/).length > 0) { if (query.MBLNO && query.MBLNO.split(/|,/).length > 0) {
const arr = this.formRes.MBLNO.split(/-||,|[.]/) const arr = this.formRes.MBLNO.split(/|,/)
query.MBLNO = arr.toString() query.MBLNO = arr.toString()
} }
BookingOrderPage(query) BookingOrderPage(query)

Loading…
Cancel
Save