书院官网
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

Home.vue 2.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <template>
  2. <div v-if="!loading">
  3. <div class="wrap-box">
  4. <Introduce :homeData="homeData"></Introduce>
  5. <IndustrialPark :projectItem="registrationPackage"></IndustrialPark>
  6. <IndustrialCluster :industrialAllocation="industrialAllocation"></IndustrialCluster>
  7. </div>
  8. <div class="wrap-box">
  9. <div class="title">政策优势</div>
  10. <Policy v-for="(item, index) in policy" :key="index" :policyItem="item"></Policy>
  11. <PicturePolicy
  12. :policySupportKeyIndustries="homeData.policySupportKeyIndustries"
  13. :domesticTalentIntroduction="homeData.domesticTalentIntroduction"
  14. ></PicturePolicy>
  15. <DetailPolicy
  16. v-for="(item, index) in detailPolicy"
  17. :key="index"
  18. :detailPolicyItem="item"
  19. ></DetailPolicy>
  20. <OtherPolicy></OtherPolicy>
  21. </div>
  22. </div>
  23. </template>
  24. <script setup>
  25. import Introduce from "./project/Introduce.vue";
  26. import IndustrialPark from "./project/IndustrialPark.vue";
  27. import IndustrialCluster from "./project/IndustrialCluster.vue";
  28. import Policy from "./policy/Policy.vue";
  29. import PicturePolicy from "./policy/PicturePolicy.vue";
  30. import DetailPolicy from "./policy/DetailPolicy.vue";
  31. import OtherPolicy from "./policy/OtherPolicy.vue";
  32. import { getHomeData } from "@/views/pc/home/home";
  33. import { onBeforeMount } from "vue";
  34. const {
  35. getAreaIndustrialAllocation,
  36. setDetailPolicy,
  37. setPolicy,
  38. updatePageView,
  39. getRegistrationPackage,
  40. } = getHomeData();
  41. let homeData = ref({});
  42. let industrialAllocation = ref([]);
  43. let policy = ref([]);
  44. let detailPolicy = ref([]);
  45. let registrationPackage = ref({});
  46. const loading = ref(true);
  47. import useHomeStore from "@/store/module/home";
  48. const homeStore = useHomeStore();
  49. onBeforeMount(async () => {
  50. loading.value = true;
  51. homeData.value = homeStore.homeData.value;
  52. policy = setPolicy(homeData.value);
  53. detailPolicy = setDetailPolicy(homeData.value);
  54. industrialAllocation.value = await getAreaIndustrialAllocation();
  55. registrationPackage.value = await getRegistrationPackage();
  56. loading.value = false;
  57. updatePageView(homeData.value.areaInfoManagementId);
  58. });
  59. </script>
  60. <style lang="scss" scoped>
  61. .wrap-box {
  62. padding: 10px 15px;
  63. background: #fff;
  64. @include border-box;
  65. }
  66. .title {
  67. @include font(16px, $color-black);
  68. font-weight: bold;
  69. margin-bottom: 10px;
  70. }
  71. </style>