index.vue 120 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794
  1. <template>
  2. <div class="app-container">
  3. <el-form
  4. :model="queryParams"
  5. ref="queryForm"
  6. :inline="true"
  7. v-show="showSearch"
  8. label-width="88px"
  9. >
  10. <el-form-item label="业务编号" prop="fBillno">
  11. <el-input
  12. v-model="queryParams.fBillno"
  13. placeholder="请输入业务编号"
  14. clearable
  15. size="small"
  16. @keyup.enter.native="handleQuery"
  17. />
  18. </el-form-item>
  19. <el-form-item label="制单人" prop="createBy">
  20. <el-select
  21. v-model="queryParams.createBy"
  22. filterable
  23. remote
  24. clearable
  25. style="width: 80%"
  26. :remote-method="userRemoteMethod"
  27. placeholder="请选择制单人"
  28. >
  29. <el-option
  30. v-for="(dict, index) in userOptions"
  31. :key="index.userName"
  32. :label="dict.nickName"
  33. :value="dict.userName"
  34. ></el-option>
  35. </el-select>
  36. </el-form-item>
  37. <el-form-item label="出库日期" prop="timeInterval">
  38. <el-date-picker
  39. v-model="queryParams.timeInterval"
  40. type="daterange"
  41. value-format="yyyy-MM-dd"
  42. clearable
  43. range-separator="至"
  44. start-placeholder="开始日期"
  45. end-placeholder="结束日期"
  46. @keyup.enter.native="handleQuery"
  47. >
  48. </el-date-picker>
  49. </el-form-item>
  50. <el-form-item label="贸易方式" prop="fTrademodeid">
  51. <el-select
  52. v-model="queryParams.fTrademodeid"
  53. placeholder="请选择贸易方式"
  54. clearable
  55. style="width: 80%"
  56. @keyup.enter.native="handleQuery"
  57. >
  58. <el-option
  59. v-for="(dict, index) in fTrademodeidOptions"
  60. :key="index.dictValue"
  61. :label="dict.dictLabel"
  62. :value="dict.dictValue"
  63. />
  64. </el-select>
  65. </el-form-item>
  66. <el-form-item label="货权方" prop="fCorpid">
  67. <el-select
  68. v-model="queryParams.fCorpid"
  69. filterable
  70. remote
  71. clearable
  72. style="width: 80%"
  73. @keyup.enter.native="handleQuery"
  74. :remote-method="corpsRemoteMethod"
  75. placeholder="请选择货权方"
  76. >
  77. <el-option
  78. v-for="(dict, index) in fMblnoOptions"
  79. :key="index.fId"
  80. :label="dict.fName"
  81. :value="dict.fId"
  82. ></el-option>
  83. </el-select>
  84. </el-form-item>
  85. <el-form-item label="提单号" prop="fMblno">
  86. <el-input
  87. v-model="queryParams.fMblno"
  88. placeholder="请输入提单号"
  89. clearable
  90. size="small"
  91. @keyup.enter.native="handleQuery"
  92. />
  93. </el-form-item>
  94. <el-form-item label="经营单位" prop="fSbu">
  95. <el-select
  96. v-model="queryParams.fSbu"
  97. filterable
  98. remote
  99. clearable
  100. :remote-method="fSbuRemoteMethod"
  101. @keyup.enter.native="handleQuery"
  102. style="width: 80%"
  103. placeholder="请选择经营单位"
  104. >
  105. <el-option
  106. v-for="(dict, index) in fSbuOptions"
  107. :key="index.fId"
  108. :label="dict.fName"
  109. :value="dict.fId"
  110. ></el-option>
  111. </el-select>
  112. </el-form-item>
  113. <el-form-item label="货物名称" prop="fGoodsid">
  114. <el-select
  115. v-model="queryParams.fGoodsid"
  116. filterable
  117. remote
  118. clearable
  119. :remote-method="goodsRemoteMethod"
  120. @keyup.enter.native="handleQuery"
  121. placeholder="请选择货物名称"
  122. >
  123. <el-option
  124. v-for="(dict, index) in goodsOptions"
  125. :key="index.fId"
  126. :label="dict.fName"
  127. :value="dict.fId"
  128. ></el-option>
  129. </el-select>
  130. </el-form-item>
  131. <el-form-item label="仓库" prop="fWarehouseid">
  132. <el-select
  133. v-model="queryParams.fWarehouseid"
  134. filterable
  135. :disabled="browseStatus"
  136. remote
  137. clearable
  138. style="width: 80%"
  139. :remote-method="warehouseRemoteMethod"
  140. @keyup.enter.native="handleQuery"
  141. placeholder="请选择仓库"
  142. >
  143. <el-option
  144. v-for="(dict, index) in warehouseOptions"
  145. :key="index.fId"
  146. :label="dict.fName"
  147. :value="dict.fId"
  148. ></el-option>
  149. </el-select>
  150. </el-form-item>
  151. <el-form-item label="唛头" prop="fMarks">
  152. <el-input
  153. v-model="queryParams.fMarks"
  154. placeholder="请输入唛头"
  155. clearable
  156. size="small"
  157. style="width: 80%"
  158. @keyup.enter.native="handleQuery"
  159. />
  160. </el-form-item>
  161. <el-form-item>
  162. <el-button
  163. type="cyan"
  164. icon="el-icon-search"
  165. size="mini"
  166. @click="handleQuery"
  167. >搜索
  168. </el-button>
  169. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
  170. >重置
  171. </el-button>
  172. </el-form-item>
  173. </el-form>
  174. <el-row :gutter="10" class="mb8">
  175. <el-col :span="1.5">
  176. <el-button
  177. type="primary"
  178. icon="el-icon-plus"
  179. size="mini"
  180. @click="handleAdd(false)"
  181. v-hasPermi="['warehouseBusiness:warehousebills:add']"
  182. >新增
  183. </el-button>
  184. </el-col>
  185. <el-col :span="1.5">
  186. <el-button
  187. type="success"
  188. icon="el-icon-edit"
  189. size="mini"
  190. :disabled="single"
  191. @click="handleUpdate"
  192. v-hasPermi="['warehouseBusiness:warehousebills:edit']"
  193. >修改
  194. </el-button>
  195. </el-col>
  196. <el-col :span="1.5">
  197. <el-button
  198. type="danger"
  199. icon="el-icon-delete"
  200. size="mini"
  201. :disabled="multiple"
  202. @click="handleDelete"
  203. v-hasPermi="['warehouseBusiness:warehousebills:remove']"
  204. >删除
  205. </el-button>
  206. </el-col>
  207. <el-col :span="1.5">
  208. <el-button
  209. type="warning"
  210. icon="el-icon-download"
  211. size="mini"
  212. @click="handleExport"
  213. v-hasPermi="['warehouseBusiness:warehousebills:export']"
  214. >导出
  215. </el-button>
  216. </el-col>
  217. <el-col :span="1.5">
  218. <el-button
  219. type="warning"
  220. icon="el-icon-download"
  221. size="mini"
  222. @click="handleExport"
  223. :disabled="multiple"
  224. v-hasPermi="['warehouseBusiness:warehousebills:export']"
  225. >导入
  226. </el-button>
  227. </el-col>
  228. <right-toolbar
  229. :showSearch.sync="showSearch"
  230. @queryTable="getList"
  231. ></right-toolbar>
  232. </el-row>
  233. <el-table
  234. v-loading="loading"
  235. :data="warehousebillsList"
  236. @selection-change="handleSelectionChange"
  237. >
  238. <el-table-column type="selection" width="55" align="center" />
  239. <el-table-column type="index" label="行号" align="center" />
  240. <el-table-column
  241. :show-overflow-tooltip="true"
  242. label="货权方"
  243. align="center"
  244. prop="fCorpid"
  245. />
  246. <el-table-column label="提单号" align="center" prop="fMblno" />
  247. <el-table-column
  248. label="唛头"
  249. align="center"
  250. prop="fMarks"
  251. />
  252. <el-table-column
  253. label="出库日期"
  254. align="center"
  255. prop="createTime"
  256. width="180"
  257. ><template slot-scope="scope">
  258. <span>{{ parseTime(scope.row.fBsdate, "{y}-{m}-{d}") }}</span>
  259. </template>
  260. </el-table-column>
  261. <!-- <el-table-column
  262. label="贸易方式"
  263. align="center"
  264. prop="fTrademodeid"
  265. :formatter="fTrademodeidFormat"
  266. /> -->
  267. <el-table-column label="仓库" align="center" prop="fWarehouseid" />
  268. <el-table-column label="出库件数" align="center" prop="fQty" />
  269. <!-- <el-table-column label="入库毛重" align="center" prop="fGrossweight"/>-->
  270. <!-- <el-table-column label="货转客户名称" align="center" prop="fTocorpid" /> -->
  271. <el-table-column label="出库毛重" align="center" prop="fGrossweight" />
  272. <el-table-column label="净重" align="center" prop="fNetweight" />
  273. <el-table-column
  274. width="100"
  275. label="入库状态"
  276. align="center"
  277. prop="fItemsStatus">
  278. <template slot-scope="scope">
  279. <span v-if="scope.row.fItemsStatus === '1'">未入账</span>
  280. <span v-if="scope.row.fItemsStatus === '2'">部分入账</span>
  281. <span v-if="scope.row.fItemsStatus === '6'">全部入账</span>
  282. </template>
  283. </el-table-column>
  284. <el-table-column
  285. width="100"
  286. label="费用状态"
  287. align="center"
  288. prop="fBillstatus">
  289. <template slot-scope="scope">
  290. <span v-if="scope.row.fBillstatus === '1'">录入</span>
  291. <span v-if="scope.row.fBillstatus === '2'">录入</span>
  292. <span v-if="scope.row.fBillstatus === '3'">驳回</span>
  293. <span v-if="scope.row.fBillstatus === '4'">请核</span>
  294. <span v-if="scope.row.fBillstatus === '5'">审核中</span>
  295. <span v-if="scope.row.fBillstatus === '6'">全部入账</span>
  296. </template>
  297. </el-table-column>
  298. <el-table-column
  299. label="操作"
  300. align="center"
  301. class-name="small-padding fixed-width"
  302. width="180"
  303. >
  304. <template slot-scope="scope">
  305. <el-button
  306. size="mini"
  307. type="text"
  308. icon="el-icon-edit"
  309. v-if="scope.row.fBillstatus === '6'"
  310. @click="handleUpdate(scope.row, true)"
  311. v-hasPermi="['warehouseBusiness:warehousebills:edit']"
  312. >查看
  313. </el-button>
  314. <el-button
  315. size="mini"
  316. type="text"
  317. icon="el-icon-edit"
  318. v-if="scope.row.fBillstatus === '1' || scope.row.fBillstatus === '2' || scope.row.fBillstatus === '3'"
  319. @click="handleUpdate(scope.row, false)"
  320. v-hasPermi="['warehouseBusiness:warehousebills:edit']"
  321. >修改
  322. </el-button>
  323. <el-button
  324. size="mini"
  325. type="text"
  326. icon="el-icon-delete"
  327. @click="handleDelete(scope.row)"
  328. v-if="scope.row.fBillstatus !== '6' && scope.row.fItemsStatus === '1'"
  329. v-hasPermi="['warehouseBusiness:warehousebills:remove']"
  330. >删除
  331. </el-button>
  332. </template>
  333. </el-table-column>
  334. </el-table>
  335. <pagination
  336. v-show="total > 0"
  337. :total="total"
  338. :page.sync="queryParams.pageNum"
  339. :limit.sync="queryParams.pageSize"
  340. @pagination="getList"
  341. />
  342. <!-- 新增或修改仓库主(出入库)对话框 -->
  343. <el-dialog
  344. :visible.sync="open"
  345. :close-on-click-modal="false"
  346. width="80%"
  347. append-to-body
  348. >
  349. <el-form ref="form" :model="form" :rules="rules" label-width="120px">
  350. <el-row>
  351. <el-col :span="8">
  352. <el-form-item label="货权方" prop="fCorpid">
  353. <el-select
  354. v-model="form.fCorpid"
  355. filterable
  356. remote
  357. :disabled="browseStatus || formBrowseStatus"
  358. @change="changefCorpid(form)"
  359. style="width: 80%"
  360. :remote-method="corpsRemoteMethod"
  361. placeholder="请输入模糊查找"
  362. >
  363. <el-option
  364. v-for="(dict, index) in fMblnoOptions"
  365. :key="index.fId"
  366. :label="dict.fName"
  367. :value="dict.fId"
  368. ></el-option>
  369. </el-select>
  370. </el-form-item>
  371. </el-col>
  372. <el-col :span="8">
  373. <el-form-item label="结算方式" prop="fstltypeid">
  374. <el-select
  375. v-model="form.fStltypeid"
  376. placeholder="请选择结算方式"
  377. :disabled="browseStatus || formBrowseStatus"
  378. clearable
  379. style="width: 80%"
  380. >
  381. <el-option
  382. v-for="(dict, index) in fStltypeOptions"
  383. :key="index.dictValue"
  384. :label="dict.dictLabel"
  385. :value="dict.dictValue"
  386. />
  387. </el-select>
  388. </el-form-item>
  389. </el-col>
  390. <el-col :span="8">
  391. <el-form-item label="提单号" prop="fMblno">
  392. <el-input
  393. v-model="form.fMblno"
  394. style="width: 80%"
  395. :disabled="browseStatus || formBrowseStatus"
  396. placeholder="手工输入"
  397. />
  398. </el-form-item>
  399. </el-col>
  400. </el-row>
  401. <el-row>
  402. <el-col :span="8">
  403. <el-form-item label="业务日期" prop="fBsdate">
  404. <el-date-picker
  405. v-model="form.fBsdate"
  406. style="width: 80%"
  407. type="date"
  408. :disabled="browseStatus || formBrowseStatus"
  409. @change="changefBsdate"
  410. value-format="timestamp"
  411. placeholder="业务日期"
  412. >
  413. </el-date-picker>
  414. </el-form-item>
  415. </el-col>
  416. <el-col :span="8">
  417. <el-form-item label="仓管员" prop="fStorekeeper">
  418. <el-select
  419. v-model="form.fStorekeeper"
  420. filterable
  421. remote
  422. :disabled="browseStatus || formBrowseStatus"
  423. style="width: 80%"
  424. :remote-method="userRemoteMethod"
  425. placeholder="请输入模糊查找"
  426. >
  427. <el-option
  428. v-for="dict in userOptions"
  429. :key="dict.userName"
  430. :label="dict.nickName"
  431. :value="dict.userName"
  432. ></el-option>
  433. </el-select>
  434. </el-form-item>
  435. </el-col>
  436. <el-col :span="8">
  437. <el-form-item label="仓库" prop="fWarehouseid">
  438. <el-select
  439. v-model="form.fWarehouseid"
  440. filterable
  441. remote
  442. :disabled="browseStatus || formBrowseStatus"
  443. style="width: 80%"
  444. :remote-method="warehouseRemoteMethod"
  445. placeholder="请输入模糊查找"
  446. >
  447. <el-option
  448. v-for="(dict, index) in warehouseOptions"
  449. :key="index.fId"
  450. :label="dict.fName"
  451. :value="dict.fId"
  452. ></el-option>
  453. </el-select>
  454. </el-form-item>
  455. </el-col>
  456. </el-row>
  457. <el-row>
  458. <el-col :span="8">
  459. <el-form-item label="存货编号" prop="fBscorpno">
  460. <el-input
  461. disabled
  462. v-model="form.fBscorpno"
  463. style="width: 80%"
  464. laceholder="存货编号"
  465. />
  466. </el-form-item>
  467. </el-col>
  468. <el-col :span="8">
  469. <el-form-item label="破损" prop="fifdamage">
  470. <el-select
  471. v-model="form.fIfdamage"
  472. placeholder="请选择是否破损"
  473. :disabled="browseStatus || formBrowseStatus"
  474. clearable
  475. style="width: 80%"
  476. >
  477. <el-option
  478. v-for="dict in fIfdamageOptions"
  479. :key="dict.dictValue"
  480. :label="dict.dictLabel"
  481. :value="dict.dictValue"
  482. />
  483. </el-select>
  484. </el-form-item>
  485. </el-col>
  486. <el-col :span="8">
  487. <el-form-item label="过磅" prop="fifweigh">
  488. <el-select
  489. v-model="form.fIfweigh"
  490. placeholder="请选择是否过磅"
  491. :disabled="browseStatus || formBrowseStatus"
  492. clearable
  493. style="width: 80%"
  494. >
  495. <el-option
  496. v-for="dict in fIfweighOptions"
  497. :key="dict.dictValue"
  498. :label="dict.dictLabel"
  499. :value="dict.dictValue"
  500. />
  501. </el-select>
  502. </el-form-item>
  503. </el-col>
  504. </el-row>
  505. <el-row>
  506. <el-col :span="8">
  507. <el-form-item label="质押" prop="fifpledge">
  508. <el-select
  509. v-model="form.fIfpledge"
  510. placeholder="请选择是否过磅"
  511. :disabled="browseStatus || formBrowseStatus"
  512. clearable
  513. style="width: 80%"
  514. >
  515. <el-option
  516. v-for="dict in fIfpledgeOptions"
  517. :key="dict.dictValue"
  518. :label="dict.dictLabel"
  519. :value="dict.dictValue"
  520. />
  521. </el-select>
  522. </el-form-item>
  523. </el-col>
  524. <el-col :span="8">
  525. <el-form-item label="质押银行" prop="fbankcorpid">
  526. <el-select
  527. v-model="queryParams.fBankcorpid"
  528. filterable
  529. remote
  530. clearable
  531. style="width: 80%"
  532. :disabled="browseStatus || formBrowseStatus"
  533. @keyup.enter.native="handleQuery"
  534. :remote-method="corpsRemoteMethodd"
  535. placeholder="请输入模糊查找"
  536. >
  537. <el-option
  538. v-for="(dict, index) in Pledgebank"
  539. :key="index.fId"
  540. :label="dict.fName"
  541. :value="dict.fId"
  542. ></el-option>
  543. </el-select>
  544. </el-form-item>
  545. </el-col>
  546. <el-col :span="8">
  547. <el-form-item label="计费单位" prop="ffeetunit">
  548. <el-select
  549. v-model="form.fFeetunit"
  550. placeholder="请选择计费单位"
  551. :disabled="browseStatus || formBrowseStatus"
  552. clearable
  553. style="width: 80%"
  554. >
  555. <el-option
  556. v-for="dict in fFeetunitOptions"
  557. :key="dict.dictValue"
  558. :label="dict.dictLabel"
  559. :value="dict.dictValue"
  560. />
  561. </el-select>
  562. </el-form-item>
  563. </el-col>
  564. <el-col :span="8">
  565. <el-form-item label="唛头" prop="fMarks">
  566. <el-input
  567. v-model="form.fMarks"
  568. style="width: 80%"
  569. :disabled="browseStatus || formBrowseStatus"
  570. placeholder="唛头"
  571. />
  572. </el-form-item>
  573. </el-col>
  574. </el-row>
  575. <el-row>
  576. <el-form-item label="备注" prop="remark">
  577. <el-input
  578. style="width: 100%"
  579. v-model="form.remark"
  580. :disabled="browseStatus || formBrowseStatus"
  581. type="textarea"
  582. placeholder="请输入内容"
  583. />
  584. </el-form-item>
  585. </el-row>
  586. <div v-if="detailsHidden">
  587. <el-row style="margin-top: 30px">
  588. <el-col :span="8">
  589. <el-form-item label="仓库联系人" prop="fContacts">
  590. <el-input
  591. v-model="form.fContacts"
  592. :disabled="browseStatus || formBrowseStatus"
  593. style="width: 80%"
  594. placeholder="仓库联系人"
  595. />
  596. </el-form-item>
  597. </el-col>
  598. <el-col :span="8">
  599. <el-form-item label="仓库电话" prop="ftel">
  600. <el-input
  601. v-model="form.fTel"
  602. :disabled="browseStatus || formBrowseStatus"
  603. style="width: 80%"
  604. placeholder="请输仓库入电话"
  605. />
  606. </el-form-item>
  607. </el-col>
  608. <el-col :span="8">
  609. <el-form-item label="船名航次" prop="fvslvoy">
  610. <el-input
  611. v-model="form.fVslvoy"
  612. :disabled="browseStatus || formBrowseStatus"
  613. style="width: 80%"
  614. placeholder="船名航次"
  615. />
  616. </el-form-item>
  617. </el-col>
  618. </el-row>
  619. <el-row>
  620. <el-col :span="8">
  621. <el-form-item label="到港日期" prop="feta">
  622. <el-date-picker
  623. v-model="form.fEta"
  624. style="width: 80%"
  625. type="date"
  626. :disabled="browseStatus || formBrowseStatus"
  627. value-format="timestamp"
  628. placeholder="到港日期"
  629. >
  630. </el-date-picker>
  631. </el-form-item>
  632. </el-col>
  633. <el-col :span="8">
  634. <el-form-item label="报关单号" prop="fcustomno">
  635. <el-input
  636. v-model="form.fCustomno"
  637. style="width: 80%"
  638. :disabled="browseStatus || formBrowseStatus"
  639. laceholder="报关单号"
  640. />
  641. </el-form-item>
  642. </el-col>
  643. <el-col :span="8">
  644. <el-form-item label="经营单位" prop="fSbu">
  645. <el-select
  646. v-model="form.fSbu"
  647. filterable
  648. remote
  649. :disabled="browseStatus || formBrowseStatus"
  650. :remote-method="fSbuRemoteMethod"
  651. style="width: 80%"
  652. placeholder="请选择经营单位"
  653. >
  654. <el-option
  655. v-for="(dict, index) in fMblnoOptions"
  656. :key="index.fId"
  657. :label="dict.fName"
  658. :value="dict.fId"
  659. ></el-option>
  660. </el-select>
  661. </el-form-item>
  662. </el-col>
  663. </el-row>
  664. <el-row>
  665. <el-col :span="8">
  666. <el-form-item label="单据编号" prop="foriginalbillno">
  667. <el-input
  668. v-model="form.fOriginalbillno"
  669. style="width: 80%"
  670. disabled
  671. placeholder="单据编号"
  672. />
  673. </el-form-item>
  674. </el-col>
  675. <el-col :span="8">
  676. <el-form-item label="贸易方式" prop="fTrademodeid">
  677. <el-select
  678. v-model="form.fTrademodeid"
  679. placeholder="请选择贸易方式"
  680. :disabled="browseStatus || formBrowseStatus"
  681. clearable
  682. style="width: 80%"
  683. >
  684. <el-option
  685. v-for="dict in fTrademodeidOptions"
  686. :key="dict.dictValue"
  687. :label="dict.dictLabel"
  688. :value="dict.dictValue"
  689. />
  690. </el-select>
  691. </el-form-item>
  692. </el-col>
  693. <el-col :span="8">
  694. <el-form-item label="制单人" prop="createBy">
  695. <el-input
  696. disabled
  697. v-model="form.createBy"
  698. style="width: 80%"
  699. placeholder="制单人"
  700. />
  701. </el-form-item>
  702. </el-col>
  703. </el-row>
  704. <el-row>
  705. <el-col :span="8">
  706. <el-form-item label="制单部门" prop="fDeptid">
  707. <el-select
  708. v-model="form.fDeptid"
  709. filterable
  710. disabled
  711. style="width: 80%"
  712. remote
  713. >
  714. <el-option
  715. v-for="dict in deptOptions"
  716. :key="dict.deptId"
  717. :label="dict.deptName"
  718. :value="dict.deptId"
  719. ></el-option>
  720. </el-select>
  721. </el-form-item>
  722. </el-col>
  723. <el-col :span="8">
  724. <el-form-item disabled label="制单日期" prop="fbilldate">
  725. <el-date-picker
  726. v-model="form.createTime"
  727. size="large"
  728. type="date"
  729. disabled
  730. value-format="timestamp"
  731. placeholder="制单日期"
  732. >
  733. </el-date-picker>
  734. </el-form-item>
  735. </el-col>
  736. <!-- <el-col :span="8">
  737. <el-form-item disabled label="仓储计费日期" prop="fChargedate">
  738. <el-date-picker
  739. v-model="form.fChargedate"
  740. size="large"
  741. type="date"
  742. value-format="timestamp"
  743. placeholder="仓储计费日期"
  744. >
  745. </el-date-picker>
  746. </el-form-item>
  747. </el-col> -->
  748. </el-row>
  749. <!-- <el-row>
  750. <el-col :span="8">
  751. <el-form-item label="计费方式" prop="fBillingway">
  752. <el-select
  753. v-model="form.fBillingway"
  754. filterable
  755. style="width: 80%"
  756. remote
  757. >
  758. <el-option
  759. v-for="(dict, index) in jFeetunitOptions"
  760. :key="index.dictValue"
  761. :label="dict.dictLabel"
  762. :value="dict.dictValue"
  763. />
  764. </el-select>
  765. </el-form-item>
  766. </el-col>
  767. </el-row> -->
  768. </div>
  769. </el-form>
  770. <div style="display:flex;justify-content:space-between;align-items:center;margin: 10px 0;">
  771. <div>
  772. <el-button type="primary" :disabled="browseStatus" @click.prevent="addRelevant()"
  773. >新行
  774. </el-button>
  775. <el-button
  776. :disabled="dataListSelection.length <= 0"
  777. @click.prevent="creditClick()"
  778. >出库确认
  779. </el-button>
  780. <!-- <el-button :disabled="browseStatus" @click.prevent="deleteRow(warehouseDrList)"
  781. >删除
  782. </el-button> -->
  783. <el-button type="primary" @click="submitForm(2)">保 存</el-button>
  784. </div>
  785. <div style="display:flex">
  786. <el-button
  787. @click="
  788. detailsHidden ? (detailsHidden = false) : (detailsHidden = true)
  789. "
  790. >{{ detailsHidden ? "隐藏" : "展开" }}</el-button
  791. >
  792. <el-button type="primary" @click="submitForm(2)">保 存</el-button>
  793. <!-- <el-button type="success" prop="打印" @click="showEditDialog_ss"
  794. >收货单
  795. </el-button> -->
  796. <el-button type="warning" prop="打印" @click="showEditDialog_s"
  797. >出库单
  798. </el-button>
  799. <el-button type="info" prop="打印" @click="showEditDialog_sss"
  800. >作业单
  801. </el-button>
  802. <el-button style="background-color: #008000;color:#fff" @click="submitForm(6)">请核</el-button>
  803. </div>
  804. <div style="font-size:18px">出库明细</div>
  805. <!--点击展开-->
  806. </div>
  807. <el-table
  808. :data="dataList"
  809. ref="tableList"
  810. tooltip-effect="dark"
  811. border
  812. stripe
  813. :summary-method="getSummaries"
  814. @selection-change="Selectinventory"
  815. show-summary
  816. >
  817. <el-table-column type="selection" width="55" align="center" />
  818. <el-table-column label="序号" type="index" width="80">
  819. </el-table-column>
  820. <el-table-column
  821. prop="fMblno"
  822. header-align="center"
  823. align="center"
  824. width="140px"
  825. label="提单号"
  826. >
  827. <template slot-scope="scope">
  828. <el-input
  829. disabled
  830. v-model="scope.row.fMblno"
  831. style="width: 80%"
  832. placeholder="手工输入"
  833. />
  834. </template>
  835. </el-table-column>
  836. <el-table-column
  837. prop="fGoodsid"
  838. header-align="center"
  839. align="center"
  840. width="140px"
  841. label="品名"
  842. >
  843. <template slot-scope="scope">
  844. <el-select
  845. v-model="scope.row.fGoodsids"
  846. filterable
  847. disabled
  848. remote
  849. :remote-method="goodsRemoteMethod"
  850. placeholder="请选择品名"
  851. >
  852. <el-option
  853. v-for="(dict, index) in goodsOptions"
  854. :key="index.fId"
  855. :label="dict.fName"
  856. :value="dict.fId"
  857. ></el-option>
  858. </el-select>
  859. </template>
  860. </el-table-column>
  861. <el-table-column
  862. prop="fWarehouselocids"
  863. header-align="center"
  864. width="150px"
  865. align="center"
  866. label="*库区"
  867. >
  868. <template slot-scope="scope">
  869. <el-select
  870. v-model="scope.row.fWarehouselocids"
  871. filterable
  872. remote
  873. disabled
  874. :remote-method="kqhouseRemoteMethod"
  875. placeholder="请选择库区"
  876. >
  877. <el-option
  878. v-for="dict in kqhouseOptions"
  879. :key="dict.fId"
  880. :label="dict.fName"
  881. :disabled="browseStatus"
  882. :value="dict.fId"
  883. ></el-option>
  884. </el-select>
  885. </template>
  886. </el-table-column>
  887. <el-table-column
  888. prop="fCntrtype"
  889. header-align="center"
  890. align="center"
  891. width="140px"
  892. label="箱型"
  893. >
  894. <template slot-scope="scope">
  895. <el-input
  896. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  897. v-model="scope.row.fCntrtype"
  898. :disabled="browseStatus || scope.row.fBillstatus === '6'"
  899. placeholder="箱型"
  900. show-word-limit
  901. />
  902. </template>
  903. </el-table-column>
  904. <el-table-column
  905. prop="fCntqty"
  906. header-align="center"
  907. align="center"
  908. width="140px"
  909. label="箱量"
  910. >
  911. <template slot-scope="scope">
  912. <el-input
  913. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  914. v-model="scope.row.fCntqty"
  915. placeholder="箱量"
  916. :disabled="browseStatus || scope.row.fBillstatus === '6'"
  917. show-word-limit
  918. />
  919. </template>
  920. </el-table-column>
  921. <el-table-column
  922. prop="fPlanqty"
  923. header-align="center"
  924. align="center"
  925. width="180px"
  926. label="当前库存"
  927. >
  928. </el-table-column>
  929. <el-table-column
  930. prop="fGrossweight"
  931. header-align="center"
  932. width="180px"
  933. align="center"
  934. label="*出库毛重"
  935. >
  936. <template slot-scope="scope">
  937. <el-input
  938. :disabled="browseStatus || scope.row.fBillstatus === '6'"
  939. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d\d\d\d).*$/, "$1$2.$3")'
  940. v-model="scope.row.fGrossweight"
  941. placeholder="出库毛重"
  942. show-word-limit
  943. />
  944. </template>
  945. </el-table-column>
  946. <el-table-column
  947. prop="fNetweight"
  948. header-align="center"
  949. width="180px"
  950. align="center"
  951. label="*出库净重"
  952. >
  953. <template slot-scope="scope">
  954. <el-input
  955. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d\d\d\d).*$/, "$1$2.$3")'
  956. v-model="scope.row.fNetweight"
  957. :disabled="browseStatus || scope.row.fBillstatus === '6'"
  958. placeholder="出库净重"
  959. show-word-limit
  960. />
  961. </template>
  962. </el-table-column>
  963. <el-table-column
  964. prop="fQty"
  965. header-align="center"
  966. width="180px"
  967. align="center"
  968. label="*出库件数"
  969. >
  970. <template slot-scope="scope">
  971. <el-input
  972. oninput='this.value=this.value.replace(/[^\-?\d]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "")'
  973. @change="qtyChange(scope.row)"
  974. v-model="scope.row.fQty"
  975. :disabled="browseStatus || scope.row.fBillstatus === '6'"
  976. placeholder="出库件数"
  977. show-word-limit
  978. />
  979. </template>
  980. </el-table-column>
  981. <el-table-column
  982. prop="fVolumn"
  983. header-align="center"
  984. width="180px"
  985. align="center"
  986. label="出库尺码"
  987. >
  988. <template slot-scope="scope">
  989. <el-input
  990. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d).*$/, "$1$2.$3")'
  991. v-model="scope.row.fVolumn"
  992. :disabled="browseStatus || scope.row.fBillstatus === '6'"
  993. placeholder="出库尺码"
  994. show-word-limit
  995. />
  996. </template>
  997. </el-table-column>
  998. <el-table-column
  999. prop="fPackagespecs"
  1000. header-align="center"
  1001. width="180px"
  1002. align="center"
  1003. label="*包装规格"
  1004. >
  1005. <template slot-scope="scope">
  1006. <el-input
  1007. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  1008. v-model="scope.row.fPackagespecs"
  1009. :disabled="browseStatus || scope.row.fBillstatus === '6'"
  1010. placeholder="包装规格"
  1011. show-word-limit
  1012. />
  1013. </template>
  1014. </el-table-column>
  1015. <el-table-column
  1016. prop="fCntrno"
  1017. header-align="center"
  1018. width="150px"
  1019. align="center"
  1020. label="箱号"
  1021. >
  1022. <template slot-scope="scope">
  1023. <el-input
  1024. v-model="scope.row.fCntrno"
  1025. placeholder="箱号"
  1026. :disabled="browseStatus || scope.row.fBillstatus === '6'"
  1027. show-word-limit
  1028. />
  1029. </template>
  1030. </el-table-column>
  1031. <el-table-column
  1032. prop="fGoodsval"
  1033. header-align="center"
  1034. width="150px"
  1035. align="center"
  1036. label="货值"
  1037. >
  1038. <template slot-scope="scope">
  1039. <el-input
  1040. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d\d).*$/, "$1$2.$3")'
  1041. v-model="scope.row.fGoodsval"
  1042. placeholder="货值"
  1043. :disabled="browseStatus || scope.row.fBillstatus === '6'"
  1044. show-word-limit
  1045. />
  1046. </template>
  1047. </el-table-column>
  1048. <el-table-column
  1049. prop="ftruckno"
  1050. header-align="center"
  1051. width="150px"
  1052. align="center"
  1053. label="车号"
  1054. >
  1055. <template slot-scope="scope">
  1056. <el-input
  1057. oninput="value=value.replace(/[^\d.]/g,'')"
  1058. v-model="scope.row.fTruckno"
  1059. placeholder="车号"
  1060. :disabled="browseStatus || scope.row.fBillstatus === '6'"
  1061. show-word-limit
  1062. />
  1063. </template>
  1064. </el-table-column>
  1065. <el-table-column
  1066. prop="remark"
  1067. header-align="center"
  1068. width="150px"
  1069. align="center"
  1070. label="备注"
  1071. >
  1072. <template slot-scope="scope">
  1073. <el-input
  1074. v-model="scope.row.remark"
  1075. placeholder="备注"
  1076. :disabled="browseStatus || scope.row.fBillstatus === '6'"
  1077. show-word-limit
  1078. />
  1079. </template>
  1080. </el-table-column>
  1081. <el-table-column
  1082. prop="fBillstatus"
  1083. header-align="center"
  1084. width="150px"
  1085. align="center"
  1086. label="状态"
  1087. >
  1088. <template slot-scope="scope">
  1089. <span v-if="scope.row.fBillstatus === '6'">已出库</span>
  1090. <span v-if="scope.row.fBillstatus !== '6'">未出库</span>
  1091. </template>
  1092. </el-table-column>
  1093. <el-table-column
  1094. header-align="center"
  1095. align="center"
  1096. label="操作"
  1097. width="130PX"
  1098. >
  1099. <template slot-scope="scope">
  1100. <el-button
  1101. @click.native.prevent="deleteRow(scope.$index, dataList)"
  1102. size="small"
  1103. :disabled="browseStatus || scope.row.fBillstatus === '6'"
  1104. >移除</el-button
  1105. >
  1106. </template>
  1107. </el-table-column>
  1108. </el-table>
  1109. <div class="dialogTableTitle flex a-center jlr" style="display:flex;justify-content:space-between;align-items:center;margin: 10px 0;">
  1110. <div>
  1111. <el-button :disabled="browseStatus" @click.prevent="addRelevt()"
  1112. >新行
  1113. </el-button>
  1114. </div>
  1115. <div style="font-size:18px">附件明细</div>
  1116. </div>
  1117. <el-table
  1118. :data="relevantAttachments"
  1119. ref="table"
  1120. tooltip-effect="dark"
  1121. border
  1122. stripe
  1123. style="width: 100%"
  1124. height="150"
  1125. >
  1126. <el-table-column label="序号" type="index" width="80">
  1127. </el-table-column>
  1128. <el-table-column
  1129. prop="fName"
  1130. header-align="center"
  1131. align="center"
  1132. width="250px"
  1133. label="附件名称"
  1134. >
  1135. <template slot-scope="scope">
  1136. <el-input
  1137. v-model="scope.row.fName"
  1138. :disabled="browseStatus"
  1139. placeholder="附件名称"
  1140. show-word-limit
  1141. />
  1142. </template>
  1143. </el-table-column>
  1144. <el-table-column
  1145. prop="createBy"
  1146. header-align="center"
  1147. align="center"
  1148. width="250px"
  1149. label="上传人"
  1150. >
  1151. <template slot-scope="scope">
  1152. <el-input
  1153. v-model="scope.row.createBy"
  1154. disabled
  1155. placeholder="上传人"
  1156. show-word-limit
  1157. />
  1158. </template>
  1159. </el-table-column>
  1160. <el-table-column
  1161. prop="createTime"
  1162. header-align="center"
  1163. align="center"
  1164. label="上传时间"
  1165. >
  1166. <template slot-scope="scope">
  1167. <el-date-picker
  1168. v-model="scope.row.createTime"
  1169. type="date"
  1170. disabled
  1171. placeholder="上传时间"
  1172. format="yyyy-MM-dd HH:mm"
  1173. value-format="timestamp"
  1174. ></el-date-picker>
  1175. </template>
  1176. </el-table-column>
  1177. <el-table-column
  1178. prop="fUrl"
  1179. header-align="center"
  1180. align="center"
  1181. width="300px"
  1182. label="上传附件"
  1183. >
  1184. <template slot-scope="scope">
  1185. <uploadFile @input="showFile" v-model="scope.row.fUrl" />
  1186. </template>
  1187. </el-table-column>
  1188. <el-table-column
  1189. header-align="center"
  1190. align="center"
  1191. label="操作"
  1192. >
  1193. <template slot-scope="scope">
  1194. <el-button
  1195. @click.native.prevent="
  1196. deleteRow(scope.$index, relevantAttachments)
  1197. "
  1198. :disabled="browseStatus"
  1199. size="small"
  1200. >移除
  1201. </el-button>
  1202. </template>
  1203. </el-table-column>
  1204. </el-table>
  1205. <div class="dialogTableTitle flex a-center jlr" style="display:flex;justify-content:space-between;align-items:center;margin: 10px 0;">
  1206. <div>
  1207. <el-button :disabled="browseStatus" @click.prevent="addCollection()"
  1208. >新行
  1209. </el-button>
  1210. <!-- <el-button :disabled="browseStatus" @click.prevent="deleteRow(warehouseDrList)"
  1211. >删除
  1212. </el-button> -->
  1213. <el-button type="primary" @click="submitForm(2)">保 存</el-button>
  1214. <el-button type="warning" @click.prevent="addStorage()">仓储费协议</el-button>
  1215. <el-button type="danger" @click.prevent="addAgreement()">作业费协议</el-button>
  1216. </div>
  1217. <div style="font-size:18px;">收款信息</div>
  1218. </div>
  1219. <el-table
  1220. :data="warehouseDrList"
  1221. ref="table"
  1222. tooltip-effect="dark"
  1223. border
  1224. stripe
  1225. show-summary
  1226. @selection-change="Collectionoptions"
  1227. :summary-method="warehouseDrSummaries"
  1228. >
  1229. <el-table-column type="selection" width="55" align="center" />
  1230. <el-table-column label="序号" type="index" width="80">
  1231. </el-table-column>
  1232. <el-table-column
  1233. prop="fCorpid"
  1234. header-align="center"
  1235. align="center"
  1236. width="180px"
  1237. label="客户名称"
  1238. >
  1239. <template slot-scope="scope">
  1240. <el-select
  1241. v-model="scope.row.fCorpid"
  1242. filterable
  1243. remote
  1244. :disabled="browseStatus"
  1245. :remote-method="corpsRemoteMethod"
  1246. placeholder="客户名称"
  1247. >
  1248. <el-option
  1249. v-for="(dict, index) in KHblnoOptions"
  1250. :key="index.fId"
  1251. :label="dict.fName"
  1252. :value="dict.fId"
  1253. ></el-option>
  1254. </el-select>
  1255. </template>
  1256. </el-table-column>
  1257. <el-table-column
  1258. prop="fFeeid"
  1259. header-align="center"
  1260. align="center"
  1261. width="180px"
  1262. label="费用名称"
  1263. >
  1264. <template slot-scope="scope">
  1265. <el-select
  1266. v-model="scope.row.fFeeid"
  1267. filterable
  1268. remote
  1269. :disabled="browseStatus"
  1270. :remote-method="fWRemoteMethod"
  1271. placeholder="费用名称"
  1272. >
  1273. <el-option
  1274. v-for="dict in fWbuOptions"
  1275. :key="dict.fId"
  1276. :label="dict.fName"
  1277. :value="dict.fId"
  1278. ></el-option>
  1279. </el-select>
  1280. </template>
  1281. </el-table-column>
  1282. <el-table-column
  1283. prop="fFeeUnitid"
  1284. header-align="center"
  1285. align="center"
  1286. width="180px"
  1287. label="计价单位"
  1288. >
  1289. <template slot-scope="scope">
  1290. <el-select
  1291. v-model="scope.row.fFeeUnitid"
  1292. placeholder="请选择计费单位"
  1293. @change="changeFeeUnit(scope.row)"
  1294. :disabled="browseStatus"
  1295. clearable
  1296. >
  1297. <el-option
  1298. v-for="dict in jFeetunitOptions"
  1299. :key="dict.dictValue"
  1300. :label="dict.dictLabel"
  1301. :value="dict.dictValue"
  1302. />
  1303. </el-select>
  1304. </template>
  1305. </el-table-column>
  1306. <el-table-column
  1307. prop="fQty"
  1308. header-align="center"
  1309. align="center"
  1310. width="150px"
  1311. label="数量"
  1312. >
  1313. <template slot-scope="scope">
  1314. <el-input
  1315. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  1316. v-model="scope.row.fQty"
  1317. placeholder="数量"
  1318. :disabled="browseStatus"
  1319. @change="changeEstmateAmt(scope.row)"
  1320. show-word-limit
  1321. />
  1322. </template>
  1323. </el-table-column>
  1324. <el-table-column
  1325. prop="funitprice"
  1326. header-align="center"
  1327. align="center"
  1328. width="150px"
  1329. label="单价"
  1330. >
  1331. <template slot-scope="scope">
  1332. <el-input
  1333. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  1334. v-model="scope.row.fUnitprice"
  1335. placeholder="单价"
  1336. :disabled="browseStatus"
  1337. @change="changeContractAmt(scope.row)"
  1338. show-word-limit
  1339. />
  1340. </template>
  1341. </el-table-column>
  1342. <el-table-column
  1343. prop="fAmount"
  1344. header-align="center"
  1345. align="center"
  1346. width="150px"
  1347. label="金额"
  1348. >
  1349. <template slot-scope="scope">
  1350. <el-input
  1351. disabled
  1352. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  1353. v-model="scope.row.fAmount"
  1354. placeholder="金额"
  1355. show-word-limit
  1356. />
  1357. </template>
  1358. </el-table-column>
  1359. <el-table-column
  1360. prop="fCurrency"
  1361. header-align="center"
  1362. align="center"
  1363. width="150px"
  1364. label="币别"
  1365. >
  1366. <template slot-scope="scope">
  1367. <el-input
  1368. v-model="scope.row.fCurrency"
  1369. :disabled="browseStatus"
  1370. placeholder="币别"
  1371. show-word-limit
  1372. />
  1373. </template>
  1374. </el-table-column>
  1375. <el-table-column
  1376. prop="fCxrate"
  1377. header-align="center"
  1378. align="center"
  1379. width="150px"
  1380. label="汇率"
  1381. >
  1382. <template slot-scope="scope">
  1383. <el-input
  1384. v-model="scope.row.fCxrate"
  1385. :disabled="browseStatus"
  1386. placeholder="汇率"
  1387. show-word-limit
  1388. />
  1389. </template>
  1390. </el-table-column>
  1391. <el-table-column
  1392. prop="fRate"
  1393. header-align="center"
  1394. align="center"
  1395. width="150px"
  1396. label="税率"
  1397. >
  1398. <template slot-scope="scope">
  1399. <el-input
  1400. v-model="scope.row.fRate"
  1401. :disabled="browseStatus"
  1402. placeholder="税率"
  1403. show-word-limit
  1404. />
  1405. </template>
  1406. </el-table-column>
  1407. <el-table-column
  1408. prop="remarks"
  1409. header-align="center"
  1410. align="center"
  1411. width="150px"
  1412. label="备注"
  1413. >
  1414. <template slot-scope="scope">
  1415. <el-input
  1416. v-model="scope.row.remarks"
  1417. :disabled="browseStatus"
  1418. placeholder="备注"
  1419. show-word-limit
  1420. />
  1421. </template>
  1422. </el-table-column>
  1423. <el-table-column
  1424. header-align="center"
  1425. align="center"
  1426. label="操作"
  1427. width="200px"
  1428. >
  1429. <template slot-scope="scope">
  1430. <el-button size="small">审核费用</el-button>
  1431. <el-button
  1432. @click.native.prevent="deleteRow(scope.$index, warehouseDrList)"
  1433. size="small"
  1434. >移除</el-button
  1435. >
  1436. </template>
  1437. </el-table-column>
  1438. </el-table>
  1439. <div class="dialogTableTitle flex a-center jlr" style="display:flex;justify-content:space-between;align-items:center;margin: 10px 0;">
  1440. <div>
  1441. <el-button :disabled="browseStatus" @click.prevent="addpayment()"
  1442. >新行
  1443. </el-button>
  1444. <!-- <el-button :disabled="browseStatus" @click.prevent="deleteRow(warehouseDrList)"
  1445. >删除
  1446. </el-button> -->
  1447. <el-button type="primary" @click="submitForm(2)">保 存</el-button>
  1448. <el-button type="warning" @click.prevent="addStorages()">仓储费协议</el-button>
  1449. <el-button type="danger" @click.prevent="addAgreements()">作业费协议</el-button>
  1450. </div>
  1451. <div style="font-size:18px">付款信息</div>
  1452. </div>
  1453. <el-table
  1454. :data="warehouseCrList"
  1455. ref="table"
  1456. tooltip-effect="dark"
  1457. border
  1458. stripe
  1459. show-summary
  1460. @selection-change="Collectionoptions"
  1461. :summary-method="warehouseDrSummaries"
  1462. >
  1463. <el-table-column type="selection" width="55" align="center" />
  1464. <el-table-column label="序号" type="index" width="80">
  1465. </el-table-column>
  1466. <el-table-column
  1467. prop="fCorpid"
  1468. header-align="center"
  1469. align="center"
  1470. width="180px"
  1471. label="客户名称"
  1472. >
  1473. <template slot-scope="scope">
  1474. <el-select
  1475. v-model="scope.row.fCorpid"
  1476. filterable
  1477. remote
  1478. :disabled="browseStatus"
  1479. :remote-method="corpsRemoteMethod"
  1480. placeholder="客户名称"
  1481. >
  1482. <el-option
  1483. v-for="(dict, index) in KHblnoOptions"
  1484. :key="index.fId"
  1485. :label="dict.fName"
  1486. :value="dict.fId"
  1487. ></el-option>
  1488. </el-select>
  1489. </template>
  1490. </el-table-column>
  1491. <el-table-column
  1492. prop="fFeeid"
  1493. header-align="center"
  1494. align="center"
  1495. width="180px"
  1496. label="费用名称"
  1497. >
  1498. <template slot-scope="scope">
  1499. <el-select
  1500. v-model="scope.row.fFeeid"
  1501. filterable
  1502. remote
  1503. :disabled="browseStatus"
  1504. :remote-method="fWRemoteMethod"
  1505. placeholder="费用名称"
  1506. >
  1507. <el-option
  1508. v-for="dict in fWbuOptions"
  1509. :key="dict.fId"
  1510. :label="dict.fName"
  1511. :value="dict.fId"
  1512. ></el-option>
  1513. </el-select>
  1514. </template>
  1515. </el-table-column>
  1516. <el-table-column
  1517. prop="ffeeUnitid"
  1518. header-align="center"
  1519. align="center"
  1520. width="180px"
  1521. label="计价单位"
  1522. >
  1523. <template slot-scope="scope">
  1524. <el-select
  1525. v-model="scope.row.fFeeUnitid"
  1526. placeholder="请选择计费单位"
  1527. @change="changeFeeUnit(scope.row)"
  1528. :disabled="browseStatus"
  1529. clearable
  1530. >
  1531. <el-option
  1532. v-for="dict in jFeetunitOptions"
  1533. :key="dict.dictValue"
  1534. :label="dict.dictLabel"
  1535. :value="dict.dictValue"
  1536. />
  1537. </el-select>
  1538. </template>
  1539. </el-table-column>
  1540. <el-table-column
  1541. prop="fQty"
  1542. header-align="center"
  1543. align="center"
  1544. width="150px"
  1545. label="数量"
  1546. >
  1547. <template slot-scope="scope">
  1548. <el-input
  1549. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d\d).*$/, "$1$2.$3")'
  1550. v-model="scope.row.fQty"
  1551. @change="changeEstmateAmt(scope.row)"
  1552. :disabled="browseStatus"
  1553. placeholder="数量"
  1554. show-word-limit
  1555. />
  1556. </template>
  1557. </el-table-column>
  1558. <el-table-column
  1559. prop="funitprice"
  1560. header-align="center"
  1561. align="center"
  1562. width="150px"
  1563. label="单价"
  1564. >
  1565. <template slot-scope="scope">
  1566. <el-input
  1567. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  1568. v-model="scope.row.fUnitprice"
  1569. @change="changeContractAmt(scope.row)"
  1570. :disabled="browseStatus"
  1571. placeholder="单价"
  1572. show-word-limit
  1573. />
  1574. </template>
  1575. </el-table-column>
  1576. <el-table-column
  1577. prop="fAmount"
  1578. header-align="center"
  1579. align="center"
  1580. width="150px"
  1581. label="金额"
  1582. >
  1583. <template slot-scope="scope">
  1584. <el-input
  1585. disabled
  1586. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  1587. v-model="scope.row.fAmount"
  1588. placeholder="金额"
  1589. show-word-limit
  1590. />
  1591. </template>
  1592. </el-table-column>
  1593. <el-table-column
  1594. prop="fCurrency"
  1595. header-align="center"
  1596. align="center"
  1597. width="150px"
  1598. label="币别"
  1599. >
  1600. <template slot-scope="scope">
  1601. <el-input
  1602. v-model="scope.row.fCurrency"
  1603. :disabled="browseStatus"
  1604. placeholder="币别"
  1605. show-word-limit
  1606. />
  1607. </template>
  1608. </el-table-column>
  1609. <el-table-column
  1610. prop="fCxrate"
  1611. header-align="center"
  1612. align="center"
  1613. width="150px"
  1614. label="汇率"
  1615. >
  1616. <template slot-scope="scope">
  1617. <el-input
  1618. v-model="scope.row.fCxrate"
  1619. :disabled="browseStatus"
  1620. placeholder="汇率"
  1621. show-word-limit
  1622. />
  1623. </template>
  1624. </el-table-column>
  1625. <el-table-column
  1626. prop="fRate"
  1627. header-align="center"
  1628. align="center"
  1629. width="150px"
  1630. label="税率"
  1631. >
  1632. <template slot-scope="scope">
  1633. <el-input
  1634. v-model="scope.row.fRate"
  1635. :disabled="browseStatus"
  1636. placeholder="税率"
  1637. show-word-limit
  1638. />
  1639. </template>
  1640. </el-table-column>
  1641. <el-table-column
  1642. prop="remarks"
  1643. header-align="center"
  1644. align="center"
  1645. width="150px"
  1646. label="备注"
  1647. >
  1648. <template slot-scope="scope">
  1649. <el-input
  1650. v-model="scope.row.remarks"
  1651. :disabled="browseStatus"
  1652. placeholder="备注"
  1653. show-word-limit
  1654. />
  1655. </template>
  1656. </el-table-column>
  1657. <el-table-column
  1658. header-align="center"
  1659. align="center"
  1660. width="200px"
  1661. label="操作"
  1662. >
  1663. <template slot-scope="scope">
  1664. <el-button size="small">审核费用</el-button>
  1665. <el-button
  1666. @click.native.prevent="deleteRow(scope.$index, warehouseCrList)"
  1667. size="small"
  1668. >移除</el-button
  1669. >
  1670. </template>
  1671. </el-table-column>
  1672. </el-table>
  1673. <div slot="footer" class="dialog-footer">
  1674. <!-- <el-button type="success" prop="打印" @click="showEditDialog_ss"
  1675. >收货单
  1676. </el-button> -->
  1677. <el-button type="warning" prop="打印" @click="showEditDialog_s"
  1678. >出库单
  1679. </el-button>
  1680. <el-button type="info" prop="打印" @click="showEditDialog_sss"
  1681. >作业单
  1682. </el-button>
  1683. <el-button type="primary" @click="submitForm(2)">保 存</el-button>
  1684. <el-button style="background-color: #008000;color:#fff" @click="submitForm(6)">请核</el-button>
  1685. <el-button @click="cancel">取 消</el-button>
  1686. </div>
  1687. <!-- 选择库存总账数据 -->
  1688. <el-dialog
  1689. title="库存总账"
  1690. :modal="false"
  1691. style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
  1692. :visible.sync="whgenlegVisible"
  1693. width="70%"
  1694. >
  1695. <el-table
  1696. :data="whgenlegList"
  1697. ref="table"
  1698. tooltip-effect="dark"
  1699. width="100%"
  1700. border
  1701. stripe
  1702. @selection-change="whgenlegSelectionChange"
  1703. >
  1704. <el-table-column type="selection" width="55"> </el-table-column>
  1705. <el-table-column
  1706. prop="fMblno"
  1707. header-align="center"
  1708. align="center"
  1709. label="提单号"
  1710. >
  1711. </el-table-column>
  1712. <el-table-column
  1713. prop="createTime"
  1714. header-align="center"
  1715. align="center"
  1716. width="180px"
  1717. label="入库日期"
  1718. >
  1719. </el-table-column>
  1720. <el-table-column
  1721. prop="fGoodsids"
  1722. header-align="center"
  1723. align="center"
  1724. label="品名"
  1725. >
  1726. </el-table-column>
  1727. <el-table-column
  1728. prop="fQtyblc"
  1729. header-align="center"
  1730. align="center"
  1731. label="结余数量"
  1732. >
  1733. </el-table-column>
  1734. <el-table-column
  1735. prop="fWarehouseLocationids"
  1736. header-align="center"
  1737. align="center"
  1738. label="库区"
  1739. >
  1740. </el-table-column>
  1741. <el-table-column
  1742. prop="fMarks"
  1743. header-align="center"
  1744. align="center"
  1745. label="唛头"
  1746. >
  1747. </el-table-column>
  1748. </el-table>
  1749. <pagination
  1750. v-show="whgenlegTotal > 0"
  1751. :total="whgenlegTotal"
  1752. :page.sync="whgenlegParams.pageNum"
  1753. :limit.sync="whgenlegParams.pageSize"
  1754. @pagination="getWhgenlegList"
  1755. />
  1756. <div slot="footer" class="dialog-footer">
  1757. <el-button type="primary" @click="whgenlegData">导入</el-button>
  1758. <el-button @click="whgenlegVisible = false">取 消</el-button>
  1759. </div>
  1760. </el-dialog>
  1761. <!-- 选择作业费协议 -->
  1762. <el-dialog
  1763. title="作业费协议"
  1764. :modal="false"
  1765. style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
  1766. :visible.sync="warehousingagreement"
  1767. width="70%"
  1768. >
  1769. <el-table
  1770. :data="tasklegList"
  1771. ref="table"
  1772. tooltip-effect="dark"
  1773. width="100%"
  1774. border
  1775. stripe
  1776. @selection-change="whgenlegSelectionChange"
  1777. >
  1778. <el-table-column type="selection" width="55"> </el-table-column>
  1779. <el-table-column label="行号" type="index" width="80">
  1780. </el-table-column>
  1781. <el-table-column
  1782. prop="fCorpid"
  1783. header-align="center"
  1784. align="center"
  1785. label="客户名称"
  1786. >
  1787. </el-table-column>
  1788. <el-table-column
  1789. prop="createTime"
  1790. header-align="center"
  1791. align="center"
  1792. width="180px"
  1793. label="计价单位"
  1794. >
  1795. </el-table-column>
  1796. <el-table-column
  1797. prop="fGoodsid"
  1798. header-align="center"
  1799. align="center"
  1800. label="单价"
  1801. >
  1802. </el-table-column>
  1803. <el-table-column
  1804. prop="fQtyblc"
  1805. header-align="center"
  1806. align="center"
  1807. label="录入人"
  1808. >
  1809. </el-table-column>
  1810. <el-table-column
  1811. prop="fBegindate"
  1812. header-align="center"
  1813. align="center"
  1814. label="录入时间"
  1815. >
  1816. </el-table-column>
  1817. <!-- <el-table-column
  1818. prop="fMarks"
  1819. header-align="center"
  1820. align="center"
  1821. label="唛头"
  1822. >
  1823. </el-table-column> -->
  1824. </el-table>
  1825. <pagination
  1826. v-show="whgenlegTotal > 0"
  1827. :total="whgenlegTotal"
  1828. :page.sync="queryParams.pageNum"
  1829. :limit.sync="queryParams.pageSize"
  1830. @pagination="getWhgenlegList"
  1831. />
  1832. <div slot="footer" class="dialog-footer">
  1833. <el-button type="primary" @click="whgenlegDatas">导入</el-button>
  1834. <el-button @click="warehousingagreements = false">取 消</el-button>
  1835. </div>
  1836. </el-dialog>
  1837. <!-- 选择作业费协议数据 -->
  1838. <el-dialog
  1839. title="作业费协议"
  1840. :modal="false"
  1841. style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
  1842. :visible.sync="warehousingagreements"
  1843. width="70%"
  1844. >
  1845. <el-table
  1846. :data="tasklegList"
  1847. ref="table"
  1848. tooltip-effect="dark"
  1849. width="100%"
  1850. border
  1851. stripe
  1852. @selection-change="whgenlegSelectionChange"
  1853. >
  1854. <el-table-column type="selection" width="55"> </el-table-column>
  1855. <el-table-column label="行号" type="index" width="80">
  1856. </el-table-column>
  1857. <el-table-column
  1858. prop="fCorpid"
  1859. header-align="center"
  1860. align="center"
  1861. label="客户名称"
  1862. >
  1863. </el-table-column>
  1864. <el-table-column
  1865. prop="createTime"
  1866. header-align="center"
  1867. align="center"
  1868. width="180px"
  1869. label="计价单位"
  1870. >
  1871. </el-table-column>
  1872. <el-table-column
  1873. prop="fGoodsid"
  1874. header-align="center"
  1875. align="center"
  1876. label="单价"
  1877. >
  1878. </el-table-column>
  1879. <el-table-column
  1880. prop="fQtyblc"
  1881. header-align="center"
  1882. align="center"
  1883. label="录入人"
  1884. >
  1885. </el-table-column>
  1886. <el-table-column
  1887. prop="fBegindate"
  1888. header-align="center"
  1889. align="center"
  1890. label="录入时间"
  1891. >
  1892. </el-table-column>
  1893. <!-- <el-table-column
  1894. prop="fMarks"
  1895. header-align="center"
  1896. align="center"
  1897. label="唛头"
  1898. >
  1899. </el-table-column> -->
  1900. </el-table>
  1901. <pagination
  1902. v-show="whgenlegTotal > 0"
  1903. :total="whgenlegTotal"
  1904. :page.sync="queryParams.pageNum"
  1905. :limit.sync="queryParams.pageSize"
  1906. @pagination="getWhgenlegList"
  1907. />
  1908. <div slot="footer" class="dialog-footer">
  1909. <el-button type="primary" @click="zhgenlegData">导入</el-button>
  1910. <el-button @click="warehousingagreement = false">取 消</el-button>
  1911. </div>
  1912. </el-dialog>
  1913. <!-- 选择仓储费协议数据 -->
  1914. <el-dialog
  1915. title="仓储费协议"
  1916. :modal="false"
  1917. style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
  1918. :visible.sync="storageAgreement"
  1919. width="70%"
  1920. >
  1921. <el-table
  1922. :data="whgenlegList"
  1923. ref="table"
  1924. tooltip-effect="dark"
  1925. width="100%"
  1926. border
  1927. stripe
  1928. @selection-change="whgenlegSelectionChange"
  1929. >
  1930. <el-table-column type="selection" width="55"> </el-table-column>
  1931. <el-table-column
  1932. prop="fMblno"
  1933. header-align="center"
  1934. align="center"
  1935. label="提单号"
  1936. >
  1937. </el-table-column>
  1938. <el-table-column
  1939. prop="createTime"
  1940. header-align="center"
  1941. align="center"
  1942. width="180px"
  1943. label="入库日期"
  1944. >
  1945. </el-table-column>
  1946. <el-table-column
  1947. prop="fGoodsids"
  1948. header-align="center"
  1949. align="center"
  1950. label="品名"
  1951. >
  1952. </el-table-column>
  1953. <el-table-column
  1954. prop="fQtyblc"
  1955. header-align="center"
  1956. align="center"
  1957. label="结余数量"
  1958. >
  1959. </el-table-column>
  1960. <el-table-column
  1961. prop="fWarehouseLocationids"
  1962. header-align="center"
  1963. align="center"
  1964. label="库区"
  1965. >
  1966. </el-table-column>
  1967. <el-table-column
  1968. prop="fMarks"
  1969. header-align="center"
  1970. align="center"
  1971. label="唛头"
  1972. >
  1973. </el-table-column>
  1974. </el-table>
  1975. <pagination
  1976. v-show="whgenlegTotal > 0"
  1977. :total="whgenlegTotal"
  1978. :page.sync="whgenlegParams.pageNum"
  1979. :limit.sync="whgenlegParams.pageSize"
  1980. @pagination="getWhgenlegList"
  1981. />
  1982. <div slot="footer" class="dialog-footer">
  1983. <el-button type="primary" @click="whgenlegData">导入</el-button>
  1984. <el-button @click="whgenlegVisible = false">取 消</el-button>
  1985. </div>
  1986. </el-dialog>
  1987. <!-- 选择仓储费协议数据 -->
  1988. <el-dialog
  1989. title="仓储费协议"
  1990. :modal="false"
  1991. style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
  1992. :visible.sync="storageAgreements"
  1993. width="70%"
  1994. >
  1995. <el-table
  1996. :data="whgenlegList"
  1997. ref="table"
  1998. tooltip-effect="dark"
  1999. width="100%"
  2000. border
  2001. stripe
  2002. @selection-change="whgenlegSelectionChange"
  2003. >
  2004. <el-table-column type="selection" width="55"> </el-table-column>
  2005. <el-table-column
  2006. prop="fMblno"
  2007. header-align="center"
  2008. align="center"
  2009. label="提单号"
  2010. >
  2011. </el-table-column>
  2012. <el-table-column
  2013. prop="createTime"
  2014. header-align="center"
  2015. align="center"
  2016. width="180px"
  2017. label="入库日期"
  2018. >
  2019. </el-table-column>
  2020. <el-table-column
  2021. prop="fGoodsids"
  2022. header-align="center"
  2023. align="center"
  2024. label="品名"
  2025. >
  2026. </el-table-column>
  2027. <el-table-column
  2028. prop="fQtyblc"
  2029. header-align="center"
  2030. align="center"
  2031. label="结余数量"
  2032. >
  2033. </el-table-column>
  2034. <el-table-column
  2035. prop="fWarehouseLocationids"
  2036. header-align="center"
  2037. align="center"
  2038. label="库区"
  2039. >
  2040. </el-table-column>
  2041. <el-table-column
  2042. prop="fMarks"
  2043. header-align="center"
  2044. align="center"
  2045. label="唛头"
  2046. >
  2047. </el-table-column>
  2048. </el-table>
  2049. <pagination
  2050. v-show="whgenlegTotal > 0"
  2051. :total="whgenlegTotal"
  2052. :page.sync="whgenlegParams.pageNum"
  2053. :limit.sync="whgenlegParams.pageSize"
  2054. @pagination="getWhgenlegList"
  2055. />
  2056. <div slot="footer" class="dialog-footer">
  2057. <el-button type="primary" @click="whgenlegData">导入</el-button>
  2058. <el-button @click="whgenlegVisible = false">取 消</el-button>
  2059. </div>
  2060. </el-dialog>
  2061. <el-dialog
  2062. title="入库页面"
  2063. :modal="false"
  2064. style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
  2065. :visible.sync="editDialogVisible_s"
  2066. width="70%"
  2067. >
  2068. <table
  2069. id="print_area"
  2070. class="biaoge zzss"
  2071. border="1"
  2072. style="border-collapse: collapse; border: none"
  2073. >
  2074. <tr>
  2075. <td
  2076. width="100"
  2077. colspan="7"
  2078. class="zzss"
  2079. style="font-size: 28px; font-weight: bold; border: none"
  2080. >
  2081. 青岛大木进仓单
  2082. </td>
  2083. </tr>
  2084. <tr>
  2085. <td
  2086. width="100"
  2087. colspan="7"
  2088. class="zzss"
  2089. style="font-size: 28px; font-weight: bold; border: none"
  2090. >
  2091. &nbsp;
  2092. </td>
  2093. </tr>
  2094. <tr>
  2095. <td width="450" colspan="2" class="zzss">货权方:{{form.fCorpid}}</td>
  2096. <td width="450" colspan="2" class="zzss">仓库:{{form.fWarehouseid}}</td>
  2097. <td width="450" colspan="3" class="zzss">
  2098. 地址:青岛市市北区郑州路1344号
  2099. </td>
  2100. </tr>
  2101. <tr>
  2102. <td width="200" colspan="2" class="zzss">保管方:大木有限公司</td>
  2103. <td width="200" colspan="2" class="zzss">联系人:{{form.fContacts}}</td>
  2104. <td width="200" colspan="3" class="zzss">
  2105. 电话:{{form.fTel}}
  2106. </td>
  2107. </tr>
  2108. <tr>
  2109. <td width="100" border="1">提单号</td>
  2110. <td width="100">品名</td>
  2111. <td width="100">箱型</td>
  2112. <td width="100">品牌</td>
  2113. <td width="100">件数</td>
  2114. <td width="100">重量</td>
  2115. <td width="100">包装规格</td>
  2116. </tr>
  2117. <tr>
  2118. <td width="100">{{form.fMblno}}</td>
  2119. <td width="100">{{fGoodsids}}</td>
  2120. <td width="100">{{fCntrtype}}</td>
  2121. <td width="100"></td>
  2122. <td width="100">包</td>
  2123. <td width="100">吨</td>
  2124. <td width="100"></td>
  2125. </tr>
  2126. <tr>
  2127. <td width="100">序号</td>
  2128. <td width="100">入货日期</td>
  2129. <td width="100">箱量(20GP)</td>
  2130. <td width="100">重量</td>
  2131. <td width="100">件数</td>
  2132. <td width="100">入库重量</td>
  2133. <td width="100">入库件数</td>
  2134. </tr>
  2135. <tr v-for="(item,index) in Printinglist" :key="index">
  2136. <td width="100">{{index+1}}</td>
  2137. <td width="100">{{item.fBsdate}}</td>
  2138. <td width="100">{{item.fCntqty}}</td>
  2139. <td width="100">{{item.fGrossweight}}</td>
  2140. <td width="100">{{item.fPlanqty}}</td>
  2141. <td width="100">{{item.fNetweight}}</td>
  2142. <td width="100">{{item.fQty}}</td>
  2143. </tr>
  2144. <tr>
  2145. <td width="100" colspan="2">合计:</td>
  2146. <td width="100">{{fCntqty}}</td>
  2147. <td width="100">{{fGrossweight}}</td>
  2148. <td width="100">{{fPlanqty}}</td>
  2149. <td width="100">{{fNetweight}}</td>
  2150. <td width="100">{{fQty}}</td>
  2151. </tr>
  2152. <tr>
  2153. <td width="100">备注:</td>
  2154. <td width="100" colspan="6"></td>
  2155. </tr>
  2156. <tr>
  2157. <td width="100" colspan="7" class="zzss">
  2158. 本进仓单经仓管员签字并经保管方盖章后即专项作为货物所有人的货权证明,本单据不得转让。
  2159. </td>
  2160. </tr>
  2161. <tr style="border: none">
  2162. <td width="100" colspan="2" class="zzss" style="border: none">
  2163. 开单员:
  2164. </td>
  2165. <td width="100" colspan="3" class="zzss" style="border: none"></td>
  2166. <td width="100" colspan="2" class="zzss" style="border: none">
  2167. 仓管员:
  2168. </td>
  2169. </tr>
  2170. <tr style="border: none">
  2171. <td width="100" colspan="2" class="zzss" style="border: none">
  2172. 开单时间:
  2173. </td>
  2174. <td width="100" colspan="3" class="zzss" style="border: none"></td>
  2175. <td width="100" colspan="2" class="zzss" style="border: none">
  2176. (盖章)
  2177. </td>
  2178. </tr>
  2179. </table>
  2180. <button @click="printSomething">打印</button>
  2181. </el-dialog>
  2182. <el-dialog
  2183. title="收货单打印"
  2184. style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
  2185. :visible.sync="editDialogVisible_ss"
  2186. width="70%"
  2187. :modal="false"
  2188. >
  2189. <table
  2190. id="print_area"
  2191. class="biaoge zzss"
  2192. border="1"
  2193. style="border-collapse: collapse; border: none;margin-top;100px;"
  2194. >
  2195. <tr>
  2196. <td
  2197. width="1400"
  2198. colspan="6"
  2199. class="zzss"
  2200. style="font-size: 26px; font-weight: bold; border: none"
  2201. >
  2202. 大木国际物流(青岛)有限公司收货单
  2203. </td>
  2204. </tr>
  2205. <!-- <div v-for="{{}}" :key="index"> -->
  2206. <tr>
  2207. <td width="400">车号:</td>
  2208. <td width="400">{{fTruckno}}</td>
  2209. <td
  2210. width="500"
  2211. colspan="2"
  2212. style="padding-bottom: 0px; font-weight: bold; border: none"
  2213. class="zzss"
  2214. >
  2215. 日期:
  2216. </td>
  2217. <td
  2218. width="500"
  2219. colspan="2"
  2220. style="padding-bottom: 0px; font-weight: bold; border: none"
  2221. class="zzss"
  2222. >
  2223. {{fBsdate}}
  2224. </td>
  2225. </tr>
  2226. <tr v-for="(item,index) in Printinglist" :key="index">
  2227. <td width="250">货物品名:</td>
  2228. <td width="250">{{item.fGoodsids}}</td>
  2229. <td width="250">白色聚吕</td>
  2230. <!-- <td width="200" colspan="2">件数: 161件</td> -->
  2231. <!-- <td width="200"></td> -->
  2232. <td width="200" colspan="4" class="zzss">件数: {{item.fQty}}件</td>
  2233. </tr>
  2234. <!-- <tr>
  2235. <td width="1400" colspan="6">&nbsp;</td>
  2236. </tr> -->
  2237. <tr v-for="(item,index) in Printinglist" :key="index">
  2238. <td>备注:</td>
  2239. <td colspan="5">{{item.remark}}</td>
  2240. </tr>
  2241. <tr>
  2242. <td>司机签字:</td>
  2243. <td></td>
  2244. <td colspan="2">司机电话:</td>
  2245. <td colspan="2">{{form.fTel}}</td>
  2246. </tr>
  2247. <tr>
  2248. <td>制单人:</td>
  2249. <td>{{form.createBy}}</td>
  2250. <td colspan="2">收货人:</td>
  2251. <td colspan="2">{{form.fContacts}}</td>
  2252. </tr>
  2253. <!-- <tr>
  2254. <td colspan="6" class="zzss">&nbsp;</td>
  2255. </tr> -->
  2256. <tr>
  2257. <td width="280" class="zzss"></td>
  2258. <td width="280" class="zzss"></td>
  2259. <td width="280" class="zzss"></td>
  2260. <td width="280" class="zzss"></td>
  2261. <td width="290" class="zzss">地址:淮河东路96号</td>
  2262. <td width="290" class="zzss">电话:{{form.fTel}}</td>
  2263. </tr>
  2264. <!-- </div> -->
  2265. </table>
  2266. <button @click="printSomething">打印</button>
  2267. </el-dialog>
  2268. <el-dialog
  2269. title="收货单打印"
  2270. style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
  2271. :visible.sync="editDialogVisible_sss"
  2272. width="70%"
  2273. :modal="false"
  2274. >
  2275. <table
  2276. id="print_area"
  2277. class="biaoge zzss"
  2278. border="1"
  2279. style="border-collapse: collapse; border: none"
  2280. >
  2281. <tr>
  2282. <td
  2283. width="1400"
  2284. colspan="6"
  2285. class="zzss"
  2286. style="font-size: 28px; font-weight: bold; border: none"
  2287. >
  2288. 大木国际物流(青岛)有限公司作业单
  2289. </td>
  2290. </tr>
  2291. <tr>
  2292. <td
  2293. width="900"
  2294. colspan="4"
  2295. class="zzss"
  2296. style="font-size: 28px; font-weight: bold"
  2297. >
  2298. &nbsp;
  2299. </td>
  2300. <td
  2301. width="500"
  2302. colspan="2"
  2303. style="padding-bottom: 0px; font-weight: bold; border: none"
  2304. class="zzss"
  2305. >
  2306. 出库日期:{{fBsdate}}
  2307. </td>
  2308. </tr>
  2309. <tr v-for="(item,index) in Printinglist" :key="index">
  2310. <td width="200">车号</td>
  2311. <td width="200">{{item.fTruckno}}</td>
  2312. <td width="200">货物品名</td>
  2313. <td width="200" colspan="4" class="zzss">{{item.fGoodsids}}</td>
  2314. </tr>
  2315. <tr>
  2316. <td width="1400" colspan="6">&nbsp;</td>
  2317. </tr>
  2318. <tr>
  2319. <td>备注:</td>
  2320. <td colspan="5"></td>
  2321. </tr>
  2322. <tr>
  2323. <td>收费</td>
  2324. <td>装箱费</td>
  2325. <td>元</td>
  2326. <td colspan="4">办单费:5元,过磅费自理</td>
  2327. </tr>
  2328. <tr>
  2329. <td>司机签字:</td>
  2330. <td></td>
  2331. <td>电话</td>
  2332. <td>{{form.fTel}}</td>
  2333. <td colspan="2" rowspan="2">
  2334. 确认货物数量无误,包装于货物完好!<br />出库盖好篷布,如有违背责任自负<br />装卸工是否收小费
  2335. </td>
  2336. </tr>
  2337. <tr>
  2338. <td>制表:</td>
  2339. <td>{{form.createBy}}</td>
  2340. <td>机械/人工:</td>
  2341. <td>{{form.fContacts}}</td>
  2342. </tr>
  2343. <tr>
  2344. <td colspan="6" class="zzss">&nbsp;</td>
  2345. </tr>
  2346. <tr>
  2347. <td width="280" class="zzss"></td>
  2348. <td width="280" class="zzss"></td>
  2349. <td width="280" class="zzss"></td>
  2350. <td width="280" class="zzss"></td>
  2351. <td width="290" class="zzss">地址:淮河东路96号</td>
  2352. <td width="290" class="zzss">电话:18685818919</td>
  2353. </tr>
  2354. </table>
  2355. <button @click="printSomething">打印</button>
  2356. </el-dialog>
  2357. </el-dialog>
  2358. </div>
  2359. </template>
  2360. <script>
  2361. import print from "print-js";
  2362. import {
  2363. addWhgenleg,
  2364. listWarehousebills,
  2365. getWarehousebills,
  2366. delWarehousebills,
  2367. addWarehousebills,
  2368. updateWarehousebills,
  2369. exportWarehousebills,
  2370. } from "@/api/warehouseBusiness/warehouseOutStock";
  2371. import { listAgreement } from '@/api/agreement/agreement';
  2372. import { listAgreements } from '@/api/warehouseBusiness/agreement';
  2373. import { listCorps } from "@/api/basicdata/corps";
  2374. import { listFees } from "@/api/basicdata/fees";
  2375. import { listWarehouse } from "@/api/basicdata/warehouse";
  2376. import { listArea } from "@/api/basicdata/area";
  2377. import { listGoods } from "@/api/basicdata/goods";
  2378. import { listUser, queryUserVal } from "@/api/system/user";
  2379. import UploadFile from "@/components/Uploadfile";
  2380. import { listWhgenleg } from "@/api/reportManagement/whgenleg";
  2381. export default {
  2382. name: "Warehousebills",
  2383. components: {
  2384. UploadFile,
  2385. },
  2386. data() {
  2387. return {
  2388. fFeeUnitid: "",
  2389. fFeeUnitids: "",
  2390. formBrowseStatus: false,
  2391. detailsHidden: false,
  2392. warehousingagreement: false,
  2393. warehousingagreements: false,
  2394. fTruckno: '',
  2395. fBsdate: '',
  2396. fCntrtype: '',
  2397. fGoodsids: '',
  2398. fPlanqty: "",
  2399. fPlannetweight: "",
  2400. fCntqty: "",
  2401. fQty: "",
  2402. fGrossweight: "",
  2403. fGrossweight: '',
  2404. fPlanqty: '',
  2405. fPlanvolumn: "",
  2406. fGrossweight: "",
  2407. fNetweight: "",
  2408. fid: '',
  2409. fQty: "",
  2410. fSbu: "",
  2411. // 遮罩层
  2412. loading: true,
  2413. // 选中数组
  2414. ids: [],
  2415. userVal: {
  2416. userName: null,
  2417. nickName: null,
  2418. deptId: null,
  2419. },
  2420. queryForm: {},
  2421. // 库存总账表
  2422. whgenlegList: [],
  2423. whgenlegTotal: 0,
  2424. // 弹窗库存总账数据
  2425. dialogWhgenlegList: [],
  2426. // 库存总账对话框
  2427. whgenlegVisible: false,
  2428. warehousingagreement: false,
  2429. // 新增用户对话框
  2430. editDialogVisible_s: false,
  2431. editDialogVisible_ss: false,
  2432. editDialogVisible_sss: false,
  2433. editDialogClosed_ss: false,
  2434. storageAgreements: false,
  2435. storageAgreement: false,
  2436. dataList: [],
  2437. warehouseCrList: [],
  2438. warehouseDrList: [],
  2439. Printinglist: [],
  2440. browseStatus: false,
  2441. relevantAttachments: [],
  2442. // 非单个禁用
  2443. single: true,
  2444. // 非多个禁用
  2445. multiple: true,
  2446. // 显示搜索条件
  2447. showSearch: true,
  2448. // 总条数
  2449. total: 0,
  2450. // 仓库主(出入库)表格数据
  2451. warehousebillsList: [],
  2452. // 弹出层标题
  2453. title: "",
  2454. // 是否显示弹出层
  2455. open: false,
  2456. // 货权方(客户数据)
  2457. fMblnoOptions: [],
  2458. // 货权方(客户数据)
  2459. // 客户名称
  2460. KHblnoOptions: [],
  2461. // 作业费协议
  2462. tasklegList: [],
  2463. Pledgebank: [],
  2464. fSbuOptions: [],
  2465. // 操作员
  2466. userOptions: [],
  2467. // 操作员
  2468. goodsOptions: [],
  2469. // 制单部门
  2470. deptOptions: [],
  2471. // 仓库(仓库数据)
  2472. warehouseOptions: [],
  2473. // 库存明细入账数组
  2474. dataListSelection: [],
  2475. kqhouseOptions: [],
  2476. // 贸易方式(数据字典),对应t_trademodels 字典
  2477. fTrademodeidOptions: [],
  2478. // 计费单位(数据字典),下拉选择毛重或净重字典
  2479. fFeetunitOptions: [],
  2480. // 结算方式(数据字典),下拉选择字典
  2481. fStltypeOptions: [],
  2482. // 是否过磅(数据字典)默认 F ,过磅T 否者F 下拉选择字典
  2483. fIfweighOptions: [],
  2484. // 是否质押(数据字典),默认 F ,质押T 否者F 下拉选择字典
  2485. fIfpledgeOptions: [],
  2486. // 是否破损(数据字典),默认F否则T字典
  2487. fIfdamageOptions: [],
  2488. // 单据类型(数据字典)SJRK字典
  2489. fBilltypeOptions: [],
  2490. // 状态(数据字典),N 入字典
  2491. fBillstatusOptions: [],
  2492. // 费用名称
  2493. fWbuOptions: [],
  2494. // 计价单位
  2495. jFeetunitOptions: [],
  2496. // 作业费参数
  2497. queryParams: {
  2498. pageNum: 1,
  2499. pageSize: 10,
  2500. fCorpid: null
  2501. },
  2502. // 查询参数
  2503. queryParams: {
  2504. pageNum: 1,
  2505. pageSize: 10,
  2506. fBillno: null,
  2507. createBy: null,
  2508. createTime: null,
  2509. fCustomsdeclartion: null,
  2510. fOriginalbillno: null,
  2511. fDeptid: null,
  2512. fBsdeptid: null,
  2513. fContacts: null,
  2514. fTel: null,
  2515. fCorpid: null,
  2516. fTocorpid: null,
  2517. fStltypeid: null,
  2518. fBscorpno: null,
  2519. fWarehouseid: null,
  2520. fStorekeeper: null,
  2521. fBsdate: null,
  2522. fPlanqty: null,
  2523. fPlangrossweight: null,
  2524. fPlannetweight: null,
  2525. fPlanvolumn: null,
  2526. fQty: null,
  2527. fGrossweight: null,
  2528. fNetweight: null,
  2529. fVolumn: null,
  2530. fTrademodeid: null,
  2531. fSbu: null,
  2532. fFeetunit: null,
  2533. fMblno: null,
  2534. fVslvoy: null,
  2535. fEta: null,
  2536. fCustomno: null,
  2537. fIfweigh: null,
  2538. fIfpledge: null,
  2539. fIfdamage: null,
  2540. fBankcorpid: null,
  2541. fBilltype: null,
  2542. fBillstatus: null,
  2543. fCreateby: null,
  2544. fCreatetime: null,
  2545. fGoodsid: null,
  2546. fCntrtype: null,
  2547. fCntqty: null,
  2548. },
  2549. // 库存总账参数
  2550. whgenlegParams: {
  2551. pageNum: 1,
  2552. pageSize: 10,
  2553. fMblno: null,
  2554. fCorpid: null,
  2555. fWarehouseid: null,
  2556. },
  2557. // 表单参数
  2558. form: {
  2559. fMblno: null,
  2560. fCorpid: null,
  2561. fTrademodeid: null,
  2562. fWarehouseid: null,
  2563. },
  2564. // 表单校验
  2565. rules: {
  2566. fDeptid: [{ required: true, message: " ", trigger: "blur" }],
  2567. fMblno: [{ required: true, message: " ", trigger: "blur" }],
  2568. fBsdeptid: [{ required: true, message: " ", trigger: "blur" }],
  2569. fCorpid: [
  2570. {
  2571. required: true,
  2572. message: " ",
  2573. trigger: "blur",
  2574. },
  2575. ],
  2576. fMarks: [
  2577. { required: true, message: " ", trigger: "blur" },
  2578. ],
  2579. fFeeUnitid: [
  2580. { required: true, message: " ", trigger: "blur" },
  2581. ],
  2582. fChargedate: [
  2583. { required: true, message: " ", trigger: "blur" },
  2584. ],
  2585. fBillingway: [
  2586. { required: true, message: " ", trigger: "blur" },
  2587. ],
  2588. fBsdate: [{ required: true, message: " ", trigger: "blur" }],
  2589. fTrademodeid: [{ required: true, message: " ", trigger: "blur" }],
  2590. fSbu: [{ required: true, message: " ", trigger: "blur" }],
  2591. fStorekeeper: {
  2592. required: true,
  2593. message: " ",
  2594. trigger: "blur",
  2595. },
  2596. fWarehouseid: [{ required: true, message: " ", trigger: "blur" }],
  2597. // fBscorpno: [
  2598. // { required: true, message: "请输入存货编号", trigger: "blur" },
  2599. // ],
  2600. fbillingway: [
  2601. {
  2602. required: true,
  2603. message: " ",
  2604. trigger: "blur",
  2605. },
  2606. ],
  2607. fTocorpid: [
  2608. {
  2609. required: true,
  2610. message: " ",
  2611. trigger: "blur",
  2612. },
  2613. ],
  2614. },
  2615. };
  2616. },
  2617. created() {
  2618. this.getList();
  2619. this.getDicts("data_trademodes").then((response) => {
  2620. this.fTrademodeidOptions = response.data;
  2621. });
  2622. this.getDicts("data_unitfees").then((response) => {
  2623. this.fFeetunitOptions = response.data;
  2624. this.jFeetunitOptions = response.data;
  2625. });
  2626. this.getDicts("data_stltype_type").then((response) => {
  2627. this.fStltypeOptions = response.data;
  2628. });
  2629. this.getDicts("data_ifweigh_status").then((response) => {
  2630. this.fIfweighOptions = response.data;
  2631. });
  2632. this.getDicts("data_ifpledge_status").then((response) => {
  2633. this.fIfpledgeOptions = response.data;
  2634. });
  2635. this.getDicts("data_ifdamage_status").then((response) => {
  2636. this.fIfdamageOptions = response.data;
  2637. });
  2638. this.getDicts("data_billtype_type").then((response) => {
  2639. this.fBilltypeOptions = response.data;
  2640. });
  2641. this.getDicts("sys_common_status").then((response) => {
  2642. this.fBillstatusOptions = response.data;
  2643. });
  2644. },
  2645. methods: {
  2646. // 上传成功返回数据
  2647. showFile(row) {
  2648. // this.$set(this.relevantAttachments[0], 'fName', row.fileName)
  2649. this.$set(this.relevantAttachments[0], "fUrl", row.url);
  2650. },
  2651. printSomething() {
  2652. // 此处的style即为打印时的样式
  2653. const style =
  2654. "@media print { .print-div{ padding:8px;background-color:#cccccc;line-height:12px } .red{ color:#f00} .green{color:green} td{text-align: center}}";
  2655. print({
  2656. printable: "print_area",
  2657. type: "html",
  2658. style: style, // 亦可使用引入的外部css;
  2659. scanStyles: false,
  2660. });
  2661. },
  2662. // 新增附件上传
  2663. addRelevt() {
  2664. this.relevantAttachments.push({
  2665. fUrl: null,
  2666. fName: null,
  2667. createBy: this.form.createBy,
  2668. createTime: Date.parse(new Date()),
  2669. });
  2670. },
  2671. // 新增作业费协议
  2672. addAgreement () {
  2673. console.log("222")
  2674. if(!this.form.fCorpid) {
  2675. this.$message({
  2676. message: "请维护货权方",
  2677. type: "warning",
  2678. });
  2679. } else {
  2680. this.whgenlegList = [];
  2681. this.dialogWhgenlegList = [];
  2682. this.whgenlegTotal = 0;
  2683. this.warehousingagreement = true;
  2684. // this.whgenlegData()
  2685. this.getWhgenlegListt();
  2686. }
  2687. },
  2688. // 新增付款作业费协议
  2689. addAgreements () {
  2690. console.log("333")
  2691. if(!this.form.fCorpid) {
  2692. this.$message({
  2693. message: "请维护货权方",
  2694. type: "warning",
  2695. });
  2696. } else {
  2697. this.whgenlegList = [];
  2698. this.dialogWhgenlegList = [];
  2699. this.whgenlegTotal = 0;
  2700. this.warehousingagreements = true;
  2701. // this.whgenlegData()
  2702. this.getWhgenlegListt();
  2703. }
  2704. },
  2705. // 新增仓储费协议
  2706. addStorage () {
  2707. if(!this.form.fCorpid) {
  2708. this.$message({
  2709. message: "请维护货权方",
  2710. type: "warning",
  2711. });
  2712. } else {
  2713. this.whgenlegList = [];
  2714. this.dialogWhgenlegList = [];
  2715. this.whgenlegTotal = 0;
  2716. this.storageAgreement = true;
  2717. // this.whgenlegData()
  2718. this.getAgreement();
  2719. }
  2720. },
  2721. // 新增仓储费协议
  2722. addStorages () {
  2723. if(!this.form.fCorpid) {
  2724. this.$message({
  2725. message: "请维护货权方",
  2726. type: "warning",
  2727. });
  2728. } else {
  2729. this.whgenlegList = [];
  2730. this.dialogWhgenlegList = [];
  2731. this.whgenlegTotal = 0;
  2732. this.storageAgreements = true;
  2733. // this.whgenlegData()
  2734. this.getAgreementt();
  2735. }
  2736. },
  2737. // 查询仓储费协议
  2738. getAgreement() {
  2739. this.queryParams.fCorpid = this.form.fCorpid;
  2740. listAgreements(this.queryParams).then((response) => {
  2741. console.log(response)
  2742. this.tasklegList = response.rows;
  2743. console.log(this.whgenlegList);
  2744. this.whgenlegTotal = response.total;
  2745. });
  2746. },
  2747. // 查询仓储费协议
  2748. getAgreementt() {
  2749. },
  2750. // 查询作业费信息
  2751. getWhgenlegListt() {
  2752. this.queryParams.fCorpid = this.form.fCorpid;
  2753. listAgreement(this.queryParams).then((response) => {
  2754. console.log(response)
  2755. this.tasklegList = response.rows;
  2756. console.log(this.whgenlegList);
  2757. this.whgenlegTotal = response.total;
  2758. });
  2759. },
  2760. // 导入付款信息
  2761. whgenlegDatas() {
  2762. console.log(this.dialogWhgenlegList)
  2763. for (let whgen in this.dialogWhgenlegList) {
  2764. this.warehouseDrList.push({
  2765. fCorpid: this.dialogWhgenlegList[whgen].fCorpid,
  2766. });
  2767. }
  2768. this.warehousingagreement = false;
  2769. },
  2770. zhgenlegData () {
  2771. console.log(this.dialogWhgenlegList)
  2772. for (let zhgen in this.dialogWhgenlegList) {
  2773. this.warehouseCrList.push({
  2774. fCorpid: this.dialogWhgenlegList[zhgen].fCorpid,
  2775. });
  2776. }
  2777. this.warehousingagreements = false;
  2778. },
  2779. // 新增list
  2780. addRelevant() {
  2781. let corpidStatus =
  2782. typeof this.form.fCorpid === "undefined" ||
  2783. this.form.fCorpid == null ||
  2784. this.form.fCorpid === "";
  2785. let ftrademodeids =
  2786. typeof this.form.fTrademodeid === "undefined" ||
  2787. this.form.fTrademodeid == null ||
  2788. this.form.fTrademodeid === "";
  2789. let warehouseidStatus =
  2790. typeof this.form.fWarehouseid === "undefined" ||
  2791. this.form.fWarehouseid == null ||
  2792. this.form.fWarehouseid === "";
  2793. if (corpidStatus || warehouseidStatus || ftrademodeids) {
  2794. this.$message({
  2795. message: "请维护货权方、仓库、贸易方式",
  2796. type: "warning",
  2797. });
  2798. return false;
  2799. }
  2800. this.whgenlegList = [];
  2801. this.dialogWhgenlegList = [];
  2802. this.whgenlegTotal = 0;
  2803. this.whgenlegVisible = true;
  2804. this.getWhgenlegList();
  2805. },
  2806. // 库存总账导出数据
  2807. whgenlegData() {
  2808. if (this.dialogWhgenlegList.length === 0) {
  2809. this.$message({message: '未勾选信息', type: 'warning'})
  2810. return false
  2811. }
  2812. for (let whgen in this.dialogWhgenlegList) {
  2813. if (!this.form.fMblno || this.form.fMblno === '') {
  2814. this.$set(this.form, 'fMblno', this.dialogWhgenlegList[whgen].fMblno)
  2815. }
  2816. this.dataList.push({
  2817. fMblno: this.dialogWhgenlegList[whgen].fMblno,
  2818. fGoodsid: this.dialogWhgenlegList[whgen].fGoodsid,
  2819. fCntrtype: null,
  2820. fPlanqty: this.dialogWhgenlegList[whgen].fQtyblc,
  2821. fPlannetweight: this.dialogWhgenlegList[whgen].fNetweightblc,
  2822. fPlangrossweight: this.dialogWhgenlegList[whgen].fGrossweightblc,
  2823. fWarehouseLocationids: this.dialogWhgenlegList[whgen].fWarehouseLocationids,
  2824. fGoodsids: this.dialogWhgenlegList[whgen].fGoodsids,
  2825. fBillingway: this.dialogWhgenlegList[whgen].fBillingway,
  2826. fChargedate: this.dialogWhgenlegList[whgen].fChargedate,
  2827. fGrossweight: 0,
  2828. fNetweight: 0,
  2829. fQty: 0,
  2830. fCntqty: 1,
  2831. fBillstatus: 1,
  2832. fPackagespecs: null,
  2833. fWarehouselocid: this.dialogWhgenlegList[whgen].fWarehouseLocationid,
  2834. fWarehouselocids: this.dialogWhgenlegList[whgen].fWarehouseLocationids,
  2835. fCntrno: this.dialogWhgenlegList[whgen].fCntrno,
  2836. fGoodsval: null,
  2837. fTruckno: null,
  2838. remark: null,
  2839. });
  2840. }
  2841. this.whgenlegVisible = false;
  2842. },
  2843. // 收货单打印界面
  2844. showEditDialog_s() {
  2845. console.log(this.Printinglist)
  2846. if(this.Printinglist.length>0) {
  2847. for(let aorp in this.Printinglist){
  2848. var date = new Date(this.Printinglist[aorp].fBsdate)
  2849. var Y = date.getFullYear() + '-'
  2850. var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
  2851. var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '
  2852. this.$set(this.Printinglist[aorp], 'fBsdate', Y + M + D)
  2853. }
  2854. this.editDialogVisible_s = true;
  2855. console.log(this.fMblnoOptions)
  2856. console.log(this.form.fCorpid)
  2857. for(let corp in this.fMblnoOptions){
  2858. if(this.form.fCorpid === this.fMblnoOptions[corp].fId) {
  2859. this.$set(this.form, "fCorpid", this.fMblnoOptions[corp].fName);
  2860. }
  2861. }
  2862. for(let sorp in this.warehouseOptions){
  2863. console.log(this.form.fWarehouseid)
  2864. if(this.form.fWarehouseid === this.warehouseOptions[sorp].fId) {
  2865. this.$set(this.form, "fWarehouseid", this.warehouseOptions[sorp].fName);
  2866. }
  2867. }
  2868. }else {
  2869. this.$message.error("请选择需要打印的明细!");
  2870. }
  2871. },
  2872. showEditDialog_ss() {
  2873. console.log(this.Printinglist)
  2874. if(this.Printinglist.length>0) {
  2875. this.editDialogVisible_ss = true;
  2876. }else {
  2877. this.$message.error("请选择需要打印的明细!");
  2878. }
  2879. },
  2880. showEditDialog_sss() {
  2881. console.log(this.Printinglist)
  2882. if(this.Printinglist.length>0) {
  2883. this.editDialogVisible_sss = true;
  2884. }else {
  2885. this.$message.error("请选择需要打印的明细!");
  2886. }
  2887. },
  2888. // 收款信息
  2889. addCollection() {
  2890. this.warehouseDrList.push({
  2891. fcorpid: null,
  2892. ffeeid: null,
  2893. fFeeUnitid: null,
  2894. fQty: null,
  2895. funitprice: null,
  2896. fAmount: null,
  2897. fCurrency: "RMB",
  2898. fExrate: "1",
  2899. fCxrate: "1",
  2900. fRate: null,
  2901. remarks: null,
  2902. });
  2903. },
  2904. addpayment() {
  2905. this.warehouseCrList.push({
  2906. fcorpid: null,
  2907. ffeeid: null,
  2908. fFeeUnitid: null,
  2909. fQty: null,
  2910. funitprice: null,
  2911. fAmount: null,
  2912. fCurrency: "RMB",
  2913. fExrate: "1",
  2914. fCxrate: "1",
  2915. fRate: null,
  2916. remarks: null,
  2917. });
  2918. },
  2919. queryUser() {
  2920. queryUserVal().then((response) => {
  2921. if (response.user !== null) {
  2922. this.userVal = response.user;
  2923. this.$set(this.form, "fDeptid", this.userVal.deptId);
  2924. this.$set(this.form, "createBy", this.userVal.userName);
  2925. this.$set(this.form, "fIfdamage", "1");
  2926. this.$set(this.form, "fIfweigh", "1");
  2927. this.$set(this.form, "fTrademodeid", "1");
  2928. this.$set(this.form, "createTime", Date.parse(new Date()));
  2929. }
  2930. if (response.dept !== null) {
  2931. this.deptOptions = [];
  2932. this.deptOptions.push(response.dept);
  2933. }
  2934. });
  2935. },
  2936. /** 查询仓库主(出入库)列表 */
  2937. getList() {
  2938. this.loading = true;
  2939. listWarehousebills(this.queryParams).then((response) => {
  2940. this.warehousebillsList = response.rows;
  2941. this.total = response.total;
  2942. this.loading = false;
  2943. });
  2944. },
  2945. // 查询库存总账信息
  2946. getWhgenlegList() {
  2947. this.whgenlegParams.fMblno = this.form.fMblno;
  2948. this.whgenlegParams.fCorpid = this.form.fCorpid;
  2949. this.whgenlegParams.fWarehouseid = this.form.fWarehouseid;
  2950. this.whgenlegParams.fTrademodeid = this.form.fTrademodeid;
  2951. listWhgenleg(this.whgenlegParams).then((response) => {
  2952. this.whgenlegList = response.rows;
  2953. console.log(this.whgenlegList);
  2954. this.whgenlegTotal = response.total;
  2955. });
  2956. },
  2957. // 贸易方式(数据字典),对应t_trademodels 字典翻译
  2958. fTrademodeidFormat(row, column) {
  2959. return this.selectDictLabel(this.fTrademodeidOptions, row.fTrademodeid);
  2960. },
  2961. // 计费单位(数据字典),下拉选择毛重或净重字典翻译
  2962. fFeetunitFormat(row, column) {
  2963. return this.selectDictLabel(this.fFeetunitOptions, row.fFeetunit);
  2964. },
  2965. // 是否过磅(数据字典)默认 F ,过磅T 否者F 下拉选择字典翻译
  2966. fIfweighFormat(row, column) {
  2967. return this.selectDictLabel(this.fIfweighOptions, row.fIfweigh);
  2968. },
  2969. // 是否质押(数据字典),默认 F ,质押T 否者F 下拉选择字典翻译
  2970. fIfpledgeFormat(row, column) {
  2971. return this.selectDictLabel(this.fIfpledgeOptions, row.fIfpledge);
  2972. },
  2973. // 是否破损(数据字典),默认F否则T字典翻译
  2974. fIfdamageFormat(row, column) {
  2975. return this.selectDictLabel(this.fIfdamageOptions, row.fIfdamage);
  2976. },
  2977. // 单据类型(数据字典)SJRK字典翻译
  2978. fBilltypeFormat(row, column) {
  2979. return this.selectDictLabel(this.fBilltypeOptions, row.fBilltype);
  2980. },
  2981. // 状态(数据字典),N 入字典翻译
  2982. fBillstatusFormat(row, column) {
  2983. return this.selectDictLabel(this.fBillstatusOptions, row.fBillstatus);
  2984. },
  2985. // 取消按钮
  2986. cancel() {
  2987. this.open = false;
  2988. this.reset();
  2989. },
  2990. // 表单重置
  2991. reset() {
  2992. this.form = {
  2993. fId: null,
  2994. fBillno: null,
  2995. fCustomsdeclartion: null,
  2996. fOriginalbillno: null,
  2997. fDeptid: null,
  2998. fBsdeptid: null,
  2999. fContacts: null,
  3000. fTel: null,
  3001. fCorpid: null,
  3002. fTocorpid: null,
  3003. fStltypeid: null,
  3004. fBscorpno: null,
  3005. fWarehouseid: null,
  3006. fStorekeeper: null,
  3007. fBsdate: null,
  3008. fPlanqty: null,
  3009. fPlangrossweight: null,
  3010. fPlannetweight: null,
  3011. fPlanvolumn: null,
  3012. fQty: null,
  3013. fGrossweight: null,
  3014. fNetweight: null,
  3015. fVolumn: null,
  3016. fTrademodeid: null,
  3017. fSbu: null,
  3018. fFeetunit: null,
  3019. fMblno: null,
  3020. fVslvoy: null,
  3021. fEta: null,
  3022. fCustomno: null,
  3023. fIfweigh: null,
  3024. fIfpledge: null,
  3025. fIfdamage: null,
  3026. fBankcorpid: null,
  3027. fBilltype: null,
  3028. fBillstatus: null,
  3029. delFlag: null,
  3030. createBy: null,
  3031. createTime: null,
  3032. updateBy: null,
  3033. updateTime: null,
  3034. remark: null,
  3035. fCreateby: null,
  3036. fCreatetime: null,
  3037. fGoodsid: null,
  3038. fCntrtype: null,
  3039. fCntqty: null,
  3040. };
  3041. this.deptOptions = [];
  3042. this.userOptions = [];
  3043. this.fSbuOptions = [];
  3044. this.fWbuOptions = [];
  3045. this.goodsOptions = [];
  3046. this.KHblnoOptions = [];
  3047. this.fMblnoOptions = [];
  3048. this.kqhouseOptions = [];
  3049. this.resetForm("form");
  3050. },
  3051. /** 搜索按钮操作 */
  3052. handleQuery() {
  3053. this.queryParams.pageNum = 1;
  3054. this.getList();
  3055. },
  3056. /** 重置按钮操作 */
  3057. resetQuery() {
  3058. this.resetForm("queryForm");
  3059. this.handleQuery();
  3060. },
  3061. // 多选框选中数据
  3062. handleSelectionChange(selection) {
  3063. this.ids = selection;
  3064. // this.ids = selection.map((item) => item.fId);
  3065. this.single = selection.length !== 1;
  3066. this.multiple = !selection.length;
  3067. },
  3068. // 库存总账多选框
  3069. whgenlegSelectionChange(selection) {
  3070. this.dialogWhgenlegList = selection;
  3071. },
  3072. /** 新增按钮操作 */
  3073. handleAdd(status) {
  3074. this.browseStatus = status;
  3075. this.reset();
  3076. this.queryUser();
  3077. this.open = true;
  3078. this.detailsHidden = false;
  3079. this.dataList = [];
  3080. this.warehouseCrList = [];
  3081. this.warehouseDrList = [];
  3082. this.relevantAttachments = [];
  3083. this.title = "出库单";
  3084. this.formBrowseStatus = false;
  3085. },
  3086. /** 修改按钮操作 */
  3087. handleUpdate(row, status) {
  3088. this.browseStatus = status;
  3089. this.reset();
  3090. this.detailsHidden = false;
  3091. let data = row || this.ids;
  3092. getWarehousebills(data.fId).then((response) => {
  3093. if (response.data.warehousebills) {
  3094. this.form = response.data.warehousebills;
  3095. this.$set(this.form, "fEta", Date.parse(this.form.fEta));
  3096. this.$set(this.form, "fStltypeid", this.form.fStltypeid + "");
  3097. this.$set(this.form, "fTrademodeid", this.form.fTrademodeid + "");
  3098. if (this.form.fItemsStatus !== '1') {
  3099. this.formBrowseStatus = true
  3100. } else {
  3101. this.formBrowseStatus = false
  3102. }
  3103. }
  3104. if (response.data.corps) {
  3105. this.fMblnoOptions = response.data.corps;
  3106. this.KHblnoOptions = response.data.corps;
  3107. this.fSbuOptions = response.data.corps;
  3108. }
  3109. if (response.data.feesList) {
  3110. this.fWbuOptions = response.data.feesList;
  3111. }
  3112. if (response.data.warehouse) {
  3113. this.warehouseOptions = response.data.warehouse;
  3114. }
  3115. if (response.data.warehouseBillsItem) {
  3116. this.dataList = response.data.warehouseBillsItem;
  3117. for (let list in this.dataList) {
  3118. if (!this.form.fMblno) {
  3119. this.$set(this.form, "fMblno", this.dataList[list].fMblno);
  3120. }
  3121. this.$set(this.dataList[list], "fGoodsids", this.dataList[list].fGoodsid);
  3122. this.$set(this.dataList[list], "fBsdate", Date.parse(this.dataList[list].fBsdate));
  3123. }
  3124. }
  3125. if (response.data.enclosures) {
  3126. this.relevantAttachments = response.data.enclosures;
  3127. }
  3128. if (response.data.warehouse) {
  3129. this.warehouseDrList = response.data.warehousebillsfeesDr;
  3130. for (let dr in this.warehouseDrList) {
  3131. this.$set(
  3132. this.warehouseDrList[dr],
  3133. "fFeeUnitid",
  3134. this.warehouseDrList[dr].fFeeUnitid + ""
  3135. );
  3136. }
  3137. }
  3138. if (response.data.warehousebillsfeesCr) {
  3139. this.warehouseCrList = response.data.warehousebillsfeesCr;
  3140. this.warehouseCrList = response.data.warehousebillsfeesCr;
  3141. for (let cr in this.warehouseCrList) {
  3142. this.$set(
  3143. this.warehouseCrList[cr],
  3144. "fFeeUnitid",
  3145. this.warehouseCrList[cr].fFeeUnitid + ""
  3146. );
  3147. }
  3148. }
  3149. this.fWbuOptions = response.data.feesList;
  3150. this.userOptions = response.data.sysUser;
  3151. this.goodsOptions = response.data.goodsList;
  3152. this.goodsOptions = response.data.goodsList;
  3153. this.warehouseOptions = response.data.warehouse;
  3154. this.kqhouseOptions = response.data.warehouseAreas;
  3155. this.$set(
  3156. this.form,
  3157. "fBsdate",
  3158. Date.parse(response.data.warehousebills.fBsdate)
  3159. );
  3160. this.open = true;
  3161. this.title = "修改出库";
  3162. });
  3163. },
  3164. // 数量计算
  3165. changeContractAmt(row) {
  3166. if (row.fUnitprice !== "") {
  3167. if (row.fQty !== "") {
  3168. this.$set(
  3169. row,
  3170. "fAmount",
  3171. Number(row.fUnitprice) * Number(row.fQty)
  3172. ).toFixed(2);
  3173. } else {
  3174. this.$set(row, "fAmount", row.fUnitprice);
  3175. }
  3176. }
  3177. },
  3178. changeEstmateAmt(row) {
  3179. if (row.fUnitprice !== "") {
  3180. if (row.fQty !== "") {
  3181. this.$set(
  3182. row,
  3183. "fAmount",
  3184. Number(row.fUnitprice) * Number(row.fQty)
  3185. ).toFixed(2);
  3186. } else {
  3187. this.$set(row, "fAmount", row.fUnitprice);
  3188. }
  3189. }
  3190. },
  3191. changefBsdate(row) {
  3192. if (this.dataList.length > 0) {
  3193. for (var i = 0; i < this.dataList.length; i++) {
  3194. this.$set(this.dataList[i], "fBsdate", row);
  3195. }
  3196. }
  3197. },
  3198. // 选择按钮
  3199. Collectionoptions(selection) {
  3200. console.log(selection);
  3201. },
  3202. changefCorpid(row) {
  3203. this.$set(row, "fSbu", row.fCorpid);
  3204. for(let corp in this.fMblnoOptions) {
  3205. if(row.fCorpid === this.fMblnoOptions[corp].fId) {
  3206. this.$set(this.form, "fStltypeid", this.fMblnoOptions[corp].fStltypeid + '');
  3207. }
  3208. }
  3209. },
  3210. // 合计
  3211. getSummaries(param) {
  3212. console.log(param);
  3213. const { columns, data } = param;
  3214. const sums = [];
  3215. var values = [];
  3216. columns.forEach((column, index) => {
  3217. if (index === 0) {
  3218. sums[index] = "合计";
  3219. return;
  3220. }
  3221. if (column.property === "fgrossweight") {
  3222. values = data.map((item) => Number(item["fGrossweight"]));
  3223. }
  3224. if (column.property === "fnetweight") {
  3225. values = data.map((item) => Number(item["fNetweight"]));
  3226. }
  3227. if (column.property === "fqty") {
  3228. values = data.map((item) => Number(item["fQty"]));
  3229. }
  3230. if (column.property === "fCntqty") {
  3231. values = data.map((item) => Number(item["fCntqty"]));
  3232. } // const values = data.map(item => Number(item[column.property]))
  3233. if (
  3234. column.property === "fgrossweight" ||
  3235. column.property === "fnetweight" ||
  3236. column.property === "fqty" ||
  3237. column.property === "fCntqty"
  3238. ) {
  3239. sums[index] = values.reduce((prev, curr) => {
  3240. const value = Number(curr);
  3241. if (!isNaN(value)) {
  3242. if (column.property === "fgrossweight") {
  3243. this.form.fGrossweight = prev + curr;
  3244. this.fGrossweight = prev + curr;
  3245. }
  3246. if (column.property === "fnetweight") {
  3247. this.form.fNetweight = prev + curr;
  3248. this.fNetweight = prev + curr;
  3249. }
  3250. if (column.property === "fqty") {
  3251. this.form.fQty = prev + curr;
  3252. this.fQty = prev + curr;
  3253. }
  3254. if (column.property === "fCntqty") {
  3255. this.fCntqty = prev + curr;
  3256. }
  3257. return prev + curr;
  3258. } else {
  3259. return prev;
  3260. }
  3261. }, 0); // sums[index]
  3262. }
  3263. });
  3264. this.sums = sums;
  3265. return sums;
  3266. },
  3267. // 付款合计
  3268. warehouseDrSummaries(param) {
  3269. const { columns, data } = param;
  3270. const sums = [];
  3271. columns.forEach((column, index) => {
  3272. if (index === 0) {
  3273. sums[index] = "合计";
  3274. return;
  3275. }
  3276. const values = data.map((item) => Number(item[column.property]));
  3277. if (
  3278. column.property === "fUnitprice" ||
  3279. column.property === "fAmount" ||
  3280. column.property === "fQty" ||
  3281. column.property === "fQty"
  3282. ) {
  3283. sums[index] = values.reduce((prev, curr) => {
  3284. const value = Number(curr);
  3285. if (!isNaN(value)) {
  3286. return prev + curr;
  3287. } else {
  3288. return prev;
  3289. }
  3290. }, 0); // sums[index]
  3291. }
  3292. });
  3293. return sums;
  3294. },
  3295. // 库存明细多选框结果
  3296. dataListChange(row) {
  3297. console.log(JSON.stringify(row));
  3298. this.dataListSelection = row;
  3299. },
  3300. // 变更计价单位
  3301. changeFeeUnit(row) {
  3302. console.log(this.fCntqty);
  3303. console.log(row);
  3304. if (!row.fFeeUnitid) {
  3305. return false;
  3306. }
  3307. if (row.fFeeUnitid === "0") {
  3308. this.$set(row, "fQty", this.fCntqty);
  3309. } else if (row.fFeeUnitid === "1") {
  3310. this.$set(row, "fQty", this.fGrossweight);
  3311. }
  3312. if (row.fUnitprice) {
  3313. this.$set(
  3314. row,
  3315. "fAmount",
  3316. parseFloat(Number(row.fUnitprice) * Number(row.fQty)).toFixed(2)
  3317. );
  3318. }
  3319. },
  3320. // 入账
  3321. creditClick() {
  3322. this.$refs["form"].validate((valid) => {
  3323. for (let warehouseCr in this.dataListSelection) {
  3324. if (!this.dataListSelection[warehouseCr].fGrossweight) {
  3325. this.$message.error("请选择入库毛重");
  3326. return false;
  3327. }
  3328. if (!this.dataListSelection[warehouseCr].fNetweight) {
  3329. this.$message.error("请选择入库净重");
  3330. return false;
  3331. }
  3332. if (!this.dataListSelection[warehouseCr].fQty) {
  3333. this.$message.error("请维护出库件数");
  3334. return false;
  3335. }
  3336. if (!this.dataListSelection[warehouseCr].fPackagespecs) {
  3337. this.$message.error("请维护包装规格");
  3338. return false;
  3339. }
  3340. }
  3341. if (valid) {
  3342. let formData = new window.FormData();
  3343. formData.append("warehouseBills", JSON.stringify(this.form));
  3344. formData.append("warehousebillsitems", JSON.stringify(this.dataListSelection));
  3345. formData.append("whgenleg", JSON.stringify(this.relevantAttachments));
  3346. addWhgenleg(formData).then((response) => {
  3347. this.fid = response.data.fPid;
  3348. // 仓储费得出的明细
  3349. this.fWbuOptions = response.data.fees;
  3350. let warehousebillsfees = response.data.warehousebillsfees;
  3351. for (let fees in warehousebillsfees) {
  3352. this.$set(warehousebillsfees[fees], 'fFeeid', warehousebillsfees[fees].fFeeid + '')
  3353. this.$set(warehousebillsfees[fees], 'fCorpid', warehousebillsfees[fees].fCorpid + '')
  3354. this.$set(warehousebillsfees[fees], 'fFeeUnitid', warehousebillsfees[fees].fFeeUnitid + '')
  3355. this.warehouseDrList.push(warehousebillsfees[fees])
  3356. }
  3357. this.msgSuccess("出库成功");
  3358. this.formBrowseStatus = true
  3359. for (let li in this.dataListSelection) {
  3360. for (let i in this.dataList) {
  3361. let fQty = this.dataList[i].fQty === this.dataListSelection[li].fQty;
  3362. let fMblno = this.dataList[i].fMblno === this.dataListSelection[li].fMblno;
  3363. let fBillstatus = this.dataList[i].fBillstatus === this.dataListSelection[li].fBillstatus;
  3364. let fPackagespecs = this.dataList[i].fPackagespecs === this.dataListSelection[li].fPackagespecs;
  3365. let fWarehouselocid = this.dataList[i].fWarehouselocid === this.dataListSelection[li].fWarehouselocid;
  3366. let fGoodsid = this.dataList[i].fGoodsid === this.dataListSelection[li].fGoodsid;
  3367. let fNetweight = this.dataList[i].fNetweight === this.dataListSelection[li].fNetweight;
  3368. let fGrossweight = this.dataList[i].fGrossweight === this.dataListSelection[li].fGrossweight;
  3369. if (fMblno && fGoodsid && fBillstatus && fPackagespecs && fWarehouselocid && fGrossweight && fNetweight && fQty) {
  3370. this.$set(this.dataList[i], 'fBillstatus', '6');
  3371. }
  3372. }
  3373. }
  3374. this.$refs.tableList.clearSelection();
  3375. });
  3376. }
  3377. });
  3378. console.log("有东西:" + JSON.stringify(this.dataList));
  3379. },
  3380. // 付款信息计价单位合计
  3381. getwarehouseCrList(param) {
  3382. console.log(param);
  3383. const { columns, data } = param;
  3384. const sums = [];
  3385. var values = [];
  3386. columns.forEach((column, index) => {
  3387. if (index === 0) {
  3388. sums[index] = "合计";
  3389. return;
  3390. }
  3391. if (index === 3) {
  3392. // values = data.map((item) => Number(item["fFeeUnitid"]));
  3393. sums[index] = this.fFeeUnitids;
  3394. return;
  3395. }
  3396. });
  3397. this.sums = sums;
  3398. return sums;
  3399. },
  3400. // 库存明细多选
  3401. Selectinventory(selection) {
  3402. console.log(selection);
  3403. this.Printinglist = selection;
  3404. this.dataListSelection = selection;
  3405. if (this.Printinglist.length > 0) {
  3406. this.fTruckno = selection[0].fTruckno;
  3407. this.fCntrtype = selection[0].fCntrtype;
  3408. this.fGoodsids = selection[0].fGoodsids;
  3409. var date = new Date(selection[0].fBsdate)
  3410. var Y = date.getFullYear() + '-'
  3411. var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
  3412. var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '
  3413. this.fBsdate = Y + M + D;
  3414. }
  3415. },
  3416. // 计价单位选择
  3417. changefFeeunitid(row) {
  3418. console.log(row);
  3419. if (row === "0") {
  3420. console.log(this.fCntqty);
  3421. this.fFeeUnitid = this.fCntqty;
  3422. } else {
  3423. console.log(this.fGrossweight);
  3424. this.fFeeUnitid = this.fGrossweight;
  3425. }
  3426. },
  3427. // 计价单位选择
  3428. changefFeeunitids(row) {
  3429. console.log(row);
  3430. if (row === "0") {
  3431. console.log(this.fFeeUnitid);
  3432. this.fFeeUnitids = this.fCntqty;
  3433. } else {
  3434. this.fFeeUnitids = this.fGrossweight;
  3435. }
  3436. },
  3437. /** 提交按钮 */
  3438. submitForm(status) {
  3439. this.$refs["form"].validate((valid) => {
  3440. console.log(this.dataList);
  3441. if (status === 2) {
  3442. if (valid) {
  3443. this.form.fBillstatus = status;
  3444. this.form.fNetweight = this.fNetweight;
  3445. this.form.fPlangrossweight = this.fPlangrossweight;
  3446. this.form.fPlannetweight = this.fPlannetweight;
  3447. this.form.fPlanvolumn = this.fPlanvolumn;
  3448. this.form.fPlanqty = this.fPlanqty;
  3449. this.form.fGrossweight = this.fGrossweight;
  3450. this.form.fQty = this.fQty;
  3451. if(!this.form.fId) {
  3452. this.form.fId = this.fid;
  3453. }
  3454. let formData = new window.FormData();
  3455. // 附件数据
  3456. formData.append("tWarehouseBills", JSON.stringify(this.form));
  3457. // 库存明细
  3458. formData.append(
  3459. "tWarehousebillsitems",
  3460. JSON.stringify(this.dataList)
  3461. );
  3462. // 附件数据
  3463. formData.append(
  3464. "tWhgenleg",
  3465. JSON.stringify(this.relevantAttachments)
  3466. );
  3467. // 费用明细付款
  3468. formData.append(
  3469. "tWarehousebillsfeesCr",
  3470. JSON.stringify(this.warehouseCrList)
  3471. );
  3472. // 收款
  3473. formData.append(
  3474. "tWarehousebillsfeesDr",
  3475. JSON.stringify(this.warehouseDrList)
  3476. );
  3477. addWarehousebills(formData).then((response) => {
  3478. this.msgSuccess("提交成功");
  3479. if(status === 2) {
  3480. this.open = true;
  3481. }else {
  3482. this.open = false;
  3483. }
  3484. this.getList();
  3485. });
  3486. }
  3487. } else {
  3488. if (this.dataList.length === 0) {
  3489. this.$message.error("请新增库存明细!");
  3490. return false;
  3491. }
  3492. // if (this.relevantAttachments.length === 0) {
  3493. // this.$message.error("请新增附件上传!");
  3494. // return false;
  3495. // }
  3496. if (this.warehouseDrList.length === 0) {
  3497. this.$message.error("请新增收款信息!");
  3498. return false;
  3499. }
  3500. if (this.warehouseCrList.length === 0) {
  3501. this.$message.error("请新增付款信息!");
  3502. return false;
  3503. }
  3504. for (let list in this.dataList) {
  3505. if (!this.dataList[list].fWarehouselocid) {
  3506. this.$message.error("请输入库区!");
  3507. return false;
  3508. }
  3509. }
  3510. for (let list in this.dataList) {
  3511. console.log(this.dataList[list].fQty);
  3512. if (this.dataList[list].fQty === 0) {
  3513. this.$message.error("请输入出库件数!");
  3514. return false;
  3515. }
  3516. if (this.dataList[list].fNetweight === 0) {
  3517. this.$message.error("请输入出库净重!");
  3518. return false;
  3519. }
  3520. if (this.dataList[list].fGrossweight === 0) {
  3521. this.$message.error("请输入出库毛重!");
  3522. return false;
  3523. }
  3524. }
  3525. // for (let list in this.relevantAttachments) {
  3526. // if (this.relevantAttachments[list].fName === null) {
  3527. // this.$message.error("请输入附件名称!");
  3528. // return false;
  3529. // }
  3530. // }
  3531. for (let list in this.warehouseDrList) {
  3532. if (!this.warehouseDrList[list].fCorpid) {
  3533. this.$message.error("请选择客户名称");
  3534. return false;
  3535. }
  3536. }
  3537. for (let list in this.warehouseCrList) {
  3538. if (!this.warehouseCrList[list].fCorpid) {
  3539. this.$message.error("请选择客户名称");
  3540. return false;
  3541. }
  3542. }
  3543. if (valid) {
  3544. this.form.fBillstatus = status;
  3545. this.form.fNetweight = this.fNetweight;
  3546. this.form.fPlangrossweight = this.fPlangrossweight;
  3547. this.form.fPlannetweight = this.fPlannetweight;
  3548. this.form.fPlanvolumn = this.fPlanvolumn;
  3549. this.form.fPlanqty = this.fPlanqty;
  3550. this.form.fGrossweight = this.fGrossweight;
  3551. this.form.fQty = this.fQty;
  3552. if(!this.form.fId) {
  3553. this.form.fId = this.fid;
  3554. }
  3555. let formData = new window.FormData();
  3556. // 附件数据
  3557. formData.append("tWarehouseBills", JSON.stringify(this.form));
  3558. // 附件数据
  3559. formData.append(
  3560. "tWhgenleg",
  3561. JSON.stringify(this.relevantAttachments)
  3562. );
  3563. // // 费用明细付款
  3564. formData.append(
  3565. "tWarehousebillsfeesCr",
  3566. JSON.stringify(this.warehouseCrList)
  3567. );
  3568. // // 收款
  3569. formData.append(
  3570. "tWarehousebillsfeesDr",
  3571. JSON.stringify(this.warehouseDrList)
  3572. );
  3573. // // 库存明细
  3574. formData.append(
  3575. "tWarehousebillsitems",
  3576. JSON.stringify(this.dataList)
  3577. );
  3578. addWarehousebills(formData).then((response) => {
  3579. this.msgSuccess("新增成功");
  3580. this.open = false;
  3581. this.getList();
  3582. });
  3583. }
  3584. }
  3585. });
  3586. },
  3587. /** 删除按钮操作 */
  3588. handleDelete(row) {
  3589. const fIds = row.fId || this.ids.fId;
  3590. this.$confirm(
  3591. '是否确认删除仓库主(出入库)编号为"' + fIds + '"的数据项?',
  3592. "警告",
  3593. {
  3594. confirmButtonText: "确定",
  3595. cancelButtonText: "取消",
  3596. type: "warning",
  3597. }
  3598. )
  3599. .then(function () {
  3600. return delWarehousebills(fIds);
  3601. })
  3602. .then(() => {
  3603. this.getList();
  3604. this.msgSuccess("删除成功");
  3605. });
  3606. },
  3607. /** 导出按钮操作 */
  3608. handleExport() {
  3609. const queryParams = this.queryParams;
  3610. this.$confirm("是否确认导出所有仓库主(出入库)数据项?", "警告", {
  3611. confirmButtonText: "确定",
  3612. cancelButtonText: "取消",
  3613. type: "warning",
  3614. })
  3615. .then(function () {
  3616. return exportWarehousebills(queryParams);
  3617. })
  3618. .then((response) => {
  3619. this.download(response.msg);
  3620. });
  3621. },
  3622. // 出库件数的计算
  3623. qtyChange(row) {
  3624. if (!row.fQty || row.fQty === '') {
  3625. this.$set(row, 'fNetweight', 0)
  3626. this.$set(row, 'fGrossweight', 0)
  3627. return false
  3628. }
  3629. // 净重 fPlannetweight
  3630. // 毛重 fPlangrossweight
  3631. let netweight = parseFloat(Number(row.fPlannetweight) / Number(row.fPlanqty)).toFixed(6)
  3632. let grossweigh = parseFloat(Number(row.fPlangrossweight) / Number(row.fPlanqty)).toFixed(6)
  3633. this.$set(row, 'fNetweight', parseFloat(Number(netweight) * Number(row.fQty)).toFixed(6))
  3634. this.$set(row, 'fGrossweight', parseFloat(Number(grossweigh) * Number(row.fQty)).toFixed(6))
  3635. },
  3636. deleteRow(index, rows) {
  3637. rows.splice(index, 1);
  3638. },
  3639. /* 远程模糊查询用户 */
  3640. corpsRemoteMethod(name) {
  3641. if (name == null || name === "") {
  3642. return false;
  3643. }
  3644. let queryParams = { pageNum: 1, pageSize: 10, fName: name };
  3645. listCorps(queryParams).then((response) => {
  3646. this.fMblnoOptions = response.rows;
  3647. this.KHblnoOptions = response.rows;
  3648. });
  3649. },
  3650. /* 远程模糊查询商品 */
  3651. goodsRemoteMethod(name) {
  3652. if (name == null || name === "") {
  3653. return false;
  3654. }
  3655. let queryParams = { pageNum: 1, pageSize: 10, fName: name };
  3656. listGoods(queryParams).then((response) => {
  3657. this.goodsOptions = response.rows;
  3658. });
  3659. },
  3660. // 远程模糊查询费用名称
  3661. fWRemoteMethod(name) {
  3662. if (name == null || name === "") {
  3663. return false;
  3664. }
  3665. let queryParams = { pageNum: 1, pageSize: 10, fName: name };
  3666. listFees(queryParams).then((response) => {
  3667. this.fWbuOptions = response.rows;
  3668. });
  3669. },
  3670. /* 远程模糊查询经营单位 */
  3671. fSbuRemoteMethod(name) {
  3672. if (name == null || name === "") {
  3673. return false;
  3674. }
  3675. let queryParams = { pageNum: 1, pageSize: 10, fName: name };
  3676. listCorps(queryParams).then((response) => {
  3677. this.fSbuOptions = response.rows;
  3678. });
  3679. },
  3680. /* 远程模糊查询仓库 */
  3681. warehouseRemoteMethod(name) {
  3682. if (name == null || name === "") {
  3683. return false;
  3684. }
  3685. let queryParams = { pageNum: 1, pageSize: 10, fName: name };
  3686. listWarehouse(queryParams).then((response) => {
  3687. this.warehouseOptions = response.rows;
  3688. });
  3689. },
  3690. /* 远程模糊查询库区 */
  3691. kqhouseRemoteMethod(name) {
  3692. if (name == null || name === "") {
  3693. return false;
  3694. }
  3695. if (!this.form.fWarehouseid) {
  3696. this.$message.error("请输入仓库!");
  3697. return false;
  3698. }
  3699. let queryParams = {
  3700. pageNum: 1,
  3701. pageSize: 10,
  3702. fWarehouseid: this.form.fWarehouseid,
  3703. fName: name,
  3704. };
  3705. listArea(queryParams).then((response) => {
  3706. console.log(response);
  3707. this.kqhouseOptions = response.rows;
  3708. });
  3709. },
  3710. /* 远程模糊查询质押银行 */
  3711. corpsRemoteMethodd(name) {
  3712. if (name == null || name === "") {
  3713. return false;
  3714. }
  3715. let queryParams = { pageNum: 1, pageSize: 10, fName: name, type: 5 };
  3716. listCorps(queryParams).then((response) => {
  3717. this.Pledgebank = response.rows;
  3718. });
  3719. },
  3720. /* 远程模糊查询操作用户 */
  3721. userRemoteMethod(name) {
  3722. if (name == null || name === "") {
  3723. return false;
  3724. }
  3725. let queryParams = { pageNum: 1, pageSize: 10, userName: name };
  3726. listUser(queryParams).then((response) => {
  3727. this.userOptions = response.rows;
  3728. });
  3729. },
  3730. },
  3731. };
  3732. </script>
  3733. <style lang="scss">
  3734. .juzhong > th {
  3735. text-align: center;
  3736. }
  3737. .biaoge > tr > td {
  3738. height: 30px;
  3739. text-align: center;
  3740. border-right: 1px solid #dfe6ec !important;
  3741. order-bottom: 1px solid #dfe6ec !important;
  3742. border-bottom: 1px solid #dfe6ec !important;
  3743. }
  3744. .el-table thead th {
  3745. background: #1890ff;
  3746. color: #fff;
  3747. }
  3748. .upload-demo {
  3749. margin-left: 50px;
  3750. }
  3751. .el-form-item {
  3752. margin-bottom: 5px!important;
  3753. }
  3754. .el-form-item__label{
  3755. font-size: 12px!important;
  3756. }
  3757. </style>