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