details.vue 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. <template>
  2. <view class="content-box">
  3. <uni-nav-bar fixed="true" statusBar="true" left-icon="back" :title="title" background-color="#F7F9FA"
  4. color="#000" @clickLeft="back">
  5. </uni-nav-bar>
  6. <view class="list_box">
  7. <u-list @scrolltolower="scrolltolower" v-if='taskType != 5'>
  8. <view class="card_box" v-for="(objData,index) in list" :key='index'>
  9. <view class="rx-bc title_card">
  10. <view>{{index + 1}}</view>
  11. <view>报工时间: {{objData.createTime}}</view>
  12. </view>
  13. <workOrderBom :item='objData' v-if='objData' :isDetails='true'></workOrderBom>
  14. <deviceBom v-if='objData.equipmentList.length != 0' :list='objData.equipmentList'></deviceBom>
  15. <modelBom v-if='objData.modelList.length != 0' :list='objData.modelList'>
  16. </modelBom>
  17. <qualityStat :normalQuality='objData.normalQuality' v-if='objData && taskType == 3'></qualityStat>
  18. <sampleBom :item='objData.quality' v-if='objData.quality && taskType == 2'
  19. :workReportInfo='objData.workReportInfo' :isDetails='true'></sampleBom>
  20. <jobBom :item='objData' v-if="objData.notFormedList" :palletList='objData.palletList'
  21. :notFormed='objData.notFormedList' :isDetails='true'></jobBom>
  22. <palletBom v-if="objData.palletList.length != 0" :palletList='objData.palletList' :isDetails='true'>
  23. </palletBom>
  24. <revolvingDiskBom v-if="objData.revolvingDiskList.length > 0"
  25. :revolvingDiskList="objData.revolvingDiskList"></revolvingDiskBom>
  26. <oneJobBom v-if='objData.instanceList && objData.instanceList.length != 0 & taskType != 6'
  27. :list='objData.instanceList' :item='objData' :isDetails='true'> </oneJobBom>
  28. <semiProductJobBom
  29. v-if='objData.semiProductList && objData.semiProductList.length != 0 & taskType != 6'
  30. :list='objData.semiProductList' :item='objData' :isDetails='true'> </semiProductJobBom>
  31. <oneJobQualityBom v-if='objData.semiProductList && objData.semiProductList.length != 0 & taskType == 6'
  32. :list='objData.semiProductList' :item='objData' :isDetails='true'></oneJobQualityBom>
  33. <byProductBom v-if='objData.productRecycleList.length != 0 ' :list='objData.productRecycleList'
  34. :isDetails='true'>
  35. </byProductBom>
  36. <turnoverBom v-if='objData.turnover.length != 0' :list='objData.turnover' :wordItem='objData'
  37. pattern='job' :isDetails='true'>
  38. </turnoverBom>
  39. <aridRegion v-if='objData.aridRegionList.length != 0' :list='objData.aridRegionList'
  40. :remainingTime='0' :isType='true'></aridRegion>
  41. <packingTgBom
  42. v-if='objData.packInfo && objData.packInfo.pickOutInList && objData.packInfo.pickOutInList != 0 && taskType == 4 && clientEnvironmentId == 3 '
  43. :list='objData.packInfo.pickOutInList' :isWarehousing='true' :isDetails="true"></packingTgBom>
  44. <packingBom v-if="objData.packInfo && clientEnvironmentId == 2" :packInfo="objData.packInfo">
  45. </packingBom>
  46. </view>
  47. </u-list>
  48. <u-list @scrolltolower="scrolltolower" v-if='taskType == 5'>
  49. <view class="card_box" v-for="(objData,index) in list" :key='index'>
  50. <view class="rx-bc title_card">
  51. <view>{{index + 1}}</view>
  52. <view>报工时间: {{objData.createTime}}</view>
  53. </view>
  54. <workOrderBom2 :item='objData' v-if='objData' :isDetails='true'></workOrderBom2>
  55. <detailsBom v-if='objData.detailList.length != 0' :detailList='objData.detailList'></detailsBom>
  56. </view>
  57. </u-list>
  58. <view v-if='list.length == 0'>
  59. <view style='margin-top: 20vh;'>
  60. <u-empty iconSize='150' textSize='32' text='暂无报工详情'>
  61. </u-empty>
  62. </view>
  63. </view>
  64. </view>
  65. </view>
  66. </template>
  67. <script>
  68. import {
  69. listWorkReport,
  70. listApplystorage,
  71. } from '@/api/pda/workOrder.js'
  72. import workOrderBom from '../../feeding/components/workOrderBom.vue'
  73. import deviceBom from '../../feeding/components/deviceBom.vue'
  74. import modelBom from '../../feeding/components/modelBom.vue'
  75. import jobBom from '../../jobBooking/components/jobBom.vue'
  76. import oneJobBom from '../../jobBooking/components/oneJobBom.vue'
  77. import semiProductJobBom from '../../jobBooking/components/oneJobBom.vue'
  78. import oneJobQualityBom from '../../jobBooking/components/oneJobQualityBom.vue'
  79. import byProductBom from '../../jobBooking/components/byProductBom'
  80. import turnoverBom from '../../jobBooking/components/turnoverBom.vue'
  81. import aridRegion from '../../feeding/components/aridRegion.vue'
  82. import paramBom from '../../feeding/components/paramBom.vue'
  83. import qualityStat from '../../sample/components/qualityStat.vue'
  84. import sampleBom from '../../sample/components/sampleBom.vue'
  85. import palletBom from '../../feeding/components/palletBom.vue'
  86. import revolvingDiskBom from '../../feeding/components/revolvingDiskBom.vue'
  87. import packingTgBom from '../../jobBooking/components/packingTgBom.vue'
  88. import packingBom from '../../jobBooking/components/packingBomDetails.vue'
  89. //
  90. import detailsBom from '../../warehousing/components/detailsBom.vue'
  91. import workOrderBom2 from '../../warehousing/components/workOrderBom.vue'
  92. export default {
  93. components: {
  94. workOrderBom,
  95. deviceBom,
  96. modelBom,
  97. jobBom,
  98. oneJobBom,
  99. semiProductJobBom,
  100. oneJobQualityBom,
  101. byProductBom,
  102. turnoverBom,
  103. aridRegion,
  104. paramBom,
  105. qualityStat,
  106. sampleBom,
  107. palletBom,
  108. revolvingDiskBom,
  109. packingTgBom,
  110. packingBom,
  111. detailsBom,
  112. workOrderBom2
  113. },
  114. data() {
  115. return {
  116. workOrderId: null,
  117. taskId: null,
  118. list: [],
  119. taskType: 1,
  120. clientEnvironmentId: uni.getStorageSync("userInfo") && uni.getStorageSync("userInfo")
  121. .clientEnvironmentId, // *1 主环境-601环境 2 soll-索尔环境 3 tg-碳谷环境
  122. }
  123. },
  124. onLoad(options) {
  125. this.title = options.taskName ? options.taskName + '-报工详情' : '报工详情'
  126. this.workOrderId = options.id
  127. this.taskId = options.taskId
  128. this.taskType = options.taskType
  129. this.getList()
  130. },
  131. methods: {
  132. getList() {
  133. let param = {
  134. workOrderId: this.workOrderId,
  135. taskId: this.taskId
  136. }
  137. let URL = this.taskType == 5 ? listApplystorage : listWorkReport
  138. URL(param).then(res => {
  139. this.list = res
  140. })
  141. },
  142. scrolltolower() {}
  143. }
  144. }
  145. </script>
  146. <style lang="scss" scoped>
  147. .content-box {
  148. height: 100vh;
  149. overflow: hidden;
  150. display: flex;
  151. flex-direction: column;
  152. }
  153. .list_box {
  154. flex: 1;
  155. overflow: hidden;
  156. padding: 4rpx 0;
  157. .u-list {
  158. height: 100% !important;
  159. }
  160. .card_box {
  161. padding: 16rpx;
  162. }
  163. }
  164. .bottom-wrapper {
  165. .btn_box {
  166. width: 750rpx;
  167. height: 88rpx;
  168. line-height: 88rpx;
  169. background: $theme-color;
  170. text-align: center;
  171. font-size: 36rpx;
  172. font-style: normal;
  173. font-weight: 400;
  174. color: #fff;
  175. }
  176. }
  177. .operate_box {
  178. padding: 10rpx 160rpx;
  179. /deep/ .u-button {
  180. width: 160rpx;
  181. }
  182. }
  183. .title_card {
  184. height: 70rpx;
  185. width: 100%;
  186. background: #157A2C;
  187. font-size: 30rpx;
  188. color: #fff;
  189. line-height: 70rpx;
  190. padding: 0 22rpx;
  191. box-sizing: border-box;
  192. }
  193. </style>