index.vue 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <template>
  2. <el-container>
  3. <el-header style="height: 40px">
  4. <div>
  5. <div class="divLeft colorYellow">
  6. 任务中
  7. </div>
  8. <div class="divLeft colorGreen">
  9. </div>
  10. <div class="divLeft colorRed">
  11. 占用
  12. </div>
  13. <!-- <div class="divLeft">-->
  14. <!-- 库存<icon-svg name="steel" class="site-sidebar__menu-icon"></icon-svg>-->
  15. <!-- </div>-->
  16. <div class="divLeft">
  17. 空托盘<svg-icon class-name="pallet-icon" icon-class="pallet" @click.stop="click" />
  18. </div>
  19. </div>
  20. </el-header>
  21. <el-main>
  22. <el-card v-for="zone in locationZoneList" v-bind:key="zone.zoneName" class="box-card">
  23. <div slot="header" class="clearfix">
  24. <span style="font-weight: bold">{{zone.zoneName}}</span>
  25. </div>
  26. <div class="divBoxCol" v-for="col in zone.basLocationGuiColDTOS">
  27. <div v-for="o in col.baseLocationGuiDTOList" v-bind:key="o.id" class="text item divBox" @click="changeLocation(o)">
  28. <div class="divMinBox" v-show="o.locationNo!=null">
  29. {{o.locationNo}}<!--(<font class="pointcss">{{o.agvStation}}</font>)-->
  30. </div>
  31. <div>
  32. <div v-show="o.isEmpty=='Y'" :class="{'locDiv': true,'colorGreen': true, 'colorYellow': o.stockStatus!='00'}">
  33. </div>
  34. <div v-show="o.isEmpty=='N'" :class="{'locDiv': true,'colorRed': o.isEmptyPlate != 'Y', 'colorYellow': o.stockStatus!='00'}">
  35. <div class="divMinFontBox" v-show="o.isEmpty=='N' && o.isEmptyPlate != 'Y' ">
  36. <div style="color: #FFFFFF;font-size:10px;">{{o.lotatt07}}&nbsp;&nbsp; </div>
  37. <div v-show="o.sku!=null" style="color: #FFFFFF;font-size:10px;">{{o.sku}}</div>
  38. <div v-show="o.lotatt02!=null" style="color: #FFFFFF;font-size:10px;">{{o.lotatt02}}</div>
  39. <!-- <div v-show="o.lotatt05!=null" style="color: #FFFFFF">{{o.lotatt05}}</div>-->
  40. <!-- <div v-show="o.lotatt08!=null" style="color: #FFFFFF">{{o.lotatt08}}</div>-->
  41. </div>
  42. <div class="divMinFontBoxEmptyPlate" v-show="o.isEmptyPlate == 'Y'">
  43. <svg-icon class-name="pallet-icon" icon-class="pallet" @click.stop="click" style="width: 60px;height: 35px;">{{o.id}}</svg-icon>
  44. <div style="color: #191970;font-size:12px;">{{o.skuName}}&nbsp;&nbsp;</div>
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. </div>
  50. </el-card>
  51. </el-main>
  52. </el-container>
  53. </template>
  54. <script>
  55. import { locationInvView } from "@/api/ams/locationView";
  56. export default {
  57. data () {
  58. return {
  59. dataForm: {
  60. zoneId: ''
  61. },
  62. queryParams: {
  63. zoneId: '',
  64. warehouseId: ''
  65. },
  66. locationZoneList: [],
  67. locationList: {'a': [1, 2, 3]},
  68. locationClearVisible: false
  69. }
  70. },
  71. mounted () {
  72. },
  73. activated () {
  74. },
  75. created () {
  76. this.getDataList()
  77. this.timer = setInterval(this.getDataList, 5000)
  78. },
  79. beforeDestroy () {
  80. clearInterval(this.timer)
  81. },
  82. methods: {
  83. getDataList () {
  84. this.dataListLoading = true
  85. locationInvView(this.queryParams).then(response => {
  86. this.locationZoneList = response.data
  87. })
  88. this.dataListLoading = false
  89. },
  90. changeLocation(o){
  91. // alert(o.locationNo);
  92. }
  93. }
  94. }
  95. </script>
  96. <style>
  97. .pointcss{
  98. color: hotpink;
  99. }
  100. .divBoxCol {
  101. width: 150px;
  102. display: block;
  103. float: left;
  104. }
  105. .divBox {
  106. width: 130px;
  107. height: 90px;
  108. display: block;
  109. float: left;
  110. margin-left: 2px;
  111. }
  112. .divMinBox {
  113. margin-top: 0px;
  114. height: 15px;
  115. width: 100%;
  116. text-align: center;
  117. font-weight: bold;
  118. }
  119. .divMinFontBox {
  120. margin-top: 2px;
  121. height: 10px;
  122. width: 100%;
  123. text-align: center;
  124. /*font-size: 1px;*/
  125. }
  126. .locDiv {
  127. float: left;
  128. display: inline-block;
  129. width: 130px;
  130. height: 70px;
  131. margin-top: 1px;
  132. text-align: center;
  133. margin-left: 1px;
  134. border: solid 1px;
  135. }
  136. .colorGreen {
  137. background-color: #19a708;
  138. }
  139. .colorRed {
  140. background-color: #c73c2d;
  141. }
  142. .colorYellow {
  143. background-color: #e2cd0f;
  144. }
  145. .divLeft {
  146. border-top: 1px;
  147. border-color: #2b373d;
  148. text-align: left;
  149. display: inline-block;
  150. height: 30px;
  151. width: 80px;
  152. text-align: center;
  153. margin-top: 10px;
  154. padding-top: 5px;
  155. }
  156. .box-card{
  157. width: 100%;
  158. display:inline-block;
  159. overflow: hidden;
  160. }
  161. </style>