index.vue 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. <template>
  2. <main>
  3. <MainVisual />
  4. <section class="main--content--wrap">
  5. <div class="main--container">
  6. <div class="title--wrap mb-[40px]">
  7. <h3 class="green--title">Brand Story</h3>
  8. <p class="sub--title">연간 4억톤 이상 폐기물이 버려져<br> 우리의 지구 환경에 많은 악영향을 주고 있습니다.</p>
  9. <h2>그린웨일글로벌은 자연물질을 <br class="mobile">플라스틱으로 생성하여 <br>환경오염을 방지하는 신개념 <br class="mobile">친환경 미래를 만들어 갈 것입니다.</h2>
  10. </div>
  11. <div class="content--wrap">
  12. <div class="img--card--wrap">
  13. <div class="card"><img src="/img/main--card1.png" alt="그린웨일글로벌"></div>
  14. <div class="card"><img src="/img/main--card2.png" alt="그린웨일글로벌"></div>
  15. <div class="card"><img src="/img/main--card3.png" alt="그린웨일글로벌"></div>
  16. </div>
  17. <div class="black--btn--wrap">
  18. <NuxtLink class="black--btn" to="/company/intro">더보기<i class="ico"></i></NuxtLink>
  19. </div>
  20. </div>
  21. </div>
  22. </section>
  23. <section class="main--content--wrap bg--type white--txt">
  24. <div class="main--container">
  25. <div class="title--wrap mb-[40px]">
  26. <h3 class="green--title">Technology</h3>
  27. <h2>그린웨일글로벌은 <br />자연에서 얻은 바이오매스를 <br class="mobile" />독자적 기술로 친환경 소재로 바꾸어, <br />생분해성·재활용·바이오 플라스틱을 통해 <br />지구를 지키는 미래를 만들어갑니다.</h2>
  28. </div>
  29. <div class="content--wrap">
  30. <div class="square--card--wrap">
  31. <dl class="card">
  32. <dt>Ecoist®-Terra</dt>
  33. <dd>자연으로 돌아가는 플라스틱</dd>
  34. </dl>
  35. <dl class="card">
  36. <dt>Ecoist®-Revo</dt>
  37. <dd>되살아나는 플라스틱</dd>
  38. </dl>
  39. <dl class="card">
  40. <dt>Ecoist®-Nova</dt>
  41. <dd>새로운 세대의 바이오 폴리머</dd>
  42. </dl>
  43. <dl class="card">
  44. <dt>Ecoist®-Boost</dt>
  45. <dd>강화 & 성능 향상</dd>
  46. </dl>
  47. <dl class="card">
  48. <dt>Halastic®</dt>
  49. <dd>세계 최초 할랄 인증 친환경 바이오플라스틱</dd>
  50. </dl>
  51. </div>
  52. <div class="black--btn--wrap">
  53. <NuxtLink class="black--btn blur--type" to="/technology/facilities">더보기<i class="ico"></i></NuxtLink>
  54. </div>
  55. </div>
  56. </div>
  57. </section>
  58. <section class="main--content--wrap black--type white--txt">
  59. <div class="main--container">
  60. <div class="title--wrap mb-[60px]">
  61. <h3 class="green--title">The Numbers</h3>
  62. <h2>전세계가 한마음으로 <br />친환경 미래를 위해 노력하고 있습니다.</h2>
  63. </div>
  64. <div class="content--wrap">
  65. <div class="number--card--wrap">
  66. <div class="card">
  67. <i class="ico"></i>
  68. <div class="card--title">
  69. <p class="circle">플라스틱 감축</p>
  70. <div class="number--wrap">
  71. <span class="number">-80</span>
  72. <span class="percent">%</span>
  73. </div>
  74. <p class="sub--txt">Plastic pollution reduced <br />by 2040 <br />(UNEP)</p>
  75. </div>
  76. <ul class="card--desc">
  77. <li>
  78. <span class="nation">KR</span>
  79. <p class="txt">
  80. <strong>-50%</strong> <span>Plastic Usage by 2030</span>
  81. </p>
  82. </li>
  83. <li>
  84. <span class="nation">EU</span>
  85. <p class="txt">
  86. <strong>100%</strong> <span>recycled plastic packaging by 2030</span><br />
  87. <strong>100%</strong> <span>recycled plastic packaging by 2030</span>
  88. </p>
  89. </li>
  90. <li>
  91. <span class="nation">US</span>
  92. <p class="txt">
  93. <strong>-25%</strong> <span>Single Use Plastic Packaging by 2032</span>
  94. </p>
  95. </li>
  96. </ul>
  97. </div>
  98. <div class="card">
  99. <i class="ico"></i>
  100. <div class="card--title">
  101. <p class="circle">온실가스 감축</p>
  102. <div class="number--wrap">
  103. <span class="number">-100</span>
  104. <span class="percent">%</span>
  105. </div>
  106. <p class="sub--txt">GHG emissions by 2050 <br />compared to 2010 levels <br />(UN IPCC report)</p>
  107. </div>
  108. <ul class="card--desc">
  109. <li>
  110. <span class="nation">KR</span>
  111. <p class="txt">
  112. <strong>-40%</strong> <span>by 2030 (vs. 2018)</span> <strong>-100%</strong> <span>by 2050</span>
  113. </p>
  114. </li>
  115. <li>
  116. <span class="nation">EU</span>
  117. <p class="txt">
  118. <strong>-55%</strong> <span>by 2030 (vs. 1990)</span> <strong>-100%</strong> <span>by 2050</span>
  119. </p>
  120. </li>
  121. <li>
  122. <span class="nation">US</span>
  123. <p class="txt">
  124. <strong>-48%</strong> <span>by 2030 (vs. 1990)</span> <strong>-100%</strong> <span>by 2045</span>
  125. </p>
  126. </li>
  127. </ul>
  128. </div>
  129. <div class="card">
  130. <i class="ico"></i>
  131. <div class="card--title">
  132. <p class="circle">재활용 촉진</p>
  133. <div class="number--wrap">
  134. <span class="number">42</span>
  135. <span class="percent">%</span>
  136. </div>
  137. <p class="sub--txt">Recycled possibly <br />by 2040 <br />(OECD scenario)</p>
  138. </div>
  139. <ul class="card--desc">
  140. <li>
  141. <span class="nation">KR</span>
  142. <p class="txt">
  143. <strong>70%</strong> <span>by 2030</span>
  144. </p>
  145. </li>
  146. <li>
  147. <span class="nation">EU</span>
  148. <p class="txt">
  149. <strong>77%</strong> <span>bottles collected by 2025,</span> <strong>90%</strong> <span>by 2029 Bottles with</span> <strong>25%</strong> <span>recycled plastic by 2025, </span><strong>30%</strong> <span>by 2030</span>
  150. </p>
  151. </li>
  152. <li>
  153. <span class="nation">US</span>
  154. <p class="txt">
  155. <strong>65%</strong> <span>single use plastic recycled by 2032</span><br />
  156. <span>All packaging</span> <strong>100%</strong> <span>recycled or compostable</span>
  157. </p>
  158. </li>
  159. </ul>
  160. </div>
  161. </div>
  162. </div>
  163. </div>
  164. </section>
  165. <ItemSlide />
  166. <MarqueeContent />
  167. <section class="main--content--wrap">
  168. <div class="main--container">
  169. <div class="title--wrap mb-[40px]">
  170. <h3 class="green--title">News</h3>
  171. <h2>그린웨일글로벌과 관련한 <br />최신 소식을 확인하세요.</h2>
  172. </div>
  173. <div class="content--wrap">
  174. <div class="news--card--wrap">
  175. <a
  176. v-for="news in displayNews"
  177. :key="news.id"
  178. :href="news.link"
  179. target="_blank"
  180. rel="noopener noreferrer"
  181. class="news"
  182. >
  183. <h4 class="news--title">{{ news.title }}</h4>
  184. <!-- <p class="news--cont">뉴스 내용이 없어서 주석 처리</p> -->
  185. <span class="news--date">{{ news.date }}</span>
  186. </a>
  187. </div>
  188. <div class="black--btn--wrap">
  189. <NuxtLink class="black--btn" to="/media/news">더보기<i class="ico"></i></NuxtLink>
  190. </div>
  191. </div>
  192. </div>
  193. </section>
  194. </main>
  195. </template>
  196. <script setup>
  197. import { ref, computed, onMounted } from "vue";
  198. const newsData = ref([]);
  199. // API에서 뉴스 데이터 가져오기 (최신 3개만)
  200. const fetchNewsList = async () => {
  201. try {
  202. const response = await $postForm(`/board_list/media`, {
  203. boardId: 'news',
  204. page: 1,
  205. searchKind: "",
  206. searchKeyword: "",
  207. });
  208. if (response && response.success && response.list) {
  209. const newData = response.list.slice(0, 3).map((item, index) => {
  210. return {
  211. id: index + 1,
  212. title: item.title,
  213. date: item.regdate,
  214. link: item.etc1 || "#", // etc1 필드에 외부 링크 저장
  215. };
  216. });
  217. newsData.value = newData;
  218. } else {
  219. console.error("뉴스 데이터 로드 실패");
  220. }
  221. } catch (error) {
  222. console.error("뉴스 데이터 로드 중 오류:", error);
  223. }
  224. };
  225. // 표시할 뉴스 데이터 (최대 3개)
  226. const displayNews = computed(() => {
  227. return newsData.value.length > 0 ? newsData.value : [
  228. {
  229. id: 1,
  230. title: "뉴스 데이터를 불러오는 중입니다...",
  231. date: "2025.01.01",
  232. link: "#"
  233. }
  234. ];
  235. });
  236. // 컴포넌트 마운트 시 데이터 로드
  237. onMounted(() => {
  238. fetchNewsList();
  239. });
  240. </script>