press.vue 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344
  1. <template>
  2. <main>
  3. <TopVisual :className="className" :title="title" :navigation="navigation" />
  4. <section class="press--section">
  5. <div class="sub--container type2">
  6. <div class="title--wrap">
  7. <h2 class="title">
  8. 그린웨일글로벌의 <br />
  9. <strong>새로운 소식들을 전해드립니다.</strong>
  10. </h2>
  11. </div>
  12. <div class="sns--wrap">
  13. <h3>SNS</h3>
  14. <div class="sns--list">
  15. <NuxtLink class="sns" to="/">
  16. <div
  17. class="img--wrap"
  18. style="background-image: url('/img/img--sns1.png')"
  19. ></div>
  20. <div class="txt--wrap">
  21. <h4>
  22. 그린웨일글로벌, 녹색인프라 수출펀드 첫 투자기업 선정. 그린웨일글로벌
  23. </h4>
  24. <span>바로가기<i class="ico"></i></span>
  25. </div>
  26. </NuxtLink>
  27. <NuxtLink class="sns" to="/">
  28. <div
  29. class="img--wrap"
  30. style="background-image: url('/img/img--sns2.png')"
  31. ></div>
  32. <div class="txt--wrap">
  33. <h4>
  34. 그린웨일글로벌, 녹색인프라 수출펀드 첫 투자기업 선정. 그린웨일글로벌
  35. </h4>
  36. <span>바로가기<i class="ico"></i></span>
  37. </div>
  38. </NuxtLink>
  39. <NuxtLink class="sns" to="/">
  40. <div
  41. class="img--wrap"
  42. style="background-image: url('/img/img--sns3.png')"
  43. ></div>
  44. <div class="txt--wrap">
  45. <h4>
  46. 그린웨일글로벌, 녹색인프라 수출펀드 첫 투자기업 선정. 그린웨일글로벌
  47. </h4>
  48. <span>바로가기<i class="ico"></i></span>
  49. </div>
  50. </NuxtLink>
  51. <NuxtLink class="sns" to="/">
  52. <div
  53. class="img--wrap"
  54. style="background-image: url('/img/img--sns4.png')"
  55. ></div>
  56. <div class="txt--wrap">
  57. <h4>
  58. 그린웨일글로벌, 녹색인프라 수출펀드 첫 투자기업 선정. 그린웨일글로벌
  59. </h4>
  60. <span>바로가기<i class="ico"></i></span>
  61. </div>
  62. </NuxtLink>
  63. </div>
  64. </div>
  65. <div class="news--wrap">
  66. <h3>기사</h3>
  67. <div class="news--list">
  68. <NuxtLink
  69. v-for="news in paginatedNews"
  70. :key="news.id"
  71. :to="news.link"
  72. class="news"
  73. >
  74. <div class="news--title--wrap">
  75. <h4>{{ news.title }}</h4>
  76. <span>{{ news.date }}</span>
  77. </div>
  78. <div class="news--thumb--wrap">
  79. <img :src="news.image" alt="" />
  80. </div>
  81. </NuxtLink>
  82. </div>
  83. <div class="pagination--wrap">
  84. <UButton
  85. @click="prevPage"
  86. class="prev--btn"
  87. :disabled="currentPage === 1"
  88. ></UButton>
  89. <div class="numbs">
  90. <UButton
  91. v-for="page in totalPages"
  92. :key="page"
  93. @click="goToPage(page)"
  94. :class="{ active: currentPage === page }"
  95. >
  96. {{ page }}
  97. </UButton>
  98. </div>
  99. <UButton
  100. @click="nextPage"
  101. class="next--btn"
  102. :disabled="currentPage === totalPages"
  103. ></UButton>
  104. </div>
  105. </div>
  106. </div>
  107. </section>
  108. </main>
  109. </template>
  110. <script setup>
  111. import TopVisual from "~/components/topVisual.vue";
  112. const className = ref("media");
  113. const title = ref("Media");
  114. const navigation = ref([
  115. {
  116. name: "Media",
  117. link: "/media/press",
  118. gnbList: [
  119. { name: "Company", link: "/company/intro" },
  120. { name: "Product", link: "/products/materials" },
  121. { name: "Technology", link: "/technology/facilities" },
  122. { name: "Media", link: "/media/news" },
  123. { name: "Contact", link: "/contact/notice" },
  124. ],
  125. },
  126. {
  127. name: "보도자료",
  128. link: "/media/press",
  129. gnbList: [
  130. { name: "환경뉴스", link: "/media/news" },
  131. { name: "보도자료", link: "/media/press" },
  132. ],
  133. },
  134. ]);
  135. // 뉴스 데이터 배열 생성
  136. const newsData = ref([
  137. {
  138. id: 1,
  139. title: "그린플라스틱연합, ESG친환경대전서 '자원순환 탄소중립 GPA 컨퍼런스' 개최",
  140. date: "2025.07.11",
  141. image: "/img/img--news.png",
  142. link: "/",
  143. },
  144. {
  145. id: 2,
  146. title: "친환경 플라스틱 기술 개발 동향",
  147. date: "2025.07.10",
  148. image: "/img/img--cycle--center.png",
  149. link: "/",
  150. },
  151. {
  152. id: 3,
  153. title: "탄소중립 실현을 위한 플라스틱 재활용 기술",
  154. date: "2025.07.09",
  155. image: "/img/img--cycle--center.png",
  156. link: "/",
  157. },
  158. {
  159. id: 4,
  160. title: "바이오플라스틱 시장 전망과 기술 동향",
  161. date: "2025.07.08",
  162. image: "/img/img--cycle--center.png",
  163. link: "/",
  164. },
  165. {
  166. id: 5,
  167. title: "플라스틱 감축을 위한 정부 정책 변화",
  168. date: "2025.07.07",
  169. image: "/img/img--cycle--center.png",
  170. link: "/",
  171. },
  172. {
  173. id: 6,
  174. title: "순환경제와 플라스틱 재활용 산업",
  175. date: "2025.07.06",
  176. image: "/img/img--cycle--center.png",
  177. link: "/",
  178. },
  179. {
  180. id: 7,
  181. title: "해양 플라스틱 오염 해결을 위한 혁신 기술",
  182. date: "2025.07.05",
  183. image: "/img/img--cycle--center.png",
  184. link: "/",
  185. },
  186. {
  187. id: 8,
  188. title: "친환경 포장재 개발 현황",
  189. date: "2025.07.04",
  190. image: "/img/img--cycle--center.png",
  191. link: "/",
  192. },
  193. {
  194. id: 9,
  195. title: "플라스틱 대체재 소재 연구 동향",
  196. date: "2025.07.03",
  197. image: "/img/img--cycle--center.png",
  198. link: "/",
  199. },
  200. {
  201. id: 10,
  202. title: "ESG 경영과 플라스틱 감축 전략",
  203. date: "2025.07.02",
  204. image: "/img/img--cycle--center.png",
  205. link: "/",
  206. },
  207. {
  208. id: 11,
  209. title: "글로벌 플라스틱 규제 동향",
  210. date: "2025.07.01",
  211. image: "/img/img--cycle--center.png",
  212. link: "/",
  213. },
  214. {
  215. id: 12,
  216. title: "생분해성 플라스틱 상용화 전망",
  217. date: "2025.06.30",
  218. image: "/img/img--cycle--center.png",
  219. link: "/",
  220. },
  221. {
  222. id: 13,
  223. title: "플라스틱 없는 일주일 캠페인",
  224. date: "2025.06.29",
  225. image: "/img/img--cycle--center.png",
  226. link: "/",
  227. },
  228. {
  229. id: 14,
  230. title: "재활용 플라스틱 품질 향상 기술",
  231. date: "2025.06.28",
  232. image: "/img/img--cycle--center.png",
  233. link: "/",
  234. },
  235. {
  236. id: 15,
  237. title: "플라스틱 순환경제 구축 방안",
  238. date: "2025.06.27",
  239. image: "/img/img--cycle--center.png",
  240. link: "/",
  241. },
  242. {
  243. id: 16,
  244. title: "친환경 소재 개발 투자 확대",
  245. date: "2025.06.26",
  246. image: "/img/img--cycle--center.png",
  247. link: "/",
  248. },
  249. {
  250. id: 17,
  251. title: "마이크로플라스틱 저감 기술",
  252. date: "2025.06.25",
  253. image: "/img/img--cycle--center.png",
  254. link: "/",
  255. },
  256. {
  257. id: 18,
  258. title: "플라스틱 재활용률 제고 방안",
  259. date: "2025.06.24",
  260. image: "/img/img--cycle--center.png",
  261. link: "/",
  262. },
  263. {
  264. id: 19,
  265. title: "바이오매스 기반 플라스틱 개발",
  266. date: "2025.06.23",
  267. image: "/img/img--cycle--center.png",
  268. link: "/",
  269. },
  270. {
  271. id: 20,
  272. title: "환경친화적 플라스틱 산업 전망",
  273. date: "2025.06.22",
  274. image: "/img/img--cycle--center.png",
  275. link: "/",
  276. },
  277. {
  278. id: 21,
  279. title: "플라스틱 폐기물 감축 정책",
  280. date: "2025.06.21",
  281. image: "/img/img--cycle--center.png",
  282. link: "/",
  283. },
  284. {
  285. id: 22,
  286. title: "지속가능한 포장재 솔루션",
  287. date: "2025.06.20",
  288. image: "/img/img--cycle--center.png",
  289. link: "/",
  290. },
  291. {
  292. id: 23,
  293. title: "플라스틱 리사이클링 혁신 기술",
  294. date: "2025.06.19",
  295. image: "/img/img--cycle--center.png",
  296. link: "/",
  297. },
  298. {
  299. id: 24,
  300. title: "친환경 플라스틱 인증 시스템",
  301. date: "2025.06.18",
  302. image: "/img/img--cycle--center.png",
  303. link: "/",
  304. },
  305. {
  306. id: 25,
  307. title: "탄소 발자국 감축을 위한 플라스틱 대안",
  308. date: "2025.06.17",
  309. image: "/img/img--cycle--center.png",
  310. link: "/",
  311. },
  312. ]);
  313. // 페이지네이션 로직
  314. const currentPage = ref(1);
  315. const itemsPerPage = 10;
  316. const totalPages = computed(() => Math.ceil(newsData.value.length / itemsPerPage));
  317. const paginatedNews = computed(() => {
  318. const start = (currentPage.value - 1) * itemsPerPage;
  319. const end = start + itemsPerPage;
  320. return newsData.value.slice(start, end);
  321. });
  322. const goToPage = (page) => {
  323. if (page >= 1 && page <= totalPages.value) {
  324. currentPage.value = page;
  325. }
  326. };
  327. const nextPage = () => {
  328. if (currentPage.value < totalPages.value) {
  329. currentPage.value++;
  330. }
  331. };
  332. const prevPage = () => {
  333. if (currentPage.value > 1) {
  334. currentPage.value--;
  335. }
  336. };
  337. </script>