index.vue 29 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027
  1. <template>
  2. <div class="home">
  3. <div class="home_t">
  4. <n-carousel :autoplay="true" :interval="3000">
  5. <template v-for="item in carouselList" :key="item">
  6. <n-carousel-item>
  7. <div class="img">
  8. <img class="carousel-img" :src="BaseUrl+'/carousel/'+item.name" />
  9. </div>
  10. <div class="desc">
  11. <div class="desc_title">{{item.title }}</div>
  12. <div class="desc_tig">{{ item.desc }}</div>
  13. <div class="desc_btn">Know More</div>
  14. </div>
  15. </n-carousel-item>
  16. </template>
  17. </n-carousel>
  18. </div>
  19. <div class="numList">
  20. <div class="item ">
  21. <span class="iconfont icon-analytics"></span>
  22. <div class="item_t">
  23. <n-number-animation ref="numberAnimationInstRef" :from="0" :to="15" />
  24. Years+
  25. </div>
  26. <div class="item_b">Segmented Industry Research Experience</div>
  27. </div>
  28. <div class="item ">
  29. <img class="item_img" src="/assets/images/img9.png" alt="">
  30. <div class="item_t">
  31. <n-number-animation ref="numberAnimationInstRef" :from="0" :to="20000" />
  32. +
  33. </div>
  34. <div class="item_b">Segmented Product Report Covering the Entire Industry</div>
  35. </div>
  36. <div class="item ">
  37. <span class="iconfont icon-yinhuanzhili-qiyezichayinhuan"></span>
  38. <div class="item_t">
  39. <n-number-animation ref="numberAnimationInstRef" :from="0" :to="10000" />
  40. +
  41. </div>
  42. <div class="item_b">Segmented Product Reports Covering the Entire Industry</div>
  43. </div>
  44. <div class="item ">
  45. <span class="iconfont icon-dinghuoshujufenxi"></span>
  46. <div class="item_t">
  47. <n-number-animation ref="numberAnimationInstRef" :from="0" :to="12000" />
  48. K+
  49. </div>
  50. <div class="item_b">Data Point Information</div>
  51. </div>
  52. <div class="item ">
  53. <span class="iconfont icon-dinghuoshujufenxi"></span>
  54. <div class="item_t">
  55. <n-number-animation ref="numberAnimationInstRef" :from="0" :to="12000" />
  56. K+
  57. </div>
  58. <div class="item_b">Data Point Information</div>
  59. </div>
  60. </div>
  61. <div class="marketBox">
  62. <div class="marketBox_title">Market Express</div>
  63. <n-carousel :autoplay="true" :interval="3000">
  64. <template v-for="item in carouselList" :key="item">
  65. <n-carousel-item>
  66. <div class="img">
  67. <img class="carousel-img" :src="BaseUrl+'/carousel/'+item.name" />
  68. <div class="desc">
  69. <div class="desc_title">The Global Electronically Commutated Motor (ECM) Market is Expected to Reach 18.18 US$ billion by 2030</div>
  70. <div class="desc_btn">View details</div>
  71. </div>
  72. <view class="direction carousel_l">
  73. <span class="iconfont icon-dkw_guanbi-"></span>
  74. </view>
  75. <view class="direction carousel_r">
  76. <span class="iconfont icon-dkw_guanbi-"></span>
  77. </view>
  78. </div>
  79. </n-carousel-item>
  80. </template>
  81. </n-carousel>
  82. </div>
  83. <div class="popularBox">
  84. <div class="popularBox_l">
  85. <div class="popularBox_l_title">
  86. <div class="popularBox_l_title_l">Popular Research Reports</div>
  87. <div class="popularBox_l_title_r">Know More <span class="iconfont icon-jiantou24"></span> </div>
  88. </div>
  89. <div class="popularBox_l_list">
  90. <template v-for="(v,i) in reports" :key="i">
  91. <div class="popularBox_l_list_item" v-if="i<2">
  92. <img :src="BaseUrl + '/report/' + v.fileName" alt="">
  93. <div class="popularBox_l_list_item_box">
  94. <div class="popularBox_l_list_item_box_title">{{v.title}}</div>
  95. <a class="popularBox_l_list_item_box_btn" :href="'/reports/'+v.webTitle+'-'+v.id">View details</a>
  96. </div>
  97. </div>
  98. </template>
  99. </div>
  100. </div>
  101. <div class="popularBox_r">
  102. <div class="popularBox_r_title">
  103. Report Coverage Areas
  104. </div>
  105. <div class="popularBox_r_list">
  106. <div v-for="(v, i) in professionList" :key="i">
  107. <img :src="v.imgUrl" :alt="v.title" />
  108. <div v-html="v.title"></div>
  109. </div>
  110. </div>
  111. </div>
  112. </div>
  113. <div class="hotBox">
  114. <div class="hotBox_title">Hot News</div>
  115. <div class="hotBox_list">
  116. <template v-for="(v,i) in markets" :key="i">
  117. <a class="hotBox_list_item" v-if="i<3">
  118. <img :src="BaseUrl + '/fileupload/' + v.filePath + v.fileName" alt="">
  119. <div class="hotBox_list_item_box">
  120. <div class="hotBox_list_item_box_date">{{formatDateEn(v.publishDate)}}</div>
  121. <div class="hotBox_list_item_box_text">{{v.title}}</div>
  122. </div>
  123. </a>
  124. </template>
  125. </div>
  126. <a class="hotBox_btn" href="/news-categories">Know More</a>
  127. </div>
  128. <div class="researchBox">
  129. <div class="researchBox_title">Research Advantages</div>
  130. <div class="researchBox_list">
  131. <template v-for="(v,i) in list2" :key="i">
  132. <div class="researchBox_list_item ">
  133. <img class="imga" :src="v.imga" alt="">
  134. <img class="img" :src="v.img" alt="">
  135. <div>{{v.name}}</div>
  136. </div>
  137. </template>
  138. </div>
  139. </div>
  140. <div class="customersBox">
  141. <div class="customersBox_title">Customers Served</div>
  142. <div class="customersBox_subTitle">Trusted by Leading Companies Worldwide.</div>
  143. <div class="customersBox_carousel">
  144. <!-- draggable -->
  145. <n-carousel ref="card5SwiperRef" autoplay :space-between="0" loop :interval="2000">
  146. <n-carousel-item class="customersBox_carousel_item " v-for="(v,i) in list3" :key="i">
  147. <img v-for="(k,j) in v" :key="'img'+j" :src="k" alt="">
  148. </n-carousel-item>
  149. </n-carousel>
  150. </div>
  151. </div>
  152. <ConnectUs />
  153. </div>
  154. </template>
  155. <script setup>
  156. import { useI18n } from "#imports"
  157. import { onMounted, ref } from "vue";
  158. import { useRouter } from "vue-router";
  159. import { useUserStore } from "@/store/user";
  160. import { MdEye, MdReorder, MdSearch } from "@vicons/ionicons4";
  161. import img01 from '@/assets/images/companyProfile/img01.png'
  162. import img02 from '@/assets/images/companyProfile/img02.png'
  163. import img03 from '@/assets/images/companyProfile/img03.png'
  164. import img04 from '@/assets/images/companyProfile/img04.png'
  165. import img05 from '@/assets/images/companyProfile/img05.png'
  166. import img06 from '@/assets/images/companyProfile/img06.png'
  167. import img07 from '@/assets/images/companyProfile/img07.png'
  168. import img08 from '@/assets/images/companyProfile/img08.png'
  169. import img09 from '@/assets/images/companyProfile/img09.png'
  170. import img10 from '@/assets/images/companyProfile/img10.png'
  171. import img11 from '@/assets/images/companyProfile/img11.png'
  172. import img12 from '@/assets/images/companyProfile/img12.png'
  173. import researchAdvantages1 from '@/assets/images/researchAdvantages/img1.png'
  174. import researchAdvantages2 from '@/assets/images/researchAdvantages/img2.png'
  175. import researchAdvantages3 from '@/assets/images/researchAdvantages/img3.png'
  176. import researchAdvantages4 from '@/assets/images/researchAdvantages/img4.png'
  177. import researchAdvantages5 from '@/assets/images/researchAdvantages/img5.png'
  178. import researchAdvantages6 from '@/assets/images/researchAdvantages/img6.png'
  179. import researchAdvantages1_a from '@/assets/images/researchAdvantages/img1_a.png'
  180. import researchAdvantages2_a from '@/assets/images/researchAdvantages/img2_a.png'
  181. import researchAdvantages3_a from '@/assets/images/researchAdvantages/img3_a.png'
  182. import researchAdvantages4_a from '@/assets/images/researchAdvantages/img4_a.png'
  183. import researchAdvantages5_a from '@/assets/images/researchAdvantages/img5_a.png'
  184. import researchAdvantages6_a from '@/assets/images/researchAdvantages/img6_a.png'
  185. import customersServed1 from '@/assets/images/customersServed/img1.png'
  186. import customersServed2 from '@/assets/images/customersServed/img2.png'
  187. import customersServed3 from '@/assets/images/customersServed/img3.png'
  188. import customersServed4 from '@/assets/images/customersServed/img4.png'
  189. import customersServed5 from '@/assets/images/customersServed/img5.png'
  190. import customersServed6 from '@/assets/images/customersServed/img6.png'
  191. const config = useRuntimeConfig();
  192. const BaseUrl = ref(config.public.baseUrl);
  193. const { t } = useI18n();
  194. const carouselList = ref(); // 轮播图数据
  195. const reports = ref(); //研究报告
  196. const markets = ref(); //市场资讯
  197. const reportDict = ref();
  198. const keyword = ref(""); //关键字
  199. const userStore = useUserStore();
  200. const lang = ref();
  201. const professionList = [
  202. {
  203. imgUrl: img01,
  204. title: 'Chemical and Materials',
  205. },
  206. {
  207. imgUrl: img02,
  208. title: 'Aerospace',
  209. },
  210. {
  211. imgUrl: img03,
  212. title: 'Agriculture',
  213. },
  214. {
  215. imgUrl: img04,
  216. title: 'Machinery and Equipment',
  217. },
  218. {
  219. imgUrl: img05,
  220. title: 'Medical and Bio-Health',
  221. },
  222. {
  223. imgUrl: img06,
  224. title: 'Electronics and Semiconductors',
  225. },
  226. {
  227. imgUrl: img07,
  228. title: 'Software and Services',
  229. },
  230. {
  231. imgUrl: img08,
  232. title: 'Consumer Products <br/> and Retail',
  233. },
  234. {
  235. imgUrl: img09,
  236. title: 'Automobile and Transportation',
  237. },
  238. {
  239. imgUrl: img10,
  240. title: 'Food and Beverage',
  241. },
  242. {
  243. imgUrl: img11,
  244. title: 'Emerging Industries',
  245. },
  246. {
  247. imgUrl: img12,
  248. title: 'Other Industries',
  249. },
  250. ]
  251. const list2 = ref([
  252. { name: 'Global Perspective', img: researchAdvantages1, imga: researchAdvantages1_a },
  253. { name: 'Multidimensional Research', img: researchAdvantages2, imga: researchAdvantages2_a },
  254. { name: 'Massive Database', img: researchAdvantages3, imga: researchAdvantages3_a },
  255. { name: 'Foresight Analyst Team', img: researchAdvantages4, imga: researchAdvantages4_a },
  256. { name: 'Customized Services', img: researchAdvantages5, imga: researchAdvantages5_a },
  257. { name: '24-Hour Support', img: researchAdvantages6, imga: researchAdvantages6_a },
  258. ])
  259. const list3 = ref([
  260. [customersServed1, customersServed2, customersServed3, customersServed4, customersServed5, customersServed6]
  261. ])
  262. //查询
  263. const router = useRouter();
  264. function handleSearch () {
  265. router.push({
  266. name: "reports",
  267. params: { keyword: keyword.value },
  268. });
  269. }
  270. // 资讯详情
  271. function viewNewsDetail (item) {
  272. router.push({
  273. name: "newsDetail",
  274. params: { webTitle: item.webTitle + "-" + item.id },
  275. });
  276. }
  277. // 报告详情
  278. function viewReportDetail (item) {
  279. router.push({
  280. name: "reportDetail",
  281. params: { webTitle: item.webTitle + "-" + item.id },
  282. });
  283. }
  284. // 报告列表
  285. function reportDetail () {
  286. router.push({ name: "reports" });
  287. }
  288. function handleReport (value) {
  289. router.push({ name: "reports", params: { category: value } });
  290. }
  291. lang.value = userStore.getLang
  292. // 轮播图
  293. const data = await carouselListData();
  294. carouselList.value = data;
  295. console.log(carouselList.value)
  296. // 研究报告分类
  297. reportDict.value = await getLocalSessionReport();
  298. // 研究报告列表
  299. const map = await reportAndMarketListData();
  300. reports.value = map.report;
  301. markets.value = map.market;
  302. // onMounted(async () => {
  303. reportDict.value = await getLocalSessionReport();
  304. // })
  305. useHead({
  306. title: t('defaultSettings.title'),
  307. viewport: "width=device-width,initial-scale=1,maximum-scale=1 ",
  308. charset: "utf-8",
  309. meta: [
  310. { hid: "keywords", name: "keywords", content: t('defaultSettings.keyword') },
  311. {
  312. hid: "description",
  313. name: "description",
  314. content: t('defaultSettings.desc'),
  315. },
  316. ],
  317. });
  318. </script>
  319. <style scoped lang="scss">
  320. @import "~/assets/css/tool.scss";
  321. .home {
  322. .home_t {
  323. height: calc(100vh - var(--size-265));
  324. .img {
  325. position: absolute;
  326. top: var(--size--50);
  327. bottom: var(--size--50);
  328. left: var(--size--50);
  329. right: var(--size--50);
  330. .carousel-img {
  331. width: 100%;
  332. height: 100%;
  333. object-fit: cover;
  334. }
  335. }
  336. .desc {
  337. padding: var(--size-60);
  338. display: flex;
  339. flex-direction: column;
  340. justify-content: center;
  341. position: relative;
  342. height: 100%;
  343. overflow: hidden;
  344. z-index: 100;
  345. .desc_title {
  346. font-size: var(--size-48);
  347. color: #ffffff;
  348. font-weight: 900;
  349. }
  350. .desc_tig {
  351. font-size: var(--size-24);
  352. color: #ffffff;
  353. font-weight: 700;
  354. margin-bottom: var(--size-20);
  355. }
  356. .desc_btn {
  357. width: var(--size-170);
  358. height: var(--size-60);
  359. background: linear-gradient(0deg, #7b9c4f 0%, #2da19d 100%), #1a1a1a;
  360. border-radius: var(--size-8);
  361. text-align: center;
  362. line-height: var(--size-60);
  363. font-size: var(--size-18);
  364. color: #ffffff;
  365. }
  366. }
  367. }
  368. .numList {
  369. display: flex;
  370. align-items: center;
  371. padding: 0 var(--size-75);
  372. background: #f5f5f5;
  373. .item {
  374. display: flex;
  375. flex-direction: column;
  376. justify-content: center;
  377. padding: 0 var(--size-70);
  378. height: var(--size-265);
  379. position: relative;
  380. &::after {
  381. position: absolute;
  382. right: 0;
  383. top: var(--size-62);
  384. display: block;
  385. content: "";
  386. width: var(--size-1);
  387. height: var(--size-142);
  388. background: #cccccc;
  389. }
  390. &:nth-child(1) {
  391. width: var(--size-357);
  392. }
  393. &:nth-child(2) {
  394. width: var(--size-354);
  395. }
  396. &:nth-child(3) {
  397. width: var(--size-356);
  398. }
  399. &:nth-child(4) {
  400. width: var(--size-343);
  401. }
  402. &:nth-child(5) {
  403. width: var(--size-342);
  404. &::after {
  405. display: none;
  406. }
  407. }
  408. .iconfont {
  409. font-size: var(--size-62);
  410. color: #808080;
  411. line-height: var(--size-62);
  412. }
  413. .item_img {
  414. width: var(--size-62);
  415. height: var(--size-62);
  416. }
  417. .item_t {
  418. color: transparent;
  419. background-image: linear-gradient(0deg, #7b9c4f 0%, #2da19d 100%);
  420. -webkit-background-clip: text;
  421. background-clip: text;
  422. display: inline-block;
  423. font-size: var(--size-40);
  424. font-family: FZZhengHeiS-B-GB, FZZhengHeiS-B-GB-Regular;
  425. font-weight: 700;
  426. margin-top: var(--size-10);
  427. }
  428. .item_b {
  429. font-size: var(--size-16);
  430. color: #1a1a1a;
  431. font-family: Arial, Arial-Regular;
  432. }
  433. }
  434. }
  435. .marketBox {
  436. padding: var(--size-60) var(--size-145) var(--size-100);
  437. background: #ffffff;
  438. ::v-deep .n-carousel__slide,
  439. ::v-deep .n-carousel {
  440. overflow: visible !important;
  441. }
  442. .marketBox_title {
  443. font-size: var(--size-48);
  444. color: #1a1a1a;
  445. font-family: Impact, Impact-Regular;
  446. font-weight: 400;
  447. text-align: center;
  448. margin-bottom: var(--size-10);
  449. }
  450. .img {
  451. position: relative;
  452. .carousel-img {
  453. width: 100%;
  454. height: var(--size-700);
  455. }
  456. .desc {
  457. position: absolute;
  458. top: 0;
  459. left: var(--size-108);
  460. bottom: 0;
  461. display: flex;
  462. flex-direction: column;
  463. justify-content: center;
  464. .desc_title {
  465. width: var(--size-695);
  466. font-size: var(--size-32);
  467. font-family: Impact, Impact-Regular;
  468. color: #ffffff;
  469. line-height: var(--size-42);
  470. }
  471. .desc_btn {
  472. width: var(--size-170);
  473. height: var(--size-60);
  474. background: linear-gradient(0deg, #7b9c4f 0%, #2da19d 100%), #1a1a1a;
  475. border-radius: var(--size-8);
  476. text-align: center;
  477. line-height: var(--size-60);
  478. font-size: var(--size-18);
  479. color: #ffffff;
  480. margin: var(--size-30) 0;
  481. }
  482. }
  483. .direction {
  484. width: var(--size-73);
  485. height: var(--size-73);
  486. background: #ffffff;
  487. border-radius: 50%;
  488. position: absolute;
  489. top: 40%;
  490. display: flex;
  491. align-items: center;
  492. justify-content: center;
  493. cursor: pointer;
  494. }
  495. .carousel_l {
  496. left: var(--size--36);
  497. span {
  498. display: block;
  499. transform: rotateZ(-180deg);
  500. font-size: 42px;
  501. color: #1a1a1a;
  502. }
  503. }
  504. .carousel_r {
  505. right: var(--size--36);
  506. span {
  507. display: block;
  508. font-size: 42px;
  509. color: #1a1a1a;
  510. }
  511. }
  512. }
  513. }
  514. .popularBox {
  515. background: linear-gradient(
  516. 141deg,
  517. rgba(73, 159, 129, 0.85) 0%,
  518. rgba(116, 156, 86, 0.85) 91%
  519. ),
  520. #e2f1ee;
  521. padding: var(--size-80) var(--size-145) var(--size-80);
  522. display: flex;
  523. .popularBox_l {
  524. margin-right: var(--size-46);
  525. .popularBox_l_title {
  526. display: flex;
  527. justify-content: space-between;
  528. align-items: flex-end;
  529. .popularBox_l_title_l {
  530. font-size: var(--size-48);
  531. font-family: Impact, Impact-Regular;
  532. color: #1a1a1a;
  533. line-height: var(--size-58);
  534. }
  535. .popularBox_l_title_r {
  536. font-size: var(--size-18);
  537. font-family: Microsoft YaHei, Microsoft YaHei-Regular;
  538. color: #ffffff;
  539. border-bottom: 1px solid #ffffff;
  540. span {
  541. font-size: var(--size-32);
  542. position: relative;
  543. top: var(--size-6);
  544. }
  545. }
  546. }
  547. .popularBox_l_list {
  548. margin-top: var(--size-45);
  549. display: flex;
  550. .popularBox_l_list_item {
  551. width: var(--size-360);
  552. border-radius: var(--size-10);
  553. overflow: hidden;
  554. &:first-child {
  555. margin-right: var(--size-47);
  556. }
  557. img {
  558. width: var(--size-360);
  559. height: var(--size-404);
  560. display: block;
  561. }
  562. .popularBox_l_list_item_box {
  563. background: #ffffff;
  564. padding: var(--size-20) var(--size-18) var(--size-35);
  565. .popularBox_l_list_item_box_title {
  566. font-size: var(--size-18);
  567. font-family: Microsoft YaHei, Microsoft YaHei-Regular;
  568. color: #1a1a1a;
  569. line-height: var(--size-28);
  570. margin-bottom: var(--size-34);
  571. overflow: hidden;
  572. text-overflow: ellipsis;
  573. display: -webkit-box;
  574. -webkit-line-clamp: 2;
  575. -webkit-box-orient: vertical;
  576. }
  577. .popularBox_l_list_item_box_btn {
  578. display: block;
  579. width: var(--size-170);
  580. height: var(--size-48);
  581. background: linear-gradient(0deg, #7b9c4f 0%, #2da19d 100%),
  582. #1a1a1a;
  583. border-radius: var(--size-8);
  584. font-size: var(--size-18);
  585. font-family: Microsoft YaHei, Microsoft YaHei-Regular;
  586. text-align: center;
  587. color: #ffffff;
  588. line-height: var(--size-49);
  589. cursor: pointer;
  590. }
  591. }
  592. }
  593. }
  594. }
  595. .popularBox_r {
  596. .popularBox_r_title {
  597. font-size: var(--size-48);
  598. font-family: Impact, Impact-Regular;
  599. text-align: right;
  600. color: #ffffff;
  601. line-height: var(--size-58);
  602. }
  603. .popularBox_r_list {
  604. display: flex;
  605. flex-wrap: wrap;
  606. margin-top: var(--size-45);
  607. > div {
  608. position: relative;
  609. img {
  610. width: var(--size-199);
  611. height: var(--size-199);
  612. display: block;
  613. object-fit: cover;
  614. }
  615. div {
  616. width: 100%;
  617. font-size: var(--size-16);
  618. font-family: Arial, Arial-Regular;
  619. font-weight: 400;
  620. text-align: center;
  621. padding: 0 0 var(--size-15);
  622. color: #ffffff;
  623. line-height: var(--size-20);
  624. position: absolute;
  625. left: 0;
  626. bottom: 0;
  627. }
  628. }
  629. }
  630. }
  631. }
  632. .hotBox {
  633. padding: var(--size-80) var(--size-145) var(--size-80);
  634. background: #f5f5f5;
  635. .hotBox_title {
  636. font-size: var(--size-48);
  637. font-family: Impact, Impact-Regular;
  638. text-align: center;
  639. color: #1a1a1a;
  640. }
  641. .hotBox_list {
  642. display: flex;
  643. margin-top: var(--size-20);
  644. .hotBox_list_item {
  645. display: block;
  646. cursor: pointer;
  647. width: var(--size-514);
  648. margin-right: var(--size-43);
  649. &:last-child {
  650. margin-right: 0;
  651. }
  652. img {
  653. width: var(--size-514);
  654. height: var(--size-372);
  655. display: block;
  656. }
  657. .hotBox_list_item_box {
  658. padding: var(--size-30) var(--size-18) var(--size-41);
  659. background: #ffffff;
  660. border-bottom: var(--size-7) solid #ffffff;
  661. .hotBox_list_item_box_date {
  662. font-size: var(--size-18);
  663. font-family: Arial, Arial-Regular;
  664. font-weight: 400;
  665. text-align: left;
  666. color: #666666;
  667. padding: 0 var(--size-14);
  668. border-left: 1px solid #666666;
  669. border-right: 1px solid #666666;
  670. line-height: var(--size-20);
  671. display: inline-block;
  672. margin-left: var(--size-2);
  673. }
  674. .hotBox_list_item_box_text {
  675. font-size: var(--size-26);
  676. font-family: Arial, Arial-Bold;
  677. font-weight: 700;
  678. text-align: left;
  679. color: #1a1a1a;
  680. margin-top: var(--size-6);
  681. overflow: hidden;
  682. text-overflow: ellipsis;
  683. display: -webkit-box;
  684. -webkit-line-clamp: 2;
  685. -webkit-box-orient: vertical;
  686. }
  687. }
  688. &:hover {
  689. .hotBox_list_item_box {
  690. border-bottom: var(--size-7) solid #509f7a;
  691. .hotBox_list_item_box_date {
  692. color: #509f7a;
  693. border-left: 1px solid #509f7a;
  694. border-right: 1px solid #509f7a;
  695. }
  696. .hotBox_list_item_box_text {
  697. color: #509f7a;
  698. }
  699. }
  700. }
  701. }
  702. }
  703. .hotBox_btn {
  704. display: block;
  705. width: var(--size-217);
  706. height: var(--size-60);
  707. background: linear-gradient(0deg, #7b9c4f 0%, #2da19d 100%), #1a1a1a;
  708. border-radius: var(--size-8);
  709. text-align: center;
  710. line-height: var(--size-60);
  711. font-size: var(--size-18);
  712. color: #ffffff;
  713. margin: var(--size-40) auto 0;
  714. cursor: pointer;
  715. }
  716. }
  717. .researchBox {
  718. padding: var(--size-80) var(--size-145) var(--size-155);
  719. .researchBox_title {
  720. font-size: var(--size-48);
  721. font-family: Impact, Impact-Regular;
  722. text-align: center;
  723. color: #1a1a1a;
  724. }
  725. .researchBox_list {
  726. display: flex;
  727. justify-content: space-between;
  728. margin-top: var(--size-20);
  729. .researchBox_list_item {
  730. width: var(--size-253);
  731. height: var(--size-166);
  732. background: #fafafa;
  733. border-radius: var(--size-8);
  734. padding-top: var(--size-28);
  735. cursor: pointer;
  736. text-align: center;
  737. img {
  738. height: var(--size-70);
  739. margin: auto;
  740. }
  741. .imga {
  742. display: none;
  743. }
  744. div {
  745. font-size: var(--size-18);
  746. font-family: Arial, Arial-Bold;
  747. font-weight: 700;
  748. text-align: center;
  749. color: #1a1a1a;
  750. margin-top: var(--size-12);
  751. }
  752. &:hover {
  753. background: #e2f1ee;
  754. .imga {
  755. display: block;
  756. }
  757. .img {
  758. display: none !important;
  759. }
  760. div {
  761. color: #639e57;
  762. }
  763. }
  764. }
  765. // .active {
  766. // background: #e2f1ee;
  767. // div {
  768. // color: #639e57;
  769. // }
  770. // }
  771. }
  772. }
  773. .customersBox {
  774. background: #f6faf7;
  775. padding: var(--size-80) var(--size-145) var(--size-140);
  776. .customersBox_title {
  777. font-size: var(--size-48);
  778. font-family: Impact, Impact-Regular;
  779. text-align: center;
  780. color: #1a1a1a;
  781. }
  782. .customersBox_subTitle {
  783. font-size: var(--size-18);
  784. font-family: Arial, Arial-Regular;
  785. text-align: center;
  786. color: #666666;
  787. }
  788. .customersBox_carousel {
  789. margin-top: var(--size-45);
  790. .customersBox_carousel_item {
  791. display: flex;
  792. justify-content: space-between;
  793. img {
  794. height: var(--size-70);
  795. }
  796. }
  797. }
  798. }
  799. }
  800. @include responseTo("phone") {
  801. .home {
  802. .home_t {
  803. height: 100vh;
  804. .desc {
  805. padding: 30px;
  806. .desc_title {
  807. font-size: 24px;
  808. }
  809. .desc_tig {
  810. font-size: 12px;
  811. }
  812. }
  813. }
  814. .numList {
  815. padding: 0 30px;
  816. display: block;
  817. .item {
  818. width: 100% !important;
  819. height: auto;
  820. padding: 20px 0;
  821. text-align: center;
  822. img {
  823. margin: auto;
  824. }
  825. &::after {
  826. display: none;
  827. }
  828. }
  829. }
  830. .marketBox {
  831. padding: var(--size-30) var(--size-30) var(--size-50);
  832. .marketBox_title {
  833. font-size: var(--size-24);
  834. font-weight: 700;
  835. }
  836. .img {
  837. .carousel-img {
  838. height: auto;
  839. }
  840. .desc {
  841. left: 20px;
  842. .desc_title {
  843. width: 100%;
  844. font-size: var(--size-16);
  845. line-height: var(--size-18);
  846. }
  847. .desc_btn {
  848. width: var(--size-130);
  849. height: var(--size-45);
  850. border-radius: var(--size-4);
  851. text-align: center;
  852. line-height: var(--size-45);
  853. font-size: var(--size-14);
  854. color: #ffffff;
  855. margin: var(--size-15) auto;
  856. }
  857. }
  858. .direction {
  859. width: var(--size-36);
  860. height: var(--size-36);
  861. span {
  862. font-size: 21px;
  863. }
  864. }
  865. .carousel_l {
  866. left: -18px;
  867. }
  868. .carousel_r {
  869. right: -18px;
  870. }
  871. }
  872. }
  873. .popularBox {
  874. display: block;
  875. padding: 30px;
  876. .popularBox_l {
  877. margin-right: 0;
  878. .popularBox_l_title {
  879. display: block;
  880. .popularBox_l_title_l {
  881. font-size: 24px;
  882. line-height: 29px;
  883. margin-right: 0;
  884. font-weight: 700;
  885. }
  886. .popularBox_l_title_r {
  887. display: inline-block;
  888. font-size: var(--size-14);
  889. }
  890. }
  891. .popularBox_l_list {
  892. justify-content: space-between;
  893. .popularBox_l_list_item {
  894. width: 48%;
  895. margin: 0 !important;
  896. > img {
  897. width: 100%;
  898. height: auto;
  899. }
  900. .popularBox_l_list_item_box {
  901. padding: var(--size-10) var(--size-10) var(--size-18);
  902. .popularBox_l_list_item_box_title {
  903. font-size: var(--size-14);
  904. line-height: var(--size-14);
  905. margin-bottom: var(--size-17);
  906. }
  907. .popularBox_l_list_item_box_btn {
  908. display: block;
  909. width: var(--size-80);
  910. height: var(--size-24);
  911. border-radius: var(--size-4);
  912. font-size: var(--size-12);
  913. line-height: var(--size-24);
  914. }
  915. }
  916. }
  917. }
  918. }
  919. .popularBox_r {
  920. .popularBox_r_title {
  921. font-size: var(--size-24);
  922. line-height: var(--size-30);
  923. font-weight: 700;
  924. text-align: left;
  925. margin-top: var(--size-20);
  926. }
  927. .popularBox_r_list {
  928. margin-top: var(--size-22);
  929. }
  930. .popularBox_r_list {
  931. display: flex;
  932. > div {
  933. width: 50%;
  934. img {
  935. width: 100%;
  936. height: var(--size-105);
  937. display: block;
  938. }
  939. div {
  940. width: 100%;
  941. font-size: var(--size-12);
  942. padding: 0 0 var(--size-6);
  943. }
  944. }
  945. }
  946. }
  947. }
  948. .hotBox {
  949. padding: 30px;
  950. .hotBox_title {
  951. font-size: var(--size-24);
  952. }
  953. .hotBox_list {
  954. display: block;
  955. .hotBox_list_item {
  956. width: var(--size-257);
  957. margin: auto !important;
  958. margin-bottom: var(--size-20) !important;
  959. img {
  960. width: var(--size-257);
  961. height: var(--size-186);
  962. }
  963. .hotBox_list_item_box {
  964. padding: var(--size-15) var(--size-9) var(--size-20);
  965. .hotBox_list_item_box_date {
  966. font-size: var(--size-12);
  967. line-height: var(--size-16);
  968. }
  969. .hotBox_list_item_box_text {
  970. font-size: var(--size-14);
  971. }
  972. }
  973. }
  974. }
  975. }
  976. .researchBox {
  977. padding: var(--size-30);
  978. .researchBox_title {
  979. font-size: var(--size-24);
  980. }
  981. .researchBox_list {
  982. flex-wrap: wrap;
  983. justify-content: space-between;
  984. .researchBox_list_item {
  985. width: 48%;
  986. height: var(--size-166);
  987. background: #fafafa;
  988. border-radius: var(--size-8);
  989. padding-top: var(--size-28);
  990. margin-bottom: var(--size-20);
  991. }
  992. }
  993. }
  994. .customersBox {
  995. padding: var(--size-30) var(--size-10) !important;
  996. .customersBox_title {
  997. font-size: var(--size-24);
  998. }
  999. .customersBox_subTitle {
  1000. font-size: var(--size-14);
  1001. }
  1002. .customersBox_carousel {
  1003. .customersBox_carousel_item {
  1004. flex-wrap: wrap;
  1005. align-items: center;
  1006. img {
  1007. width: var(--size-105);
  1008. height: auto;
  1009. margin-bottom: var(--size-20);
  1010. }
  1011. }
  1012. }
  1013. }
  1014. }
  1015. }
  1016. </style>