moveWarehouseTaskLook.vue 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645
  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. <ws-form
  25. class="position"
  26. ref="deptBudgetList"
  27. :rules="rules"
  28. :model="deptBudgetList"
  29. >
  30. <div class="small-title" style="font-size: 16px">任务详情</div>
  31. <span>移库任务编号: <span style="font-weight: 600;">{{ this.moveTaskNo }}</span></span>
  32. <div v-for="(item, index) in moveLookData" :key="index">
  33. <ws-info-table class="inout" v-show="item.inOutType == '移库出库'">
  34. <!--出货库-->
  35. <div class="library">
  36. <span style="margin-left: 14px"
  37. >出货库:{{ item.sendWarehouse }}</span
  38. >
  39. <span style="margin-left: 10px">{{ item.taskStatus }}</span>
  40. </div>
  41. <!--出库经办人-->
  42. <ws-form-item label="出库经办人:" span="1" prop="agent">
  43. {{ item.agent }}
  44. </ws-form-item>
  45. <el-divider direction="vertical" class="line"></el-divider>
  46. <!--出库重量(吨)-->
  47. <ws-form-item label="出库重量(吨):" span="1" prop="weight">
  48. {{ item.weight }}
  49. </ws-form-item>
  50. <el-divider direction="vertical" class="line"></el-divider>
  51. <!--仓位-->
  52. <ws-form-item label="仓位:" span="1" prop="deliveryVolume">
  53. {{ item.binNumber == null ? '未指定' : item.binNumber }}
  54. </ws-form-item>
  55. <el-divider direction="vertical" class="line"></el-divider>
  56. <!--预计出库日期-->
  57. <ws-form-item label="预计出库日期:" span="1" prop="predictDate">
  58. {{ item.predictDate }}
  59. </ws-form-item>
  60. </ws-info-table>
  61. <ws-info-table class="inout" v-show="item.inOutType == '移库入库'">
  62. <div class="library">
  63. <span style="margin-left: 14px">
  64. 入货库:{{ item.receiveWarehouse }}</span
  65. >
  66. <span style="margin-left: 10px">{{ item.taskStatus }}</span>
  67. </div>
  68. <!--入库经办人-->
  69. <ws-form-item label="入库经办人:" span="1" prop="agent">
  70. {{ item.agent }}
  71. </ws-form-item>
  72. <el-divider direction="vertical" class="line"></el-divider>
  73. <!--入库重量(吨)-->
  74. <ws-form-item label="入库重量(吨):" span="1" prop="weight">
  75. {{ item.weight }}
  76. </ws-form-item>
  77. <el-divider direction="vertical" class="line"></el-divider>
  78. <!-- 仓位 -->
  79. <ws-form-item label="仓位:" span="1" prop="deliveryVolume">
  80. {{ item.binNumber == null ? '未指定' : item.binNumber }}
  81. </ws-form-item>
  82. <el-divider direction="vertical" class="line"></el-divider>
  83. <!--预计入库日期-->
  84. <ws-form-item label="预计入库日期:" span="1" prop="predictDate">
  85. {{ item.predictDate }}
  86. </ws-form-item>
  87. </ws-info-table>
  88. </div>
  89. <ws-info-table class="goods">
  90. <!--货物信息-->
  91. <div class="library">
  92. <span style="line-height: 50px; color: #323233; margin-left: 14px"
  93. >货物信息</span
  94. >
  95. </div>
  96. <el-input
  97. placeholder="信息暂无"
  98. :disabled="true"
  99. v-model="this.moveLookData[0].goodsName"
  100. ></el-input>
  101. <el-divider direction="vertical" class="line1"></el-divider>
  102. <el-input
  103. placeholder="信息暂无"
  104. :disabled="true"
  105. v-model="this.moveLookData[0].grade"
  106. ></el-input>
  107. <el-divider direction="vertical" class="line1"></el-divider>
  108. <el-input
  109. placeholder="信息暂无"
  110. :disabled="true"
  111. v-model="this.moveLookData[0].bulkDensity"
  112. >
  113. </el-input>
  114. <el-divider direction="vertical" class="line1"></el-divider>
  115. <el-input
  116. placeholder="信息暂无"
  117. :disabled="true"
  118. v-model="this.moveLookData[0].waterContent"
  119. >
  120. </el-input>
  121. <el-divider direction="vertical" class="line1"></el-divider>
  122. <el-input
  123. placeholder="信息暂无"
  124. :disabled="true"
  125. v-model="this.moveLookData[0].weight"
  126. >
  127. </el-input>
  128. <el-divider direction="vertical" class="line1"></el-divider>
  129. <el-input
  130. placeholder="信息暂无"
  131. :disabled="true"
  132. v-model="this.moveLookData[0].unitPrice"
  133. >
  134. </el-input>
  135. </ws-info-table>
  136. <span style="line-height: 60px; text-align: center; color: #323233"
  137. >业务描述:</span
  138. >
  139. <!--业务描述-->
  140. <ws-input
  141. v-model="this.moveLookData[0].businessDescribe"
  142. type="textarea"
  143. row="3"
  144. placeholder="请输入备注信息,不超过200字"
  145. maxlength="200"
  146. />
  147. <div class="small-title" style="font-size: 16px">实际流转数量</div>
  148. <ws-info-table class="flow">
  149. <el-table :data="moveLookData" height="90" border style="width: 100%">
  150. <el-table-column prop="weightOut" label="累计出库量(吨)">
  151. <template>
  152. <div class="weights">{{ this.weightOut }}</div>
  153. </template>
  154. </el-table-column>
  155. <el-table-column prop="weightIn" label="累计入库量(吨)">
  156. <template>
  157. <div class="weights">{{ this.weightIn }}</div>
  158. </template>
  159. </el-table-column>
  160. <el-table-column prop="transportLoss" label="累计运输损耗(吨)">
  161. <template>
  162. <div class="weights">
  163. {{ this.transportLoss }}
  164. </div>
  165. </template>
  166. </el-table-column>
  167. </el-table>
  168. </ws-info-table>
  169. <ws-info-table class="flow1">
  170. <el-table :data="moveLookData" height="90" border style="width: 100%">
  171. <el-table-column prop="stockReturnCount" label="累计退库量(吨)">
  172. <template>
  173. <div class="weights">{{ this.retreat == null ? 0: this.retreat}}</div>
  174. </template>
  175. </el-table-column>
  176. </el-table>
  177. </ws-info-table>
  178. </ws-form>
  179. <!-- 提交 -->
  180. <div style="text-align: right; padding: 10px" class="center">
  181. <el-button
  182. class="bg-bottom"
  183. type="primary"
  184. size="small"
  185. @click="returnsales"
  186. >关闭</el-button
  187. >
  188. </div>
  189. </div>
  190. </template>
  191. <script>
  192. import { moveLook } from '@/model/tasksport/index'
  193. import WsUpload from '@/components/WsUpload'
  194. import mapDrag from '@/components/mapdrag/mapdrag'
  195. export default {
  196. name: 'viewSpareMoney',
  197. components: {
  198. WsUpload,
  199. mapDrag,
  200. },
  201. watch: {
  202. vesselId(val) {
  203. this.getVesselData()
  204. },
  205. isShow(val) {
  206. this.showType = val
  207. },
  208. },
  209. data() {
  210. return {
  211. deptBudgetList: {
  212. totalStorage: 0,
  213. },
  214. listDate: { country: '中国', level: 'country', city: '' },
  215. tranType: 2,
  216. rules: {
  217. warehouseName: [
  218. {
  219. required: true,
  220. message: '请输入仓库名称',
  221. trigger: 'blur',
  222. },
  223. {
  224. min: 2,
  225. max: 20,
  226. message: '仓库名长度不符合要求,请输入2-20字符之内',
  227. trigger: 'blur',
  228. },
  229. ],
  230. },
  231. appendixIdsAdd: '',
  232. size: 10,
  233. unitList: [],
  234. name: '',
  235. moveLookData: [],
  236. moveTaskNo: '',
  237. weightOut: 0,
  238. weightIn: 0,
  239. transportLoss: 0,
  240. retreat: 0,
  241. }
  242. },
  243. activated() {
  244. this.moveTaskNo = this.$route.query.moveTaskNo
  245. this.getList()
  246. },
  247. mounted() {
  248. this.moveTaskNo = this.$route.query.moveTaskNo
  249. this.getList()
  250. },
  251. methods: {
  252. marker: function (item) {
  253. this.deptBudgetList.warehousePositioning =
  254. item.lnglat.lat + ',' + item.lnglat.lng
  255. },
  256. confirmPositioncity() {
  257. this.listDate.level = 'city'
  258. this.listDate.country = this.name
  259. },
  260. // 关闭 dialog时 处理文件url 初始化upload组件
  261. handleClose() {
  262. this.dialogViewSpareMoney = false
  263. },
  264. returnsales() {
  265. this.moveLookData = []
  266. this.$router.go(-1)
  267. },
  268. // 上传附件
  269. uploadSuccess(data, files, url) {
  270. console.log(data, files, url)
  271. },
  272. resetForm(deptBudgetList) {
  273. this.$refs[deptBudgetList].resetFields()
  274. },
  275. getList() {
  276. moveLook({ moveTaskNo: this.moveTaskNo })
  277. .toPromise()
  278. .then((response) => {
  279. this.moveLookData = response
  280. for (var i = 0; i < this.moveLookData.length; i++) {
  281. if (this.moveLookData[i].inOutType == '移库出库') {
  282. this.weightOut = this.moveLookData[i].weight
  283. this.retreat = this.moveLookData[i].stockReturnCount
  284. } else {
  285. this.weightIn = this.moveLookData[i].weight
  286. }
  287. this.transportLoss = this.weightOut - this.weightIn
  288. }
  289. })
  290. },
  291. selectChapterTwo(e) {
  292. for (var i = 0; i < this.ChapterTwoList.length; i++) {
  293. if (this.ChapterTwoList[i].constValue == e) {
  294. this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
  295. }
  296. }
  297. },
  298. selectunitList(e) {
  299. for (var i = 0; i < this.unitList.length; i++) {
  300. if (this.unitList[i].constValue == e) {
  301. this.deptBudgetList.acceptanceMethodKey = this.unitList[i].constKey
  302. }
  303. }
  304. },
  305. selectgrade(e) {
  306. for (var i = 0; i < this.gradeList.length; i++) {
  307. if (this.gradeList[i].constValue == e) {
  308. this.deptBudgetList.gradeKey = this.gradeList[i].constKey
  309. }
  310. }
  311. },
  312. selectgoodsName(e) {
  313. for (var i = 0; i < this.goodnameList.length; i++) {
  314. if (this.goodnameList[i].constValue == e) {
  315. this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
  316. }
  317. }
  318. },
  319. selectpackingMethod(e) {
  320. for (var i = 0; i < this.packtypeList.length; i++) {
  321. if (this.packtypeList[i].constValue == e) {
  322. this.deptBudgetList.packingMethodKey = this.packtypeList[i].constKey
  323. }
  324. }
  325. },
  326. },
  327. }
  328. </script>
  329. <style lang="scss" scoped>
  330. //蓝标
  331. .small-title {
  332. position: relative;
  333. padding: 10px;
  334. font-weight: 600;
  335. }
  336. .small-title::before {
  337. position: absolute;
  338. content: '';
  339. display: block;
  340. background: #5473e8;
  341. width: 4px;
  342. height: 14px;
  343. left: 0px;
  344. top: 13px;
  345. }
  346. .amap-page-container {
  347. width: 300px;
  348. height: 300px;
  349. }
  350. .el-form {
  351. padding: 0 15%;
  352. }
  353. /deep/.ws-info-table .el-form-item {
  354. width: 23%;
  355. border: none;
  356. height: 50px;
  357. }
  358. .readonly {
  359. position: relative;
  360. }
  361. .readonly:after {
  362. content: '*';
  363. color: #ff2727;
  364. position: absolute;
  365. right: 8px;
  366. z-index: 10;
  367. top: 21%;
  368. font-size: 20px;
  369. }
  370. .title {
  371. position: relative;
  372. }
  373. .title::before {
  374. content: '';
  375. display: inline-block;
  376. width: 5px;
  377. height: 30px;
  378. background: #5473e8;
  379. position: absolute;
  380. left: 0;
  381. }
  382. .el-button--primary {
  383. background-color: #5878e8;
  384. border-color: #5878e8;
  385. }
  386. .el-col {
  387. background: #f6f7fc;
  388. }
  389. /deep/.ws-info-table .el-form-item .el-form-item__content {
  390. border: none;
  391. font-size: 14px;
  392. // color: #8890b1;
  393. }
  394. /deep/.ws-info-table .el-form-item .el-form-item__label {
  395. text-align: right;
  396. background: #fff;
  397. font-size: 14px;
  398. font-weight: 400;
  399. width: 40%;
  400. }
  401. .button-container {
  402. display: flex;
  403. flex-wrap: nowrap;
  404. justify-content: space-between;
  405. align-items: center;
  406. background-color: #fff;
  407. width: 100%;
  408. height: 50px;
  409. padding: 0 10px;
  410. & > div {
  411. margin-left: 10px;
  412. display: flex;
  413. flex-wrap: nowrap;
  414. flex-direction: row;
  415. & > span {
  416. line-height: 50px;
  417. }
  418. }
  419. /deep/.auditFlow-box {
  420. position: unset;
  421. margin-left: 10px;
  422. &/deep/.auditFlow-icon {
  423. width: auto;
  424. padding-right: 30px;
  425. }
  426. &/deep/.auditFlow-main {
  427. position: absolute;
  428. }
  429. }
  430. }
  431. .box-app {
  432. display: inline-block;
  433. float: left;
  434. margin-left: 30px;
  435. line-height: 50px;
  436. }
  437. /deep/.el-dialog {
  438. .el-form-item {
  439. margin-bottom: 0 !important;
  440. .el-input--medium {
  441. textarea {
  442. min-height: 100px !important;
  443. }
  444. }
  445. }
  446. }
  447. .collapse-bottom {
  448. margin-bottom: 20px;
  449. }
  450. .input-main .textarea .el-textarea__inner {
  451. width: 100%;
  452. z-index: 1;
  453. }
  454. .bg-left {
  455. padding-left: 30px;
  456. }
  457. .bg-right {
  458. padding-right: 10px;
  459. text-align: right;
  460. }
  461. .bg-bottom {
  462. margin: 15px 0px;
  463. }
  464. .center {
  465. width: 90%;
  466. margin: 0 auto;
  467. }
  468. .el-form-item__label {
  469. text-align: center;
  470. }
  471. /*.crt-main .textarea /deep/ .el-form-item__label {*/
  472. /* height: 82px;*/
  473. /*}*/
  474. // 控制select为只读的时候显示样式
  475. .hide-sel {
  476. .el-input__inner {
  477. border: 0px;
  478. }
  479. .el-icon-arrow-up {
  480. display: none;
  481. }
  482. .el-date-editor {
  483. i {
  484. display: none;
  485. }
  486. }
  487. .is-disabled {
  488. .el-input__inner:hover {
  489. background-color: #fff !important;
  490. border: 0;
  491. }
  492. color: #606266;
  493. .el-input__inner {
  494. background-color: #fff !important;
  495. border: 0;
  496. color: #606266;
  497. }
  498. .el-textarea__inner {
  499. background-color: #fff !important;
  500. border: 0;
  501. color: #606266;
  502. }
  503. }
  504. }
  505. // 控制select为只读的时候显示样式
  506. /deep/.ws-class-table-col {
  507. height: auto;
  508. padding: 0px 2px;
  509. /deep/.el-input__inner {
  510. padding: 0px 2px;
  511. }
  512. }
  513. /deep/.is-disabled {
  514. .el-input__prefix,
  515. .el-input__suffix {
  516. display: none;
  517. }
  518. .el-input__inner {
  519. background-color: #fff;
  520. border-color: #fff !important;
  521. color: #000 !important;
  522. font-size: 14px;
  523. cursor: text;
  524. padding: 0 !important;
  525. }
  526. }
  527. .winseaview-view {
  528. padding: 0 0 20px;
  529. }
  530. .container {
  531. overflow: scroll;
  532. height: 93vh;
  533. }
  534. .readonly:after {
  535. display: none;
  536. }
  537. .el-form {
  538. margin-top: 50px;
  539. }
  540. .readonly {
  541. width: 16%;
  542. }
  543. //去边框
  544. /deep/.el-form-item {
  545. border-right: 0px;
  546. border-bottom: 0px;
  547. width: 50%;
  548. }
  549. /deep/.ws-info-table {
  550. border-left: 0px;
  551. border-top: 0px;
  552. }
  553. //输入框
  554. /deep/.el-input {
  555. width: 14.555%;
  556. margin-left: 10px;
  557. }
  558. /deep/.is-disabled .el-input__inner {
  559. height: 40px;
  560. text-align: center;
  561. }
  562. .library {
  563. width: 100%;
  564. height: 50px;
  565. border-bottom: 1px solid #d8dce6;
  566. color: #232323;
  567. line-height: 50px;
  568. }
  569. .line {
  570. height: 50px;
  571. // left: -80px;
  572. }
  573. .line1 {
  574. height: 50px;
  575. }
  576. //业务描述
  577. /deep/.el-textarea {
  578. width: 90%;
  579. // margin-left: 24px;
  580. margin-top: 20px;
  581. }
  582. .inout {
  583. border-radius: 4px;
  584. border: 1px solid #d8dce6;
  585. margin-top: 20px;
  586. }
  587. .goods {
  588. border-radius: 4px;
  589. border: 1px solid #d8dce6;
  590. margin-top: 20px;
  591. }
  592. .flow,
  593. .flow1 {
  594. border-radius: 4px;
  595. border: 1px solid #d8dce6;
  596. margin-top: 20px;
  597. }
  598. /deep/.flow .el-form-item {
  599. display: inline-grid;
  600. border-bottom: 1px solid #d8dce6;
  601. width: 30%;
  602. height: 50px;
  603. text-align: center;
  604. }
  605. .flow .el-col {
  606. background: #fff;
  607. display: contents;
  608. }
  609. .flow1 {
  610. width: 33.333%;
  611. }
  612. /deep/.el-table th > .cell {
  613. text-align: center;
  614. border-right: 1px solid #d8dce6;
  615. background: #fff;
  616. }
  617. .weights {
  618. width: 100%;
  619. height: 50px;
  620. text-align: center;
  621. // border-right: 1px solid #d8dce6;
  622. line-height: 50px;
  623. }
  624. /deep/.el-textarea__inner {
  625. border: none;
  626. }
  627. </style>