index.vue 74 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456
  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-input
  21. v-model="queryParams.createBy"
  22. placeholder="请输入制单人"
  23. clearable
  24. size="small"
  25. @keyup.enter.native="handleQuery"
  26. />
  27. </el-form-item>
  28. <el-form-item label="入库日期" prop="createTime">
  29. <el-date-picker
  30. clearable
  31. size="small"
  32. v-model="queryParams.createTime"
  33. type="date"
  34. value-format="timestamp"
  35. placeholder="选择入库日期"
  36. >
  37. </el-date-picker>
  38. </el-form-item>
  39. <el-form-item label="贸易方式" prop="fTrademodeid">
  40. <el-input
  41. v-model="queryParams.fTrademodeid"
  42. placeholder="请输入贸易方式"
  43. clearable
  44. size="small"
  45. @keyup.enter.native="handleQuery"
  46. />
  47. </el-form-item>
  48. <el-form-item label="货权方" prop="fCorpid">
  49. <el-input
  50. v-model="queryParams.fCorpid"
  51. placeholder="请输入货权方"
  52. clearable
  53. size="small"
  54. @keyup.enter.native="handleQuery"
  55. />
  56. </el-form-item>
  57. <el-form-item label="提单号" prop="fmblno">
  58. <el-input
  59. v-model="queryParams.fmblno"
  60. placeholder="请输入提单号"
  61. clearable
  62. size="small"
  63. @keyup.enter.native="handleQuery"
  64. />
  65. </el-form-item>
  66. <el-form-item label="经营单位" prop="fsbu">
  67. <el-input
  68. v-model="queryParams.fsbu"
  69. placeholder="请输入经营单位"
  70. clearable
  71. size="small"
  72. @keyup.enter.native="handleQuery"
  73. />
  74. </el-form-item>
  75. <el-form-item label="货物名称" prop="fgoodsid">
  76. <el-select
  77. v-model="queryParams.fgoodsid"
  78. placeholder="请选择货物名称"
  79. clearable
  80. size="small"
  81. >
  82. <el-option label="请选择字典生成" value="" />
  83. </el-select>
  84. </el-form-item>
  85. <el-form-item label="仓库" prop="fwarehouseid">
  86. <el-input
  87. v-model="queryParams.fwarehouseid"
  88. placeholder="请输入仓库"
  89. clearable
  90. size="small"
  91. @keyup.enter.native="handleQuery"
  92. />
  93. </el-form-item>
  94. <el-form-item>
  95. <el-button
  96. type="cyan"
  97. icon="el-icon-search"
  98. size="mini"
  99. @click="handleQuery"
  100. >搜索
  101. </el-button>
  102. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
  103. >重置
  104. </el-button>
  105. </el-form-item>
  106. </el-form>
  107. <el-row :gutter="10" class="mb8">
  108. <el-col :span="1.5">
  109. <el-button
  110. type="primary"
  111. icon="el-icon-plus"
  112. size="mini"
  113. @click="handleAdd"
  114. v-hasPermi="['warehouseBusiness:warehousebills:add']"
  115. >新增
  116. </el-button>
  117. </el-col>
  118. <el-col :span="1.5">
  119. <el-button
  120. type="success"
  121. icon="el-icon-edit"
  122. size="mini"
  123. :disabled="single"
  124. @click="handleUpdate"
  125. v-hasPermi="['warehouseBusiness:warehousebills:edit']"
  126. >修改
  127. </el-button>
  128. </el-col>
  129. <el-col :span="1.5">
  130. <el-button
  131. type="danger"
  132. icon="el-icon-delete"
  133. size="mini"
  134. :disabled="multiple"
  135. @click="handleDelete"
  136. v-hasPermi="['warehouseBusiness:warehousebills:remove']"
  137. >删除
  138. </el-button>
  139. </el-col>
  140. <el-col :span="1.5">
  141. <el-button
  142. type="warning"
  143. icon="el-icon-download"
  144. size="mini"
  145. @click="handleExport"
  146. v-hasPermi="['warehouseBusiness:warehousebills:export']"
  147. >导出
  148. </el-button>
  149. </el-col>
  150. <right-toolbar
  151. :showSearch.sync="showSearch"
  152. @queryTable="getList"
  153. ></right-toolbar>
  154. </el-row>
  155. <el-table
  156. v-loading="loading"
  157. :data="warehousebillsList"
  158. @selection-change="handleSelectionChange"
  159. >
  160. <el-table-column type="selection" width="55" align="center" />
  161. <el-table-column type="index" label="行号" align="center" />
  162. <el-table-column label="货权方" align="center" prop="fCorpid" />
  163. <el-table-column label="提单号" align="center" prop="fMblno" />
  164. <el-table-column label="经营单位" align="center" prop="fSbu" />
  165. <el-table-column
  166. label="入库日期"
  167. align="center"
  168. prop="fCreatetime"
  169. width="180"
  170. ><template slot-scope="scope">
  171. <span>{{ parseTime(scope.row.fcreatetime, "{y}-{m}-{d}") }}</span>
  172. </template>
  173. </el-table-column>
  174. <el-table-column
  175. label="贸易方式"
  176. align="center"
  177. prop="fTrademodeid"
  178. :formatter="fTrademodeidFormat"
  179. />
  180. <el-table-column label="仓库" align="center" prop="fWarehouseid" />
  181. <el-table-column label="入库件数" align="center" prop="fQty" />
  182. <!-- <el-table-column label="入库毛重" align="center" prop="fGrossweight"/>-->
  183. <!-- <el-table-column label="货转客户名称" align="center" prop="fTocorpid" /> -->
  184. <el-table-column label="入库毛重" align="center" prop="fgrossweight" />
  185. <el-table-column label="净重" align="center" prop="fNetweight" />
  186. <el-table-column
  187. label="操作"
  188. align="center"
  189. class-name="small-padding fixed-width"
  190. width="100"
  191. >
  192. <template slot-scope="scope">
  193. <el-button
  194. size="mini"
  195. type="text"
  196. icon="el-icon-edit"
  197. @click="handleUpdate(scope.row)"
  198. v-hasPermi="['warehouseBusiness:warehousebills:edit']"
  199. >修改
  200. </el-button>
  201. <el-button
  202. size="mini"
  203. type="text"
  204. icon="el-icon-delete"
  205. v-if="scope.row.fBillstatus !== '6'"
  206. @click="handleDelete(scope.row)"
  207. v-hasPermi="['warehouseBusiness:warehousebills:remove']"
  208. >删除
  209. </el-button>
  210. </template>
  211. </el-table-column>
  212. </el-table>
  213. <pagination
  214. v-show="total > 0"
  215. :total="total"
  216. :page.sync="queryParams.pageNum"
  217. :limit.sync="queryParams.pageSize"
  218. @pagination="getList"
  219. />
  220. <!-- 添加或修改仓库主(出入库)对话框 -->
  221. <el-dialog
  222. :title="title"
  223. :visible.sync="open"
  224. :close-on-click-modal="false"
  225. width="80%"
  226. append-to-body
  227. >
  228. <el-form
  229. style="height: 570px"
  230. ref="form"
  231. :model="form"
  232. :rules="rules"
  233. label-width="120px"
  234. >
  235. <el-row>
  236. <el-col :span="8">
  237. <el-form-item label="货权方" prop="fCorpid">
  238. <el-select
  239. v-model="form.fCorpid"
  240. filterable
  241. remote
  242. style="width: 250px"
  243. :remote-method="corpsRemoteMethod"
  244. placeholder="请选择货权方"
  245. >
  246. <el-option
  247. v-for="dict in fMblnoOptions"
  248. :key="dict.fId"
  249. :label="dict.fName"
  250. :value="dict.fId"
  251. ></el-option>
  252. </el-select>
  253. </el-form-item>
  254. </el-col>
  255. <el-col :span="8">
  256. <el-form-item label="结算方式" prop="fStltypeid">
  257. <el-select
  258. v-model="form.fStltypeid"
  259. placeholder="请选择结算方式"
  260. clearable
  261. style="width: 250px"
  262. >
  263. <el-option
  264. v-for="dict in fStltypeOptions"
  265. :key="dict.dictValue"
  266. :label="dict.dictLabel"
  267. :value="dict.dictValue"
  268. />
  269. </el-select>
  270. </el-form-item>
  271. </el-col>
  272. <el-col :span="8">
  273. <el-form-item label="提单号" prop="fMblno">
  274. <el-input
  275. v-model="form.fMblno"
  276. style="width: 250px"
  277. placeholder="手工输入"
  278. />
  279. </el-form-item>
  280. </el-col>
  281. </el-row>
  282. <el-row>
  283. <el-col :span="8">
  284. <el-form-item label="业务日期" prop="fBsdate">
  285. <el-date-picker
  286. v-model="form.fBsdate"
  287. style="width: 250px"
  288. type="date"
  289. @change="changefBsdate"
  290. value-format="timestamp"
  291. placeholder="业务日期"
  292. >
  293. </el-date-picker>
  294. </el-form-item>
  295. </el-col>
  296. <el-col :span="8">
  297. <el-form-item label="仓管员" prop="fStorekeeper">
  298. <el-select
  299. v-model="form.fStorekeeper"
  300. filterable
  301. remote
  302. style="width: 250px"
  303. :remote-method="userRemoteMethod"
  304. placeholder="请选择仓管员"
  305. >
  306. <el-option
  307. v-for="dict in userOptions"
  308. :key="dict.userName"
  309. :label="dict.nickName"
  310. :value="dict.userName"
  311. ></el-option>
  312. </el-select>
  313. </el-form-item>
  314. </el-col>
  315. <el-col :span="8">
  316. <el-form-item label="仓库" prop="fWarehouseid">
  317. <el-select
  318. v-model="form.fWarehouseid"
  319. filterable
  320. remote
  321. style="width: 250px"
  322. :remote-method="warehouseRemoteMethod"
  323. placeholder="请选择仓库"
  324. >
  325. <el-option
  326. v-for="dict in warehouseOptions"
  327. :key="dict.fId"
  328. :label="dict.fName"
  329. :value="dict.fId"
  330. ></el-option>
  331. </el-select>
  332. </el-form-item>
  333. </el-col>
  334. </el-row>
  335. <el-row>
  336. <el-col :span="8">
  337. <el-form-item label="存货编号" prop="fBscorpno">
  338. <el-input
  339. disabled
  340. v-model="form.fBscorpno"
  341. style="width: 250px"
  342. laceholder="存货编号"
  343. />
  344. </el-form-item>
  345. </el-col>
  346. <el-col :span="8">
  347. <el-form-item label="破损" prop="fIfdamage">
  348. <el-select
  349. v-model="form.fIfdamage"
  350. placeholder="请选择是否破损"
  351. clearable
  352. style="width: 250px"
  353. >
  354. <el-option
  355. v-for="dict in fIfdamageOptions"
  356. :key="dict.dictValue"
  357. :label="dict.dictLabel"
  358. :value="dict.dictValue"
  359. />
  360. </el-select>
  361. </el-form-item>
  362. </el-col>
  363. <el-col :span="8">
  364. <el-form-item label="过磅" prop="fIfweigh">
  365. <el-select
  366. v-model="form.fIfweigh"
  367. placeholder="请选择是否过磅"
  368. clearable
  369. style="width: 250px"
  370. >
  371. <el-option
  372. v-for="dict in fIfweighOptions"
  373. :key="dict.dictValue"
  374. :label="dict.dictLabel"
  375. :value="dict.dictValue"
  376. />
  377. </el-select>
  378. </el-form-item>
  379. </el-col>
  380. </el-row>
  381. <el-row>
  382. <el-col :span="8">
  383. <el-form-item label="质押" prop="fIfpledge">
  384. <el-select
  385. v-model="form.fIfpledge"
  386. placeholder="请选择是否过磅"
  387. clearable
  388. style="width: 250px"
  389. >
  390. <el-option
  391. v-for="dict in fIfpledgeOptions"
  392. :key="dict.dictValue"
  393. :label="dict.dictLabel"
  394. :value="dict.dictValue"
  395. />
  396. </el-select>
  397. </el-form-item>
  398. </el-col>
  399. <el-col :span="8">
  400. <el-form-item label="质押银行" prop="fBankcorpid">
  401. <el-input
  402. v-model="form.fBankcorpid"
  403. laceholder="质押银行"
  404. style="width: 250px"
  405. />
  406. </el-form-item>
  407. </el-col>
  408. <el-col :span="8">
  409. <el-form-item label="计费单位" prop="fFeetunit">
  410. <el-select
  411. v-model="form.fFeetunit"
  412. placeholder="请选择计费单位"
  413. clearable
  414. style="width: 250px"
  415. >
  416. <el-option
  417. v-for="dict in fFeetunitOptions"
  418. :key="dict.dictValue"
  419. :label="dict.dictLabel"
  420. :value="dict.dictValue"
  421. />
  422. </el-select>
  423. </el-form-item>
  424. </el-col>
  425. </el-row>
  426. <el-row>
  427. <el-form-item label="备注" prop="remark">
  428. <el-input
  429. style="width: 100%"
  430. v-model="form.remark"
  431. type="textarea"
  432. placeholder="请输入内容"
  433. />
  434. </el-form-item>
  435. </el-row>
  436. <el-row style="margin-top: 30px">
  437. <el-col :span="8">
  438. <el-form-item label="仓库联系人" prop="fContacts">
  439. <el-input
  440. v-model="form.fContacts"
  441. style="width: 250px"
  442. placeholder="仓库联系人"
  443. />
  444. </el-form-item>
  445. </el-col>
  446. <el-col :span="8">
  447. <el-form-item label="仓库电话" prop="fTel">
  448. <el-input
  449. v-model="form.fTel"
  450. style="width: 250px"
  451. placeholder="请输仓库入电话"
  452. />
  453. </el-form-item>
  454. </el-col>
  455. <el-col :span="8">
  456. <el-form-item label="船名航次" prop="fVslvoy">
  457. <el-input
  458. v-model="form.fVslvoy"
  459. style="width: 250px"
  460. placeholder="船名航次"
  461. />
  462. </el-form-item>
  463. </el-col>
  464. </el-row>
  465. <el-row>
  466. <el-col :span="8">
  467. <el-form-item label="到港日期" prop="fEta">
  468. <el-date-picker
  469. v-model="form.fEta"
  470. style="width: 250px"
  471. type="date"
  472. value-format="timestamp"
  473. placeholder="到港日期"
  474. >
  475. </el-date-picker>
  476. </el-form-item>
  477. </el-col>
  478. <el-col :span="8">
  479. <el-form-item label="报关单号" prop="fCustomno">
  480. <el-input
  481. v-model="form.fCustomno"
  482. style="width: 250px"
  483. laceholder="报关单号"
  484. />
  485. </el-form-item>
  486. </el-col>
  487. <el-col :span="8">
  488. <el-form-item label="经营单位" prop="fSbu">
  489. <el-select
  490. v-model="form.fSbu"
  491. filterable
  492. remote
  493. :remote-method="fSbuRemoteMethod"
  494. style="width: 250px"
  495. placeholder="请选择经营单位"
  496. >
  497. <el-option
  498. v-for="dict in fSbuOptions"
  499. :key="dict.fId"
  500. :label="dict.fName"
  501. :value="dict.fId"
  502. ></el-option>
  503. </el-select>
  504. </el-form-item>
  505. </el-col>
  506. </el-row>
  507. <el-row>
  508. <el-col :span="8">
  509. <el-form-item label="单据编号" prop="fBillno">
  510. <el-input
  511. v-model="form.fBillno"
  512. style="width: 250px"
  513. placeholder="单据编号"
  514. />
  515. </el-form-item>
  516. </el-col>
  517. <el-col :span="8">
  518. <el-form-item label="贸易方式" prop="fTrademodeid">
  519. <el-select
  520. v-model="form.fTrademodeid"
  521. placeholder="请选择贸易方式"
  522. clearable
  523. style="width: 250px"
  524. >
  525. <el-option
  526. v-for="dict in fTrademodeidOptions"
  527. :key="dict.dictValue"
  528. :label="dict.dictLabel"
  529. :value="dict.dictValue"
  530. />
  531. </el-select>
  532. </el-form-item>
  533. </el-col>
  534. <el-col :span="8">
  535. <el-form-item label="制单人" prop="createBy">
  536. <el-input
  537. disabled
  538. v-model="form.createBy"
  539. style="width: 250px"
  540. placeholder="制单人"
  541. />
  542. </el-form-item>
  543. </el-col>
  544. </el-row>
  545. <el-row>
  546. <el-col :span="8">
  547. <el-form-item label="制单部门" prop="fDeptid">
  548. <el-select
  549. v-model="form.fDeptid"
  550. filterable
  551. disabled
  552. style="width: 250px"
  553. remote
  554. >
  555. <el-option
  556. v-for="dict in deptOptions"
  557. :key="dict.deptId"
  558. :label="dict.deptName"
  559. :value="dict.deptId"
  560. ></el-option>
  561. </el-select>
  562. </el-form-item>
  563. </el-col>
  564. <el-col :span="8">
  565. <el-form-item disabled label="制单日期" prop="fbilldate">
  566. <el-date-picker
  567. v-model="form.createTime"
  568. size="large"
  569. type="date"
  570. disabled
  571. value-format="timestamp"
  572. placeholder="制单日期"
  573. >
  574. </el-date-picker>
  575. </el-form-item>
  576. </el-col>
  577. <el-col :span="8">
  578. <el-form-item label="唛头" prop="fbarks">
  579. <el-input
  580. v-model="form.fMarks"
  581. style="width: 250px"
  582. placeholder="唛头"
  583. />
  584. </el-form-item>
  585. </el-col>
  586. </el-row>
  587. </el-form>
  588. <div class="dialogTableTitle flex a-center jlr">
  589. <h2>库存明细</h2>
  590. <el-button :disabled="browseStatus" @click.prevent="addRelevant()"
  591. >添加
  592. </el-button>
  593. </div>
  594. <el-table
  595. :data="dataList"
  596. ref="table"
  597. tooltip-effect="dark"
  598. border
  599. stripe
  600. show-summary
  601. >
  602. <el-table-column label="序号" type="index" width="80">
  603. </el-table-column>
  604. <el-table-column
  605. prop="fBsdate"
  606. header-align="center"
  607. align="center"
  608. width="180px"
  609. label="入库日期"
  610. >
  611. <template slot-scope="scope">
  612. <el-date-picker
  613. v-model="scope.row.fBsdate"
  614. style="width: 150px"
  615. type="date"
  616. disabled
  617. value-format="timestamp"
  618. placeholder="入库日期"
  619. >
  620. </el-date-picker>
  621. </template>
  622. </el-table-column>
  623. <el-table-column
  624. prop="fGoodsid"
  625. header-align="center"
  626. align="center"
  627. width="140px"
  628. label="品名"
  629. >
  630. <template slot-scope="scope">
  631. <el-select
  632. v-model="scope.row.fGoodsid"
  633. filterable
  634. remote
  635. :remote-method="goodsRemoteMethod"
  636. placeholder="请选择品名"
  637. >
  638. <el-option
  639. v-for="(dict,index) in goodsOptions"
  640. :key="index.fId"
  641. :label="dict.fName"
  642. :value="dict.fId"
  643. ></el-option>
  644. </el-select>
  645. </template>
  646. </el-table-column>
  647. <el-table-column
  648. prop="fcntrtype"
  649. header-align="center"
  650. align="center"
  651. width="140px"
  652. label="箱型"
  653. >
  654. <template slot-scope="scope">
  655. <el-input
  656. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  657. v-model="scope.row.fCntrtype"
  658. placeholder="箱型"
  659. show-word-limit
  660. />
  661. </template>
  662. </el-table-column>
  663. <el-table-column
  664. prop="fPlangrossweight"
  665. header-align="center"
  666. align="center"
  667. width="180px"
  668. label="计划毛重"
  669. >
  670. <template slot-scope="scope">
  671. <el-input
  672. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  673. v-model="scope.row.fPlangrossweight"
  674. placeholder="计划毛重"
  675. show-word-limit
  676. />
  677. </template>
  678. </el-table-column>
  679. <el-table-column
  680. prop="fPlannetweight"
  681. header-align="center"
  682. align="center"
  683. width="180px"
  684. label="计划净重"
  685. >
  686. <template slot-scope="scope">
  687. <el-input
  688. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  689. v-model="scope.row.fPlannetweight"
  690. placeholder="计划净重"
  691. show-word-limit
  692. />
  693. </template>
  694. </el-table-column>
  695. <el-table-column
  696. prop="fPlanvolumn"
  697. header-align="center"
  698. width="180px"
  699. align="center"
  700. label="计划尺码"
  701. >
  702. <template slot-scope="scope">
  703. <el-input
  704. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d\d).*$/, "$1$2.$3")'
  705. v-model="scope.row.fPlanvolumn"
  706. placeholder="尺码"
  707. show-word-limit
  708. />
  709. </template>
  710. </el-table-column>
  711. <el-table-column
  712. prop="fPlanqty"
  713. header-align="center"
  714. width="180px"
  715. align="center"
  716. label="计划件数"
  717. >
  718. <template slot-scope="scope">
  719. <el-input
  720. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  721. v-model="scope.row.fPlanqty"
  722. placeholder="件数"
  723. show-word-limit
  724. />
  725. </template>
  726. </el-table-column>
  727. <el-table-column
  728. prop="fGrossweight"
  729. header-align="center"
  730. width="180px"
  731. align="center"
  732. label="入库毛重"
  733. >
  734. <template slot-scope="scope">
  735. <el-input
  736. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  737. v-model="scope.row.fGrossweight"
  738. placeholder="入库毛重"
  739. show-word-limit
  740. />
  741. </template>
  742. </el-table-column>
  743. <el-table-column
  744. prop="fNetweight"
  745. header-align="center"
  746. width="180px"
  747. align="center"
  748. label="入库净重"
  749. >
  750. <template slot-scope="scope">
  751. <el-input
  752. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  753. v-model="scope.row.fNetweight"
  754. placeholder="入库净重"
  755. show-word-limit
  756. />
  757. </template>
  758. </el-table-column>
  759. <el-table-column
  760. prop="fQty"
  761. header-align="center"
  762. width="180px"
  763. align="center"
  764. label="入库件数"
  765. >
  766. <template slot-scope="scope">
  767. <el-input
  768. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  769. v-model="scope.row.fQty"
  770. placeholder="入库件数"
  771. show-word-limit
  772. />
  773. </template>
  774. </el-table-column>
  775. <el-table-column
  776. prop="fPackagespecs"
  777. header-align="center"
  778. width="180px"
  779. align="center"
  780. label="包装规格"
  781. >
  782. <template slot-scope="scope">
  783. <el-input
  784. oninput="value=value.replace(/[^\d.]/g,'')"
  785. v-model="scope.row.fPackagespecs"
  786. placeholder="包装规格"
  787. show-word-limit
  788. />
  789. </template>
  790. </el-table-column>
  791. <el-table-column
  792. prop="fWarehouselocid"
  793. header-align="center"
  794. width="150px"
  795. align="center"
  796. label="库区"
  797. >
  798. <template slot-scope="scope">
  799. <el-select
  800. v-model="scope.row.fWarehouselocid"
  801. filterable
  802. remote
  803. :remote-method="kqhouseRemoteMethod"
  804. placeholder="请选择库区"
  805. >
  806. <el-option
  807. v-for="dict in kqhouseOptions"
  808. :key="dict.fId"
  809. :label="dict.fName"
  810. :value="dict.fId"
  811. ></el-option>
  812. </el-select>
  813. </template>
  814. </el-table-column>
  815. <el-table-column
  816. prop="fCntrno"
  817. header-align="center"
  818. width="150px"
  819. align="center"
  820. label="箱号"
  821. >
  822. <template slot-scope="scope">
  823. <el-input
  824. v-model="scope.row.fCntrno"
  825. placeholder="箱号"
  826. show-word-limit
  827. />
  828. </template>
  829. </el-table-column>
  830. <el-table-column
  831. prop="fGoodsval"
  832. header-align="center"
  833. width="150px"
  834. align="center"
  835. label="货值"
  836. >
  837. <template slot-scope="scope">
  838. <el-input
  839. oninput="value=value.replace(/[^\d.]/g,'')"
  840. v-model="scope.row.fGoodsval"
  841. placeholder="货值"
  842. show-word-limit
  843. />
  844. </template>
  845. </el-table-column>
  846. <el-table-column
  847. prop="fTruckno"
  848. header-align="center"
  849. width="150px"
  850. align="center"
  851. label="车号"
  852. >
  853. <template slot-scope="scope">
  854. <el-input
  855. oninput="value=value.replace(/[^\d.]/g,'')"
  856. v-model="scope.row.fTruckno"
  857. placeholder="车号"
  858. show-word-limit
  859. />
  860. </template>
  861. </el-table-column>
  862. <el-table-column
  863. prop="remark"
  864. header-align="center"
  865. width="150px"
  866. align="center"
  867. label="备注"
  868. >
  869. <template slot-scope="scope">
  870. <el-input
  871. v-model="scope.row.remark"
  872. placeholder="备注"
  873. show-word-limit
  874. />
  875. </template>
  876. </el-table-column>
  877. <el-table-column
  878. header-align="center"
  879. align="center"
  880. label="操作"
  881. width="130PX"
  882. >
  883. <template slot-scope="scope">
  884. <el-button
  885. @click.native.prevent="deleteRow(scope.$index, dataList)"
  886. size="small"
  887. >移除</el-button
  888. >
  889. </template>
  890. </el-table-column>
  891. </el-table>
  892. <div class="dialogTableTitle flex a-center jlr">
  893. <h2>附件上传</h2>
  894. <el-button :disabled="browseStatus" @click.prevent="addRelevt()"
  895. >添加
  896. </el-button>
  897. </div>
  898. <el-table
  899. :data="relevantAttachments"
  900. ref="table"
  901. tooltip-effect="dark"
  902. border
  903. stripe
  904. style="width: 100%"
  905. height="150"
  906. >
  907. <el-table-column label="序号" type="index" width="80">
  908. </el-table-column>
  909. <el-table-column
  910. prop="fName"
  911. header-align="center"
  912. align="center"
  913. label="附件名称"
  914. >
  915. <template slot-scope="scope">
  916. <el-input
  917. v-model="scope.row.fName"
  918. :disabled="browseStatus"
  919. placeholder="附件名称"
  920. show-word-limit
  921. />
  922. </template>
  923. </el-table-column>
  924. <el-table-column
  925. prop="createBy"
  926. header-align="center"
  927. align="center"
  928. label="上传人"
  929. >
  930. <template slot-scope="scope">
  931. <el-input
  932. v-model="scope.row.createBy"
  933. :disabled="browseStatus"
  934. placeholder="上传人"
  935. show-word-limit
  936. />
  937. </template>
  938. </el-table-column>
  939. <el-table-column
  940. prop="createTime"
  941. header-align="center"
  942. align="center"
  943. label="上传时间"
  944. >
  945. <template slot-scope="scope">
  946. <el-date-picker
  947. v-model="scope.row.createTime"
  948. type="date"
  949. disabled
  950. placeholder="上传时间"
  951. format="yyyy-MM-dd HH:mm"
  952. value-format="timestamp"
  953. ></el-date-picker>
  954. </template>
  955. </el-table-column>
  956. <el-table-column
  957. prop="fUrl"
  958. header-align="center"
  959. align="center"
  960. width="250PX"
  961. label="上传附件"
  962. >
  963. <template slot-scope="scope">
  964. <uploadFile @input="showFile" v-model="scope.row.fUrl" />
  965. </template>
  966. </el-table-column>
  967. <el-table-column
  968. header-align="center"
  969. align="center"
  970. label="操作"
  971. width="130PX"
  972. >
  973. <template slot-scope="scope">
  974. <el-button
  975. @click.native.prevent="
  976. deleteRow(scope.$index, relevantAttachments)
  977. "
  978. :disabled="browseStatus"
  979. size="small"
  980. >移除
  981. </el-button>
  982. </template>
  983. </el-table-column>
  984. </el-table>
  985. <div class="dialogTableTitle flex a-center jlr">
  986. <h2>收款信息</h2>
  987. <el-button :disabled="browseStatus" @click.prevent="addCollection()"
  988. >添加
  989. </el-button>
  990. </div>
  991. <el-table
  992. :data="warehouseDrList"
  993. ref="table"
  994. tooltip-effect="dark"
  995. border
  996. stripe
  997. show-summary
  998. >
  999. <el-table-column label="序号" type="index" width="80">
  1000. </el-table-column>
  1001. <el-table-column
  1002. prop="fCorpid"
  1003. header-align="center"
  1004. align="center"
  1005. width="180px"
  1006. label="客户名称"
  1007. >
  1008. <template slot-scope="scope">
  1009. <el-select
  1010. v-model="scope.row.fCorpid"
  1011. filterable
  1012. remote
  1013. :remote-method="corpsRemoteMethod"
  1014. placeholder="客户名称"
  1015. >
  1016. <el-option
  1017. v-for="dict in KHblnoOptions"
  1018. :key="dict.fId"
  1019. :label="dict.fName"
  1020. :value="dict.fId"
  1021. ></el-option>
  1022. </el-select>
  1023. </template>
  1024. </el-table-column>
  1025. <el-table-column
  1026. prop="fFeeid"
  1027. header-align="center"
  1028. align="center"
  1029. width="180px"
  1030. label="费用名称"
  1031. >
  1032. <template slot-scope="scope">
  1033. <el-select
  1034. v-model="scope.row.fFeeid"
  1035. filterable
  1036. remote
  1037. :remote-method="fWRemoteMethod"
  1038. placeholder="费用名称"
  1039. >
  1040. <el-option
  1041. v-for="dict in fWbuOptions"
  1042. :key="dict.fId"
  1043. :label="dict.fName"
  1044. :value="dict.fId"
  1045. ></el-option>
  1046. </el-select>
  1047. </template>
  1048. </el-table-column>
  1049. <el-table-column
  1050. prop="fFeeUnitid"
  1051. header-align="center"
  1052. align="center"
  1053. width="150px"
  1054. label="计价单位"
  1055. >
  1056. <template slot-scope="scope">
  1057. <el-select
  1058. v-model="scope.row.fFeeUnitid"
  1059. placeholder="请选择计价单位"
  1060. clearable
  1061. >
  1062. <el-option
  1063. v-for="dict in jFeetunitOptions"
  1064. :key="dict.dictValue"
  1065. :label="dict.dictLabel"
  1066. :value="dict.dictValue"
  1067. />
  1068. </el-select>
  1069. </template>
  1070. </el-table-column>
  1071. <el-table-column
  1072. prop="fQty"
  1073. header-align="center"
  1074. align="center"
  1075. width="150px"
  1076. label="数量"
  1077. >
  1078. <template slot-scope="scope">
  1079. <el-input
  1080. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  1081. v-model="scope.row.fQty"
  1082. placeholder="数量"
  1083. @change="changeEstmateAmt(scope.row)"
  1084. show-word-limit
  1085. />
  1086. </template>
  1087. </el-table-column>
  1088. <el-table-column
  1089. prop="fUnitprice"
  1090. header-align="center"
  1091. align="center"
  1092. width="150px"
  1093. label="单价"
  1094. >
  1095. <template slot-scope="scope">
  1096. <el-input
  1097. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  1098. v-model="scope.row.fUnitprice"
  1099. placeholder="单价"
  1100. @change="changeContractAmt(scope.row)"
  1101. show-word-limit
  1102. />
  1103. </template>
  1104. </el-table-column>
  1105. <el-table-column
  1106. prop="fAmount"
  1107. header-align="center"
  1108. align="center"
  1109. width="150px"
  1110. label="金额"
  1111. >
  1112. <template slot-scope="scope">
  1113. <el-input
  1114. disabled
  1115. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  1116. v-model="scope.row.fAmount"
  1117. placeholder="金额"
  1118. show-word-limit
  1119. />
  1120. </template>
  1121. </el-table-column>
  1122. <el-table-column
  1123. prop="fCurrency"
  1124. header-align="center"
  1125. align="center"
  1126. width="150px"
  1127. label="币别"
  1128. >
  1129. <template slot-scope="scope">
  1130. <el-input
  1131. v-model="scope.row.fCurrency"
  1132. :disabled="browseStatus"
  1133. placeholder="币别"
  1134. show-word-limit
  1135. />
  1136. </template>
  1137. </el-table-column>
  1138. <el-table-column
  1139. prop="fExrate"
  1140. header-align="center"
  1141. align="center"
  1142. width="150px"
  1143. label="汇率"
  1144. >
  1145. <template slot-scope="scope">
  1146. <el-input
  1147. v-model="scope.row.fExrate"
  1148. :disabled="browseStatus"
  1149. placeholder="汇率"
  1150. show-word-limit
  1151. />
  1152. </template>
  1153. </el-table-column>
  1154. <el-table-column
  1155. prop="fTaxrate"
  1156. header-align="center"
  1157. align="center"
  1158. width="150px"
  1159. label="税率"
  1160. >
  1161. <template slot-scope="scope">
  1162. <el-input
  1163. v-model="scope.row.fTaxrate"
  1164. :disabled="browseStatus"
  1165. placeholder="税率"
  1166. show-word-limit
  1167. />
  1168. </template>
  1169. </el-table-column>
  1170. <el-table-column
  1171. prop="remarks"
  1172. header-align="center"
  1173. align="center"
  1174. width="150px"
  1175. label="备注"
  1176. >
  1177. <template slot-scope="scope">
  1178. <el-input
  1179. v-model="scope.row.remarks"
  1180. :disabled="browseStatus"
  1181. placeholder="备注"
  1182. show-word-limit
  1183. />
  1184. </template>
  1185. </el-table-column>
  1186. <el-table-column
  1187. header-align="center"
  1188. align="center"
  1189. label="操作"
  1190. width="150px"
  1191. >
  1192. <template slot-scope="scope">
  1193. <el-button size="small">审核费用</el-button>
  1194. <el-button
  1195. @click.native.prevent="deleteRow(scope.$index, warehouseDrList)"
  1196. size="small"
  1197. >移除</el-button
  1198. >
  1199. </template>
  1200. </el-table-column>
  1201. </el-table>
  1202. <div class="dialogTableTitle flex a-center jlr">
  1203. <h2>付款信息</h2>
  1204. <el-button :disabled="browseStatus" @click.prevent="addpayment()"
  1205. >添加
  1206. </el-button>
  1207. </div>
  1208. <el-table
  1209. :data="warehouseCrList"
  1210. ref="table"
  1211. tooltip-effect="dark"
  1212. border
  1213. stripe
  1214. show-summary
  1215. >
  1216. <el-table-column label="序号" type="index" width="80">
  1217. </el-table-column>
  1218. <el-table-column
  1219. prop="fCorpid"
  1220. header-align="center"
  1221. align="center"
  1222. width="180px"
  1223. label="客户名称"
  1224. >
  1225. <template slot-scope="scope">
  1226. <el-select
  1227. v-model="scope.row.fCorpid"
  1228. filterable
  1229. remote
  1230. :remote-method="corpsRemoteMethod"
  1231. placeholder="客户名称"
  1232. >
  1233. <el-option
  1234. v-for="(dict, index) in KHblnoOptions"
  1235. :key="index.fId"
  1236. :label="dict.fName"
  1237. :value="dict.fId"
  1238. ></el-option>
  1239. </el-select>
  1240. </template>
  1241. </el-table-column>
  1242. <el-table-column
  1243. prop="fFeeid"
  1244. header-align="center"
  1245. align="center"
  1246. width="180px"
  1247. label="费用名称"
  1248. >
  1249. <template slot-scope="scope">
  1250. <el-select
  1251. v-model="scope.row.fFeeid"
  1252. filterable
  1253. remote
  1254. :remote-method="fWRemoteMethod"
  1255. placeholder="费用名称"
  1256. >
  1257. <el-option
  1258. v-for="dict in fWbuOptions"
  1259. :key="dict.fId"
  1260. :label="dict.fName"
  1261. :value="dict.fId"
  1262. ></el-option>
  1263. </el-select>
  1264. </template>
  1265. </el-table-column>
  1266. <el-table-column
  1267. prop="fFeeUnitid"
  1268. header-align="center"
  1269. align="center"
  1270. width="180px"
  1271. label="计价单位"
  1272. >
  1273. <template slot-scope="scope">
  1274. <el-select
  1275. v-model="scope.row.fFeeUnitid"
  1276. filterable
  1277. remote
  1278. :remote-method="corpsRemoteMethod"
  1279. placeholder="计价单位"
  1280. >
  1281. <el-option
  1282. v-for="(dict, index) in jFeetunitOptions"
  1283. :key="index.dictValue"
  1284. :label="dict.dictLabel"
  1285. :value="dict.dictValue"
  1286. ></el-option>
  1287. </el-select>
  1288. </template>
  1289. </el-table-column>
  1290. <el-table-column
  1291. prop="fQty"
  1292. header-align="center"
  1293. align="center"
  1294. width="150px"
  1295. label="数量"
  1296. >
  1297. <template slot-scope="scope">
  1298. <el-input
  1299. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d\d).*$/, "$1$2.$3")'
  1300. v-model="scope.row.fQty"
  1301. @change="changeEstmateAmt(scope.row)"
  1302. placeholder="数量"
  1303. show-word-limit
  1304. />
  1305. </template>
  1306. </el-table-column>
  1307. <el-table-column
  1308. prop="fUnitprice"
  1309. header-align="center"
  1310. align="center"
  1311. width="150px"
  1312. label="单价"
  1313. >
  1314. <template slot-scope="scope">
  1315. <el-input
  1316. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  1317. v-model="scope.row.fUnitprice"
  1318. @change="changeContractAmt(scope.row)"
  1319. placeholder="单价"
  1320. show-word-limit
  1321. />
  1322. </template>
  1323. </el-table-column>
  1324. <el-table-column
  1325. prop="fAmount"
  1326. header-align="center"
  1327. align="center"
  1328. width="150px"
  1329. label="金额"
  1330. >
  1331. <template slot-scope="scope">
  1332. <el-input
  1333. disabled
  1334. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  1335. v-model="scope.row.fAmount"
  1336. placeholder="金额"
  1337. show-word-limit
  1338. />
  1339. </template>
  1340. </el-table-column>
  1341. <el-table-column
  1342. prop="fCurrency"
  1343. header-align="center"
  1344. align="center"
  1345. width="150px"
  1346. label="币别"
  1347. >
  1348. <template slot-scope="scope">
  1349. <el-input
  1350. v-model="scope.row.fCurrency"
  1351. :disabled="browseStatus"
  1352. placeholder="币别"
  1353. show-word-limit
  1354. />
  1355. </template>
  1356. </el-table-column>
  1357. <el-table-column
  1358. prop="fExrate"
  1359. header-align="center"
  1360. align="center"
  1361. width="150px"
  1362. label="汇率"
  1363. >
  1364. <template slot-scope="scope">
  1365. <el-input
  1366. v-model="scope.row.fExrate"
  1367. :disabled="browseStatus"
  1368. placeholder="汇率"
  1369. show-word-limit
  1370. />
  1371. </template>
  1372. </el-table-column>
  1373. <el-table-column
  1374. prop="fTaxrate"
  1375. header-align="center"
  1376. align="center"
  1377. width="150px"
  1378. label="税率"
  1379. >
  1380. <template slot-scope="scope">
  1381. <el-input
  1382. v-model="scope.row.fTaxrate"
  1383. :disabled="browseStatus"
  1384. placeholder="税率"
  1385. show-word-limit
  1386. />
  1387. </template>
  1388. </el-table-column>
  1389. <el-table-column
  1390. prop="remarks"
  1391. header-align="center"
  1392. align="center"
  1393. width="150px"
  1394. label="备注"
  1395. >
  1396. <template slot-scope="scope">
  1397. <el-input
  1398. v-model="scope.row.remarks"
  1399. :disabled="browseStatus"
  1400. placeholder="备注"
  1401. show-word-limit
  1402. />
  1403. </template>
  1404. </el-table-column>
  1405. <el-table-column
  1406. header-align="center"
  1407. align="center"
  1408. width="150px"
  1409. label="操作"
  1410. >
  1411. <template slot-scope="scope">
  1412. <el-button size="small">审核费用</el-button>
  1413. <el-button
  1414. @click.native.prevent="deleteRow(scope.$index, warehouseCrList)"
  1415. size="small"
  1416. >移除</el-button
  1417. >
  1418. </template>
  1419. </el-table-column>
  1420. </el-table>
  1421. <div slot="footer" class="dialog-footer">
  1422. <el-button
  1423. type="danger"
  1424. size="mini"
  1425. prop="打印"
  1426. @click="showEditDialog_ss"
  1427. >收货单
  1428. </el-button>
  1429. <el-button
  1430. type="danger"
  1431. size="mini"
  1432. prop="打印"
  1433. @click="showEditDialog_s"
  1434. >入库单
  1435. </el-button>
  1436. <el-button type="primary" @click="submitForm(2)">暂 存</el-button>
  1437. <el-button type="primary" @click="submitForm(6)">提 交</el-button>
  1438. <el-button @click="cancel">取 消</el-button>
  1439. </div>
  1440. <el-dialog
  1441. title="入库页面"
  1442. :modal="false"
  1443. style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
  1444. :visible.sync="editDialogVisible_s"
  1445. width="70%"
  1446. >
  1447. <table
  1448. id="print_area"
  1449. class="biaoge zzss"
  1450. border="1"
  1451. style="border-collapse: collapse; border: none"
  1452. >
  1453. <tr>
  1454. <td
  1455. width="100"
  1456. colspan="7"
  1457. class="zzss"
  1458. style="font-size: 28px; font-weight: bold; border: none"
  1459. >
  1460. 青岛大木进进仓单
  1461. </td>
  1462. </tr>
  1463. <tr>
  1464. <td
  1465. width="100"
  1466. colspan="7"
  1467. class="zzss"
  1468. style="font-size: 28px; font-weight: bold; border: none"
  1469. >
  1470. &nbsp;
  1471. </td>
  1472. </tr>
  1473. <tr>
  1474. <td width="450" colspan="2" class="zzss">货权方:某某有限公司</td>
  1475. <td width="450" colspan="2" class="zzss">仓库:某某3号大仓</td>
  1476. <td width="450" colspan="3" class="zzss">
  1477. 地址:青岛市市北区郑州路1344号
  1478. </td>
  1479. </tr>
  1480. <tr>
  1481. <td width="200" colspan="2" class="zzss">保管方:某某有限公司</td>
  1482. <td width="200" colspan="2" class="zzss">联系人:张三</td>
  1483. <td width="200" colspan="3" class="zzss">
  1484. 电话:0532-561651561-546
  1485. </td>
  1486. </tr>
  1487. <tr>
  1488. <td width="100" border="1">提单号</td>
  1489. <td width="100">品名</td>
  1490. <td width="100">箱型</td>
  1491. <td width="100">品牌</td>
  1492. <td width="100">件数</td>
  1493. <td width="100">重量</td>
  1494. <td width="100">包装规格</td>
  1495. </tr>
  1496. <tr>
  1497. <td width="100">56165654555</td>
  1498. <td width="100">某某商品</td>
  1499. <td width="100">20GP</td>
  1500. <td width="100">某某</td>
  1501. <td width="100">包</td>
  1502. <td width="100">吨</td>
  1503. <td width="100">50kg</td>
  1504. </tr>
  1505. <tr>
  1506. <td width="100">序号</td>
  1507. <td width="100">入货日期</td>
  1508. <td width="100">箱量(20GP)</td>
  1509. <td width="100">重量</td>
  1510. <td width="100">件数</td>
  1511. <td width="100">入库重量</td>
  1512. <td width="100">入库件数</td>
  1513. </tr>
  1514. <tr>
  1515. <td width="100">1</td>
  1516. <td width="100">2020-11-20</td>
  1517. <td width="100">10</td>
  1518. <td width="100">100</td>
  1519. <td width="100">10000</td>
  1520. <td width="100">20</td>
  1521. <td width="100">3000</td>
  1522. </tr>
  1523. <tr>
  1524. <td width="100">2</td>
  1525. <td width="100">2020-11-20</td>
  1526. <td width="100">10</td>
  1527. <td width="100">100</td>
  1528. <td width="100">10000</td>
  1529. <td width="100">20</td>
  1530. <td width="100">3000</td>
  1531. </tr>
  1532. <tr>
  1533. <td width="100">3</td>
  1534. <td width="100">2020-11-20</td>
  1535. <td width="100">10</td>
  1536. <td width="100">100</td>
  1537. <td width="100">10000</td>
  1538. <td width="100">20</td>
  1539. <td width="100">3000</td>
  1540. </tr>
  1541. <tr>
  1542. <td width="100">4</td>
  1543. <td width="100">2020-11-20</td>
  1544. <td width="100">10</td>
  1545. <td width="100">100</td>
  1546. <td width="100">10000</td>
  1547. <td width="100">20</td>
  1548. <td width="100">3000</td>
  1549. </tr>
  1550. <tr>
  1551. <td width="100">5</td>
  1552. <td width="100">2020-11-20</td>
  1553. <td width="100">10</td>
  1554. <td width="100">100</td>
  1555. <td width="100">10000</td>
  1556. <td width="100">20</td>
  1557. <td width="100">3000</td>
  1558. </tr>
  1559. <tr>
  1560. <td width="100">6</td>
  1561. <td width="100">2020-11-20</td>
  1562. <td width="100">10</td>
  1563. <td width="100">100</td>
  1564. <td width="100">10000</td>
  1565. <td width="100">20</td>
  1566. <td width="100">3000</td>
  1567. </tr>
  1568. <tr>
  1569. <td width="100">7</td>
  1570. <td width="100">2020-11-20</td>
  1571. <td width="100">10</td>
  1572. <td width="100">100</td>
  1573. <td width="100">10000</td>
  1574. <td width="100">20</td>
  1575. <td width="100">3000</td>
  1576. </tr>
  1577. <tr>
  1578. <td width="100" colspan="2">合计:</td>
  1579. <td width="100">10</td>
  1580. <td width="100">100</td>
  1581. <td width="100">10000</td>
  1582. <td width="100">20</td>
  1583. <td width="100">3000</td>
  1584. </tr>
  1585. <tr>
  1586. <td width="100">备注:</td>
  1587. <td width="100" colspan="6"></td>
  1588. </tr>
  1589. <tr>
  1590. <td width="100" colspan="7" class="zzss">
  1591. 本进仓单经仓管员签字并经保管方盖章后即专项作为货物所有人的货权证明,本单据不得转让。
  1592. </td>
  1593. </tr>
  1594. <tr style="border: none">
  1595. <td width="100" colspan="2" class="zzss" style="border: none">
  1596. 开单员:
  1597. </td>
  1598. <td width="100" colspan="3" class="zzss" style="border: none"></td>
  1599. <td width="100" colspan="2" class="zzss" style="border: none">
  1600. 仓管员:张三
  1601. </td>
  1602. </tr>
  1603. <tr style="border: none">
  1604. <td width="100" colspan="2" class="zzss" style="border: none">
  1605. 开单时间:
  1606. </td>
  1607. <td width="100" colspan="3" class="zzss" style="border: none"></td>
  1608. <td width="100" colspan="2" class="zzss" style="border: none">
  1609. (盖章)
  1610. </td>
  1611. </tr>
  1612. </table>
  1613. <button @click="printSomething">打印</button>
  1614. </el-dialog>
  1615. <el-dialog
  1616. title="收货单打印"
  1617. style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0) !important"
  1618. :visible.sync="editDialogVisible_ss"
  1619. width="70%"
  1620. :modal="false"
  1621. >
  1622. <table
  1623. id="print_area"
  1624. class="biaoge zzss"
  1625. border="1"
  1626. style="border-collapse: collapse; border: none"
  1627. >
  1628. <tr>
  1629. <td
  1630. width="1400"
  1631. colspan="6"
  1632. class="zzss"
  1633. style="font-size: 28px; font-weight: bold; border: none"
  1634. >
  1635. 大木国际物流(青岛)有限公司收货单
  1636. </td>
  1637. </tr>
  1638. <tr>
  1639. <td
  1640. width="900"
  1641. colspan="4"
  1642. class="zzss"
  1643. style="font-size: 28px; font-weight: bold"
  1644. >
  1645. &nbsp;
  1646. </td>
  1647. <td
  1648. width="500"
  1649. colspan="2"
  1650. style="padding-bottom: 0px; font-weight: bold; border: none"
  1651. class="zzss"
  1652. >
  1653. 出库日期:2020-11-20
  1654. </td>
  1655. </tr>
  1656. <tr>
  1657. <td width="200">车号</td>
  1658. <td width="200">苏HFN751</td>
  1659. <td width="200">货物品名</td>
  1660. <td width="200" colspan="4" class="zzss">某某商品名</td>
  1661. </tr>
  1662. <tr>
  1663. <td width="1400" colspan="6">&nbsp;</td>
  1664. </tr>
  1665. <tr>
  1666. <td>备注:</td>
  1667. <td colspan="5"></td>
  1668. </tr>
  1669. <tr>
  1670. <td>收费</td>
  1671. <td>装箱费</td>
  1672. <td>100元</td>
  1673. <td colspan="4">办单费:5元,过磅费自理</td>
  1674. </tr>
  1675. <tr>
  1676. <td>司机签字:</td>
  1677. <td></td>
  1678. <td>电话</td>
  1679. <td>15896154516</td>
  1680. <td colspan="2" rowspan="2">
  1681. 确认货物数量无误,包装于货物完好!<br />出库盖好篷布,如有违背责任自负<br />装卸工是否收小费
  1682. </td>
  1683. </tr>
  1684. <tr>
  1685. <td>制表:</td>
  1686. <td>张三</td>
  1687. <td>机械/人工:</td>
  1688. <td></td>
  1689. </tr>
  1690. <tr>
  1691. <td colspan="6" class="zzss">&nbsp;</td>
  1692. </tr>
  1693. <tr>
  1694. <td width="280" class="zzss"></td>
  1695. <td width="280" class="zzss"></td>
  1696. <td width="280" class="zzss"></td>
  1697. <td width="280" class="zzss"></td>
  1698. <td width="290" class="zzss">地址:淮河东路96号</td>
  1699. <td width="290" class="zzss">电话:18685818919</td>
  1700. </tr>
  1701. </table>
  1702. <button @click="printSomething">打印</button>
  1703. </el-dialog>
  1704. </el-dialog>
  1705. </div>
  1706. </template>
  1707. <script>
  1708. import print from "print-js";
  1709. import {
  1710. listWarehousebills,
  1711. getWarehousebills,
  1712. delWarehousebills,
  1713. addWarehousebills,
  1714. updateWarehousebills,
  1715. exportWarehousebills,
  1716. } from "@/api/warehouseBusiness/warehouseInStock";
  1717. import { listCorps } from "@/api/basicdata/corps";
  1718. import { listFees } from "@/api/basicdata/fees";
  1719. import { listWarehouse } from "@/api/basicdata/warehouse";
  1720. import { listArea } from "@/api/basicdata/area";
  1721. import { listGoods } from "@/api/basicdata/goods";
  1722. import { listUser, queryUserVal } from "@/api/system/user";
  1723. import UploadFile from "@/components/Uploadfile";
  1724. export default {
  1725. name: "Warehousebills",
  1726. components: {
  1727. UploadFile,
  1728. },
  1729. data() {
  1730. return {
  1731. // 遮罩层
  1732. loading: true,
  1733. // 选中数组
  1734. ids: [],
  1735. userVal: {
  1736. userName: null,
  1737. nickName: null,
  1738. deptId: null,
  1739. },
  1740. queryForm: {},
  1741. // 添加用户对话框
  1742. editDialogVisible_s: false,
  1743. editDialogVisible_ss: false,
  1744. editDialogClosed_ss: false,
  1745. dataList: [],
  1746. warehouseCrList: [],
  1747. warehouseDrList: [],
  1748. browseStatus: false,
  1749. relevantAttachments: [],
  1750. // 非单个禁用
  1751. single: true,
  1752. // 非多个禁用
  1753. multiple: true,
  1754. // 显示搜索条件
  1755. showSearch: true,
  1756. // 总条数
  1757. total: 0,
  1758. // 仓库主(出入库)表格数据
  1759. warehousebillsList: [],
  1760. // 弹出层标题
  1761. title: "",
  1762. // 是否显示弹出层
  1763. open: false,
  1764. // 货权方(客户数据)
  1765. fMblnoOptions: [],
  1766. // 货权方(客户数据)
  1767. // 客户名称
  1768. KHblnoOptions: [],
  1769. fSbuOptions: [],
  1770. // 操作员
  1771. userOptions: [],
  1772. // 操作员
  1773. goodsOptions: [],
  1774. // 制单部门
  1775. deptOptions: [],
  1776. // 仓库(仓库数据)
  1777. warehouseOptions: [],
  1778. kqhouseOptions: [],
  1779. // 贸易方式(数据字典),对应t_trademodels 字典
  1780. fTrademodeidOptions: [],
  1781. // 计费单位(数据字典),下拉选择毛重或净重字典
  1782. fFeetunitOptions: [],
  1783. // 结算方式(数据字典),下拉选择字典
  1784. fStltypeOptions: [],
  1785. // 是否过磅(数据字典)默认 F ,过磅T 否者F 下拉选择字典
  1786. fIfweighOptions: [],
  1787. // 是否质押(数据字典),默认 F ,质押T 否者F 下拉选择字典
  1788. fIfpledgeOptions: [],
  1789. // 是否破损(数据字典),默认F否则T字典
  1790. fIfdamageOptions: [],
  1791. // 单据类型(数据字典)SJRK字典
  1792. fBilltypeOptions: [],
  1793. // 状态(数据字典),N 入字典
  1794. fBillstatusOptions: [],
  1795. // 费用名称
  1796. fWbuOptions: [],
  1797. // 计价单位
  1798. jFeetunitOptions: [],
  1799. // 查询参数
  1800. queryParams: {
  1801. pageNum: 1,
  1802. pageSize: 10,
  1803. fBillno: null,
  1804. createBy: null,
  1805. createTime: null,
  1806. fCustomsdeclartion: null,
  1807. fOriginalbillno: null,
  1808. fDeptid: null,
  1809. fBsdeptid: null,
  1810. fContacts: null,
  1811. fTel: null,
  1812. fCorpid: null,
  1813. fTocorpid: null,
  1814. fStltypeid: null,
  1815. fBscorpno: null,
  1816. fWarehouseid: null,
  1817. fStorekeeper: null,
  1818. fBsdate: null,
  1819. fPlanqty: null,
  1820. fPlangrossweight: null,
  1821. fPlannetweight: null,
  1822. fPlanvolumn: null,
  1823. fQty: null,
  1824. fGrossweight: null,
  1825. fNetweight: null,
  1826. fVolumn: null,
  1827. fTrademodeid: null,
  1828. fSbu: null,
  1829. fFeetunit: null,
  1830. fMblno: null,
  1831. fVslvoy: null,
  1832. fEta: null,
  1833. fCustomno: null,
  1834. fIfweigh: null,
  1835. fIfpledge: null,
  1836. fIfdamage: null,
  1837. fBankcorpid: null,
  1838. fBilltype: null,
  1839. fBillstatus: null,
  1840. fCreateby: null,
  1841. fCreatetime: null,
  1842. fGoodsid: null,
  1843. fCntrtype: null,
  1844. fCntqty: null,
  1845. },
  1846. // 表单参数
  1847. form: {},
  1848. // 表单校验
  1849. rules: {
  1850. fDeptid: [
  1851. { required: true, message: "制单部门不能为空", trigger: "blur" },
  1852. ],
  1853. fMblno: [{ required: true, message: "请输入提单号", trigger: "blur" }],
  1854. fBsdeptid: [
  1855. { required: true, message: "业务所属部门不能为空", trigger: "blur" },
  1856. ],
  1857. fCorpid: [
  1858. {
  1859. required: true,
  1860. message: "请选择货权方",
  1861. trigger: "blur",
  1862. },
  1863. ],
  1864. fBsdate: [
  1865. { required: true, message: "请选择业务日期", trigger: "blur" },
  1866. ],
  1867. fTrademodeid: [
  1868. { required: true, message: "请选择贸易方式", trigger: "blur" },
  1869. ],
  1870. fStorekeeper: {
  1871. required: true,
  1872. message: "请输入仓管员",
  1873. trigger: "blur",
  1874. },
  1875. fWarehouseid: [
  1876. { required: true, message: "请选择仓库", trigger: "blur" },
  1877. ],
  1878. fbillingway: [
  1879. {
  1880. required: true,
  1881. message: "请选择结算方式",
  1882. trigger: "blur",
  1883. },
  1884. ],
  1885. fTocorpid: [
  1886. {
  1887. required: true,
  1888. message:
  1889. "货转客户名称,t_corps 中的no或 name,模糊查找选择后,存储id,显示name,自有在货权转移是该字段有效不能为空",
  1890. trigger: "blur",
  1891. },
  1892. ],
  1893. },
  1894. };
  1895. },
  1896. created() {
  1897. this.getList();
  1898. this.getDicts("data_trademodes").then((response) => {
  1899. this.fTrademodeidOptions = response.data;
  1900. });
  1901. this.getDicts("data_unitfees").then((response) => {
  1902. this.fFeetunitOptions = response.data;
  1903. this.jFeetunitOptions = JSON.parse(JSON.stringify(response.data))
  1904. });
  1905. this.getDicts("data_stltype_type").then((response) => {
  1906. this.fStltypeOptions = response.data;
  1907. });
  1908. this.getDicts("data_ifweigh_status").then((response) => {
  1909. this.fIfweighOptions = response.data;
  1910. });
  1911. this.getDicts("data_ifpledge_status").then((response) => {
  1912. this.fIfpledgeOptions = response.data;
  1913. });
  1914. this.getDicts("data_ifdamage_status").then((response) => {
  1915. this.fIfdamageOptions = response.data;
  1916. });
  1917. this.getDicts("data_billtype_type").then((response) => {
  1918. this.fBilltypeOptions = response.data;
  1919. });
  1920. this.getDicts("sys_common_status").then((response) => {
  1921. this.fBillstatusOptions = response.data;
  1922. });
  1923. },
  1924. methods: {
  1925. // 上传成功返回数据
  1926. showFile(row) {
  1927. // this.$set(this.relevantAttachments[0], 'fName', row.fileName)
  1928. this.$set(this.relevantAttachments[0], "fUrl", row.url);
  1929. },
  1930. printSomething() {
  1931. // 此处的style即为打印时的样式
  1932. const style =
  1933. "@media print { .print-div{ padding:8px;background-color:#cccccc;line-height:12px } .red{ color:#f00} .green{color:green} td{text-align: center}}";
  1934. print({
  1935. printable: "print_area",
  1936. type: "html",
  1937. style: style, // 亦可使用引入的外部css;
  1938. scanStyles: false,
  1939. });
  1940. },
  1941. // 添加附件上传
  1942. addRelevt() {
  1943. this.relevantAttachments.push({
  1944. fUrl: null,
  1945. fName: null,
  1946. createBy: this.queryParams.createBy,
  1947. createTime: Date.parse(new Date()),
  1948. });
  1949. },
  1950. // 添加list
  1951. addRelevant() {
  1952. let time = null
  1953. if (this.form.fBsdate) {
  1954. time = this.form.fBsdate
  1955. }
  1956. this.dataList.push({
  1957. fBsdate: time,
  1958. fGoodsid: null,
  1959. fCntrtype: null,
  1960. fCntqty: null,
  1961. fPlangrossweight: null,
  1962. fPlanvolumn: null,
  1963. fPlanqty: null,
  1964. fGrossweight: null,
  1965. fQty: null,
  1966. fPackagespecs: null,
  1967. fWarehouselocid: null,
  1968. fBoxno: null,
  1969. fGoodsval: null,
  1970. fTruckno: null,
  1971. remark: null,
  1972. })
  1973. },
  1974. // 收货单打印界面
  1975. showEditDialog_s() {
  1976. this.editDialogVisible_s = true;
  1977. },
  1978. showEditDialog_ss() {
  1979. this.editDialogVisible_ss = true;
  1980. },
  1981. // 收款信息
  1982. addCollection() {
  1983. this.warehouseDrList.push({
  1984. fCorpid: null,
  1985. fFeeid: null,
  1986. fFeeUnitid: null,
  1987. fQty: null,
  1988. fUnitprice: null,
  1989. fAmount: null,
  1990. fCurrency: null,
  1991. fCxrate: null,
  1992. fRate: null,
  1993. remarks: null,
  1994. });
  1995. },
  1996. addpayment() {
  1997. this.warehouseCrList.push({
  1998. fCorpid: null,
  1999. fFeeid: null,
  2000. fFeeUnitid: null,
  2001. fQty: null,
  2002. fUnitprice: null,
  2003. fAmount: null,
  2004. fCurrency: null,
  2005. fCxrate: null,
  2006. fRate: null,
  2007. remarks: null,
  2008. })
  2009. },
  2010. queryUser() {
  2011. queryUserVal().then((response) => {
  2012. if (response.user !== null) {
  2013. this.userVal = response.user;
  2014. this.$set(this.form, "fDeptid", this.userVal.deptId);
  2015. this.$set(this.form, "createBy", this.userVal.userName);
  2016. // this.$set(this.relevantAttachments, "opUserName", this.userVal.userName);
  2017. this.$set(this.form, "createTime", Date.parse(new Date()));
  2018. }
  2019. if (response.dept !== null) {
  2020. this.deptOptions = [];
  2021. this.deptOptions.push(response.dept);
  2022. }
  2023. });
  2024. },
  2025. /** 查询仓库主(出入库)列表 */
  2026. getList() {
  2027. this.loading = true;
  2028. listWarehousebills(this.queryParams).then((response) => {
  2029. this.warehousebillsList = response.rows;
  2030. this.total = response.total;
  2031. this.loading = false;
  2032. });
  2033. },
  2034. // 贸易方式(数据字典),对应t_trademodels 字典翻译
  2035. fTrademodeidFormat(row, column) {
  2036. return this.selectDictLabel(this.fTrademodeidOptions, row.fTrademodeid);
  2037. },
  2038. // 计费单位(数据字典),下拉选择毛重或净重字典翻译
  2039. fFeetunitFormat(row, column) {
  2040. return this.selectDictLabel(this.fFeetunitOptions, row.fFeetunit);
  2041. },
  2042. // 是否过磅(数据字典)默认 F ,过磅T 否者F 下拉选择字典翻译
  2043. fIfweighFormat(row, column) {
  2044. return this.selectDictLabel(this.fIfweighOptions, row.fIfweigh);
  2045. },
  2046. // 编号字典翻译
  2047. fStltypeidFormat(row, column) {
  2048. return this.selectDictLabel(this.fStltypeOptions, row.fStltypeid);
  2049. },
  2050. // 是否质押(数据字典),默认 F ,质押T 否者F 下拉选择字典翻译
  2051. fIfpledgeFormat(row, column) {
  2052. return this.selectDictLabel(this.fIfpledgeOptions, row.fIfpledge);
  2053. },
  2054. // 是否破损(数据字典),默认F否则T字典翻译
  2055. fIfdamageFormat(row, column) {
  2056. return this.selectDictLabel(this.fIfdamageOptions, row.fIfdamage);
  2057. },
  2058. // 单据类型(数据字典)SJRK字典翻译
  2059. fBilltypeFormat(row, column) {
  2060. return this.selectDictLabel(this.fBilltypeOptions, row.fBilltype);
  2061. },
  2062. // 状态(数据字典),N 入字典翻译
  2063. fBillstatusFormat(row, column) {
  2064. return this.selectDictLabel(this.fBillstatusOptions, row.fBillstatus);
  2065. },
  2066. // 取消按钮
  2067. cancel() {
  2068. this.open = false;
  2069. this.reset();
  2070. },
  2071. // 表单重置
  2072. reset() {
  2073. this.form = {
  2074. fId: null,
  2075. fBillno: null,
  2076. fCustomsdeclartion: null,
  2077. fOriginalbillno: null,
  2078. fDeptid: null,
  2079. fBsdeptid: null,
  2080. fContacts: null,
  2081. fTel: null,
  2082. fCorpid: null,
  2083. fTocorpid: null,
  2084. fStltypeid: null,
  2085. fBscorpno: null,
  2086. fWarehouseid: null,
  2087. fStorekeeper: null,
  2088. fBsdate: null,
  2089. fPlanqty: null,
  2090. fPlangrossweight: null,
  2091. fPlannetweight: null,
  2092. fPlanvolumn: null,
  2093. fQty: null,
  2094. fGrossweight: null,
  2095. fNetweight: null,
  2096. fVolumn: null,
  2097. fTrademodeid: null,
  2098. fSbu: null,
  2099. fFeetunit: null,
  2100. fMblno: null,
  2101. fVslvoy: null,
  2102. fEta: null,
  2103. fCustomno: null,
  2104. fIfweigh: null,
  2105. fIfpledge: null,
  2106. fIfdamage: null,
  2107. fBankcorpid: null,
  2108. fBilltype: null,
  2109. fBillstatus: null,
  2110. delFlag: null,
  2111. createBy: null,
  2112. createTime: null,
  2113. updateBy: null,
  2114. updateTime: null,
  2115. remark: null,
  2116. fCreateby: null,
  2117. fCreatetime: null,
  2118. fGoodsid: null,
  2119. fCntrtype: null,
  2120. fCntqty: null,
  2121. };
  2122. this.resetForm("form");
  2123. },
  2124. /** 搜索按钮操作 */
  2125. handleQuery() {
  2126. this.queryParams.pageNum = 1;
  2127. this.getList();
  2128. },
  2129. /** 重置按钮操作 */
  2130. resetQuery() {
  2131. this.resetForm("queryForm");
  2132. this.handleQuery();
  2133. },
  2134. // 多选框选中数据
  2135. handleSelectionChange(selection) {
  2136. this.ids = selection.map((item) => item.fId);
  2137. this.single = selection.length !== 1;
  2138. this.multiple = !selection.length;
  2139. },
  2140. /** 新增按钮操作 */
  2141. handleAdd() {
  2142. this.reset();
  2143. this.queryUser();
  2144. this.open = true;
  2145. this.dataList = [];
  2146. this.warehouseCrList = [];
  2147. this.warehouseDrList = [];
  2148. this.relevantAttachments = [];
  2149. this.title = "入库单";
  2150. },
  2151. /** 修改按钮操作 */
  2152. handleUpdate(row) {
  2153. this.reset();
  2154. const fId = row.fId || this.ids;
  2155. getWarehousebills(fId).then((response) => {
  2156. this.form = response.data.warehousebills
  2157. this.fMblnoOptions = response.data.corps
  2158. this.KHblnoOptions = response.data.corps
  2159. this.fSbuOptions = response.data.corps
  2160. this.fWbuOptions = response.data.feesList
  2161. this.warehouseOptions = response.data.warehouse;
  2162. this.$set(this.form, 'fStltypeid', this.form.fStltypeid + '')
  2163. this.$set(this.form, 'fTrademodeid', this.form.fTrademodeid + '')
  2164. this.dataList = response.data.warehouseBillsItem;
  2165. for (let list in this.dataList) {
  2166. this.$set(this.dataList[list], 'fBsdate', Date.parse(this.dataList[list].fBsdate))
  2167. }
  2168. this.goodsOptions = response.data.goodsList
  2169. this.kqhouseOptions = response.data.warehouseAreas
  2170. this.relevantAttachments = response.data.enclosures
  2171. this.warehouseDrList = response.data.warehousebillsfeesDr
  2172. for (let dr in this.warehouseDrList) {
  2173. this.$set(this.warehouseDrList[dr], 'fFeeUnitid', this.warehouseDrList[dr].fFeeUnitid + "")
  2174. }
  2175. this.warehouseCrList = response.data.warehousebillsfeesCr
  2176. for (let cr in this.warehouseCrList) {
  2177. this.$set(this.warehouseCrList[cr], 'fFeeUnitid', this.warehouseCrList[cr].fFeeUnitid + "")
  2178. }
  2179. this.userOptions = response.data.sysUser;
  2180. this.$set(this.form, "fBsdate", Date.parse(this.form.fBsdate))
  2181. this.open = true;
  2182. this.title = "修改仓库主(出入库)";
  2183. });
  2184. },
  2185. // 数量计算
  2186. changeContractAmt(row) {
  2187. if (row.fUnitprice !== "") {
  2188. if (row.fQty !== "") {
  2189. this.$set(
  2190. row,
  2191. "fAmount",
  2192. Number(row.fUnitprice) * Number(row.fQty)
  2193. ).toFixed(2);
  2194. } else {
  2195. this.$set(row, "fAmount", row.fUnitprice);
  2196. }
  2197. }
  2198. },
  2199. changeEstmateAmt(row) {
  2200. if (row.fUnitprice !== "") {
  2201. if (row.fQty !== "") {
  2202. this.$set(
  2203. row,
  2204. "fAmount",
  2205. Number(row.fUnitprice) * Number(row.fQty)
  2206. ).toFixed(2);
  2207. } else {
  2208. this.$set(row, "fAmount", row.fUnitprice);
  2209. }
  2210. }
  2211. },
  2212. changefBsdate(row) {
  2213. if (this.dataList.length > 0) {
  2214. for (var i = 0; i < this.dataList.length; i++) {
  2215. this.$set(this.dataList[i], "fBsdate", row);
  2216. }
  2217. }
  2218. },
  2219. /** 提交按钮 */
  2220. submitForm(status) {
  2221. this.$refs["form"].validate((valid) => {
  2222. if (this.dataList.length === 0) {
  2223. this.$message.error('请添加库存明细!')
  2224. return false
  2225. }
  2226. if (this.relevantAttachments.length === 0) {
  2227. this.$message.error('请添加附件上传!')
  2228. return false
  2229. }
  2230. if (this.warehouseDrList.length === 0) {
  2231. this.$message.error('请添加收款信息!')
  2232. return false
  2233. }
  2234. if (this.warehouseCrList.length === 0) {
  2235. this.$message.error('请添加付款信息!')
  2236. return false
  2237. }
  2238. for (let list in this.dataList) {
  2239. if (!this.dataList[list].fGoodsid) {
  2240. this.$message.error('请输入品名!')
  2241. return false
  2242. }
  2243. if (!this.dataList[list].fWarehouselocid) {
  2244. this.$message.error('请输入库区!')
  2245. return false
  2246. }
  2247. }
  2248. for (let relevant in this.relevantAttachments) {
  2249. if (!this.relevantAttachments[relevant].fName) {
  2250. this.$message.error('请输入附件名称!')
  2251. return false
  2252. }
  2253. }
  2254. for (let warehouseDr in this.warehouseDrList) {
  2255. if (!this.warehouseDrList[warehouseDr].fCorpid) {
  2256. this.$message.error('请选择客户名称')
  2257. return false
  2258. }
  2259. if (!this.warehouseDrList[warehouseDr].fFeeid) {
  2260. this.$message.error('请选择费用名称')
  2261. return false
  2262. }
  2263. if (!this.warehouseDrList[warehouseDr]) {
  2264. this.$message.error('请选择收款计费单位')
  2265. return false
  2266. }
  2267. }
  2268. for (let warehouseCr in this.warehouseCrList) {
  2269. if (!this.warehouseCrList[warehouseCr].fCorpid) {
  2270. this.$message.error('请选择客户名称')
  2271. return false
  2272. }
  2273. if (!this.warehouseCrList[warehouseCr].fFeeid) {
  2274. this.$message.error('请选择费用名称')
  2275. return false
  2276. }
  2277. if (!this.warehouseCrList[warehouseCr].fFeeUnitid) {
  2278. this.$message.error('请选择付款计费单位')
  2279. return false
  2280. }
  2281. }
  2282. if (valid) {
  2283. this.form.fBillstatus = status;
  2284. let formData = new window.FormData();
  2285. // 附件数据
  2286. formData.append("tWarehouseBills", JSON.stringify(this.form))
  2287. // 库存明细
  2288. formData.append("tWarehousebillsitems", JSON.stringify(this.dataList))
  2289. // 附件数据
  2290. formData.append("tWhgenleg", JSON.stringify(this.relevantAttachments))
  2291. // 费用明细付款
  2292. formData.append("tWarehousebillsfeesCr", JSON.stringify(this.warehouseCrList))
  2293. // 收款
  2294. formData.append("tWarehousebillsfeesDr", JSON.stringify(this.warehouseDrList))
  2295. addWarehousebills(formData).then((response) => {
  2296. this.msgSuccess("提交成功");
  2297. this.open = false;
  2298. this.getList();
  2299. })
  2300. }
  2301. })
  2302. },
  2303. /** 删除按钮操作 */
  2304. handleDelete(row) {
  2305. const fIds = row.fId || this.ids;
  2306. this.$confirm(
  2307. '是否确认删除仓库主(出入库)编号为"' + fIds + '"的数据项?',
  2308. "警告",
  2309. {
  2310. confirmButtonText: "确定",
  2311. cancelButtonText: "取消",
  2312. type: "warning",
  2313. }
  2314. )
  2315. .then(function () {
  2316. return delWarehousebills(fIds);
  2317. })
  2318. .then(() => {
  2319. this.getList();
  2320. this.msgSuccess("删除成功");
  2321. });
  2322. },
  2323. /** 导出按钮操作 */
  2324. handleExport() {
  2325. const queryParams = this.queryParams;
  2326. this.$confirm("是否确认导出所有仓库主(出入库)数据项?", "警告", {
  2327. confirmButtonText: "确定",
  2328. cancelButtonText: "取消",
  2329. type: "warning",
  2330. })
  2331. .then(function () {
  2332. return exportWarehousebills(queryParams);
  2333. })
  2334. .then((response) => {
  2335. this.download(response.msg);
  2336. });
  2337. },
  2338. deleteRow(index, rows) {
  2339. rows.splice(index, 1);
  2340. },
  2341. /* 远程模糊查询用户 */
  2342. corpsRemoteMethod(name) {
  2343. if (name == null || name === "") {
  2344. return false;
  2345. }
  2346. let queryParams = { pageNum: 1, pageSize: 10, fName: name };
  2347. listCorps(queryParams).then((response) => {
  2348. this.fMblnoOptions = response.rows;
  2349. this.KHblnoOptions = response.rows;
  2350. });
  2351. },
  2352. /* 远程模糊查询商品 */
  2353. goodsRemoteMethod(name) {
  2354. if (name == null || name === "") {
  2355. return false;
  2356. }
  2357. let queryParams = { pageNum: 1, pageSize: 10, fName: name };
  2358. listGoods(queryParams).then((response) => {
  2359. this.goodsOptions = response.rows;
  2360. });
  2361. },
  2362. // 远程模糊查询费用名称
  2363. fWRemoteMethod(name) {
  2364. if (name == null || name === "") {
  2365. return false;
  2366. }
  2367. let queryParams = { pageNum: 1, pageSize: 10, fName: name };
  2368. listFees(queryParams).then((response) => {
  2369. this.fWbuOptions = response.rows;
  2370. });
  2371. },
  2372. /* 远程模糊查询经营单位 */
  2373. fSbuRemoteMethod(name) {
  2374. if (name == null || name === "") {
  2375. return false;
  2376. }
  2377. let queryParams = { pageNum: 1, pageSize: 10, fName: name };
  2378. listCorps(queryParams).then((response) => {
  2379. this.fSbuOptions = response.rows;
  2380. });
  2381. },
  2382. /* 远程模糊查询仓库 */
  2383. warehouseRemoteMethod(name) {
  2384. if (name == null || name === "") {
  2385. return false;
  2386. }
  2387. let queryParams = { pageNum: 1, pageSize: 10, fName: name };
  2388. listWarehouse(queryParams).then((response) => {
  2389. this.warehouseOptions = response.rows;
  2390. });
  2391. },
  2392. /* 远程模糊查询库区 */
  2393. kqhouseRemoteMethod(name) {
  2394. if (name == null || name === "") {
  2395. return false;
  2396. }
  2397. if (!this.form.fWarehouseid) {
  2398.         this.$message.error('请输入仓库!')
  2399.         return false
  2400.       }
  2401. let queryParams = { pageNum: 1, pageSize: 10, fWarehouseid:this.form.fWarehouseid , fName: name };
  2402. listArea(queryParams).then((response) => {
  2403. this.kqhouseOptions = response.rows;
  2404. });
  2405. },
  2406. /* 远程模糊查询操作用户 */
  2407. userRemoteMethod(name) {
  2408. if (name == null || name === "") {
  2409. return false;
  2410. }
  2411. let queryParams = { pageNum: 1, pageSize: 10, userName: name };
  2412. listUser(queryParams).then((response) => {
  2413. this.userOptions = response.rows;
  2414. });
  2415. },
  2416. },
  2417. };
  2418. </script>
  2419. <style lang="scss">
  2420. .juzhong > th {
  2421. text-align: center;
  2422. }
  2423. .biaoge > tr > td {
  2424. height: 30px;
  2425. text-align: center;
  2426. border-right: 1px solid #dfe6ec !important;
  2427. order-bottom: 1px solid #dfe6ec !important;
  2428. border-bottom: 1px solid #dfe6ec !important;
  2429. }
  2430. .el-table thead th {
  2431. background: #1890ff;
  2432. color: #fff;
  2433. }
  2434. .upload-demo {
  2435. margin-left: 50px;
  2436. }
  2437. </style>