Project.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <script setup lang="ts">
  2. import { onMounted, ref } from "vue";
  3. import useProjectID from "@/composables/useProjectID";
  4. import { useRoute } from "vue-router";
  5. import breadcrumbStore from "@/store/modules/breadcrumb";
  6. const route = useRoute();
  7. const { shouldRender, projectID } = useProjectID();
  8. console.log("项目 ID", projectID.value);
  9. const { setBreadcrumb } = breadcrumbStore;
  10. setBreadcrumb([
  11. {
  12. label: "项目列表",
  13. path: "/project-list",
  14. },
  15. {
  16. label: "莲花路电力迁改项目",
  17. },
  18. ]);
  19. </script>
  20. <template>
  21. <article class="project-page" v-if="shouldRender">
  22. <header
  23. class="header"
  24. id="project-header"
  25. :class="{ 'short-header': route.fullPath.startsWith('/project/summary') }"
  26. >
  27. <h1 class="name">莲花路电力迁改项目</h1>
  28. <el-descriptions :column="4" size="mini">
  29. <el-descriptions-item label="申请单位:"
  30. >某某建筑公司</el-descriptions-item
  31. >
  32. <el-descriptions-item label="审批单位:"
  33. >某某审批单位</el-descriptions-item
  34. >
  35. <el-descriptions-item label="工程类型:">某某类型</el-descriptions-item>
  36. <el-descriptions-item label="项目编号:">100000</el-descriptions-item>
  37. <el-descriptions-item label="工程时间:"
  38. >2022-01-01 至 2023-12-31</el-descriptions-item
  39. >
  40. <el-descriptions-item label="状态:">
  41. <el-tag size="small">待审批</el-tag>
  42. </el-descriptions-item>
  43. <el-descriptions-item label="当前流程:">
  44. <el-tag size="small" type="success">某某步骤</el-tag>
  45. </el-descriptions-item>
  46. <el-descriptions-item label="工程地址:"
  47. >珠海市香洲区某某街道某某路100号</el-descriptions-item
  48. >
  49. </el-descriptions>
  50. <el-affix :offset="64">
  51. <ul class="nav">
  52. <router-link
  53. custom
  54. :to="`/project?projectID=${projectID}`"
  55. v-slot="{ navigate, isExactActive }"
  56. >
  57. <li
  58. class="item overview"
  59. @click="navigate"
  60. :class="{ 'exact-active': isExactActive }"
  61. >
  62. 项目概况
  63. </li>
  64. </router-link>
  65. <router-link
  66. custom
  67. :to="`/project/process?projectID=${projectID}`"
  68. v-slot="{ navigate, isExactActive }"
  69. >
  70. <li
  71. class="item process"
  72. @click="navigate"
  73. :class="{ 'exact-active': isExactActive }"
  74. >
  75. 项目流程
  76. </li>
  77. </router-link>
  78. <router-link
  79. custom
  80. :to="`/project/summary?projectID=${projectID}`"
  81. v-slot="{ navigate, isExactActive }"
  82. >
  83. <li
  84. class="item summary"
  85. @click="navigate"
  86. :class="{ 'exact-active': isExactActive }"
  87. >
  88. 项目流汇总
  89. </li>
  90. </router-link>
  91. <!-- <router-link
  92. custom
  93. :to="`/project/report?projectID=${projectID}`"
  94. v-slot="{ navigate, isExactActive }"
  95. >
  96. <li class="item report" @click="navigate" :class="{ 'exact-active': isExactActive }">报表</li>
  97. </router-link> -->
  98. </ul>
  99. </el-affix>
  100. </header>
  101. <main class="main">
  102. <router-view></router-view>
  103. </main>
  104. </article>
  105. </template>
  106. <style lang="scss" src="./style.scss" scoped></style>