moveWarehouseTaskLook.vue 18 KB

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