index.vue 75 KB

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