details.vue 7.7 KB

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