index.vue 102 KB

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