EntrustmentLnformation.vue 141 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313
  1. <template>
  2. <div>
  3. <el-form :model="assemblyForm" ref="form" label-width="90px" class="demo-ruleForm" :disabled="disabled">
  4. <el-row :gutter="20">
  5. <el-col span="8">
  6. <el-row>
  7. <el-form-item label="发货人" prop="hshipperCnName">
  8. <span slot="label">
  9. <el-popover placement="bottom-start" width="700" trigger="click">
  10. <div>
  11. <el-input
  12. type="textarea"
  13. style="width: 100%;"
  14. v-model="assemblyForm.detail.hshipperDetails"
  15. size="small"
  16. autocomplete="off"
  17. :disabled="detailData.seeDisabled"
  18. :rows="textareaNumber"
  19. clearable
  20. placeholder="请输入发货人提单描述"
  21. @change="textareaBlur('hshipperDetails')"
  22. ></el-input>
  23. </div>
  24. <span style="font-size: 12px;color: #1e9fff; text-decoration: underline;cursor: pointer;" slot="reference">{{
  25. $t("sea118n.shipper")
  26. }}</span>
  27. </el-popover>
  28. </span>
  29. <div>
  30. <el-col :span="16">
  31. <search-query
  32. :datalist="hshipperData"
  33. :selectValue="assemblyForm.detail.hshipperCnName"
  34. :filterable="true"
  35. :clearable="true"
  36. :remote="true"
  37. :addIf="true"
  38. :tableIf="false"
  39. :disabled="detailData.seeDisabled"
  40. :joinData="true"
  41. :forParameter="{ key: 'id', short: 'code', label: 'cnName', value: 'cnName' }"
  42. placeholder="请选择发货人"
  43. @addJump="addJump('hshipper')"
  44. @remoteMethod="remoteMethod($event, 'hshipper')"
  45. @corpChange="corpChange($event, 'hshipper')"
  46. @corpFocus="remoteMethod($event, 'hshipper')"
  47. >
  48. </search-query>
  49. </el-col>
  50. <el-col :span="8">
  51. <el-input
  52. type="age"
  53. style="width: 100%;"
  54. v-model="assemblyForm.detail.hshipperCntyName"
  55. size="small"
  56. autocomplete="off"
  57. :disabled="detailData.seeDisabled"
  58. clearable
  59. placeholder="发货人国家代码"
  60. ></el-input>
  61. </el-col>
  62. </div>
  63. </el-form-item>
  64. <div style="margin-top: 4px">
  65. <el-form-item label="" prop="hshipperDetails">
  66. <el-input
  67. type="textarea"
  68. style="width: 100%;"
  69. v-model="assemblyForm.detail.hshipperDetails"
  70. size="small"
  71. autocomplete="off"
  72. :disabled="detailData.seeDisabled"
  73. :rows="textareaNumber"
  74. clearable
  75. placeholder="请输入发货人提单描述"
  76. @change="textareaBlur('hshipperDetails')"
  77. ></el-input>
  78. </el-form-item>
  79. </div>
  80. <el-form-item label="收货人" prop="hconsigneeCnName">
  81. <span slot="label">
  82. <el-popover placement="bottom-start" width="700" trigger="click">
  83. <div>
  84. <el-input
  85. type="textarea"
  86. style="width: 100%;"
  87. v-model="assemblyForm.detail.hconsigneeDetails"
  88. size="small"
  89. autocomplete="off"
  90. :disabled="detailData.seeDisabled"
  91. :rows="textareaNumber"
  92. clearable
  93. placeholder="请输入收货人提单描述"
  94. @change="textareaBlur('hconsigneeDetails')"
  95. ></el-input>
  96. </div>
  97. <span style="font-size: 12px;color: #1e9fff;text-decoration: underline;cursor: pointer;" slot="reference">{{
  98. $t("sea118n.cnee")
  99. }}</span>
  100. </el-popover>
  101. </span>
  102. <div>
  103. <el-col :span="16">
  104. <search-query
  105. :datalist="hconsigneeData"
  106. :selectValue="assemblyForm.detail.hconsigneeCnName"
  107. :filterable="true"
  108. :clearable="true"
  109. :remote="true"
  110. :joinData="true"
  111. :disabled="detailData.seeDisabled"
  112. :addIf="true"
  113. :tableIf="false"
  114. placeholder="请选择收货人"
  115. :forParameter="{ key: 'id', short: 'code', label: 'cnName', value: 'cnName' }"
  116. @addJump="addJump('hconsignee')"
  117. @remoteMethod="remoteMethod($event, 'hconsignee')"
  118. @corpChange="corpChange($event, 'hconsignee')"
  119. @corpFocus="remoteMethod($event, 'hconsignee')"
  120. >
  121. </search-query>
  122. </el-col>
  123. <el-col :span="8">
  124. <!-- <span style="padding-left: 10px"></span>-->
  125. <el-input
  126. type="age"
  127. style="width: 100%;"
  128. v-model="assemblyForm.detail.hconsigneeCntyName"
  129. size="small"
  130. autocomplete="off"
  131. :disabled="detailData.seeDisabled"
  132. clearable
  133. placeholder="收货人国家代码"
  134. ></el-input>
  135. </el-col>
  136. <!-- <el-col :span="4">-->
  137. <!-- <span style="margin-left: 20px"></span>-->
  138. <!-- <span style="font-size: 12px;color: #1e9fff;cursor: pointer;"-->
  139. <!-- @click="notifybyfun">同通</span>-->
  140. <!-- </el-col>-->
  141. </div>
  142. </el-form-item>
  143. <div>
  144. <el-form-item label="同通" prop="hconsigneeDetails">
  145. <span slot="label">
  146. <span style="font-size: 12px;color: #1e9fff;cursor: pointer;" @click="notifybyfun">同通</span>
  147. </span>
  148. <el-input
  149. type="textarea"
  150. style="width: 100%;"
  151. v-model="assemblyForm.detail.hconsigneeDetails"
  152. size="small"
  153. autocomplete="off"
  154. :disabled="detailData.seeDisabled"
  155. :rows="textareaNumber"
  156. clearable
  157. placeholder="请输入收货人提单描述"
  158. @change="textareaBlur('hconsigneeDetails')"
  159. ></el-input>
  160. </el-form-item>
  161. </div>
  162. <el-form-item label="通知人" prop="hnotifyCnName">
  163. <span slot="label">
  164. <el-popover placement="bottom-start" width="700" trigger="click">
  165. <div>
  166. <el-input
  167. type="textarea"
  168. style="width: 100%;"
  169. v-model="assemblyForm.detail.hnotifyDetails"
  170. size="small"
  171. autocomplete="off"
  172. :disabled="detailData.seeDisabled"
  173. :rows="textareaNumber"
  174. clearable
  175. placeholder="请输入通知人提单描述"
  176. @change="textareaBlur('hnotifyDetails')"
  177. ></el-input>
  178. </div>
  179. <span style="font-size: 12px;color: #1e9fff;text-decoration: underline;cursor: pointer;" slot="reference">{{
  180. $t("sea118n.notify")
  181. }}</span>
  182. </el-popover>
  183. </span>
  184. <div>
  185. <el-col :span="16">
  186. <search-query
  187. :datalist="hnotifyData"
  188. :selectValue="assemblyForm.detail.hnotifyCnName"
  189. :filterable="true"
  190. :clearable="true"
  191. :remote="true"
  192. :joinData="true"
  193. :disabled="detailData.seeDisabled"
  194. :addIf="true"
  195. :tableIf="false"
  196. placeholder="请选择通知人"
  197. :forParameter="{ key: 'id', short: 'code', label: 'cnName', value: 'cnName' }"
  198. @addJump="addJump('hconsignee')"
  199. @remoteMethod="remoteMethod($event, 'hnotify')"
  200. @corpChange="corpChange($event, 'hnotify')"
  201. @corpFocus="remoteMethod($event, 'hnotify')"
  202. >
  203. </search-query>
  204. </el-col>
  205. <el-col :span="8">
  206. <!-- padding-left: 10px -->
  207. <div style="display: flex;align-items: center;justify-content: space-between;">
  208. <div style="flex: 4">
  209. <el-input
  210. type="age"
  211. style="width: 100%;"
  212. v-model="assemblyForm.detail.hnotifyCntyName"
  213. size="small"
  214. autocomplete="off"
  215. :disabled="detailData.seeDisabled"
  216. clearable
  217. placeholder="通知人国家代码"
  218. ></el-input>
  219. </div>
  220. <!-- <div style="flex: 1;margin-left: 10px">-->
  221. <!-- <el-button type="primary" icon="el-icon-plus" size="mini"-->
  222. <!-- @click="hnotifyClick"></el-button>-->
  223. <!-- <div class="addbuttonClass" @click="hnotifyClick">+</div> -->
  224. <!-- </div>-->
  225. </div>
  226. </el-col>
  227. </div>
  228. </el-form-item>
  229. <div>
  230. <el-form-item label="" prop="hnotifyDetails">
  231. <span slot="label">
  232. <el-button type="primary" icon="el-icon-plus" size="mini" @click="hnotifyClick"></el-button>
  233. </span>
  234. <el-input
  235. type="textarea"
  236. style="width: 100%;"
  237. v-model="assemblyForm.detail.hnotifyDetails"
  238. size="small"
  239. autocomplete="off"
  240. :disabled="detailData.seeDisabled"
  241. :rows="textareaNumber"
  242. clearable
  243. placeholder="请输入通知人提单描述"
  244. @change="textareaBlur('hnotifyDetails')"
  245. ></el-input>
  246. </el-form-item>
  247. </div>
  248. </el-row>
  249. <el-row>
  250. <div>
  251. <el-form-item label="国外代理" prop="foreignAgencyCnName">
  252. <span slot="label">
  253. <el-popover placement="bottom-start" width="700" trigger="click">
  254. <div>
  255. <el-input
  256. type="textarea"
  257. style="width: 100%;"
  258. v-model="assemblyForm.foreignAgencyDetails"
  259. size="small"
  260. autocomplete="off"
  261. :disabled="detailData.seeDisabled"
  262. :rows="textareaNumber"
  263. clearable
  264. placeholder="请输入国外代理提单描述"
  265. @change="textareaBlur('foreignAgencyDetails')"
  266. ></el-input>
  267. </div>
  268. <span style="font-size: 12px;color: #1e9fff;text-decoration: underline;cursor: pointer;" slot="reference">{{
  269. $t("sea118n.agent")
  270. }}</span>
  271. </el-popover>
  272. </span>
  273. <div>
  274. <el-col :span="16">
  275. <search-query
  276. :datalist="foreignAgencyData"
  277. :selectValue="assemblyForm.foreignAgencyCnName"
  278. :filterable="true"
  279. :clearable="true"
  280. :remote="true"
  281. :addIf="true"
  282. :tableIf="false"
  283. :disabled="detailData.seeDisabled"
  284. :joinData="true"
  285. :forParameter="{ key: 'id', short: 'code', label: 'cnName', value: 'cnName' }"
  286. placeholder="请选择国外代理"
  287. @addJump="addJump('foreignAgency')"
  288. @remoteMethod="remoteMethod($event, 'foreignAgency')"
  289. @corpChange="corpChange($event, 'foreignAgency')"
  290. @corpFocus="remoteMethod($event, 'foreignAgency')"
  291. >
  292. </search-query>
  293. </el-col>
  294. <el-col :span="8">
  295. <el-input
  296. type="age"
  297. style="width: 100%;"
  298. v-model="assemblyForm.foreignCntyName"
  299. size="small"
  300. autocomplete="off"
  301. :disabled="detailData.seeDisabled"
  302. clearable
  303. placeholder="国外代理国家代码"
  304. ></el-input>
  305. </el-col>
  306. </div>
  307. </el-form-item>
  308. <el-form-item prop="foreignAgencyDetails">
  309. <div style="margin-top: 4px">
  310. <el-input
  311. type="textarea"
  312. style="width: 100%;"
  313. v-model="assemblyForm.foreignAgencyDetails"
  314. size="small"
  315. autocomplete="off"
  316. :disabled="detailData.seeDisabled"
  317. :rows="textareaNumber"
  318. clearable
  319. placeholder="请输入国外代理提单描述"
  320. @change="textareaBlur('foreignAgencyDetails')"
  321. ></el-input>
  322. </div>
  323. </el-form-item>
  324. </div>
  325. <!-- <el-form-item label="收货地" prop="placeReceiptName">
  326. <span slot="label">
  327. <el-popover placement="right" width="400" trigger="hover"
  328. @show="delShow(assemblyForm.placeReceiptId, 1)">
  329. <avue-crud :data="delData" :option="delOption" :table-loading="loading"></avue-crud>
  330. <span style="color:rgb(76, 158, 68);text-decoration: underline;"
  331. slot="reference">收货地</span>
  332. </el-popover>
  333. </span>
  334. <el-row>
  335. <el-col :span="10">
  336. <search-query :datalist="placeReceiptData"
  337. :selectValue="assemblyForm.placeReceiptName" :filterable="true"
  338. :clearable="true" :remote="true" :joinData="true"
  339. :disabled="detailData.seeDisabled" :buttonIf="false" placeholder="请选择收货地"
  340. :forParameter="{ key: 'id', short: 'enName', label: 'code', value: 'enName' }"
  341. @remoteMethod="remoteMethod($event, 'placeReceipt')"
  342. @corpChange="corpChange($event, 'placeReceipt')"
  343. @corpFocus="remoteMethod($event, 'placeReceipt')">
  344. </search-query>
  345. </el-col>
  346. <el-col :span="13">
  347. <span style="padding-left: 20px"></span>
  348. <el-input type="age" style="width: 100%;"
  349. v-model="assemblyForm.placeReceiptNamePrint" size="small" autocomplete="off"
  350. :disabled="detailData.seeDisabled" clearable placeholder="收货地"
  351. @change="textareaBlur('placeReceiptNamePrint')"
  352. ></el-input>
  353. </el-col>
  354. </el-row>
  355. </el-form-item> -->
  356. <!-- <el-form-item label="中转港" prop="potEnName">
  357. <span slot="label">
  358. <el-popover placement="right" width="400" trigger="hover"
  359. @show="delShow(assemblyForm.potId, 1)">
  360. <avue-crud :data="delData" :option="delOption" :table-loading="loading"></avue-crud>
  361. <span style="color:rgb(76, 158, 68);text-decoration: underline;"
  362. slot="reference">中转港</span>
  363. </el-popover>
  364. </span>
  365. <el-row>
  366. <el-col :span="10">
  367. <search-query :datalist="potData" :selectValue="assemblyForm.potEnName"
  368. :filterable="true" :clearable="true" :remote="true" :joinData="true"
  369. :disabled="detailData.seeDisabled" :buttonIf="false" placeholder="请选择中转港"
  370. :forParameter="{ key: 'id', short: 'enName', label: 'code', value: 'enName' }"
  371. @remoteMethod="remoteMethod($event, 'pot')"
  372. @corpChange="corpChange($event, 'pot')"
  373. @corpFocus="remoteMethod($event, 'pot')">
  374. </search-query>
  375. </el-col>
  376. <el-col :span="13">
  377. <span style="padding-left: 20px"></span>
  378. <el-input type="age" style="width: 100%;" v-model="assemblyForm.potNamePrint"
  379. size="small" autocomplete="off" :disabled="detailData.seeDisabled" clearable
  380. placeholder="中转港" @change="textareaBlur('potNamePrint')"></el-input>
  381. </el-col>
  382. </el-row>
  383. </el-form-item> -->
  384. </el-row>
  385. </el-col>
  386. <el-col :span="16">
  387. <el-col :span="12">
  388. <el-row>
  389. <div>
  390. <el-popover placement="bottom-start" width="700" trigger="click">
  391. <div>
  392. <el-input
  393. type="textarea"
  394. style="width: 100%;"
  395. v-model="assemblyForm.marks"
  396. size="small"
  397. autocomplete="off"
  398. :disabled="detailData.seeDisabled"
  399. rows="5"
  400. clearable
  401. placeholder="请输入唛头"
  402. @input="handleInput($event, 'marks')"
  403. @change="textareaBlur('marks')"
  404. ></el-input>
  405. </div>
  406. <span style="font-size: 12px;color: #1e9fff;text-decoration: underline;cursor: pointer;" slot="reference">{{
  407. $t("sea118n.marks")
  408. }}</span>
  409. </el-popover>
  410. </div>
  411. <div style="margin-top: 4px">
  412. <el-input
  413. type="textarea"
  414. style="width: 100%;"
  415. v-model="assemblyForm.marks"
  416. size="small"
  417. autocomplete="off"
  418. :disabled="detailData.seeDisabled"
  419. rows="5"
  420. clearable
  421. placeholder="请输入唛头"
  422. @input="handleInput($event, 'marks')"
  423. @change="textareaBlur('marks')"
  424. ></el-input>
  425. </div>
  426. <div style="margin-top: 4px">
  427. <el-form-item label="HS CODE" prop="commodityCnName">
  428. <span slot="label">
  429. <span style="color: #1e9fff">HS CODE</span>
  430. </span>
  431. <el-col :span="12">
  432. <el-input
  433. type="age"
  434. style="width: 100%;"
  435. v-model="assemblyForm.hscode"
  436. size="small"
  437. autocomplete="off"
  438. :disabled="detailData.seeDisabled"
  439. clearable
  440. placeholder="HS CODE"
  441. ></el-input>
  442. </el-col>
  443. <el-col :span="11">
  444. <span style="padding-left: 20px"></span>
  445. <el-input
  446. type="age"
  447. style="width: 100%;"
  448. v-model="assemblyForm.commodityCnName"
  449. size="small"
  450. autocomplete="off"
  451. :disabled="detailData.seeDisabled"
  452. clearable
  453. placeholder="英文名称"
  454. ></el-input>
  455. </el-col>
  456. </el-form-item>
  457. </div>
  458. <!-- <div>
  459. <el-input type="age" style="width: 100%;" v-model="assemblyForm.commodityEnName"
  460. size="small" autocomplete="off" :disabled="detailData.seeDisabled" clearable
  461. placeholder="商品名称"></el-input>
  462. </div>-->
  463. <div style="margin-top: 4px">
  464. <el-form-item label="货描" prop="cargoType" label-width="50px" :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
  465. <span slot="label">
  466. <el-popover placement="bottom-start" width="700" trigger="click">
  467. <div>
  468. <el-input
  469. type="textarea"
  470. style="width: 100%;"
  471. v-model="assemblyForm.commodityDescr"
  472. size="small"
  473. autocomplete="off"
  474. :disabled="detailData.seeDisabled"
  475. rows="5"
  476. clearable
  477. placeholder="请输入提单上货物描述"
  478. @change="textareaBlur('commodityDescr')"
  479. ></el-input>
  480. </div>
  481. <span style="font-size: 12px;color: #1e9fff;text-decoration: underline;cursor: pointer;" slot="reference">{{
  482. $t("sea118n.descOfGoods")
  483. }}</span>
  484. </el-popover>
  485. </span>
  486. <!--<el-col :span="5">-->
  487. <!-- <el-checkbox size="medium" :true-label="1" :false-label="0" v-model="assemblyForm.isLargeCargo">大件货</el-checkbox>-->
  488. <!--</el-col>-->
  489. <el-col :span="18">
  490. <search-query
  491. :datalist="cargoTypeData"
  492. :selectValue="assemblyForm.cargoType"
  493. :filterable="true"
  494. :clearable="false"
  495. :remote="true"
  496. :disabled="detailData.seeDisabled"
  497. :buttonIf="false"
  498. placeholder="请选择货描"
  499. @remoteMethod="remoteMethod($event, 'cargoType')"
  500. @corpChange="corpChange($event, 'cargoType')"
  501. @corpFocus="remoteMethod($event, 'cargoType')"
  502. >
  503. </search-query>
  504. </el-col>
  505. <el-col :span="5">
  506. <span style="margin-left: 10px"></span>
  507. <el-button size="small" @click="DangerousGoodsAdd">danger</el-button>
  508. </el-col>
  509. </el-form-item>
  510. </div>
  511. <div>
  512. <el-input
  513. type="textarea"
  514. style="width: 100%;"
  515. v-model="assemblyForm.commodityDescr"
  516. size="small"
  517. autocomplete="off"
  518. :disabled="detailData.seeDisabled"
  519. rows="5"
  520. clearable
  521. placeholder="请输入提单上货物描述"
  522. @change="textareaBlur('commodityDescr')"
  523. ></el-input>
  524. </div>
  525. <el-form-item label="装货港" prop="polCnName" label-width="60px">
  526. <span slot="label">
  527. <el-popover placement="right" width="400" trigger="hover" @show="delShow(assemblyForm.polId, 1)">
  528. <avue-crud :data="delData" :option="delOption" :table-loading="loading"></avue-crud>
  529. <span style="color:rgb(76, 158, 68);text-decoration: underline;" slot="reference">{{ $t("sea118n.pol") }}</span>
  530. </el-popover>
  531. </span>
  532. <el-row>
  533. <el-col :span="24">
  534. <search-query
  535. ref="pol"
  536. :datalist="polData"
  537. :selectValue="assemblyForm.polEnName"
  538. :filterable="true"
  539. :clearable="true"
  540. :remote="true"
  541. :joinData="true"
  542. :disabled="
  543. detailData.seeDisabled ||
  544. generateBillsfalse ||
  545. (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) ||
  546. assemblyForm.preContainersList.filter(item => item.containerNumberStatus == '已选择').length > 0
  547. "
  548. :buttonIf="false"
  549. placeholder="请选择装货港"
  550. :forParameter="{ key: 'id', short: 'enName', label: 'code', value: 'enName' }"
  551. @remoteMethod="remoteMethod($event, 'pol')"
  552. @corpChange="corpChange($event, 'pol')"
  553. @corpFocus="remoteMethod($event, 'pol')"
  554. >
  555. </search-query>
  556. </el-col>
  557. <el-col :span="24">
  558. <span style="padding-left: 0px"></span>
  559. <el-input
  560. type="age"
  561. style="width: 100%;"
  562. v-model="assemblyForm.polNamePrint"
  563. size="small"
  564. autocomplete="off"
  565. :disabled="
  566. detailData.seeDisabled ||
  567. generateBillsfalse ||
  568. (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) ||
  569. assemblyForm.preContainersList.filter(item => item.containerNumberStatus == '已选择').length > 0
  570. "
  571. clearable
  572. placeholder="装货港"
  573. @change="textareaBlur('polNamePrint')"
  574. ></el-input>
  575. </el-col>
  576. </el-row>
  577. </el-form-item>
  578. <el-form-item label="卸货港" prop="podCnName" label-width="60px">
  579. <span slot="label">
  580. <el-popover placement="right" width="400" trigger="hover" @show="delShow(assemblyForm.podId, 1)">
  581. <avue-crud :data="delData" :option="delOption" :table-loading="loading"></avue-crud>
  582. <!-- <el-button slot="reference">click 激活</el-button> -->
  583. <span style="color:rgb(76, 158, 68);text-decoration: underline;" slot="reference">{{ $t("sea118n.pod") }}</span>
  584. </el-popover>
  585. <!-- <span style="color: #1e9fff">卸货港</span> -->
  586. </span>
  587. <el-row>
  588. <el-col :span="24">
  589. <search-query
  590. ref="pod"
  591. :datalist="podData"
  592. :selectValue="assemblyForm.podEnName"
  593. :filterable="true"
  594. :clearable="true"
  595. :remote="true"
  596. :joinData="true"
  597. :disabled="
  598. detailData.seeDisabled ||
  599. (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) ||
  600. assemblyForm.preContainersList.filter(item => item.containerNumberStatus == '已选择').length > 0
  601. "
  602. :buttonIf="false"
  603. placeholder="请选择卸货港"
  604. :forParameter="{ key: 'id', short: 'enName', label: 'code', value: 'enName' }"
  605. @remoteMethod="remoteMethod($event, 'pod')"
  606. @corpChange="corpChange($event, 'pod')"
  607. @corpFocus="remoteMethod($event, 'pod')"
  608. >
  609. </search-query>
  610. </el-col>
  611. <el-col :span="24">
  612. <span style="padding-left: 0px"></span>
  613. <el-input
  614. type="age"
  615. style="width: 100%;"
  616. v-model="assemblyForm.podNamePrint"
  617. size="small"
  618. autocomplete="off"
  619. :disabled="
  620. detailData.seeDisabled ||
  621. (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) ||
  622. assemblyForm.preContainersList.filter(item => item.containerNumberStatus == '已选择').length > 0
  623. "
  624. clearable
  625. placeholder="卸货港"
  626. @change="textareaBlur('podNamePrint')"
  627. ></el-input>
  628. </el-col>
  629. </el-row>
  630. </el-form-item>
  631. <el-form-item label="交货地" prop="placeDeliveryName" label-width="60px">
  632. <span slot="label">
  633. <el-popover placement="right" width="400" trigger="hover" @show="delShow(assemblyForm.placeDeliveryId, 1)">
  634. <avue-crud :data="delData" :option="delOption" :table-loading="loading"></avue-crud>
  635. <!-- <el-button slot="reference">click 激活</el-button> -->
  636. <span style="color:rgb(76, 158, 68);text-decoration: underline;" slot="reference">{{ $t("sea118n.placeDelivery") }}</span>
  637. </el-popover>
  638. <!-- <span style="color: #1e9fff">交货地</span> -->
  639. </span>
  640. <el-row>
  641. <el-col :span="24">
  642. <search-query
  643. ref="placeDelivery"
  644. :datalist="placeDeliveryData"
  645. :joinData="true"
  646. :selectValue="assemblyForm.placeDeliveryName"
  647. :filterable="true"
  648. :clearable="true"
  649. :remote="true"
  650. :disabled="detailData.seeDisabled"
  651. :buttonIf="false"
  652. placeholder="请选择交货地"
  653. :forParameter="{ key: 'id', short: 'enName', label: 'code', value: 'enName' }"
  654. @remoteMethod="remoteMethod($event, 'placeDelivery')"
  655. @corpChange="corpChange($event, 'placeDelivery')"
  656. @corpFocus="remoteMethod($event, 'placeDelivery')"
  657. >
  658. </search-query>
  659. </el-col>
  660. <el-col :span="24">
  661. <span style="padding-left: 0px"></span>
  662. <el-input
  663. type="age"
  664. style="width: 100%;"
  665. v-model="assemblyForm.placeDeliveryNamePrint"
  666. size="small"
  667. autocomplete="off"
  668. :disabled="detailData.seeDisabled"
  669. clearable
  670. placeholder="交货地"
  671. @change="textareaBlur('placeDeliveryNamePrint')"
  672. ></el-input>
  673. </el-col>
  674. </el-row>
  675. </el-form-item>
  676. <el-form-item :label="$t('sea118n.businessSource')" prop="srcType" :rules="[{ required: true, message: '', trigger: 'blur' }]">
  677. <el-row :gutter="10">
  678. <el-col :span="10">
  679. <search-query
  680. :datalist="sourceTypeData"
  681. :selectValue="assemblyForm.srcType"
  682. :disabled="
  683. detailData.seeDisabled ||
  684. assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length ||
  685. assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length
  686. "
  687. :filterable="true"
  688. :clearable="true"
  689. :remote="true"
  690. :buttonIf="false"
  691. placeholder="请选择业务来源"
  692. @corpChange="sourceCorp($event, 'srcType')"
  693. >
  694. </search-query>
  695. </el-col>
  696. <el-col :span="13">
  697. <search-query
  698. :datalist="srcData"
  699. :selectValue="assemblyForm.srcCnName"
  700. :filterable="true"
  701. :clearable="true"
  702. :remote="true"
  703. :disabled="
  704. !assemblyForm.srcType ||
  705. detailData.seeDisabled ||
  706. assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length ||
  707. assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length
  708. "
  709. :buttonIf="false"
  710. :forParameter="sourceforParameter"
  711. placeholder="请选择来源明细"
  712. @remoteMethod="sourceRemote($event, 'srcCnName')"
  713. @corpChange="sourceCorp($event, 'srcCnName')"
  714. @corpFocus="sourceRemote($event, 'srcCnName')"
  715. >
  716. </search-query>
  717. </el-col>
  718. </el-row>
  719. </el-form-item>
  720. </el-row>
  721. </el-col>
  722. <el-col :span="12">
  723. <el-form-item label="ETD" prop="etd" label-width="80px" :rules="[{ required: true, message: '', trigger: 'blur' }]">
  724. <span slot="label">
  725. <span style="color: #1e9fff">ETD</span>
  726. </span>
  727. <el-date-picker
  728. v-model="assemblyForm.etd"
  729. clearable
  730. style="width: 100%"
  731. type="date"
  732. size="small"
  733. :disabled="
  734. detailData.seeDisabled ||
  735. generateBillsfalse ||
  736. (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) ||
  737. assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length ||
  738. assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length
  739. "
  740. value-format="yyyy-MM-dd"
  741. :picker-options="etdPickerOptions"
  742. placeholder="请选择ETD日期"
  743. @change="handlePick"
  744. >
  745. </el-date-picker>
  746. </el-form-item>
  747. <div>
  748. <el-form-item label="船名" prop="vesselCnName" label-width="80px">
  749. <span slot="label">
  750. <el-popover placement="right" width="400" trigger="hover" @show="delShow(assemblyForm.vesselId, 3)">
  751. <avue-crud :data="delData" :option="delOption" :table-loading="loading"></avue-crud>
  752. <!-- <el-button slot="reference">click 激活</el-button> -->
  753. <span style="color:rgb(76, 158, 68);text-decoration: underline;" slot="reference">{{ $t("sea118n.vessel") }}</span>
  754. </el-popover>
  755. <!-- <span style="color: #1e9fff">船名</span> -->
  756. </span>
  757. <search-query
  758. :datalist="vesselData"
  759. :selectValue="assemblyForm.vesselEnName"
  760. :filterable="true"
  761. :clearable="true"
  762. :remote="true"
  763. :allowCreate="true"
  764. :disabled="
  765. detailData.seeDisabled ||
  766. generateBillsfalse ||
  767. (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) ||
  768. assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length ||
  769. assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length
  770. "
  771. :buttonIf="false"
  772. placeholder="请选择船名"
  773. :forParameter="{ key: 'id', label: 'enName', value: 'enName' }"
  774. @remoteMethod="remoteMethod($event, 'vessel')"
  775. @corpChange="corpChange($event, 'vessel')"
  776. @corpFocus="remoteMethod($event, 'vessel')"
  777. >
  778. </search-query>
  779. </el-form-item>
  780. <el-form-item label="航次" prop="voyageNo" label-width="80px">
  781. <span slot="label">
  782. <span style="color: #1e9fff">{{ $t("sea118n.voy") }}</span>
  783. </span>
  784. <el-input
  785. type="age"
  786. style="width: 100%;"
  787. v-model="assemblyForm.voyageNo"
  788. size="small"
  789. autocomplete="off"
  790. :disabled="
  791. detailData.seeDisabled ||
  792. generateBillsfalse ||
  793. (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) ||
  794. assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length ||
  795. assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length
  796. "
  797. clearable
  798. placeholder="请输入航次"
  799. ></el-input>
  800. </el-form-item>
  801. </div>
  802. <el-row>
  803. <el-form-item label="ATD" prop="actualEtd" label-width="80px" :rules="[{ required: true, message: '', trigger: 'blur' }]">
  804. <span slot="label">
  805. <span style="color: #1e9fff">ATD</span>
  806. </span>
  807. <el-date-picker
  808. style="width: 100%;"
  809. v-model="assemblyForm.actualEtd"
  810. clearable
  811. type="date"
  812. size="small"
  813. :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
  814. value-format="yyyy-MM-dd"
  815. placeholder="选择日期"
  816. @change="atdChange"
  817. >
  818. </el-date-picker>
  819. </el-form-item>
  820. </el-row>
  821. <!-- <el-form-item label="ETA" prop="eta" label-width="90px">
  822. <span slot="label">
  823. <span style="color: #1e9fff">ETA</span>
  824. </span>
  825. <el-date-picker style="width: 100%;" v-model="assemblyForm.eta" clearable type="date"
  826. size="small" :disabled="detailData.seeDisabled" value-format="yyyy-MM-dd"
  827. placeholder="选择日期">
  828. </el-date-picker>
  829. </el-form-item> -->
  830. <el-form-item label="承运人" prop="carrierCnName" label-width="80px">
  831. <span slot="label">
  832. <span style="color: #4c9e44;cursor: pointer;text-decoration: underline" @click="emailJump('carrier')">{{
  833. $t("sea118n.carrier")
  834. }}</span>
  835. </span>
  836. <search-query
  837. :datalist="carrierData"
  838. :selectValue="assemblyForm.carrierCnName"
  839. :filterable="true"
  840. :clearable="true"
  841. :remote="true"
  842. :joinData="true"
  843. :disabled="
  844. detailData.seeDisabled ||
  845. generateBillsfalse ||
  846. (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) ||
  847. assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length ||
  848. assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length
  849. "
  850. :buttonIf="false"
  851. placeholder="请选择承运人"
  852. :forParameter="{ key: 'id', short: 'shortName', label: 'cnName', value: 'cnName' }"
  853. @remoteMethod="remoteMethod($event, 'carrier')"
  854. @corpChange="corpChange($event, 'carrier')"
  855. @corpFocus="remoteMethod($event, 'carrier')"
  856. >
  857. </search-query>
  858. </el-form-item>
  859. <!-- <div style="display: flex;">
  860. <el-form-item label="船司约号" prop="carrierArgreementNo">
  861. <span slot="label">
  862. <span style="color: #1e9fff">船司约号</span>
  863. </span>
  864. <el-input type="age" style="width: 100%;" v-model="assemblyForm.carrierArgreementNo"
  865. size="small" autocomplete="off" :disabled="detailData.seeDisabled" clearable
  866. placeholder="请输入船司约号"></el-input>
  867. </el-form-item>
  868. <el-form-item label="客户约号" prop="corpArgreementNo" label-width="60px">
  869. <span slot="label">
  870. <span style="color: #1e9fff">客户约号</span>
  871. </span>
  872. <el-input type="age" style="width: 100%;" v-model="assemblyForm.corpArgreementNo"
  873. size="small" autocomplete="off" :disabled="detailData.seeDisabled" clearable
  874. placeholder="请输入客户约号"></el-input>
  875. </el-form-item>
  876. </div> -->
  877. <!-- <el-form-item label="订舱代理" prop="bookingAgentCnName">
  878. <span slot="label">
  879. <span style="color: #1e9fff">订舱代理</span>
  880. </span>
  881. <el-col :span="9" style="margin-left: -10px">
  882. <search-query :datalist="bookingAgentData"
  883. :selectValue="assemblyForm.bookingAgentCnName" :filterable="true" :clearable="true"
  884. :remote="true" :disabled="detailData.seeDisabled" :buttonIf="false"
  885. placeholder="请选择订舱代理"
  886. :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
  887. @remoteMethod="remoteMethod($event, 'bookingAgent')"
  888. @corpChange="corpChange($event, 'bookingAgent')"
  889. @corpFocus="remoteMethod($event, 'bookingAgent')">
  890. </search-query>
  891. </el-col>
  892. <el-col :span="15">
  893. <el-input type="age" style="width: 100%;margin-left: 20px;"
  894. v-model="assemblyForm.bookingAgentEnName" size="small" autocomplete="off"
  895. :disabled="detailData.seeDisabled || !assemblyForm.bookingAgentCnName" clearable
  896. placeholder="订舱代理"></el-input>
  897. </el-col>
  898. </el-form-item> -->
  899. <el-row>
  900. <el-col :span="12">
  901. <el-form-item label="件数" prop="quantity" label-width="80px" :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
  902. <span slot="label">
  903. <span style="color: #1e9fff">{{ $t("sea118n.QTY") }}</span>
  904. </span>
  905. <el-input
  906. ref="quantityRef"
  907. style="width: 100%;"
  908. v-model="assemblyForm.quantity"
  909. size="small"
  910. autocomplete="off"
  911. min="1"
  912. :disabled="detailData.seeDisabled"
  913. @input="quantityInput"
  914. @focus="quantityFocus"
  915. clearable
  916. placeholder="请输入件数"
  917. ></el-input>
  918. </el-form-item>
  919. </el-col>
  920. <el-col :span="12">
  921. <el-form-item label="包装" prop="packingUnit" label-width="50px" :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
  922. <span slot="label">
  923. <el-popover placement="right" width="400" trigger="hover" @show="delShow(assemblyForm.packingUnitId, 2)">
  924. <avue-crud :data="delData" :option="delOption" :table-loading="loading"></avue-crud>
  925. <!-- <el-button slot="reference">click 激活</el-button> -->
  926. <span style="color:rgb(76, 158, 68);text-decoration: underline;" slot="reference">{{ $t("sea118n.package") }}</span>
  927. </el-popover>
  928. <!-- <span style="color: #1e9fff">包装</span> -->
  929. </span>
  930. <search-query
  931. ref="packingUnit"
  932. :datalist="packingUnitData"
  933. style="margin-right: -10px;"
  934. :selectValue="assemblyForm.packingUnit"
  935. :filterable="true"
  936. :clearable="true"
  937. :remote="true"
  938. :disabled="detailData.seeDisabled"
  939. :buttonIf="false"
  940. placeholder="请选择包装"
  941. :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
  942. @remoteMethod="remoteMethod($event, 'packingUnit')"
  943. @corpChange="corpChange($event, 'packingUnit')"
  944. @corpFocus="remoteMethod($event, 'packingUnit')"
  945. >
  946. </search-query>
  947. </el-form-item>
  948. </el-col>
  949. </el-row>
  950. <el-row>
  951. <el-col :span="12">
  952. <el-form-item label="毛重(KGS)" prop="grossWeight" label-width="80px" :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
  953. <span slot="label">
  954. <span style="color: #1e9fff">{{ $t("sea118n.GW") }}</span>
  955. </span>
  956. <el-input
  957. ref="grossWeightRef"
  958. step="0.001"
  959. style="width: 100%;"
  960. v-model="assemblyForm.grossWeight"
  961. size="small"
  962. autocomplete="off"
  963. :disabled="detailData.seeDisabled"
  964. @input="floatingInput($event, 'grossWeight')"
  965. @focus="quantityFocus"
  966. clearable
  967. placeholder="请输入毛重"
  968. @change="grossWeightChange"
  969. ></el-input>
  970. </el-form-item>
  971. </el-col>
  972. <el-col :span="12">
  973. <el-form-item label="尺码(CBM)" prop="measurement" label-width="90px" :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
  974. <span slot="label">
  975. <span style="color: #1e9fff">{{ $t("sea118n.CBM") }}</span>
  976. </span>
  977. <el-input
  978. ref="measurementRef"
  979. step="0.01"
  980. style="width: 106%;"
  981. v-model="assemblyForm.measurement"
  982. size="small"
  983. autocomplete="off"
  984. :disabled="detailData.seeDisabled"
  985. @input="floatingInput($event, 'measurement')"
  986. @focus="quantityFocus"
  987. clearable
  988. placeholder="请输入尺码/体积"
  989. ></el-input>
  990. </el-form-item>
  991. </el-col>
  992. </el-row>
  993. <el-row>
  994. <el-col :span="12">
  995. <el-form-item label="签单方式" prop="issueType" label-width="80px">
  996. <span slot="label">
  997. <span style="color: #1e9fff">{{ $t("sea118n.issueType") }}</span>
  998. </span>
  999. <dic-select
  1000. v-model="assemblyForm.issueType"
  1001. placeholder="签单方式"
  1002. key="dictKey"
  1003. label="dictValue"
  1004. keyValue="dictKey"
  1005. url="/blade-system/dict-biz/dictionary?code=issue_type_F"
  1006. :filterable="true"
  1007. :disabled="detailData.seeDisabled"
  1008. :initData="true"
  1009. ></dic-select>
  1010. </el-form-item>
  1011. </el-col>
  1012. <el-col :span="12">
  1013. <el-form-item label="签单日期" prop="issueDate" label-width="60px">
  1014. <span slot="label">
  1015. <span style="color: #1e9fff">{{ $t("sea118n.issueDate") }}</span>
  1016. </span>
  1017. <el-date-picker
  1018. style="width: 100%;"
  1019. v-model="assemblyForm.issueDate"
  1020. clearable
  1021. type="date"
  1022. size="small"
  1023. :disabled="detailData.seeDisabled"
  1024. value-format="yyyy-MM-dd"
  1025. placeholder="选择日期"
  1026. >
  1027. </el-date-picker>
  1028. </el-form-item>
  1029. </el-col>
  1030. </el-row>
  1031. <el-row>
  1032. <el-col :span="13">
  1033. <el-form-item label="ETA" prop="eta" label-width="80px">
  1034. <span slot="label">
  1035. <span style="color: #1e9fff">ETA</span>
  1036. </span>
  1037. <el-date-picker
  1038. v-model="assemblyForm.eta"
  1039. type="date"
  1040. style="width: 100%;"
  1041. value-format="yyyy-MM-dd"
  1042. size="small"
  1043. :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
  1044. placeholder="请选择时间"
  1045. >
  1046. </el-date-picker>
  1047. </el-form-item>
  1048. </el-col>
  1049. <el-col :span="11">
  1050. <el-form-item label="ATA" prop="actualEta" label-width="40px">
  1051. <span slot="label">
  1052. <span style="color: #1e9fff">ATA</span>
  1053. </span>
  1054. <el-date-picker
  1055. v-model="assemblyForm.actualEta"
  1056. type="date"
  1057. style="width: 100%;"
  1058. value-format="yyyy-MM-dd"
  1059. size="small"
  1060. :disabled="detailData.seeDisabled"
  1061. placeholder="请选择时间"
  1062. >
  1063. </el-date-picker>
  1064. </el-form-item>
  1065. </el-col>
  1066. </el-row>
  1067. <el-row>
  1068. <el-col :span="12">
  1069. <el-form-item label="所属公司" prop="branchName" label-width="80px">
  1070. <span slot="label">
  1071. <span style="color: #1e9fff">{{ $t("sea118n.branchName") }}</span>
  1072. </span>
  1073. <dic-select
  1074. v-model="assemblyForm.branchName"
  1075. placeholder="所属公司"
  1076. key="id"
  1077. label="deptName"
  1078. url="/blade-system/dept/top-list"
  1079. :filterable="true"
  1080. :remote="true"
  1081. dataName="deptName"
  1082. @selectChange="dicChange('branchName', $event)"
  1083. :disabled="
  1084. detailData.seeDisabled ||
  1085. !(roleName.includes('admin') || roleName.includes('总部')) ||
  1086. assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length ||
  1087. assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length
  1088. "
  1089. ></dic-select>
  1090. </el-form-item>
  1091. </el-col>
  1092. <el-col :span="12">
  1093. <el-form-item label="付款方式" prop="hpaymode" label-width="80px">
  1094. <span slot="label">
  1095. <span style="color: #1e9fff">{{ $t("sea118n.payment") }}</span>
  1096. </span>
  1097. <dic-select
  1098. v-model="assemblyForm.hpaymode"
  1099. placeholder="付款方式"
  1100. key="dictKey"
  1101. label="dictValue"
  1102. keyValue="dictKey"
  1103. url="/blade-system/dict-biz/dictionary?code=payment_method_los"
  1104. :filterable="true"
  1105. :disabled="detailData.seeDisabled"
  1106. ></dic-select>
  1107. </el-form-item>
  1108. </el-col>
  1109. </el-row>
  1110. <el-row>
  1111. <el-col :span="12">
  1112. <el-form-item label="OP" prop="operatorName" label-width="80px" :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
  1113. <span slot="label">
  1114. <span style="color: #1e9fff">OP</span>
  1115. </span>
  1116. <dic-select
  1117. v-model="assemblyForm.operatorName"
  1118. placeholder="OP"
  1119. :key="assemblyForm.branchId"
  1120. label="realName"
  1121. :url="'/blade-user/userListAll?roleAlias=操作员&deptId=' + assemblyForm.branchId"
  1122. :filterable="true"
  1123. dataName="realName"
  1124. @selectChange="dicChange('operatorName', $event)"
  1125. :disabled="
  1126. detailData.seeDisabled ||
  1127. assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length ||
  1128. assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length
  1129. "
  1130. ></dic-select>
  1131. </el-form-item>
  1132. </el-col>
  1133. <el-col :span="12">
  1134. <el-form-item label="客服" prop="customerServiceName" label-width="50px" :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
  1135. <span slot="label">
  1136. <span style="color: #1e9fff">{{ $t("sea118n.customerService") }}</span>
  1137. </span>
  1138. <dic-select
  1139. v-model="assemblyForm.customerServiceName"
  1140. placeholder="客服"
  1141. :key="assemblyForm.branchId"
  1142. label="realName"
  1143. :url="'/blade-user/userListAll?roleAlias=客服&deptId=' + assemblyForm.branchId"
  1144. :filterable="true"
  1145. dataName="realName"
  1146. @selectChange="dicChange('customerServiceName', $event)"
  1147. :disabled="
  1148. detailData.seeDisabled ||
  1149. assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length ||
  1150. assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length
  1151. "
  1152. ></dic-select>
  1153. </el-form-item>
  1154. </el-col>
  1155. </el-row>
  1156. <el-row>
  1157. <el-col>
  1158. <el-form-item label="签单地点" prop="issueAt" label-width="80px">
  1159. <span slot="label">
  1160. <span style="color: #1e9fff">{{ $t("sea118n.issuePlace") }}</span>
  1161. </span>
  1162. <search-query
  1163. :datalist="issueAtData"
  1164. :selectValue="assemblyForm.issueAt"
  1165. :filterable="true"
  1166. :clearable="true"
  1167. :remote="true"
  1168. :disabled="detailData.seeDisabled"
  1169. :buttonIf="false"
  1170. :forParameter="{ key: 'id', label: 'enName', value: 'enName' }"
  1171. placeholder="请选择签单地点"
  1172. @remoteMethod="remoteMethod($event, 'issueAt')"
  1173. @corpChange="corpChange($event, 'issueAt')"
  1174. @corpFocus="remoteMethod($event, 'issueAt')"
  1175. >
  1176. </search-query>
  1177. </el-form-item>
  1178. </el-col>
  1179. </el-row>
  1180. <el-row>
  1181. <el-form-item label="订舱备注" prop="cyRemarks" label-width="80px">
  1182. <span slot="label">
  1183. <span style="color: #1e9fff">{{ $t("sea118n.bookRemarks") }}</span>
  1184. </span>
  1185. <el-input
  1186. type="textarea"
  1187. style="width: 100%;"
  1188. v-model="assemblyForm.cyRemarks"
  1189. size="small"
  1190. autocomplete="off"
  1191. :disabled="detailData.seeDisabled"
  1192. rows="2"
  1193. clearable
  1194. placeholder="请输入场站备注"
  1195. @change="textareaBlur('cyRemarks')"
  1196. ></el-input>
  1197. </el-form-item>
  1198. </el-row>
  1199. <el-row>
  1200. <el-form-item label="SI备注" prop="siRemarks" label-width="80px">
  1201. <span slot="label">
  1202. <span style="color: #1e9fff">{{ $t("sea118n.siRemarks") }}</span>
  1203. </span>
  1204. <el-input
  1205. type="textarea"
  1206. style="width: 100%;"
  1207. v-model="assemblyForm.siRemarks"
  1208. size="small"
  1209. autocomplete="off"
  1210. :disabled="detailData.seeDisabled"
  1211. rows="3"
  1212. clearable
  1213. placeholder="请输入SI备注"
  1214. @change="textareaBlur('siRemarks')"
  1215. ></el-input>
  1216. </el-form-item>
  1217. </el-row>
  1218. </el-col>
  1219. </el-col>
  1220. </el-row>
  1221. <el-row>
  1222. <el-col :span="6">
  1223. <el-form-item label="POL场站" prop="cyCnName">
  1224. <span slot="label">
  1225. <span style="color: #4c9e44;cursor: pointer;text-decoration: underline" @click="emailJump('cy')">POLCY</span>
  1226. </span>
  1227. <!-- :disabled="detailData.seeDisabled || generateBillsfalse" :buttonIf="false"-->
  1228. <search-query
  1229. :datalist="cyData"
  1230. :selectValue="assemblyForm.cyCnName"
  1231. :filterable="true"
  1232. :clearable="true"
  1233. :remote="true"
  1234. :disabled="detailData.seeDisabled"
  1235. :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
  1236. placeholder="请选择场站"
  1237. @remoteMethod="remoteMethod($event, 'cy')"
  1238. @corpChange="corpChange($event, 'cy')"
  1239. @corpFocus="remoteMethod($event, 'cy')"
  1240. >
  1241. </search-query>
  1242. </el-form-item>
  1243. </el-col>
  1244. <el-col :span="6">
  1245. <el-form-item label="联系人" prop="cyContacts">
  1246. <span slot="label">
  1247. <span style="color: #1e9fff">link</span>
  1248. </span>
  1249. <!--<el-input type="age" style="width: 100%;" v-model="assemblyForm.cyContacts"-->
  1250. <!-- size="small" autocomplete="off"-->
  1251. <!-- :disabled="detailData.seeDisabled || generateBillsfalse"-->
  1252. <!-- clearable placeholder="请输入联系人" ></el-input>-->
  1253. <search-query
  1254. :datalist="cyContactsData"
  1255. :selectValue="assemblyForm.cyContacts"
  1256. :filterable="true"
  1257. :clearable="true"
  1258. :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.cyCnName"
  1259. :buttonIf="false"
  1260. :forParameter="{ key: 'id', label: 'cname', value: 'cname' }"
  1261. placeholder="联系人"
  1262. @corpChange="corpChange($event, 'cyContacts')"
  1263. @corpFocus="remoteMethod($event, 'cyContacts')"
  1264. >
  1265. </search-query>
  1266. </el-form-item>
  1267. </el-col>
  1268. <el-col :span="6">
  1269. <el-form-item label="电话" prop="cyTel">
  1270. <span slot="label">
  1271. <span style="color: #1e9fff">tel</span>
  1272. </span>
  1273. <el-input
  1274. type="age"
  1275. style="width: 100%;"
  1276. v-model="assemblyForm.cyTel"
  1277. size="small"
  1278. autocomplete="off"
  1279. :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.cyCnName"
  1280. clearable
  1281. placeholder="电话"
  1282. ></el-input>
  1283. </el-form-item>
  1284. </el-col>
  1285. <el-col :span="6">
  1286. <el-form-item label="地址" prop="cyAddress">
  1287. <span slot="label">
  1288. <span style="color: #1e9fff">addr</span>
  1289. </span>
  1290. <el-input
  1291. type="age"
  1292. style="width: 100%;"
  1293. v-model="assemblyForm.cyAddress"
  1294. size="small"
  1295. autocomplete="off"
  1296. :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.cyCnName"
  1297. clearable
  1298. placeholder="地址"
  1299. ></el-input>
  1300. </el-form-item>
  1301. </el-col>
  1302. </el-row>
  1303. <!-- <el-row>
  1304. <el-col :span="6">
  1305. <el-form-item label="POD场站" prop="podCyCnName">
  1306. <span slot="label">
  1307. <span style="color: #4c9e44;cursor: pointer;text-decoration: underline"
  1308. @click="emailJump('cy')">POD场站</span>
  1309. </span>
  1310. <search-query :datalist="podCyData" :selectValue="assemblyForm.podCyCnName" :filterable="true"
  1311. :clearable="true" :remote="true" :disabled="detailData.seeDisabled"
  1312. :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }" placeholder="请选择场站"
  1313. @remoteMethod="remoteMethod($event, 'podCyCnName')"
  1314. @corpChange="corpChange($event, 'podCyCnName')"
  1315. @corpFocus="remoteMethod($event, 'podCyCnName')">
  1316. </search-query>
  1317. </el-form-item>
  1318. </el-col>
  1319. <el-col :span="6">
  1320. <el-form-item label="联系人" prop="podCyCnNameData">
  1321. <span slot="label">
  1322. <span style="color: #1e9fff">联系人</span>
  1323. </span>
  1324. <search-query :datalist="podCyCnNameData" :selectValue="assemblyForm.podCyContacts"
  1325. :filterable="true" :clearable="true"
  1326. :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.podCyCnName"
  1327. :buttonIf="false" :forParameter="{ key: 'id', label: 'cname', value: 'cname' }"
  1328. placeholder="联系人" @corpChange="corpChange($event, 'podCyContacts')"
  1329. @corpFocus="remoteMethod($event, 'podCyContacts')">
  1330. </search-query>
  1331. </el-form-item>
  1332. </el-col>
  1333. <el-col :span="6">
  1334. <el-form-item label="电话" prop="podCyTel">
  1335. <span slot="label">
  1336. <span style="color: #1e9fff">电话</span>
  1337. </span>
  1338. <el-input type="age" style="width: 100%;" v-model="assemblyForm.podCyTel" size="small"
  1339. autocomplete="off"
  1340. :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.podCyCnName"
  1341. clearable placeholder="电话"></el-input>
  1342. </el-form-item>
  1343. </el-col>
  1344. <el-col :span="6">
  1345. <el-form-item label="地址" prop="podCyAddress">
  1346. <span slot="label">
  1347. <span style="color: #1e9fff">地址</span>
  1348. </span>
  1349. <el-input type="age" style="width: 100%;" v-model="assemblyForm.podCyAddress" size="small"
  1350. autocomplete="off"
  1351. :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.podCyCnName"
  1352. clearable placeholder="地址"></el-input>
  1353. </el-form-item>
  1354. </el-col>
  1355. </el-row>-->
  1356. <el-row>
  1357. <el-col :span="6">
  1358. <el-form-item label="集港码头" prop="portTerminalCyCnName">
  1359. <span slot="label">
  1360. <span style="color: #1e9fff">cntrTerminal</span>
  1361. </span>
  1362. <search-query
  1363. :datalist="portTerminalData"
  1364. :selectValue="assemblyForm.portTerminalCyCnName"
  1365. :filterable="true"
  1366. :clearable="true"
  1367. :remote="true"
  1368. :disabled="detailData.seeDisabled"
  1369. :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
  1370. placeholder="请选择集港码头"
  1371. @remoteMethod="remoteMethod($event, 'portTerminalCyCnName')"
  1372. @corpChange="corpChange($event, 'portTerminalCyCnName')"
  1373. @corpFocus="remoteMethod($event, 'portTerminalCyCnName')"
  1374. >
  1375. </search-query>
  1376. </el-form-item>
  1377. </el-col>
  1378. <el-col :span="6">
  1379. <el-form-item label="联系人" prop="portTerminalCyContacts">
  1380. <span slot="label">
  1381. <span style="color: #1e9fff">link</span>
  1382. </span>
  1383. <search-query
  1384. :datalist="portTerminalCyContactsData"
  1385. :selectValue="assemblyForm.portTerminalCyContacts"
  1386. :filterable="true"
  1387. :clearable="true"
  1388. :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.portTerminalCyCnName"
  1389. :buttonIf="false"
  1390. :forParameter="{ key: 'id', label: 'cname', value: 'cname' }"
  1391. placeholder="联系人"
  1392. @corpChange="corpChange($event, 'portTerminalCyContacts')"
  1393. @corpFocus="remoteMethod($event, 'portTerminalCyContacts')"
  1394. >
  1395. </search-query>
  1396. </el-form-item>
  1397. </el-col>
  1398. <el-col :span="6">
  1399. <el-form-item label="电话" prop="portTerminalCyTel">
  1400. <span slot="label">
  1401. <span style="color: #1e9fff">tel</span>
  1402. </span>
  1403. <el-input
  1404. type="age"
  1405. style="width: 100%;"
  1406. v-model="assemblyForm.portTerminalCyTel"
  1407. size="small"
  1408. autocomplete="off"
  1409. :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.portTerminalCyCnName"
  1410. clearable
  1411. placeholder="电话"
  1412. ></el-input>
  1413. </el-form-item>
  1414. </el-col>
  1415. <el-col :span="6">
  1416. <el-form-item label="地址" prop="portTerminalCyAddress">
  1417. <span slot="label">
  1418. <span style="color: #1e9fff">addr</span>
  1419. </span>
  1420. <el-input
  1421. type="age"
  1422. style="width: 100%;"
  1423. v-model="assemblyForm.portTerminalCyAddress"
  1424. size="small"
  1425. autocomplete="off"
  1426. :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.portTerminalCyCnName"
  1427. clearable
  1428. placeholder="地址"
  1429. ></el-input>
  1430. </el-form-item>
  1431. </el-col>
  1432. </el-row>
  1433. <el-row>
  1434. <el-col :span="12">
  1435. <precontainers :assemblyForm="assemblyForm" :seeDisabled="detailData.seeDisabled" :pid="assemblyForm.id" @billsDetailfun="billsDetailfun">
  1436. </precontainers>
  1437. </el-col>
  1438. <el-col :span="12">
  1439. <el-row>
  1440. <el-col :span="12">
  1441. <el-form-item label="箱属" prop="boxBelongsTo">
  1442. <span slot="label">
  1443. <span style="color: #1e9fff">{{ $t("sea118n.SOCORCOC") }}</span>
  1444. </span>
  1445. <div>
  1446. <dic-select
  1447. v-model="assemblyForm.boxBelongsTo"
  1448. placeholder="箱属"
  1449. key="dictKey"
  1450. label="dictValue"
  1451. url="/blade-system/dict-biz/dictionary?code=boxBelongsTo"
  1452. :filterable="true"
  1453. :disabled="detailData.seeDisabled"
  1454. ></dic-select>
  1455. </div>
  1456. </el-form-item>
  1457. </el-col>
  1458. <el-col :span="12">
  1459. <el-form-item label="服务方式" prop="serviceTerms">
  1460. <span slot="label">
  1461. <span style="color: #1e9fff">{{ $t("sea118n.shippingTerms") }}</span>
  1462. </span>
  1463. <search-query
  1464. :datalist="serviceTermsData"
  1465. :selectValue="assemblyForm.serviceTerms"
  1466. :clearable="true"
  1467. :disabled="detailData.seeDisabled"
  1468. :buttonIf="false"
  1469. :forParameter="{ key: 'id', label: 'code', value: 'code' }"
  1470. placeholder="请选择服务方式"
  1471. @remoteMethod="remoteMethod($event, 'serviceTerms')"
  1472. @corpChange="corpChange($event, 'serviceTerms')"
  1473. @corpFocus="remoteMethod($event, 'serviceTerms')"
  1474. >
  1475. </search-query>
  1476. </el-form-item>
  1477. </el-col>
  1478. </el-row>
  1479. <el-row>
  1480. <el-col :span="12">
  1481. <el-form-item label="截单时间" prop="cyTrailerTime">
  1482. <span slot="label">
  1483. <span style="color: #1e9fff">{{ $t("sea118n.docCutofftime") }}</span>
  1484. </span>
  1485. <el-date-picker
  1486. v-model="assemblyForm.cyTrailerTime"
  1487. type="datetime"
  1488. style="width: 100%;"
  1489. format="yyyy-MM-dd HH:mm:ss"
  1490. value-format="yyyy-MM-dd HH:mm:ss"
  1491. size="small"
  1492. :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
  1493. placeholder="请选择截单时间"
  1494. >
  1495. </el-date-picker>
  1496. </el-form-item>
  1497. </el-col>
  1498. <el-col :span="12">
  1499. <el-form-item label="截港时间" prop="cyReturnTime">
  1500. <span slot="label">
  1501. <span style="color: #1e9fff">{{ $t("sea118n.portCutofftime") }}</span>
  1502. </span>
  1503. <el-date-picker
  1504. v-model="assemblyForm.cyReturnTime"
  1505. type="datetime"
  1506. style="width: 100%;"
  1507. format="yyyy-MM-dd HH:mm:ss"
  1508. value-format="yyyy-MM-dd HH:mm:ss"
  1509. size="small"
  1510. :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
  1511. placeholder="请选择截港时间"
  1512. >
  1513. </el-date-picker>
  1514. </el-form-item>
  1515. </el-col>
  1516. </el-row>
  1517. <el-row>
  1518. <el-col :span="12">
  1519. <el-form-item label="船代" prop="shippingAgencyCname">
  1520. <span slot="label">
  1521. <span style="color: #1e9fff">{{ $t("sea118n.shippingAgent") }}</span>
  1522. </span>
  1523. <div>
  1524. <dic-select
  1525. v-model="assemblyForm.shippingAgencyCname"
  1526. placeholder="船代"
  1527. key="id"
  1528. label="shortName"
  1529. res="records"
  1530. url="/blade-los/bcorps/selectList?current=1&size=5&corpTypeName=船代"
  1531. :filterable="true"
  1532. :remote="true"
  1533. dataName="shortName"
  1534. @selectChange="dicChange('shippingAgencyCname', $event)"
  1535. :slotRight="true"
  1536. rightLabel="code"
  1537. :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
  1538. ></dic-select>
  1539. </div>
  1540. </el-form-item>
  1541. </el-col>
  1542. <el-col :span="12">
  1543. <el-form-item label="订舱代理" prop="bookingAgentCnName">
  1544. <span slot="label">
  1545. <span style="color: #1e9fff">{{ $t("sea118n.bookingAgent") }}</span>
  1546. </span>
  1547. <search-query
  1548. :datalist="bookingAgentData"
  1549. :selectValue="assemblyForm.bookingAgentCnName"
  1550. :filterable="true"
  1551. :clearable="true"
  1552. :remote="true"
  1553. :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
  1554. :buttonIf="false"
  1555. placeholder="请选择订舱代理"
  1556. :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
  1557. @remoteMethod="remoteMethod($event, 'bookingAgent')"
  1558. @corpChange="corpChange($event, 'bookingAgent')"
  1559. @corpFocus="remoteMethod($event, 'bookingAgent')"
  1560. >
  1561. </search-query>
  1562. </el-form-item>
  1563. </el-col>
  1564. </el-row>
  1565. <el-row>
  1566. <el-col :span="12">
  1567. <el-form-item label="舱位类型" prop="cabinType">
  1568. <span slot="label">
  1569. <span style="color: #1e9fff">舱位类型</span>
  1570. </span>
  1571. <el-row>
  1572. <el-col :span="12">
  1573. <dic-select
  1574. v-model="assemblyForm.cabinType"
  1575. placeholder="舱位类型"
  1576. key="id"
  1577. label="dictValue"
  1578. url="/blade-system/dict-biz/dictionary?code=cabinType"
  1579. :disabled="detailData.seeDisabled"
  1580. @selectChange="dicChange('cabinType', $event)"
  1581. ></dic-select>
  1582. </el-col>
  1583. <el-col :span="11" :offset="1">
  1584. <div>
  1585. <dic-select
  1586. v-show="assemblyForm.cabinType == '固定' || !assemblyForm.cabinType"
  1587. v-model="assemblyForm.cabinTypeData"
  1588. key="id"
  1589. label="dictValue"
  1590. placeholder="数据"
  1591. url="/blade-system/dict-biz/dictionary?code=cabinTypeData_1"
  1592. :disabled="detailData.seeDisabled || !assemblyForm.cabinType"
  1593. ></dic-select>
  1594. <dic-select
  1595. v-show="assemblyForm.cabinType == '非固定'"
  1596. v-model="assemblyForm.cabinTypeData"
  1597. key="id"
  1598. label="dictValue"
  1599. placeholder="数据"
  1600. url="/blade-system/dict-biz/dictionary?code=cabinTypeData_2"
  1601. :disabled="detailData.seeDisabled"
  1602. ></dic-select>
  1603. </div>
  1604. </el-col>
  1605. </el-row>
  1606. </el-form-item>
  1607. </el-col>
  1608. <el-col :span="12">
  1609. <el-form-item label="舱位数" prop="shippingSpaceNumber">
  1610. <span slot="label">
  1611. <span style="color: #1e9fff">舱位数</span>
  1612. </span>
  1613. <el-input
  1614. v-model="assemblyForm.shippingSpaceNumber"
  1615. size="small"
  1616. :controls="false"
  1617. style="width: 100%;"
  1618. placeholder="请输入舱位数"
  1619. :disabled="detailData.seeDisabled"
  1620. ></el-input>
  1621. </el-form-item>
  1622. </el-col>
  1623. </el-row>
  1624. <el-row>
  1625. <el-col span="8">
  1626. <el-form-item label="联系人" prop="contact">
  1627. <el-input
  1628. style="width: 100%;"
  1629. size="small"
  1630. v-model="assemblyForm.contact"
  1631. :disabled="detailData.seeDisabled"
  1632. placeholder="文件联络人"
  1633. ></el-input>
  1634. </el-form-item>
  1635. </el-col>
  1636. <el-col :span="8">
  1637. <el-form-item label="邮箱" prop="fileEmail">
  1638. <span slot="label">
  1639. <span style="color: #1e9fff">邮箱</span>
  1640. </span>
  1641. <el-input
  1642. style="width: 100%;"
  1643. size="small"
  1644. v-model="assemblyForm.fileEmail"
  1645. :disabled="detailData.seeDisabled"
  1646. placeholder="文件联络人邮箱"
  1647. ></el-input>
  1648. </el-form-item>
  1649. </el-col>
  1650. <el-col :span="8">
  1651. <el-form-item label="电话" prop="fileTel">
  1652. <span slot="label">
  1653. <span style="color: #1e9fff">电话</span>
  1654. </span>
  1655. <el-input
  1656. style="width: 100%;"
  1657. size="small"
  1658. v-model="assemblyForm.fileTel"
  1659. :disabled="detailData.seeDisabled"
  1660. placeholder="文件联络人电话"
  1661. ></el-input>
  1662. </el-form-item>
  1663. </el-col>
  1664. </el-row>
  1665. <el-row>
  1666. <el-col :span="12">
  1667. <el-form-item label="接单状态" prop="billOfLadingStatus">
  1668. <span slot="label">
  1669. <span style="color: #1e9fff">接单状态</span>
  1670. </span>
  1671. <dic-select
  1672. v-model="assemblyForm.billOfLadingStatus"
  1673. placeholder="接单状态"
  1674. key="id"
  1675. label="dictValue"
  1676. url="/blade-system/dict-biz/dictionary?code=billOfLadingStatus"
  1677. :disabled="detailData.seeDisabled"
  1678. ></dic-select>
  1679. </el-form-item>
  1680. </el-col>
  1681. </el-row>
  1682. </el-col>
  1683. </el-row>
  1684. </el-form>
  1685. <el-dialog title="第二通知人" :visible.sync="hnotify2Visible" width="50%" append-to-body :before-close="hnotify2HandleClose">
  1686. <div>
  1687. <el-form :model="assemblyForm" ref="form" label-width="60px">
  1688. <el-row :gutter="20">
  1689. <el-col :span="12">
  1690. <el-form-item label="通知人" prop="hnotify2CnName">
  1691. <search-query
  1692. :datalist="hnotify2Data"
  1693. :selectValue="assemblyForm.detail.hnotify2CnName"
  1694. :joinData="true"
  1695. :filterable="true"
  1696. :clearable="true"
  1697. :remote="true"
  1698. :disabled="detailData.seeDisabled"
  1699. :buttonIf="false"
  1700. :forParameter="{ key: 'id', short: 'code', label: 'cnName', value: 'cnName' }"
  1701. placeholder="请选择通知人"
  1702. @remoteMethod="remoteMethod($event, 'hnotify2')"
  1703. @corpChange="corpChange($event, 'hnotify2')"
  1704. @corpFocus="remoteMethod($event, 'hnotify2')"
  1705. >
  1706. </search-query>
  1707. </el-form-item>
  1708. </el-col>
  1709. <el-col :span="12">
  1710. <el-form-item label="国家" prop="hnotify2CntyName">
  1711. <el-input
  1712. type="age"
  1713. style="width: 100%;"
  1714. v-model="assemblyForm.detail.hnotify2CntyName"
  1715. size="small"
  1716. autocomplete="off"
  1717. :disabled="detailData.seeDisabled"
  1718. clearable
  1719. placeholder="国家"
  1720. ></el-input>
  1721. </el-form-item>
  1722. </el-col>
  1723. <el-col :span="24">
  1724. <el-form-item label="提单描述" prop="hnotify2Details">
  1725. <el-input
  1726. type="textarea"
  1727. style="width: 100%;"
  1728. v-model="assemblyForm.detail.hnotify2Details"
  1729. size="small"
  1730. autocomplete="off"
  1731. :disabled="detailData.seeDisabled"
  1732. rows="4"
  1733. clearable
  1734. placeholder="请输入通知人提单描述"
  1735. @change="textareaBlur('hnotify2Details')"
  1736. ></el-input>
  1737. </el-form-item>
  1738. </el-col>
  1739. </el-row>
  1740. </el-form>
  1741. </div>
  1742. <span slot="footer" class="dialog-footer">
  1743. <el-button type="danger" @click="hnotify2Cancellation('清除')">清 除</el-button>
  1744. <el-button type="primary" @click="hnotify2Visible = false">确 定</el-button>
  1745. </span>
  1746. </el-dialog>
  1747. <el-dialog title="危险品" :visible.sync="dgVisible" width="50%" append-to-body :before-close="hnotify2HandleClose">
  1748. <div>
  1749. <el-form :model="assemblyForm" ref="form" label-width="120px">
  1750. <el-row :gutter="20">
  1751. <el-col :span="12">
  1752. <el-form-item label="危险品类别" prop="dgImdgCode">
  1753. <!-- <el-input type="age" style="width: 100%;" v-model="assemblyForm.dgImdgCode" size="small"
  1754. autocomplete="off" :disabled="detailData.seeDisabled" clearable
  1755. placeholder="请输入危险品类别"></el-input> -->
  1756. <!-- -->
  1757. <dic-select
  1758. v-model="assemblyForm.dgImdgCode"
  1759. placeholder="危险品类别"
  1760. key="dictKey"
  1761. label="dictKey"
  1762. keyValue="dictKey"
  1763. url="/blade-system/dict-biz/dictionary?code=dg_imdg_code"
  1764. :filterable="true"
  1765. :disabled="detailData.seeDisabled"
  1766. :diySlot="true"
  1767. ></dic-select>
  1768. </el-form-item>
  1769. </el-col>
  1770. <el-col :span="12">
  1771. <el-form-item label="危险代码(IMO)" prop="dgUnCode">
  1772. <el-input
  1773. type="age"
  1774. style="width: 100%;"
  1775. v-model="assemblyForm.dgUnCode"
  1776. size="small"
  1777. autocomplete="off"
  1778. :disabled="detailData.seeDisabled"
  1779. clearable
  1780. placeholder="请输入危险代码(IMO)"
  1781. ></el-input>
  1782. </el-form-item>
  1783. </el-col>
  1784. <el-col :span="12">
  1785. <el-form-item label="危险品包装等级" prop="dgPackingLevel">
  1786. <search-query
  1787. :datalist="dgPackingLevelData"
  1788. :selectValue="assemblyForm.dgPackingLevel"
  1789. :disabled="detailData.seeDisabled"
  1790. :buttonIf="false"
  1791. :forParameter="{ key: 'dictKey', label: 'dictValue', value: 'dictKey' }"
  1792. placeholder="请输入危险品包装等级"
  1793. @corpChange="corpChange($event, 'dgPackingLevel')"
  1794. @corpFocus="dgPackingLevelWorkDicts"
  1795. >
  1796. </search-query>
  1797. </el-form-item>
  1798. </el-col>
  1799. <el-col :span="12">
  1800. <el-form-item label="" prop="dgFlashPoint"> </el-form-item>
  1801. </el-col>
  1802. <el-col :span="12">
  1803. <el-form-item label="易燃易爆品闪点" prop="dgFlashPoint">
  1804. <el-input
  1805. type="age"
  1806. style="width: 100%;"
  1807. v-model="assemblyForm.dgFlashPoint"
  1808. size="small"
  1809. autocomplete="off"
  1810. :disabled="detailData.seeDisabled"
  1811. @input="dgFlashPointInput"
  1812. clearable
  1813. placeholder="请输入易燃易爆品闪点"
  1814. ></el-input>
  1815. </el-form-item>
  1816. </el-col>
  1817. <el-col :span="12">
  1818. <el-form-item label="易燃易爆品闪点单位" prop="dgFlashPointUnit">
  1819. <el-input
  1820. type="age"
  1821. style="width: 100%;"
  1822. v-model="assemblyForm.dgFlashPointUnit"
  1823. size="small"
  1824. autocomplete="off"
  1825. :disabled="detailData.seeDisabled"
  1826. clearable
  1827. placeholder="请输入易燃易爆品闪点单位"
  1828. ></el-input>
  1829. </el-form-item>
  1830. </el-col>
  1831. <el-col :span="12">
  1832. <el-form-item label="危险品联系人" prop="dgContacts">
  1833. <el-input
  1834. type="age"
  1835. style="width: 100%;"
  1836. v-model="assemblyForm.dgContacts"
  1837. size="small"
  1838. autocomplete="off"
  1839. :disabled="detailData.seeDisabled"
  1840. clearable
  1841. placeholder="请输入危险品联系人"
  1842. ></el-input>
  1843. </el-form-item>
  1844. </el-col>
  1845. <el-col :span="12">
  1846. <el-form-item label="危险品联系人电话" prop="dgTel">
  1847. <el-input
  1848. type="age"
  1849. style="width: 100%;"
  1850. v-model="assemblyForm.dgTel"
  1851. size="small"
  1852. autocomplete="off"
  1853. :disabled="detailData.seeDisabled"
  1854. clearable
  1855. placeholder="请输入危险品联系人电话"
  1856. ></el-input>
  1857. </el-form-item>
  1858. </el-col>
  1859. <el-col :span="12">
  1860. <el-form-item label="危险品净重" prop="dgTel">
  1861. <el-input
  1862. type="age"
  1863. style="width: 100%;"
  1864. v-model="assemblyForm.dgNetWeight"
  1865. size="small"
  1866. autocomplete="off"
  1867. :disabled="detailData.seeDisabled"
  1868. clearable
  1869. placeholder="请输入危险品净重"
  1870. ></el-input>
  1871. </el-form-item>
  1872. </el-col>
  1873. <el-col :span="12">
  1874. <el-form-item label="危险品外包装" prop="dgTel">
  1875. <el-input
  1876. type="age"
  1877. style="width: 100%;"
  1878. v-model="assemblyForm.dgPackage"
  1879. size="small"
  1880. autocomplete="off"
  1881. :disabled="detailData.seeDisabled"
  1882. clearable
  1883. placeholder="请输入危险品外包装"
  1884. ></el-input>
  1885. </el-form-item>
  1886. </el-col>
  1887. <el-col :span="12">
  1888. <el-form-item label="危险品邮箱" prop="dgTel">
  1889. <el-input
  1890. type="age"
  1891. style="width: 100%;"
  1892. v-model="assemblyForm.dgMailbox"
  1893. size="small"
  1894. autocomplete="off"
  1895. :disabled="detailData.seeDisabled"
  1896. clearable
  1897. placeholder="请输入危险品邮箱"
  1898. ></el-input>
  1899. </el-form-item>
  1900. </el-col>
  1901. <el-col :span="12">
  1902. <el-form-item label="危险品备注" prop="dgTel">
  1903. <el-input
  1904. type="age"
  1905. style="width: 100%;"
  1906. v-model="assemblyForm.dgRemarks"
  1907. size="small"
  1908. autocomplete="off"
  1909. :disabled="detailData.seeDisabled"
  1910. clearable
  1911. placeholder="请输入危险品备注"
  1912. ></el-input>
  1913. </el-form-item>
  1914. </el-col>
  1915. <el-col :span="12">
  1916. <el-form-item label="是否海洋污染物" prop="dgIsMarinePollutant">
  1917. <el-checkbox size="medium" :true-label="1" :false-label="0" v-model="assemblyForm.dgIsMarinePollutant"></el-checkbox>
  1918. </el-form-item>
  1919. </el-col>
  1920. </el-row>
  1921. </el-form>
  1922. </div>
  1923. <span slot="footer" class="dialog-footer">
  1924. <el-button type="danger" @click="dgCancellation('清除')">清 除</el-button>
  1925. <el-button type="primary" @click="dgVisible = false">确 定</el-button>
  1926. </span>
  1927. </el-dialog>
  1928. </div>
  1929. </template>
  1930. <script>
  1931. import precontainers from "@/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation/precontainers.vue";
  1932. import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
  1933. import { getBcorpslistByType, getBcorpsDetail } from "@/api/iosBasicData/bcorps";
  1934. import { bportsList } from "@/api/iosBasicData/bports";
  1935. import { bpackagesList } from "@/api/iosBasicData/bpackages";
  1936. import { bcommodityList } from "@/api/iosBasicData/bcommodity";
  1937. import { getBvesselsList } from "@/api/iosBasicData/bvessels";
  1938. import { blinesList } from "@/api/iosBasicData/blines";
  1939. import { bcorpstypedefineList } from "@/api/iosBasicData/bcorpstypedefine";
  1940. import bcorpstypedefine from "@/views/iosBasicData/bcorps/bcorpstypedefine.vue";
  1941. import { textareaWrap } from "@/util/messageReminder";
  1942. import emailhash from "@/views/iosBasicData/SeafreightExportF/bills/assembly/Jsonfile/emailhash.json";
  1943. import bcorps from "@/views/iosBasicData/bcorps/index.vue";
  1944. import { NdayDate } from "@/util/date";
  1945. import { regularFloating, regularInteger } from "@/util/regularJudgment";
  1946. import { getBcorpsattnList } from "@/api/iosBasicData/bcorpsattn";
  1947. import { getWorkDicts } from "@/api/system/dictbiz";
  1948. import { bportsDetail } from "@/api/iosBasicData/bports";
  1949. import { bpackagesDetail } from "@/api/iosBasicData/bpackages";
  1950. import { getBvesselsDetail } from "@/api/iosBasicData/bvessels";
  1951. import { blinesDetail } from "@/api/iosBasicData/blines";
  1952. import { synchronizationExchangeRate } from "@/api/iosBasicData/rateManagement";
  1953. import { isProcurement } from "@/api/basicData/configuration";
  1954. import { getDeptLazyTree, getDeptTree, getLazyList } from "@/api/system/dept";
  1955. import { getBservicetermsList } from "@/api/iosBasicData/bserviceterms";
  1956. import { selectListLos } from "@/api/approval/processConfig";
  1957. import _ from "lodash";
  1958. import dicSelect from "@/components/dicSelect/main";
  1959. import TreeSelect from "@/components/iosbasic-data/TreeSelect.vue";
  1960. export default {
  1961. props: {
  1962. detailData: {
  1963. type: Object
  1964. },
  1965. assemblyForm: {
  1966. type: Object,
  1967. default: {}
  1968. },
  1969. saberUserInfo: {
  1970. type: Object,
  1971. default: {}
  1972. },
  1973. // 是否生成账单
  1974. generateBillsfalse: {
  1975. type: Boolean,
  1976. default: false
  1977. },
  1978. disabled: {
  1979. type: Boolean,
  1980. default: false
  1981. }
  1982. },
  1983. components: { TreeSelect, bcorps, SearchQuery, precontainers, bcorpstypedefine, dicSelect },
  1984. data() {
  1985. return {
  1986. issueAtData: [],
  1987. sourceTypeData: [
  1988. {
  1989. label: "公司",
  1990. value: "OWN"
  1991. },
  1992. {
  1993. label: "代理",
  1994. value: "AGENT"
  1995. },
  1996. {
  1997. label: "业务员",
  1998. value: "SALES"
  1999. }
  2000. ],
  2001. srcData: [],
  2002. roleName: localStorage.getItem("roleName"),
  2003. dicTree: [],
  2004. textareaNumber: 5,
  2005. loading: false,
  2006. delData: [],
  2007. delOption: {
  2008. border: true,
  2009. align: "center",
  2010. menu: false,
  2011. header: false,
  2012. column: [
  2013. {
  2014. label: "名称",
  2015. prop: "name"
  2016. },
  2017. {
  2018. label: "键值",
  2019. prop: "value"
  2020. }
  2021. ]
  2022. },
  2023. hsLoading: false,
  2024. // 设置当前时间选择的范围
  2025. etdPickerOptions: {
  2026. disabledDate(time) {
  2027. // 获取当前日期后的90天
  2028. // return time.getTime() < Date.now() || time.getTime() > Date.parse(NdayDate(90))
  2029. // 获取前后的45天 Date.parse(NdayDate(45))
  2030. let timeDay = localStorage.getItem("timeFrame") ? localStorage.getItem("timeFrame") : 45;
  2031. return time.getTime() < Date.parse(NdayDate(-timeDay)) || time.getTime() > Date.parse(NdayDate(timeDay - 1));
  2032. }
  2033. },
  2034. emailhash: emailhash, // 邮箱跳转地址
  2035. foreignAgencyData: [],
  2036. // 场站
  2037. cyData: [],
  2038. podCyData: [],
  2039. portTerminalData: [],
  2040. cyContactsData: [], // 场站联系人
  2041. podCyCnNameData: [],
  2042. portTerminalCyContactsData: [],
  2043. // 多选的数据
  2044. tabsMultipleChoice: [],
  2045. // 发货人数据
  2046. hshipperData: [],
  2047. // 收货人数据
  2048. hconsigneeData: [],
  2049. // 通知人
  2050. hnotifyData: [],
  2051. // 第二通知人
  2052. hnotify2Data: [],
  2053. // 通知人弹窗开启关闭
  2054. hnotify2Visible: false,
  2055. // 收货地
  2056. placeReceiptData: [],
  2057. // 装货港
  2058. polData: [],
  2059. // 卸货港
  2060. podData: [],
  2061. // 目的地
  2062. destinationData: [],
  2063. // 交货地
  2064. placeDeliveryData: [],
  2065. // 中转港
  2066. potData: [],
  2067. // 商品 HS-CODE
  2068. commodityData: [],
  2069. // 货物类别
  2070. cargoTypeData: [
  2071. {
  2072. label: "普货",
  2073. value: "dry"
  2074. },
  2075. {
  2076. label: "危险品",
  2077. value: "danger"
  2078. },
  2079. {
  2080. label: "冻柜",
  2081. value: "reefer"
  2082. }
  2083. ],
  2084. // 危险品弹窗
  2085. dgVisible: false,
  2086. // 船公司数据
  2087. carrierData: [],
  2088. // 船名
  2089. vesselData: [],
  2090. // 包装
  2091. packingUnitData: [],
  2092. // 订舱代理数据
  2093. bookingAgentData: [],
  2094. // 航线
  2095. lineData: [],
  2096. // COLOADER
  2097. coloaderCnNameData: [],
  2098. // 危险品包装等级
  2099. dgPackingLevelData: [],
  2100. // 服务方式
  2101. serviceTermsData: [],
  2102. marksIndex: 1
  2103. };
  2104. },
  2105. created() {
  2106. isProcurement({ param: "textarea.number" }).then(res => {
  2107. if (res.data.data) {
  2108. this.textareaNumber = res.data.data;
  2109. }
  2110. });
  2111. // // 往来单位
  2112. // this.hshipperBcorpsListfun()
  2113. // this.hconsigneeBcorpsListfun()
  2114. // this.hnotifyBcorpsListfun()
  2115. // this.hnotify2BcorpsListfun()
  2116. // this.bookingAgentBcorpsListfun()
  2117. // // 港口接口
  2118. // this.placeReceiptBportsListfun()
  2119. // this.polBportsListfun()
  2120. // this.podBportsListfun()
  2121. // this.destinationBportsListfun()
  2122. // this.placeDeliveryBportsListfun()
  2123. // // 货物
  2124. // this.commodityBcommodityListfun()
  2125. // // 包装
  2126. // this.packingUnitBpackagesListfun()
  2127. // // 船公司
  2128. this.carrierBcorpslistByTypefun();
  2129. // // 船名
  2130. // this.vesselBvesselsListfun()
  2131. // // 航线
  2132. // this.lineBlinesListfun()
  2133. // 危险品包装等级
  2134. this.dgPackingLevelWorkDicts();
  2135. this.getHsCode();
  2136. // this.getDicTree()
  2137. },
  2138. methods: {
  2139. // 业务来源下拉
  2140. sourceCorp(value, name) {
  2141. if (name == "srcCnName") {
  2142. if (!value) {
  2143. this.$set(this.assemblyForm, "srcId", "");
  2144. this.$set(this.assemblyForm, "srcCnName", "");
  2145. this.$set(this.assemblyForm, "srcEnName", "");
  2146. }
  2147. for (let item of this.srcData) {
  2148. if (item[this.sourceforParameter.value] == value) {
  2149. if (this.assemblyForm.srcType == "OWN") {
  2150. // 国家
  2151. this.$set(this.assemblyForm, "srcId", item.id);
  2152. this.$set(this.assemblyForm, "srcCnName", item.title);
  2153. this.$set(this.assemblyForm, "srcEnName", item.title);
  2154. } else if (this.assemblyForm.srcType == "AGENT") {
  2155. // 代理
  2156. this.$set(this.assemblyForm, "srcId", item.id);
  2157. this.$set(this.assemblyForm, "srcCnName", item.cnName);
  2158. this.$set(this.assemblyForm, "srcEnName", item.cnName);
  2159. } else if (this.assemblyForm.srcType == "SALES") {
  2160. // 业务员
  2161. this.$set(this.assemblyForm, "srcId", item.id);
  2162. this.$set(this.assemblyForm, "srcCnName", item.name);
  2163. this.$set(this.assemblyForm, "srcEnName", item.name);
  2164. }
  2165. }
  2166. }
  2167. } else if (name == "srcType") {
  2168. this.$set(this.assemblyForm, "srcType", value);
  2169. this.$set(this.assemblyForm, "srcId", "");
  2170. this.$set(this.assemblyForm, "srcCnName", "");
  2171. this.$set(this.assemblyForm, "srcEnName", "");
  2172. if (this.assemblyForm.srcType == "OWN") {
  2173. this.sourceforParameter = { key: "id", label: "title", value: "title" };
  2174. this.ownDeptLazyTreefun();
  2175. } else if (this.assemblyForm.srcType == "AGENT") {
  2176. this.sourceforParameter = { key: "id", label: "cnName", value: "cnName" };
  2177. this.agentBcorpsListfun();
  2178. } else if (this.assemblyForm.srcType == "SALES") {
  2179. this.sourceforParameter = { key: "id", label: "name", value: "name" };
  2180. this.salesUserGetListfun();
  2181. }
  2182. }
  2183. },
  2184. // 业务来源接口
  2185. sourceRemote(value, name) {
  2186. if (name == "srcCnName") {
  2187. if (this.assemblyForm.srcType == "OWN") {
  2188. this.sourceforParameter = { key: "id", label: "title", value: "title" };
  2189. this.ownDeptLazyTreefun();
  2190. } else if (this.assemblyForm.srcType == "AGENT") {
  2191. this.sourceforParameter = { key: "id", label: "cnName", value: "cnName" };
  2192. this.agentBcorpsListfun(value);
  2193. } else if (this.assemblyForm.srcType == "SALES") {
  2194. this.sourceforParameter = { key: "id", label: "name", value: "name" };
  2195. this.salesUserGetListfun(value);
  2196. }
  2197. }
  2198. },
  2199. // 获取业务来源代理数据
  2200. agentBcorpsListfun(cnName) {
  2201. let corpTypeName = "国内直接客户,国内同行及代理,国外直接客户,国外同行及代理,代理客户";
  2202. getBcorpslistByType(1, 10, { cnName, corpTypeName }).then(res => {
  2203. this.srcData = res.data.data.records;
  2204. });
  2205. },
  2206. // 获取业务来源业务员数据
  2207. salesUserGetListfun(account) {
  2208. selectListLos("业务员").then(res => {
  2209. this.srcData = res.data.data;
  2210. });
  2211. },
  2212. // 获取公司名称 用户管理左侧
  2213. ownDeptLazyTreefun() {
  2214. getDeptLazyTree(0).then(res => {
  2215. this.srcData = res.data.data;
  2216. // 来源 内容 默认登录人所属公司
  2217. for (let item of this.srcData) {
  2218. if (item.id == JSON.parse(localStorage.getItem("saber-userInfo")).content.dept_id) {
  2219. this.$set(this.assemblyForm, "srcId", item.id);
  2220. this.$set(this.assemblyForm, "srcCnName", item.title);
  2221. this.$set(this.assemblyForm, "srcEnName", item.title);
  2222. }
  2223. }
  2224. });
  2225. },
  2226. // 获取服务方式数据
  2227. serviceTermsWorkDicts() {
  2228. // getWorkDicts('service_terms').then(res=>{
  2229. // this.serviceTermsData = res.data.data
  2230. // })
  2231. getBservicetermsList(1, 20, { status: 0 }).then(res => {
  2232. this.serviceTermsData = res.data.data.records;
  2233. });
  2234. },
  2235. getDicTree() {
  2236. let obj = {
  2237. eptId: this.saberUserInfo.dept_pid.split(",")[0]
  2238. };
  2239. getDeptTree(obj).then(res => {
  2240. res.data.data.forEach(item => {
  2241. item.label = item.title;
  2242. });
  2243. this.dicTree = res.data.data;
  2244. });
  2245. },
  2246. treeChange(val) {
  2247. for (let item of this.dicTree) {
  2248. if (item.title == val) {
  2249. this.assemblyForm.customerServiceName = item.title;
  2250. this.assemblyForm.customerServiceId = item.id;
  2251. }
  2252. }
  2253. },
  2254. //DEL监听
  2255. delShow(val, type) {
  2256. if (val) {
  2257. this.loading = true;
  2258. this.delData = [];
  2259. if (type == 1) {
  2260. bportsDetail(val)
  2261. .then(res => {
  2262. this.delData = res.data.data.extendedDataArr;
  2263. })
  2264. .finally(() => {
  2265. this.loading = false;
  2266. });
  2267. }
  2268. if (type == 2) {
  2269. bpackagesDetail(val)
  2270. .then(res => {
  2271. this.delData = res.data.data.extendedDataArr;
  2272. })
  2273. .finally(() => {
  2274. this.loading = false;
  2275. });
  2276. }
  2277. if (type == 3) {
  2278. getBvesselsDetail(val)
  2279. .then(res => {
  2280. this.delData = res.data.data.extendedDataArr;
  2281. })
  2282. .finally(() => {
  2283. this.loading = false;
  2284. });
  2285. }
  2286. if (type == 4) {
  2287. blinesDetail(val)
  2288. .then(res => {
  2289. this.delData = res.data.data.extendedDataArr;
  2290. })
  2291. .finally(() => {
  2292. this.loading = false;
  2293. });
  2294. }
  2295. } else {
  2296. this.delData = [];
  2297. }
  2298. },
  2299. atdChange() {
  2300. this.$set(this.assemblyForm, "billDate", this.assemblyForm.actualEtd ? this.assemblyForm.actualEtd : this.assemblyForm.etd);
  2301. },
  2302. //ETD监听
  2303. handlePick(val) {
  2304. this.$set(this.assemblyForm, "actualEtd", this.assemblyForm.actualEtd ? this.assemblyForm.actualEtd : this.assemblyForm.etd);
  2305. this.$set(this.assemblyForm, "billDate", this.assemblyForm.actualEtd ? this.assemblyForm.actualEtd : this.assemblyForm.etd);
  2306. if (this.assemblyForm.id) {
  2307. this.$confirm("是否同步汇率, 是否继续?", "提示", {
  2308. confirmButtonText: "是",
  2309. cancelButtonText: "否",
  2310. type: "warning"
  2311. })
  2312. .then(() => {
  2313. let obj = {};
  2314. obj = {
  2315. date: this.assemblyForm.etd,
  2316. type: 1,
  2317. billId: this.assemblyForm.id
  2318. };
  2319. console.log(obj);
  2320. synchronizationExchangeRate(obj).then(res => {
  2321. this.billsDetailfun();
  2322. });
  2323. })
  2324. .catch(() => {
  2325. let obj = {};
  2326. obj = {
  2327. date: this.assemblyForm.etd,
  2328. type: 0,
  2329. billId: this.assemblyForm.id
  2330. };
  2331. synchronizationExchangeRate(obj).then(res => {
  2332. this.billsDetailfun();
  2333. });
  2334. });
  2335. }
  2336. },
  2337. // 易燃易爆品闪点类型为数字
  2338. dgFlashPointInput(val) {
  2339. this.$set(this.assemblyForm, "dgFlashPoint", regularInteger(val));
  2340. },
  2341. // 件数聚焦
  2342. quantityFocus() {
  2343. if (this.assemblyForm.containersList && this.assemblyForm.containersList.length) {
  2344. this.$alert("当前数据已经均分箱量,请撤销之后再修改", "提示", {
  2345. confirmButtonText: "确定"
  2346. });
  2347. this.$nextTick(() => {
  2348. this.$refs.quantityRef.blur();
  2349. this.$refs.grossWeightRef.blur();
  2350. this.$refs.measurementRef.blur();
  2351. });
  2352. return;
  2353. // let num=0
  2354. // for(let item of this.assemblyForm.containersList){
  2355. // num+=Number(item.quantity)
  2356. // }
  2357. // if (Number(num) == 0) {
  2358. // this.$alert('当前数据已经均分箱量,请撤销之后再修改', '提示', {
  2359. // confirmButtonText: '确定',
  2360. // });
  2361. // this.$nextTick(() => {
  2362. // this.$refs.quantityRef.blur()
  2363. // this.$refs.grossWeightRef.blur()
  2364. // this.$refs.measurementRef.blur()
  2365. // })
  2366. // return
  2367. // }
  2368. }
  2369. },
  2370. // 件数监听
  2371. quantityInput(value) {
  2372. this.$set(this.assemblyForm, "quantity", regularInteger(value));
  2373. },
  2374. // 正浮点数正则监听
  2375. floatingInput(value, name) {
  2376. this.$set(this.assemblyForm, name, regularFloating(value));
  2377. },
  2378. grossWeightChange(value) {
  2379. if (isNaN(Number(value))) {
  2380. this.$set(this.assemblyForm, "grossWeight", 0);
  2381. } else {
  2382. this.$set(this.assemblyForm, "grossWeight", Number(value).toFixed(3));
  2383. }
  2384. },
  2385. // 详情接口
  2386. billsDetailfun() {
  2387. this.$emit("billsDetailfun");
  2388. },
  2389. dicChange(name, row) {
  2390. if (name == "cabinType") {
  2391. this.assemblyForm.cabinTypeData = null;
  2392. }
  2393. if (name == "shippingAgencyCname") {
  2394. if (row) {
  2395. this.assemblyForm.shippingAgencyId = row.id;
  2396. this.assemblyForm.shippingAgencyEname = row.enName;
  2397. } else {
  2398. this.assemblyForm.shippingAgencyId = null;
  2399. this.assemblyForm.shippingAgencyEname = null;
  2400. this.assemblyForm.shippingAgencyCname = null;
  2401. }
  2402. }
  2403. if (name == "operatorName") {
  2404. if (row) {
  2405. this.assemblyForm.operatorName = row.realName;
  2406. this.assemblyForm.operatorId = row.id;
  2407. } else {
  2408. this.assemblyForm.operatorName = null;
  2409. this.assemblyForm.operatorId = null;
  2410. }
  2411. }
  2412. if (name == "customerServiceName") {
  2413. if (row) {
  2414. this.assemblyForm.customerServiceName = row.realName;
  2415. this.assemblyForm.customerServiceId = row.id;
  2416. } else {
  2417. this.assemblyForm.customerServiceName = null;
  2418. this.assemblyForm.customerServiceId = null;
  2419. }
  2420. }
  2421. if (name == "branchName") {
  2422. if (row) {
  2423. this.assemblyForm.branchId = row.id;
  2424. this.saveLocalCurrency(row.id);
  2425. } else {
  2426. this.assemblyForm.branchId = null;
  2427. this.assemblyForm.branchName = null;
  2428. }
  2429. }
  2430. },
  2431. // 远程搜索
  2432. remoteMethod(value, name) {
  2433. let arr = ["hshipper", "hconsignee", "hnotify", "hnotify2", "bookingAgent", "foreignAgency"];
  2434. let portArr = ["placeReceipt", "pol", "pod", "destination", "placeDelivery", "pot"];
  2435. let payplaceArr = ["issueAt"];
  2436. if (arr.indexOf(name) != -1) {
  2437. this[name + "BcorpsListfun"](value);
  2438. }
  2439. // 港口
  2440. else if (portArr.indexOf(name) != -1) {
  2441. this[name + "BportsListfun"](value);
  2442. }
  2443. // 场站
  2444. else if (name == "cy") {
  2445. this.cyBcorpslistByType(value);
  2446. }
  2447. // 场站联系人
  2448. else if (name == "cyContacts") {
  2449. this.cyBcorpsattnListfun();
  2450. } else if (name == "podCyCnName") {
  2451. this.cyBcorpslistByType2(value);
  2452. }
  2453. // 场站联系人
  2454. else if (name == "podCyContacts") {
  2455. this.cyBcorpsattnListfun2();
  2456. }
  2457. // 码头
  2458. else if (name == "portTerminalCyCnName") {
  2459. this.cyBcorpslistByType3();
  2460. }
  2461. //联系人
  2462. else if (name == "portTerminalCyContacts") {
  2463. this.cyBcorpsattnListfun3();
  2464. }
  2465. // 货物
  2466. // else if (name == 'commodity') {
  2467. // this.commodityBcommodityListfun(value)
  2468. // }
  2469. // 包装
  2470. else if (name == "packingUnit") {
  2471. // if (this.assemblyForm.containersList && this.assemblyForm.containersList.length) {
  2472. // this.$alert('当前数据已经均分箱量,请撤销之后再修改', '提示', {
  2473. // confirmButtonText: '确定',
  2474. // });
  2475. // this.$nextTick(() => {
  2476. // this.$refs.packingUnit.blur()
  2477. // this.$refs.quantityRef.blur()
  2478. // this.$refs.grossWeightRef.blur()
  2479. // this.$refs.measurementRef.blur()
  2480. // })
  2481. // return
  2482. // }
  2483. this.packingUnitBpackagesListfun(value);
  2484. }
  2485. // 船名
  2486. else if (name == "vessel") {
  2487. this.vesselBvesselsListfun(value);
  2488. }
  2489. // 船公司
  2490. else if (name == "carrier") {
  2491. this.carrierBcorpslistByTypefun(value);
  2492. }
  2493. // 航线
  2494. else if (name == "line") {
  2495. this.lineBlinesListfun(value);
  2496. }
  2497. // COLOADER
  2498. else if (name == "coloaderCnName") {
  2499. this.bcorpstypedefineListfun(value);
  2500. } else if (name == "serviceTerms") {
  2501. this.serviceTermsWorkDicts();
  2502. } else if (name == "bookingAgent") {
  2503. this.bookingAgentBcorpsListfun(value);
  2504. } else if (payplaceArr.indexOf(name) != -1) {
  2505. this[name + "BportsListfun"](value);
  2506. }
  2507. },
  2508. // 选择框的回调
  2509. corpChange(value, name) {
  2510. console.log("corpChange", value, name);
  2511. let arr = ["hshipper", "hconsignee", "hnotify", "hnotify2"];
  2512. let portArr = ["placeReceipt", "destination", "placeDelivery"];
  2513. let cnPorArr = ["pol", "pod", "pot"];
  2514. if (arr.indexOf(name) != -1) {
  2515. if (!value) {
  2516. // this.$set(this.assemblyForm.detail, name + 'Id', '')
  2517. this.$set(this.assemblyForm.detail, name + "Id", "");
  2518. this.$set(this.assemblyForm.detail, name + "CnName", "");
  2519. this.$set(this.assemblyForm.detail, name + "EnName", "");
  2520. this.$set(this.assemblyForm.detail, name + "Code", "");
  2521. this.$set(this.assemblyForm.detail, name + "Details", "");
  2522. this.$set(this.assemblyForm.detail, name + "CntyName", "");
  2523. this.$set(this.assemblyForm.detail, name + "CntyCode", "");
  2524. }
  2525. for (let item of this[name + "Data"]) {
  2526. if (item.cnName == value) {
  2527. console.log(item.cntyCode, 1231231);
  2528. this.$set(this.assemblyForm.detail, name + "Id", item.id);
  2529. this.$set(this.assemblyForm.detail, name + "CnName", item.cnName);
  2530. this.$set(this.assemblyForm.detail, name + "EnName", item.enName);
  2531. this.$set(this.assemblyForm.detail, name + "Code", item.code);
  2532. // this.$set(this.assemblyForm,name + 'Details',item.details)
  2533. if (!this.assemblyForm[name + "Details"]) {
  2534. this.$set(this.assemblyForm.detail, name + "Details", item.details);
  2535. }
  2536. // 国家名称
  2537. this.$set(this.assemblyForm.detail, name + "CntyName", item.cntyName);
  2538. // 国家代码
  2539. this.$set(this.assemblyForm.detail, name + "CntyCode", item.cntyCode);
  2540. }
  2541. }
  2542. }
  2543. // 有中文名称的港口
  2544. else if (cnPorArr.indexOf(name) != -1) {
  2545. if (!value) {
  2546. this.$set(this.assemblyForm, name + "Id", "");
  2547. this.$set(this.assemblyForm, name + "CnName", "");
  2548. this.$set(this.assemblyForm, name + "EnName", "");
  2549. this.$set(this.assemblyForm, name + "Code", "");
  2550. this.$set(this.assemblyForm, name + "NamePrint", "");
  2551. }
  2552. for (let item of this[name + "Data"]) {
  2553. if (item.enName == value) {
  2554. this.$set(this.assemblyForm, name + "Id", item.id);
  2555. this.$set(this.assemblyForm, name + "CnName", item.cnName);
  2556. this.$set(this.assemblyForm, name + "EnName", item.enName);
  2557. this.$set(this.assemblyForm, name + "Code", item.code);
  2558. if (this.assemblyForm[name + "NamePrint"]) {
  2559. this.$confirm("是否覆盖内容?", "提示", {
  2560. confirmButtonText: "确定",
  2561. cancelButtonText: "取消",
  2562. type: "warning"
  2563. })
  2564. .then(() => {
  2565. this.$set(this.assemblyForm, name + "NamePrint", item.enName);
  2566. this.$refs[name].$refs.mySelect.blur();
  2567. })
  2568. .catch(() => {
  2569. this.$refs[name].$refs.mySelect.blur();
  2570. });
  2571. } else {
  2572. this.$set(this.assemblyForm, name + "NamePrint", item.enName);
  2573. }
  2574. // 签单地点 默认 装货港
  2575. if (name == "pol") {
  2576. this.$set(this.assemblyForm, "issueAt", this.assemblyForm.polEnName);
  2577. this.$set(this.assemblyForm, "issueAtId", this.assemblyForm.polId);
  2578. }
  2579. // // 选择卸货港带出目的地
  2580. // if(name == 'pod') {
  2581. // this.$set(this.assemblyForm,'destinationId',item.id)
  2582. // this.$set(this.assemblyForm,'destinationName',item.enName)
  2583. // this.$set(this.assemblyForm,'destinationCode',item.code)
  2584. // this.$set(this.assemblyForm,'destinationNamePrint',item.enName)
  2585. // }
  2586. }
  2587. }
  2588. } else if (name == "foreignAgency") {
  2589. if (!value) {
  2590. // this.$set(this.assemblyForm.detail, name + 'Id', '')
  2591. this.$set(this.assemblyForm, name + "Id", "");
  2592. this.$set(this.assemblyForm, name + "CnName", "");
  2593. this.$set(this.assemblyForm, name + "EnName", "");
  2594. this.$set(this.assemblyForm, name + "Code", "");
  2595. this.$set(this.assemblyForm, name + "Details", "");
  2596. this.$set(this.assemblyForm, name + "CntyName", "");
  2597. this.$set(this.assemblyForm, name + "CntyCode", "");
  2598. }
  2599. for (let item of this[name + "Data"]) {
  2600. if (item.cnName == value) {
  2601. console.log(item.cntyCode, 1231231);
  2602. this.$set(this.assemblyForm, name + "Id", item.id);
  2603. this.$set(this.assemblyForm, name + "CnName", item.cnName);
  2604. this.$set(this.assemblyForm, name + "EnName", item.enName);
  2605. this.$set(this.assemblyForm, name + "Code", item.code);
  2606. // this.$set(this.assemblyForm,name + 'Details',item.details)
  2607. this.$set(this.assemblyForm, name + "Details", item.details);
  2608. // 国家名称
  2609. this.$set(this.assemblyForm, name + "CntyName", item.cntyName);
  2610. // 国家代码
  2611. this.$set(this.assemblyForm, name + "CntyCode", item.cntyCode);
  2612. }
  2613. }
  2614. }
  2615. // 没有中文名的港口
  2616. else if (portArr.indexOf(name) != -1) {
  2617. console.log(name);
  2618. if (!value) {
  2619. this.$set(this.assemblyForm, name + "Id", "");
  2620. this.$set(this.assemblyForm, name + "Name", "");
  2621. this.$set(this.assemblyForm, name + "Code", "");
  2622. this.$set(this.assemblyForm, name + "NamePrint", "");
  2623. }
  2624. for (let item of this[name + "Data"]) {
  2625. if (item.enName == value) {
  2626. this.$set(this.assemblyForm, name + "Id", item.id);
  2627. this.$set(this.assemblyForm, name + "Name", item.enName);
  2628. this.$set(this.assemblyForm, name + "Code", item.code);
  2629. // this.$set(this.assemblyForm, name + "NamePrint", item.enName);
  2630. if (this.assemblyForm[name + "NamePrint"]) {
  2631. this.$confirm("是否覆盖内容?", "提示", {
  2632. confirmButtonText: "确定",
  2633. cancelButtonText: "取消",
  2634. type: "warning"
  2635. })
  2636. .then(() => {
  2637. this.$set(this.assemblyForm, name + "NamePrint", item.enName);
  2638. this.$refs[name].$refs.mySelect.blur();
  2639. })
  2640. .catch(() => {
  2641. this.$refs[name].$refs.mySelect.blur();
  2642. });
  2643. } else {
  2644. this.$set(this.assemblyForm, name + "NamePrint", item.enName);
  2645. }
  2646. }
  2647. }
  2648. }
  2649. // else if (name == 'commodity') {
  2650. // if (!value) {
  2651. // this.$set(this.assemblyForm,'hscode','')
  2652. // this.$set(this.assemblyForm,'commodityShName','')
  2653. // this.$set(this.assemblyForm,'commodityCnName','')
  2654. // this.$set(this.assemblyForm,'commodityEnName','')
  2655. // }
  2656. // for(let item of this[name + 'Data']) {
  2657. // if (item.hsCode == value) {
  2658. // this.$set(this.assemblyForm,'hscode',item.hsCode)
  2659. // this.$set(this.assemblyForm,'commodityShName',item.cnName)
  2660. // this.$set(this.assemblyForm,'commodityCnName',item.cnName)
  2661. // this.$set(this.assemblyForm,'commodityEnName',item.enName)
  2662. // }
  2663. // }
  2664. // }
  2665. // 船名
  2666. else if (name == "vessel") {
  2667. if (!value) {
  2668. this.$set(this.assemblyForm, "vesselId", "");
  2669. this.$set(this.assemblyForm, "vesselCnName", "");
  2670. this.$set(this.assemblyForm, "vesselEnName", "");
  2671. }
  2672. if (this[name + "Data"].length == 0) {
  2673. this.$set(this.assemblyForm, "vesselId", null);
  2674. this.$set(this.assemblyForm, "vesselCnName", value);
  2675. this.$set(this.assemblyForm, "vesselEnName", value);
  2676. }
  2677. for (let item of this[name + "Data"]) {
  2678. if (item.enName == value) {
  2679. this.$set(this.assemblyForm, "vesselId", item.id);
  2680. this.$set(this.assemblyForm, "vesselCnName", item.cnName);
  2681. this.$set(this.assemblyForm, "vesselEnName", item.enName);
  2682. }
  2683. }
  2684. }
  2685. // 船公司
  2686. else if (name == "carrier") {
  2687. if (!value) {
  2688. this.$set(this.assemblyForm, "carrierId", "");
  2689. this.$set(this.assemblyForm, "carrierShortName", "");
  2690. this.$set(this.assemblyForm, "carrierCnName", "");
  2691. this.$set(this.assemblyForm, "carrierEnName", "");
  2692. this.$set(this.assemblyForm, "carrierCode", "");
  2693. this.$set(this.assemblyForm, "carrierArgreementNo", "");
  2694. this.$set(this.assemblyForm, "bookingAgentId", "");
  2695. this.$set(this.assemblyForm, "bookingAgentEnName", "");
  2696. this.$set(this.assemblyForm, "bookingAgentCnName", "");
  2697. this.$set(this.assemblyForm, "bookingRemarks", "");
  2698. }
  2699. for (let item of this[name + "Data"]) {
  2700. if (item.cnName == value) {
  2701. console.log(item);
  2702. this.$set(this.assemblyForm, "carrierId", item.id);
  2703. this.$set(this.assemblyForm, "carrierShortName", item.shortName ? item.shortName : item.cnName);
  2704. this.$set(this.assemblyForm, "carrierCnName", item.cnName);
  2705. this.$set(this.assemblyForm, "carrierEnName", item.enName);
  2706. this.$set(this.assemblyForm, "carrierCode", item.code);
  2707. this.$set(this.assemblyForm, "carrierArgreementNo", item.carrierArgreementNo);
  2708. this.$set(this.assemblyForm, "bookingAgentId", item.bookingAgentId);
  2709. this.$set(this.assemblyForm, "bookingAgentEnName", item.bookingAgentEnName);
  2710. this.$set(this.assemblyForm, "bookingAgentCnName", item.bookingAgentCnName);
  2711. this.$set(this.assemblyForm, "bookingRemarks", item.bookingRemarks);
  2712. }
  2713. }
  2714. }
  2715. // 包装
  2716. else if (name == "packingUnit") {
  2717. if (!value) {
  2718. this.$set(this.assemblyForm, "packingUnitId", "");
  2719. this.$set(this.assemblyForm, "packingUnit", "");
  2720. }
  2721. for (let item of this[name + "Data"]) {
  2722. if (item.cnName == value) {
  2723. this.$set(this.assemblyForm, "packingUnitId", item.id);
  2724. this.$set(this.assemblyForm, "packingUnit", item.cnName);
  2725. }
  2726. }
  2727. }
  2728. // 订舱代理
  2729. else if (name == "bookingAgent") {
  2730. if (!value) {
  2731. this.$set(this.assemblyForm, "bookingAgentId", "");
  2732. this.$set(this.assemblyForm, "bookingAgentCnName", "");
  2733. this.$set(this.assemblyForm, "bookingAgentEnName", "");
  2734. this.$set(this.assemblyForm, "bookingRemarks", "");
  2735. }
  2736. for (let item of this[name + "Data"]) {
  2737. if (item.cnName == value) {
  2738. this.$set(this.assemblyForm, "bookingAgentId", item.id);
  2739. this.$set(this.assemblyForm, "bookingAgentCnName", item.cnName);
  2740. this.$set(this.assemblyForm, "bookingAgentEnName", item.enName);
  2741. this.$set(this.assemblyForm, "bookingRemarks", item.remarks);
  2742. }
  2743. }
  2744. }
  2745. // 航线
  2746. else if (name == "line") {
  2747. if (!value) {
  2748. this.$set(this.assemblyForm, "lineId", "");
  2749. this.$set(this.assemblyForm, "lineCnName", "");
  2750. this.$set(this.assemblyForm, "lineEnName", "");
  2751. }
  2752. for (let item of this[name + "Data"]) {
  2753. if (item.cnName == value) {
  2754. this.$set(this.assemblyForm, "lineId", item.id);
  2755. this.$set(this.assemblyForm, "lineCnName", item.cnName);
  2756. this.$set(this.assemblyForm, "lineEnName", item.enName);
  2757. }
  2758. }
  2759. }
  2760. // COLOADER
  2761. else if (name == "coloaderCnName") {
  2762. if (!value) {
  2763. this.$set(this.assemblyForm, "coloaderId", "");
  2764. this.$set(this.assemblyForm, "coloaderCnName", "");
  2765. this.$set(this.assemblyForm, "coloaderEnName", "");
  2766. }
  2767. for (let item of this.coloaderCnNameData) {
  2768. if (item.cnName == value) {
  2769. this.$set(this.assemblyForm, "coloaderId", item.id);
  2770. this.$set(this.assemblyForm, "coloaderCnName", item.cnName);
  2771. this.$set(this.assemblyForm, "coloaderEnName", item.enName);
  2772. }
  2773. }
  2774. } else if (name == "cargoType") {
  2775. this.$set(this.assemblyForm, "cargoType", value ? value : "");
  2776. if (value == "danger") {
  2777. // 危险品
  2778. this.DangerousGoodsAdd();
  2779. }
  2780. } else if (name == "cy") {
  2781. if (!value) {
  2782. this.$set(this.assemblyForm, "cyId", "");
  2783. this.$set(this.assemblyForm, "cyCode", "");
  2784. this.$set(this.assemblyForm, "cyShortName", "");
  2785. this.$set(this.assemblyForm, "cyCnName", "");
  2786. this.$set(this.assemblyForm, "cyEnName", "");
  2787. // this.$set(this.assemblyForm, "cyRemarks", "");
  2788. // 联系人
  2789. this.$set(this.assemblyForm, "cyTel", "");
  2790. this.$set(this.assemblyForm, "cyAddress", "");
  2791. this.$set(this.assemblyForm, "cyContacts", "");
  2792. }
  2793. for (let item of this.cyData) {
  2794. if (item.cnName == value) {
  2795. console.log(item);
  2796. this.$set(this.assemblyForm, "cyId", item.id);
  2797. this.$set(this.assemblyForm, "cyCode", item.code);
  2798. this.$set(this.assemblyForm, "cyShortName", item.shortName ? item.shortName : item.cnName);
  2799. this.$set(this.assemblyForm, "cyCnName", item.cnName);
  2800. this.$set(this.assemblyForm, "cyEnName", item.enName);
  2801. // this.$set(this.assemblyForm, "cyRemarks", item.details); // 客户里的详情信息
  2802. // 查询场站联系人
  2803. getBcorpsattnList(1, 20, { pid: this.assemblyForm.cyId }).then(res => {
  2804. if (res.data.data.records.length > 0) {
  2805. this.$set(this.assemblyForm, "cyTel", res.data.data.records[0].tel);
  2806. this.$set(this.assemblyForm, "cyAddress", res.data.data.records[0].addr);
  2807. this.$set(this.assemblyForm, "cyContacts", res.data.data.records[0].cname);
  2808. }
  2809. });
  2810. }
  2811. }
  2812. } else if (name == "podCyCnName") {
  2813. if (!value) {
  2814. this.$set(this.assemblyForm, "podCyId", "");
  2815. this.$set(this.assemblyForm, "podCyCode", "");
  2816. this.$set(this.assemblyForm, "podCyCnName", "");
  2817. this.$set(this.assemblyForm, "podCyEnName", "");
  2818. // 联系人
  2819. this.$set(this.assemblyForm, "podCyTel", "");
  2820. this.$set(this.assemblyForm, "podCyAddress", "");
  2821. this.$set(this.assemblyForm, "podCyContacts", "");
  2822. }
  2823. for (let item of this.podCyData) {
  2824. if (item.cnName == value) {
  2825. console.log(item);
  2826. this.$set(this.assemblyForm, "podCyId", item.id);
  2827. this.$set(this.assemblyForm, "podCyCode", item.code);
  2828. // this.$set(this.assemblyForm, 'cyShortName', item.shortName ? item.shortName : item.cnName)
  2829. this.$set(this.assemblyForm, "podCyCnName", item.cnName);
  2830. this.$set(this.assemblyForm, "podCyEnName", item.enName);
  2831. // this.$set(this.assemblyForm, 'cyRemarks', item.details) // 客户里的详情信息
  2832. // 查询场站联系人
  2833. getBcorpsattnList(1, 20, { pid: this.assemblyForm.podCyId }).then(res => {
  2834. if (res.data.data.records.length > 0) {
  2835. this.$set(this.assemblyForm, "podCyTel", res.data.data.records[0].tel);
  2836. this.$set(this.assemblyForm, "podCyAddress", res.data.data.records[0].addr);
  2837. this.$set(this.assemblyForm, "podCyContacts", res.data.data.records[0].cname);
  2838. }
  2839. });
  2840. }
  2841. }
  2842. } else if (name == "portTerminalCyCnName") {
  2843. if (!value) {
  2844. this.$set(this.assemblyForm, "portTerminalCyId", "");
  2845. this.$set(this.assemblyForm, "portTerminalCyCode", "");
  2846. this.$set(this.assemblyForm, "portTerminalCyCnName", "");
  2847. this.$set(this.assemblyForm, "portTerminalCyEnName", "");
  2848. // 联系人
  2849. this.$set(this.assemblyForm, "portTerminalCyTel", "");
  2850. this.$set(this.assemblyForm, "portTerminalCyAddress", "");
  2851. this.$set(this.assemblyForm, "portTerminalCyContacts", "");
  2852. }
  2853. for (let item of this.portTerminalData) {
  2854. if (item.cnName == value) {
  2855. this.$set(this.assemblyForm, "portTerminalCyId", item.id);
  2856. this.$set(this.assemblyForm, "portTerminalCyCode", item.code);
  2857. this.$set(this.assemblyForm, "portTerminalCyCnName", item.cnName);
  2858. this.$set(this.assemblyForm, "portTerminalCyEnName", item.enName);
  2859. // 查询场站联系人
  2860. getBcorpsattnList(1, 20, { pid: this.assemblyForm.portTerminalCyId }).then(res => {
  2861. if (res.data.data.records.length > 0) {
  2862. this.$set(this.assemblyForm, "portTerminalCyTel", res.data.data.records[0].tel);
  2863. this.$set(this.assemblyForm, "portTerminalCyAddress", res.data.data.records[0].addr);
  2864. this.$set(this.assemblyForm, "portTerminalCyContacts", res.data.data.records[0].cname);
  2865. }
  2866. });
  2867. }
  2868. }
  2869. }
  2870. // 场站联系人
  2871. else if (name == "cyContacts") {
  2872. if (!value) {
  2873. this.$set(this.assemblyForm, "cyTel", "");
  2874. this.$set(this.assemblyForm, "cyAddress", "");
  2875. this.$set(this.assemblyForm, "cyContacts", "");
  2876. }
  2877. for (let item of this.cyContactsData) {
  2878. if (item.cname == value) {
  2879. this.$set(this.assemblyForm, "cyTel", item.tel);
  2880. this.$set(this.assemblyForm, "cyAddress", item.addr);
  2881. this.$set(this.assemblyForm, "cyContacts", item.cname);
  2882. }
  2883. }
  2884. } else if (name == "podCyContacts") {
  2885. if (!value) {
  2886. this.$set(this.assemblyForm, "podCyTel", "");
  2887. this.$set(this.assemblyForm, "podCyAddress", "");
  2888. this.$set(this.assemblyForm, "podCyContacts", "");
  2889. }
  2890. for (let item of this.podCyCnNameData) {
  2891. if (item.cname == value) {
  2892. this.$set(this.assemblyForm, "podCyTel", item.tel);
  2893. this.$set(this.assemblyForm, "podCyAddress", item.addr);
  2894. this.$set(this.assemblyForm, "podCyContacts", item.cname);
  2895. }
  2896. }
  2897. } else if (name == "portTerminalCyContacts") {
  2898. if (!value) {
  2899. this.$set(this.assemblyForm, "portTerminalCyTel", "");
  2900. this.$set(this.assemblyForm, "portTerminalCyAddress", "");
  2901. this.$set(this.assemblyForm, "portTerminalCyContacts", "");
  2902. }
  2903. for (let item of this.portTerminalCyContactsData) {
  2904. if (item.cname == value) {
  2905. this.$set(this.assemblyForm, "portTerminalCyTel", item.tel);
  2906. this.$set(this.assemblyForm, "portTerminalCyAddress", item.addr);
  2907. this.$set(this.assemblyForm, "portTerminalCyContacts", item.cname);
  2908. }
  2909. }
  2910. } else if (name == "issueAt") {
  2911. for (let item of this.issueAtData) {
  2912. if (item.enName == value) {
  2913. this.$set(this.assemblyForm, "issueAt", item.enName);
  2914. this.$set(this.assemblyForm, "issueAtId", item.id);
  2915. }
  2916. }
  2917. } else {
  2918. this.$set(this.assemblyForm, name, value ? value : "");
  2919. }
  2920. },
  2921. // 签单地点
  2922. issueAtBportsListfun(enName) {
  2923. bportsList(1, 10, { enName, status: 0 }).then(res => {
  2924. this.issueAtData = res.data.data.records;
  2925. });
  2926. },
  2927. // 通知人添加第二个通知人弹窗
  2928. hnotifyClick() {
  2929. if (this.detailData.seeDisabled) {
  2930. return;
  2931. }
  2932. this.hnotify2Visible = true;
  2933. },
  2934. // 第二通知人弹窗的清除
  2935. hnotify2Cancellation(name) {
  2936. let title = "";
  2937. if (name == "清除") {
  2938. title = "确认清除吗?";
  2939. }
  2940. this.$confirm(title)
  2941. .then(_ => {
  2942. this.$set(this.assemblyForm, "hnotify2Id", "");
  2943. this.$set(this.assemblyForm, "hnotify2CnName", "");
  2944. this.$set(this.assemblyForm, "hnotify2EnName", "");
  2945. this.$set(this.assemblyForm, "hnotify2Code", "");
  2946. this.$set(this.assemblyForm, "hnotify2Details", "");
  2947. this.$set(this.assemblyForm, "hnotify2CntyName", "");
  2948. this.$set(this.assemblyForm, "hnotify2CntyCode", "");
  2949. this.hnotify2Visible = false;
  2950. })
  2951. .catch(_ => {});
  2952. },
  2953. // 通知人
  2954. hnotify2HandleClose(done) {
  2955. done();
  2956. },
  2957. // 危险品弹窗开启
  2958. DangerousGoodsAdd() {
  2959. if (this.assemblyForm.cargoType == "danger") {
  2960. this.dgVisible = true;
  2961. } else {
  2962. this.$message({
  2963. message: "请选择货物为危险品",
  2964. type: "warning"
  2965. });
  2966. }
  2967. },
  2968. // 危险品弹窗的清除
  2969. dgCancellation(name) {
  2970. let title = "";
  2971. if (name == "清除") {
  2972. title = "确认清除吗?";
  2973. }
  2974. this.$confirm(title)
  2975. .then(_ => {
  2976. this.$set(this.assemblyForm, "dgImdgCode", "");
  2977. this.$set(this.assemblyForm, "dgUnCode", "");
  2978. this.$set(this.assemblyForm, "dgPackingLevel", "0");
  2979. this.$set(this.assemblyForm, "dgFlashPoint", "");
  2980. this.$set(this.assemblyForm, "dgFlashPointUnit", "");
  2981. this.$set(this.assemblyForm, "dgContacts", "");
  2982. this.$set(this.assemblyForm, "dgTel", "");
  2983. this.$set(this.assemblyForm, "dgIsMarinePollutant", "");
  2984. this.dgVisible = false;
  2985. })
  2986. .catch(_ => {});
  2987. },
  2988. handleInput(event, name) {
  2989. console.log(event, 1231);
  2990. // 2E80-2EFF CJK 部首补充 2F00-2FDF 康熙字典部首
  2991. // 3000-303F CJK 符号和标点 31C0-31EF CJK 笔画
  2992. // 3200-32FF 封闭式 CJK 文字和月份 3300-33FF CJK 兼容
  2993. // 3400-4DBF CJK 统一表意符号扩展 A 4DC0-4DFF 易经六十四卦符号
  2994. // 4E00-9FBF CJK 统一表意符号 F900-FAFF CJK 兼容象形文字
  2995. // FE30-FE4F CJK 兼容形式 FF00-FFEF 全角ASCII、全角标点
  2996. // 匹配中文字符
  2997. // 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, '')
  2998. // this.assemblyForm[name] = a
  2999. },
  3000. // text文本框input
  3001. textareaBlur(name) {
  3002. console.log(name, 1160);
  3003. // if (this.assemblyForm[name].length > (35 * 5)) {
  3004. // this.$message({
  3005. // message: '输入的字体已经超出五行',
  3006. // type: 'warning'
  3007. // });
  3008. // }
  3009. let arr = ["hshipperDetails", "hconsigneeDetails", "hnotifyDetails", "hnotify2Details", "foreignAgencyDetails"];
  3010. if (arr.indexOf(name) != -1) {
  3011. this.assemblyForm.detail[name] = _.toUpper(this.assemblyForm.detail[name]).replace(/\n+/g, '\n');
  3012. }
  3013. let arr2 = ["marks", "commodityDescr", "bookingRemarks", "siRemarks", "forwarding", "remarks", "cyRemarks"];
  3014. if (arr2.indexOf(name) != -1) {
  3015. this.assemblyForm[name] = _.toUpper(this.assemblyForm[name]).replace(/\n+/g, '\n');
  3016. }
  3017. let arr3 = "placeReceiptNamePrint,polNamePrint,podNamePrint,destinationNamePrint,placeDeliveryNamePrint,potNamePrint".split(",");
  3018. if (arr3.indexOf(name) != -1) {
  3019. this.assemblyForm[name] = _.toUpper(this.assemblyForm[name]).replace(/\n+/g, '\n');
  3020. }
  3021. // this.assemblyForm[name] = textareaWrap(this.assemblyForm[name])
  3022. },
  3023. // 同通知人
  3024. notifybyfun() {
  3025. if (this.detailData.seeDisabled) {
  3026. return;
  3027. }
  3028. this.$set(this.assemblyForm.detail, "hnotifyId", this.assemblyForm.detail.hconsigneeId);
  3029. this.$set(this.assemblyForm.detail, "hnotifyCnName", this.assemblyForm.detail.hconsigneeCnName);
  3030. this.$set(this.assemblyForm.detail, "hnotifyEnName", this.assemblyForm.detail.hconsigneeEnName);
  3031. this.$set(this.assemblyForm.detail, "hnotifyCode", this.assemblyForm.detail.hconsigneeCode);
  3032. this.$set(this.assemblyForm.detail, "hnotifyDetails", this.assemblyForm.detail.hconsigneeDetails);
  3033. this.$set(this.assemblyForm.detail, "hnotifyCntyName", this.assemblyForm.detail.hconsigneeCntyName);
  3034. this.$set(this.assemblyForm.detail, "hnotifyCntyCode", this.assemblyForm.detail.hconsigneeCntyCode);
  3035. },
  3036. // 邮箱跳转
  3037. emailJump(name) {
  3038. let value = null;
  3039. if (this.detailData.seeDisabled) {
  3040. return;
  3041. }
  3042. if (name == "cy") {
  3043. if (!this.assemblyForm.cyId) {
  3044. this.$message({
  3045. message: "请先选择场站",
  3046. type: "warning"
  3047. });
  3048. return;
  3049. }
  3050. value = this.assemblyForm.cyId;
  3051. }
  3052. if (name == "carrier") {
  3053. if (!this.assemblyForm.carrierId) {
  3054. this.$message({
  3055. message: "请先选择船公司",
  3056. type: "warning"
  3057. });
  3058. return;
  3059. }
  3060. value = this.assemblyForm.carrierId;
  3061. }
  3062. // 调详情获取邮箱
  3063. getBcorpsDetail(value).then(res => {
  3064. let email = res.data.data.email.split("@")[1]; // 取@符号后面的数据
  3065. for (let i in this.emailhash) {
  3066. if (email == i) {
  3067. // 跳转打开一个新的页面
  3068. window.open(this.emailhash[i], "_blank");
  3069. }
  3070. }
  3071. });
  3072. },
  3073. // 添加跳转
  3074. addJump(name) {
  3075. let corpTypeName = "国内直接客户,国内同行及代理,国外直接客户,国外同行及代理";
  3076. if (this.$store.getters.CorrespondenceUnitslos) {
  3077. this.$alert("往来单位已存在,请保存关闭再进行操作", "温馨提示", {
  3078. confirmButtonText: "确定",
  3079. type: "warning",
  3080. callback: action => {
  3081. console.log(action);
  3082. }
  3083. });
  3084. return;
  3085. }
  3086. this.$router.$avueRouter.closeTag("/iosBasicData/bcorps/index");
  3087. this.$router.push({
  3088. path: "/iosBasicData/bcorps/index",
  3089. query: {
  3090. corpType: corpTypeName
  3091. }
  3092. });
  3093. },
  3094. // 接口数据请求🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏
  3095. // 获取场站数据
  3096. cyBcorpslistByType(cnName) {
  3097. let corpTypeName = "场站";
  3098. getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
  3099. this.cyData = res.data.data.records;
  3100. });
  3101. },
  3102. cyBcorpslistByType2(cnName) {
  3103. let corpTypeName = "场站";
  3104. getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
  3105. this.podCyData = res.data.data.records;
  3106. });
  3107. },
  3108. cyBcorpslistByType3(cnName) {
  3109. let corpTypeName = "码头";
  3110. getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
  3111. this.portTerminalData = res.data.data.records;
  3112. });
  3113. },
  3114. // 获取场站下的联系人数据
  3115. cyBcorpsattnListfun() {
  3116. getBcorpsattnList(1, 20, { pid: this.assemblyForm.cyId }).then(res => {
  3117. this.cyContactsData = res.data.data.records;
  3118. });
  3119. },
  3120. cyBcorpsattnListfun2() {
  3121. getBcorpsattnList(1, 20, { pid: this.assemblyForm.podCyId }).then(res => {
  3122. this.podCyCnNameData = res.data.data.records;
  3123. });
  3124. },
  3125. cyBcorpsattnListfun3() {
  3126. getBcorpsattnList(1, 20, { pid: this.assemblyForm.portTerminalCyId }).then(res => {
  3127. this.portTerminalCyContactsData = res.data.data.records;
  3128. });
  3129. },
  3130. foreignAgencyBcorpsListfun(cnName) {
  3131. let corpTypeName = "国外同行及代理";
  3132. getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
  3133. this.foreignAgencyData = res.data.data.records;
  3134. });
  3135. },
  3136. // 获取发货人数据 (往来单位 前四个代理)
  3137. hshipperBcorpsListfun(cnName) {
  3138. let corpTypeName = "国内直接客户,国内同行及代理,国外直接客户,国外同行及代理";
  3139. getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
  3140. this.hshipperData = res.data.data.records;
  3141. });
  3142. },
  3143. // 获取收货人数据 (往来单位 前四个代理)
  3144. hconsigneeBcorpsListfun(cnName) {
  3145. let corpTypeName = "国内直接客户,国内同行及代理,国外直接客户,国外同行及代理";
  3146. getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
  3147. this.hconsigneeData = res.data.data.records;
  3148. });
  3149. },
  3150. // 获取通知人数据 (往来单位 前四个代理)
  3151. hnotifyBcorpsListfun(cnName) {
  3152. let corpTypeName = "国内直接客户,国内同行及代理,国外直接客户,国外同行及代理";
  3153. getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
  3154. this.hnotifyData = res.data.data.records;
  3155. });
  3156. },
  3157. // 获取第二通知人数据 (往来单位 前四个代理)
  3158. hnotify2BcorpsListfun(cnName) {
  3159. let corpTypeName = "国内直接客户,国内同行及代理,国外直接客户,国外同行及代理";
  3160. getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
  3161. this.hnotify2Data = res.data.data.records;
  3162. });
  3163. },
  3164. // 收货地数据 (港口表)
  3165. placeReceiptBportsListfun(enName) {
  3166. bportsList(1, 10, { enName, status: 0 }).then(res => {
  3167. this.placeReceiptData = res.data.data.records;
  3168. });
  3169. },
  3170. // 装货港数据
  3171. polBportsListfun(enName) {
  3172. bportsList(1, 10, { enName, status: 0 }).then(res => {
  3173. this.polData = res.data.data.records;
  3174. });
  3175. },
  3176. // 卸货港数据
  3177. podBportsListfun(enName) {
  3178. bportsList(1, 10, { enName, status: 0 }).then(res => {
  3179. this.podData = res.data.data.records;
  3180. });
  3181. },
  3182. // 目的地
  3183. destinationBportsListfun(enName) {
  3184. bportsList(1, 10, { enName, status: 0 }).then(res => {
  3185. this.destinationData = res.data.data.records;
  3186. });
  3187. },
  3188. // 交货地
  3189. placeDeliveryBportsListfun(enName) {
  3190. bportsList(1, 10, { enName, status: 0 }).then(res => {
  3191. this.placeDeliveryData = res.data.data.records;
  3192. });
  3193. },
  3194. // 中转港
  3195. potBportsListfun(enName) {
  3196. bportsList(1, 10, { enName, status: 0 }).then(res => {
  3197. this.potData = res.data.data.records;
  3198. });
  3199. },
  3200. // 获取类别 COLOADER 数据
  3201. bcorpstypedefineListfun(cnName) {
  3202. let corpTypeName = "国内直接客户,国内同行及代理,国外直接客户,国外同行及代理";
  3203. getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
  3204. this.coloaderCnNameData = res.data.data.records;
  3205. });
  3206. },
  3207. // 包装数据
  3208. packingUnitBpackagesListfun(cnName) {
  3209. console.log(cnName);
  3210. bpackagesList(1, 10, { cnName, status: 0, whetherDg: 0 }).then(res => {
  3211. this.packingUnitData = res.data.data.records;
  3212. });
  3213. },
  3214. // 商品 HS-CODE (货物列表)
  3215. commodityBcommodityListfun(cnName) {
  3216. bcommodityList(1, 10, { cnName, status: 0 }).then(res => {
  3217. this.commodityData = res.data.data.records;
  3218. });
  3219. },
  3220. getHsCode() {
  3221. bcommodityList(1, 10, { status: 0 }).then(res => {
  3222. this.commodityData = res.data.data.records;
  3223. });
  3224. },
  3225. searchHsQuery(query) {
  3226. this.hsLoading = true;
  3227. setTimeout(() => {
  3228. bcommodityList(1, 10, { hsCode: query, status: 0 }).then(res => {
  3229. console.log("模糊查询");
  3230. this.commodityData = res.data.data.records;
  3231. });
  3232. this.hsLoading = false;
  3233. }, 200);
  3234. },
  3235. hsCodeChang(query) {
  3236. let obj = this.commodityData.find(e => e.hsCode == query);
  3237. if (obj) {
  3238. console.log(11111);
  3239. if (obj.hsCode == query) {
  3240. this.$set(this.assemblyForm, "commodityCnName", obj.enName);
  3241. this.$set(this.assemblyForm, "commodityEnName", obj.cnName);
  3242. }
  3243. } else {
  3244. console.log(2222);
  3245. this.$set(this.assemblyForm, "commodityCnName", "");
  3246. this.$set(this.assemblyForm, "commodityEnName", "");
  3247. }
  3248. },
  3249. // 获取船公司数据
  3250. carrierBcorpslistByTypefun(cnName) {
  3251. let corpTypeName = "船公司";
  3252. getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
  3253. this.carrierData = res.data.data.records;
  3254. });
  3255. },
  3256. // 船名
  3257. vesselBvesselsListfun(cnName) {
  3258. getBvesselsList(1, 10, { cnName, status: 0 }).then(res => {
  3259. this.vesselData = res.data.data.records;
  3260. });
  3261. },
  3262. // 订舱代理
  3263. bookingAgentBcorpsListfun(cnName) {
  3264. let corpTypeName = "国内直接客户,国内同行及代理,国外直接客户,国外同行及代理,订舱代理";
  3265. getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
  3266. this.bookingAgentData = res.data.data.records;
  3267. });
  3268. },
  3269. // 航线数据
  3270. lineBlinesListfun(cnName) {
  3271. blinesList(1, 10, { cnName, status: 0 }).then(res => {
  3272. this.lineData = res.data.data.records;
  3273. });
  3274. },
  3275. // 危险品包装等级
  3276. dgPackingLevelWorkDicts() {
  3277. getWorkDicts("dangerous_goods_grade").then(res => {
  3278. this.dgPackingLevelData = res.data.data;
  3279. });
  3280. }
  3281. }
  3282. };
  3283. </script>
  3284. <style scoped>
  3285. ::v-deep.el-form-item {
  3286. margin-bottom: 2px;
  3287. }
  3288. .addbuttonClass {
  3289. width: 30px;
  3290. height: 30px;
  3291. line-height: 27px;
  3292. color: #fff;
  3293. font-weight: 500;
  3294. font-size: 26px;
  3295. box-sizing: border-box;
  3296. border-radius: 4px;
  3297. background-color: #5995fc;
  3298. text-align: center;
  3299. }
  3300. </style>