details.vue 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342
  1. <template>
  2. <div>
  3. <div class="" v-if="taskType != 5">
  4. <div v-for="(objData, index) in list" :key="index" class="card_box">
  5. <div class="rx-bc">
  6. <div class="item_box rx-bc">
  7. <div class="round">{{ index + 1 }}</div>
  8. <div class="time">报工时间:{{ objData.createTime }} </div>
  9. </div>
  10. <div class="item_box rx-bc">
  11. <div class="time"
  12. >工序名称:
  13. {{
  14. objData.currentTaskDiagram &&
  15. objData.currentTaskDiagram.taskTypeName
  16. }}</div
  17. >
  18. </div>
  19. </div>
  20. <div>
  21. <workOrderBom
  22. :item="objData"
  23. v-if="objData"
  24. :isDetails="true"
  25. ></workOrderBom>
  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 && objData.equipmentList.length != 0"
  35. :list="objData.equipmentList"
  36. ></deviceBom>
  37. <modelBom
  38. v-if="objData.modelList && objData.modelList.length != 0"
  39. :list="objData.modelList"
  40. >
  41. </modelBom>
  42. <!--
  43. <qualityStat
  44. :normalQuality="objData.normalQuality"
  45. v-if="objData && taskType == 3"
  46. ></qualityStat> -->
  47. <!-- <sampleBom
  48. :item="objData.quality"
  49. v-if="objData.quality && taskType == 2"
  50. :workReportInfo="objData.workReportInfo"
  51. :isDetails="true"
  52. ></sampleBom> -->
  53. <palletBom
  54. v-if="objData.palletList && objData.palletList.length != 0"
  55. :palletList="objData.palletList"
  56. :isDetails="true"
  57. >
  58. </palletBom>
  59. <revolvingDiskBom
  60. v-if="
  61. objData.revolvingDiskList && objData.revolvingDiskList.length > 0
  62. "
  63. pattern="job"
  64. :revolvingDiskList="objData.revolvingDiskList"
  65. ></revolvingDiskBom>
  66. <semiProductJobBom
  67. v-if="
  68. objData.semiProductList &&
  69. (objData.semiProductList.length != 0) & (taskType != 6) &&
  70. objData.singleReport == 1
  71. "
  72. :list="objData.semiProductList"
  73. :item="objData"
  74. :isDetails="true"
  75. >
  76. </semiProductJobBom>
  77. <semiProductJobBomPL
  78. v-if="
  79. objData.semiProductList &&
  80. (objData.semiProductList.length != 0) & (taskType != 6) &&
  81. objData.singleReport == 0
  82. "
  83. :list="objData.semiProductList"
  84. :item="objData"
  85. :isDetails="true"
  86. >
  87. </semiProductJobBomPL>
  88. <oneJobQualityBom
  89. v-if="
  90. objData.semiProductList &&
  91. (objData.semiProductList.length != 0) & (taskType == 6)
  92. "
  93. :list="objData.semiProductList"
  94. :item="objData"
  95. :isDetails="true"
  96. ></oneJobQualityBom>
  97. <byProductBom
  98. v-if="
  99. objData.productRecycleList &&
  100. objData.productRecycleList.length != 0
  101. "
  102. :list="objData.productRecycleList"
  103. :isDetails="true"
  104. >
  105. </byProductBom>
  106. <turnoverBom
  107. v-if="objData.turnover && objData.turnover.length != 0"
  108. :list="objData.turnover"
  109. :wordItem="objData"
  110. pattern="job"
  111. :isDetails="true"
  112. >
  113. </turnoverBom>
  114. <aridRegion
  115. v-if="objData.aridRegionList && objData.aridRegionList.length != 0"
  116. :list="objData.aridRegionList"
  117. :remainingTime="0"
  118. :isType="true"
  119. ></aridRegion>
  120. <packingTgBom
  121. v-if="
  122. objData.packInfo &&
  123. objData.packInfo.pickOutInList &&
  124. objData.packInfo.pickOutInList != 0 &&
  125. taskType == 4 &&
  126. clientEnvironmentId == 3
  127. "
  128. :list="objData.packInfo.pickOutInList"
  129. :isWarehousing="true"
  130. :isDetails="true"
  131. :item="objData"
  132. ></packingTgBom>
  133. <!-- <packingBom
  134. v-if="objData.packInfo && clientEnvironmentId == 2"
  135. :packInfo="objData.packInfo"
  136. >
  137. </packingBom> -->
  138. </div>
  139. </div>
  140. </div>
  141. <div v-if="taskType == 5">
  142. <div class="card_box" v-for="(objData, index) in list" :key="index">
  143. <div class="rx-bc title_card">
  144. <div>{{ index + 1 }}</div>
  145. <div>报工时间: {{ objData.createTime }}</div>
  146. </div>
  147. <workOrderBom2
  148. :item="objData"
  149. v-if="objData"
  150. :isDetails="true"
  151. ></workOrderBom2>
  152. <!-- <detailsBom
  153. v-if="objData.detailList.length != 0"
  154. :detailList="objData.detailList"
  155. ></detailsBom> -->
  156. </div>
  157. </div>
  158. </div>
  159. </template>
  160. <script>
  161. import { listWorkReport, listApplystorage } from '@/api/produce/workOrder';
  162. import workOrderBom from '../feeding/components/workOrderBom.vue';
  163. import deviceBom from '../feeding/components/deviceBom.vue';
  164. import modelBom from '../feeding/components/modelBom.vue';
  165. import jobBom from '../jobBooking/components/jobBom.vue';
  166. import semiProductJobBom from '../jobBooking/components/semiProductJobBom.vue';
  167. import semiProductJobBomPL from '../jobBooking/components/semiProductJobBomPL.vue';
  168. import oneJobQualityBom from '../jobBooking/components/oneJobQualityBom.vue';
  169. import byProductBom from '../jobBooking/components/byProductBom';
  170. import turnoverBom from '../jobBooking/components/turnoverBom.vue';
  171. import aridRegion from '../feeding/components/aridRegion.vue';
  172. import paramBom from '../feeding/components/paramBom.vue';
  173. // import qualityStat from '../sample/components/qualityStat.vue';
  174. // import sampleBom from '../sample/components/sampleBom.vue';
  175. import palletBom from '../feeding/components/palletBom.vue';
  176. import revolvingDiskBom from '../feeding/components/revolvingDiskBom.vue';
  177. import packingTgBom from '../jobBooking/components/packingTgBom.vue';
  178. // import packingBom from '../jobBooking/components/packingBomDetails.vue';
  179. import workOrderBom2 from '../warehousing/components/workOrderBom.vue';
  180. export default {
  181. components: {
  182. workOrderBom,
  183. workOrderBom,
  184. deviceBom,
  185. modelBom,
  186. jobBom,
  187. semiProductJobBom,
  188. semiProductJobBomPL,
  189. oneJobQualityBom,
  190. byProductBom,
  191. turnoverBom,
  192. aridRegion,
  193. paramBom,
  194. // qualityStat,
  195. // sampleBom,
  196. palletBom,
  197. revolvingDiskBom,
  198. packingTgBom,
  199. // packingBom,
  200. // detailsBom,
  201. workOrderBom2
  202. },
  203. props: {
  204. routeObj: {
  205. type: Object,
  206. default() {
  207. return {};
  208. }
  209. },
  210. curTaskObj: {
  211. type: Object,
  212. default() {
  213. return () => {};
  214. }
  215. }
  216. },
  217. watch: {
  218. curTaskObj: {
  219. handler(obj) {
  220. if (obj) {
  221. this.taskType = obj.type;
  222. this.getList(obj.taskId);
  223. }
  224. },
  225. deep: true,
  226. immediate: true
  227. }
  228. },
  229. computed: {
  230. clientEnvironmentId() {
  231. return this.$store.state.user.info.clientEnvironmentId;
  232. }
  233. },
  234. data() {
  235. return {
  236. taskType: null,
  237. list: [],
  238. taskType: 1
  239. };
  240. },
  241. created() {},
  242. methods: {
  243. getList(taskId) {
  244. let param = {
  245. workOrderId: this.routeObj.id,
  246. taskId: taskId
  247. };
  248. console.log( this.taskType)
  249. let URL = this.taskType == 5 ? listApplystorage : listWorkReport;
  250. console.log(URL)
  251. URL(param).then((res) => {
  252. this.list = JSON.parse(JSON.stringify(res));
  253. });
  254. }
  255. }
  256. };
  257. </script>
  258. <style scoped lang="scss">
  259. .rx-bc {
  260. display: flex;
  261. align-items: center;
  262. justify-content: space-between;
  263. }
  264. .item_box {
  265. margin-top: 5px;
  266. margin-bottom: 6px;
  267. padding: 0 10px;
  268. .round {
  269. width: 20px;
  270. height: 20px;
  271. line-height: 20px;
  272. border-radius: 50%;
  273. background: #157a2c;
  274. color: #fff;
  275. text-align: center;
  276. font-size: 12px;
  277. }
  278. .time {
  279. color: #157a2c;
  280. font-family: PingFang HK;
  281. font-size: 14px;
  282. font-style: normal;
  283. font-weight: 500;
  284. margin-left: 8px;
  285. }
  286. }
  287. .title_card {
  288. height: 35px;
  289. width: 100%;
  290. background: #157A2C;
  291. font-size: 16px;
  292. color: #fff;
  293. line-height: 35px;
  294. padding: 0 20px;
  295. box-sizing: border-box;
  296. }
  297. </style>