tranManagementWarehouseInOutTaskAdd.vue 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407
  1. // 创建出入库任务
  2. <template>
  3. <div class="container">
  4. <el-row>
  5. <el-col :span="12">
  6. <h2 class="bg-left title">创建出入库任务</h2>
  7. </el-col>
  8. <el-col :span="12" class="bg-right">
  9. <el-button
  10. class="bg-bottom"
  11. type="primary"
  12. size="small"
  13. @click="returnsales()"
  14. ><img
  15. width="6"
  16. height="10"
  17. style="vertical-align: bottom; margin-right: 3px"
  18. src="../../../public/img/lujing.png"
  19. alt=""
  20. />返回</el-button
  21. >
  22. </el-col>
  23. </el-row>
  24. <div class="basicInformation">
  25. <el-radio v-model="radio" label="1">出库</el-radio>
  26. <el-radio v-model="radio" label="2">入库</el-radio>
  27. <el-radio v-model="radio" label="3">移库</el-radio>
  28. <el-radio v-model="radio" label="4">退库并出库</el-radio>
  29. <div class="center1">
  30. <!--出库=-->
  31. <div class="small-title"><h3>出库任务( )</h3></div>
  32. <el-form ref="form" :model="form" label-width="140px">
  33. <!-- 仓库名 -->
  34. <el-form-item label="仓库名">
  35. <el-select
  36. v-model="dataList.warehouseName"
  37. placeholder="请选择仓库名"
  38. class="typeselect"
  39. @change="selectwarehouseName"
  40. >
  41. <el-option
  42. v-for="item in warehouseNameList"
  43. :key="item.constKey"
  44. :label="item.constValue"
  45. :value="item.constValue"
  46. />
  47. </el-select>
  48. </el-form-item>
  49. <!-- 出库类型 -->
  50. <el-form-item label="出库类型">
  51. <el-select
  52. v-model="dataList.deliveryType"
  53. placeholder="请选择出库类型"
  54. class="typeselect"
  55. @change="selectstorageType"
  56. >
  57. <el-option
  58. v-for="item in storageType"
  59. :key="item.constKey"
  60. :label="item.constValue"
  61. :value="item.constValue"
  62. />
  63. </el-select>
  64. </el-form-item>
  65. <!-- 合同编号 -->
  66. <el-form-item label="合同编号">
  67. <el-select
  68. v-model="dataList.contractNo"
  69. placeholder="请选择合同编号"
  70. class="typeselect"
  71. >
  72. <el-option
  73. v-for="item in outContractNo"
  74. :key="item.constKey"
  75. :label="item.contractNo"
  76. :value="item.contractNo"
  77. />
  78. </el-select>
  79. </el-form-item>
  80. <!-- 货名 -->
  81. <el-form-item label="货名">
  82. {{}}
  83. </el-select>
  84. </el-form-item>
  85. <!--重量(吨)-->
  86. <el-form-item label="重量(吨)">
  87. <el-input
  88. @input="weightchange"
  89. v-model="dataList.weight"
  90. placeholder="请输入重量"
  91. maxlength="120"
  92. size="small"
  93. />
  94. </el-form-item>
  95. <!-- 品级 -->
  96. <el-form-item label="品级">
  97. <el-select
  98. v-model="dataList.grade"
  99. placeholder=""
  100. class="typeselect"
  101. @change="selectpackingMethod"
  102. >
  103. <el-option
  104. v-for="item in gradeList"
  105. :key="item.constKey"
  106. :label="item.constValue"
  107. :value="item.constValue"
  108. />
  109. </el-select>
  110. </el-form-item>
  111. <!--容重(克/升)>=-->
  112. <el-form-item label="容重(克/升)>=">
  113. <el-input
  114. @input="bulkDensitychange"
  115. v-model="dataList.bulkDensity"
  116. placeholder="请输入容重"
  117. maxlength="120"
  118. size="small"
  119. />
  120. </el-form-item>
  121. <!--水分(%)<=-->
  122. <el-form-item label="水分(%)<=">
  123. <el-input
  124. @input="waterContentchange"
  125. v-model="dataList.waterContent"
  126. placeholder="请输入水分占比"
  127. maxlength="120"
  128. size="small"
  129. />
  130. </el-form-item>
  131. <!--单价(元/吨)-->
  132. <el-form-item label="单价(元/吨)">
  133. <el-input
  134. @input="unitPricechange"
  135. v-model="dataList.unitPrice"
  136. placeholder="请输入单价"
  137. maxlength="120"
  138. size="small"
  139. />
  140. </el-form-item>
  141. <!--预计出库日期-->
  142. <el-form-item
  143. label="预计出库日期"
  144. span="1"
  145. prop="deliveryDate"
  146. class="deliverydate"
  147. >
  148. <el-date-picker
  149. v-model="dataList.deliveryDate"
  150. type="date"
  151. placeholder="请选择预计出库日期"
  152. value-format="yyyy-MM-dd"
  153. />
  154. </el-form-item>
  155. <!--经办人-->
  156. <el-form-item label="出库经办人">
  157. <el-select
  158. v-model="dataList.agent"
  159. placeholder="请选择经办人"
  160. filterable
  161. :filter-method="dataFilter"
  162. @change="selectstaff"
  163. >
  164. <el-option
  165. v-for="item in options"
  166. :key="item.value"
  167. :label="item.staffName"
  168. :value="item.staffName"
  169. />
  170. </el-select>
  171. </el-form-item>
  172. <!--业务描述=-->
  173. <el-form-item label="业务描述" >
  174. <el-input
  175. @input="businessDescriptionchange"
  176. v-model="dataList.businessDescription"
  177. placeholder="请输入业务描述,不超过150字"
  178. maxlength="150"
  179. size="small"
  180. />
  181. </el-form-item>
  182. </el-form>
  183. <!--入库=-->
  184. <div class="small-title"><h3>入库任务( )</h3></div>
  185. <el-form ref="form" :model="form" label-width="140px">
  186. <!-- 仓库名 -->
  187. <el-form-item label="仓库名">
  188. <el-select
  189. v-model="dataList.warehouseName"
  190. placeholder="请选择仓库名"
  191. class="typeselect"
  192. @change="selectwarehouseName"
  193. >
  194. <el-option
  195. v-for="item in warehouseNameList"
  196. :key="item.constKey"
  197. :label="item.constValue"
  198. :value="item.constValue"
  199. />
  200. </el-select>
  201. </el-form-item>
  202. <!-- 入库类型 -->
  203. <el-form-item label="入库类型">
  204. <el-select
  205. v-model="dataList.inOutType"
  206. placeholder="请选择入库类型"
  207. class="typeselect"
  208. @change="selectstorageType"
  209. >
  210. <el-option
  211. v-for="item in storageType"
  212. :key="item.constKey"
  213. :label="item.constValue"
  214. :value="item.constValue"
  215. />
  216. </el-select>
  217. </el-form-item>
  218. <!-- 合同编号 -->
  219. <el-form-item label="合同编号">
  220. <el-select
  221. v-model="dataList.contractNo"
  222. placeholder="请选择合同编号"
  223. class="typeselect"
  224. >
  225. <el-option
  226. v-for="item in outContractNo"
  227. :key="item.constKey"
  228. :label="item.contractNo"
  229. :value="item.contractNo"
  230. />
  231. </el-select>
  232. </el-form-item>
  233. <!-- 货名 -->
  234. <el-form-item label="货名">
  235. {{}}
  236. </el-form-item>
  237. <!--重量(吨)-->
  238. <el-form-item label="重量(吨)">
  239. <el-input
  240. @input="weightchange"
  241. v-model="dataList.weight"
  242. placeholder="请输入重量"
  243. maxlength="120"
  244. size="small"
  245. />
  246. </el-form-item>
  247. <!-- 品级 -->
  248. <el-form-item label="品级">
  249. <el-select
  250. v-model="dataList.grade"
  251. placeholder="一等品"
  252. class="typeselect"
  253. @change="selectpackingMethod"
  254. >
  255. <el-option
  256. v-for="item in gradeList"
  257. :key="item.constKey"
  258. :label="item.constValue"
  259. :value="item.constValue"
  260. />
  261. </el-select>
  262. </el-form-item>
  263. <!--容重(克/升)>=-->
  264. <el-form-item label="容重(克/升)>=">
  265. <el-input
  266. @input="bulkDensitychange"
  267. v-model="dataList.bulkDensity"
  268. placeholder="请输入容重"
  269. maxlength="120"
  270. size="small"
  271. />
  272. </el-form-item>
  273. <!--水分(%)<=-->
  274. <el-form-item label="水分(%)<=">
  275. <el-input
  276. @input="waterContentchange"
  277. v-model="dataList.waterContent"
  278. placeholder="请输入水分占比"
  279. maxlength="120"
  280. size="small"
  281. />
  282. </el-form-item>
  283. <!--单价(元/吨)-->
  284. <el-form-item label="单价(元/吨)">
  285. <el-input
  286. @input="unitPricechange"
  287. v-model="dataList.unitPrice"
  288. placeholder="请输入单价"
  289. maxlength="120"
  290. size="small"
  291. />
  292. </el-form-item>
  293. <!--预计入库日期-->
  294. <el-form-item
  295. label="预计入库日期"
  296. span="1"
  297. prop="inOutDate"
  298. class="deliverydate"
  299. >
  300. <el-date-picker
  301. v-model="dataList.inOutDate"
  302. type="date"
  303. placeholder="请选择预计入库日期"
  304. value-format="yyyy-MM-dd"
  305. />
  306. </el-form-item>
  307. <!--经办人-->
  308. <el-form-item label="入库经办人">
  309. <el-select
  310. v-model="dataList.agent"
  311. placeholder="请选择经办人"
  312. filterable
  313. :filter-method="dataFilter"
  314. @change="selectstaff"
  315. >
  316. <el-option
  317. v-for="item in options"
  318. :key="item.value"
  319. :label="item.staffName"
  320. :value="item.staffName"
  321. />
  322. </el-select>
  323. </el-form-item>
  324. <!--业务描述=-->
  325. <el-form-item label="业务描述" >
  326. <el-input
  327. @input="businessDescriptionchange"
  328. v-model="dataList.businessDescription"
  329. placeholder="请输入业务描述,不超过150字"
  330. maxlength="150"
  331. size="small"
  332. />
  333. </el-form-item>
  334. </el-form>
  335. <!--移库-->
  336. <div class="small-title"><h3>出库任务( )</h3></div>
  337. <el-form ref="form" :model="form" label-width="140px">
  338. <!-- 仓库名 -->
  339. <el-form-item label="仓库名">
  340. <el-select
  341. v-model="dataList.warehouseName"
  342. placeholder="请选择仓库"
  343. class="typeselect"
  344. @change="selectwarehouseName"
  345. >
  346. <el-option
  347. v-for="item in warehouseNameList"
  348. :key="item.constKey"
  349. :label="item.constValue"
  350. :value="item.constValue"
  351. />
  352. </el-select>
  353. </el-form-item>
  354. <!-- 出库类型 -->
  355. <el-form-item label="出库类型">
  356. {{}}
  357. </el-form-item>
  358. <!--移库任务编号-->
  359. <el-form-item label="移库任务编号">
  360. <el-input
  361. @input="mobileTaskNochange"
  362. v-model="dataList.mobileTaskNo"
  363. placeholder="请输入移库任务编号"
  364. maxlength="120"
  365. size="small"
  366. />
  367. </el-form-item>
  368. <!-- 货名 -->
  369. <el-form-item label="货名">
  370. {{}}
  371. </el-select>
  372. </el-form-item>
  373. <!--重量(吨)-->
  374. <el-form-item label="重量(吨)">
  375. <el-input
  376. @input="weightchange"
  377. v-model="dataList.weight"
  378. placeholder="请输入重量"
  379. maxlength="120"
  380. size="small"
  381. />
  382. </el-form-item>
  383. <!-- 品级 -->
  384. <el-form-item label="品级">
  385. <el-select
  386. v-model="dataList.grade"
  387. placeholder="一等品"
  388. class="typeselect"
  389. @change="selectpackingMethod"
  390. >
  391. <el-option
  392. v-for="item in gradeList"
  393. :key="item.constKey"
  394. :label="item.constValue"
  395. :value="item.constValue"
  396. />
  397. </el-select>
  398. </el-form-item>
  399. <!--容重(克/升)>=-->
  400. <el-form-item label="容重(克/升)>=">
  401. <el-input
  402. @input="bulkDensitychange"
  403. v-model="dataList.bulkDensity"
  404. placeholder="请输入容重"
  405. maxlength="120"
  406. size="small"
  407. />
  408. </el-form-item>
  409. <!--水分(%)<=-->
  410. <el-form-item label="水分(%)<=">
  411. <el-input
  412. @input="waterContentchange"
  413. v-model="dataList.waterContent"
  414. placeholder="请输入水分占比"
  415. maxlength="120"
  416. size="small"
  417. />
  418. </el-form-item>
  419. <!--单价(元/吨)-->
  420. <el-form-item label="单价(元/吨)">
  421. <el-input
  422. @input="unitPricechange"
  423. v-model="dataList.unitPrice"
  424. placeholder="请输入单价"
  425. maxlength="120"
  426. size="small"
  427. />
  428. </el-form-item>
  429. <!--预计出库日期-->
  430. <el-form-item
  431. label="预计出库日期"
  432. span="1"
  433. prop="deliveryDate"
  434. class="deliverydate"
  435. >
  436. <el-date-picker
  437. v-model="dataList.deliveryDate"
  438. type="date"
  439. placeholder="请选择预计出库日期"
  440. value-format="yyyy-MM-dd"
  441. />
  442. </el-form-item>
  443. <!--经办人-->
  444. <el-form-item label="出库经办人">
  445. <el-select
  446. v-model="dataList.agent"
  447. placeholder="请选择经办人"
  448. filterable
  449. :filter-method="dataFilter"
  450. @change="selectstaff"
  451. >
  452. <el-option
  453. v-for="item in options"
  454. :key="item.value"
  455. :label="item.staffName"
  456. :value="item.staffName"
  457. />
  458. </el-select>
  459. </el-form-item>
  460. </el-form>
  461. <div class="small-title"><h3>入库任务( )</h3></div>
  462. <el-form ref="form" :model="form" label-width="140px">
  463. <!-- 仓库名 -->
  464. <el-form-item label="仓库名">
  465. <el-select
  466. v-model="dataList.warehouseName"
  467. placeholder="请选择仓库"
  468. class="typeselect"
  469. @change="selectwarehouseName"
  470. >
  471. <el-option
  472. v-for="item in warehouseNameList"
  473. :key="item.constKey"
  474. :label="item.constValue"
  475. :value="item.constValue"
  476. />
  477. </el-select>
  478. </el-form-item>
  479. <!-- 入库类型 -->
  480. <el-form-item label="入库类型">
  481. {{}}
  482. </el-form-item>
  483. <!--移库任务编号-->
  484. <el-form-item label="移库任务编号">
  485. {{}}
  486. </el-form-item>
  487. <!-- 货名 -->
  488. <el-form-item label="货名">
  489. {{}}
  490. </el-select>
  491. </el-form-item>
  492. <!--重量(吨)-->
  493. <el-form-item label="重量(吨)">
  494. <el-input
  495. @input="weightchange"
  496. v-model="dataList.weight"
  497. placeholder="请输入重量"
  498. maxlength="120"
  499. size="small"
  500. />
  501. </el-form-item>
  502. <!-- 品级 -->
  503. <el-form-item label="品级">
  504. {{}}
  505. </el-form-item>
  506. <!--容重(克/升)>=-->
  507. <el-form-item label="容重(克/升)>=">
  508. {{}}
  509. </el-form-item>
  510. <!--水分(%)<=-->
  511. <el-form-item label="水分(%)<=">
  512. {{}}
  513. </el-form-item>
  514. <!--单价(元/吨)-->
  515. <el-form-item label="单价(元/吨)">
  516. {{}}
  517. </el-form-item>
  518. <!--预计入库日期-->
  519. <el-form-item
  520. label="预计入库日期"
  521. span="1"
  522. prop="inOutDate"
  523. class="deliverydate"
  524. >
  525. <el-date-picker
  526. v-model="dataList.inOutDate"
  527. type="date"
  528. placeholder="请选择预计入库日期"
  529. value-format="yyyy-MM-dd"
  530. />
  531. </el-form-item>
  532. <!--经办人-->
  533. <el-form-item label="入库经办人">
  534. <el-select
  535. v-model="dataList.agent"
  536. placeholder="请选择经办人"
  537. filterable
  538. :filter-method="dataFilter"
  539. @change="selectstaff"
  540. >
  541. <el-option
  542. v-for="item in options"
  543. :key="item.value"
  544. :label="item.staffName"
  545. :value="item.staffName"
  546. />
  547. </el-select>
  548. </el-form-item>
  549. <!--业务描述=-->
  550. <el-form-item label="业务描述" >
  551. <el-input
  552. @input="businessDescriptionchange"
  553. v-model="dataList.businessDescription"
  554. placeholder="请输入业务描述,不超过150字"
  555. maxlength="150"
  556. size="small"
  557. />
  558. </el-form-item>
  559. </el-form>
  560. <!--退库并出库-->
  561. <div class="small-title"><h3>入库任务( )</h3></div>
  562. <el-form ref="form" :model="form" label-width="140px">
  563. <!-- 仓库名 -->
  564. <el-form-item label="仓库名">
  565. <el-select
  566. v-model="dataList.warehouseName"
  567. placeholder="请选择仓库"
  568. class="typeselect"
  569. @change="selectwarehouseName"
  570. >
  571. <el-option
  572. v-for="item in warehouseNameList"
  573. :key="item.constKey"
  574. :label="item.constValue"
  575. :value="item.constValue"
  576. />
  577. </el-select>
  578. </el-form-item>
  579. <!-- 入库类型 -->
  580. <el-form-item label="入库类型">
  581. {{}}
  582. </el-form-item>
  583. <!-- 合同编号 -->
  584. <el-form-item label="合同编号">
  585. <el-select
  586. v-model="dataList.contractNo"
  587. placeholder="请选择合同编号"
  588. class="typeselect"
  589. >
  590. <el-option
  591. v-for="item in outContractNo"
  592. :key="item.constKey"
  593. :label="item.contractNo"
  594. :value="item.contractNo"
  595. />
  596. </el-select>
  597. </el-form-item>
  598. <!-- 货名 -->
  599. <el-form-item label="货名">
  600. {{}}
  601. </el-select>
  602. </el-form-item>
  603. <!--重量(吨)-->
  604. <el-form-item label="重量(吨)">
  605. <el-input
  606. @input="weightchange"
  607. v-model="dataList.weight"
  608. placeholder="请输入重量"
  609. maxlength="120"
  610. size="small"
  611. />
  612. </el-form-item>
  613. <!-- 品级 -->
  614. <el-form-item label="品级">
  615. <el-select
  616. v-model="dataList.grade"
  617. placeholder="一等品"
  618. class="typeselect"
  619. @change="selectpackingMethod"
  620. >
  621. <el-option
  622. v-for="item in gradeList"
  623. :key="item.constKey"
  624. :label="item.constValue"
  625. :value="item.constValue"
  626. />
  627. </el-select>
  628. </el-form-item>
  629. <!--容重(克/升)>=-->
  630. <el-form-item label="容重(克/升)>=">
  631. <el-input
  632. @input="bulkDensitychange"
  633. v-model="dataList.bulkDensity"
  634. placeholder="请输入容重"
  635. maxlength="120"
  636. size="small"
  637. />
  638. </el-form-item>
  639. <!--水分(%)<=-->
  640. <el-form-item label="水分(%)<=">
  641. <el-input
  642. @input="waterContentchange"
  643. v-model="dataList.waterContent"
  644. placeholder="请输入水分占比"
  645. maxlength="120"
  646. size="small"
  647. />
  648. </el-form-item>
  649. <!--单价(元/吨)-->
  650. <el-form-item label="单价(元/吨)">
  651. <el-input
  652. @input="unitPricechange"
  653. v-model="dataList.unitPrice"
  654. placeholder="请输入单价"
  655. maxlength="120"
  656. size="small"
  657. />
  658. </el-form-item>
  659. <!--预计入库日期-->
  660. <el-form-item
  661. label="预计入库日期"
  662. span="1"
  663. prop="inOutDate"
  664. class="deliverydate"
  665. >
  666. <el-date-picker
  667. v-model="dataList.inOutDate"
  668. type="date"
  669. placeholder="请选择预计入库日期"
  670. value-format="yyyy-MM-dd"
  671. />
  672. </el-form-item>
  673. <!--经办人-->
  674. <el-form-item label="入库经办人">
  675. <el-select
  676. v-model="dataList.agent"
  677. placeholder="请选择经办人"
  678. filterable
  679. :filter-method="dataFilter"
  680. @change="selectstaff"
  681. >
  682. <el-option
  683. v-for="item in options"
  684. :key="item.value"
  685. :label="item.staffName"
  686. :value="item.staffName"
  687. />
  688. </el-select>
  689. </el-form-item>
  690. </el-form>
  691. <div class="small-title"><h3>出库任务( )</h3></div>
  692. <el-form ref="form" :model="form" label-width="140px">
  693. <!-- 仓库名 -->
  694. <el-form-item label="仓库名">
  695. {{}}
  696. </el-form-item>
  697. <!-- 出库类型 -->
  698. <el-form-item label="入库类型">
  699. {{}}
  700. </el-form-item>
  701. <!-- 合同编号 -->
  702. <el-form-item label="合同编号">
  703. <el-select
  704. v-model="dataList.contractNo"
  705. placeholder="请选择合同编号"
  706. class="typeselect"
  707. >
  708. <el-option
  709. v-for="item in outContractNo"
  710. :key="item.constKey"
  711. :label="item.contractNo"
  712. :value="item.contractNo"
  713. />
  714. </el-select>
  715. </el-form-item>
  716. <!-- 货名 -->
  717. <el-form-item label="货名">
  718. {{}}
  719. </el-select>
  720. </el-form-item>
  721. <!--重量(吨)-->
  722. <el-form-item label="重量(吨)">
  723. {{}}
  724. </el-form-item>
  725. <!-- 品级 -->
  726. <el-form-item label="品级">
  727. {{}}
  728. </el-form-item>
  729. <!--容重(克/升)>=-->
  730. <el-form-item label="容重(克/升)>=">
  731. {{}}
  732. </el-form-item>
  733. <!--水分(%)<=-->
  734. <el-form-item label="水分(%)<=">
  735. {{}}
  736. </el-form-item>
  737. <!--单价(元/吨)-->
  738. <el-form-item label="单价(元/吨)">
  739. {{}}
  740. </el-form-item>
  741. <!--预计出库日期-->
  742. <el-form-item
  743. label="预计出库日期"
  744. span="1"
  745. prop="deliveryDate"
  746. class="deliverydate"
  747. >
  748. <el-date-picker
  749. v-model="dataList.deliveryDate"
  750. type="date"
  751. placeholder="请选择预计出库日期"
  752. value-format="yyyy-MM-dd"
  753. />
  754. </el-form-item>
  755. <!--经办人-->
  756. <el-form-item label="出库经办人">
  757. <el-select
  758. v-model="dataList.agent"
  759. placeholder="请选择经办人"
  760. filterable
  761. :filter-method="dataFilter"
  762. @change="selectstaff"
  763. >
  764. <el-option
  765. v-for="item in options"
  766. :key="item.value"
  767. :label="item.staffName"
  768. :value="item.staffName"
  769. />
  770. </el-select>
  771. </el-form-item>
  772. <!--业务描述=-->
  773. <el-form-item label="业务描述" >
  774. <el-input
  775. @input="businessDescriptionchange"
  776. v-model="dataList.businessDescription"
  777. placeholder="请输入业务描述,不超过150字"
  778. maxlength="150"
  779. size="small"
  780. />
  781. </el-form-item>
  782. </el-form>
  783. </div>
  784. </div>
  785. <!-- 提交 -->
  786. <div style="text-align: right; padding: 10px" class="center">
  787. <el-button
  788. class="bg-bottom"
  789. type="primary"
  790. size="small"
  791. @click="submit(deptBudgetList)"
  792. >提交</el-button
  793. >
  794. </div>
  795. </div>
  796. </template>
  797. <script>
  798. import {
  799. pullDown,
  800. addstorageputList,
  801. xialaNo,
  802. getstaff,
  803. } from '@/model/warehouse/index'
  804. import { downloadFile } from '@/utils/batchDown'
  805. import Pagination from '@/components/Pagination'
  806. import { mapActions, mapGetters, mapState } from 'vuex'
  807. import WsUpload from '@/components/WsUpload'
  808. // import { dayjs, fmoney, EventBus } from 'base-core-lib'
  809. import { dayjs, EventBus } from 'base-core-lib'
  810. export default {
  811. name: 'viewSpareMoney',
  812. components: {
  813. WsUpload,
  814. Pagination,
  815. },
  816. watch: {
  817. // vesselId(val) {
  818. // this.getList()
  819. // },
  820. isShow(val) {
  821. this.showType = val
  822. },
  823. },
  824. computed: {
  825. ...mapGetters(['deptBudgetList']),
  826. },
  827. data() {
  828. return {
  829. //弹出框
  830. dialogViewSpareMoney: false,
  831. dialogApproveFormVisible: false,
  832. // 船舶类型
  833. monetaryKey: null,
  834. // 表格显示数据
  835. tableDate: [],
  836. // 是否显示
  837. showType: true,
  838. // 年
  839. year: '',
  840. deptBudgetTotal: 0,
  841. readonly: true,
  842. currentPage: 1,
  843. pageSize: 10,
  844. searchType: 1,
  845. searchKeyWord: '',
  846. radio:'1',
  847. contractType: 2,
  848. startDate: null,
  849. endDate: null,
  850. goodnameList: {},
  851. checked: true,
  852. form:{},
  853. staffList: [],
  854. options: [],
  855. storageType: [],
  856. deliveryType: [],
  857. outContractNo: [],
  858. // 提交类型
  859. submitType: true,
  860. storageType: [],
  861. status:[],
  862. weightchange:[],
  863. unitPricechange:[],
  864. selectwarehouseName:[],
  865. warehouseNameList:[],
  866. businessDescriptionchange:[],
  867. bulkDensitychange:[],
  868. waterContentchange:[],
  869. appendixIdsAdd: '',
  870. uploadSuccess: {},
  871. warehouseInOutDetail: {},
  872. onChange: {},
  873. deptBudgetList1: [],
  874. gradeList: [],
  875. rules: {
  876. netWeight: [
  877. {
  878. required: true,
  879. type: 'number',
  880. message: '请输入活动名称',
  881. trigger: 'blur',
  882. },
  883. ],
  884. },
  885. size: 10,
  886. compId: sessionStorage.getItem('ws-pf_compId'),
  887. deptCircularPage: {},
  888. packtypeList: {},
  889. date: {
  890. year: dayjs().format('YYYY'),
  891. month: dayjs().format('MM'),
  892. },
  893. contractList: [],
  894. warehouseList:{
  895. records:[]
  896. },
  897. dataList: {
  898. id: '',
  899. grossWeight: '',
  900. contractNo: '',
  901. tare: '',
  902. netWeight: '',
  903. grade: '',
  904. agent: '',
  905. carNo: '',
  906. inOutDate: '',
  907. inOutType: '',
  908. goodsName: '',
  909. warehouseInOutDetail: {},
  910. },
  911. historyList: [],
  912. pickerBeginDateBefore: {
  913. disabledDate: (time) => {
  914. return time.getTime() > Date.now()
  915. },
  916. },
  917. accessoryTFs: false,
  918. }
  919. },
  920. activated() {
  921. this.deptBudgetList1.warehouseName = this.$route.query.warehouseName
  922. this.deptBudgetList1.binNumber = this.$route.query.binNumber
  923. this.getList()
  924. this.dataList.id = this.$route.query.id
  925. this.dataList.grossWeight = this.$route.query.grossWeight
  926. this.dataList.contractNo = this.$route.query.contractNo
  927. this.dataList.baseId = this.$route.query.baseId
  928. this.dataList.positionId = this.$route.query.positionId
  929. this.dataList.warehouseName = this.$route.query.warehouseName
  930. this.dataList.binNumber = this.$route.query.binNumber
  931. this.dataList.tare = this.$route.query.tare
  932. this.dataList.netWeight = this.$route.query.netWeight
  933. this.dataList.grade = this.$route.query.grade
  934. this.dataList.agent = this.$route.query.agent
  935. this.dataList.carNo = this.$route.query.carNo
  936. this.dataList.inOutDate = this.$route.query.inOutDate
  937. this.dataList.contractNo = this.$route.query.contractNo
  938. this.dataList.inOutType = this.$route.query.inOutType
  939. this.dataList.compId = this.$route.query.compId
  940. this.dataList.goodsName = this.$route.query.goodsName
  941. this.dataList.goodsNameKey = Number(this.$route.query.goodsNameKey)
  942. this.dataList.inOutFlag = this.$route.inOutFlag
  943. this.dataList.inOutTypeKey = Number(this.$route.query.inOutTypeKey)
  944. this.dataList.statusFlag = this.$route.statusFlag
  945. this.dataList.warehouseInOutDetail = this.$route.query.warehouseInOutDetail
  946. this.deptBudgetList.warehouseType = this.$route.query.warehouseType
  947. },
  948. methods: {
  949. //返回按钮
  950. revert() {
  951. this.$router.go(-1)
  952. },
  953. dataFilter(val) {
  954. // console.log(val,"名")
  955. this.deptBudgetList.staffList = val
  956. if (val) {
  957. //val存在
  958. this.options = this.staffList.filter((item) => {
  959. if (
  960. !!~item.staffName.indexOf(val) ||
  961. !!~item.staffName.toUpperCase().indexOf(val.toUpperCase())
  962. ) {
  963. return true
  964. }
  965. })
  966. } else {
  967. //val为空时,还原数组
  968. this.options = this.staffList
  969. }
  970. },
  971. selectstaff(e) {
  972. for (var i = 0; i < this.staffList.length; i++) {
  973. if (this.staffList[i].staffName == e) {
  974. this.deptBudgetList.personChargeKey = this.staffList[i].staffId
  975. }
  976. }
  977. },
  978. //提交按钮
  979. submit() {
  980. if (!this.dataList.warehouseName) {
  981. this.$message({
  982. message: '仓库名不能为空',
  983. type: 'warning',
  984. })
  985. return
  986. }
  987. if (!this.dataList.weight) {
  988. this.$message({
  989. message: '重量不能为空',
  990. type: 'warning',
  991. })
  992. return
  993. }
  994. if (
  995. this.dataList.weight <= 0 ||
  996. this.dataList.weight > 10000 ||
  997. (String(this.dataList.weight).indexOf('.') != -1 &&
  998. String(this.dataList.weight).length -
  999. (String(this.dataList.weight).indexOf('.') + 1) >
  1000. 3)
  1001. ) {
  1002. this.$message({
  1003. message: '重量输入错误',
  1004. type: 'warning',
  1005. })
  1006. return
  1007. }
  1008. if (!this.dataList.agent) {
  1009. this.$message({
  1010. message: '经办人不能为空',
  1011. type: 'warning',
  1012. })
  1013. return
  1014. }
  1015. if (this.dataList.agent.length < 2 || this.dataList.agent.length > 10) {
  1016. this.$message({
  1017. message: '经办人输入有误',
  1018. type: 'warning',
  1019. })
  1020. return
  1021. }
  1022. if (!this.dataList.grade) {
  1023. this.$message({
  1024. message: '品级不能为空!',
  1025. type: 'warning',
  1026. })
  1027. return
  1028. }
  1029. if (!this.dataList.inOutDate) {
  1030. this.$message({
  1031. message: '预计出库日期不能为空!',
  1032. type: 'warning',
  1033. })
  1034. return
  1035. }
  1036. if (!this.dataList.inOutType) {
  1037. this.$message({
  1038. message: '出库类型不能为空!',
  1039. type: 'warning',
  1040. })
  1041. return
  1042. }
  1043. if (!this.dataList.contractNo) {
  1044. this.$message({
  1045. message: '合同编号不能为空',
  1046. type: 'warning',
  1047. })
  1048. return
  1049. }
  1050. if (
  1051. this.dataList.contractNo.length < 6 ||
  1052. this.dataList.contractNo.length > 20
  1053. ) {
  1054. this.$message({
  1055. message: '合同编号长度不符合要求,请输入6-20个字符之内',
  1056. type: 'warning',
  1057. })
  1058. return
  1059. }
  1060. if (this.dataList.netWeight > this.$route.query.capacity) {
  1061. this.$message({
  1062. message: '入库量大于该仓库容量!',
  1063. type: 'warning',
  1064. })
  1065. return
  1066. }
  1067. this.$confirm(`确定提交任务信息`, {
  1068. cancelButtonText: '取消',
  1069. confirmButtonText: '确定',
  1070. type: 'warning',
  1071. })
  1072. .then(() => {
  1073. this.$refs.dataList.validate((valid) => {
  1074. if (valid) {
  1075. this.dataList.compId = sessionStorage.getItem('el-pf_compId')
  1076. this.dataList.inOutFlag = 2
  1077. this.dataList.statusFlag = 3
  1078. addstorageputList(this.dataList)
  1079. .toPromise()
  1080. .then((response) => {
  1081. this.$message.success('添加成功')
  1082. this.$router.push({ path: 'warehouseManagementList' })
  1083. })
  1084. } else {
  1085. EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
  1086. return false
  1087. }
  1088. })
  1089. })
  1090. .catch(() => {
  1091. return false
  1092. })
  1093. },
  1094. tarechange(e) {
  1095. if (this.dataList.grossWeight && this.dataList.tare) {
  1096. this.dataList.netWeight = Number(
  1097. this.dataList.grossWeight - this.dataList.tare
  1098. )
  1099. }
  1100. },
  1101. grossWeightchange(e) {
  1102. if (this.dataList.grossWeight && this.dataList.tare) {
  1103. this.dataList.netWeight = Number(
  1104. this.dataList.grossWeight - this.dataList.tare
  1105. )
  1106. }
  1107. },
  1108. selectgoodsName(e) {
  1109. for (var i = 0; i < this.goodnameList.length; i++) {
  1110. if (this.goodnameList[i].constValue == e) {
  1111. this.dataList.goodsNameKey = this.goodnameList[i].constKey
  1112. }
  1113. }
  1114. },
  1115. selectpackingMethod(e) {
  1116. for (var i = 0; i < this.packtypeList.length; i++) {
  1117. if (this.packtypeList[i].constValue == e) {
  1118. this.dataList.packingMethodKey = this.packtypeList[i].constKey
  1119. }
  1120. }
  1121. },
  1122. selectstorageType(e) {
  1123. for (var i = 0; i < this.storageType.length; i++) {
  1124. if (this.storageType[i].constValue == e) {
  1125. this.dataList.inOutTypeKey = this.storageType[i].constKey
  1126. }
  1127. }
  1128. },
  1129. handleClose() {
  1130. this.accessoryTFs = false
  1131. },
  1132. handleSizeChange(val) {
  1133. console.log(`每页 ${val} 条`)
  1134. this.pageSize = val
  1135. this.getList()
  1136. },
  1137. handleCurrentChange(val) {
  1138. this.currentPage = val
  1139. console.log(`当前页: ${val}`)
  1140. this.getList()
  1141. },
  1142. getList() {
  1143. // 货名
  1144. pullDown({ constId: 'CON2' })
  1145. .toPromise()
  1146. .then((response) => {
  1147. this.goodnameList = response
  1148. })
  1149. // 品级
  1150. pullDown({ constId: 'CON3' })
  1151. .toPromise()
  1152. .then((response) => {
  1153. this.gradeList = response
  1154. })
  1155. // 类型
  1156. if (this.$route.query.warehouseType == '1') {
  1157. pullDown({ constId: 'CON5' })
  1158. .toPromise()
  1159. .then((response) => {
  1160. this.storageType = response
  1161. })
  1162. } else if (this.$route.query.warehouseType == '2') {
  1163. //临时仓库入库类型
  1164. pullDown({ constId: 'WARE1' })
  1165. .toPromise()
  1166. .then((response) => {
  1167. this.storageType = respons
  1168. })
  1169. //临时仓库出库类型
  1170. pullDown({ constId: 'WARE2' })
  1171. .toPromise()
  1172. .then((response) => {
  1173. this.deliveryType = response
  1174. })
  1175. }
  1176. //合同编号
  1177. xialaNo({ compId: sessionStorage.getItem('ws-pf_compId') })
  1178. .toPromise()
  1179. .then((response) => {
  1180. this.outContractNo = response
  1181. })
  1182. //经办人
  1183. getstaff({ compId: sessionStorage.getItem('ws-pf_compId') })
  1184. .toPromise()
  1185. .then((response) => {
  1186. this.options = response
  1187. this.staffList = response
  1188. // this.agent = response
  1189. })
  1190. },
  1191. selecttaskType(e) {
  1192. for (var i = 0; i < this.taskTypeList.length; i++) {
  1193. if (this.taskTypeList[i].value == e) {
  1194. this.searchType = this.taskTypeList[i].type
  1195. }
  1196. }
  1197. },
  1198. fujian(row) {
  1199. if (
  1200. row.receiveAttachmentPath === null ||
  1201. row.receiveAttachmentPath === ''
  1202. ) {
  1203. EventBus.$emit(
  1204. 'warning',
  1205. this.$t('system.noticeCircular.NoInformation')
  1206. )
  1207. } else {
  1208. this.accessoryTFs = true
  1209. }
  1210. this.appendixIdss = row.receiveAttachmentPath
  1211. },
  1212. handleExamine(row) {
  1213. this.$router.push({
  1214. name: 'salesContractExamine',
  1215. query: { id: row.id },
  1216. })
  1217. },
  1218. // 关闭 dialog时 处理文件url 初始化upload组件
  1219. handleCloe() {
  1220. this.dialogViewSpareMoney = false
  1221. },
  1222. history(row) {
  1223. console.log(row)
  1224. billoperatehis({ id: row.id })
  1225. .toPromise()
  1226. .then((response) => {
  1227. this.historyList = response
  1228. })
  1229. },
  1230. async exportlist() {
  1231. const { data } = await export1(
  1232. {
  1233. compId: sessionStorage.getItem('ws-pf_compId'),
  1234. contractType: this.contractType,
  1235. currentPage: this.currentPage,
  1236. pageSize: this.pageSize,
  1237. searchType: this.searchType,
  1238. searchKeyWord: this.searchKeyWord,
  1239. startDate: this.startDate,
  1240. endDate: this.endDate,
  1241. },
  1242. {},
  1243. { responseType: 'blob' }
  1244. ).toPromise()
  1245. downloadFile({
  1246. res: data,
  1247. fileName: `${
  1248. this.date.year + (this.date.month ? `-${this.date.month}` : '')
  1249. }_采购合同`,
  1250. type: 'xls',
  1251. })
  1252. },
  1253. // deletecontract(){},
  1254. //删除
  1255. approve() {},
  1256. listQuery() {},
  1257. total() {},
  1258. clearfiltQuery() {},
  1259. selectCrtDuty() {},
  1260. },
  1261. }
  1262. </script>
  1263. <style lang="scss" scoped>
  1264. /deep/.basicInformation {
  1265. .el-info-table {
  1266. border: none;
  1267. position: relative;
  1268. }
  1269. .el-form-item {
  1270. width: 33.3333%;
  1271. border: none;
  1272. margin: 0;
  1273. .el-form-item__label {
  1274. text-align: left;
  1275. font-size: 14px;
  1276. font-family: PingFangSC-Regular, PingFang SC;
  1277. font-weight: 400;
  1278. color: #8890b1;
  1279. }
  1280. .el-form-item__content {
  1281. padding-left: 0px;
  1282. padding-right: 10px;
  1283. background: #fff;
  1284. white-space: nowrap;
  1285. height: 40px;
  1286. display: flex;
  1287. -webkit-box-align: center;
  1288. align-items: center;
  1289. text-align: left;
  1290. overflow: hidden;
  1291. }
  1292. }
  1293. }
  1294. /deep/.el-radio {
  1295. color: #606266;
  1296. font-weight: 500;
  1297. line-height: 1;
  1298. cursor: pointer;
  1299. white-space: nowrap;
  1300. outline: 0;
  1301. margin-right: 30px;
  1302. margin-top: 15px;
  1303. }
  1304. /deep/.el-radio__inner {
  1305. border: 1px solid #dcdfe6;
  1306. border-radius: 100%;
  1307. width: 14px;
  1308. height: 14px;
  1309. background-color: #fff;
  1310. cursor: pointer;
  1311. -webkit-box-sizing: border-box;
  1312. box-sizing: border-box;
  1313. margin-left: 100px;
  1314. }
  1315. /deep/.el-radio__input {
  1316. white-space: nowrap;
  1317. cursor: pointer;
  1318. outline: 0;
  1319. line-height: 1;
  1320. vertical-align: middle;
  1321. margin-top: -1px;
  1322. }
  1323. .title {
  1324. position: relative;
  1325. padding-left: 10px;
  1326. }
  1327. .title::before {
  1328. content: '';
  1329. display: inline-block;
  1330. width: 5px;
  1331. height: 30px;
  1332. background: #5473e8;
  1333. position: absolute;
  1334. left: 0;
  1335. }
  1336. .el-form {
  1337. padding: 0 15%;
  1338. display: flex;
  1339. flex-wrap: wrap;
  1340. margin-left: -50px;
  1341. margin-top: 15px;
  1342. width:110%;
  1343. }
  1344. .el-button--primary {
  1345. background-color: #5878e8;
  1346. border-color: #5878e8;
  1347. }
  1348. .el-col {
  1349. background: #f6f7fc;
  1350. }
  1351. .bg-right {
  1352. text-align: right;
  1353. padding: 16px 20px;
  1354. }
  1355. .center {
  1356. position: relative;
  1357. top: 50px;
  1358. width: 40%;
  1359. height: 2000px;
  1360. margin: 0 auto;
  1361. margin-right: 180px;
  1362. }
  1363. /deep/.el-form-item__label {
  1364. width: 160px;
  1365. }
  1366. .inspector {
  1367. width: 50%;
  1368. }
  1369. /deep/.el-form-item--small .el-form-item__label, .el-form-item--small .el-form-item__content {
  1370. text-align: left;
  1371. }
  1372. /deep/.el-input--small {
  1373. font-size: 13px;
  1374. position: relative;
  1375. display: inline-block;
  1376. }
  1377. .center1 .small-title{
  1378. margin-left:150px;
  1379. }
  1380. .center1{
  1381. width: 90%;
  1382. margin:0 auto;
  1383. margin-left: 10px;
  1384. margin-top: 25px;
  1385. }
  1386. /deep/.el-input--small .el-input__inner {
  1387. height: 32px;
  1388. line-height: 32px;
  1389. }
  1390. /deep/.el-select {
  1391. display: inline-block;
  1392. position: relative;
  1393. width: 100%;
  1394. }
  1395. </style>