| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060 |
- <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">发货人</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">收货人</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">通知人</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>
- <!-- <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="polCnName">
- <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">装货港</span>
- </el-popover>
- </span>
- <el-row>
- <el-col :span="10">
- <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)"
- :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="13">
- <span style="padding-left: 20px"></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)"
- clearable placeholder="装货港" @change="textareaBlur('polNamePrint')"></el-input>
- </el-col>
- </el-row>
- </el-form-item>
- <el-form-item label="卸货港" prop="podCnName">
- <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">卸货港</span>
- </el-popover>
- <!-- <span style="color: #1e9fff">卸货港</span> -->
- </span>
- <el-row>
- <el-col :span="10">
- <search-query :datalist="podData" :selectValue="assemblyForm.podEnName"
- :filterable="true" :clearable="true" :remote="true" :joinData="true"
- :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 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="13">
- <span style="padding-left: 20px"></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)"
- clearable placeholder="卸货港" @change="textareaBlur('podNamePrint')"></el-input>
- </el-col>
- </el-row>
- </el-form-item>
- <el-form-item label="目的地" prop="destinationName">
- <span slot="label">
- <el-popover placement="right" width="400" trigger="hover"
- @show="delShow(assemblyForm.destinationId, 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">目的地</span>
- </el-popover>
- <!-- <span style="color: #1e9fff">目的地</span> -->
- </span>
- <el-row>
- <el-col :span="10">
- <search-query :datalist="destinationData"
- :selectValue="assemblyForm.destinationName" :filterable="true" :clearable="true"
- :remote="true" :joinData="true"
- :disabled="detailData.seeDisabled || generateBillsfalse || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
- :buttonIf="false" placeholder="请选择目的地"
- :forParameter="{ key: 'id', short: 'enName', label: 'code', value: 'enName' }"
- @remoteMethod="remoteMethod($event, 'destination')"
- @corpChange="corpChange($event, 'destination')"
- @corpFocus="remoteMethod($event, 'destination')">
- </search-query>
- </el-col>
- <el-col :span="13">
- <span style="padding-left: 20px"></span>
- <el-input type="age" style="width: 100%;"
- v-model="assemblyForm.destinationNamePrint" size="small" autocomplete="off"
- :disabled="detailData.seeDisabled || generateBillsfalse || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
- clearable placeholder="目的地"
- @change="textareaBlur('destinationNamePrint')"></el-input>
- </el-col>
- </el-row>
- </el-form-item>
- <el-form-item label="交货地" prop="placeDeliveryName">
- <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">交货地</span>
- </el-popover>
- <!-- <span style="color: #1e9fff">交货地</span> -->
- </span>
- <el-row>
- <el-col :span="10">
- <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="13">
- <span style="padding-left: 20px"></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="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">唛头</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="40px">
- <span slot="label">
- <span style="color: #1e9fff">货描</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="true" :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">危品详细</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>
- <div>
- <el-form-item label="国外代理" prop="foreignAgencyCnName" label-width="60px">
- <span slot="label">
- <span style="color: #1e9fff">国外代理</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>
- <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>
- </div>
- <div style="margin-top: 4px">
- <el-form-item label="订舱备注" prop="cyRemarks" label-width="60px">
- <span slot="label">
- <span style="color: #1e9fff">订舱备注</span>
- </span>
- <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.cyRemarks"
- size="small" autocomplete="off"
- :disabled="detailData.seeDisabled || generateBillsfalse" rows="4" clearable
- placeholder="请输入场站备注" @change="textareaBlur('cyRemarks')"></el-input>
- </el-form-item>
- </div>
- </el-row>
- </el-col>
- <el-col :span="12">
- <el-form-item label="ETD" prop="etd" label-width="90px"
- :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="90px">
- <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">船名</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="90px">
- <span slot="label">
- <span style="color: #1e9fff">航次</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">
- <span slot="label">
- <span style="color: #4c9e44;cursor: pointer;text-decoration: underline"
- @click="emailJump('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> -->
- <div>
- <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">件数</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">包装</span>
- </el-popover>
- <!-- <span style="color: #1e9fff">包装</span> -->
- </span>
- <search-query :datalist="packingUnitData" style="margin-right: -10px;"
- :selectValue="assemblyForm.packingUnit" :filterable="true" :clearable="true"
- :remote="true" :disabled="detailData.seeDisabled || generateBillsfalse"
- :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>
- </div>
- <div>
- <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">毛重(KGS)</span>
- </span>
- <el-input ref="grossWeightRef" step="0.01" style="width: 100%;"
- v-model="assemblyForm.grossWeight" size="small" autocomplete="off"
- :disabled="detailData.seeDisabled" @input="floatingInput($event, 'grossWeight')"
- @focus="quantityFocus" clearable placeholder="请输入毛重"></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">尺码(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>
- </div>
- <div>
- <el-col>
- <el-form-item label="签单方式" prop="issueType" label-width="80px">
- <span slot="label">
- <span style="color: #1e9fff">签单方式</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"></dic-select>
- </el-form-item>
- </el-col>
- </div>
- <div>
- <el-col>
- <el-form-item label="签单日期" prop="issueDate" label-width="80px">
- <span slot="label">
- <span style="color: #1e9fff">签单日期</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>
- </div>
- <div>
- <el-col>
- <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>
- </div>
- <div>
- <el-col>
- <el-form-item label="所属公司" prop="branchName" label-width="80px">
- <span slot="label">
- <span style="color: #1e9fff">所属公司</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>
- </div>
- <div>
- <el-col :span="13">
- <el-form-item label="OP" prop="operatorName" label-width="80px">
- <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=' + saberUserInfo.dept_pid.split(',')[0]"
- :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="11">
- <el-form-item label="客服" prop="accDeptName" label-width="40px">
- <span slot="label">
- <span style="color: #1e9fff">客服</span>
- </span>
- <dic-select v-model="assemblyForm.accDeptName" placeholder="客服" :key="assemblyForm.branchId"
- label="realName"
- :url="'/blade-user/userListAll?roleAlias=客服&deptId=' + saberUserInfo.dept_pid.split(',')[0]"
- :filterable="true" dataName="realName"
- @selectChange="dicChange('accDeptName', $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>
- </div>
-
- <div>
- <el-col>
- <el-form-item label="付款方式" prop="hpaymode" label-width="80px">
- <span slot="label">
- <span style="color: #1e9fff">付款方式</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>
- </div>
- <div>
- <el-col>
- <el-form-item label="SI备注" prop="siRemarks" label-width="80px">
- <span slot="label">
- <span style="color: #1e9fff">SI备注</span>
- </span>
- <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.siRemarks"
- size="small" autocomplete="off" :disabled="detailData.seeDisabled" rows="5"
- clearable placeholder="请输入SI备注" @change="textareaBlur('siRemarks')"></el-input>
- </el-form-item>
- </el-col>
- </div>
- </el-col>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-col :span="12">
- <el-form-item label="POL场站" prop="cyCnName">
- <span slot="label">
- <span style="color: #4c9e44;cursor: pointer;text-decoration: underline"
- @click="emailJump('cy')">POL场站</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="12">
- <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>
- <el-col :span="12">
- <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="12">
- <el-col :span="12">
- <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="12">
- <el-form-item label="联系人" prop="podCyContacts">
- <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="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, 'cyContacts')"
- @corpFocus="remoteMethod($event, 'cyContacts')">
- </search-query>
- </el-form-item>
- </el-col>
- </el-col>
- <el-col :span="12">
- <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="24">
- <precontainers :assemblyForm="assemblyForm" :seeDisabled="detailData.seeDisabled"
- :pid="assemblyForm.id" @billsDetailfun="billsDetailfun">
- </precontainers>
- </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 _ 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 {
- 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: [],
- cyContactsData: [], // 场站联系人
- podCyCnNameData: [],
- // 多选的数据
- 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: [],
- 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: {
- 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.accDeptName = item.title
- this.assemblyForm.accDept = 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.waitingBoxList) {
- if (Number(this.assemblyForm.waitingBoxList[0].quantity) == 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))
- },
- // 详情接口
- billsDetailfun() {
- this.$emit('billsDetailfun')
- },
- dicChange(name, row) {
- 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 == 'accDeptName') {
- if (row) {
- this.assemblyForm.accDeptName = row.realName
- this.assemblyForm.accDept = row.id
- } else {
- this.assemblyForm.accDeptName = null
- this.assemblyForm.accDept = 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']
- 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 == 'podCyCnName') {
- this.cyBcorpslistByType2(value)
- }
- // 场站联系人
- else if (name == 'podCyCnName') {
- this.cyBcorpsattnListfun()
- }
- // 货物
- // else if (name == 'commodity') {
- // this.commodityBcommodityListfun(value)
- // }
- // 包装
- else if (name == 'packingUnit') {
- 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)
- }
- },
- // 选择框的回调
- 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)
- if (!this.assemblyForm[name + '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', '')
- }
- 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)
- }
- }
- }
- // 包装
- 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.cyId }).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 == '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 {
- this.$set(this.assemblyForm, name, value ? value : '')
- }
- },
- // 通知人添加第二个通知人弹窗
- 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
- })
- },
- // 获取场站下的联系人数据
- 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
- })
- },
- 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>
|