|
@@ -115,7 +115,7 @@
|
|
|
<span style="font-size: 14px">唛头</span>
|
|
|
</div>
|
|
|
<div style="margin-top: 10px">
|
|
|
- <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.mShipperCnName"
|
|
|
+ <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.marks"
|
|
|
size="small" autocomplete="off"
|
|
|
:disabled="detailData.seeDisabled" rows="5"
|
|
|
clearable placeholder="备注唛头" ></el-input>
|
|
@@ -147,7 +147,7 @@
|
|
|
<el-form-item label="货物描述" prop="mShipperCnName" >
|
|
|
<el-col :span="16">
|
|
|
<el-checkbox size="medium" v-model="checked">危险品</el-checkbox>
|
|
|
- <el-checkbox size="medium" v-model="checked">大件货</el-checkbox>
|
|
|
+ <el-checkbox size="medium" :true-label="1" :false-label="0" v-model="assemblyForm.isLargeCargo">大件货</el-checkbox>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-button size="small">详细内容</el-button>
|
|
@@ -186,7 +186,7 @@
|
|
|
<el-form-item label="船名" prop="carrierCnName" label-width="80px" >
|
|
|
<el-input type="age" style="width: 100%;" v-model="assemblyForm.vesselCnName"
|
|
|
size="small" autocomplete="off"
|
|
|
- :disabled="detailData.vesselCnName"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
clearable placeholder="请选择船名" ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -194,66 +194,77 @@
|
|
|
<el-form-item label="航次" prop="carrierCnName" label-width="50px" >
|
|
|
<el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
|
|
|
size="small" autocomplete="off"
|
|
|
- :disabled="detailData.voyageNo"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
clearable placeholder="请选择航次" ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</div>
|
|
|
- <el-form-item label="ETD" prop="carrierCnName">
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.vesselCnName"
|
|
|
- size="small" autocomplete="off"
|
|
|
- :disabled="detailData.vesselCnName"
|
|
|
- clearable placeholder="请选择ETD" ></el-input>
|
|
|
+ <el-form-item label="ETD" prop="etd">
|
|
|
+ <el-date-picker v-model="assemblyForm.etd" clearable
|
|
|
+ type="date" size="small" :disabled="detailData.seeDisabled"
|
|
|
+ value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ placeholder="选择日期">
|
|
|
+ </el-date-picker>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="订舱日期" prop="bookingDate">
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.bookingDate"
|
|
|
- size="small" autocomplete="off"
|
|
|
- :disabled="detailData.bookingDate"
|
|
|
- clearable placeholder="请选择订舱日期" ></el-input>
|
|
|
+ <el-date-picker v-model="assemblyForm.bookingDate" clearable
|
|
|
+ type="date" size="small" :disabled="detailData.seeDisabled"
|
|
|
+ value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ placeholder="选择日期">
|
|
|
+ </el-date-picker>
|
|
|
</el-form-item>
|
|
|
+
|
|
|
<div>
|
|
|
- <el-checkbox size="medium" v-model="checked">陆运</el-checkbox>
|
|
|
- <el-checkbox size="medium" v-model="checked">需报关</el-checkbox>
|
|
|
- <el-checkbox size="medium" v-model="checked">需三检</el-checkbox>
|
|
|
+ <el-checkbox size="medium" :true-label="1" :false-label="0" v-model="assemblyForm.isNeedLand">陆运</el-checkbox>
|
|
|
+ <el-checkbox size="medium" :true-label="1" :false-label="0" v-model="assemblyForm.isNeedDeclare">需报关</el-checkbox>
|
|
|
+ <el-checkbox size="medium" :true-label="1" :false-label="0" v-model="assemblyForm.isNeedIq">需三检</el-checkbox>
|
|
|
</div>
|
|
|
+
|
|
|
<el-form-item label="箱数或件数大写" prop="carrierCnName" label-width="100px">
|
|
|
<el-input type="age" style="width: 100%;" v-model="assemblyForm.vesselCnName"
|
|
|
size="small" autocomplete="off"
|
|
|
- :disabled="detailData.vesselCnName"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
clearable placeholder="请选择ETD" ></el-input>
|
|
|
</el-form-item>
|
|
|
<div>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="件数" prop="carrierCnName" label-width="80px" >
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.vesselCnName"
|
|
|
+ <el-form-item label="件数" prop="quantity" label-width="80px" >
|
|
|
+ <el-input type="age" style="width: 100%;" v-model="assemblyForm.quantity"
|
|
|
size="small" autocomplete="off"
|
|
|
- :disabled="detailData.vesselCnName"
|
|
|
- clearable placeholder="请选择船名" ></el-input>
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
+ clearable placeholder="件数" ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="包装" prop="carrierCnName" label-width="50px" >
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
|
|
|
- size="small" autocomplete="off"
|
|
|
- :disabled="detailData.voyageNo"
|
|
|
- clearable placeholder="请选择航次" ></el-input>
|
|
|
+ <el-form-item label="包装" prop="packingUnit" label-width="50px" >
|
|
|
+ <search-query :datalist="packingUnitData"
|
|
|
+ :selectValue="assemblyForm.packingUnit"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
+ :buttonIf="false"
|
|
|
+ :forParameter="{key:'id',label:'cnName',value:'cnName'}"
|
|
|
+ @remoteMethod="remoteMethod($event,'packingUnit')"
|
|
|
+ @corpChange="corpChange($event,'packingUnit')" >
|
|
|
+ </search-query>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</div>
|
|
|
<div>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="毛重" prop="carrierCnName" label-width="80px" >
|
|
|
+ <el-form-item label="毛重" prop="grossWeight" label-width="80px" >
|
|
|
<el-input type="age" style="width: 100%;" v-model="assemblyForm.grossWeight"
|
|
|
size="small" autocomplete="off"
|
|
|
- :disabled="detailData.grossWeight"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
clearable placeholder="请选择毛重" ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="尺码" prop="carrierCnName" label-width="50px" >
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
|
|
|
+ <el-form-item label="尺码" prop="measurement" label-width="50px" >
|
|
|
+ <el-input type="age" style="width: 100%;" v-model="assemblyForm.measurement"
|
|
|
size="small" autocomplete="off"
|
|
|
- :disabled="detailData.voyageNo"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
clearable placeholder="请选择尺码" ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -282,89 +293,110 @@
|
|
|
<span style="padding-left: 20px"></span>
|
|
|
<el-input type="age" style="width: 100%;" v-model="assemblyForm.placeReceiptNamePrint"
|
|
|
size="small" autocomplete="off"
|
|
|
- :disabled="detailData.voyageNo"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
clearable placeholder="收货地" ></el-input>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="装货港" prop="placeReceiptName" >
|
|
|
+ <el-form-item label="装货港" prop="polCnName" >
|
|
|
<el-row>
|
|
|
<el-col :span="16">
|
|
|
- <search-query :datalist="placeReceiptData"
|
|
|
- :selectValue="assemblyForm.placeReceiptName"
|
|
|
+ <search-query :datalist="polData"
|
|
|
+ :selectValue="assemblyForm.polCnName"
|
|
|
:filterable="true"
|
|
|
:clearable="true"
|
|
|
:remote="true"
|
|
|
:disabled="detailData.seeDisabled"
|
|
|
:buttonIf="false"
|
|
|
:forParameter="{key:'id',label:'enName',value:'enName'}"
|
|
|
- @remoteMethod="remoteMethod($event,'placeReceipt')"
|
|
|
- @corpChange="corpChange($event,'placeReceipt')" >
|
|
|
+ @remoteMethod="remoteMethod($event,'pol')"
|
|
|
+ @corpChange="corpChange($event,'pol')" >
|
|
|
</search-query>
|
|
|
</el-col>
|
|
|
<el-col :span="7">
|
|
|
<span style="padding-left: 20px"></span>
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.placeReceiptNamePrint"
|
|
|
+ <el-input type="age" style="width: 100%;" v-model="assemblyForm.polNamePrint"
|
|
|
size="small" autocomplete="off"
|
|
|
- :disabled="detailData.voyageNo"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
clearable placeholder="装货港" ></el-input>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="卸货地" prop="carrierCnName" >
|
|
|
+ <el-form-item label="卸货港" prop="podCnName" >
|
|
|
<el-row>
|
|
|
<el-col :span="16">
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
|
|
|
- size="small" autocomplete="off"
|
|
|
- :disabled="detailData.voyageNo"
|
|
|
- clearable placeholder="请选择卸货地" ></el-input>
|
|
|
+ <search-query :datalist="polData"
|
|
|
+ :selectValue="assemblyForm.podCnName"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
+ :buttonIf="false"
|
|
|
+ :forParameter="{key:'id',label:'enName',value:'enName'}"
|
|
|
+ @remoteMethod="remoteMethod($event,'pod')"
|
|
|
+ @corpChange="corpChange($event,'pod')" >
|
|
|
+ </search-query>
|
|
|
</el-col>
|
|
|
<el-col :span="7">
|
|
|
<span style="padding-left: 20px"></span>
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
|
|
|
+ <el-input type="age" style="width: 100%;" v-model="assemblyForm.podNamePrint"
|
|
|
size="small" autocomplete="off"
|
|
|
- :disabled="detailData.voyageNo"
|
|
|
- clearable placeholder="请选择卸货地" ></el-input>
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
+ clearable placeholder="卸货港" ></el-input>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="目的地" prop="carrierCnName" >
|
|
|
+ <el-form-item label="目的地" prop="destinationName" >
|
|
|
<el-row>
|
|
|
<el-col :span="16">
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
|
|
|
- size="small" autocomplete="off"
|
|
|
- :disabled="detailData.voyageNo"
|
|
|
- clearable placeholder="请选择目的地" ></el-input>
|
|
|
+ <search-query :datalist="destinationData"
|
|
|
+ :selectValue="assemblyForm.destinationName"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
+ :buttonIf="false"
|
|
|
+ :forParameter="{key:'id',label:'enName',value:'enName'}"
|
|
|
+ @remoteMethod="remoteMethod($event,'destination')"
|
|
|
+ @corpChange="corpChange($event,'destination')" >
|
|
|
+ </search-query>
|
|
|
</el-col>
|
|
|
<el-col :span="7">
|
|
|
<span style="padding-left: 20px"></span>
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
|
|
|
+ <el-input type="age" style="width: 100%;" v-model="assemblyForm.destinationNamePrint"
|
|
|
size="small" autocomplete="off"
|
|
|
- :disabled="detailData.voyageNo"
|
|
|
- clearable placeholder="请选择目的地" ></el-input>
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
+ clearable placeholder="目的地" ></el-input>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="交货地" prop="carrierCnName" >
|
|
|
+ <el-form-item label="交货地" prop="placeDeliveryName" >
|
|
|
<el-row>
|
|
|
<el-col :span="16">
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
|
|
|
- size="small" autocomplete="off"
|
|
|
- :disabled="detailData.voyageNo"
|
|
|
- clearable placeholder="请选择交货地" ></el-input>
|
|
|
+ <search-query :datalist="placeDeliveryData"
|
|
|
+ :selectValue="assemblyForm.placeDeliveryName"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
+ :buttonIf="false"
|
|
|
+ :forParameter="{key:'id',label:'enName',value:'enName'}"
|
|
|
+ @remoteMethod="remoteMethod($event,'placeDelivery')"
|
|
|
+ @corpChange="corpChange($event,'placeDelivery')" >
|
|
|
+ </search-query>
|
|
|
</el-col>
|
|
|
<el-col :span="7">
|
|
|
<span style="padding-left: 20px"></span>
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
|
|
|
+ <el-input type="age" style="width: 100%;" v-model="assemblyForm.placeDeliveryNamePrint"
|
|
|
size="small" autocomplete="off"
|
|
|
- :disabled="detailData.voyageNo"
|
|
|
- clearable placeholder="请选择交货地" ></el-input>
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
+ clearable placeholder="交货地" ></el-input>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="16">
|
|
|
- <precontainers></precontainers>
|
|
|
+ <precontainers :pid="assemblyForm.id"></precontainers>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-form-item label="备注" prop="carrierCnName" >
|
|
@@ -376,17 +408,17 @@
|
|
|
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="外提单号" prop="carrierCnName" >
|
|
|
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
|
|
|
+ <el-form-item label="外提单号" prop="refno" >
|
|
|
+ <el-input type="age" style="width: 100%;" v-model="assemblyForm.refno"
|
|
|
size="small" autocomplete="off"
|
|
|
- :disabled="detailData.voyageNo"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
clearable placeholder="请输入外提单号" ></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="订舱代理" prop="carrierCnName" >
|
|
|
<el-col :span="8">
|
|
|
<el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo"
|
|
|
size="small" autocomplete="off"
|
|
|
- :disabled="detailData.voyageNo"
|
|
|
+ :disabled="detailData.seeDisabled"
|
|
|
clearable placeholder="请输入订舱代理" ></el-input>
|
|
|
</el-col>
|
|
|
<el-col :span="16">
|
|
@@ -487,6 +519,7 @@ import precontainers
|
|
|
import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
|
|
|
import {getBcorpslistByType} from "@/api/iosBasicData/bcorps";
|
|
|
import {bportsList} from "@/api/iosBasicData/bports";
|
|
|
+import {bpackagesList} from "@/api/iosBasicData/bpackages";
|
|
|
|
|
|
export default {
|
|
|
props:{
|
|
@@ -514,6 +547,16 @@ import {bportsList} from "@/api/iosBasicData/bports";
|
|
|
hNotify2Visible:false,
|
|
|
// 收货地
|
|
|
placeReceiptData:[],
|
|
|
+ // 装货港
|
|
|
+ polData:[],
|
|
|
+ // 卸货港
|
|
|
+ podData:[],
|
|
|
+ // 目的地
|
|
|
+ destinationData:[],
|
|
|
+ // 交货地
|
|
|
+ placeDeliveryData:[],
|
|
|
+ // 包装
|
|
|
+ packingUnitData:[],
|
|
|
|
|
|
}
|
|
|
},
|
|
@@ -525,18 +568,29 @@ import {bportsList} from "@/api/iosBasicData/bports";
|
|
|
this.hNotify2BcorpsListfun()
|
|
|
// 港口接口
|
|
|
this.placeReceiptBportsListfun()
|
|
|
+ this.polBportsListfun()
|
|
|
+ this.podBportsListfun()
|
|
|
+ this.destinationBportsListfun()
|
|
|
+ this.placeDeliveryBportsListfun()
|
|
|
+ // 包装
|
|
|
+ this.packingUnitBpackagesListfun()
|
|
|
},
|
|
|
methods:{
|
|
|
// 远程搜索
|
|
|
remoteMethod(value,name){
|
|
|
let arr = ['hShipper','hConsignee','hNotify','hNotify2']
|
|
|
- let portArr = ['placeReceipt']
|
|
|
+ let portArr = ['placeReceipt','pol','pod','destination','placeDelivery']
|
|
|
if (arr.indexOf(name) != -1) {
|
|
|
this[name + 'BcorpsListfun'](value)
|
|
|
}
|
|
|
+ // 港口
|
|
|
else if (portArr.indexOf(name) != -1) {
|
|
|
this[name + 'BportsListfun'](value)
|
|
|
}
|
|
|
+ // 包装
|
|
|
+ else if (name == 'packingUnit') {
|
|
|
+ this.packingUnitBpackagesListfun(value)
|
|
|
+ }
|
|
|
else {
|
|
|
|
|
|
}
|
|
@@ -544,7 +598,8 @@ import {bportsList} from "@/api/iosBasicData/bports";
|
|
|
// 选择框的回调
|
|
|
corpChange(value,name) {
|
|
|
let arr = ['hShipper','hConsignee','hNotify','hNotify2']
|
|
|
- let portArr = ['placeReceipt']
|
|
|
+ let portArr = ['placeReceipt','destination','placeDelivery']
|
|
|
+ let cnPorArr = ['pol','pod']
|
|
|
if (arr.indexOf(name) != -1) {
|
|
|
for(let item of this[name + 'Data']) {
|
|
|
if (item.cnName == value) {
|
|
@@ -560,6 +615,19 @@ import {bportsList} from "@/api/iosBasicData/bports";
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ // 有中文名称的港口
|
|
|
+ else if (cnPorArr.indexOf(name) != -1) {
|
|
|
+ for(let item of this[name + 'Data']) {
|
|
|
+ if (item.enName == value) {
|
|
|
+ this.$set(this.assemblyForm,name + 'Id',item.id)
|
|
|
+ this.$set(this.assemblyForm,name + 'CnName',item.cnName)
|
|
|
+ this.$set(this.assemblyForm,name + 'EnName',item.enName)
|
|
|
+ this.$set(this.assemblyForm,name + 'Code',item.code)
|
|
|
+ this.$set(this.assemblyForm,name + 'NamePrint',item.enName)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 没有中文名的港口
|
|
|
else if (portArr.indexOf(name) != -1) {
|
|
|
for(let item of this[name + 'Data']) {
|
|
|
if (item.enName == value) {
|
|
@@ -570,6 +638,15 @@ import {bportsList} from "@/api/iosBasicData/bports";
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ // 包装
|
|
|
+ else if (name == 'packingUnit') {
|
|
|
+ for(let item of this[name + 'Data']) {
|
|
|
+ if (item.cnName == value) {
|
|
|
+ this.$set(this.assemblyForm,'packingUnitId',item.id)
|
|
|
+ this.$set(this.assemblyForm,'packingUnit',item.cnName)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
else {}
|
|
|
},
|
|
|
// 通知人添加第二个通知人弹窗
|
|
@@ -641,6 +718,37 @@ import {bportsList} from "@/api/iosBasicData/bports";
|
|
|
this.placeReceiptData = res.data.data.records
|
|
|
})
|
|
|
},
|
|
|
+ // 装货港数据
|
|
|
+ polBportsListfun(enName){
|
|
|
+ bportsList(1,10,{enName}).then(res=>{
|
|
|
+ this.polData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 卸货港数据
|
|
|
+ podBportsListfun(enName){
|
|
|
+ bportsList(1,10,{enName}).then(res=>{
|
|
|
+ this.podData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 目的地
|
|
|
+ destinationBportsListfun(enName){
|
|
|
+ bportsList(1,10,{enName}).then(res=>{
|
|
|
+ this.destinationData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 交货地
|
|
|
+ placeDeliveryBportsListfun(enName){
|
|
|
+ bportsList(1,10,{enName}).then(res=>{
|
|
|
+ this.placeDeliveryData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 包装数据
|
|
|
+ packingUnitBpackagesListfun(cnName) {
|
|
|
+ bpackagesList(1,10,{cnName}).then(res=>{
|
|
|
+ this.packingUnitData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
|
|
|
}
|
|
|
|