details.vue 7.3 KB

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