|  | @@ -147,6 +147,8 @@
 | 
	
		
			
				|  |  |                                          :clearable="true" :remote="true" :joinData="true" :special="true"
 | 
	
		
			
				|  |  |                                          :disabled="detailData.seeDisabled" :buttonIf="false" placeholder="请选择收货地"
 | 
	
		
			
				|  |  |                                          :forParameter="{ key: 'id', short: 'code', label: 'enName', value: 'enName' }"
 | 
	
		
			
				|  |  | +                                        :multi-columns="true"
 | 
	
		
			
				|  |  | +                                        :dropdown-columns="portDorpdownColumns"
 | 
	
		
			
				|  |  |                                          @remoteMethod="remoteMethod($event, 'placeReceipt')"
 | 
	
		
			
				|  |  |                                          @corpChange="corpChange($event, 'placeReceipt')"
 | 
	
		
			
				|  |  |                                          @corpFocus="remoteMethod($event, 'placeReceipt')">
 | 
	
	
		
			
				|  | @@ -179,6 +181,8 @@
 | 
	
		
			
				|  |  |                                          :special="true" :disabled="detailData.seeDisabled || generateBillsfalse"
 | 
	
		
			
				|  |  |                                          :buttonIf="false" placeholder="请选择装货港"
 | 
	
		
			
				|  |  |                                          :forParameter="{ key: 'id', short: 'code', label: 'enName', value: 'enName' }"
 | 
	
		
			
				|  |  | +                                        :multi-columns="true"
 | 
	
		
			
				|  |  | +                                        :dropdown-columns="portDorpdownColumns"
 | 
	
		
			
				|  |  |                                          @remoteMethod="remoteMethod($event, 'pol')"
 | 
	
		
			
				|  |  |                                          @corpChange="corpChange($event, 'pol')"
 | 
	
		
			
				|  |  |                                          @corpFocus="remoteMethod($event, 'pol')">
 | 
	
	
		
			
				|  | @@ -211,6 +215,8 @@
 | 
	
		
			
				|  |  |                                          :joinData="true" :special="true" :disabled="detailData.seeDisabled"
 | 
	
		
			
				|  |  |                                          :buttonIf="false" placeholder="请选择卸货港"
 | 
	
		
			
				|  |  |                                          :forParameter="{ key: 'id', short: 'code', label: 'enName', value: 'enName' }"
 | 
	
		
			
				|  |  | +                                        :multi-columns="true"
 | 
	
		
			
				|  |  | +                                        :dropdown-columns="portDorpdownColumns"
 | 
	
		
			
				|  |  |                                          @remoteMethod="remoteMethod($event, 'pod')"
 | 
	
		
			
				|  |  |                                          @corpChange="corpChange($event, 'pod')"
 | 
	
		
			
				|  |  |                                          @corpFocus="remoteMethod($event, 'pod')">
 | 
	
	
		
			
				|  | @@ -243,6 +249,8 @@
 | 
	
		
			
				|  |  |                                          :disabled="detailData.seeDisabled || generateBillsfalse" :buttonIf="false"
 | 
	
		
			
				|  |  |                                          placeholder="请选择目的地"
 | 
	
		
			
				|  |  |                                          :forParameter="{ key: 'id', short: 'code', label: 'enName', value: 'enName' }"
 | 
	
		
			
				|  |  | +                                        :multi-columns="true"
 | 
	
		
			
				|  |  | +                                        :dropdown-columns="portDorpdownColumns"
 | 
	
		
			
				|  |  |                                          @remoteMethod="remoteMethod($event, 'destination')"
 | 
	
		
			
				|  |  |                                          @corpChange="corpChange($event, 'destination')"
 | 
	
		
			
				|  |  |                                          @corpFocus="remoteMethod($event, 'destination')">
 | 
	
	
		
			
				|  | @@ -275,6 +283,8 @@
 | 
	
		
			
				|  |  |                                          :clearable="true" :remote="true" :disabled="detailData.seeDisabled"
 | 
	
		
			
				|  |  |                                          :buttonIf="false" placeholder="请选择交货地"
 | 
	
		
			
				|  |  |                                          :forParameter="{ key: 'id', short: 'code', label: 'enName', value: 'enName' }"
 | 
	
		
			
				|  |  | +                                        :multi-columns="true"
 | 
	
		
			
				|  |  | +                                        :dropdown-columns="portDorpdownColumns"
 | 
	
		
			
				|  |  |                                          @remoteMethod="remoteMethod($event, 'placeDelivery')"
 | 
	
		
			
				|  |  |                                          @corpChange="corpChange($event, 'placeDelivery')"
 | 
	
		
			
				|  |  |                                          @corpFocus="remoteMethod($event, 'placeDelivery')">
 | 
	
	
		
			
				|  | @@ -307,6 +317,8 @@
 | 
	
		
			
				|  |  |                                          :special="true" :disabled="detailData.seeDisabled" :buttonIf="false"
 | 
	
		
			
				|  |  |                                          placeholder="请选择中转港"
 | 
	
		
			
				|  |  |                                          :forParameter="{ key: 'id', short: 'code', label: 'enName', value: 'enName' }"
 | 
	
		
			
				|  |  | +                                        :multi-columns="true"
 | 
	
		
			
				|  |  | +                                        :dropdown-columns="portDorpdownColumns"
 | 
	
		
			
				|  |  |                                          @remoteMethod="remoteMethod($event, 'pot')"
 | 
	
		
			
				|  |  |                                          @corpChange="corpChange($event, 'pot')"
 | 
	
		
			
				|  |  |                                          @corpFocus="remoteMethod($event, 'pot')">
 | 
	
	
		
			
				|  | @@ -416,11 +428,14 @@
 | 
	
		
			
				|  |  |                              <span slot="label">
 | 
	
		
			
				|  |  |                                  <span style="color: #1e9fff">ETD</span>
 | 
	
		
			
				|  |  |                              </span>
 | 
	
		
			
				|  |  | -                            <el-date-picker v-model="assemblyForm.etd" clearable style="width: 100%" type="date"
 | 
	
		
			
				|  |  | +                            <el-date-picker v-model="assemblyForm.etd" clearable style="width: 60%" type="date"
 | 
	
		
			
				|  |  |                                  size="small" :disabled="detailData.seeDisabled || generateBillsfalse"
 | 
	
		
			
				|  |  |                                  value-format="yyyy-MM-dd" :picker-options="etdPickerOptions" placeholder="请选择ETD日期"
 | 
	
		
			
				|  |  |                                  @change="handlePick">
 | 
	
		
			
				|  |  |                              </el-date-picker>
 | 
	
		
			
				|  |  | +                            <el-button style="margin-left: 6px" size="small" type="primary"
 | 
	
		
			
				|  |  | +                                       :disabled="!assemblyForm.id" @click="copyReceiptUrl(assemblyForm.id)">背箱小票链接
 | 
	
		
			
				|  |  | +                            </el-button>
 | 
	
		
			
				|  |  |                          </el-form-item>
 | 
	
		
			
				|  |  |                          <div>
 | 
	
		
			
				|  |  |                              <el-form-item label="船名" prop="vesselCnName" label-width="90px">
 | 
	
	
		
			
				|  | @@ -439,6 +454,8 @@
 | 
	
		
			
				|  |  |                                      :filterable="true" :clearable="true" :remote="true" :allowCreate="true"
 | 
	
		
			
				|  |  |                                      :disabled="detailData.seeDisabled || generateBillsfalse" :buttonIf="false"
 | 
	
		
			
				|  |  |                                      placeholder="请选择船名" :forParameter="{ key: 'id', label: 'enName', value: 'enName' }"
 | 
	
		
			
				|  |  | +                                    :multi-columns="true"
 | 
	
		
			
				|  |  | +                                    :dropdown-columns="corpDorpdownColumns"
 | 
	
		
			
				|  |  |                                      @remoteMethod="remoteMethod($event, 'vessel')"
 | 
	
		
			
				|  |  |                                      @corpChange="corpChange($event, 'vessel')"
 | 
	
		
			
				|  |  |                                      @corpFocus="remoteMethod($event, 'vessel')">
 | 
	
	
		
			
				|  | @@ -905,7 +922,7 @@ import { bportsList } from "@/api/iosBasicData/bports";
 | 
	
		
			
				|  |  |  import { bpackagesList } from "@/api/iosBasicData/bpackages";
 | 
	
		
			
				|  |  |  import { bcommodityList } from "@/api/iosBasicData/bcommodity";
 | 
	
		
			
				|  |  |  import { getBvesselsList } from "@/api/iosBasicData/bvessels";
 | 
	
		
			
				|  |  | -import { blinesList } from "@/api/iosBasicData/blines";
 | 
	
		
			
				|  |  | +import {blinesList, getReceiptUrl} from "@/api/iosBasicData/blines";
 | 
	
		
			
				|  |  |  import { bcorpstypedefineList } from "@/api/iosBasicData/bcorpstypedefine";
 | 
	
		
			
				|  |  |  import bcorpstypedefine from "@/views/iosBasicData/bcorps/bcorpstypedefine.vue";
 | 
	
		
			
				|  |  |  import { textareaWrap } from "@/util/messageReminder";
 | 
	
	
		
			
				|  | @@ -1044,9 +1061,33 @@ export default {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              marksIndex: 1,
 | 
	
		
			
				|  |  |              business:null,
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            // KL,CUSTOMS,MOL
 | 
	
		
			
				|  |  | +            ediColumns:['INTTRA','MAEU','OOCL','APL','PIL','HJ','HMM','ESL','ZIM','PO','MSC','CSAV','QQCT','CTM','SML','VOLTA'],
 | 
	
		
			
				|  |  | +            // 港口下拉列
 | 
	
		
			
				|  |  | +            portDorpdownColumns:[],
 | 
	
		
			
				|  |  | +            // 客户下拉列
 | 
	
		
			
				|  |  | +            corpDorpdownColumns:[],
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      created() {
 | 
	
		
			
				|  |  | +        let pdColumns = [
 | 
	
		
			
				|  |  | +            {key: 'code', field: 'code', label: '编码', width: '80px'},
 | 
	
		
			
				|  |  | +            {key: 'enName', field: 'enName', label: '名称', width: '200px'},
 | 
	
		
			
				|  |  | +        ]
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        let cpColumns = [
 | 
	
		
			
				|  |  | +            {key: 'enName', field: 'enName', label: '名称', width: '200px'},
 | 
	
		
			
				|  |  | +        ]
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        this.ediColumns.forEach(col=>{
 | 
	
		
			
				|  |  | +            pdColumns.push({key: col, field: col, label: col, fontSize: '10px', width: '45px'})
 | 
	
		
			
				|  |  | +            cpColumns.push({key: col, field: col, label: col, fontSize: '10px', width: '45px'})
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        this.portDorpdownColumns = pdColumns;
 | 
	
		
			
				|  |  | +        this.corpDorpdownColumns = cpColumns;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          isProcurement({ "param": "textarea.number" }).then(res => {
 | 
	
		
			
				|  |  |              if (res.data.data) {
 | 
	
		
			
				|  |  |                  this.textareaNumber = res.data.data
 | 
	
	
		
			
				|  | @@ -1350,7 +1391,21 @@ export default {
 | 
	
		
			
				|  |  |                          this.$set(this.assemblyForm, name + 'NamePrint', item.enName)
 | 
	
		
			
				|  |  |                          if (this.business == 1) {
 | 
	
		
			
				|  |  |                              if (name == 'placeDelivery') {
 | 
	
		
			
				|  |  | +                                let wt = Number(item.weightLimit), gw=Number(this.assemblyForm.grossWeight), sm = typeof item.specalMarks == 'string' ? item.specalMarks.trim() : '', msg='';
 | 
	
		
			
				|  |  | +                                wt = isNaN(wt) ? 0 : wt;
 | 
	
		
			
				|  |  | +                                gw = isNaN(gw) ? 0 : gw;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                                msg += (wt>0 && gw>wt) ? `超出港口限重,限重:${wt},毛重:${gw}!` : ''
 | 
	
		
			
				|  |  | +                                msg += sm ? `<br/>港口特殊要求:${sm}!` : ''
 | 
	
		
			
				|  |  | +                                if(msg){
 | 
	
		
			
				|  |  | +                                    this.$confirm(msg, '提示', {
 | 
	
		
			
				|  |  | +                                        confirmButtonText: '确定',
 | 
	
		
			
				|  |  | +                                        showCancelButton: false,
 | 
	
		
			
				|  |  | +                                        type: 'warning'
 | 
	
		
			
				|  |  | +                                    })
 | 
	
		
			
				|  |  | +                                }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +                                /*
 | 
	
		
			
				|  |  |                                  if (Number(item.weightLimit) > 0 && !item.specalMarks) {
 | 
	
		
			
				|  |  |                                      if (Number(this.assemblyForm.grossWeight) > Number(item.weightLimit)) {
 | 
	
		
			
				|  |  |                                          this.$confirm(`超出港口限重,限重:${item.weightLimit},毛重:${this.assemblyForm.grossWeight}!`, '提示', {
 | 
	
	
		
			
				|  | @@ -1377,6 +1432,7 @@ export default {
 | 
	
		
			
				|  |  |                                          })
 | 
	
		
			
				|  |  |                                      }
 | 
	
		
			
				|  |  |                                  }
 | 
	
		
			
				|  |  | +                                */
 | 
	
		
			
				|  |  |                              }
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1777,39 +1833,55 @@ export default {
 | 
	
		
			
				|  |  |                  this.hnotify2Data = res.data.data.records
 | 
	
		
			
				|  |  |              })
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  | +        // EDI 信息转成列
 | 
	
		
			
				|  |  | +        processEDIAsColumns(records){
 | 
	
		
			
				|  |  | +            if(Array.isArray(records)){
 | 
	
		
			
				|  |  | +                records.forEach(rec=>{
 | 
	
		
			
				|  |  | +                    if(Array.isArray(rec.extendedDataArr)) {
 | 
	
		
			
				|  |  | +                        rec.extendedDataArr.forEach(js=>rec[js.name]=js.value);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                })
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  |          // 收货地数据 (港口表)
 | 
	
		
			
				|  |  |          placeReceiptBportsListfun(enName) {
 | 
	
		
			
				|  |  |              bportsList(1, 10, { enName, status: 0 }).then(res => {
 | 
	
		
			
				|  |  | +                this.processEDIAsColumns(res.data.data.records);
 | 
	
		
			
				|  |  |                  this.placeReceiptData = res.data.data.records
 | 
	
		
			
				|  |  |              })
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  |          // 装货港数据
 | 
	
		
			
				|  |  |          polBportsListfun(enName) {
 | 
	
		
			
				|  |  |              bportsList(1, 10, { enName, status: 0 }).then(res => {
 | 
	
		
			
				|  |  | +                this.processEDIAsColumns(res.data.data.records);
 | 
	
		
			
				|  |  |                  this.polData = res.data.data.records
 | 
	
		
			
				|  |  |              })
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  |          // 卸货港数据
 | 
	
		
			
				|  |  |          podBportsListfun(enName) {
 | 
	
		
			
				|  |  |              bportsList(1, 10, { enName, status: 0 }).then(res => {
 | 
	
		
			
				|  |  | +                this.processEDIAsColumns(res.data.data.records);
 | 
	
		
			
				|  |  |                  this.podData = res.data.data.records
 | 
	
		
			
				|  |  |              })
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  |          // 目的地
 | 
	
		
			
				|  |  |          destinationBportsListfun(enName) {
 | 
	
		
			
				|  |  |              bportsList(1, 10, { enName, status: 0 }).then(res => {
 | 
	
		
			
				|  |  | +                this.processEDIAsColumns(res.data.data.records);
 | 
	
		
			
				|  |  |                  this.destinationData = res.data.data.records
 | 
	
		
			
				|  |  |              })
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  |          // 交货地
 | 
	
		
			
				|  |  |          placeDeliveryBportsListfun(enName) {
 | 
	
		
			
				|  |  |              bportsList(1, 10, { enName, status: 0 }).then(res => {
 | 
	
		
			
				|  |  | +                this.processEDIAsColumns(res.data.data.records);
 | 
	
		
			
				|  |  |                  this.placeDeliveryData = res.data.data.records
 | 
	
		
			
				|  |  |              })
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  |          // 中转港
 | 
	
		
			
				|  |  |          potBportsListfun(enName) {
 | 
	
		
			
				|  |  |              bportsList(1, 10, { enName, status: 0 }).then(res => {
 | 
	
		
			
				|  |  | +                this.processEDIAsColumns(res.data.data.records);
 | 
	
		
			
				|  |  |                  this.potData = res.data.data.records
 | 
	
		
			
				|  |  |              })
 | 
	
		
			
				|  |  |          },
 | 
	
	
		
			
				|  | @@ -1896,6 +1968,17 @@ export default {
 | 
	
		
			
				|  |  |              })
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        copyReceiptUrl(id){
 | 
	
		
			
				|  |  | +            getReceiptUrl(id).then(res => {
 | 
	
		
			
				|  |  | +                console.info('res---', res)
 | 
	
		
			
				|  |  | +                const input = document.createElement('textarea');
 | 
	
		
			
				|  |  | +                document.body.appendChild(input);
 | 
	
		
			
				|  |  | +                input.value = res.data.data;
 | 
	
		
			
				|  |  | +                input.select();
 | 
	
		
			
				|  |  | +                document.execCommand('copy');
 | 
	
		
			
				|  |  | +                document.body.removeChild(input);
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  }
 |