detailsPage.vue 110 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487
  1. <template>
  2. <div>
  3. <div class="customer-head">
  4. <div class="customer-back">
  5. <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
  6. @click="goBack(0)">返回列表
  7. </el-button>
  8. </div>
  9. <div class="add-customer-btn">
  10. <el-button size="small" style="margin-right: 8px" :disabled="!form.id" @click="$refs.print.openDialog()">预 览
  11. </el-button>
  12. <el-button class="el-button--small-yh" style="margin-left: 6px;" type="primary" size="small"
  13. v-if="editButton"
  14. :disabled="showLock || !(roleName.indexOf('admin') != -1 || roleName.indexOf('允许修改他人业务') != -1 || saberUserInfo.user_id == form.createUser)"
  15. @click="inEdit">编 辑
  16. </el-button>
  17. <el-button class="el-button--small-yh" v-else style="margin-left: 6px;" type="primary" size="small"
  18. :disabled="isSaveBtn || form.status != 0" @click="submit">保 存
  19. </el-button>
  20. <el-button v-if="form.id" class="el-button--small-yh" style="margin-left: 6px;" type="success" size="small"
  21. :disabled="(form.status != 0 && form.status != 4)" @click="application">单据请核
  22. </el-button>
  23. <el-button v-if="form.status == 1" class="el-button--small-yh" style="margin-left: 6px;" type="danger"
  24. size="small" @click="revokeApplication">撤销单据请核
  25. </el-button>
  26. <el-dropdown style="line-height: 0">
  27. <el-button class="el-button--small-yh" style="margin-left: 6px;" type="warning" :disabled="!form.id"
  28. size="small">
  29. 审 批<i class="el-icon-arrow-down el-icon--right"></i>
  30. </el-button>
  31. <el-dropdown-menu slot="dropdown">
  32. <el-dropdown-item @click.native="checkScheduleDialog = true, checkId = form.id">审核进度
  33. </el-dropdown-item>
  34. </el-dropdown-menu>
  35. </el-dropdown>
  36. </div>
  37. </div>
  38. <div style="margin-top: 50px">
  39. <trade-card title="基础信息">
  40. <avue-form :option="optionForm" v-model="form" ref="form">
  41. <template slot="corpCnNameLabel">
  42. <span style="color: #1e9fff;cursor: pointer;" @click="inJump('客户')">客户:</span>
  43. </template>
  44. <template slot="hshipperCnNameLabel">
  45. <span style="color: #1e9fff;cursor: pointer;" @click="inJump('客户')">发货人:</span>
  46. </template>
  47. <template slot="hconsigneeCnNameLabel">
  48. <span style="color: #1e9fff;cursor: pointer;" @click="inJump('客户')">收货人:</span>
  49. </template>
  50. <template slot="mnotifyCntyCodeLabel">
  51. <span style="color: #1e9fff;cursor: pointer;" @click="inJump('原产地')">原产地:</span>
  52. </template>
  53. <template slot="polCnNameLabel">
  54. <span style="color: #1e9fff;cursor: pointer;" @click="inJump('港口')">起运港:</span>
  55. </template>
  56. <template slot="podCnNameLabel">
  57. <span style="color: #1e9fff;cursor: pointer;" @click="inJump('港口')">目的港:</span>
  58. </template>
  59. <template slot="vesselCnNameLabel">
  60. <span style="color: #1e9fff;cursor: pointer;" @click="inJump('船名')">船名:</span>
  61. </template>
  62. <template slot="carrierCnNameLabel">
  63. <span style="color: #1e9fff;cursor: pointer;" @click="inJump('客户')">船公司:</span>
  64. </template>
  65. <template slot="bookingAgentCnNameLabel">
  66. <span style="color: #1e9fff;cursor: pointer;" @click="inJump('客户')">船代:</span>
  67. </template>
  68. <template slot="hscodeLabel">
  69. <span style="color: #1e9fff;cursor: pointer;" @click="inJump('HSCODE')">HSCODE:</span>
  70. </template>
  71. <template slot="packingUnitLabel">
  72. <span style="color: #1e9fff;cursor: pointer;" @click="inJump('包装')">包装:</span>
  73. </template>
  74. <tempalte slot="corpCnName">
  75. <dic-select v-model="form.corpCnName" placeholder="客户" key="id" label="cnName" res="records"
  76. url="/blade-los/bcorps/listByType?corpTypeName=客户" :filterable="true" :remote="true"
  77. dataName="cnName" @selectChange="dicChange('corpCnName', $event)"
  78. :disabled="editDisabled || form.dispatchVehiclesList.findIndex(item => item.whetherDispatchVehicles == '1') !== -1"
  79. :searchShow="true"></dic-select>
  80. </tempalte>
  81. <tempalte slot="polCnName">
  82. <dic-select v-model="form.polCnName" placeholder="起运港" key="id" label="cnName" res="records"
  83. url="/blade-los/bports/list" :filterable="true" :remote="true" dataName="cnName"
  84. @selectChange="dicChange('polCnName', $event)"
  85. :disabled="editDisabled || form.dispatchVehiclesList.findIndex(item => item.whetherDispatchVehicles == '1') !== -1"
  86. :searchShow="true"></dic-select>
  87. </tempalte>
  88. <tempalte slot="podCnName">
  89. <dic-select v-model="form.podCnName" placeholder="目的港" key="id" label="cnName" res="records"
  90. url="/blade-los/bports/list" :filterable="true" :remote="true" dataName="cnName"
  91. @selectChange="dicChange('podCnName', $event)"
  92. :disabled="editDisabled || form.dispatchVehiclesList.findIndex(item => item.whetherDispatchVehicles == '1') !== -1"
  93. :searchShow="true"></dic-select>
  94. </tempalte>
  95. <!-- <tempalte slot="srcCnName">
  96. <dic-select v-model="form.srcCnName" placeholder="业务员" key="id" label="realName" res="records"
  97. url="/blade-user/page" :filterable="true" :remote="true" dataName="realName"
  98. @selectChange="dicChange('srcCnName', $event)" :disabled="editDisabled"></dic-select>
  99. </tempalte> -->
  100. <tempalte slot="srcType" slot-scope="{ row }">
  101. <div style="display: flex;">
  102. <dic-select style="margin-right: 4px;" v-model="form.srcType" placeholder="业务来源" key="dictKey"
  103. keyValue="dictKey" label="dictValue"
  104. url="/blade-system/dict-biz/dictionary?code=source_Type" :filterable="true"
  105. :disabled="editDisabled || form.dispatchVehiclesList.findIndex(item => item.whetherDispatchVehicles == '1') !== -1"
  106. @selectChange="dicChange('srcType', $event)"></dic-select>
  107. <el-input v-show="!form.srcType" v-model="form.srcCnName" placeholder="请选择" :disabled="true">
  108. </el-input>
  109. <dic-select v-show="form.srcType == 'OWN'" v-model="form.srcCnName" placeholder="所属公司" key="id"
  110. label="deptName" url="/blade-system/dept/lazy-list?parentId=0" :filterable="true"
  111. @selectChange="dicChange('srcCnName', $event)"
  112. :disabled="editDisabled || form.dispatchVehiclesList.findIndex(item => item.whetherDispatchVehicles == '1') !== -1"></dic-select>
  113. <dic-select v-show="form.srcType == 'AGENT'" v-model="form.srcCnName" placeholder="代理" key="id"
  114. label="cnName" res="records" url="/blade-los/bcorps/listByType?corpTypeName=代理客户"
  115. :filterable="true" :remote="true" dataName="cnName"
  116. @selectChange="dicChange('srcCnName', $event)"
  117. :disabled="editDisabled || form.dispatchVehiclesList.findIndex(item => item.whetherDispatchVehicles == '1') !== -1"></dic-select>
  118. <dic-select v-show="form.srcType == 'SALES'" v-model="form.srcCnName" placeholder="业务员" key="id"
  119. label="realName" res="records" url="/blade-user/page" :filterable="true" :remote="true"
  120. dataName="realName" @selectChange="dicChange('srcCnName', $event)"
  121. :disabled="editDisabled || form.dispatchVehiclesList.findIndex(item => item.whetherDispatchVehicles == '1') !== -1"></dic-select>
  122. </div>
  123. </tempalte>
  124. <tempalte slot="hshipperCnName">
  125. <dic-select v-model="form.hshipperCnName" placeholder="发货人" key="id" label="cnName" res="records"
  126. url="/blade-los/bcorps/listByType?corpTypeName=国外工厂" :filterable="true" :remote="true"
  127. dataName="cnName" @selectChange="dicChange('hshipperCnName', $event)"
  128. :disabled="editDisabled || form.dispatchVehiclesList.findIndex(item => item.whetherDispatchVehicles == '1') !== -1"
  129. :searchShow="true"></dic-select>
  130. </tempalte>
  131. <tempalte slot="hconsigneeCnName">
  132. <dic-select v-model="form.hconsigneeCnName" placeholder="收货人" key="id" label="cnName" res="records"
  133. url="/blade-los/bcorps/listByType?corpTypeName=国内贸易商" :filterable="true" :remote="true"
  134. dataName="cnName" @selectChange="dicChange('hconsigneeCnName', $event)"
  135. :disabled="editDisabled || form.dispatchVehiclesList.findIndex(item => item.whetherDispatchVehicles == '1') !== -1"
  136. :searchShow="true"></dic-select>
  137. </tempalte>
  138. <tempalte slot="carrierCnName">
  139. <dic-select v-model="form.carrierCnName" placeholder="船公司" key="id" label="cnName" res="records"
  140. url="/blade-los/bcorps/listByType?corpTypeName=船公司" :filterable="true" :remote="true"
  141. dataName="cnName" @selectChange="dicChange('carrierCnName', $event)"
  142. :disabled="editDisabled || form.dispatchVehiclesList.findIndex(item => item.whetherDispatchVehicles == '1') !== -1"></dic-select>
  143. </tempalte>
  144. <tempalte slot="bookingAgentCnName">
  145. <dic-select v-model="form.bookingAgentCnName" placeholder="船代" key="id" label="cnName" res="records"
  146. url="/blade-los/bcorps/listByType?corpTypeName=船代" :filterable="true" :remote="true"
  147. dataName="cnName" @selectChange="dicChange('bookingAgentCnName', $event)"
  148. :disabled="editDisabled || form.dispatchVehiclesList.findIndex(item => item.whetherDispatchVehicles == '1') !== -1"
  149. :searchShow="true"></dic-select>
  150. </tempalte>
  151. <!-- <template slot="hscode">
  152. <div style="display:flex;">
  153. <dic-select v-model="form.hscode" placeholder="品名" key="id" res="records" label="hsCode"
  154. url="/blade-los/bcommodity/list" :filterable="true" :remote="true" dataName="hsCode"
  155. @selectChange="dicChange('hscode', $event)"
  156. :disabled="editDisabled || form.dispatchVehiclesList.findIndex(item => item.whetherDispatchVehicles == '1') !== -1"></dic-select>
  157. <el-input style="margin-left: 10px;" v-model="form.commodityCnName" placeholder="请输入品名"
  158. :disabled="editDisabled || form.dispatchVehiclesList.findIndex(item => item.whetherDispatchVehicles == '1') !== -1"></el-input>
  159. </div>
  160. </template> -->
  161. <tempalte slot="mnotifyCntyCode" slot-scope="{ row }">
  162. <dic-select v-model="form.mnotifyCntyCode" placeholder="原产地" key="id" label="cnName" res="records"
  163. url="/blade-los/bcountrys/list" :filterable="true" :remote="true" dataName="cnName"
  164. :disabled="editDisabled || form.dispatchVehiclesList.findIndex(item => item.whetherDispatchVehicles == '1') !== -1"
  165. @selectChange="dicChange('mnotifyCntyCode', $event)" :searchShow="true"></dic-select>
  166. </tempalte>
  167. </avue-form>
  168. </trade-card>
  169. <trade-card title="箱信息">
  170. <avue-crud :option="option" :data="form.preContainersList" id="out-table" ref="crud"
  171. @selection-change="selectionChange" @resetColumn="resetColumn('crud', 'option', 'optionBack', 388)"
  172. @saveColumn="saveColumn('crud', 'option', 'optionBack', 388)">
  173. <template slot="indexHeader" slot-scope="{row,index}">
  174. <el-button type="primary" size="mini" icon="el-icon-plus"
  175. :disabled="editDisabled || form.dispatchVehiclesList.findIndex(item => item.whetherDispatchVehicles == '1') !== -1"
  176. circle @click="addRow()">
  177. </el-button>
  178. </template>
  179. <template slot="cntrTypeCodeHeader" slot-scope="{column}">
  180. <span style="color: #1e9fff;cursor: pointer;" @click="inJump('箱型')">{{ (column || {}).label
  181. }}</span>
  182. </template>
  183. <template slot="goodsNameHeader" slot-scope="{column}">
  184. <span style="color: #1e9fff;cursor: pointer;" @click="inJump('HSCODE')">{{ (column || {}).label
  185. }}</span>
  186. </template>
  187. <template slot="hsCodeHeader" slot-scope="{column}">
  188. <span style="color: #1e9fff;cursor: pointer;" @click="inJump('HSCODE')">{{ (column || {}).label
  189. }}</span>
  190. </template>
  191. <template slot="goodsTypeHeader" slot-scope="{column}">
  192. <span style="color: #1e9fff;cursor: pointer;" @click="inJump('类型')">{{ (column || {}).label
  193. }}</span>
  194. </template>
  195. <template slot="index" slot-scope="{row,index}">
  196. <span>{{ index + 1 }}</span>
  197. </template>
  198. <template slot="cntrTypeCode" slot-scope="{ row }">
  199. <dic-select v-if="row.$cellEdit && !row.srcId" v-model="row.cntrTypeCode" placeholder="箱型" key="id"
  200. res="records" label="cnName" url="/blade-los/bcntrtypes/list" :filterable="true" :remote="true"
  201. dataName="cnName"></dic-select>
  202. <span v-else>{{ row.cntrTypeCode }}</span>
  203. </template>
  204. <template slot="boxNo" slot-scope="{ row }">
  205. <el-input v-if="row.$cellEdit && !row.srcId" v-model="row.boxNo" placeholder="请输入内容"
  206. size="small"></el-input>
  207. <span v-else>{{ row.boxNo }}</span>
  208. </template>
  209. <template slot="hsCodeForm" slot-scope="{ row }">
  210. <dic-select v-if="row.$cellEdit" v-model="row.hsCode" placeholder="HSCODE" key="id" res="records"
  211. label="hsCode" url="/blade-los/bcommodity/list" :filterable="true" :remote="true"
  212. dataName="hsCode" @selectChange="rowDicChange('hsCode', $event, row)"></dic-select>
  213. <span v-else>{{ row.hsCode }}</span>
  214. </template>
  215. <template slot="goodsName" slot-scope="{ row }">
  216. <dic-select v-if="row.$cellEdit && !row.srcId" v-model="row.goodsName" placeholder="品名" key="id"
  217. res="records" label="cnName" url="/blade-los/bcommodity/list" :filterable="true" :remote="true"
  218. dataName="cnName" @selectChange="rowDicChange('goodsName', $event, row)"></dic-select>
  219. <span v-else>{{ row.goodsName }}</span>
  220. </template>
  221. <tempalte slot="goodsType" slot-scope="{ row }">
  222. <dic-select v-if="row.$cellEdit && !row.srcId" v-model="row.goodsType" placeholder="类型"
  223. key="dictKey" label="dictValue" url="/blade-system/dict-biz/dictionary?code=goods-type"
  224. :filterable="true"></dic-select>
  225. <span v-else>{{ row.goodsType }}</span>
  226. </tempalte>
  227. <tempalte slot="number" slot-scope="{ row }">
  228. <el-input-number v-if="row.$cellEdit && !row.srcId" v-model="row.number" :controls="false"
  229. placeholder="请输入 件数" size="small" style="width: 100%;"
  230. @change="amountChange(row)"></el-input-number>
  231. <span v-else>{{ row.number }}</span>
  232. </tempalte>
  233. <tempalte slot="netWeight" slot-scope="{ row }">
  234. <el-input-number v-if="row.$cellEdit && !row.srcId" v-model="row.netWeight" :controls="false"
  235. placeholder="请输入 净重" size="small" style="width: 100%;"></el-input-number>
  236. <span v-else>{{ row.netWeight }}</span>
  237. </tempalte>
  238. <tempalte slot="amount" slot-scope="{ row }">
  239. <el-input-number v-if="row.$cellEdit && !row.srcId" v-model="row.amount" :controls="false"
  240. placeholder="请输入 总金额" size="small" style="width: 100%;"
  241. @change="amountChange(row)"></el-input-number>
  242. <span v-else>{{ row.amount }}</span>
  243. </tempalte>
  244. <template slot="menu" slot-scope="{ row, index }">
  245. <el-button size="small" type="text" :disabled="editDisabled || row.whetherDispatchVehicles == 1"
  246. @click="rowCell('箱编辑', row, index)">{{ row.$cellEdit ? '保 存' : '编 辑' }}</el-button>
  247. <el-button size="small" type="text" :disabled="editDisabled || row.type == 2"
  248. @click="rowCell('派车', row, index)">{{ row.type == 1 ? '撤销派车' : '派车' }}</el-button>
  249. <el-button size="small" type="text" :disabled="editDisabled || row.type == 1"
  250. @click="rowCell('自提', row, index)">{{ row.type == 2 ? '撤销自提' : '自 提' }}</el-button>
  251. <el-button size="small" type="text" :disabled="editDisabled || row.whetherDispatchVehicles == 1"
  252. @click="rowCell('箱删除', row, index)">删 除</el-button>
  253. </template>
  254. </avue-crud>
  255. </trade-card>
  256. <trade-card title="派车">
  257. <avue-crud :option="option2" :data="form.dispatchVehiclesList" id="out-table" ref="crud2"
  258. @selection-change="selectionChange" @resetColumn="resetColumn('crud2', 'option2', 'optionBack2', 389)"
  259. @saveColumn="saveColumn('crud2', 'option2', 'optionBack2', 389)">
  260. <tempalte slot="fleetName" slot-scope="{ row, index }">
  261. <dic-select v-if="row.$cellEdit" v-model="row.fleetName" placeholder="承运车队" key="id" label="cnName"
  262. res="records" url="/blade-los/bcorps/listByType?corpTypeName=车队" :filterable="true"
  263. :remote="true" dataName="cnName" @selectChange="rowDicChange('fleetName', $event, row)"
  264. :disabled="editDisabled"></dic-select>
  265. <span v-else>{{ row.fleetName }}</span>
  266. </tempalte>
  267. <tempalte slot="pickupAddressName" slot-scope="{ row, index }">
  268. <dic-select v-if="row.$cellEdit" v-model="row.pickupAddressName" placeholder="提箱地点" key="id"
  269. label="cnName" res="records" url="/blade-los/blocations/list" :filterable="true" :remote="true"
  270. dataName="cnName" @selectChange="rowDicChange('pickupAddressName', $event, row)"
  271. :disabled="editDisabled"></dic-select>
  272. <span v-else>{{ row.pickupAddressName }}</span>
  273. </tempalte>
  274. <tempalte slot="deliveryAddressName" slot-scope="{ row, index }">
  275. <dic-select v-if="row.$cellEdit" v-model="row.deliveryAddressName" placeholder="送货地点" key="id"
  276. label="cnName" res="records" url="/blade-los/blocations/list" :filterable="true" :remote="true"
  277. dataName="cnName" @selectChange="rowDicChange('deliveryAddressName', $event, row)"
  278. :disabled="editDisabled"></dic-select>
  279. <span v-else>{{ row.deliveryAddressName }}</span>
  280. </tempalte>
  281. <!-- <template slot="returnCyName" slot-scope="{ row }">
  282. <dic-select v-if="row.$cellEdit" v-model="row.returnCyName" placeholder="返空场站" key="id"
  283. label="cnName" res="records" url="/blade-los/bcorps/listByType?corpTypeName=场站"
  284. :filterable="true" :remote="true" dataName="cnName"
  285. @selectChange="rowDicChange('returnCyName', $event, row)"></dic-select>
  286. <span v-else>{{ row.returnCyName }}</span>
  287. </template> -->
  288. <template slot="menu" slot-scope="{ row, index }">
  289. <el-button size="small" type="text"
  290. :disabled="editDisabled || row.whetherDispatchVehicles == 1 || row.whetherWarehouseEntry == 1"
  291. @click="rowCell('派车编辑', row, index)">
  292. {{ row.$cellEdit ? '保 存' : '编 辑' }}
  293. </el-button>
  294. <el-button size="small" type="text" :disabled="editDisabled || row.$cellEdit"
  295. @click="rowCell('还箱', row, index)">{{ row.whetherReturn == 1 ? '撤销还箱' : '确认还箱' }}</el-button>
  296. <el-button size="small" type="text" :disabled="editDisabled || row.$cellEdit"
  297. @click="rowCell('查验/倒柜派车', row, index)">{{ row.whetherInspection == 1 ? '撤销查验/倒柜派车' : '查验/倒柜派车'
  298. }}</el-button>
  299. <el-button size="small" type="text"
  300. :disabled="editDisabled || row.whetherWarehouseEntry == 1 || row.$cellEdit"
  301. @click="rowCell('入库派车', row, index)">
  302. {{ row.whetherDispatchVehicles == 1 ? '撤销入库派车' : '入库派车' }}
  303. </el-button>
  304. <el-button size="small" type="text" :disabled="editDisabled || row.$cellEdit"
  305. @click="rowCell('生成入库', row, index)">{{ row.whetherWarehouseEntry == 1 ? '撤销入库' : '入 库'
  306. }}</el-button>
  307. <!-- <el-button size="small" type="text"
  308. :disabled="editDisabled || row.whetherDispatchVehicles == 1 || row.whetherWarehouseEntry == 1"
  309. @click="rowCell('派车删除', row, index)">删 除</el-button> -->
  310. </template>
  311. </avue-crud>
  312. </trade-card>
  313. <trade-card title="入库">
  314. <avue-crud :option="option3" :data="form.inStorageList" id="out-table" ref="crud3"
  315. @selection-change="selectionChange" @resetColumn="resetColumn('crud3', 'option3', 'optionBack3', 390)"
  316. @saveColumn="saveColumn('crud3', 'option3', 'optionBack3', 390)">
  317. <template slot="storageUnitHeader" slot-scope="{column}">
  318. <span style="color: #1e9fff;cursor: pointer;" @click="inJump('入库单位')">{{ (column || {}).label
  319. }}</span>
  320. </template>
  321. <template slot="warehouseName" slot-scope="{ row }">
  322. <dic-select v-if="row.$cellEdit" v-model="row.warehouseName" placeholder="入库" key="id" label="cname"
  323. url="/blade-los/storage/list" res="records" :filterable="true" :remote="true" dataName="cname"
  324. @selectChange="rowDicChange('warehouseName', $event, row)"></dic-select>
  325. <span v-else>{{ row.warehouseName }}</span>
  326. </template>
  327. <template slot="menu" slot-scope="{ row, index }">
  328. <el-button size="small" type="text" :disabled="editDisabled || row.confirmDispatchVehicles == 1"
  329. @click="rowCell('入库编辑', row, index)">
  330. {{ row.$cellEdit ? '保 存' : '编 辑' }}
  331. </el-button>
  332. <el-button size="small" type="text"
  333. :disabled="editDisabled || row.whetherInOutStorage == 1 || row.$cellEdit"
  334. @click="rowCell('入库确认', row, index)">
  335. {{ row.confirmDispatchVehicles == 1 ? '撤销确认' : '入库确认' }}
  336. </el-button>
  337. <el-button size="small" type="text"
  338. :disabled="editDisabled || row.surplusQuantity == 0 || row.$cellEdit"
  339. @click="rowCell('生成出库', row, index)">
  340. 出 库
  341. </el-button>
  342. <el-button size="small" type="text"
  343. :disabled="editDisabled || row.surplusQuantity == 0 || row.$cellEdit"
  344. @click="rowCell('撤销出库', row, index)">
  345. 撤销出库
  346. </el-button>
  347. <!-- <el-button size="small" type="text"
  348. :disabled="editDisabled || row.confirmDispatchVehicles == 1 || row.whetherInOutStorage == 1"
  349. @click="rowCell('入库删除', row, index)">删 除</el-button> -->
  350. </template>
  351. </avue-crud>
  352. </trade-card>
  353. <trade-card title="出库">
  354. <avue-crud :option="option4" :data="form.outStorageList" id="out-table" ref="crud4"
  355. @selection-change="selectionChange" @resetColumn="resetColumn('crud4', 'option4', 'optionBack4', 391)"
  356. @saveColumn="saveColumn('crud4', 'option4', 'optionBack4', 391)">
  357. <template slot="menu" slot-scope="{ row, index }">
  358. <el-button size="small" type="text" :disabled="editDisabled || row.confirmDispatchVehicles == 1"
  359. @click="rowCell('出库编辑', row, index)">{{ row.$cellEdit ? '保 存' : '编 辑' }}</el-button>
  360. <el-button size="small" type="text" :disabled="editDisabled" @click="rowCell('出库确认', row, index)">{{
  361. row.confirmDispatchVehicles ==
  362. 1 ? '撤销确认' : '出库确认' }}</el-button>
  363. <el-button size="small" type="text" :disabled="editDisabled" @click="rowCell('开票', row, index)">开
  364. 票</el-button>
  365. <el-button size="small" type="text" :disabled="editDisabled || row.confirmDispatchVehicles == 1"
  366. @click="rowCell('出库删除', row, index)">删 除</el-button>
  367. </template>
  368. </avue-crud>
  369. </trade-card>
  370. <trade-card title="费用明细">
  371. <fee-info ref="feeInfo" :form="form" :disabled="editDisabled" @getDetails="getDetails"></fee-info>
  372. </trade-card>
  373. <containerTitle title="上传附件"></containerTitle>
  374. <c-upload :data="form.filesList" :enumerationValue="76" deleteUrl="/api/blade-los/filescenter/remove" display
  375. :disabled="editDisabled"></c-upload>
  376. </div>
  377. <business-reports :id="form.id" ref="print" businessValue="HYJK" classifyCode="业务" groupCode="销售报告"
  378. :type="1"></business-reports>
  379. <!--审核弹窗-->
  380. <el-dialog append-to-body title="审批进度" class="el-dialogDeep" :visible.sync="checkScheduleDialog" width="40%"
  381. :close-on-click-modal="false" :destroy-on-close="true" :close-on-press-escape="false" v-dialog-drag>
  382. <check-schedule :checkId="checkId" :batchNo="batchNo" @choceScheduleFun="choceScheduleFun"></check-schedule>
  383. </el-dialog>
  384. <el-dialog append-to-body title="查验/倒柜派车" :visible.sync="carVisible" width="40%" :close-on-click-modal="false"
  385. v-dialog-drag @closed="carClosed">
  386. <span>
  387. <avue-form :option="carOption" v-model="carForm">
  388. <tempalte slot="inspectionFleetName">
  389. <dic-select v-model="carForm.inspectionFleetName" placeholder="承运车队" key="id" label="cnName"
  390. res="records" url="/blade-los/bcorps/listByType?corpTypeName=车队" :filterable="true"
  391. :remote="true" dataName="cnName"
  392. @selectChange="dicChange('inspectionFleetName', $event)"></dic-select>
  393. </tempalte>
  394. </avue-form>
  395. </span>
  396. <span slot="footer" class="dialog-footer">
  397. <el-button @click="carVisible = false">取 消</el-button>
  398. <el-button type="primary" @click="carSubmit(carForm)">确 定</el-button>
  399. </span>
  400. </el-dialog>
  401. <el-dialog append-to-body title="还箱" :visible.sync="boxVisible" width="40%" :close-on-click-modal="false"
  402. v-dialog-drag @closed="boxClosed()">
  403. <span>
  404. <avue-form :option="boxOption" v-model="boxForm">
  405. <template slot="returnCyName">
  406. <dic-select v-model="boxForm.returnCyName" placeholder="返空场站" key="id" label="cnName" res="records"
  407. url="/blade-los/bcorps/listByType?corpTypeName=场站" :filterable="true" :remote="true"
  408. dataName="cnName"></dic-select>
  409. </template>
  410. </avue-form>
  411. </span>
  412. <span slot="footer" class="dialog-footer">
  413. <el-button @click="boxVisible = false">取 消</el-button>
  414. <el-button type="primary" @click="boxSubmit(boxForm)">确 定</el-button>
  415. </span>
  416. </el-dialog>
  417. <dictbiz-dialog ref="dictbiz" :title="dicTitle" :code="dicCode" :parentId="parentId" @closed="getAllWorkDicts">
  418. </dictbiz-dialog>
  419. </div>
  420. </template>
  421. <script>
  422. import { submit, getDetail, detailTradeByMblno, remove, checkAgent, revokeCheckAgent, copyAgent, generateDispatchVehicles, confirmDispatchVehicles, generateWarehouseEntry, confirmWarehouseEntry, generateOutbound, dispatchvehiclesRemove, inoutstorageRemove, calculationWarehouseUnitPrice, billsCopyBills, submitList1, submitList2, revokePrecontainers, revokeDispatchVehicles, revokeWarehouseEntry, revokeInoutstorage, revokeOutbound, confirmInspection, revokeInspection, confirmReturnBox, revokeReturnBox } from "@/api/tradeAgency/oceanFreightImport";
  423. import { contrastObj, contrastList } from "@/util/contrastData";
  424. import feeInfo from "@/components/tradeAgency/fee-oceanFreight";
  425. import dicSelect from "@/components/dicSelect/main";
  426. import checkSchedule from "@/components/checkH/checkSchedule.vue";
  427. import businessReports from "@/components/tradeAgency/businessReportsJK.vue";
  428. import { precontainersRemove } from "@/api/iosBasicData/ReceivingOrders/precontainers";
  429. import _ from "lodash";
  430. export default {
  431. name: "detailsPage",
  432. data() {
  433. return {
  434. dicTitle: null,
  435. parentId: null,
  436. dicCode: null,
  437. carForm: {
  438. // id: null,
  439. // inspectionFleetId: null,
  440. // inspectionFleetName: null,
  441. // inspectionLicenseNumber: null,
  442. // inspectionFullName: null,
  443. // inspectionContactInformation: null
  444. },
  445. boxForm: {
  446. // id: null,
  447. // returnDate: null,
  448. // returnCyName: null,
  449. },
  450. boxVisible: false,
  451. carVisible: false,
  452. checkId: '', // 审核需要的id
  453. batchNo: '',
  454. checkScheduleDialog: false, // 审核弹窗
  455. editButton: false,
  456. editDisabled: false,
  457. form: {
  458. billNoFormat: 'HYJK',
  459. businessTypeCode: 'HYJK',
  460. businessType: 'SI',
  461. status: 0,
  462. seaType: 'I',
  463. billingStatus: 0,
  464. mshipperCntyName: '一般贸易',
  465. feeCenterListC: [],
  466. feeCenterListD: [],
  467. filesList: [],
  468. inStorageList: [],//入库
  469. outStorageList: [],//出库
  470. dispatchVehiclesList: [],//派车
  471. preContainersList: []//箱信息
  472. },
  473. oldForm: {
  474. billNoFormat: 'HYJK',
  475. businessTypeCode: 'HYJK',
  476. businessType: 'SI',
  477. status: 0,
  478. seaType: 'I',
  479. billingStatus: 0,
  480. mshipperCntyName: '一般贸易',
  481. feeCenterListC: [],
  482. feeCenterListD: [],
  483. filesList: [],
  484. inStorageList: [],//入库
  485. outStorageList: [],//出库
  486. dispatchVehiclesList: [],//派车
  487. preContainersList: []//箱信息
  488. },
  489. optionForm: {
  490. menuBtn: false,
  491. span: 8,
  492. disabled: false,
  493. column: [
  494. {
  495. label: '客户',
  496. prop: "corpCnName",
  497. disabled: false,
  498. rules: [{
  499. required: true,
  500. message: " ",
  501. trigger: "blur"
  502. }]
  503. },
  504. {
  505. label: "委托编号",
  506. prop: "billNo",
  507. disabled: true,
  508. },
  509. {
  510. label: "提单号",
  511. prop: "mblno",
  512. disabled: false,
  513. rules: [{
  514. required: true,
  515. message: " ",
  516. trigger: "blur"
  517. }]
  518. },
  519. {
  520. label: '合同号',
  521. prop: "bookingNo",
  522. disabled: false,
  523. rules: [{
  524. required: true,
  525. message: " ",
  526. trigger: "blur"
  527. }]
  528. },
  529. {
  530. label: '原产地',
  531. prop: "mnotifyCntyCode",
  532. type: 'select',
  533. filterable: true,
  534. remote: true,
  535. dicUrl: "/api/blade-los/bcountrys/list",
  536. props: {
  537. label: 'cnName',
  538. value: 'cnName',
  539. res: 'data.records'
  540. },
  541. disabled: false,
  542. },
  543. {
  544. label: '运输方式',
  545. prop: "mnotifyCntyName",
  546. type: 'select',
  547. filterable: true,
  548. dicUrl: "/api/blade-system/dict-biz/dictionary?code=mode_transport",
  549. props: {
  550. label: 'dictValue',
  551. value: 'dictValue',
  552. },
  553. disabled: false,
  554. rules: [{
  555. required: true,
  556. message: " ",
  557. trigger: "blur"
  558. }]
  559. },
  560. {
  561. label: "发货人",
  562. prop: "hshipperCnName",
  563. disabled: false,
  564. },
  565. {
  566. label: "收货人",
  567. prop: "hconsigneeCnName",
  568. disabled: false,
  569. },
  570. {
  571. label: "船名",
  572. prop: "vesselCnName",
  573. type: 'select',
  574. filterable: true,
  575. remote: true,
  576. allowCreate: true,
  577. dicUrl: "/api/blade-los/bvessels/list?cnName={{key}}",
  578. props: {
  579. label: 'cnName',
  580. value: 'cnName',
  581. res: 'data.records'
  582. },
  583. disabled: false,
  584. },
  585. {
  586. label: "航次",
  587. prop: "voyageNo",
  588. overHidden: true,
  589. },
  590. {
  591. label: '起运港',
  592. prop: "polCnName",
  593. disabled: false,
  594. },
  595. {
  596. label: '目的港',
  597. prop: "podCnName",
  598. disabled: false,
  599. },
  600. {
  601. label: "开船日期",
  602. prop: "etd",
  603. type: "date",
  604. format: "yyyy-MM-dd",
  605. valueFormat: "yyyy-MM-dd",
  606. },
  607. {
  608. label: "预计到港",
  609. prop: "bookingDate",
  610. type: "date",
  611. format: "yyyy-MM-dd",
  612. valueFormat: "yyyy-MM-dd",
  613. },
  614. {
  615. label: "实际到港",
  616. prop: "eta",
  617. type: "date",
  618. format: "yyyy-MM-dd",
  619. valueFormat: "yyyy-MM-dd",
  620. rules: [{
  621. required: true,
  622. message: " ",
  623. trigger: "blur"
  624. }]
  625. },
  626. {
  627. label: "船公司",
  628. prop: "carrierCnName",
  629. disabled: false,
  630. },
  631. {
  632. label: "船代",
  633. prop: "bookingAgentCnName",
  634. disabled: false,
  635. },
  636. {
  637. label: '装箱方式',
  638. prop: "loadType",
  639. type: 'select',
  640. dicData: [{
  641. label: '整箱',
  642. value: 'FCL'
  643. }, {
  644. label: '拼箱',
  645. value: 'LCL'
  646. }],
  647. disabled: false,
  648. },
  649. // {
  650. // label: "HSCODE",
  651. // prop: "hscode",
  652. // disabled: false,
  653. // },
  654. {
  655. label: "件数",
  656. prop: "quantity",
  657. disabled: false,
  658. },
  659. {
  660. label: "包装",
  661. prop: "packingUnit",
  662. type: 'select',
  663. filterable: true,
  664. remote: true,
  665. dicUrl: "/api/blade-los/bpackages/list?cnName={{key}}",
  666. props: {
  667. label: 'cnName',
  668. value: 'cnName',
  669. res: 'data.records'
  670. },
  671. disabled: false,
  672. },
  673. {
  674. label: "尺码",
  675. prop: "measurement",
  676. disabled: false,
  677. },
  678. {
  679. label: "毛重",
  680. prop: "grossWeight",
  681. disabled: false,
  682. },
  683. {
  684. label: "净重",
  685. prop: "netWeight",
  686. disabled: false,
  687. },
  688. {
  689. label: "是否退押",
  690. prop: "billingStatus",
  691. type: 'select',
  692. dicData: [{
  693. label: '是',
  694. value: 1
  695. }, {
  696. label: '否',
  697. value: 0
  698. }],
  699. disabled: false,
  700. },
  701. {
  702. label: "放单方式",
  703. prop: "mconsigneeCntyCode",
  704. type: 'select',
  705. filterable: true,
  706. dicUrl: "/api/blade-system/dict-biz/dictionary?code=release_method",
  707. props: {
  708. label: 'dictValue',
  709. value: 'dictValue',
  710. },
  711. disabled: false,
  712. },
  713. {
  714. label: "免箱期",
  715. prop: "iqNo",
  716. disabled: false,
  717. },
  718. {
  719. label: '报关单号',
  720. prop: "mnotify2CntyName",
  721. width: "100",
  722. overHidden: true
  723. },
  724. {
  725. label: "报关日期",
  726. prop: "issueDate",
  727. type: "date",
  728. format: "yyyy-MM-dd",
  729. valueFormat: "yyyy-MM-dd",
  730. },
  731. {
  732. label: "放行日期",
  733. prop: "cyReturnTime",
  734. type: "date",
  735. format: "yyyy-MM-dd",
  736. valueFormat: "yyyy-MM-dd",
  737. },
  738. {
  739. label: "提箱码头",
  740. prop: "charData",
  741. type: 'select',
  742. filterable: true,
  743. dicUrl: "/api/blade-system/dict-biz/dictionary?code=container_terminal",
  744. props: {
  745. label: 'dictValue',
  746. value: 'dictValue',
  747. },
  748. disabled: false,
  749. },
  750. {
  751. label: '业务来源',
  752. prop: "srcType",
  753. disabled: false,
  754. rules: [{
  755. required: true,
  756. message: " ",
  757. trigger: "blur"
  758. }],
  759. },
  760. {
  761. label: '贸易方式',
  762. prop: "mshipperCntyName",
  763. type: "select",
  764. dicUrl: "/api/blade-system/dict-biz/dictionary?code=trade_Mode",
  765. props: {
  766. label: "dictValue",
  767. value: "dictValue"
  768. },
  769. disabled: false,
  770. rules: [{
  771. required: true,
  772. message: " ",
  773. trigger: "blur"
  774. }],
  775. },
  776. // {
  777. // label: '业务员',
  778. // prop: "srcCnName",
  779. // disabled: false,
  780. // rules: [{
  781. // required: true,
  782. // message: " ",
  783. // trigger: "blur"
  784. // }]
  785. // },
  786. {
  787. label: '备注',
  788. prop: "remarks",
  789. type: 'textarea',
  790. disabled: false,
  791. span: 18,
  792. minRows: 2,
  793. },
  794. ]
  795. },
  796. carOption: {
  797. labelWidth: 120,
  798. menuBtn: false,
  799. span: 12,
  800. disabled: false,
  801. column: [
  802. {
  803. label: '查验/倒柜承运车队',
  804. prop: "inspectionFleetName",
  805. disabled: false,
  806. },
  807. {
  808. label: '查验/倒柜车号',
  809. prop: "inspectionLicenseNumber",
  810. disabled: false,
  811. },
  812. {
  813. label: '查验/倒柜姓名',
  814. prop: "inspectionFullName",
  815. disabled: false,
  816. },
  817. {
  818. label: '查验/倒柜联系方式',
  819. prop: "inspectionContactInformation",
  820. disabled: false,
  821. }
  822. ]
  823. },
  824. boxOption: {
  825. // labelWidth: 120,
  826. menuBtn: false,
  827. span: 12,
  828. disabled: false,
  829. column: [
  830. {
  831. label: "返空时间",
  832. prop: "returnDate",
  833. type: "date",
  834. format: "yyyy-MM-dd",
  835. valueFormat: "yyyy-MM-dd 00:00:00",
  836. },
  837. {
  838. label: "返空场站",
  839. prop: "returnCyName",
  840. },
  841. ]
  842. },
  843. option: {},
  844. optionBack: {
  845. height: 'auto',
  846. calcHeight: 30,
  847. menuWidth: 180,
  848. tip: false,
  849. border: true,
  850. addBtn: false,
  851. viewBtn: false,
  852. editBtn: false,
  853. delBtn: false,
  854. refreshBtn: false,
  855. selection: true,
  856. align: 'center',
  857. column: [
  858. {
  859. label: "index",
  860. prop: "index",
  861. width: "55",
  862. headerslot: true,
  863. },
  864. {
  865. label: "箱型",
  866. prop: "cntrTypeCode",
  867. width: "100",
  868. overHidden: true,
  869. },
  870. {
  871. label: "箱号",
  872. prop: "boxNo",
  873. width: "100",
  874. overHidden: true
  875. },
  876. {
  877. label: "HSCODE",
  878. prop: "hsCode",
  879. width: "100",
  880. overHidden: true,
  881. cell: true,
  882. slot: true,
  883. formslot: true,
  884. rules: [
  885. {
  886. required: true,
  887. message: '请输入HSCODE',
  888. trigger: 'blur'
  889. }
  890. ]
  891. },
  892. {
  893. label: "品名",
  894. prop: "goodsName",
  895. width: "100",
  896. overHidden: true
  897. },
  898. {
  899. label: "类型",
  900. prop: "goodsType",
  901. width: "80",
  902. overHidden: true
  903. },
  904. {
  905. label: "件数",
  906. prop: "number",
  907. width: "100",
  908. overHidden: true
  909. },
  910. {
  911. label: "净重",
  912. prop: "netWeight",
  913. width: "100",
  914. overHidden: true
  915. },
  916. {
  917. label: "总金额",
  918. prop: "amount",
  919. width: "100",
  920. overHidden: true
  921. },
  922. {
  923. label: '币别',
  924. prop: 'curCode',
  925. type: 'select',
  926. cell: true,
  927. filterable: true,
  928. dicData: [
  929. { label: 'CNY', value: 'CNY' },
  930. { label: 'USD', value: 'USD' }
  931. ],
  932. overHidden: true,
  933. },
  934. {
  935. label: "查验类型",
  936. prop: "inspectionType",
  937. cell: true,
  938. type: 'select',
  939. filterable: true,
  940. dicUrl: "/api/blade-system/dict-biz/dictionary?code=inspection_type",
  941. props: {
  942. label: 'dictValue',
  943. value: 'dictValue',
  944. },
  945. width: "120",
  946. overHidden: true
  947. },
  948. {
  949. label: "查验时间",
  950. prop: "inspectionDate",
  951. width: "100",
  952. cell: true,
  953. type: "date",
  954. format: "yyyy-MM-dd",
  955. valueFormat: "yyyy-MM-dd 00:00:00",
  956. overHidden: true
  957. },
  958. {
  959. label: "是否机检",
  960. prop: "whetherMachineInspection",
  961. cell: true,
  962. type: 'select',
  963. dicData: [{
  964. label: '是',
  965. value: 1
  966. }, {
  967. label: '否',
  968. value: 0
  969. }],
  970. width: "90",
  971. overHidden: true
  972. },
  973. {
  974. label: "是否取样",
  975. prop: "whetherSampling",
  976. cell: true,
  977. type: 'select',
  978. dicData: [{
  979. label: '是',
  980. value: 1
  981. }, {
  982. label: '否',
  983. value: 0
  984. }],
  985. width: "90",
  986. overHidden: true
  987. },
  988. {
  989. label: "是否入库",
  990. prop: "whetherWarehousing",
  991. cell: true,
  992. type: 'select',
  993. dicData: [{
  994. label: '是',
  995. value: 1
  996. }, {
  997. label: '否',
  998. value: 0
  999. }],
  1000. width: "90",
  1001. overHidden: true
  1002. },
  1003. {
  1004. label: "是否返场",
  1005. prop: "whetherReturnSite",
  1006. cell: true,
  1007. type: 'select',
  1008. dicData: [{
  1009. label: '是',
  1010. value: 1
  1011. }, {
  1012. label: '否',
  1013. value: 0
  1014. }],
  1015. width: "90",
  1016. overHidden: true
  1017. },
  1018. // {
  1019. // label: "是否还箱",
  1020. // prop: "whetherReturn",
  1021. // cell: true,
  1022. // type: 'select',
  1023. // dicData: [{
  1024. // label: '是',
  1025. // value: 1
  1026. // }, {
  1027. // label: '否',
  1028. // value: 0
  1029. // }],
  1030. // width: "90",
  1031. // overHidden: true
  1032. // },
  1033. {
  1034. label: "备注",
  1035. prop: "remarks",
  1036. width: "120",
  1037. cell: true,
  1038. overHidden: true
  1039. }
  1040. ]
  1041. },
  1042. option2: {},
  1043. optionBack2: {
  1044. height: 'auto',
  1045. calcHeight: 30,
  1046. menuWidth: 360,
  1047. tip: false,
  1048. border: true,
  1049. index: true,
  1050. addBtn: false,
  1051. viewBtn: false,
  1052. editBtn: false,
  1053. delBtn: false,
  1054. refreshBtn: false,
  1055. selection: true,
  1056. align: 'center',
  1057. column: [
  1058. {
  1059. label: "承运车队",
  1060. prop: "fleetName",
  1061. width: "120",
  1062. overHidden: true,
  1063. },
  1064. {
  1065. label: "车号",
  1066. prop: "licenseNumber",
  1067. cell: true,
  1068. width: "120",
  1069. overHidden: true
  1070. },
  1071. {
  1072. label: "姓名",
  1073. prop: "fullName",
  1074. cell: true,
  1075. width: "120",
  1076. overHidden: true
  1077. },
  1078. {
  1079. label: "联系方式",
  1080. prop: "contactInformation",
  1081. cell: true,
  1082. width: "120",
  1083. overHidden: true
  1084. },
  1085. {
  1086. label: "是否入库",
  1087. prop: "whetherWarehousing",
  1088. type: 'select',
  1089. dicData: [{
  1090. label: '是',
  1091. value: 1
  1092. }, {
  1093. label: '否',
  1094. value: 0
  1095. }],
  1096. width: "120",
  1097. overHidden: true
  1098. },
  1099. {
  1100. label: "提箱时间",
  1101. prop: "pickupDate",
  1102. cell: true,
  1103. type: "date",
  1104. format: "yyyy-MM-dd",
  1105. valueFormat: "yyyy-MM-dd 00:00:00",
  1106. width: "120",
  1107. overHidden: true
  1108. },
  1109. {
  1110. label: "提箱地点",
  1111. prop: "pickupAddressName",
  1112. width: "120",
  1113. overHidden: true
  1114. },
  1115. {
  1116. label: "送货时间",
  1117. prop: "deliveryDate",
  1118. width: "120",
  1119. cell: true,
  1120. type: "date",
  1121. format: "yyyy-MM-dd",
  1122. valueFormat: "yyyy-MM-dd 00:00:00",
  1123. overHidden: true
  1124. },
  1125. {
  1126. label: "送货地点",
  1127. prop: "deliveryAddressName",
  1128. width: "120",
  1129. overHidden: true
  1130. },
  1131. {
  1132. label: "是否打冷",
  1133. prop: "whetherChill",
  1134. cell: true,
  1135. type: 'select',
  1136. dicData: [{
  1137. label: '是',
  1138. value: 1
  1139. }, {
  1140. label: '否',
  1141. value: 0
  1142. }],
  1143. width: "120",
  1144. overHidden: true
  1145. },
  1146. {
  1147. label: "运费价格",
  1148. prop: "freightPrice",
  1149. cell: true,
  1150. type: 'number',
  1151. controls: false,
  1152. width: "120",
  1153. overHidden: true
  1154. },
  1155. {
  1156. label: "返空时间",
  1157. prop: "returnDate",
  1158. // cell: true,
  1159. type: "date",
  1160. format: "yyyy-MM-dd",
  1161. valueFormat: "yyyy-MM-dd 00:00:00",
  1162. width: "120",
  1163. overHidden: true
  1164. },
  1165. {
  1166. label: "返空场站",
  1167. prop: "returnCyName",
  1168. width: "120",
  1169. overHidden: true
  1170. },
  1171. {
  1172. label: "查验/倒柜承运车队",
  1173. prop: "inspectionFleetName",
  1174. width: "120",
  1175. overHidden: true
  1176. },
  1177. {
  1178. label: "查验/倒柜车号",
  1179. prop: "inspectionLicenseNumber",
  1180. width: "120",
  1181. overHidden: true
  1182. },
  1183. {
  1184. label: "查验/倒柜姓名",
  1185. prop: "inspectionFullName",
  1186. width: "120",
  1187. overHidden: true
  1188. },
  1189. {
  1190. label: "查验/倒柜联系方式",
  1191. prop: "inspectionContactInformation",
  1192. width: "120",
  1193. overHidden: true
  1194. },
  1195. {
  1196. label: "箱号",
  1197. prop: "boxNo",
  1198. width: "120",
  1199. overHidden: true
  1200. },
  1201. {
  1202. label: "备注",
  1203. prop: "remarks",
  1204. width: "120",
  1205. cell: true,
  1206. overHidden: true
  1207. }
  1208. ]
  1209. },
  1210. option3: {},
  1211. optionBack3: {
  1212. height: 'auto',
  1213. calcHeight: 30,
  1214. menuWidth: 200,
  1215. tip: false,
  1216. border: true,
  1217. index: true,
  1218. addBtn: false,
  1219. viewBtn: false,
  1220. editBtn: false,
  1221. delBtn: false,
  1222. refreshBtn: false,
  1223. selection: true,
  1224. align: 'center',
  1225. column: [
  1226. {
  1227. label: "仓库",
  1228. prop: "warehouseName",
  1229. width: "120",
  1230. overHidden: true,
  1231. },
  1232. {
  1233. label: "品名",
  1234. prop: "goodsName",
  1235. width: "120",
  1236. overHidden: true
  1237. },
  1238. {
  1239. label: "箱号",
  1240. prop: "boxNo",
  1241. width: "120",
  1242. overHidden: true
  1243. },
  1244. {
  1245. label: "入库单位",
  1246. prop: "storageUnit",
  1247. width: "120",
  1248. cell: true,
  1249. type: 'select',
  1250. filterable: true,
  1251. remote: true,
  1252. dicUrl: "/api/blade-los/bunits/list",
  1253. props: {
  1254. label: 'cnName',
  1255. value: 'cnName',
  1256. res: 'data.records'
  1257. },
  1258. overHidden: true
  1259. },
  1260. {
  1261. label: "入库时间",
  1262. prop: "storageDate",
  1263. width: "120",
  1264. cell: true,
  1265. type: "date",
  1266. format: "yyyy-MM-dd",
  1267. valueFormat: "yyyy-MM-dd 00:00:00",
  1268. overHidden: true
  1269. },
  1270. {
  1271. label: "件数",
  1272. prop: "quantity",
  1273. width: "120",
  1274. overHidden: true
  1275. },
  1276. {
  1277. label: "净重",
  1278. prop: "grossWeight",
  1279. width: "120",
  1280. overHidden: true
  1281. },
  1282. {
  1283. label: "是否保税",
  1284. prop: "whetherBonded",
  1285. cell: true,
  1286. width: "120",
  1287. type: 'select',
  1288. dicData: [{
  1289. label: '是',
  1290. value: 1
  1291. }, {
  1292. label: '否',
  1293. value: 0
  1294. }],
  1295. overHidden: true
  1296. },
  1297. {
  1298. label: "是否分拣",
  1299. prop: "whetherSorting",
  1300. width: "120",
  1301. cell: true,
  1302. type: 'select',
  1303. dicData: [{
  1304. label: '是',
  1305. value: 1
  1306. }, {
  1307. label: '否',
  1308. value: 0
  1309. }],
  1310. overHidden: true
  1311. },
  1312. {
  1313. label: "平均单价",
  1314. prop: "warehouseUnitPrice",
  1315. cell: true,
  1316. type: 'number',
  1317. controls: false,
  1318. width: "120",
  1319. overHidden: true
  1320. },
  1321. {
  1322. label: "车号",
  1323. prop: "licenseNumber",
  1324. width: "120",
  1325. overHidden: true
  1326. },
  1327. {
  1328. label: "姓名",
  1329. prop: "fullName",
  1330. width: "120",
  1331. overHidden: true
  1332. },
  1333. {
  1334. label: "联系方式",
  1335. prop: "tel",
  1336. width: "120",
  1337. overHidden: true
  1338. },
  1339. {
  1340. label: "备注",
  1341. prop: "remarks",
  1342. width: "120",
  1343. cell: true,
  1344. overHidden: true
  1345. }
  1346. ]
  1347. },
  1348. option4: {},
  1349. optionBack4: {
  1350. height: 'auto',
  1351. calcHeight: 30,
  1352. menuWidth: 180,
  1353. tip: false,
  1354. border: true,
  1355. index: true,
  1356. addBtn: false,
  1357. viewBtn: false,
  1358. editBtn: false,
  1359. delBtn: false,
  1360. refreshBtn: false,
  1361. selection: true,
  1362. align: 'center',
  1363. column: [
  1364. {
  1365. label: "品名",
  1366. prop: "goodsName",
  1367. width: "120",
  1368. overHidden: true
  1369. },
  1370. {
  1371. label: "箱号",
  1372. prop: "boxNo",
  1373. width: "120",
  1374. overHidden: true
  1375. },
  1376. {
  1377. label: "出库时间",
  1378. prop: "outStorageDate",
  1379. width: "120",
  1380. cell: true,
  1381. type: "date",
  1382. format: "yyyy-MM-dd",
  1383. valueFormat: "yyyy-MM-dd 00:00:00",
  1384. overHidden: true
  1385. },
  1386. {
  1387. label: "出库件数",
  1388. prop: "outQuantity",
  1389. width: "120",
  1390. cell: true,
  1391. type: 'number',
  1392. controls: false,
  1393. overHidden: true
  1394. },
  1395. {
  1396. label: "出库净重",
  1397. prop: "outWeight",
  1398. width: "120",
  1399. cell: true,
  1400. type: 'number',
  1401. controls: false,
  1402. overHidden: true
  1403. },
  1404. {
  1405. label: "件数",
  1406. prop: "quantity",
  1407. width: "120",
  1408. overHidden: true
  1409. },
  1410. {
  1411. label: "毛重",
  1412. prop: "grossWeight",
  1413. width: "120",
  1414. overHidden: true
  1415. },
  1416. {
  1417. label: "存储天数",
  1418. prop: "storageDays",
  1419. width: "120",
  1420. overHidden: true
  1421. },
  1422. {
  1423. label: "仓储费",
  1424. prop: "storageFeesAmount",
  1425. width: "120",
  1426. overHidden: true
  1427. },
  1428. {
  1429. label: "剩余件数",
  1430. prop: "surplusQuantity",
  1431. width: "120",
  1432. overHidden: true
  1433. },
  1434. {
  1435. label: "剩余重量",
  1436. prop: "surplusWeight",
  1437. width: "120",
  1438. overHidden: true
  1439. },
  1440. {
  1441. label: "剩余货值",
  1442. prop: "surplusGoodsAmount",
  1443. width: "120",
  1444. overHidden: true
  1445. },
  1446. {
  1447. label: "备注",
  1448. prop: "remarks",
  1449. width: "120",
  1450. cell: true,
  1451. overHidden: true
  1452. }
  1453. ]
  1454. },
  1455. showLock: false,
  1456. roleName: [],
  1457. saberUserInfo: ''
  1458. }
  1459. },
  1460. components: {
  1461. dicSelect,
  1462. feeInfo,
  1463. checkSchedule,
  1464. businessReports
  1465. },
  1466. props: {
  1467. detailData: Object
  1468. },
  1469. async created() {
  1470. this.roleName = localStorage.getItem('roleName').split(',')
  1471. this.saberUserInfo = JSON.parse(localStorage.getItem("saber-userInfo")).content
  1472. this.option = await this.getColumnData(this.getColumnName(388), this.optionBack);
  1473. this.option2 = await this.getColumnData(this.getColumnName(389), this.optionBack2);
  1474. this.option3 = await this.getColumnData(this.getColumnName(390), this.optionBack3);
  1475. this.option4 = await this.getColumnData(this.getColumnName(391), this.optionBack4);
  1476. if (this.detailData.id) {
  1477. this.showLock = true
  1478. this.editButton = true
  1479. this.editDisabled = true
  1480. this.optionForm.disabled = true
  1481. this.getDetails(this.detailData.id)
  1482. }
  1483. if (this.$route.query.billNo) {
  1484. this.showLock = true
  1485. this.getDetaiByMblno(this.$route.query.billNo)
  1486. }
  1487. if (this.detailData.copyId) {
  1488. this.getCopydate(this.detailData.copyId)
  1489. }
  1490. },
  1491. methods: {
  1492. inLock() {
  1493. const data = {
  1494. moduleName: "SI",
  1495. tableName: "SI_Detail",
  1496. billId: this.form.id,
  1497. no: localStorage.getItem("browserID"),
  1498. billNo: this.form.mblno
  1499. };
  1500. this.inDetailsKey(this.$route.name, {
  1501. moduleName: "SI",
  1502. tableName: "SI_Detail",
  1503. billId: this.form.id,
  1504. billNo: this.form.mblno
  1505. });
  1506. this.checkLock(data).then(res => {
  1507. if (res.data.code == 200) {
  1508. this.onLock(data).then(res => {
  1509. if (res.data.code == 200) {
  1510. this.showLock = false
  1511. }
  1512. });
  1513. }
  1514. });
  1515. },
  1516. inJump(name) {
  1517. if (name == '客户') {
  1518. this.$router.push({
  1519. path: "/iosBasicData/bcorps/index",
  1520. query: { type: 'new' },
  1521. })
  1522. }
  1523. if (name == '原产地') {
  1524. this.$router.push({
  1525. path: "/iosBasicData/bcountrys/index",
  1526. query: { type: 'new' },
  1527. })
  1528. }
  1529. if (name == '港口') {
  1530. this.$router.push({
  1531. path: "/iosBasicData/bports/index",
  1532. query: { type: 'new' },
  1533. })
  1534. }
  1535. if (name == 'HSCODE') {
  1536. this.$router.push({
  1537. path: "/iosBasicData/bcommodity/index",
  1538. query: { type: 'new' },
  1539. })
  1540. }
  1541. if (name == '船名') {
  1542. this.$router.push({
  1543. path: "/iosBasicData/bvessels/index",
  1544. query: { type: 'new' },
  1545. })
  1546. }
  1547. if (name == '包装') {
  1548. this.$router.push({
  1549. path: "/iosBasicData/bpackages/index",
  1550. query: { type: 'new' },
  1551. })
  1552. }
  1553. if (name == '箱型') {
  1554. this.$router.push({
  1555. path: "/iosBasicData/bcntrtypes/index",
  1556. query: { type: 'new' },
  1557. })
  1558. }
  1559. if (name == '类型') {
  1560. this.$refs.dictbiz.open()
  1561. this.dicTitle = '添加类型'
  1562. this.parentId = '1813125517193330690'
  1563. this.dicCode = 'goods-type'
  1564. }
  1565. if (name == '入库单位') {
  1566. this.$router.push({
  1567. path: "/iosBasicData/bunits/index",
  1568. query: { type: 'new' },
  1569. })
  1570. }
  1571. },
  1572. getAllWorkDicts() {
  1573. this.dicTitle = null
  1574. this.parentId = null
  1575. this.dicCode = null
  1576. },
  1577. getDetaiByMblno(billNo) {
  1578. this.editButton = true
  1579. this.editDisabled = true
  1580. this.optionForm.disabled = true
  1581. const loading = this.$loading({
  1582. lock: true,
  1583. text: '加载中',
  1584. spinner: 'el-icon-loading',
  1585. background: 'rgba(255,255,255,0.7)'
  1586. });
  1587. detailTradeByMblno({ mblno: this.$route.query.billNo }).then(res => {
  1588. this.form = res.data.data
  1589. this.$refs.crud.dicInit();
  1590. this.$refs.crud3.dicInit();
  1591. }).finally(() => {
  1592. loading.close()
  1593. })
  1594. },
  1595. addRow() {
  1596. if (!this.form.corpId) return this.$message.error("请选择客户名称");
  1597. this.form.preContainersList.push({
  1598. whetherMachineInspection: 0,
  1599. whetherSampling: 0,
  1600. whetherWarehousing: 0,
  1601. whetherReturnSite: 0,
  1602. curCode: 'CNY',
  1603. $cellEdit: true
  1604. })
  1605. this.$nextTick(() => {
  1606. this.$refs.crud.doLayout();
  1607. this.$refs.crud.dicInit();
  1608. });
  1609. },
  1610. amountChange(row) {
  1611. if (!row.number) row.number = 1
  1612. row.price = _.round(_.divide(row.amount, row.number ? row.number : 1), 2)
  1613. },
  1614. boxClosed() {
  1615. this.boxForm = {
  1616. // id: null,
  1617. // returnDate: null,
  1618. // returnCyName: null,
  1619. }
  1620. },
  1621. carClosed() {
  1622. this.carForm = {
  1623. // id: null,
  1624. // inspectionFleetId: null,
  1625. // inspectionFleetName: null,
  1626. // inspectionLicenseNumber: null,
  1627. // inspectionFullName: null,
  1628. // inspectionContactInformation: null
  1629. }
  1630. },
  1631. carSubmit(row) {
  1632. this.form.dispatchVehiclesList.forEach(e => {
  1633. if (e.id == row.id) {
  1634. this.$set(e, 'inspectionFleetId', row.inspectionFleetId)
  1635. this.$set(e, 'inspectionFleetName', row.inspectionFleetName)
  1636. this.$set(e, 'inspectionLicenseNumber', row.inspectionLicenseNumber)
  1637. this.$set(e, 'inspectionFullName', row.inspectionFullName)
  1638. this.$set(e, 'inspectionContactInformation', row.inspectionContactInformation)
  1639. const loading = this.$loading({
  1640. lock: true,
  1641. text: '加载中',
  1642. spinner: 'el-icon-loading',
  1643. background: 'rgba(255,255,255,0.7)'
  1644. });
  1645. confirmInspection(row).then(res => {
  1646. this.$message.success("查验/倒柜派车成功");
  1647. this.carVisible = false
  1648. this.getDetails(this.form.id)
  1649. }).finally(() => {
  1650. loading.close()
  1651. })
  1652. }
  1653. })
  1654. },
  1655. boxSubmit(row) {
  1656. this.form.dispatchVehiclesList.forEach(e => {
  1657. if (e.id == row.id) {
  1658. this.$set(e, 'returnDate', row.returnDate)
  1659. this.$set(e, 'returnCyName', row.returnCyName)
  1660. const loading = this.$loading({
  1661. lock: true,
  1662. text: '加载中',
  1663. spinner: 'el-icon-loading',
  1664. background: 'rgba(255,255,255,0.7)'
  1665. });
  1666. confirmReturnBox(row).then(res => {
  1667. this.$message.success("还箱成功");
  1668. this.boxVisible = false
  1669. this.getDetails(this.form.id)
  1670. }).finally(() => {
  1671. loading.close()
  1672. })
  1673. }
  1674. })
  1675. },
  1676. dicChange(name, row) {
  1677. if (name == 'inspectionFleetName') {
  1678. if (row) {
  1679. this.carForm.inspectionFleetId = row.id
  1680. this.carForm.inspectionFullName = row.mgrName
  1681. this.carForm.inspectionContactInformation = row.tel
  1682. } else {
  1683. this.carForm.inspectionFleetId = null
  1684. this.carForm.inspectionFullName = null
  1685. this.carForm.inspectionContactInformation = null
  1686. }
  1687. }
  1688. if (name == 'corpCnName') {
  1689. if (row) {
  1690. this.form.corpId = row.id
  1691. this.form.corpCnName = row.cnName
  1692. this.form.srcType = row.sourceType
  1693. this.form.srcCnName = row.srcCnName
  1694. this.form.srcId = row.srcId
  1695. } else {
  1696. this.form.corpId = null
  1697. this.form.srcType = null
  1698. this.form.srcCnName = null
  1699. this.form.srcId = null
  1700. }
  1701. }
  1702. if (name == 'polCnName') {
  1703. console.log(row)
  1704. if (row) {
  1705. this.form.polId = row.id
  1706. this.form.polCode = row.code
  1707. this.form.polCnName = row.cnName
  1708. this.form.polEnName = row.enName
  1709. } else {
  1710. this.form.polId = null
  1711. this.form.polCode = null
  1712. this.form.polEnName = null
  1713. }
  1714. }
  1715. if (name == 'podCnName') {
  1716. if (row) {
  1717. this.form.polId = row.id
  1718. this.form.polCode = row.code
  1719. this.form.podCnName = row.cnName
  1720. this.form.polEnName = row.enName
  1721. } else {
  1722. this.form.polId = null
  1723. this.form.polCode = null
  1724. this.form.polEnName = null
  1725. }
  1726. }
  1727. if (name == 'srcType') {
  1728. if (!row) {
  1729. this.form.srcId = null
  1730. this.form.srcCnName = null
  1731. }
  1732. }
  1733. if (name == 'srcCnName') {
  1734. if (row) {
  1735. this.form.srcId = row.id
  1736. } else {
  1737. this.form.srcId = null
  1738. }
  1739. }
  1740. if (name == 'hshipperCnName') {
  1741. if (row) {
  1742. this.form.hshipperId = row.id
  1743. this.form.hshipperCnName = row.cnName
  1744. } else {
  1745. this.form.hshipperId = null
  1746. }
  1747. }
  1748. if (name == 'hconsigneeCnName') {
  1749. if (row) {
  1750. this.form.hconsigneeId = row.id
  1751. this.form.hconsigneeCnName = row.cnName
  1752. } else {
  1753. this.form.hconsigneeId = null
  1754. }
  1755. }
  1756. if (name == 'carrierCnName') {
  1757. if (row) {
  1758. this.form.carrierId = row.id
  1759. } else {
  1760. this.form.carrierId = null
  1761. }
  1762. }
  1763. // if (name == 'hscode') {
  1764. // if (row) {
  1765. // this.form.commodityCnName = row.cnName
  1766. // } else {
  1767. // this.form.commodityCnName = null
  1768. // }
  1769. // }
  1770. if (name == 'bookingAgentCnName') {
  1771. if (row) {
  1772. this.form.bookingAgentId = row.id
  1773. this.form.bookingAgentCnName = row.cnName
  1774. } else {
  1775. this.form.bookingAgentId = null
  1776. }
  1777. }
  1778. if (name == 'mnotifyCntyCode') {
  1779. if (row) {
  1780. this.form.mnotifyCntyCode = row.cnName
  1781. }
  1782. }
  1783. },
  1784. rowDicChange(name, row, el) {
  1785. if (name == 'hsCode') {
  1786. if (row) {
  1787. el.goodsName = row.cnName
  1788. } else {
  1789. el.goodsName = null
  1790. }
  1791. }
  1792. // if (name == 'goodsName') {
  1793. // if (row) {
  1794. // el.hsCode = row.hsCode
  1795. // } else {
  1796. // el.hsCode = null
  1797. // }
  1798. // }
  1799. if (name == 'fleetName') {
  1800. if (row) {
  1801. el.fleetId = row.id
  1802. el.fullName = row.mgrName
  1803. el.contactInformation = row.tel
  1804. } else {
  1805. el.fleetId = null
  1806. el.fullName = null
  1807. el.contactInformation = null
  1808. }
  1809. }
  1810. if (name == 'pickupAddressName') {
  1811. if (row) {
  1812. el.pickupAddressId = row.id
  1813. } else {
  1814. el.pickupAddressId = null
  1815. }
  1816. }
  1817. if (name == 'deliveryAddressName') {
  1818. if (row) {
  1819. el.deliveryAddressId = row.id
  1820. } else {
  1821. el.deliveryAddressId = null
  1822. }
  1823. }
  1824. if (name == 'warehouseName') {
  1825. if (row) {
  1826. el.warehouseId = row.id
  1827. } else {
  1828. el.warehouseId = null
  1829. }
  1830. }
  1831. },
  1832. rowCell(name, row, index) {
  1833. if (name == '箱编辑') {
  1834. if (row.$cellEdit == true) {
  1835. if (!row.cntrTypeCode || !row.boxNo || !row.goodsName || !row.goodsType || !row.number || !row.netWeight || !row.amount) {
  1836. return this.$message.error((!row.cntrTypeCode ? "箱型," : '') + (!row.boxNo ? "箱号," : '') + (!row.goodsName ? "品名," : '') + (!row.goodsType ? "类型," : '') + (!row.number ? "件数," : '') + (!row.netWeight ? "净重," : '') + (!row.amount ? "总金额" : '') + "不能为空");
  1837. }
  1838. this.$set(row, "$cellEdit", false);
  1839. } else {
  1840. this.$set(row, "$cellEdit", true);
  1841. }
  1842. }
  1843. if (name == '箱删除') {
  1844. if (row.id) {
  1845. const loading = this.$loading({
  1846. lock: true,
  1847. text: '加载中',
  1848. spinner: 'el-icon-loading',
  1849. background: 'rgba(255,255,255,0.7)'
  1850. });
  1851. precontainersRemove(row.id).then(res => {
  1852. this.$message.success("删除成功");
  1853. this.form.preContainersList.splice(index, 1);
  1854. }).finally(() => {
  1855. loading.close()
  1856. })
  1857. } else {
  1858. this.$message.success("删除成功");
  1859. this.form.preContainersList.splice(index, 1);
  1860. }
  1861. }
  1862. if (name == '派车编辑') {
  1863. if (row.$cellEdit == true) {
  1864. const loading = this.$loading({
  1865. lock: true,
  1866. text: '加载中',
  1867. spinner: 'el-icon-loading',
  1868. background: 'rgba(255,255,255,0.7)'
  1869. });
  1870. submitList1(this.form.dispatchVehiclesList).then(res => {
  1871. this.form.dispatchVehiclesList = res.data.data
  1872. this.$message.success("保存成功");
  1873. }).finally(() => {
  1874. loading.close()
  1875. })
  1876. this.$set(row, "$cellEdit", false);
  1877. } else {
  1878. this.$set(row, "$cellEdit", true);
  1879. }
  1880. }
  1881. if (name == '入库编辑') {
  1882. if (row.$cellEdit == true) {
  1883. const loading = this.$loading({
  1884. lock: true,
  1885. text: '加载中',
  1886. spinner: 'el-icon-loading',
  1887. background: 'rgba(255,255,255,0.7)'
  1888. });
  1889. submitList2(this.form.inStorageList).then(res => {
  1890. this.form.inStorageList = res.data.data
  1891. this.$message.success("保存成功");
  1892. }).finally(() => {
  1893. loading.close()
  1894. })
  1895. this.$set(row, "$cellEdit", false);
  1896. } else {
  1897. this.$set(row, "$cellEdit", true);
  1898. }
  1899. }
  1900. if (name == '出库编辑') {
  1901. if (row.$cellEdit == true) {
  1902. const loading = this.$loading({
  1903. lock: true,
  1904. text: '加载中',
  1905. spinner: 'el-icon-loading',
  1906. background: 'rgba(255,255,255,0.7)'
  1907. });
  1908. submitList2(this.form.outStorageList).then(res => {
  1909. this.form.outStorageList = res.data.data
  1910. this.$message.success("保存成功");
  1911. }).finally(() => {
  1912. loading.close()
  1913. })
  1914. this.$set(row, "$cellEdit", false);
  1915. } else {
  1916. this.$set(row, "$cellEdit", true);
  1917. }
  1918. }
  1919. if (name == '派车') {
  1920. if (!row.id) {
  1921. return this.$message.error('请保存数据');
  1922. }
  1923. if (row.whetherMachineInspection == 1) {
  1924. if (!row.inspectionType || !row.inspectionDate) {
  1925. return this.$message.error((!row.inspectionType ? "查验类型," : '') + (!row.inspectionDate ? "查验时间" : '') + "不能为空");
  1926. }
  1927. }
  1928. let obj = {
  1929. ...row,
  1930. type: 1,
  1931. }
  1932. if (row.whetherDispatchVehicles == 1) {
  1933. const loading = this.$loading({
  1934. lock: true,
  1935. text: '加载中',
  1936. spinner: 'el-icon-loading',
  1937. background: 'rgba(255,255,255,0.7)'
  1938. });
  1939. revokePrecontainers(obj).then(res => {
  1940. this.$message.success("撤销成功");
  1941. this.getDetails(this.form.id)
  1942. }).finally(() => {
  1943. loading.close()
  1944. })
  1945. } else {
  1946. const loading = this.$loading({
  1947. lock: true,
  1948. text: '加载中',
  1949. spinner: 'el-icon-loading',
  1950. background: 'rgba(255,255,255,0.7)'
  1951. });
  1952. generateDispatchVehicles(obj).then(res => {
  1953. this.$message.success("派车成功");
  1954. this.getDetails(this.form.id)
  1955. }).finally(() => {
  1956. loading.close()
  1957. })
  1958. }
  1959. }
  1960. if (name == '自提') {
  1961. if (!row.id) {
  1962. return this.$message.error('请保存数据');
  1963. }
  1964. let obj = {
  1965. ...row,
  1966. type: 2,
  1967. }
  1968. if (row.whetherDispatchVehicles == 1) {
  1969. const loading = this.$loading({
  1970. lock: true,
  1971. text: '加载中',
  1972. spinner: 'el-icon-loading',
  1973. background: 'rgba(255,255,255,0.7)'
  1974. });
  1975. revokePrecontainers(obj).then(res => {
  1976. this.$message.success("撤销成功");
  1977. this.getDetails(this.form.id)
  1978. }).finally(() => {
  1979. loading.close()
  1980. })
  1981. } else {
  1982. const loading = this.$loading({
  1983. lock: true,
  1984. text: '加载中',
  1985. spinner: 'el-icon-loading',
  1986. background: 'rgba(255,255,255,0.7)'
  1987. });
  1988. generateDispatchVehicles(obj).then(res => {
  1989. this.$message.success("自提成功");
  1990. this.getDetails(this.form.id)
  1991. }).finally(() => {
  1992. loading.close()
  1993. })
  1994. }
  1995. }
  1996. // if (name == '派车删除') {
  1997. // const loading = this.$loading({
  1998. // lock: true,
  1999. // text: '加载中',
  2000. // spinner: 'el-icon-loading',
  2001. // background: 'rgba(255,255,255,0.7)'
  2002. // });
  2003. // dispatchvehiclesRemove({ ids: row.id }).then(res => {
  2004. // this.$message.success("删除成功");
  2005. // this.form.dispatchVehiclesList.splice(index, 1);
  2006. // }).finally(() => {
  2007. // loading.close()
  2008. // })
  2009. // }
  2010. if (name == '还箱') {
  2011. if (row.whetherReturn == 1) {
  2012. const loading = this.$loading({
  2013. lock: true,
  2014. text: '加载中',
  2015. spinner: 'el-icon-loading',
  2016. background: 'rgba(255,255,255,0.7)'
  2017. });
  2018. revokeReturnBox(row).then(res => {
  2019. this.$message.success("撤销成功");
  2020. this.getDetails(this.form.id)
  2021. }).finally(() => {
  2022. loading.close()
  2023. })
  2024. } else {
  2025. this.boxForm = row
  2026. this.boxVisible = true
  2027. }
  2028. }
  2029. if (name == '查验/倒柜派车') {
  2030. if (row.whetherInspection == 1) {
  2031. const loading = this.$loading({
  2032. lock: true,
  2033. text: '加载中',
  2034. spinner: 'el-icon-loading',
  2035. background: 'rgba(255,255,255,0.7)'
  2036. });
  2037. revokeInspection(row).then(res => {
  2038. this.$message.success("撤销成功");
  2039. this.getDetails(this.form.id)
  2040. }).finally(() => {
  2041. loading.close()
  2042. })
  2043. } else {
  2044. this.carForm = row
  2045. this.carVisible = true
  2046. }
  2047. }
  2048. if (name == '入库派车') {
  2049. if (!row.fleetName || !row.licenseNumber || !row.fullName || !row.contactInformation || !row.deliveryDate || !row.deliveryAddressName) {
  2050. return this.$message.error((!row.fleetName ? "承运车队," : '') + (!row.licenseNumber ? "车号," : '') + (!row.fullName ? "姓名," : '') + (!row.contactInformation ? "联系方式," : '') + (!row.deliveryDate ? "送货时间," : null) + (!row.deliveryAddressName ? "送货地点" : null) + "不能为空");
  2051. }
  2052. if (row.whetherDispatchVehicles == 1) {
  2053. const loading = this.$loading({
  2054. lock: true,
  2055. text: '加载中',
  2056. spinner: 'el-icon-loading',
  2057. background: 'rgba(255,255,255,0.7)'
  2058. });
  2059. revokeDispatchVehicles(row).then(res => {
  2060. this.$message.success("撤销成功");
  2061. this.optionForm.disabled = false
  2062. this.getDetails(this.form.id)
  2063. }).finally(() => {
  2064. loading.close()
  2065. })
  2066. } else {
  2067. console.log(row)
  2068. const loading = this.$loading({
  2069. lock: true,
  2070. text: '加载中',
  2071. spinner: 'el-icon-loading',
  2072. background: 'rgba(255,255,255,0.7)'
  2073. });
  2074. confirmDispatchVehicles(row).then(res => {
  2075. this.$message.success("派车成功");
  2076. this.optionForm.disabled = true
  2077. this.getDetails(this.form.id)
  2078. }).finally(() => {
  2079. loading.close()
  2080. })
  2081. }
  2082. }
  2083. if (name == '生成入库') {
  2084. if (!row.fleetName || !row.licenseNumber || !row.fullName || !row.contactInformation || !row.deliveryDate || !row.deliveryAddressName) {
  2085. return this.$message.error((!row.fleetName ? "承运车队," : '') + (!row.licenseNumber ? "车号," : '') + (!row.fullName ? "姓名," : '') + (!row.contactInformation ? "联系方式," : '') + (!row.deliveryDate ? "送货时间," : null) + (!row.deliveryAddressName ? "送货地点" : null) + "不能为空");
  2086. }
  2087. if (row.whetherWarehouseEntry == 1) {
  2088. const loading = this.$loading({
  2089. lock: true,
  2090. text: '加载中',
  2091. spinner: 'el-icon-loading',
  2092. background: 'rgba(255,255,255,0.7)'
  2093. });
  2094. revokeWarehouseEntry(row).then(res => {
  2095. this.$message.success("撤销成功");
  2096. this.getDetails(this.form.id)
  2097. }).finally(() => {
  2098. loading.close()
  2099. })
  2100. } else {
  2101. const loading = this.$loading({
  2102. lock: true,
  2103. text: '加载中',
  2104. spinner: 'el-icon-loading',
  2105. background: 'rgba(255,255,255,0.7)'
  2106. });
  2107. generateWarehouseEntry(row).then(res => {
  2108. this.$message.success("生成入库成功");
  2109. this.getDetails(this.form.id)
  2110. }).finally(() => {
  2111. loading.close()
  2112. })
  2113. }
  2114. }
  2115. if (name == '入库确认') {
  2116. if (!this.form.eta || !row.storageDate || !row.warehouseName) {
  2117. return this.$message.error((!this.form.eta ? "基础信息的实际到港," : '') + (!row.storageDate ? "入库时间," : '') + (!row.warehouseName ? "仓库" : '') + "不能为空");
  2118. }
  2119. if (row.confirmDispatchVehicles == 1) {
  2120. const loading = this.$loading({
  2121. lock: true,
  2122. text: '加载中',
  2123. spinner: 'el-icon-loading',
  2124. background: 'rgba(255,255,255,0.7)'
  2125. });
  2126. revokeInoutstorage(row).then(res => {
  2127. this.$message.success("撤销成功");
  2128. this.getDetails(this.form.id)
  2129. }).finally(() => {
  2130. loading.close()
  2131. })
  2132. } else {
  2133. calculationWarehouseUnitPrice(row).then(res => {
  2134. this.$confirm(res.data.data, '提示', {
  2135. confirmButtonText: '确定',
  2136. cancelButtonText: '取消',
  2137. dangerouslyUseHTMLString: true,
  2138. }).then(() => {
  2139. const loading = this.$loading({
  2140. lock: true,
  2141. text: '加载中',
  2142. spinner: 'el-icon-loading',
  2143. background: 'rgba(255,255,255,0.7)'
  2144. });
  2145. confirmWarehouseEntry(row).then(res => {
  2146. this.$message.success("入库成功");
  2147. this.getDetails(this.form.id)
  2148. }).finally(() => {
  2149. loading.close()
  2150. })
  2151. })
  2152. })
  2153. }
  2154. }
  2155. if (name == '生成出库') {
  2156. if (!row.warehouseName || !row.warehouseUnitPrice) {
  2157. return this.$message.error((!row.warehouseName ? "仓库," : '') + (!row.warehouseUnitPrice ? "仓储单价" : '') + "不能为空");
  2158. }
  2159. const loading = this.$loading({
  2160. lock: true,
  2161. text: '加载中',
  2162. spinner: 'el-icon-loading',
  2163. background: 'rgba(255,255,255,0.7)'
  2164. });
  2165. generateOutbound(row).then(res => {
  2166. this.$message.success("生成出库成功");
  2167. this.getDetails(this.form.id)
  2168. }).finally(() => {
  2169. loading.close()
  2170. })
  2171. }
  2172. if (name == '撤销出库') {
  2173. if (!row.warehouseName || !row.warehouseUnitPrice) {
  2174. return this.$message.error((!row.warehouseName ? "仓库," : '') + (!row.warehouseUnitPrice ? "仓储单价" : '') + "不能为空");
  2175. }
  2176. const loading = this.$loading({
  2177. lock: true,
  2178. text: '加载中',
  2179. spinner: 'el-icon-loading',
  2180. background: 'rgba(255,255,255,0.7)'
  2181. });
  2182. revokeOutbound(row).then(res => {
  2183. this.$message.success("撤销成功");
  2184. this.getDetails(this.form.id)
  2185. }).finally(() => {
  2186. loading.close()
  2187. })
  2188. }
  2189. if (name == '出库确认') {
  2190. if (!row.outStorageDate || !row.outQuantity || !row.outWeight) {
  2191. return this.$message.error((!row.outStorageDate ? "出库时间," : '') + (!row.outQuantity ? "出库件数," : '') + (!row.outWeight ? "出库重量" : '') + "不能为空");
  2192. }
  2193. if (row.confirmDispatchVehicles == 1) {
  2194. const loading = this.$loading({
  2195. lock: true,
  2196. text: '加载中',
  2197. spinner: 'el-icon-loading',
  2198. background: 'rgba(255,255,255,0.7)'
  2199. });
  2200. revokeInoutstorage(row).then(res => {
  2201. this.$message.success("撤销成功");
  2202. this.getDetails(this.form.id)
  2203. }).finally(() => {
  2204. loading.close()
  2205. })
  2206. } else {
  2207. const loading = this.$loading({
  2208. lock: true,
  2209. text: '加载中',
  2210. spinner: 'el-icon-loading',
  2211. background: 'rgba(255,255,255,0.7)'
  2212. });
  2213. confirmWarehouseEntry(row).then(res => {
  2214. this.$message.success("出库成功");
  2215. this.getDetails(this.form.id)
  2216. }).finally(() => {
  2217. loading.close()
  2218. })
  2219. }
  2220. }
  2221. if (name == '开票') {
  2222. this.$message.error("待开发");
  2223. }
  2224. if (name == '出库删除') {
  2225. const loading = this.$loading({
  2226. lock: true,
  2227. text: '加载中',
  2228. spinner: 'el-icon-loading',
  2229. background: 'rgba(255,255,255,0.7)'
  2230. });
  2231. inoutstorageRemove({ ids: row.id }).then(res => {
  2232. this.$message.success("删除成功");
  2233. this.form.outStorageList.splice(index, 1);
  2234. }).finally(() => {
  2235. loading.close()
  2236. })
  2237. }
  2238. },
  2239. getDetails(id) {
  2240. const loading = this.$loading({
  2241. lock: true,
  2242. text: '加载中',
  2243. spinner: 'el-icon-loading',
  2244. background: 'rgba(255,255,255,0.7)'
  2245. });
  2246. getDetail({ id: id }).then(res => {
  2247. this.form = res.data.data
  2248. this.oldForm = this.deepClone(res.data.data)
  2249. this.inLock()
  2250. this.$refs.crud.dicInit();
  2251. this.$refs.crud3.dicInit();
  2252. }).finally(() => {
  2253. loading.close()
  2254. })
  2255. },
  2256. getCopydate(id) {
  2257. const loading = this.$loading({
  2258. lock: true,
  2259. text: '加载中',
  2260. spinner: 'el-icon-loading',
  2261. background: 'rgba(255,255,255,0.7)'
  2262. });
  2263. billsCopyBills({ id: id }).then(res => {
  2264. console.log(res.data.data, 33333333333333)
  2265. res.data.data.billNoFormat = 'HYJK'
  2266. res.data.data.businessTypeCode = 'HYJK'
  2267. this.form = res.data.data
  2268. }).finally(() => {
  2269. loading.close()
  2270. })
  2271. },
  2272. inEdit() {
  2273. this.editButton = false
  2274. if (this.form.status == 0 || this.form.status == 4) {
  2275. if (this.form.dispatchVehiclesList.findIndex(item => item.whetherDispatchVehicles == '1') == -1) {
  2276. this.optionForm.disabled = false
  2277. }
  2278. this.editDisabled = false
  2279. }
  2280. },
  2281. allClick(name) {
  2282. },
  2283. submit(type) {
  2284. this.$refs["form"].validate((valid, done) => {
  2285. done();
  2286. if (valid) {
  2287. for (let row of this.form.preContainersList) {
  2288. console.log(row)
  2289. if (!row.cntrTypeCode || !row.boxNo || !row.goodsName || !row.goodsType || !row.number || !row.netWeight || !row.amount) {
  2290. return this.$message.error("箱信息:" + (!row.cntrTypeCode ? "箱型," : '') + (!row.boxNo ? "箱号," : '') + (!row.goodsName ? "品名," : '') + (!row.goodsType ? "类型," : '') + (!row.number ? "件数," : '') + (!row.netWeight ? "净重," : '') + (!row.amount ? "总金额" : '') + "不能为空");
  2291. }
  2292. }
  2293. if (this.$refs.feeInfo.submitValidate()) {
  2294. const loading = this.$loading({
  2295. lock: true,
  2296. text: '加载中',
  2297. spinner: 'el-icon-loading',
  2298. background: 'rgba(255,255,255,0.7)'
  2299. });
  2300. submit(this.form).then(res => {
  2301. this.$message.success("保存成功");
  2302. if (type == 'goBack') {
  2303. if (this.form.id) {
  2304. this.unLock({
  2305. moduleName: "SI",
  2306. tableName: "SI_Detail",
  2307. billId: this.form.id,
  2308. billNo: this.form.mblno
  2309. });
  2310. }
  2311. this.$emit("goBack", type);
  2312. this.$emit('updateKey')
  2313. }
  2314. this.getDetails(res.data.data.id)
  2315. }).finally(() => {
  2316. loading.close();
  2317. })
  2318. }
  2319. } else {
  2320. return false;
  2321. }
  2322. });
  2323. },
  2324. application() {
  2325. if (this.form.feeCenterListD.length == 0 && this.form.feeCenterListC.length == 0) return this.$message.error("费用不能为空");
  2326. if (this.$refs.feeInfo.submitValidate()) {
  2327. this.$confirm("确定请核数据?", {
  2328. confirmButtonText: "确定",
  2329. cancelButtonText: "取消",
  2330. type: "warning"
  2331. }).then(() => {
  2332. let obj = {}
  2333. obj = {
  2334. id: this.form.id,
  2335. url: '/tradeAgency/oceanFreightImport/index',
  2336. pageStatus: '',
  2337. pageLabel: '海运进口(T)',
  2338. }
  2339. const loading = this.$loading({
  2340. lock: true,
  2341. text: '加载中',
  2342. spinner: 'el-icon-loading',
  2343. background: 'rgba(255,255,255,0.7)'
  2344. });
  2345. checkAgent(obj).then(res => {
  2346. this.$message.success("请核成功");
  2347. this.editDisabled = true
  2348. this.optionForm.disabled = true
  2349. this.getDetails(res.data.data.id)
  2350. }).finally(() => {
  2351. loading.close();
  2352. })
  2353. });
  2354. }
  2355. },
  2356. revokeApplication() {
  2357. this.$confirm("确定撤销请核?", {
  2358. confirmButtonText: "确定",
  2359. cancelButtonText: "取消",
  2360. type: "warning"
  2361. }).then(() => {
  2362. let obj = {}
  2363. obj = {
  2364. id: this.form.id,
  2365. }
  2366. const loading = this.$loading({
  2367. lock: true,
  2368. text: '加载中',
  2369. spinner: 'el-icon-loading',
  2370. background: 'rgba(255,255,255,0.7)'
  2371. });
  2372. revokeCheckAgent(obj).then(res => {
  2373. this.$message.success("撤销请核成功");
  2374. this.getDetails(res.data.data.id)
  2375. this.editDisabled = false
  2376. this.optionForm.disabled = false
  2377. }).finally(() => {
  2378. loading.close();
  2379. })
  2380. });
  2381. },
  2382. //请核关闭
  2383. choceScheduleFun() {
  2384. this.checkScheduleDialog = false
  2385. },
  2386. //自定义列保存
  2387. async saveColumn(ref, option, optionBack, code) {
  2388. const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
  2389. if (inSave) {
  2390. this.$message.success("保存成功");
  2391. //关闭窗口
  2392. this.$refs[ref].$refs.dialogColumn.columnBox = false;
  2393. }
  2394. },
  2395. //自定义列重置
  2396. async resetColumn(ref, option, optionBack, code) {
  2397. this[option] = this[optionBack];
  2398. const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
  2399. if (inSave) {
  2400. this.$message.success("重置成功");
  2401. this.$refs[ref].$refs.dialogColumn.columnBox = false;
  2402. }
  2403. },
  2404. goBack(type) {
  2405. if (contrastObj(this.form, this.oldForm) || contrastList(this.form.preContainersList, this.oldForm.preContainersList) || contrastList(this.form.feeCenterListD, this.oldForm.feeCenterListD) || contrastList(this.form.feeCenterListC, this.oldForm.feeCenterListC) || contrastList(this.form.filesList, this.oldForm.filesList)) {
  2406. this.$confirm("数据发生变化未有提交记录, 是否提交?", "提示", {
  2407. confirmButtonText: "确定",
  2408. cancelButtonText: "取消",
  2409. type: "warning"
  2410. })
  2411. .then(() => {
  2412. this.submit('goBack')
  2413. })
  2414. .catch(() => {
  2415. if (this.form.id) {
  2416. this.unLock({
  2417. moduleName: "SI",
  2418. tableName: "SI_Detail",
  2419. billId: this.form.id,
  2420. billNo: this.form.mblno
  2421. });
  2422. }
  2423. this.$emit("goBack", type);
  2424. this.$emit('updateKey')
  2425. });
  2426. } else {
  2427. if (this.form.id) {
  2428. this.unLock({
  2429. moduleName: "SI",
  2430. tableName: "SI_Detail",
  2431. billId: this.form.id,
  2432. billNo: this.form.mblno
  2433. });
  2434. }
  2435. this.$emit("goBack", type);
  2436. this.$emit('updateKey')
  2437. }
  2438. },
  2439. }
  2440. }
  2441. </script>
  2442. <style lang="scss" scoped>
  2443. ::v-deep .el-form-item {
  2444. margin-bottom: 8px !important;
  2445. }
  2446. ::v-deep .el-table .cell {
  2447. padding: 0 2px !important;
  2448. .el-form-item {
  2449. margin-bottom: 0px !important;
  2450. }
  2451. }
  2452. ::v-deep .avue-crud .el-table .el-form-item__label {
  2453. left: -1px;
  2454. }
  2455. ::v-deep#out-table .back-one {
  2456. background: #ecf5ff !important;
  2457. }
  2458. ::v-deep#out-table .back-two {
  2459. background: #ecf5ff !important;
  2460. }
  2461. ::v-deep .el-table--small td,
  2462. .el-table--small th {
  2463. padding: 2px !important;
  2464. }
  2465. ::v-deep .el-card__body {
  2466. padding: 3px 10px;
  2467. }
  2468. </style>