plan.vue 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. <template>
  2. <div class="pane-box">
  3. <HeaderTitle title="计划基本信息"> </HeaderTitle>
  4. <el-descriptions :column="5" border>
  5. <el-descriptions-item label="计划单号">{{
  6. productionPlan.code
  7. }}</el-descriptions-item>
  8. <el-descriptions-item label="计划生产数量">{{
  9. productionPlan.productNum
  10. }}</el-descriptions-item>
  11. <!-- <el-descriptions-item label="已交货数量">已交货数量</el-descriptions-item>
  12. <el-descriptions-item label="未交货数量">未交货数量</el-descriptions-item> -->
  13. <el-descriptions-item label="计划创建人">{{
  14. productionPlan.createUserName
  15. }}</el-descriptions-item>
  16. <el-descriptions-item label="计划类型">{{
  17. ['', '内销计划', '外销计划', '预制计划'][productionPlan.planType]
  18. }}</el-descriptions-item>
  19. <el-descriptions-item label="计划生产重量">{{
  20. productionPlan.productNum &&
  21. productionPlan.productNum * productionPlan.productUnitWeight
  22. }}</el-descriptions-item>
  23. <!-- <el-descriptions-item label="已交货重量">已交货重量</el-descriptions-item>
  24. <el-descriptions-item label="未交货重量">未交货重量</el-descriptions-item> -->
  25. <el-descriptions-item label="计划创建时间">{{
  26. productionPlan.createTime
  27. }}</el-descriptions-item>
  28. <el-descriptions-item label="计划完成日期">{{
  29. productionPlan.planDeliveryTime
  30. }}</el-descriptions-item>
  31. <el-descriptions-item label="要求生产数量">{{
  32. productionPlan.requiredFormingNum
  33. }}</el-descriptions-item>
  34. <!-- <el-descriptions-item label="已成型数量">已成型数量</el-descriptions-item>
  35. <el-descriptions-item label="未成型数量">未成型数量</el-descriptions-item> -->
  36. <el-descriptions-item label="实际交货数量">
  37. {{ productionPlan.deliveryNum}}
  38. </el-descriptions-item>
  39. <el-descriptions-item label="实际完成时间">
  40. {{ productionPlan.completeTime}}
  41. </el-descriptions-item>
  42. <el-descriptions-item label="要求生产重量">{{
  43. productionPlan.requiredFormingWeight
  44. }}</el-descriptions-item>
  45. <!-- <el-descriptions-item label="已成型重量">{{
  46. productionPlan.code
  47. }}</el-descriptions-item>
  48. <el-descriptions-item label="未成型重量">{{
  49. productionPlan.code
  50. }}</el-descriptions-item> -->
  51. <el-descriptions-item label="使用改型">{{
  52. productionPlan.modification ? '是' : '否'
  53. }}</el-descriptions-item>
  54. <el-descriptions-item label="备注" :span="5">{{
  55. productionPlan.notes
  56. }}</el-descriptions-item>
  57. </el-descriptions>
  58. <HeaderTitle title="产品需求信息" class="mt-20"> </HeaderTitle>
  59. <el-descriptions :column="5" border>
  60. <el-descriptions-item label="物料编码">{{
  61. productRequirementInfo.productCode
  62. }}</el-descriptions-item>
  63. <el-descriptions-item label="牌号">{{
  64. productRequirementInfo.bandNo
  65. }}</el-descriptions-item>
  66. <!-- <el-descriptions-item label="型号">已交货数量</el-descriptions-item>
  67. <el-descriptions-item label="单重">未交货数量</el-descriptions-item> -->
  68. <el-descriptions-item label="重量单位">{{
  69. productRequirementInfo.unitWeight
  70. }}</el-descriptions-item>
  71. <el-descriptions-item label="计量单位">{{
  72. productRequirementInfo.unitMeasurement
  73. }}</el-descriptions-item>
  74. <el-descriptions-item label="产品层次4">{{
  75. productRequirementInfo.productLevel4
  76. }}</el-descriptions-item>
  77. <el-descriptions-item label="产品层次5">{{
  78. productRequirementInfo.productLevel5
  79. }}</el-descriptions-item>
  80. <!--
  81. <el-descriptions-item label="包装要求">未交货重量</el-descriptions-item> -->
  82. <el-descriptions-item label="物料描述" :span="3">{{
  83. productRequirementInfo.materialDesc
  84. }}</el-descriptions-item>
  85. <el-descriptions-item label="技术要求" :span="2">{{
  86. productRequirementInfo.technicalRequirement
  87. }}</el-descriptions-item>
  88. <el-descriptions-item label="印字要求" :span="2">{{
  89. productRequirementInfo.printingRequirements
  90. }}</el-descriptions-item>
  91. <!-- <el-descriptions-item label="质量要求" :span="2"
  92. >已成型数量</el-descriptions-item
  93. >
  94. <el-descriptions-item label="质量证书要求" :span="2"
  95. >未成型数量</el-descriptions-item
  96. > -->
  97. </el-descriptions>
  98. <HeaderTitle title="销售订单信息" class="mt-20"> </HeaderTitle>
  99. <ele-pro-table
  100. ref="table"
  101. :columns="columns"
  102. :datasource="infoData.salesOrderList"
  103. >
  104. <template v-slot:number="{ row }">
  105. <div class="progress-box">
  106. <div class="gress">
  107. <el-progress
  108. :percentage="
  109. +(((row.deliveryNum || 0) / row.contractNum) * 100).toFixed(2)
  110. "
  111. color="red"
  112. :show-text="false"
  113. text-color="#000"
  114. :stroke-width="16"
  115. ></el-progress
  116. ></div>
  117. <div :span="6">{{
  118. `${row.deliveryNum || 0}/ ${row.contractNum}`
  119. }}</div>
  120. </div>
  121. </template>
  122. </ele-pro-table>
  123. </div>
  124. </template>
  125. <script>
  126. export default {
  127. props: {
  128. infoData: {
  129. type: Object,
  130. default: () => ({})
  131. }
  132. },
  133. computed: {
  134. productionPlan () {
  135. return this.infoData.productionPlan || {};
  136. },
  137. productRequirementInfo () {
  138. return this.infoData.productRequirementInfo || {};
  139. }
  140. },
  141. data () {
  142. return {
  143. columns: [
  144. {
  145. prop: 'code',
  146. label: '销售订单',
  147. minWidth: 110
  148. },
  149. {
  150. prop: 'lineNumber',
  151. label: '行号'
  152. },
  153. {
  154. prop: 'contractNum',
  155. label: '合同数量'
  156. },
  157. {
  158. prop: 'productSumWeight',
  159. label: '合同重量'
  160. },
  161. {
  162. prop: 'orderLibraryType',
  163. label: '按单按库',
  164. formatter: (row) => ['', '按单', '按库'][row.orderLibraryType]
  165. },
  166. {
  167. prop: 'deliveryRequirements',
  168. label: '交付要求',
  169. formatter: (row) =>
  170. ['', '普通', '紧急', '重要'][row.deliveryRequirements]
  171. },
  172. {
  173. prop: 'orderType',
  174. label: '订单类型',
  175. formatter: (row) =>
  176. ['', '内销订单', '外销订单', '预制订单'][row.orderType]
  177. },
  178. {
  179. prop: 'releaseTime',
  180. label: '下达时间'
  181. },
  182. {
  183. prop: 'deliveryTime',
  184. label: '交付日期'
  185. },
  186. // {
  187. // action: 'number',
  188. // slot: 'number',
  189. // prop: 'number',
  190. // label: '已交付数量',
  191. // width: 280
  192. // },
  193. {
  194. prop: 'customerName',
  195. label: '客户名称'
  196. }
  197. ]
  198. };
  199. }
  200. };
  201. </script>
  202. <style lang="scss" scoped>
  203. .mt-20 {
  204. margin-top: 20px;
  205. }
  206. .progress-box {
  207. display: flex;
  208. justify-content: space-between;
  209. align-items: center;
  210. .gress {
  211. flex: 1;
  212. margin-right: 10px;
  213. }
  214. }
  215. </style>