| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590 |
- <template>
- <div>
- <el-form :model="assemblyForm" ref="form" label-width="90px" class="demo-ruleForm" :disabled="disabled">
- <el-row :gutter="20">
- <el-col span="8">
- <el-row>
- <el-form-item label="发货人" prop="hshipperCnName">
- <span slot="label">
- <span style="color: #1e9fff">{{ $t("sea118n.shipper") }}</span>
- </span>
- <div>
- <el-col :span="16">
- <search-query :datalist="hshipperData"
- :selectValue="assemblyForm.detail.hshipperCnName" :filterable="true"
- :clearable="true" :remote="true" :addIf="true" :tableIf="false"
- :disabled="detailData.seeDisabled" :joinData="true"
- :forParameter="{ key: 'id', short: 'code', label: 'cnName', value: 'cnName' }"
- placeholder="请选择发货人" @addJump="addJump('hshipper')"
- @remoteMethod="remoteMethod($event, 'hshipper')"
- @corpChange="corpChange($event, 'hshipper')"
- @corpFocus="remoteMethod($event, 'hshipper')">
- </search-query>
- </el-col>
- <el-col :span="8">
- <el-input type="age" style="width: 100%;"
- v-model="assemblyForm.detail.hshipperCntyName" size="small" autocomplete="off"
- :disabled="detailData.seeDisabled" clearable placeholder="发货人国家代码"></el-input>
- </el-col>
- </div>
- </el-form-item>
- <div style="margin-top: 4px">
- <el-form-item label="" prop="hshipperDetails">
- <el-input type="textarea" style="width: 100%;"
- v-model="assemblyForm.detail.hshipperDetails" size="small" autocomplete="off"
- :disabled="detailData.seeDisabled" :rows="textareaNumber" clearable
- placeholder="请输入发货人提单描述" @change="textareaBlur('hshipperDetails')"></el-input>
- </el-form-item>
- </div>
- <el-form-item label="收货人" prop="hconsigneeCnName">
- <span slot="label">
- <span style="color: #1e9fff">{{ $t("sea118n.cnee") }}</span>
- </span>
- <div>
- <el-col :span="16">
- <search-query :datalist="hconsigneeData"
- :selectValue="assemblyForm.detail.hconsigneeCnName" :filterable="true"
- :clearable="true" :remote="true" :joinData="true"
- :disabled="detailData.seeDisabled" :addIf="true" :tableIf="false"
- placeholder="请选择收货人"
- :forParameter="{ key: 'id', short: 'code', label: 'cnName', value: 'cnName' }"
- @addJump="addJump('hconsignee')"
- @remoteMethod="remoteMethod($event, 'hconsignee')"
- @corpChange="corpChange($event, 'hconsignee')"
- @corpFocus="remoteMethod($event, 'hconsignee')">
- </search-query>
- </el-col>
- <el-col :span="8">
- <!-- <span style="padding-left: 10px"></span>-->
- <el-input type="age" style="width: 100%;"
- v-model="assemblyForm.detail.hconsigneeCntyName" size="small" autocomplete="off"
- :disabled="detailData.seeDisabled" clearable placeholder="收货人国家代码"></el-input>
- </el-col>
- <!-- <el-col :span="4">-->
- <!-- <span style="margin-left: 20px"></span>-->
- <!-- <span style="font-size: 12px;color: #1e9fff;cursor: pointer;"-->
- <!-- @click="notifybyfun">同通</span>-->
- <!-- </el-col>-->
- </div>
- </el-form-item>
- <div>
- <el-form-item label="同通" prop="hconsigneeDetails">
- <span slot="label">
- <span style="font-size: 12px;color: #1e9fff;cursor: pointer;"
- @click="notifybyfun">同通</span>
- </span>
- <el-input type="textarea" style="width: 100%;"
- v-model="assemblyForm.detail.hconsigneeDetails" size="small" autocomplete="off"
- :disabled="detailData.seeDisabled" :rows="textareaNumber" clearable
- placeholder="请输入收货人提单描述" @change="textareaBlur('hconsigneeDetails')"></el-input>
- </el-form-item>
- </div>
- <el-form-item label="通知人" prop="hnotifyCnName">
- <span slot="label">
- <span style="color: #1e9fff">{{ $t("sea118n.notify") }}</span>
- </span>
- <div>
- <el-col :span="16">
- <search-query :datalist="hnotifyData"
- :selectValue="assemblyForm.detail.hnotifyCnName" :filterable="true"
- :clearable="true" :remote="true" :joinData="true"
- :disabled="detailData.seeDisabled" :addIf="true" :tableIf="false"
- placeholder="请选择通知人"
- :forParameter="{ key: 'id', short: 'code', label: 'cnName', value: 'cnName' }"
- @addJump="addJump('hconsignee')" @remoteMethod="remoteMethod($event, 'hnotify')"
- @corpChange="corpChange($event, 'hnotify')"
- @corpFocus="remoteMethod($event, 'hnotify')">
- </search-query>
- </el-col>
- <el-col :span="8">
- <!-- padding-left: 10px -->
- <div style="display: flex;align-items: center;justify-content: space-between;">
- <div style="flex: 4">
- <el-input type="age" style="width: 100%;"
- v-model="assemblyForm.detail.hnotifyCntyName" size="small"
- autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="通知人国家代码"></el-input>
- </div>
- <!-- <div style="flex: 1;margin-left: 10px">-->
- <!-- <el-button type="primary" icon="el-icon-plus" size="mini"-->
- <!-- @click="hnotifyClick"></el-button>-->
- <!-- <div class="addbuttonClass" @click="hnotifyClick">+</div> -->
- <!-- </div>-->
- </div>
- </el-col>
- </div>
- </el-form-item>
- <div>
- <el-form-item label="" prop="hnotifyDetails">
- <span slot="label">
- <el-button type="primary" icon="el-icon-plus" size="mini"
- @click="hnotifyClick"></el-button>
- </span>
- <el-input type="textarea" style="width: 100%;"
- v-model="assemblyForm.detail.hnotifyDetails" size="small" autocomplete="off"
- :disabled="detailData.seeDisabled" :rows="textareaNumber" clearable
- placeholder="请输入通知人提单描述" @change="textareaBlur('hnotifyDetails')"></el-input>
- </el-form-item>
- </div>
- </el-row>
- <el-row>
- <div>
- <el-form-item label="国外代理" prop="foreignAgencyCnName">
- <span slot="label">
- <span style="color: #1e9fff">{{ $t("sea118n.agent") }}</span>
- </span>
- <div>
- <el-col :span="16">
- <search-query :datalist="foreignAgencyData"
- :selectValue="assemblyForm.foreignAgencyCnName" :filterable="true"
- :clearable="true" :remote="true" :addIf="true" :tableIf="false"
- :disabled="detailData.seeDisabled" :joinData="true"
- :forParameter="{ key: 'id', short: 'code', label: 'cnName', value: 'cnName' }"
- placeholder="请选择国外代理" @addJump="addJump('foreignAgency')"
- @remoteMethod="remoteMethod($event, 'foreignAgency')"
- @corpChange="corpChange($event, 'foreignAgency')"
- @corpFocus="remoteMethod($event, 'foreignAgency')">
- </search-query>
- </el-col>
- <el-col :span="8">
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.foreignCntyName"
- size="small" autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="国外代理国家代码"></el-input>
- </el-col>
- </div>
- </el-form-item>
- <el-form-item prop="foreignAgencyDetails">
- <div style="margin-top: 4px">
- <el-input type="textarea" style="width: 100%;"
- v-model="assemblyForm.foreignAgencyDetails" size="small" autocomplete="off"
- :disabled="detailData.seeDisabled" :rows="textareaNumber" clearable
- placeholder="请输入国外代理提单描述"
- @change="textareaBlur('foreignAgencyDetails')"></el-input>
- </div>
- </el-form-item>
- </div>
- <!-- <el-form-item label="收货地" prop="placeReceiptName">
- <span slot="label">
- <el-popover placement="right" width="400" trigger="hover"
- @show="delShow(assemblyForm.placeReceiptId, 1)">
- <avue-crud :data="delData" :option="delOption" :table-loading="loading"></avue-crud>
- <span style="color:rgb(76, 158, 68);text-decoration: underline;"
- slot="reference">收货地</span>
- </el-popover>
- </span>
- <el-row>
- <el-col :span="10">
- <search-query :datalist="placeReceiptData"
- :selectValue="assemblyForm.placeReceiptName" :filterable="true"
- :clearable="true" :remote="true" :joinData="true"
- :disabled="detailData.seeDisabled" :buttonIf="false" placeholder="请选择收货地"
- :forParameter="{ key: 'id', short: 'enName', label: 'code', value: 'enName' }"
- @remoteMethod="remoteMethod($event, 'placeReceipt')"
- @corpChange="corpChange($event, 'placeReceipt')"
- @corpFocus="remoteMethod($event, 'placeReceipt')">
- </search-query>
- </el-col>
- <el-col :span="13">
- <span style="padding-left: 20px"></span>
- <el-input type="age" style="width: 100%;"
- v-model="assemblyForm.placeReceiptNamePrint" size="small" autocomplete="off"
- :disabled="detailData.seeDisabled" clearable placeholder="收货地"
- @change="textareaBlur('placeReceiptNamePrint')"
- ></el-input>
- </el-col>
- </el-row>
- </el-form-item> -->
- <!-- <el-form-item label="中转港" prop="potEnName">
- <span slot="label">
- <el-popover placement="right" width="400" trigger="hover"
- @show="delShow(assemblyForm.potId, 1)">
- <avue-crud :data="delData" :option="delOption" :table-loading="loading"></avue-crud>
- <span style="color:rgb(76, 158, 68);text-decoration: underline;"
- slot="reference">中转港</span>
- </el-popover>
- </span>
- <el-row>
- <el-col :span="10">
- <search-query :datalist="potData" :selectValue="assemblyForm.potEnName"
- :filterable="true" :clearable="true" :remote="true" :joinData="true"
- :disabled="detailData.seeDisabled" :buttonIf="false" placeholder="请选择中转港"
- :forParameter="{ key: 'id', short: 'enName', label: 'code', value: 'enName' }"
- @remoteMethod="remoteMethod($event, 'pot')"
- @corpChange="corpChange($event, 'pot')"
- @corpFocus="remoteMethod($event, 'pot')">
- </search-query>
- </el-col>
- <el-col :span="13">
- <span style="padding-left: 20px"></span>
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.potNamePrint"
- size="small" autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="中转港" @change="textareaBlur('potNamePrint')"></el-input>
- </el-col>
- </el-row>
- </el-form-item> -->
- </el-row>
- </el-col>
- <el-col :span="16">
- <el-col :span="12">
- <el-row>
- <div>
- <span style="font-size: 14px;color: #1e9fff">{{ $t("sea118n.marks") }}</span>
- </div>
- <div style="margin-top: 4px">
- <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.marks" size="small"
- autocomplete="off" :disabled="detailData.seeDisabled" rows="5" clearable
- placeholder="请输入唛头" @input="handleInput($event, 'marks')"
- @change="textareaBlur('marks')"></el-input>
- </div>
- <div style="margin-top: 4px">
- <el-form-item label="HS CODE" prop="commodityCnName">
- <span slot="label">
- <span style="color: #1e9fff">HS CODE</span>
- </span>
- <el-col :span="12">
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.hscode"
- size="small" autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="HS CODE"></el-input>
- </el-col>
- <el-col :span="11">
- <span style="padding-left: 20px"></span>
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.commodityCnName"
- size="small" autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="英文名称"></el-input>
- </el-col>
- </el-form-item>
- </div>
- <!-- <div>
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.commodityEnName"
- size="small" autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="商品名称"></el-input>
- </div>-->
- <div style="margin-top: 4px">
- <el-form-item label="货描" prop="cargoType" label-width="50px"
- :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
- <span slot="label">
- <span style="color: #1e9fff">{{ $t("sea118n.descOfGoods") }}</span>
- </span>
- <!--<el-col :span="5">-->
- <!-- <el-checkbox size="medium" :true-label="1" :false-label="0" v-model="assemblyForm.isLargeCargo">大件货</el-checkbox>-->
- <!--</el-col>-->
- <el-col :span="18">
- <search-query :datalist="cargoTypeData" :selectValue="assemblyForm.cargoType"
- :filterable="true" :clearable="false" :remote="true"
- :disabled="detailData.seeDisabled" :buttonIf="false" placeholder="请选择货描"
- @remoteMethod="remoteMethod($event, 'cargoType')"
- @corpChange="corpChange($event, 'cargoType')"
- @corpFocus="remoteMethod($event, 'cargoType')">
- </search-query>
- </el-col>
- <el-col :span="5">
- <span style="margin-left: 10px"></span>
- <el-button size="small" @click="DangerousGoodsAdd">danger</el-button>
- </el-col>
- </el-form-item>
- </div>
- <div>
- <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.commodityDescr"
- size="small" autocomplete="off" :disabled="detailData.seeDisabled" rows="5"
- clearable placeholder="请输入提单上货物描述"
- @change="textareaBlur('commodityDescr')"></el-input>
- </div>
- <el-form-item label="装货港" prop="polCnName" label-width="60px">
- <span slot="label">
- <el-popover placement="right" width="400" trigger="hover"
- @show="delShow(assemblyForm.polId, 1)">
- <avue-crud :data="delData" :option="delOption"
- :table-loading="loading"></avue-crud>
- <span style="color:rgb(76, 158, 68);text-decoration: underline;"
- slot="reference">{{ $t("sea118n.pol") }}</span>
- </el-popover>
- </span>
- <el-row>
- <el-col :span="24">
- <search-query :datalist="polData" :selectValue="assemblyForm.polEnName"
- :filterable="true" :clearable="true" :remote="true" :joinData="true"
- :disabled="detailData.seeDisabled || generateBillsfalse || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) || assemblyForm.preContainersList.filter(item => item.containerNumberStatus == '已选择').length > 0"
- :buttonIf="false" placeholder="请选择装货港"
- :forParameter="{ key: 'id', short: 'enName', label: 'code', value: 'enName' }"
- @remoteMethod="remoteMethod($event, 'pol')"
- @corpChange="corpChange($event, 'pol')"
- @corpFocus="remoteMethod($event, 'pol')">
- </search-query>
- </el-col>
- <el-col :span="24">
- <span style="padding-left: 0px"></span>
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.polNamePrint"
- size="small" autocomplete="off"
- :disabled="detailData.seeDisabled || generateBillsfalse || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) || assemblyForm.preContainersList.filter(item => item.containerNumberStatus == '已选择').length > 0"
- clearable placeholder="装货港"
- @change="textareaBlur('polNamePrint')"></el-input>
- </el-col>
- </el-row>
- </el-form-item>
- <el-form-item label="卸货港" prop="podCnName" label-width="60px">
- <span slot="label">
- <el-popover placement="right" width="400" trigger="hover"
- @show="delShow(assemblyForm.podId, 1)">
- <avue-crud :data="delData" :option="delOption"
- :table-loading="loading"></avue-crud>
- <!-- <el-button slot="reference">click 激活</el-button> -->
- <span style="color:rgb(76, 158, 68);text-decoration: underline;"
- slot="reference">{{ $t("sea118n.pod") }}</span>
- </el-popover>
- <!-- <span style="color: #1e9fff">卸货港</span> -->
- </span>
- <el-row>
- <el-col :span="24">
- <search-query :datalist="podData" :selectValue="assemblyForm.podEnName"
- :filterable="true" :clearable="true" :remote="true" :joinData="true"
- :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) || assemblyForm.preContainersList.filter(item => item.containerNumberStatus == '已选择').length > 0"
- :buttonIf="false" placeholder="请选择卸货港"
- :forParameter="{ key: 'id', short: 'enName', label: 'code', value: 'enName' }"
- @remoteMethod="remoteMethod($event, 'pod')"
- @corpChange="corpChange($event, 'pod')"
- @corpFocus="remoteMethod($event, 'pod')">
- </search-query>
- </el-col>
- <el-col :span="24">
- <span style="padding-left: 0px"></span>
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.podNamePrint"
- size="small" autocomplete="off"
- :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) || assemblyForm.preContainersList.filter(item => item.containerNumberStatus == '已选择').length > 0"
- clearable placeholder="卸货港"
- @change="textareaBlur('podNamePrint')"></el-input>
- </el-col>
- </el-row>
- </el-form-item>
- <el-form-item label="交货地" prop="placeDeliveryName" label-width="60px">
- <span slot="label">
- <el-popover placement="right" width="400" trigger="hover"
- @show="delShow(assemblyForm.placeDeliveryId, 1)">
- <avue-crud :data="delData" :option="delOption"
- :table-loading="loading"></avue-crud>
- <!-- <el-button slot="reference">click 激活</el-button> -->
- <span style="color:rgb(76, 158, 68);text-decoration: underline;"
- slot="reference">{{ $t("sea118n.placeDelivery") }}</span>
- </el-popover>
- <!-- <span style="color: #1e9fff">交货地</span> -->
- </span>
- <el-row>
- <el-col :span="24">
- <search-query :datalist="placeDeliveryData" :joinData="true"
- :selectValue="assemblyForm.placeDeliveryName" :filterable="true"
- :clearable="true" :remote="true" :disabled="detailData.seeDisabled"
- :buttonIf="false" placeholder="请选择交货地"
- :forParameter="{ key: 'id', short: 'enName', label: 'code', value: 'enName' }"
- @remoteMethod="remoteMethod($event, 'placeDelivery')"
- @corpChange="corpChange($event, 'placeDelivery')"
- @corpFocus="remoteMethod($event, 'placeDelivery')">
- </search-query>
- </el-col>
- <el-col :span="24">
- <span style="padding-left: 0px"></span>
- <el-input type="age" style="width: 100%;"
- v-model="assemblyForm.placeDeliveryNamePrint" size="small"
- autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="交货地"
- @change="textareaBlur('placeDeliveryNamePrint')"></el-input>
- </el-col>
- </el-row>
- </el-form-item>
- <el-form-item label="业务来源" prop="srcType"
- :rules="[{ required: true, message: '', trigger: 'blur' }]">
- <el-row :gutter="10">
- <el-col :span="10">
- <search-query :datalist="sourceTypeData" :selectValue="assemblyForm.srcType"
- :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length || assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length"
- :filterable="true" :clearable="true" :remote="true" :buttonIf="false"
- placeholder="请选择业务来源" @corpChange="sourceCorp($event, 'srcType')">
- </search-query>
- </el-col>
- <el-col :span="13">
- <search-query :datalist="srcData" :selectValue="assemblyForm.srcCnName"
- :filterable="true" :clearable="true" :remote="true"
- :disabled="!assemblyForm.srcType || detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length || assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length"
- :buttonIf="false" :forParameter="sourceforParameter" placeholder="请选择来源明细"
- @remoteMethod="sourceRemote($event, 'srcCnName')"
- @corpChange="sourceCorp($event, 'srcCnName')"
- @corpFocus="sourceRemote($event, 'srcCnName')">
- </search-query>
- </el-col>
- </el-row>
- </el-form-item>
- </el-row>
- </el-col>
- <el-col :span="12">
- <el-form-item label="ETD" prop="etd" label-width="80px"
- :rules="[{ required: true, message: '', trigger: 'blur' }]">
- <span slot="label">
- <span style="color: #1e9fff">ETD</span>
- </span>
- <el-date-picker v-model="assemblyForm.etd" clearable style="width: 100%" type="date"
- size="small"
- :disabled="detailData.seeDisabled || generateBillsfalse || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) || assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length || assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length"
- value-format="yyyy-MM-dd" :picker-options="etdPickerOptions" placeholder="请选择ETD日期"
- @change="handlePick">
- </el-date-picker>
- </el-form-item>
- <div>
- <el-form-item label="船名" prop="vesselCnName" label-width="80px">
- <span slot="label">
- <el-popover placement="right" width="400" trigger="hover"
- @show="delShow(assemblyForm.vesselId, 3)">
- <avue-crud :data="delData" :option="delOption"
- :table-loading="loading"></avue-crud>
- <!-- <el-button slot="reference">click 激活</el-button> -->
- <span style="color:rgb(76, 158, 68);text-decoration: underline;"
- slot="reference">{{ $t("sea118n.vessel") }}</span>
- </el-popover>
- <!-- <span style="color: #1e9fff">船名</span> -->
- </span>
- <search-query :datalist="vesselData" :selectValue="assemblyForm.vesselEnName"
- :filterable="true" :clearable="true" :remote="true" :allowCreate="true"
- :disabled="detailData.seeDisabled || generateBillsfalse || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) || assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length || assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length"
- :buttonIf="false" placeholder="请选择船名"
- :forParameter="{ key: 'id', label: 'enName', value: 'enName' }"
- @remoteMethod="remoteMethod($event, 'vessel')"
- @corpChange="corpChange($event, 'vessel')"
- @corpFocus="remoteMethod($event, 'vessel')">
- </search-query>
- </el-form-item>
- <el-form-item label="航次" prop="voyageNo" label-width="80px">
- <span slot="label">
- <span style="color: #1e9fff">{{ $t("sea118n.voy") }}</span>
- </span>
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo" size="small"
- autocomplete="off"
- :disabled="detailData.seeDisabled || generateBillsfalse || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) || assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length || assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length"
- clearable placeholder="请输入航次"></el-input>
- </el-form-item>
- </div>
- <!-- <el-form-item label="ETA" prop="eta" label-width="90px">
- <span slot="label">
- <span style="color: #1e9fff">ETA</span>
- </span>
- <el-date-picker style="width: 100%;" v-model="assemblyForm.eta" clearable type="date"
- size="small" :disabled="detailData.seeDisabled" value-format="yyyy-MM-dd"
- placeholder="选择日期">
- </el-date-picker>
- </el-form-item> -->
- <el-form-item label="承运人" prop="carrierCnName" label-width="80px">
- <span slot="label">
- <span style="color: #4c9e44;cursor: pointer;text-decoration: underline"
- @click="emailJump('carrier')">{{ $t("sea118n.carrier") }}</span>
- </span>
- <search-query :datalist="carrierData" :selectValue="assemblyForm.carrierCnName"
- :filterable="true" :clearable="true" :remote="true" :joinData="true"
- :disabled="detailData.seeDisabled || generateBillsfalse || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) || assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length || assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length"
- :buttonIf="false" placeholder="请选择承运人"
- :forParameter="{ key: 'id', short: 'shortName', label: 'cnName', value: 'cnName' }"
- @remoteMethod="remoteMethod($event, 'carrier')"
- @corpChange="corpChange($event, 'carrier')"
- @corpFocus="remoteMethod($event, 'carrier')">
- </search-query>
- </el-form-item>
- <!-- <div style="display: flex;">
- <el-form-item label="船司约号" prop="carrierArgreementNo">
- <span slot="label">
- <span style="color: #1e9fff">船司约号</span>
- </span>
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.carrierArgreementNo"
- size="small" autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="请输入船司约号"></el-input>
- </el-form-item>
- <el-form-item label="客户约号" prop="corpArgreementNo" label-width="60px">
- <span slot="label">
- <span style="color: #1e9fff">客户约号</span>
- </span>
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.corpArgreementNo"
- size="small" autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="请输入客户约号"></el-input>
- </el-form-item>
- </div> -->
- <!-- <el-form-item label="订舱代理" prop="bookingAgentCnName">
- <span slot="label">
- <span style="color: #1e9fff">订舱代理</span>
- </span>
- <el-col :span="9" style="margin-left: -10px">
- <search-query :datalist="bookingAgentData"
- :selectValue="assemblyForm.bookingAgentCnName" :filterable="true" :clearable="true"
- :remote="true" :disabled="detailData.seeDisabled" :buttonIf="false"
- placeholder="请选择订舱代理"
- :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
- @remoteMethod="remoteMethod($event, 'bookingAgent')"
- @corpChange="corpChange($event, 'bookingAgent')"
- @corpFocus="remoteMethod($event, 'bookingAgent')">
- </search-query>
- </el-col>
- <el-col :span="15">
- <el-input type="age" style="width: 100%;margin-left: 20px;"
- v-model="assemblyForm.bookingAgentEnName" size="small" autocomplete="off"
- :disabled="detailData.seeDisabled || !assemblyForm.bookingAgentCnName" clearable
- placeholder="订舱代理"></el-input>
- </el-col>
- </el-form-item> -->
- <el-row>
- <el-col :span="12">
- <el-form-item label="件数" prop="quantity" label-width="80px"
- :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
- <span slot="label">
- <span style="color: #1e9fff">{{ $t("sea118n.QTY") }}</span>
- </span>
- <el-input ref="quantityRef" style="width: 100%;" v-model="assemblyForm.quantity"
- size="small" autocomplete="off" min="1" :disabled="detailData.seeDisabled"
- @input="quantityInput" @focus="quantityFocus" clearable
- placeholder="请输入件数"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="包装" prop="packingUnit" label-width="50px"
- :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
- <span slot="label">
- <el-popover placement="right" width="400" trigger="hover"
- @show="delShow(assemblyForm.packingUnitId, 2)">
- <avue-crud :data="delData" :option="delOption"
- :table-loading="loading"></avue-crud>
- <!-- <el-button slot="reference">click 激活</el-button> -->
- <span style="color:rgb(76, 158, 68);text-decoration: underline;"
- slot="reference">{{ $t("sea118n.package") }}</span>
- </el-popover>
- <!-- <span style="color: #1e9fff">包装</span> -->
- </span>
- <search-query ref="packingUnit" :datalist="packingUnitData"
- style="margin-right: -10px;" :selectValue="assemblyForm.packingUnit"
- :filterable="true" :clearable="true" :remote="true"
- :disabled="detailData.seeDisabled" :buttonIf="false" placeholder="请选择包装"
- :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
- @remoteMethod="remoteMethod($event, 'packingUnit')"
- @corpChange="corpChange($event, 'packingUnit')"
- @corpFocus="remoteMethod($event, 'packingUnit')">
- </search-query>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="毛重(KGS)" prop="grossWeight" label-width="80px"
- :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
- <span slot="label">
- <span style="color: #1e9fff">{{ $t("sea118n.GW") }}</span>
- </span>
- <el-input ref="grossWeightRef" step="0.001" style="width: 100%;"
- v-model="assemblyForm.grossWeight" size="small" autocomplete="off"
- :disabled="detailData.seeDisabled" @input="floatingInput($event, 'grossWeight')"
- @focus="quantityFocus" clearable placeholder="请输入毛重"
- @change="grossWeightChange"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="尺码(CBM)" prop="measurement" label-width="90px"
- :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
- <span slot="label">
- <span style="color: #1e9fff">{{ $t("sea118n.CBM") }}</span>
- </span>
- <el-input ref="measurementRef" step="0.01" style="width: 106%;"
- v-model="assemblyForm.measurement" size="small" autocomplete="off"
- :disabled="detailData.seeDisabled" @input="floatingInput($event, 'measurement')"
- @focus="quantityFocus" clearable placeholder="请输入尺码/体积"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="签单方式" prop="issueType" label-width="80px">
- <span slot="label">
- <span style="color: #1e9fff">{{ $t("sea118n.issueType") }}</span>
- </span>
- <dic-select v-model="assemblyForm.issueType" placeholder="签单方式" key="dictKey"
- label="dictValue" keyValue="dictKey"
- url="/blade-system/dict-biz/dictionary?code=issue_type_F" :filterable="true"
- :disabled="detailData.seeDisabled" :initData="true"></dic-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="签单日期" prop="issueDate" label-width="60px">
- <span slot="label">
- <span style="color: #1e9fff">{{ $t("sea118n.issueDate") }}</span>
- </span>
- <el-date-picker style="width: 100%;" v-model="assemblyForm.issueDate" clearable
- type="date" size="small" :disabled="detailData.seeDisabled"
- value-format="yyyy-MM-dd" placeholder="选择日期">
- </el-date-picker>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col>
- <el-form-item label="ETA" prop="eta" label-width="80px">
- <span slot="label">
- <span style="color: #1e9fff">ETA</span>
- </span>
- <el-date-picker v-model="assemblyForm.eta" type="date" style="width: 100%;"
- value-format="yyyy-MM-dd" size="small"
- :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
- placeholder="请选择时间">
- </el-date-picker>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="13">
- <el-form-item label="ATD" prop="actualEtd" label-width="80px">
- <span slot="label">
- <span style="color: #1e9fff">ATD</span>
- </span>
- <el-date-picker style="width: 100%;" v-model="assemblyForm.actualEtd" clearable
- type="date" size="small"
- :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
- value-format="yyyy-MM-dd" placeholder="选择日期">
- </el-date-picker>
- </el-form-item>
- </el-col>
- <el-col :span="11">
- <el-form-item label="ATA" prop="actualEta" label-width="40px">
- <span slot="label">
- <span style="color: #1e9fff">ATA</span>
- </span>
- <el-date-picker v-model="assemblyForm.actualEta" type="date" style="width: 100%;"
- value-format="yyyy-MM-dd" size="small" :disabled="detailData.seeDisabled"
- placeholder="请选择时间">
- </el-date-picker>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="所属公司" prop="branchName" label-width="80px">
- <span slot="label">
- <span style="color: #1e9fff">{{ $t("sea118n.branchName") }}</span>
- </span>
- <dic-select v-model="assemblyForm.branchName" placeholder="所属公司" key="id"
- label="deptName" url="/blade-system/dept/top-list" :filterable="true"
- :remote="true" dataName="deptName"
- @selectChange="dicChange('branchName', $event)"
- :disabled="detailData.seeDisabled || !(roleName.includes('admin') || roleName.includes('总部')) || assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length || assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length"></dic-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="付款方式" prop="hpaymode" label-width="80px">
- <span slot="label">
- <span style="color: #1e9fff">{{ $t("sea118n.payment") }}</span>
- </span>
- <dic-select v-model="assemblyForm.hpaymode" placeholder="付款方式" key="dictKey"
- label="dictValue" keyValue="dictKey"
- url="/blade-system/dict-biz/dictionary?code=payment_method_los"
- :filterable="true" :disabled="detailData.seeDisabled"></dic-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="OP" prop="operatorName" label-width="80px"
- :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
- <span slot="label">
- <span style="color: #1e9fff">OP</span>
- </span>
- <dic-select v-model="assemblyForm.operatorName" placeholder="OP"
- :key="assemblyForm.branchId" label="realName"
- :url="'/blade-user/userListAll?roleAlias=操作员&deptId=' + assemblyForm.branchId"
- :filterable="true" dataName="realName"
- @selectChange="dicChange('operatorName', $event)"
- :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length || assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length"></dic-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="客服" prop="customerServiceName" label-width="50px"
- :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
- <span slot="label">
- <span style="color: #1e9fff">{{ $t("sea118n.customerService") }}</span>
- </span>
- <dic-select v-model="assemblyForm.customerServiceName" placeholder="客服"
- :key="assemblyForm.branchId" label="realName"
- :url="'/blade-user/userListAll?roleAlias=客服&deptId=' + assemblyForm.branchId"
- :filterable="true" dataName="realName"
- @selectChange="dicChange('customerServiceName', $event)"
- :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length || assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length"></dic-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col>
- <el-form-item label="签单地点" prop="issueAt" label-width="80px">
- <span slot="label">
- <span style="color: #1e9fff">{{ $t("sea118n.issuePlace") }}</span>
- </span>
- <search-query :datalist="issueAtData" :selectValue="assemblyForm.issueAt"
- :filterable="true" :clearable="true" :remote="true"
- :disabled="detailData.seeDisabled" :buttonIf="false"
- :forParameter="{ key: 'id', label: 'enName', value: 'enName' }"
- placeholder="请选择签单地点" @remoteMethod="remoteMethod($event, 'issueAt')"
- @corpChange="corpChange($event, 'issueAt')"
- @corpFocus="remoteMethod($event, 'issueAt')">
- </search-query>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-form-item label="订舱备注" prop="cyRemarks" label-width="80px">
- <span slot="label">
- <span style="color: #1e9fff">{{ $t("sea118n.bookRemarks") }}</span>
- </span>
- <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.cyRemarks"
- size="small" autocomplete="off"
- :disabled="detailData.seeDisabled || generateBillsfalse" rows="2" clearable
- placeholder="请输入场站备注" @change="textareaBlur('cyRemarks')"></el-input>
- </el-form-item>
- </el-row>
- <el-row>
- <el-form-item label="SI备注" prop="siRemarks" label-width="80px">
- <span slot="label">
- <span style="color: #1e9fff">{{ $t("sea118n.siRemarks") }}</span>
- </span>
- <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.siRemarks"
- size="small" autocomplete="off" :disabled="detailData.seeDisabled" rows="3"
- clearable placeholder="请输入SI备注" @change="textareaBlur('siRemarks')"></el-input>
- </el-form-item>
- </el-row>
- </el-col>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="6">
- <el-form-item label="POL场站" prop="cyCnName">
- <span slot="label">
- <span style="color: #4c9e44;cursor: pointer;text-decoration: underline"
- @click="emailJump('cy')">POLCY</span>
- </span>
- <!-- :disabled="detailData.seeDisabled || generateBillsfalse" :buttonIf="false"-->
- <search-query :datalist="cyData" :selectValue="assemblyForm.cyCnName" :filterable="true"
- :clearable="true" :remote="true" :disabled="detailData.seeDisabled"
- :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }" placeholder="请选择场站"
- @remoteMethod="remoteMethod($event, 'cy')" @corpChange="corpChange($event, 'cy')"
- @corpFocus="remoteMethod($event, 'cy')">
- </search-query>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="联系人" prop="cyContacts">
- <span slot="label">
- <span style="color: #1e9fff">联系人</span>
- </span>
- <!--<el-input type="age" style="width: 100%;" v-model="assemblyForm.cyContacts"-->
- <!-- size="small" autocomplete="off"-->
- <!-- :disabled="detailData.seeDisabled || generateBillsfalse"-->
- <!-- clearable placeholder="请输入联系人" ></el-input>-->
- <search-query :datalist="cyContactsData" :selectValue="assemblyForm.cyContacts"
- :filterable="true" :clearable="true"
- :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.cyCnName"
- :buttonIf="false" :forParameter="{ key: 'id', label: 'cname', value: 'cname' }"
- placeholder="联系人" @corpChange="corpChange($event, 'cyContacts')"
- @corpFocus="remoteMethod($event, 'cyContacts')">
- </search-query>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="电话" prop="cyTel">
- <span slot="label">
- <span style="color: #1e9fff">电话</span>
- </span>
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.cyTel" size="small"
- autocomplete="off"
- :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.cyCnName" clearable
- placeholder="电话"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="地址" prop="cyAddress">
- <span slot="label">
- <span style="color: #1e9fff">地址</span>
- </span>
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.cyAddress" size="small"
- autocomplete="off"
- :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.cyCnName" clearable
- placeholder="地址"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <!-- <el-row>
- <el-col :span="6">
- <el-form-item label="POD场站" prop="podCyCnName">
- <span slot="label">
- <span style="color: #4c9e44;cursor: pointer;text-decoration: underline"
- @click="emailJump('cy')">POD场站</span>
- </span>
- <search-query :datalist="podCyData" :selectValue="assemblyForm.podCyCnName" :filterable="true"
- :clearable="true" :remote="true" :disabled="detailData.seeDisabled"
- :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }" placeholder="请选择场站"
- @remoteMethod="remoteMethod($event, 'podCyCnName')"
- @corpChange="corpChange($event, 'podCyCnName')"
- @corpFocus="remoteMethod($event, 'podCyCnName')">
- </search-query>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="联系人" prop="podCyCnNameData">
- <span slot="label">
- <span style="color: #1e9fff">联系人</span>
- </span>
- <search-query :datalist="podCyCnNameData" :selectValue="assemblyForm.podCyContacts"
- :filterable="true" :clearable="true"
- :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.podCyCnName"
- :buttonIf="false" :forParameter="{ key: 'id', label: 'cname', value: 'cname' }"
- placeholder="联系人" @corpChange="corpChange($event, 'podCyContacts')"
- @corpFocus="remoteMethod($event, 'podCyContacts')">
- </search-query>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="电话" prop="podCyTel">
- <span slot="label">
- <span style="color: #1e9fff">电话</span>
- </span>
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.podCyTel" size="small"
- autocomplete="off"
- :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.podCyCnName"
- clearable placeholder="电话"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="地址" prop="podCyAddress">
- <span slot="label">
- <span style="color: #1e9fff">地址</span>
- </span>
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.podCyAddress" size="small"
- autocomplete="off"
- :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.podCyCnName"
- clearable placeholder="地址"></el-input>
- </el-form-item>
- </el-col>
- </el-row>-->
- <el-row>
- <el-col :span="6">
- <el-form-item label="集港码头" prop="portTerminalCyCnName">
- <span slot="label">
- <span style="color: #1e9fff">集港码头</span>
- </span>
- <search-query :datalist="portTerminalData" :selectValue="assemblyForm.portTerminalCyCnName"
- :filterable="true" :clearable="true" :remote="true" :disabled="detailData.seeDisabled"
- :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }" placeholder="请选择集港码头"
- @remoteMethod="remoteMethod($event, 'portTerminalCyCnName')"
- @corpChange="corpChange($event, 'portTerminalCyCnName')"
- @corpFocus="remoteMethod($event, 'portTerminalCyCnName')">
- </search-query>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="联系人" prop="portTerminalCyContacts">
- <span slot="label">
- <span style="color: #1e9fff">联系人</span>
- </span>
- <search-query :datalist="portTerminalCyContactsData"
- :selectValue="assemblyForm.portTerminalCyContacts" :filterable="true" :clearable="true"
- :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.portTerminalCyCnName"
- :buttonIf="false" :forParameter="{ key: 'id', label: 'cname', value: 'cname' }"
- placeholder="联系人" @corpChange="corpChange($event, 'portTerminalCyContacts')"
- @corpFocus="remoteMethod($event, 'portTerminalCyContacts')">
- </search-query>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="电话" prop="portTerminalCyTel">
- <span slot="label">
- <span style="color: #1e9fff">电话</span>
- </span>
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.portTerminalCyTel" size="small"
- autocomplete="off"
- :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.portTerminalCyCnName"
- clearable placeholder="电话"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="地址" prop="portTerminalCyAddress">
- <span slot="label">
- <span style="color: #1e9fff">地址</span>
- </span>
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.portTerminalCyAddress"
- size="small" autocomplete="off"
- :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.portTerminalCyCnName"
- clearable placeholder="地址"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <precontainers :assemblyForm="assemblyForm" :seeDisabled="detailData.seeDisabled"
- :pid="assemblyForm.id" @billsDetailfun="billsDetailfun">
- </precontainers>
- </el-col>
- <el-col :span="12">
- <el-row>
- <el-col :span="12">
- <el-form-item label="箱属" prop="boxBelongsTo">
- <span slot="label">
- <span style="color: #1e9fff">箱属</span>
- </span>
- <div>
- <dic-select v-model="assemblyForm.boxBelongsTo" placeholder="箱属" key="dictKey"
- label="dictValue" url="/blade-system/dict-biz/dictionary?code=boxBelongsTo"
- :filterable="true" :disabled="detailData.seeDisabled"></dic-select>
- </div>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="服务方式" prop="serviceTerms">
- <span slot="label">
- <span style="color: #1e9fff">服务方式</span>
- </span>
- <search-query :datalist="serviceTermsData" :selectValue="assemblyForm.serviceTerms"
- :clearable="true" :disabled="detailData.seeDisabled" :buttonIf="false"
- :forParameter="{ key: 'id', label: 'code', value: 'code' }" placeholder="请选择服务方式"
- @remoteMethod="remoteMethod($event, 'serviceTerms')"
- @corpChange="corpChange($event, 'serviceTerms')"
- @corpFocus="remoteMethod($event, 'serviceTerms')">
- </search-query>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="截单时间" prop="cyTrailerTime">
- <span slot="label">
- <span style="color: #1e9fff">截单时间</span>
- </span>
- <el-date-picker v-model="assemblyForm.cyTrailerTime" type="datetime"
- style="width: 100%;" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
- size="small"
- :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
- placeholder="请选择截单时间">
- </el-date-picker>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="截港时间" prop="cyReturnTime">
- <span slot="label">
- <span style="color: #1e9fff">截港时间</span>
- </span>
- <el-date-picker v-model="assemblyForm.cyReturnTime" type="datetime" style="width: 100%;"
- format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" size="small"
- :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
- placeholder="请选择截港时间">
- </el-date-picker>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="船代" prop="shippingAgencyCname">
- <span slot="label">
- <span style="color: #1e9fff">船代</span>
- </span>
- <div>
- <dic-select v-model="assemblyForm.shippingAgencyCname" placeholder="船代" key="id"
- label="shortName" res="records"
- url="/blade-los/bcorps/selectList?current=1&size=5&corpTypeName=船代"
- :filterable="true" :remote="true" dataName="shortName"
- @selectChange="dicChange('shippingAgencyCname', $event)" :slotRight="true"
- rightLabel="code"
- :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"></dic-select>
- </div>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="订舱代理" prop="bookingAgentCnName">
- <span slot="label">
- <span style="color: #1e9fff">订舱代理</span>
- </span>
- <search-query :datalist="bookingAgentData"
- :selectValue="assemblyForm.bookingAgentCnName" :filterable="true" :clearable="true"
- :remote="true"
- :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
- :buttonIf="false" placeholder="请选择订舱代理"
- :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
- @remoteMethod="remoteMethod($event, 'bookingAgent')"
- @corpChange="corpChange($event, 'bookingAgent')"
- @corpFocus="remoteMethod($event, 'bookingAgent')">
- </search-query>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="舱位类型" prop="cabinType">
- <span slot="label">
- <span style="color: #1e9fff">舱位类型</span>
- </span>
- <el-row>
- <el-col :span="12">
- <dic-select v-model="assemblyForm.cabinType" placeholder="舱位类型" key="id"
- label="dictValue" url="/blade-system/dict-biz/dictionary?code=cabinType"
- :disabled="detailData.seeDisabled"
- @selectChange="dicChange('cabinType', $event)"></dic-select>
- </el-col>
- <el-col :span="11" :offset="1">
- <div>
- <dic-select
- v-show="assemblyForm.cabinType == '固定' || !assemblyForm.cabinType"
- v-model="assemblyForm.cabinTypeData" key="id" label="dictValue"
- placeholder="数据"
- url="/blade-system/dict-biz/dictionary?code=cabinTypeData_1"
- :disabled="detailData.seeDisabled || !assemblyForm.cabinType"></dic-select>
- <dic-select v-show="assemblyForm.cabinType == '非固定'"
- v-model="assemblyForm.cabinTypeData" key="id" label="dictValue"
- placeholder="数据"
- url="/blade-system/dict-biz/dictionary?code=cabinTypeData_2"
- :disabled="detailData.seeDisabled"></dic-select>
- </div>
- </el-col>
- </el-row>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="舱位数" prop="shippingSpaceNumber">
- <span slot="label">
- <span style="color: #1e9fff">舱位数</span>
- </span>
- <el-input v-model="assemblyForm.shippingSpaceNumber" size="small" :controls="false"
- style="width: 100%;" placeholder="请输入舱位数"
- :disabled="detailData.seeDisabled"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="接单状态" prop="billOfLadingStatus">
- <span slot="label">
- <span style="color: #1e9fff">接单状态</span>
- </span>
- <dic-select v-model="assemblyForm.billOfLadingStatus" placeholder="接单状态" key="id"
- label="dictValue" url="/blade-system/dict-biz/dictionary?code=billOfLadingStatus"
- :disabled="detailData.seeDisabled"></dic-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="邮箱" prop="fileEmail">
- <span slot="label">
- <span style="color: #1e9fff">邮箱</span>
- </span>
- <el-input style="width: 100%;" size="small" v-model="assemblyForm.fileEmail"
- :disabled="detailData.seeDisabled" placeholder="文件联络人邮箱"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- </el-col>
- </el-row>
- </el-form>
- <el-dialog title="第二通知人" :visible.sync="hnotify2Visible" width="50%" append-to-body
- :before-close="hnotify2HandleClose">
- <div>
- <el-form :model="assemblyForm" ref="form" label-width="60px">
- <el-row :gutter="20">
- <el-col :span="12">
- <el-form-item label="通知人" prop="hnotify2CnName">
- <search-query :datalist="hnotify2Data" :selectValue="assemblyForm.detail.hnotify2CnName"
- :joinData="true" :filterable="true" :clearable="true" :remote="true"
- :disabled="detailData.seeDisabled" :buttonIf="false"
- :forParameter="{ key: 'id', short: 'code', label: 'cnName', value: 'cnName' }"
- placeholder="请选择通知人" @remoteMethod="remoteMethod($event, 'hnotify2')"
- @corpChange="corpChange($event, 'hnotify2')"
- @corpFocus="remoteMethod($event, 'hnotify2')">
- </search-query>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="国家" prop="hnotify2CntyName">
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.detail.hnotify2CntyName"
- size="small" autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="国家"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item label="提单描述" prop="hnotify2Details">
- <el-input type="textarea" style="width: 100%;"
- v-model="assemblyForm.detail.hnotify2Details" size="small" autocomplete="off"
- :disabled="detailData.seeDisabled" rows="4" clearable placeholder="请输入通知人提单描述"
- @change="textareaBlur('hnotify2Details')"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- </div>
- <span slot="footer" class="dialog-footer">
- <el-button type="danger" @click="hnotify2Cancellation('清除')">清 除</el-button>
- <el-button type="primary" @click="hnotify2Visible = false">确 定</el-button>
- </span>
- </el-dialog>
- <el-dialog title="危险品" :visible.sync="dgVisible" width="50%" append-to-body :before-close="hnotify2HandleClose">
- <div>
- <el-form :model="assemblyForm" ref="form" label-width="120px">
- <el-row :gutter="20">
- <el-col :span="12">
- <el-form-item label="危险品类别" prop="dgImdgCode">
- <!-- <el-input type="age" style="width: 100%;" v-model="assemblyForm.dgImdgCode" size="small"
- autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="请输入危险品类别"></el-input> -->
- <!-- -->
- <dic-select v-model="assemblyForm.dgImdgCode" placeholder="危险品类别" key="dictKey"
- label="dictKey" keyValue="dictKey"
- url="/blade-system/dict-biz/dictionary?code=dg_imdg_code" :filterable="true"
- :disabled="detailData.seeDisabled" :diySlot="true"></dic-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="危险代码(IMO)" prop="dgUnCode">
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.dgUnCode" size="small"
- autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="请输入危险代码(IMO)"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="危险品包装等级" prop="dgPackingLevel">
- <search-query :datalist="dgPackingLevelData" :selectValue="assemblyForm.dgPackingLevel"
- :disabled="detailData.seeDisabled" :buttonIf="false"
- :forParameter="{ key: 'dictKey', label: 'dictValue', value: 'dictKey' }"
- placeholder="请输入危险品包装等级" @corpChange="corpChange($event, 'dgPackingLevel')"
- @corpFocus="dgPackingLevelWorkDicts">
- </search-query>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="" prop="dgFlashPoint">
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="易燃易爆品闪点" prop="dgFlashPoint">
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.dgFlashPoint"
- size="small" autocomplete="off" :disabled="detailData.seeDisabled"
- @input="dgFlashPointInput" clearable placeholder="请输入易燃易爆品闪点"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="易燃易爆品闪点单位" prop="dgFlashPointUnit">
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.dgFlashPointUnit"
- size="small" autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="请输入易燃易爆品闪点单位"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="危险品联系人" prop="dgContacts">
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.dgContacts" size="small"
- autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="请输入危险品联系人"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="危险品联系人电话" prop="dgTel">
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.dgTel" size="small"
- autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="请输入危险品联系人电话"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="危险品净重" prop="dgTel">
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.dgNetWeight"
- size="small" autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="请输入危险品净重"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="危险品外包装" prop="dgTel">
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.dgPackage" size="small"
- autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="请输入危险品外包装"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="危险品邮箱" prop="dgTel">
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.dgMailbox" size="small"
- autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="请输入危险品邮箱"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="危险品备注" prop="dgTel">
- <el-input type="age" style="width: 100%;" v-model="assemblyForm.dgRemarks" size="small"
- autocomplete="off" :disabled="detailData.seeDisabled" clearable
- placeholder="请输入危险品备注"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="是否海洋污染物" prop="dgIsMarinePollutant">
- <el-checkbox size="medium" :true-label="1" :false-label="0"
- v-model="assemblyForm.dgIsMarinePollutant"></el-checkbox>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- </div>
- <span slot="footer" class="dialog-footer">
- <el-button type="danger" @click="dgCancellation('清除')">清 除</el-button>
- <el-button type="primary" @click="dgVisible = false">确 定</el-button>
- </span>
- </el-dialog>
- </div>
- </template>
- <script>
- import precontainers
- from "@/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation/precontainers.vue";
- import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
- import { getBcorpslistByType, getBcorpsDetail } from "@/api/iosBasicData/bcorps";
- 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 { bcorpstypedefineList } from "@/api/iosBasicData/bcorpstypedefine";
- import bcorpstypedefine from "@/views/iosBasicData/bcorps/bcorpstypedefine.vue";
- import { textareaWrap } from "@/util/messageReminder";
- import emailhash from '@/views/iosBasicData/SeafreightExportF/bills/assembly/Jsonfile/emailhash.json'
- import bcorps from "@/views/iosBasicData/bcorps/index.vue";
- import { NdayDate } from "@/util/date";
- import { regularFloating, regularInteger } from "@/util/regularJudgment";
- import { getBcorpsattnList } from "@/api/iosBasicData/bcorpsattn";
- import { getWorkDicts } from "@/api/system/dictbiz";
- import { bportsDetail } from "@/api/iosBasicData/bports";
- import { bpackagesDetail } from "@/api/iosBasicData/bpackages";
- import { getBvesselsDetail } from "@/api/iosBasicData/bvessels";
- import { blinesDetail } from "@/api/iosBasicData/blines";
- import { synchronizationExchangeRate } from "@/api/iosBasicData/rateManagement";
- import { isProcurement } from "@/api/basicData/configuration";
- import { getDeptLazyTree, getDeptTree, getLazyList } from "@/api/system/dept";
- import { getBservicetermsList } from "@/api/iosBasicData/bserviceterms";
- import { selectListLos } from "@/api/approval/processConfig";
- import _ from "lodash";
- import dicSelect from "@/components/dicSelect/main";
- import TreeSelect from "@/components/iosbasic-data/TreeSelect.vue";
- export default {
- props: {
- detailData: {
- type: Object
- },
- assemblyForm: {
- type: Object,
- default: {}
- },
- saberUserInfo: {
- type: Object,
- default: {}
- },
- // 是否生成账单
- generateBillsfalse: {
- type: Boolean,
- default: false
- },
- disabled: {
- type: Boolean,
- default: false
- }
- },
- components: { TreeSelect, bcorps, SearchQuery, precontainers, bcorpstypedefine, dicSelect },
- data() {
- return {
- issueAtData: [],
- sourceTypeData: [
- {
- label: '公司',
- value: 'OWN'
- },
- {
- label: '代理',
- value: 'AGENT'
- },
- {
- label: '业务员',
- value: 'SALES'
- }
- ],
- srcData: [],
- roleName: localStorage.getItem("roleName"),
- dicTree: [],
- textareaNumber: 5,
- loading: false,
- delData: [],
- delOption: {
- border: true,
- align: 'center',
- menu: false,
- header: false,
- column: [
- {
- label: '名称',
- prop: 'name'
- }, {
- label: '键值',
- prop: 'value'
- }
- ]
- },
- hsLoading: false,
- // 设置当前时间选择的范围
- etdPickerOptions: {
- disabledDate(time) {
- // 获取当前日期后的90天
- // return time.getTime() < Date.now() || time.getTime() > Date.parse(NdayDate(90))
- // 获取前后的45天 Date.parse(NdayDate(45))
- let timeDay = localStorage.getItem("timeFrame") ? localStorage.getItem("timeFrame") : 45
- return time.getTime() < Date.parse(NdayDate(-(timeDay))) || time.getTime() > Date.parse(NdayDate(timeDay - 1))
- }
- },
- emailhash: emailhash, // 邮箱跳转地址
- foreignAgencyData: [],
- // 场站
- cyData: [],
- podCyData: [],
- portTerminalData: [],
- cyContactsData: [], // 场站联系人
- podCyCnNameData: [],
- portTerminalCyContactsData: [],
- // 多选的数据
- tabsMultipleChoice: [],
- // 发货人数据
- hshipperData: [],
- // 收货人数据
- hconsigneeData: [],
- // 通知人
- hnotifyData: [],
- // 第二通知人
- hnotify2Data: [],
- // 通知人弹窗开启关闭
- hnotify2Visible: false,
- // 收货地
- placeReceiptData: [],
- // 装货港
- polData: [],
- // 卸货港
- podData: [],
- // 目的地
- destinationData: [],
- // 交货地
- placeDeliveryData: [],
- // 中转港
- potData: [],
- // 商品 HS-CODE
- commodityData: [],
- // 货物类别
- cargoTypeData: [
- {
- label: '普货',
- value: 'dry',
- },
- {
- label: '危险品',
- value: 'danger',
- },
- {
- label: '冻柜',
- value: 'reefer',
- }
- ],
- // 危险品弹窗
- dgVisible: false,
- // 船公司数据
- carrierData: [],
- // 船名
- vesselData: [],
- // 包装
- packingUnitData: [],
- // 订舱代理数据
- bookingAgentData: [],
- // 航线
- lineData: [],
- // COLOADER
- coloaderCnNameData: [],
- // 危险品包装等级
- dgPackingLevelData: [],
- // 服务方式
- serviceTermsData: [],
- marksIndex: 1
- }
- },
- created() {
- isProcurement({ "param": "textarea.number" }).then(res => {
- if (res.data.data) {
- this.textareaNumber = res.data.data
- }
- })
- // // 往来单位
- // this.hshipperBcorpsListfun()
- // this.hconsigneeBcorpsListfun()
- // this.hnotifyBcorpsListfun()
- // this.hnotify2BcorpsListfun()
- // this.bookingAgentBcorpsListfun()
- // // 港口接口
- // this.placeReceiptBportsListfun()
- // this.polBportsListfun()
- // this.podBportsListfun()
- // this.destinationBportsListfun()
- // this.placeDeliveryBportsListfun()
- // // 货物
- // this.commodityBcommodityListfun()
- // // 包装
- // this.packingUnitBpackagesListfun()
- // // 船公司
- this.carrierBcorpslistByTypefun()
- // // 船名
- // this.vesselBvesselsListfun()
- // // 航线
- // this.lineBlinesListfun()
- // 危险品包装等级
- this.dgPackingLevelWorkDicts()
- this.getHsCode()
- // this.getDicTree()
- },
- methods: {
- // 业务来源下拉
- sourceCorp(value, name) {
- if (name == 'srcCnName') {
- if (!value) {
- this.$set(this.assemblyForm, 'srcId', '')
- this.$set(this.assemblyForm, 'srcCnName', '')
- this.$set(this.assemblyForm, 'srcEnName', '')
- }
- for (let item of this.srcData) {
- if (item[this.sourceforParameter.value] == value) {
- if (this.assemblyForm.srcType == 'OWN') {
- // 国家
- this.$set(this.assemblyForm, 'srcId', item.id)
- this.$set(this.assemblyForm, 'srcCnName', item.title)
- this.$set(this.assemblyForm, 'srcEnName', item.title)
- } else if (this.assemblyForm.srcType == 'AGENT') {
- // 代理
- this.$set(this.assemblyForm, 'srcId', item.id)
- this.$set(this.assemblyForm, 'srcCnName', item.cnName)
- this.$set(this.assemblyForm, 'srcEnName', item.cnName)
- } else if (this.assemblyForm.srcType == 'SALES') {
- // 业务员
- this.$set(this.assemblyForm, 'srcId', item.id)
- this.$set(this.assemblyForm, 'srcCnName', item.name)
- this.$set(this.assemblyForm, 'srcEnName', item.name)
- }
- }
- }
- } else if (name == 'srcType') {
- this.$set(this.assemblyForm, 'srcType', value)
- this.$set(this.assemblyForm, 'srcId', '')
- this.$set(this.assemblyForm, 'srcCnName', '')
- this.$set(this.assemblyForm, 'srcEnName', '')
- if (this.assemblyForm.srcType == 'OWN') {
- this.sourceforParameter = { key: 'id', label: 'title', value: 'title' }
- this.ownDeptLazyTreefun()
- } else if (this.assemblyForm.srcType == 'AGENT') {
- this.sourceforParameter = { key: 'id', label: 'cnName', value: 'cnName' }
- this.agentBcorpsListfun()
- } else if (this.assemblyForm.srcType == 'SALES') {
- this.sourceforParameter = { key: 'id', label: 'name', value: 'name' }
- this.salesUserGetListfun()
- }
- }
- },
- // 业务来源接口
- sourceRemote(value, name) {
- if (name == 'srcCnName') {
- if (this.assemblyForm.srcType == 'OWN') {
- this.sourceforParameter = { key: 'id', label: 'title', value: 'title' }
- this.ownDeptLazyTreefun()
- } else if (this.assemblyForm.srcType == 'AGENT') {
- this.sourceforParameter = { key: 'id', label: 'cnName', value: 'cnName' }
- this.agentBcorpsListfun(value)
- } else if (this.assemblyForm.srcType == 'SALES') {
- this.sourceforParameter = { key: 'id', label: 'name', value: 'name' }
- this.salesUserGetListfun(value)
- }
- }
- },
- // 获取业务来源代理数据
- agentBcorpsListfun(cnName) {
- let corpTypeName = '国内直接客户,国内同行及代理,国外直接客户,国外同行及代理,代理客户'
- getBcorpslistByType(1, 10, { cnName, corpTypeName }).then(res => {
- this.srcData = res.data.data.records
- })
- },
- // 获取业务来源业务员数据
- salesUserGetListfun(account) {
- selectListLos('业务员').then(res => {
- this.srcData = res.data.data
- })
- },
- // 获取公司名称 用户管理左侧
- ownDeptLazyTreefun() {
- getDeptLazyTree(0).then(res => {
- this.srcData = res.data.data
- // 来源 内容 默认登录人所属公司
- for (let item of this.srcData) {
- if (item.id == JSON.parse(localStorage.getItem('saber-userInfo')).content.dept_id) {
- this.$set(this.assemblyForm, 'srcId', item.id)
- this.$set(this.assemblyForm, 'srcCnName', item.title)
- this.$set(this.assemblyForm, 'srcEnName', item.title)
- }
- }
- })
- },
- // 获取服务方式数据
- serviceTermsWorkDicts() {
- // getWorkDicts('service_terms').then(res=>{
- // this.serviceTermsData = res.data.data
- // })
- getBservicetermsList(1, 20, { status: 0 }).then(res => {
- this.serviceTermsData = res.data.data.records
- })
- },
- getDicTree() {
- let obj = {
- eptId: this.saberUserInfo.dept_pid.split(',')[0]
- }
- getDeptTree(obj).then(res => {
- res.data.data.forEach(item => {
- item.label = item.title
- })
- this.dicTree = res.data.data
- })
- },
- treeChange(val) {
- for (let item of this.dicTree) {
- if (item.title == val) {
- this.assemblyForm.customerServiceName = item.title
- this.assemblyForm.customerServiceId = item.id
- }
- }
- },
- //DEL监听
- delShow(val, type) {
- if (val) {
- this.loading = true
- this.delData = []
- if (type == 1) {
- bportsDetail(val).then(res => {
- this.delData = res.data.data.extendedDataArr
- }).finally(() => {
- this.loading = false;
- });
- }
- if (type == 2) {
- bpackagesDetail(val).then(res => {
- this.delData = res.data.data.extendedDataArr
- }).finally(() => {
- this.loading = false;
- });
- }
- if (type == 3) {
- getBvesselsDetail(val).then(res => {
- this.delData = res.data.data.extendedDataArr
- }).finally(() => {
- this.loading = false;
- });
- }
- if (type == 4) {
- blinesDetail(val).then(res => {
- this.delData = res.data.data.extendedDataArr
- }).finally(() => {
- this.loading = false;
- });
- }
- } else {
- this.delData = []
- }
- },
- //ETD监听
- handlePick(val) {
- if (this.assemblyForm.id) {
- this.$confirm('是否同步汇率, 是否继续?', '提示', {
- confirmButtonText: '是',
- cancelButtonText: '否',
- type: 'warning'
- }).then(() => {
- let obj = {}
- obj = {
- date: this.assemblyForm.etd,
- type: 1,
- billId: this.assemblyForm.id
- }
- console.log(obj)
- synchronizationExchangeRate(obj).then(res => {
- this.billsDetailfun()
- })
- }).catch(() => {
- let obj = {}
- obj = {
- date: this.assemblyForm.etd,
- type: 0,
- billId: this.assemblyForm.id
- }
- synchronizationExchangeRate(obj).then(res => {
- this.billsDetailfun()
- })
- });
- }
- },
- // 易燃易爆品闪点类型为数字
- dgFlashPointInput(val) {
- this.$set(this.assemblyForm, 'dgFlashPoint', regularInteger(val))
- },
- // 件数聚焦
- quantityFocus() {
- if (this.assemblyForm.containersList && this.assemblyForm.containersList.length) {
- this.$alert('当前数据已经均分箱量,请撤销之后再修改', '提示', {
- confirmButtonText: '确定',
- });
- this.$nextTick(() => {
- this.$refs.quantityRef.blur()
- this.$refs.grossWeightRef.blur()
- this.$refs.measurementRef.blur()
- })
- return
- // let num=0
- // for(let item of this.assemblyForm.containersList){
- // num+=Number(item.quantity)
- // }
- // if (Number(num) == 0) {
- // this.$alert('当前数据已经均分箱量,请撤销之后再修改', '提示', {
- // confirmButtonText: '确定',
- // });
- // this.$nextTick(() => {
- // this.$refs.quantityRef.blur()
- // this.$refs.grossWeightRef.blur()
- // this.$refs.measurementRef.blur()
- // })
- // return
- // }
- }
- },
- // 件数监听
- quantityInput(value) {
- this.$set(this.assemblyForm, 'quantity', regularInteger(value))
- },
- // 正浮点数正则监听
- floatingInput(value, name) {
- this.$set(this.assemblyForm, name, regularFloating(value))
- },
- grossWeightChange(value) {
- if (isNaN(Number(value))) {
- this.$set(this.assemblyForm, 'grossWeight', 0)
- } else {
- this.$set(this.assemblyForm, 'grossWeight', Number(value).toFixed(3))
- }
- },
- // 详情接口
- billsDetailfun() {
- this.$emit('billsDetailfun')
- },
- dicChange(name, row) {
- if (name == 'cabinType') {
- this.assemblyForm.cabinTypeData = null
- }
- if (name == 'shippingAgencyCname') {
- if (row) {
- this.assemblyForm.shippingAgencyId = row.id
- this.assemblyForm.shippingAgencyEname = row.enName
- } else {
- this.assemblyForm.shippingAgencyId = null
- this.assemblyForm.shippingAgencyEname = null
- this.assemblyForm.shippingAgencyCname = null
- }
- }
- if (name == 'operatorName') {
- if (row) {
- this.assemblyForm.operatorName = row.realName
- this.assemblyForm.operatorId = row.id
- } else {
- this.assemblyForm.operatorName = null
- this.assemblyForm.operatorId = null
- }
- }
- if (name == 'customerServiceName') {
- if (row) {
- this.assemblyForm.customerServiceName = row.realName
- this.assemblyForm.customerServiceId = row.id
- } else {
- this.assemblyForm.customerServiceName = null
- this.assemblyForm.customerServiceId = null
- }
- }
- if (name == 'branchName') {
- if (row) {
- this.assemblyForm.branchId = row.id
- this.saveLocalCurrency(row.id)
- } else {
- this.assemblyForm.branchId = null
- this.assemblyForm.branchName = null
- }
- }
- },
- // 远程搜索
- remoteMethod(value, name) {
- let arr = ['hshipper', 'hconsignee', 'hnotify', 'hnotify2', 'bookingAgent', 'foreignAgency']
- let portArr = ['placeReceipt', 'pol', 'pod', 'destination', 'placeDelivery', 'pot']
- let payplaceArr = ['issueAt']
- if (arr.indexOf(name) != -1) {
- this[name + 'BcorpsListfun'](value)
- }
- // 港口
- else if (portArr.indexOf(name) != -1) {
- this[name + 'BportsListfun'](value)
- }
- // 场站
- else if (name == 'cy') {
- this.cyBcorpslistByType(value)
- }
- // 场站联系人
- else if (name == 'cyContacts') {
- this.cyBcorpsattnListfun()
- }
- else if (name == 'podCyCnName') {
- this.cyBcorpslistByType2(value)
- }
- // 场站联系人
- else if (name == 'podCyContacts') {
- this.cyBcorpsattnListfun2()
- }
- // 码头
- else if (name == 'portTerminalCyCnName') {
- this.cyBcorpslistByType3()
- }
- //联系人
- else if (name == 'portTerminalCyContacts') {
- this.cyBcorpsattnListfun3()
- }
- // 货物
- // else if (name == 'commodity') {
- // this.commodityBcommodityListfun(value)
- // }
- // 包装
- else if (name == 'packingUnit') {
- // if (this.assemblyForm.containersList && this.assemblyForm.containersList.length) {
- // this.$alert('当前数据已经均分箱量,请撤销之后再修改', '提示', {
- // confirmButtonText: '确定',
- // });
- // this.$nextTick(() => {
- // this.$refs.packingUnit.blur()
- // this.$refs.quantityRef.blur()
- // this.$refs.grossWeightRef.blur()
- // this.$refs.measurementRef.blur()
- // })
- // return
- // }
- this.packingUnitBpackagesListfun(value)
- }
- // 船名
- else if (name == 'vessel') {
- this.vesselBvesselsListfun(value)
- }
- // 船公司
- else if (name == 'carrier') {
- this.carrierBcorpslistByTypefun(value)
- }
- // 航线
- else if (name == 'line') {
- this.lineBlinesListfun(value)
- }
- // COLOADER
- else if (name == 'coloaderCnName') {
- this.bcorpstypedefineListfun(value)
- }
- else if (name == 'serviceTerms') {
- this.serviceTermsWorkDicts()
- }
- else if (name == 'bookingAgent') {
- this.bookingAgentBcorpsListfun(value)
- }
- else if (payplaceArr.indexOf(name) != -1) {
- this[name + 'BportsListfun'](value)
- }
- },
- // 选择框的回调
- corpChange(value, name) {
- console.log('corpChange', value, name)
- let arr = ['hshipper', 'hconsignee', 'hnotify', 'hnotify2']
- let portArr = ['placeReceipt', 'destination', 'placeDelivery']
- let cnPorArr = ['pol', 'pod', 'pot']
- if (arr.indexOf(name) != -1) {
- if (!value) {
- // this.$set(this.assemblyForm.detail, name + 'Id', '')
- this.$set(this.assemblyForm.detail, name + 'Id', '')
- this.$set(this.assemblyForm.detail, name + 'CnName', '')
- this.$set(this.assemblyForm.detail, name + 'EnName', '')
- this.$set(this.assemblyForm.detail, name + 'Code', '')
- this.$set(this.assemblyForm.detail, name + 'Details', '')
- this.$set(this.assemblyForm.detail, name + 'CntyName', '')
- this.$set(this.assemblyForm.detail, name + 'CntyCode', '')
- }
- for (let item of this[name + 'Data']) {
- if (item.cnName == value) {
- console.log(item.cntyCode, 1231231)
- this.$set(this.assemblyForm.detail, name + 'Id', item.id)
- this.$set(this.assemblyForm.detail, name + 'CnName', item.cnName)
- this.$set(this.assemblyForm.detail, name + 'EnName', item.enName)
- this.$set(this.assemblyForm.detail, name + 'Code', item.code)
- // this.$set(this.assemblyForm,name + 'Details',item.details)
- if (!this.assemblyForm[name + 'Details']) {
- this.$set(this.assemblyForm.detail, name + 'Details', item.details)
- }
- // 国家名称
- this.$set(this.assemblyForm.detail, name + 'CntyName', item.cntyName)
- // 国家代码
- this.$set(this.assemblyForm.detail, name + 'CntyCode', item.cntyCode)
- }
- }
- }
- // 有中文名称的港口
- else if (cnPorArr.indexOf(name) != -1) {
- if (!value) {
- this.$set(this.assemblyForm, name + 'Id', '')
- this.$set(this.assemblyForm, name + 'CnName', '')
- this.$set(this.assemblyForm, name + 'EnName', '')
- this.$set(this.assemblyForm, name + 'Code', '')
- this.$set(this.assemblyForm, name + 'NamePrint', '')
- }
- 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)
- // 签单地点 默认 装货港
- if (name == 'pol') {
- this.$set(this.assemblyForm, 'issueAt', this.assemblyForm.polEnName)
- this.$set(this.assemblyForm, 'issueAtId', this.assemblyForm.polId)
- }
- // // 选择卸货港带出目的地
- // if(name == 'pod') {
- // this.$set(this.assemblyForm,'destinationId',item.id)
- // this.$set(this.assemblyForm,'destinationName',item.enName)
- // this.$set(this.assemblyForm,'destinationCode',item.code)
- // this.$set(this.assemblyForm,'destinationNamePrint',item.enName)
- // }
- }
- }
- }
- else if (name == 'foreignAgency') {
- if (!value) {
- // this.$set(this.assemblyForm.detail, name + 'Id', '')
- this.$set(this.assemblyForm, name + 'Id', '')
- this.$set(this.assemblyForm, name + 'CnName', '')
- this.$set(this.assemblyForm, name + 'EnName', '')
- this.$set(this.assemblyForm, name + 'Code', '')
- this.$set(this.assemblyForm, name + 'Details', '')
- this.$set(this.assemblyForm, name + 'CntyName', '')
- this.$set(this.assemblyForm, name + 'CntyCode', '')
- }
- for (let item of this[name + 'Data']) {
- if (item.cnName == value) {
- console.log(item.cntyCode, 1231231)
- 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 + 'Details',item.details)
- this.$set(this.assemblyForm, name + 'Details', item.details)
- // 国家名称
- this.$set(this.assemblyForm, name + 'CntyName', item.cntyName)
- // 国家代码
- this.$set(this.assemblyForm, name + 'CntyCode', item.cntyCode)
- }
- }
- }
- // 没有中文名的港口
- else if (portArr.indexOf(name) != -1) {
- console.log(name)
- if (!value) {
- this.$set(this.assemblyForm, name + 'Id', '')
- this.$set(this.assemblyForm, name + 'Name', '')
- this.$set(this.assemblyForm, name + 'Code', '')
- this.$set(this.assemblyForm, name + 'NamePrint', '')
- }
- for (let item of this[name + 'Data']) {
- if (item.enName == value) {
- this.$set(this.assemblyForm, name + 'Id', item.id)
- this.$set(this.assemblyForm, name + 'Name', item.enName)
- this.$set(this.assemblyForm, name + 'Code', item.code)
- this.$set(this.assemblyForm, name + 'NamePrint', item.enName)
- }
- }
- }
- // else if (name == 'commodity') {
- // if (!value) {
- // this.$set(this.assemblyForm,'hscode','')
- // this.$set(this.assemblyForm,'commodityShName','')
- // this.$set(this.assemblyForm,'commodityCnName','')
- // this.$set(this.assemblyForm,'commodityEnName','')
- // }
- // for(let item of this[name + 'Data']) {
- // if (item.hsCode == value) {
- // this.$set(this.assemblyForm,'hscode',item.hsCode)
- // this.$set(this.assemblyForm,'commodityShName',item.cnName)
- // this.$set(this.assemblyForm,'commodityCnName',item.cnName)
- // this.$set(this.assemblyForm,'commodityEnName',item.enName)
- // }
- // }
- // }
- // 船名
- else if (name == 'vessel') {
- if (!value) {
- this.$set(this.assemblyForm, 'vesselId', '')
- this.$set(this.assemblyForm, 'vesselCnName', '')
- this.$set(this.assemblyForm, 'vesselEnName', '')
- }
- if (this[name + 'Data'].length == 0) {
- this.$set(this.assemblyForm, 'vesselId', null)
- this.$set(this.assemblyForm, 'vesselCnName', value)
- this.$set(this.assemblyForm, 'vesselEnName', value)
- }
- for (let item of this[name + 'Data']) {
- if (item.enName == value) {
- this.$set(this.assemblyForm, 'vesselId', item.id)
- this.$set(this.assemblyForm, 'vesselCnName', item.cnName)
- this.$set(this.assemblyForm, 'vesselEnName', item.enName)
- }
- }
- }
- // 船公司
- else if (name == 'carrier') {
- if (!value) {
- this.$set(this.assemblyForm, 'carrierId', '')
- this.$set(this.assemblyForm, 'carrierShortName', '')
- this.$set(this.assemblyForm, 'carrierCnName', '')
- this.$set(this.assemblyForm, 'carrierEnName', '')
- this.$set(this.assemblyForm, 'carrierCode', '')
- this.$set(this.assemblyForm, 'carrierArgreementNo', '')
- this.$set(this.assemblyForm, 'bookingAgentId', '')
- this.$set(this.assemblyForm, 'bookingAgentEnName', '')
- this.$set(this.assemblyForm, 'bookingAgentCnName', '')
- this.$set(this.assemblyForm, 'bookingRemarks', '')
- }
- for (let item of this[name + 'Data']) {
- if (item.cnName == value) {
- console.log(item)
- this.$set(this.assemblyForm, 'carrierId', item.id)
- this.$set(this.assemblyForm, 'carrierShortName', item.shortName ? item.shortName : item.cnName)
- this.$set(this.assemblyForm, 'carrierCnName', item.cnName)
- this.$set(this.assemblyForm, 'carrierEnName', item.enName)
- this.$set(this.assemblyForm, 'carrierCode', item.code)
- this.$set(this.assemblyForm, 'carrierArgreementNo', item.carrierArgreementNo)
- this.$set(this.assemblyForm, 'bookingAgentId', item.bookingAgentId)
- this.$set(this.assemblyForm, 'bookingAgentEnName', item.bookingAgentEnName)
- this.$set(this.assemblyForm, 'bookingAgentCnName', item.bookingAgentCnName)
- this.$set(this.assemblyForm, 'bookingRemarks', item.bookingRemarks)
- }
- }
- }
- // 包装
- else if (name == 'packingUnit') {
- if (!value) {
- this.$set(this.assemblyForm, 'packingUnitId', '')
- this.$set(this.assemblyForm, '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 if (name == 'bookingAgent') {
- if (!value) {
- this.$set(this.assemblyForm, 'bookingAgentId', '')
- this.$set(this.assemblyForm, 'bookingAgentCnName', '')
- this.$set(this.assemblyForm, 'bookingAgentEnName', '')
- this.$set(this.assemblyForm, 'bookingRemarks', '')
- }
- for (let item of this[name + 'Data']) {
- if (item.cnName == value) {
- this.$set(this.assemblyForm, 'bookingAgentId', item.id)
- this.$set(this.assemblyForm, 'bookingAgentCnName', item.cnName)
- this.$set(this.assemblyForm, 'bookingAgentEnName', item.enName)
- this.$set(this.assemblyForm, 'bookingRemarks', item.remarks)
- }
- }
- }
- // 航线
- else if (name == 'line') {
- if (!value) {
- this.$set(this.assemblyForm, 'lineId', '')
- this.$set(this.assemblyForm, 'lineCnName', '')
- this.$set(this.assemblyForm, 'lineEnName', '')
- }
- for (let item of this[name + 'Data']) {
- if (item.cnName == value) {
- this.$set(this.assemblyForm, 'lineId', item.id)
- this.$set(this.assemblyForm, 'lineCnName', item.cnName)
- this.$set(this.assemblyForm, 'lineEnName', item.enName)
- }
- }
- }
- // COLOADER
- else if (name == 'coloaderCnName') {
- if (!value) {
- this.$set(this.assemblyForm, 'coloaderId', '')
- this.$set(this.assemblyForm, 'coloaderCnName', '')
- this.$set(this.assemblyForm, 'coloaderEnName', '')
- }
- for (let item of this.coloaderCnNameData) {
- if (item.cnName == value) {
- this.$set(this.assemblyForm, 'coloaderId', item.id)
- this.$set(this.assemblyForm, 'coloaderCnName', item.cnName)
- this.$set(this.assemblyForm, 'coloaderEnName', item.enName)
- }
- }
- }
- else if (name == 'cargoType') {
- this.$set(this.assemblyForm, 'cargoType', value ? value : '')
- if (value == 'danger') {
- // 危险品
- this.DangerousGoodsAdd()
- }
- }
- else if (name == 'cy') {
- if (!value) {
- this.$set(this.assemblyForm, 'cyId', '')
- this.$set(this.assemblyForm, 'cyCode', '')
- this.$set(this.assemblyForm, 'cyShortName', '')
- this.$set(this.assemblyForm, 'cyCnName', '')
- this.$set(this.assemblyForm, 'cyEnName', '')
- this.$set(this.assemblyForm, 'cyRemarks', '')
- // 联系人
- this.$set(this.assemblyForm, 'cyTel', '')
- this.$set(this.assemblyForm, 'cyAddress', '')
- this.$set(this.assemblyForm, 'cyContacts', '')
- }
- for (let item of this.cyData) {
- if (item.cnName == value) {
- console.log(item)
- this.$set(this.assemblyForm, 'cyId', item.id)
- this.$set(this.assemblyForm, 'cyCode', item.code)
- this.$set(this.assemblyForm, 'cyShortName', item.shortName ? item.shortName : item.cnName)
- this.$set(this.assemblyForm, 'cyCnName', item.cnName)
- this.$set(this.assemblyForm, 'cyEnName', item.enName)
- this.$set(this.assemblyForm, 'cyRemarks', item.details) // 客户里的详情信息
- // 查询场站联系人
- getBcorpsattnList(1, 20, { pid: this.assemblyForm.cyId }).then(res => {
- if (res.data.data.records.length > 0) {
- this.$set(this.assemblyForm, 'cyTel', res.data.data.records[0].tel)
- this.$set(this.assemblyForm, 'cyAddress', res.data.data.records[0].addr)
- this.$set(this.assemblyForm, 'cyContacts', res.data.data.records[0].cname)
- }
- })
- }
- }
- }
- else if (name == 'podCyCnName') {
- if (!value) {
- this.$set(this.assemblyForm, 'podCyId', '')
- this.$set(this.assemblyForm, 'podCyCode', '')
- this.$set(this.assemblyForm, 'podCyCnName', '')
- this.$set(this.assemblyForm, 'podCyEnName', '')
- // 联系人
- this.$set(this.assemblyForm, 'podCyTel', '')
- this.$set(this.assemblyForm, 'podCyAddress', '')
- this.$set(this.assemblyForm, 'podCyContacts', '')
- }
- for (let item of this.podCyData) {
- if (item.cnName == value) {
- console.log(item)
- this.$set(this.assemblyForm, 'podCyId', item.id)
- this.$set(this.assemblyForm, 'podCyCode', item.code)
- // this.$set(this.assemblyForm, 'cyShortName', item.shortName ? item.shortName : item.cnName)
- this.$set(this.assemblyForm, 'podCyCnName', item.cnName)
- this.$set(this.assemblyForm, 'podCyEnName', item.enName)
- // this.$set(this.assemblyForm, 'cyRemarks', item.details) // 客户里的详情信息
- // 查询场站联系人
- getBcorpsattnList(1, 20, { pid: this.assemblyForm.podCyId }).then(res => {
- if (res.data.data.records.length > 0) {
- this.$set(this.assemblyForm, 'podCyTel', res.data.data.records[0].tel)
- this.$set(this.assemblyForm, 'podCyAddress', res.data.data.records[0].addr)
- this.$set(this.assemblyForm, 'podCyContacts', res.data.data.records[0].cname)
- }
- })
- }
- }
- }
- else if (name == 'portTerminalCyCnName') {
- if (!value) {
- this.$set(this.assemblyForm, 'portTerminalCyId', '')
- this.$set(this.assemblyForm, 'portTerminalCyCode', '')
- this.$set(this.assemblyForm, 'portTerminalCyCnName', '')
- this.$set(this.assemblyForm, 'portTerminalCyEnName', '')
- // 联系人
- this.$set(this.assemblyForm, 'portTerminalCyTel', '')
- this.$set(this.assemblyForm, 'portTerminalCyAddress', '')
- this.$set(this.assemblyForm, 'portTerminalCyContacts', '')
- }
- for (let item of this.portTerminalData) {
- if (item.cnName == value) {
- this.$set(this.assemblyForm, 'portTerminalCyId', item.id)
- this.$set(this.assemblyForm, 'portTerminalCyCode', item.code)
- this.$set(this.assemblyForm, 'portTerminalCyCnName', item.cnName)
- this.$set(this.assemblyForm, 'portTerminalCyEnName', item.enName)
- // 查询场站联系人
- getBcorpsattnList(1, 20, { pid: this.assemblyForm.portTerminalCyId }).then(res => {
- if (res.data.data.records.length > 0) {
- this.$set(this.assemblyForm, 'portTerminalCyTel', res.data.data.records[0].tel)
- this.$set(this.assemblyForm, 'portTerminalCyAddress', res.data.data.records[0].addr)
- this.$set(this.assemblyForm, 'portTerminalCyContacts', res.data.data.records[0].cname)
- }
- })
- }
- }
- }
- // 场站联系人
- else if (name == 'cyContacts') {
- if (!value) {
- this.$set(this.assemblyForm, 'cyTel', '')
- this.$set(this.assemblyForm, 'cyAddress', '')
- this.$set(this.assemblyForm, 'cyContacts', '')
- }
- for (let item of this.cyContactsData) {
- if (item.cname == value) {
- this.$set(this.assemblyForm, 'cyTel', item.tel)
- this.$set(this.assemblyForm, 'cyAddress', item.addr)
- this.$set(this.assemblyForm, 'cyContacts', item.cname)
- }
- }
- }
- else if (name == 'podCyContacts') {
- if (!value) {
- this.$set(this.assemblyForm, 'podCyTel', '')
- this.$set(this.assemblyForm, 'podCyAddress', '')
- this.$set(this.assemblyForm, 'podCyContacts', '')
- }
- for (let item of this.podCyCnNameData) {
- if (item.cname == value) {
- this.$set(this.assemblyForm, 'podCyTel', item.tel)
- this.$set(this.assemblyForm, 'podCyAddress', item.addr)
- this.$set(this.assemblyForm, 'podCyContacts', item.cname)
- }
- }
- }
- else if (name == 'portTerminalCyContacts') {
- if (!value) {
- this.$set(this.assemblyForm, 'portTerminalCyTel', '')
- this.$set(this.assemblyForm, 'portTerminalCyAddress', '')
- this.$set(this.assemblyForm, 'portTerminalCyContacts', '')
- }
- for (let item of this.portTerminalCyContactsData) {
- if (item.cname == value) {
- this.$set(this.assemblyForm, 'portTerminalCyTel', item.tel)
- this.$set(this.assemblyForm, 'portTerminalCyAddress', item.addr)
- this.$set(this.assemblyForm, 'portTerminalCyContacts', item.cname)
- }
- }
- }
- else if (name == 'issueAt') {
- for (let item of this.issueAtData) {
- if (item.enName == value) {
- this.$set(this.assemblyForm, 'issueAt', item.enName)
- this.$set(this.assemblyForm, 'issueAtId', item.id)
- }
- }
- }
- else {
- this.$set(this.assemblyForm, name, value ? value : '')
- }
- },
- // 签单地点
- issueAtBportsListfun(enName) {
- bportsList(1, 10, { enName, status: 0 }).then(res => {
- this.issueAtData = res.data.data.records
- })
- },
- // 通知人添加第二个通知人弹窗
- hnotifyClick() {
- if (this.detailData.seeDisabled) {
- return;
- }
- this.hnotify2Visible = true
- },
- // 第二通知人弹窗的清除
- hnotify2Cancellation(name) {
- let title = ''
- if (name == '清除') {
- title = '确认清除吗?'
- }
- this.$confirm(title)
- .then(_ => {
- this.$set(this.assemblyForm, 'hnotify2Id', '')
- this.$set(this.assemblyForm, 'hnotify2CnName', '')
- this.$set(this.assemblyForm, 'hnotify2EnName', '')
- this.$set(this.assemblyForm, 'hnotify2Code', '')
- this.$set(this.assemblyForm, 'hnotify2Details', '')
- this.$set(this.assemblyForm, 'hnotify2CntyName', '')
- this.$set(this.assemblyForm, 'hnotify2CntyCode', '')
- this.hnotify2Visible = false
- })
- .catch(_ => { });
- },
- // 通知人
- hnotify2HandleClose(done) {
- done();
- },
- // 危险品弹窗开启
- DangerousGoodsAdd() {
- if (this.assemblyForm.cargoType == 'danger') {
- this.dgVisible = true
- } else {
- this.$message({
- message: '请选择货物为危险品',
- type: 'warning'
- });
- }
- },
- // 危险品弹窗的清除
- dgCancellation(name) {
- let title = ''
- if (name == '清除') {
- title = '确认清除吗?'
- }
- this.$confirm(title)
- .then(_ => {
- this.$set(this.assemblyForm, 'dgImdgCode', '')
- this.$set(this.assemblyForm, 'dgUnCode', '')
- this.$set(this.assemblyForm, 'dgPackingLevel', '0')
- this.$set(this.assemblyForm, 'dgFlashPoint', '')
- this.$set(this.assemblyForm, 'dgFlashPointUnit', '')
- this.$set(this.assemblyForm, 'dgContacts', '')
- this.$set(this.assemblyForm, 'dgTel', '')
- this.$set(this.assemblyForm, 'dgIsMarinePollutant', '')
- this.dgVisible = false
- })
- .catch(_ => { });
- },
- handleInput(event, name) {
- console.log(event, 1231)
- // 2E80-2EFF CJK 部首补充 2F00-2FDF 康熙字典部首
- // 3000-303F CJK 符号和标点 31C0-31EF CJK 笔画
- // 3200-32FF 封闭式 CJK 文字和月份 3300-33FF CJK 兼容
- // 3400-4DBF CJK 统一表意符号扩展 A 4DC0-4DFF 易经六十四卦符号
- // 4E00-9FBF CJK 统一表意符号 F900-FAFF CJK 兼容象形文字
- // FE30-FE4F CJK 兼容形式 FF00-FFEF 全角ASCII、全角标点
- // 匹配中文字符
- // let a = event.replace(/[\u2E80-\u2EFF\u2F00-\u2FDF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\u3400-\u4DBF\u4DC0-\u4DFF\u4E00-\u9FBF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF]+/g, '')
- // this.assemblyForm[name] = a
- },
- // text文本框input
- textareaBlur(name) {
- console.log(name, 1160)
- // if (this.assemblyForm[name].length > (35 * 5)) {
- // this.$message({
- // message: '输入的字体已经超出五行',
- // type: 'warning'
- // });
- // }
- let arr = ['hshipperDetails', 'hconsigneeDetails', 'hnotifyDetails', 'hnotify2Details', 'foreignAgencyDetails']
- if (arr.indexOf(name) != -1) {
- this.assemblyForm.detail[name] = _.toUpper(this.assemblyForm.detail[name])
- }
- let arr2 = ['marks', 'commodityDescr', 'bookingRemarks', 'siRemarks', 'forwarding', 'remarks', 'cyRemarks']
- if (arr2.indexOf(name) != -1) {
- this.assemblyForm[name] = _.toUpper(this.assemblyForm[name])
- }
- let arr3 = 'placeReceiptNamePrint,polNamePrint,podNamePrint,destinationNamePrint,placeDeliveryNamePrint,potNamePrint'.split(',')
- if (arr3.indexOf(name) != -1) {
- this.assemblyForm[name] = _.toUpper(this.assemblyForm[name])
- }
- // this.assemblyForm[name] = textareaWrap(this.assemblyForm[name])
- },
- // 同通知人
- notifybyfun() {
- if (this.detailData.seeDisabled) {
- return;
- }
- this.$set(this.assemblyForm.detail, 'hnotifyId', this.assemblyForm.detail.hconsigneeId)
- this.$set(this.assemblyForm.detail, 'hnotifyCnName', this.assemblyForm.detail.hconsigneeCnName)
- this.$set(this.assemblyForm.detail, 'hnotifyEnName', this.assemblyForm.detail.hconsigneeEnName)
- this.$set(this.assemblyForm.detail, 'hnotifyCode', this.assemblyForm.detail.hconsigneeCode)
- this.$set(this.assemblyForm.detail, 'hnotifyDetails', this.assemblyForm.detail.hconsigneeDetails)
- this.$set(this.assemblyForm.detail, 'hnotifyCntyName', this.assemblyForm.detail.hconsigneeCntyName)
- this.$set(this.assemblyForm.detail, 'hnotifyCntyCode', this.assemblyForm.detail.hconsigneeCntyCode)
- },
- // 邮箱跳转
- emailJump(name) {
- let value = null
- if (this.detailData.seeDisabled) {
- return;
- }
- if (name == 'cy') {
- if (!this.assemblyForm.cyId) {
- this.$message({
- message: '请先选择场站',
- type: 'warning'
- });
- return
- }
- value = this.assemblyForm.cyId
- }
- if (name == 'carrier') {
- if (!this.assemblyForm.carrierId) {
- this.$message({
- message: '请先选择船公司',
- type: 'warning'
- });
- return
- }
- value = this.assemblyForm.carrierId
- }
- // 调详情获取邮箱
- getBcorpsDetail(value).then(res => {
- let email = res.data.data.email.split('@')[1] // 取@符号后面的数据
- for (let i in this.emailhash) {
- if (email == i) {
- // 跳转打开一个新的页面
- window.open(this.emailhash[i], "_blank")
- }
- }
- })
- },
- // 添加跳转
- addJump(name) {
- let corpTypeName = '国内直接客户,国内同行及代理,国外直接客户,国外同行及代理'
- if (this.$store.getters.CorrespondenceUnitslos) {
- this.$alert("往来单位已存在,请保存关闭再进行操作", "温馨提示", {
- confirmButtonText: "确定",
- type: "warning",
- callback: action => {
- console.log(action);
- }
- });
- return
- }
- this.$router.$avueRouter.closeTag("/iosBasicData/bcorps/index");
- this.$router.push({
- path: "/iosBasicData/bcorps/index",
- query: {
- corpType: corpTypeName
- },
- })
- },
- // 接口数据请求🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏
- // 获取场站数据
- cyBcorpslistByType(cnName) {
- let corpTypeName = '场站'
- getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
- this.cyData = res.data.data.records
- })
- },
- cyBcorpslistByType2(cnName) {
- let corpTypeName = '场站'
- getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
- this.podCyData = res.data.data.records
- })
- },
- cyBcorpslistByType3(cnName) {
- let corpTypeName = '码头'
- getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
- this.portTerminalData = res.data.data.records
- })
- },
- // 获取场站下的联系人数据
- cyBcorpsattnListfun() {
- getBcorpsattnList(1, 20, { pid: this.assemblyForm.cyId }).then(res => {
- this.cyContactsData = res.data.data.records
- })
- },
- cyBcorpsattnListfun2() {
- getBcorpsattnList(1, 20, { pid: this.assemblyForm.podCyId }).then(res => {
- this.podCyCnNameData = res.data.data.records
- })
- },
- cyBcorpsattnListfun3() {
- getBcorpsattnList(1, 20, { pid: this.assemblyForm.portTerminalCyId }).then(res => {
- this.portTerminalCyContactsData = res.data.data.records
- })
- },
- foreignAgencyBcorpsListfun(cnName) {
- let corpTypeName = '国外同行及代理'
- getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
- this.foreignAgencyData = res.data.data.records
- })
- },
- // 获取发货人数据 (往来单位 前四个代理)
- hshipperBcorpsListfun(cnName) {
- let corpTypeName = '国内直接客户,国内同行及代理,国外直接客户,国外同行及代理'
- getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
- this.hshipperData = res.data.data.records
- })
- },
- // 获取收货人数据 (往来单位 前四个代理)
- hconsigneeBcorpsListfun(cnName) {
- let corpTypeName = '国内直接客户,国内同行及代理,国外直接客户,国外同行及代理'
- getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
- this.hconsigneeData = res.data.data.records
- })
- },
- // 获取通知人数据 (往来单位 前四个代理)
- hnotifyBcorpsListfun(cnName) {
- let corpTypeName = '国内直接客户,国内同行及代理,国外直接客户,国外同行及代理'
- getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
- this.hnotifyData = res.data.data.records
- })
- },
- // 获取第二通知人数据 (往来单位 前四个代理)
- hnotify2BcorpsListfun(cnName) {
- let corpTypeName = '国内直接客户,国内同行及代理,国外直接客户,国外同行及代理'
- getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
- this.hnotify2Data = res.data.data.records
- })
- },
- // 收货地数据 (港口表)
- placeReceiptBportsListfun(enName) {
- bportsList(1, 10, { enName, status: 0 }).then(res => {
- this.placeReceiptData = res.data.data.records
- })
- },
- // 装货港数据
- polBportsListfun(enName) {
- bportsList(1, 10, { enName, status: 0 }).then(res => {
- this.polData = res.data.data.records
- })
- },
- // 卸货港数据
- podBportsListfun(enName) {
- bportsList(1, 10, { enName, status: 0 }).then(res => {
- this.podData = res.data.data.records
- })
- },
- // 目的地
- destinationBportsListfun(enName) {
- bportsList(1, 10, { enName, status: 0 }).then(res => {
- this.destinationData = res.data.data.records
- })
- },
- // 交货地
- placeDeliveryBportsListfun(enName) {
- bportsList(1, 10, { enName, status: 0 }).then(res => {
- this.placeDeliveryData = res.data.data.records
- })
- },
- // 中转港
- potBportsListfun(enName) {
- bportsList(1, 10, { enName, status: 0 }).then(res => {
- this.potData = res.data.data.records
- })
- },
- // 获取类别 COLOADER 数据
- bcorpstypedefineListfun(cnName) {
- let corpTypeName = '国内直接客户,国内同行及代理,国外直接客户,国外同行及代理'
- getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
- this.coloaderCnNameData = res.data.data.records
- })
- },
- // 包装数据
- packingUnitBpackagesListfun(cnName) {
- console.log(cnName)
- bpackagesList(1, 10, { cnName, status: 0, whetherDg: 0 }).then(res => {
- this.packingUnitData = res.data.data.records
- })
- },
- // 商品 HS-CODE (货物列表)
- commodityBcommodityListfun(cnName) {
- bcommodityList(1, 10, { cnName, status: 0 }).then(res => {
- this.commodityData = res.data.data.records
- })
- },
- getHsCode() {
- bcommodityList(1, 10, { status: 0 }).then(res => {
- this.commodityData = res.data.data.records
- })
- },
- searchHsQuery(query) {
- this.hsLoading = true;
- setTimeout(() => {
- bcommodityList(1, 10, { hsCode: query, status: 0 }).then(res => {
- console.log('模糊查询')
- this.commodityData = res.data.data.records
- })
- this.hsLoading = false;
- }, 200)
- },
- hsCodeChang(query) {
- let obj = this.commodityData.find(e => e.hsCode == query)
- if (obj) {
- console.log(11111)
- if (obj.hsCode == query) {
- this.$set(this.assemblyForm, 'commodityCnName', obj.enName)
- this.$set(this.assemblyForm, 'commodityEnName', obj.cnName)
- }
- } else {
- console.log(2222)
- this.$set(this.assemblyForm, 'commodityCnName', '')
- this.$set(this.assemblyForm, 'commodityEnName', '')
- }
- },
- // 获取船公司数据
- carrierBcorpslistByTypefun(cnName) {
- let corpTypeName = '船公司'
- getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
- this.carrierData = res.data.data.records
- })
- },
- // 船名
- vesselBvesselsListfun(cnName) {
- getBvesselsList(1, 10, { cnName, status: 0 }).then(res => {
- this.vesselData = res.data.data.records
- })
- },
- // 订舱代理
- bookingAgentBcorpsListfun(cnName) {
- let corpTypeName = '国内直接客户,国内同行及代理,国外直接客户,国外同行及代理'
- getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
- this.bookingAgentData = res.data.data.records
- })
- },
- // 航线数据
- lineBlinesListfun(cnName) {
- blinesList(1, 10, { cnName, status: 0 }).then(res => {
- this.lineData = res.data.data.records
- })
- },
- // 危险品包装等级
- dgPackingLevelWorkDicts() {
- getWorkDicts('dangerous_goods_grade').then(res => {
- this.dgPackingLevelData = res.data.data
- })
- },
- }
- }
- </script>
- <style scoped>
- ::v-deep.el-form-item {
- margin-bottom: 2px;
- }
- .addbuttonClass {
- width: 30px;
- height: 30px;
- line-height: 27px;
- color: #fff;
- font-weight: 500;
- font-size: 26px;
- box-sizing: border-box;
- border-radius: 4px;
- background-color: #5995fc;
- text-align: center;
- }
- </style>
|