index.vue 30 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045
  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" :href="'news'+v.webTitle + '-' + v.id " @click.prevent="viewNewsDetail(v)" 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 marketInfo1 = ref();
  202. const marketInfo2 = ref();
  203. const professionList = [
  204. {
  205. imgUrl: img01,
  206. title: 'Chemical and Materials',
  207. },
  208. {
  209. imgUrl: img02,
  210. title: 'Aerospace',
  211. },
  212. {
  213. imgUrl: img03,
  214. title: 'Agriculture',
  215. },
  216. {
  217. imgUrl: img04,
  218. title: 'Machinery and Equipment',
  219. },
  220. {
  221. imgUrl: img05,
  222. title: 'Medical and Bio-Health',
  223. },
  224. {
  225. imgUrl: img06,
  226. title: 'Electronics and Semiconductors',
  227. },
  228. {
  229. imgUrl: img07,
  230. title: 'Software and Services',
  231. },
  232. {
  233. imgUrl: img08,
  234. title: 'Consumer Products <br/> and Retail',
  235. },
  236. {
  237. imgUrl: img09,
  238. title: 'Automobile and Transportation',
  239. },
  240. {
  241. imgUrl: img10,
  242. title: 'Food and Beverage',
  243. },
  244. {
  245. imgUrl: img11,
  246. title: 'Emerging Industries',
  247. },
  248. {
  249. imgUrl: img12,
  250. title: 'Other Industries',
  251. },
  252. ]
  253. const list2 = ref([
  254. { name: 'Global Perspective', img: researchAdvantages1, imga: researchAdvantages1_a },
  255. { name: 'Multidimensional Research', img: researchAdvantages2, imga: researchAdvantages2_a },
  256. { name: 'Massive Database', img: researchAdvantages3, imga: researchAdvantages3_a },
  257. { name: 'Foresight Analyst Team', img: researchAdvantages4, imga: researchAdvantages4_a },
  258. { name: 'Customized Services', img: researchAdvantages5, imga: researchAdvantages5_a },
  259. { name: '24-Hour Support', img: researchAdvantages6, imga: researchAdvantages6_a },
  260. ])
  261. const list3 = ref([
  262. [customersServed1, customersServed2, customersServed3, customersServed4, customersServed5, customersServed6]
  263. ])
  264. //查询
  265. const router = useRouter();
  266. function handleSearch () {
  267. router.push({
  268. name: "reports",
  269. params: { keyword: keyword.value },
  270. });
  271. }
  272. // 资讯详情
  273. function viewNewsDetail (item) {
  274. router.push({
  275. name: "newsDetail",
  276. params: { webTitle: item.webTitle + "-" + item.id },
  277. });
  278. }
  279. // 报告详情
  280. function viewReportDetail (item) {
  281. router.push({
  282. name: "reportDetail",
  283. params: { webTitle: item.webTitle + "-" + item.id },
  284. });
  285. }
  286. // 报告列表
  287. function reportDetail () {
  288. router.push({ name: "reports" });
  289. }
  290. function handleReport (value) {
  291. router.push({ name: "reports", params: { category: value } });
  292. }
  293. lang.value = userStore.getLang
  294. // 轮播图
  295. const data = await carouselListData();
  296. carouselList.value = data;
  297. console.log(carouselList.value)
  298. // 研究报告分类
  299. reportDict.value = await getLocalSessionReport();
  300. // 研究报告列表
  301. const map = await reportAndMarketListData();
  302. reports.value = map.report;
  303. markets.value = map.market;
  304. // onMounted(async () => {
  305. reportDict.value = await getLocalSessionReport();
  306. // })
  307. let params1 = {
  308. marketTypeList: "market-dynamic,market-dynamic",
  309. pageNo: 1,
  310. pageSize: 5
  311. }
  312. const marketInfoRet1 = await marketInfoPageList(params1);
  313. console.log('aaaaaaaaaaa', marketInfoRet1)
  314. marketInfo1.value = marketInfoRet1;
  315. let params2 = {
  316. marketTypeList: "industry-information,policy-interpretation",
  317. pageNo: 1,
  318. pageSize: 2
  319. }
  320. const marketInfoRet2 = await marketInfoPageList(params2);
  321. console.log('bbbbbbbbbbb', marketInfoRet2)
  322. marketInfo2.value = marketInfoRet2;
  323. useHead({
  324. title: t('defaultSettings.title'),
  325. viewport: "width=device-width,initial-scale=1,maximum-scale=1 ",
  326. charset: "utf-8",
  327. meta: [
  328. { hid: "keywords", name: "keywords", content: t('defaultSettings.keyword') },
  329. {
  330. hid: "description",
  331. name: "description",
  332. content: t('defaultSettings.desc'),
  333. },
  334. ],
  335. });
  336. </script>
  337. <style scoped lang="scss">
  338. @import "~/assets/css/tool.scss";
  339. .home {
  340. .home_t {
  341. height: calc(100vh - var(--size-265));
  342. .img {
  343. position: absolute;
  344. top: var(--size--50);
  345. bottom: var(--size--50);
  346. left: var(--size--50);
  347. right: var(--size--50);
  348. .carousel-img {
  349. width: 100%;
  350. height: 100%;
  351. object-fit: cover;
  352. }
  353. }
  354. .desc {
  355. padding: var(--size-60);
  356. display: flex;
  357. flex-direction: column;
  358. justify-content: center;
  359. position: relative;
  360. height: 100%;
  361. overflow: hidden;
  362. z-index: 100;
  363. .desc_title {
  364. font-size: var(--size-48);
  365. color: #ffffff;
  366. font-weight: 900;
  367. }
  368. .desc_tig {
  369. font-size: var(--size-24);
  370. color: #ffffff;
  371. font-weight: 700;
  372. margin-bottom: var(--size-20);
  373. }
  374. .desc_btn {
  375. width: var(--size-170);
  376. height: var(--size-60);
  377. background: linear-gradient(0deg, #7b9c4f 0%, #2da19d 100%), #1a1a1a;
  378. border-radius: var(--size-8);
  379. text-align: center;
  380. line-height: var(--size-60);
  381. font-size: var(--size-18);
  382. color: #ffffff;
  383. cursor: pointer;
  384. }
  385. }
  386. }
  387. .numList {
  388. display: flex;
  389. align-items: center;
  390. padding: 0 var(--size-75);
  391. background: #f5f5f5;
  392. .item {
  393. display: flex;
  394. flex-direction: column;
  395. justify-content: center;
  396. padding: 0 var(--size-70);
  397. height: var(--size-265);
  398. position: relative;
  399. &::after {
  400. position: absolute;
  401. right: 0;
  402. top: var(--size-62);
  403. display: block;
  404. content: "";
  405. width: var(--size-1);
  406. height: var(--size-142);
  407. background: #cccccc;
  408. }
  409. &:nth-child(1) {
  410. width: var(--size-357);
  411. }
  412. &:nth-child(2) {
  413. width: var(--size-354);
  414. }
  415. &:nth-child(3) {
  416. width: var(--size-356);
  417. }
  418. &:nth-child(4) {
  419. width: var(--size-343);
  420. }
  421. &:nth-child(5) {
  422. width: var(--size-342);
  423. &::after {
  424. display: none;
  425. }
  426. }
  427. .iconfont {
  428. font-size: var(--size-62);
  429. color: #808080;
  430. line-height: var(--size-62);
  431. }
  432. .item_img {
  433. width: var(--size-62);
  434. height: var(--size-62);
  435. }
  436. .item_t {
  437. color: transparent;
  438. background-image: linear-gradient(0deg, #7b9c4f 0%, #2da19d 100%);
  439. -webkit-background-clip: text;
  440. background-clip: text;
  441. display: inline-block;
  442. font-size: var(--size-40);
  443. font-family: FZZhengHeiS-B-GB, FZZhengHeiS-B-GB-Regular;
  444. font-weight: 700;
  445. margin-top: var(--size-10);
  446. }
  447. .item_b {
  448. font-size: var(--size-16);
  449. color: #1a1a1a;
  450. font-family: Arial, Arial-Regular;
  451. }
  452. }
  453. }
  454. .marketBox {
  455. padding: var(--size-60) var(--size-145) var(--size-100);
  456. background: #ffffff;
  457. ::v-deep .n-carousel__slide,
  458. ::v-deep .n-carousel {
  459. overflow: visible !important;
  460. }
  461. .marketBox_title {
  462. font-size: var(--size-48);
  463. color: #1a1a1a;
  464. font-family: Impact, Impact-Regular;
  465. font-weight: 400;
  466. text-align: center;
  467. margin-bottom: var(--size-10);
  468. }
  469. .img {
  470. position: relative;
  471. .carousel-img {
  472. width: 100%;
  473. height: var(--size-700);
  474. }
  475. .desc {
  476. position: absolute;
  477. top: 0;
  478. left: var(--size-108);
  479. bottom: 0;
  480. display: flex;
  481. flex-direction: column;
  482. justify-content: center;
  483. .desc_title {
  484. width: var(--size-695);
  485. font-size: var(--size-32);
  486. font-family: Impact, Impact-Regular;
  487. color: #ffffff;
  488. line-height: var(--size-42);
  489. }
  490. .desc_btn {
  491. width: var(--size-170);
  492. height: var(--size-60);
  493. background: linear-gradient(0deg, #7b9c4f 0%, #2da19d 100%), #1a1a1a;
  494. border-radius: var(--size-8);
  495. text-align: center;
  496. line-height: var(--size-60);
  497. font-size: var(--size-18);
  498. color: #ffffff;
  499. margin: var(--size-30) 0;
  500. }
  501. }
  502. .direction {
  503. width: var(--size-73);
  504. height: var(--size-73);
  505. background: #ffffff;
  506. border-radius: 50%;
  507. position: absolute;
  508. top: 40%;
  509. display: flex;
  510. align-items: center;
  511. justify-content: center;
  512. cursor: pointer;
  513. }
  514. .carousel_l {
  515. left: var(--size--36);
  516. span {
  517. display: block;
  518. transform: rotateZ(-180deg);
  519. font-size: 42px;
  520. color: #1a1a1a;
  521. }
  522. }
  523. .carousel_r {
  524. right: var(--size--36);
  525. span {
  526. display: block;
  527. font-size: 42px;
  528. color: #1a1a1a;
  529. }
  530. }
  531. }
  532. }
  533. .popularBox {
  534. background: linear-gradient(
  535. 141deg,
  536. rgba(73, 159, 129, 0.85) 0%,
  537. rgba(116, 156, 86, 0.85) 91%
  538. ),
  539. #e2f1ee;
  540. padding: var(--size-80) var(--size-145) var(--size-80);
  541. display: flex;
  542. .popularBox_l {
  543. margin-right: var(--size-46);
  544. .popularBox_l_title {
  545. display: flex;
  546. justify-content: space-between;
  547. align-items: flex-end;
  548. .popularBox_l_title_l {
  549. font-size: var(--size-48);
  550. font-family: Impact, Impact-Regular;
  551. color: #1a1a1a;
  552. line-height: var(--size-58);
  553. }
  554. .popularBox_l_title_r {
  555. font-size: var(--size-18);
  556. font-family: Microsoft YaHei, Microsoft YaHei-Regular;
  557. color: #ffffff;
  558. border-bottom: 1px solid #ffffff;
  559. span {
  560. font-size: var(--size-32);
  561. position: relative;
  562. top: var(--size-6);
  563. }
  564. }
  565. }
  566. .popularBox_l_list {
  567. margin-top: var(--size-45);
  568. display: flex;
  569. .popularBox_l_list_item {
  570. width: var(--size-360);
  571. border-radius: var(--size-10);
  572. overflow: hidden;
  573. &:first-child {
  574. margin-right: var(--size-47);
  575. }
  576. img {
  577. width: var(--size-360);
  578. height: var(--size-404);
  579. display: block;
  580. }
  581. .popularBox_l_list_item_box {
  582. background: #ffffff;
  583. padding: var(--size-20) var(--size-18) var(--size-35);
  584. .popularBox_l_list_item_box_title {
  585. font-size: var(--size-18);
  586. font-family: Microsoft YaHei, Microsoft YaHei-Regular;
  587. color: #1a1a1a;
  588. line-height: var(--size-28);
  589. margin-bottom: var(--size-34);
  590. overflow: hidden;
  591. text-overflow: ellipsis;
  592. display: -webkit-box;
  593. -webkit-line-clamp: 2;
  594. -webkit-box-orient: vertical;
  595. }
  596. .popularBox_l_list_item_box_btn {
  597. display: block;
  598. width: var(--size-170);
  599. height: var(--size-48);
  600. background: linear-gradient(0deg, #7b9c4f 0%, #2da19d 100%),
  601. #1a1a1a;
  602. border-radius: var(--size-8);
  603. font-size: var(--size-18);
  604. font-family: Microsoft YaHei, Microsoft YaHei-Regular;
  605. text-align: center;
  606. color: #ffffff;
  607. line-height: var(--size-49);
  608. cursor: pointer;
  609. }
  610. }
  611. }
  612. }
  613. }
  614. .popularBox_r {
  615. .popularBox_r_title {
  616. font-size: var(--size-48);
  617. font-family: Impact, Impact-Regular;
  618. text-align: right;
  619. color: #ffffff;
  620. line-height: var(--size-58);
  621. }
  622. .popularBox_r_list {
  623. display: flex;
  624. flex-wrap: wrap;
  625. margin-top: var(--size-45);
  626. > div {
  627. position: relative;
  628. img {
  629. width: var(--size-199);
  630. height: var(--size-199);
  631. display: block;
  632. object-fit: cover;
  633. }
  634. div {
  635. width: 100%;
  636. font-size: var(--size-16);
  637. font-family: Arial, Arial-Regular;
  638. font-weight: 400;
  639. text-align: center;
  640. padding: 0 0 var(--size-15);
  641. color: #ffffff;
  642. line-height: var(--size-20);
  643. position: absolute;
  644. left: 0;
  645. bottom: 0;
  646. }
  647. }
  648. }
  649. }
  650. }
  651. .hotBox {
  652. padding: var(--size-80) var(--size-145) var(--size-80);
  653. background: #f5f5f5;
  654. .hotBox_title {
  655. font-size: var(--size-48);
  656. font-family: Impact, Impact-Regular;
  657. text-align: center;
  658. color: #1a1a1a;
  659. }
  660. .hotBox_list {
  661. display: flex;
  662. margin-top: var(--size-20);
  663. .hotBox_list_item {
  664. display: block;
  665. cursor: pointer;
  666. width: var(--size-514);
  667. margin-right: var(--size-43);
  668. &:last-child {
  669. margin-right: 0;
  670. }
  671. img {
  672. width: var(--size-514);
  673. height: var(--size-372);
  674. display: block;
  675. }
  676. .hotBox_list_item_box {
  677. padding: var(--size-30) var(--size-18) var(--size-41);
  678. background: #ffffff;
  679. border-bottom: var(--size-7) solid #ffffff;
  680. .hotBox_list_item_box_date {
  681. font-size: var(--size-18);
  682. font-family: Arial, Arial-Regular;
  683. font-weight: 400;
  684. text-align: left;
  685. color: #666666;
  686. padding: 0 var(--size-14);
  687. border-left: 1px solid #666666;
  688. border-right: 1px solid #666666;
  689. line-height: var(--size-20);
  690. display: inline-block;
  691. margin-left: var(--size-2);
  692. }
  693. .hotBox_list_item_box_text {
  694. font-size: var(--size-26);
  695. font-family: Arial, Arial-Bold;
  696. font-weight: 700;
  697. text-align: left;
  698. color: #1a1a1a;
  699. margin-top: var(--size-6);
  700. overflow: hidden;
  701. text-overflow: ellipsis;
  702. display: -webkit-box;
  703. -webkit-line-clamp: 2;
  704. -webkit-box-orient: vertical;
  705. }
  706. }
  707. &:hover {
  708. .hotBox_list_item_box {
  709. border-bottom: var(--size-7) solid #509f7a;
  710. .hotBox_list_item_box_date {
  711. color: #509f7a;
  712. border-left: 1px solid #509f7a;
  713. border-right: 1px solid #509f7a;
  714. }
  715. .hotBox_list_item_box_text {
  716. color: #509f7a;
  717. }
  718. }
  719. }
  720. }
  721. }
  722. .hotBox_btn {
  723. display: block;
  724. width: var(--size-217);
  725. height: var(--size-60);
  726. background: linear-gradient(0deg, #7b9c4f 0%, #2da19d 100%), #1a1a1a;
  727. border-radius: var(--size-8);
  728. text-align: center;
  729. line-height: var(--size-60);
  730. font-size: var(--size-18);
  731. color: #ffffff;
  732. margin: var(--size-40) auto 0;
  733. cursor: pointer;
  734. }
  735. }
  736. .researchBox {
  737. padding: var(--size-80) var(--size-145) var(--size-155);
  738. .researchBox_title {
  739. font-size: var(--size-48);
  740. font-family: Impact, Impact-Regular;
  741. text-align: center;
  742. color: #1a1a1a;
  743. }
  744. .researchBox_list {
  745. display: flex;
  746. justify-content: space-between;
  747. margin-top: var(--size-20);
  748. .researchBox_list_item {
  749. width: var(--size-253);
  750. height: var(--size-166);
  751. background: #fafafa;
  752. border-radius: var(--size-8);
  753. padding-top: var(--size-28);
  754. cursor: pointer;
  755. text-align: center;
  756. img {
  757. height: var(--size-70);
  758. margin: auto;
  759. }
  760. .imga {
  761. display: none;
  762. }
  763. div {
  764. font-size: var(--size-18);
  765. font-family: Arial, Arial-Bold;
  766. font-weight: 700;
  767. text-align: center;
  768. color: #1a1a1a;
  769. margin-top: var(--size-12);
  770. }
  771. &:hover {
  772. background: #e2f1ee;
  773. .imga {
  774. display: block;
  775. }
  776. .img {
  777. display: none !important;
  778. }
  779. div {
  780. color: #639e57;
  781. }
  782. }
  783. }
  784. // .active {
  785. // background: #e2f1ee;
  786. // div {
  787. // color: #639e57;
  788. // }
  789. // }
  790. }
  791. }
  792. .customersBox {
  793. background: #f6faf7;
  794. padding: var(--size-80) var(--size-145) var(--size-140);
  795. .customersBox_title {
  796. font-size: var(--size-48);
  797. font-family: Impact, Impact-Regular;
  798. text-align: center;
  799. color: #1a1a1a;
  800. }
  801. .customersBox_subTitle {
  802. font-size: var(--size-18);
  803. font-family: Arial, Arial-Regular;
  804. text-align: center;
  805. color: #666666;
  806. }
  807. .customersBox_carousel {
  808. margin-top: var(--size-45);
  809. .customersBox_carousel_item {
  810. display: flex;
  811. justify-content: space-between;
  812. img {
  813. height: var(--size-70);
  814. }
  815. }
  816. }
  817. }
  818. }
  819. @include responseTo("phone") {
  820. .home {
  821. .home_t {
  822. height: 100vh;
  823. .desc {
  824. padding: 30px;
  825. .desc_title {
  826. font-size: 24px;
  827. }
  828. .desc_tig {
  829. font-size: 12px;
  830. }
  831. }
  832. }
  833. .numList {
  834. padding: 0 30px;
  835. display: block;
  836. .item {
  837. width: 100% !important;
  838. height: auto;
  839. padding: 20px 0;
  840. text-align: center;
  841. img {
  842. margin: auto;
  843. }
  844. &::after {
  845. display: none;
  846. }
  847. }
  848. }
  849. .marketBox {
  850. padding: var(--size-30) var(--size-30) var(--size-50);
  851. .marketBox_title {
  852. font-size: var(--size-24);
  853. font-weight: 700;
  854. }
  855. .img {
  856. .carousel-img {
  857. height: auto;
  858. }
  859. .desc {
  860. left: 20px;
  861. .desc_title {
  862. width: 100%;
  863. font-size: var(--size-16);
  864. line-height: var(--size-18);
  865. }
  866. .desc_btn {
  867. width: var(--size-130);
  868. height: var(--size-45);
  869. border-radius: var(--size-4);
  870. text-align: center;
  871. line-height: var(--size-45);
  872. font-size: var(--size-14);
  873. color: #ffffff;
  874. margin: var(--size-15) auto;
  875. }
  876. }
  877. .direction {
  878. width: var(--size-36);
  879. height: var(--size-36);
  880. span {
  881. font-size: 21px;
  882. }
  883. }
  884. .carousel_l {
  885. left: -18px;
  886. }
  887. .carousel_r {
  888. right: -18px;
  889. }
  890. }
  891. }
  892. .popularBox {
  893. display: block;
  894. padding: 30px;
  895. .popularBox_l {
  896. margin-right: 0;
  897. .popularBox_l_title {
  898. display: block;
  899. .popularBox_l_title_l {
  900. font-size: 24px;
  901. line-height: 29px;
  902. margin-right: 0;
  903. font-weight: 700;
  904. }
  905. .popularBox_l_title_r {
  906. display: inline-block;
  907. font-size: var(--size-14);
  908. }
  909. }
  910. .popularBox_l_list {
  911. justify-content: space-between;
  912. .popularBox_l_list_item {
  913. width: 48%;
  914. margin: 0 !important;
  915. > img {
  916. width: 100%;
  917. height: auto;
  918. }
  919. .popularBox_l_list_item_box {
  920. padding: var(--size-10) var(--size-10) var(--size-18);
  921. .popularBox_l_list_item_box_title {
  922. font-size: var(--size-14);
  923. line-height: var(--size-14);
  924. margin-bottom: var(--size-17);
  925. }
  926. .popularBox_l_list_item_box_btn {
  927. display: block;
  928. width: var(--size-80);
  929. height: var(--size-24);
  930. border-radius: var(--size-4);
  931. font-size: var(--size-12);
  932. line-height: var(--size-24);
  933. }
  934. }
  935. }
  936. }
  937. }
  938. .popularBox_r {
  939. .popularBox_r_title {
  940. font-size: var(--size-24);
  941. line-height: var(--size-30);
  942. font-weight: 700;
  943. text-align: left;
  944. margin-top: var(--size-20);
  945. }
  946. .popularBox_r_list {
  947. margin-top: var(--size-22);
  948. }
  949. .popularBox_r_list {
  950. display: flex;
  951. > div {
  952. width: 50%;
  953. img {
  954. width: 100%;
  955. height: var(--size-105);
  956. display: block;
  957. }
  958. div {
  959. width: 100%;
  960. font-size: var(--size-12);
  961. padding: 0 0 var(--size-6);
  962. }
  963. }
  964. }
  965. }
  966. }
  967. .hotBox {
  968. padding: 30px;
  969. .hotBox_title {
  970. font-size: var(--size-24);
  971. }
  972. .hotBox_list {
  973. display: block;
  974. .hotBox_list_item {
  975. width: var(--size-257);
  976. margin: auto !important;
  977. margin-bottom: var(--size-20) !important;
  978. img {
  979. width: var(--size-257);
  980. height: var(--size-186);
  981. }
  982. .hotBox_list_item_box {
  983. padding: var(--size-15) var(--size-9) var(--size-20);
  984. .hotBox_list_item_box_date {
  985. font-size: var(--size-12);
  986. line-height: var(--size-16);
  987. }
  988. .hotBox_list_item_box_text {
  989. font-size: var(--size-14);
  990. }
  991. }
  992. }
  993. }
  994. }
  995. .researchBox {
  996. padding: var(--size-30);
  997. .researchBox_title {
  998. font-size: var(--size-24);
  999. }
  1000. .researchBox_list {
  1001. flex-wrap: wrap;
  1002. justify-content: space-between;
  1003. .researchBox_list_item {
  1004. width: 48%;
  1005. height: var(--size-166);
  1006. background: #fafafa;
  1007. border-radius: var(--size-8);
  1008. padding-top: var(--size-28);
  1009. margin-bottom: var(--size-20);
  1010. }
  1011. }
  1012. }
  1013. .customersBox {
  1014. padding: var(--size-30) var(--size-10) !important;
  1015. .customersBox_title {
  1016. font-size: var(--size-24);
  1017. }
  1018. .customersBox_subTitle {
  1019. font-size: var(--size-14);
  1020. }
  1021. .customersBox_carousel {
  1022. .customersBox_carousel_item {
  1023. flex-wrap: wrap;
  1024. align-items: center;
  1025. img {
  1026. width: var(--size-105);
  1027. height: auto;
  1028. margin-bottom: var(--size-20);
  1029. }
  1030. }
  1031. }
  1032. }
  1033. }
  1034. }
  1035. </style>