index.vue 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. <template>
  2. <view class="content-box">
  3. <uni-nav-bar
  4. fixed="true"
  5. statusBar="true"
  6. left-icon="back"
  7. title="投料单"
  8. background-color="#F7F9FA"
  9. color="#000"
  10. @clickLeft="back"
  11. ></uni-nav-bar>
  12. <view class="list_box">
  13. <u-list @scrolltolower="scrolltolower" key="dataList">
  14. <view class="card_box" v-for="(item, index) in dataList" :key="index">
  15. <view class="item_box rx-bc">
  16. <view class="round">{{ index + 1 }}</view>
  17. <view class="time">投料时间:{{ item.executorTime }} </view>
  18. </view>
  19. <view class="item_box rx-bc">
  20. <view class="time">工序名称: {{ item.taskName }}</view>
  21. </view>
  22. <view v-for="(it, idx) in item.orderInfoList" :key="idx">
  23. <workOrderBom :item="it" :isDetails="true"></workOrderBom>
  24. <paramBom
  25. v-if="it.paramDetailList.length != 0"
  26. :list="it.paramDetailList"
  27. ></paramBom>
  28. <deviceBom
  29. v-if="it.equipmentList.length != 0"
  30. :list="it.equipmentList"
  31. :ishuoWei="false"
  32. :wordItem="it"
  33. :isDetails="true"
  34. ></deviceBom>
  35. <productsBom
  36. v-if="
  37. Object.prototype.hasOwnProperty.call(it, 'inProductList') &&
  38. it.inProductList[0]
  39. "
  40. :productsObj="it.inProductList"
  41. ></productsBom>
  42. <modelBom v-if="it.modelList.length != 0" :list="it.modelList">
  43. </modelBom>
  44. <instanceBom
  45. v-if="it.instanceList.length != 0"
  46. :isDetails="true"
  47. :list="it.instanceList"
  48. :currentTaskDiagram="currentTaskDiagram"
  49. :equipmentList="it.equipmentList"
  50. ></instanceBom>
  51. <semiProductBom
  52. v-if="it.taskType != 3 && it.semiProductList.length != 0"
  53. :isDetails="true"
  54. :list="it.semiProductList"
  55. :currentTaskDiagram="currentTaskDiagram"
  56. :equipmentList="it.equipmentList"
  57. :workInfo="it"
  58. ></semiProductBom>
  59. <!-- 周转车 -->
  60. <turnoverBom
  61. v-if="it.turnover.length != 0"
  62. :list="it.turnover"
  63. :isDetails="true"
  64. :wordItem="it"
  65. pattern="feed"
  66. ></turnoverBom>
  67. <packingBom
  68. v-if="it.packingList.length != 0"
  69. :list="it.packingList"
  70. ></packingBom>
  71. <palletBom
  72. v-if="Object.prototype.hasOwnProperty.call(it, 'palletList')"
  73. :palletList="it.palletList"
  74. ></palletBom>
  75. <revolvingDiskBom
  76. v-if="
  77. Object.prototype.hasOwnProperty.call(it, 'revolvingDiskList')
  78. "
  79. :revolvingDiskList="it.revolvingDiskList"
  80. ></revolvingDiskBom>
  81. <inspectionBom
  82. v-if="
  83. it.taskType == 3 &&
  84. Object.prototype.hasOwnProperty.call(it, 'semiProductList') &&
  85. it.semiProductList
  86. "
  87. :semiProductList="it.semiProductList"
  88. :isDetails="true"
  89. ></inspectionBom>
  90. </view>
  91. </view>
  92. </u-list>
  93. </view>
  94. </view>
  95. </template>
  96. <script>
  97. import workOrderBom from "../components/workOrderBom.vue";
  98. import deviceBom from "../components/deviceBom.vue";
  99. import modelBom from "../components/modelBom.vue";
  100. import instanceBom from "../components/instanceBom.vue";
  101. import semiProductBom from "../components/semiProductBom";
  102. import packingBom from "../components/packingBom.vue";
  103. import palletBom from "../components/palletBom";
  104. import paramBom from "../../feeding/components/paramBom.vue";
  105. import revolvingDiskBom from "../components/revolvingDiskBom";
  106. import productsBom from "../components/productsBom.vue";
  107. import turnoverBom from "../components/turnoverBom.vue";
  108. import inspectionBom from "../../sample/components/inspectionBom";
  109. import { feedByOrderIds } from "@/api/pda/feeding.js";
  110. export default {
  111. components: {
  112. workOrderBom,
  113. deviceBom,
  114. modelBom,
  115. instanceBom,
  116. packingBom,
  117. palletBom,
  118. revolvingDiskBom,
  119. semiProductBom,
  120. productsBom,
  121. turnoverBom,
  122. inspectionBom,
  123. paramBom,
  124. },
  125. data() {
  126. return {
  127. ids: [],
  128. taskId: null,
  129. dataList: [],
  130. currentTaskDiagram: {
  131. isFirstTask: 0,
  132. },
  133. };
  134. },
  135. onLoad(option) {
  136. this.ids = [option.id];
  137. this.taskId = option.taskId;
  138. this.getList();
  139. },
  140. methods: {
  141. async getList() {
  142. let param = {
  143. ids: this.ids,
  144. taskId: this.taskId,
  145. };
  146. const res = await feedByOrderIds(param);
  147. this.dataList = res;
  148. },
  149. scrolltolower() {},
  150. },
  151. };
  152. </script>
  153. <style lang="scss" scoped>
  154. .content-box {
  155. height: 100vh;
  156. overflow: hidden;
  157. display: flex;
  158. flex-direction: column;
  159. }
  160. .item_box {
  161. margin-top: 10rpx;
  162. margin-bottom: 16rpx;
  163. width: 706rpx;
  164. .round {
  165. width: 40rpx;
  166. height: 40rpx;
  167. line-height: 40rpx;
  168. border-radius: 50%;
  169. background: $theme-color;
  170. color: #fff;
  171. text-align: center;
  172. font-size: 20rpx;
  173. }
  174. .time {
  175. color: #000;
  176. font-family: PingFang HK;
  177. font-size: 28rpx;
  178. font-style: normal;
  179. font-weight: 600;
  180. margin-left: 16rpx;
  181. }
  182. }
  183. .list_box {
  184. flex: 1;
  185. overflow: hidden;
  186. padding: 4rpx 0;
  187. .u-list {
  188. height: 100% !important;
  189. }
  190. .card_box {
  191. padding: 16rpx 24rpx;
  192. }
  193. }
  194. </style>