detail.vue 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <template>
  2. <div class="ele-body">
  3. <el-card shadow="never">
  4. <div class="page-title">
  5. <el-page-header @back="$router.go(-1)" content="计划详情">
  6. </el-page-header>
  7. </div>
  8. <el-tabs v-model="activeName">
  9. <el-tab-pane label="计划信息" name="plan">
  10. <plan :infoData="infoData" />
  11. </el-tab-pane>
  12. <el-tab-pane label="物料信息表" name="material">
  13. <material
  14. :planId="infoData.productionPlan && infoData.productionPlan.id"
  15. />
  16. </el-tab-pane>
  17. <el-tab-pane label="生产详情表" name="productionDetail">
  18. <productionDetail
  19. :planId="infoData.productionPlan && infoData.productionPlan.id"
  20. />
  21. </el-tab-pane>
  22. <!-- <el-tab-pane label="生产信息" name="prod"> <prod /></el-tab-pane>
  23. <el-tab-pane label="甘特图" name="gant">
  24. <gant />
  25. </el-tab-pane> -->
  26. </el-tabs>
  27. </el-card>
  28. </div>
  29. </template>
  30. <script>
  31. import plan from './components/detail/plan.vue';
  32. import material from './components/detail/material.vue';
  33. import productionDetail from './components/detail/productionDetail.vue';
  34. // import prod from './components/detail/prod.vue';
  35. import { getProductPlanDetail } from '@/api/productionPlan/index';
  36. export default {
  37. components: { plan, material,productionDetail },
  38. data() {
  39. return {
  40. activeName: 'plan',
  41. infoData: {}
  42. };
  43. },
  44. created() {
  45. this.getDetail();
  46. },
  47. methods: {
  48. async getDetail() {
  49. const data = await getProductPlanDetail(this.$route.params.id);
  50. this.infoData = data;
  51. }
  52. }
  53. };
  54. </script>
  55. <style lang="scss" scoped>
  56. .pane-box {
  57. padding: 20px 0;
  58. }
  59. </style>