details.vue 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438
  1. <template>
  2. <view class="content-box">
  3. <uni-nav-bar
  4. fixed="true"
  5. statusBar="true"
  6. left-icon="back"
  7. :title="title"
  8. background-color="#F7F9FA"
  9. color="#000"
  10. @clickLeft="back"
  11. >
  12. </uni-nav-bar>
  13. <view class="list_box">
  14. <u-list @scrolltolower="scrolltolower" v-if="taskType != 5">
  15. <view class="card_box" v-for="(objData, index) in list" :key="index">
  16. <view class="rx-bc title_card">
  17. <view>{{ index + 1 }}</view>
  18. <view>报工时间: {{ objData.workReportInfo.executorTime }}</view>
  19. </view>
  20. <workOrderBom
  21. :item="objData"
  22. v-if="objData"
  23. :isDetails="true"
  24. ></workOrderBom>
  25. <!-- // 报工信息 -->
  26. <jobBom
  27. :item="objData"
  28. v-if="objData.notFormedList"
  29. :palletList="objData.palletList"
  30. :notFormed="objData.notFormedList"
  31. :isDetails="true"
  32. ></jobBom>
  33. <deviceBom
  34. v-if="objData.equipmentList.length != 0"
  35. :list="objData.equipmentList"
  36. ></deviceBom>
  37. <modelBom
  38. v-if="objData.modelList.length != 0"
  39. :list="objData.modelList"
  40. >
  41. </modelBom>
  42. <inspectionBom
  43. :semiProductList="objData.semiProductList"
  44. :isDetails="true"
  45. v-if="
  46. Object.prototype.hasOwnProperty.call(
  47. objData,
  48. 'semiProductList'
  49. ) &&
  50. objData.semiProductList.length &&
  51. taskType == 3
  52. "
  53. >
  54. </inspectionBom>
  55. <sampleBom
  56. :item="objData.quality"
  57. v-if="objData.quality && taskType == 2"
  58. :workReportInfo="objData.workReportInfo"
  59. :isDetails="true"
  60. ></sampleBom>
  61. <palletBom
  62. v-if="objData.palletList.length != 0"
  63. :palletList="objData.palletList"
  64. :isDetails="true"
  65. >
  66. </palletBom>
  67. <revolvingDiskBom
  68. v-if="objData.revolvingDiskList.length > 0"
  69. pattern="job"
  70. :revolvingDiskList="objData.revolvingDiskList"
  71. ></revolvingDiskBom>
  72. <oneJobBom
  73. v-if="
  74. objData.instanceList &&
  75. objData.instanceList.length != 0 &&
  76. taskType != 6
  77. "
  78. :list="objData.instanceList"
  79. :item="objData"
  80. :isDetails="true"
  81. >
  82. </oneJobBom>
  83. <!-- <!- 报工详情- 扫码报工fff -->
  84. <semiProductJobBom
  85. v-if="
  86. objData.semiProductList &&
  87. objData.semiProductList.length != 0 &&
  88. taskType != 6 &&
  89. objData.singleReport == 1
  90. "
  91. :list="objData.semiProductList"
  92. :item="objData"
  93. :isDetails="true"
  94. >
  95. </semiProductJobBom>
  96. <batchProductJobBom
  97. v-if="
  98. objData.product &&
  99. objData.product.length != 0 &&
  100. taskType != 6 &&
  101. objData.singleReport == 0 &&
  102. clientEnvironmentId != 3
  103. "
  104. :list="objData.product"
  105. :item="objData"
  106. :isDetails="true"
  107. >
  108. </batchProductJobBom>
  109. <batchProductJobBom
  110. v-if="
  111. objData.product &&
  112. objData.product.length != 0 &&
  113. taskType == 6 &&
  114. objData.singleReport == 0
  115. "
  116. :item="objData"
  117. :list="objData.product"
  118. :isDetails="true"
  119. >
  120. </batchProductJobBom>
  121. <semiProductJobBomPL
  122. v-if="
  123. objData.semiProductList &&
  124. objData.semiProductList.length != 0 &&
  125. taskType != 6 &&
  126. taskType != 3 &&
  127. objData.singleReport == 0
  128. "
  129. :list="objData.semiProductList"
  130. :item="objData"
  131. :isDetails="true"
  132. >
  133. </semiProductJobBomPL>
  134. <oneJobQualityBom
  135. v-if="
  136. objData.semiProductList &&
  137. objData.semiProductList.length != 0 &&
  138. taskType == 6 &&
  139. clientEnvironmentId == 3 &&
  140. objData.singleReport == 1
  141. "
  142. :list="objData.semiProductList"
  143. :item="objData"
  144. :isDetails="true"
  145. ></oneJobQualityBom>
  146. <oneJobQualityBomPL
  147. v-if="
  148. taskType == 6 &&
  149. clientEnvironmentId == 3 &&
  150. objData.singleReport == 0
  151. "
  152. :list="objData.semiProductList"
  153. :item="objData"
  154. :isDetails="true"
  155. ></oneJobQualityBomPL>
  156. <byProductBom
  157. v-if="objData.productRecycleList.length != 0"
  158. :list="objData.productRecycleList"
  159. :isDetails="true"
  160. >
  161. </byProductBom>
  162. <turnoverBom
  163. v-if="objData.turnover.length != 0"
  164. :list="objData.turnover"
  165. :wordItem="objData"
  166. pattern="job"
  167. :isDetails="true"
  168. >
  169. </turnoverBom>
  170. <aridRegion
  171. v-if="objData.aridRegionList.length != 0"
  172. :list="objData.aridRegionList"
  173. :remainingTime="0"
  174. :isType="true"
  175. ></aridRegion>
  176. <view v-if="objData.packInfo">
  177. <packingTgBom
  178. v-if="
  179. objData.packInfo &&
  180. objData.packInfo.pickOutInList &&
  181. objData.packInfo.pickOutInList != 0 &&
  182. taskType == 4 &&
  183. clientEnvironmentId == 3
  184. "
  185. :list="objData.packInfo.pickOutInList"
  186. :isWarehousing="true"
  187. :isDetails="true"
  188. :item="objData"
  189. >
  190. </packingTgBom>
  191. <!-- //包装扫码 -->
  192. <view v-else>
  193. <view v-if="clientEnvironmentId != 2">
  194. <!-- <packingBom
  195. v-if="taskType == 4 && clientEnvironmentId != 3 && objData"
  196. :packInfo="objData.packInfo"
  197. >
  198. </packingBom> -->
  199. <!-- :taskId="taskId"
  200. :workOrderId="id"
  201. :objData="objData"
  202. ref="packRef"
  203. v-if="taskType == 4 && clientEnvironmentId != 3 && objData"
  204. :categoryId="categoryId" -->
  205. <newPackingBomDetails
  206. v-if="taskType == 4 && clientEnvironmentId != 3 && objData"
  207. :taskId="objData.currentTaskDiagram.taskId"
  208. :objData="objData"
  209. :categoryId="objData.workOrderId"
  210. >
  211. </newPackingBomDetails>
  212. </view>
  213. <packingQtBom
  214. v-else
  215. :list="objData.packInfo.pickOutInList"
  216. :isWarehousing="true"
  217. :isDetails="true"
  218. :item="objData"
  219. >
  220. </packingQtBom>
  221. </view>
  222. </view>
  223. </view>
  224. </u-list>
  225. <u-list @scrolltolower="scrolltolower" v-if="taskType == 5">
  226. <view class="card_box" v-for="(objData, index) in list" :key="index">
  227. <view class="rx-bc title_card">
  228. <view>{{ index + 1 }}</view>
  229. <view>报工时间: {{ objData.createTime }}</view>
  230. </view>
  231. <workOrderBom2
  232. :item="objData"
  233. v-if="objData"
  234. :isDetails="true"
  235. ></workOrderBom2>
  236. <!-- <detailsBom
  237. v-if="objData.detailList.length != 0"
  238. :detailList="objData.detailList"
  239. ></detailsBom> -->
  240. <detailsBatchBom
  241. v-if="objData.detailList.length != 0"
  242. :detailList="objData.detailList"
  243. ></detailsBatchBom>
  244. </view>
  245. </u-list>
  246. <view v-if="list.length == 0">
  247. <view style="margin-top: 20vh">
  248. <u-empty iconSize="150" textSize="32" text="暂无报工详情"> </u-empty>
  249. </view>
  250. </view>
  251. </view>
  252. </view>
  253. </template>
  254. <script>
  255. import { listWorkReport, listApplystorage } from "@/api/pda/workOrder.js";
  256. import workOrderBom from "../../feeding/components/workOrderBom.vue";
  257. import deviceBom from "../../feeding/components/deviceBom.vue";
  258. import modelBom from "../../feeding/components/modelBom.vue";
  259. import jobBom from "../../jobBooking/components/jobBom.vue";
  260. import oneJobBom from "../../jobBooking/components/oneJobBom.vue";
  261. import semiProductJobBom from "../../jobBooking/components/semiProductJobBom.vue";
  262. import semiProductJobBomPL from "../../jobBooking/components/semiProductJobBomPL.vue";
  263. import oneJobQualityBom from "../../jobBooking/components/oneJobQualityBom.vue";
  264. import oneJobQualityBomPL from "../../jobBooking/components/oneJobQualityBomPL.vue";
  265. import byProductBom from "../../jobBooking/components/byProductBom";
  266. import turnoverBom from "../../jobBooking/components/turnoverBom.vue";
  267. import aridRegion from "../../feeding/components/aridRegion.vue";
  268. import paramBom from "../../feeding/components/paramBom.vue";
  269. import inspectionBom from "../../sample/components/inspectionBom.vue";
  270. import sampleBom from "../../sample/components/sampleBom.vue";
  271. import palletBom from "../../feeding/components/palletBom.vue";
  272. import revolvingDiskBom from "../../feeding/components/revolvingDiskBom.vue";
  273. import packingTgBom from "../../jobBooking/components/packingTgBom.vue";
  274. import packingBom from "../../jobBooking/components/packingBomDetails.vue";
  275. import newPackingBomDetails from "../../jobBooking/components/newPackingBomDetails.vue";
  276. import packingQtBom from "../../jobBooking/components/packingQtBom.vue";
  277. import batchProductJobBom from "../../jobBooking/components/batchProductJobBom.vue";
  278. //
  279. import detailsBom from "../../warehousing/components/detailsBom.vue";
  280. import detailsBatchBom from "../../warehousing/components/detailsBatchBom.vue";
  281. import workOrderBom2 from "../../warehousing/components/workOrderBom.vue";
  282. export default {
  283. components: {
  284. workOrderBom,
  285. deviceBom,
  286. modelBom,
  287. jobBom,
  288. oneJobBom,
  289. semiProductJobBom,
  290. semiProductJobBomPL,
  291. oneJobQualityBom,
  292. oneJobQualityBomPL,
  293. packingQtBom,
  294. byProductBom,
  295. turnoverBom,
  296. aridRegion,
  297. paramBom,
  298. inspectionBom,
  299. sampleBom,
  300. palletBom,
  301. revolvingDiskBom,
  302. packingTgBom,
  303. packingBom,
  304. detailsBom,
  305. workOrderBom2,
  306. batchProductJobBom,
  307. newPackingBomDetails,
  308. detailsBatchBom,
  309. },
  310. data() {
  311. return {
  312. workOrderId: null,
  313. taskId: null,
  314. list: [],
  315. taskType: 1,
  316. clientEnvironmentId:
  317. uni.getStorageSync("userInfo") &&
  318. uni.getStorageSync("userInfo").clientEnvironmentId, // *1 主环境-601环境 2 soll-索尔环境 3 tg-碳谷环境
  319. };
  320. },
  321. onLoad(options) {
  322. this.title = options.taskName ? options.taskName + "-报工详情" : "报工详情";
  323. this.workOrderId = options.id;
  324. this.taskId = options.taskId;
  325. this.taskType = options.taskType;
  326. this.getList();
  327. },
  328. methods: {
  329. getList() {
  330. let param = {
  331. workOrderId: this.workOrderId,
  332. taskId: this.taskId,
  333. };
  334. let URL = this.taskType == 5 ? listApplystorage : listWorkReport;
  335. URL(param).then((res) => {
  336. this.list = res;
  337. });
  338. },
  339. scrolltolower() {},
  340. },
  341. };
  342. </script>
  343. <style lang="scss" scoped>
  344. .content-box {
  345. height: 100vh;
  346. overflow: hidden;
  347. display: flex;
  348. flex-direction: column;
  349. }
  350. .list_box {
  351. flex: 1;
  352. overflow: hidden;
  353. padding: 4rpx 0;
  354. .u-list {
  355. height: 100% !important;
  356. }
  357. .card_box {
  358. padding: 16rpx;
  359. }
  360. }
  361. .bottom-wrapper {
  362. .btn_box {
  363. width: 750rpx;
  364. height: 88rpx;
  365. line-height: 88rpx;
  366. background: $theme-color;
  367. text-align: center;
  368. font-size: 36rpx;
  369. font-style: normal;
  370. font-weight: 400;
  371. color: #fff;
  372. }
  373. }
  374. .operate_box {
  375. padding: 10rpx 160rpx;
  376. /deep/ .u-button {
  377. width: 160rpx;
  378. }
  379. }
  380. .title_card {
  381. height: 70rpx;
  382. width: 100%;
  383. background: #157a2c;
  384. font-size: 30rpx;
  385. color: #fff;
  386. line-height: 70rpx;
  387. padding: 0 22rpx;
  388. box-sizing: border-box;
  389. }
  390. </style>