Future.vue 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. <script setup>
  2. import { ref, reactive } from "vue";
  3. import { useMainStore } from "@/stores/store";
  4. import { useI18n } from "vue-i18n";
  5. import axios from "axios";
  6. const { t } = useI18n();
  7. const store = useMainStore();
  8. const breadcrumbs = reactive([
  9. {
  10. title: "home.title",
  11. disabled: false,
  12. href: "/",
  13. },
  14. {
  15. title: "navbar.craft_groups",
  16. disabled: true,
  17. },
  18. {
  19. title: "college_group_1",
  20. disabled: true,
  21. },
  22. ]);
  23. let read = reactive({
  24. list: [],
  25. });
  26. // 線上閱讀
  27. (async () => {
  28. try {
  29. const response = await axios.get(
  30. `${store.apiUrl}/api/get_article?category=研究計畫`
  31. );
  32. read.list = response.data.articles;
  33. console.log("線上閱讀", read.list);
  34. } catch (error) {
  35. console.error(error);
  36. }
  37. })();
  38. </script>
  39. <template>
  40. <v-breadcrumbs :items="breadcrumbs" divider="/" class="mt-10 p-0">
  41. <template v-slot:title="{ item }">
  42. {{ t(item.title) }}
  43. </template>
  44. </v-breadcrumbs>
  45. <h2 class="mb-0 title">{{ t("research_and_development_subsidy") }}</h2>
  46. <v-container class="pa-0 pa-sm-3">
  47. <div class="content">
  48. <img
  49. src="@/assets/img/college-group/future/素材-07.png"
  50. alt="臺灣工藝學習平台"
  51. />
  52. <section>
  53. <h3 class="mb-10">工藝跨域研創補助計畫【徵件至9月28日止】</h3>
  54. <span class="d-flex align-center mb-2">
  55. <v-icon color="gray" icon="mdi-calendar-range" class="me-2"></v-icon>
  56. 2023/05/18 09:00 ~ 2023/09/28 17:00
  57. </span>
  58. <span class="d-flex align-center">
  59. <v-icon color="gray" icon="mdi-map-marker" class="me-2"></v-icon>
  60. 臺灣工藝學習平台
  61. </span>
  62. <p class="mt-8">
  63. 臺灣工藝學習平台為實踐從總體經濟觀上思考整體工藝文化產業價值,及厚實臺灣工藝產業未來發展之國際文化競爭力,徵求類型含物件型研創、新材料研創、技術性研創、社會與環境議題研創等,申請團隊可提出相關實績說明或規畫構想,最高獲得
  64. #新臺幣50萬元
  65. 補助,歡迎國內相關機構、產業、公司等法人或團體以及個人創作者等單位踴躍提案申請!
  66. </p>
  67. </section>
  68. <section>
  69. <p class="sub-title mb-5">附件下載</p>
  70. <ul>
  71. <li class="dot">
  72. <span class="dot"></span>
  73. <a href="">工藝跨域研創補助須知.pdf</a>
  74. </li>
  75. <li class="dot py-2 py-sm-0">
  76. <a href="">工藝跨域研創補助計畫申請書.docx</a>
  77. </li>
  78. <li class="dot">
  79. <a href="">工藝跨域研創補助計畫申請書.odt</a>
  80. </li>
  81. </ul>
  82. </section>
  83. <p class="text-end mt-5">
  84. 聯絡資訊 : 049-2334141 分機134 王小姐、分機136 張小姐
  85. </p>
  86. <img
  87. class="mt-16"
  88. src="@/assets/img/college-group/future/素材-08.png"
  89. alt="臺灣工藝學習平台"
  90. />
  91. </div>
  92. </v-container>
  93. <h2 class="title">{{ t("research_plan") }}</h2>
  94. <v-container class="book-block">
  95. <v-row
  96. v-for="(item, index) in read.list"
  97. :key="index"
  98. class="align-center mb-16"
  99. >
  100. <v-col cols="12" md="4" class="d-flex flex-column align-center">
  101. <a
  102. v-if="store.isMobile"
  103. :href="store.getPDF(item.fileName)"
  104. target="_blank"
  105. class="cover-img"
  106. >
  107. <img
  108. :src="`${store.imgUrl}/${item.cover_img}`"
  109. alt="臺灣工藝學習平台"
  110. />
  111. <button class="read-btn">點我閱讀</button>
  112. </a>
  113. <!-- <router-link v-else :to="`/crafts/${item.fileName}`" class="cover-img"> -->
  114. <router-link
  115. v-else
  116. :to="`/college-group/future/proposal/${item.article_id}`"
  117. class="cover-img"
  118. >
  119. <img
  120. :src="`${store.imgUrl}/${item.cover_img}`"
  121. alt="臺灣工藝學習平台"
  122. />
  123. <button class="read-btn">點我閱讀</button>
  124. </router-link>
  125. <h3 v-html="item.title"></h3>
  126. </v-col>
  127. <v-col cols="12" md="8" class="px-md-16 pb-md-16 mb-md-10">
  128. <p class="mt-10 content" v-html="item.depiction"></p>
  129. </v-col>
  130. </v-row>
  131. </v-container>
  132. <!-- <div>
  133. <h2 class="title">國際工藝村</h2>
  134. <p class="cooming-soon">「籌備中 cooming soon」</p>
  135. </div>
  136. <div>
  137. <h2 class="title">青年工藝</h2>
  138. <p class="cooming-soon">「籌備中 cooming soon」</p>
  139. </div> -->
  140. <!-- <button class="sloped-btn">點我閱讀</button> -->
  141. </template>
  142. <style lang="scss" scoped>
  143. .content {
  144. margin: auto;
  145. max-width: 50em;
  146. letter-spacing: 0.0625em;
  147. p {
  148. line-height: 1.75em;
  149. }
  150. section {
  151. padding: 3.125em;
  152. margin-top: 1.25em;
  153. border: 0.0625em solid #ccc;
  154. border-radius: 0.3125em;
  155. @media (max-width: 600px) {
  156. padding: 1.5em;
  157. }
  158. h3 {
  159. font-weight: 500;
  160. font-size: 1.75em;
  161. line-height: 2.25em;
  162. @media (max-width: 600px) {
  163. font-size: 1.375em;
  164. }
  165. }
  166. a,
  167. span {
  168. line-height: 1.375em;
  169. }
  170. .sub-title {
  171. font-size: 1.125em;
  172. }
  173. li {
  174. display: flex;
  175. align-items: center;
  176. &::before {
  177. content: "•";
  178. font-size: 2em;
  179. color: #bca2b5;
  180. display: inline-block;
  181. }
  182. }
  183. }
  184. }
  185. .book-block {
  186. line-height: 1.875em;
  187. letter-spacing: 0.0625em;
  188. @media (max-width: 600px) {
  189. padding: 0 !important;
  190. }
  191. h3 {
  192. text-align: center;
  193. font-weight: 500;
  194. }
  195. h4 {
  196. font-size: 1.125em;
  197. font-weight: 400;
  198. }
  199. .cover-img {
  200. position: relative;
  201. cursor: pointer;
  202. img {
  203. @media (max-width: 960px) {
  204. max-height: 31.25em;
  205. }
  206. }
  207. &:hover {
  208. .read-btn {
  209. background-color: #99b1bb;
  210. }
  211. }
  212. .read-btn {
  213. padding: 0.5em 3.125em;
  214. position: absolute;
  215. right: -3.125em;
  216. bottom: 2.8125em;
  217. font-size: 1.125em;
  218. letter-spacing: 0.125em;
  219. text-shadow: 0.0625em 0.0625em 0.1875em #939393;
  220. background-color: #a7c2cd;
  221. color: white;
  222. cursor: pointer;
  223. clip-path: polygon(20% 0%, 100% 0%, 80% 100%, 0% 100%);
  224. transition: all 0.3s;
  225. &:hover {
  226. background-color: #99b1bb;
  227. }
  228. @media (max-width: 600px) {
  229. padding: 0.5em 2.1875em;
  230. right: -0.9375em;
  231. font-size: 1em;
  232. }
  233. }
  234. }
  235. .content {
  236. // 超過兩行則省略
  237. overflow: hidden;
  238. text-overflow: ellipsis;
  239. display: -webkit-box;
  240. -webkit-line-clamp: 5;
  241. -webkit-box-orient: vertical;
  242. line-break: after-white-space;
  243. }
  244. }
  245. </style>