index.vue 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861
  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" :class="{active:i===0}" 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. <div class="hotBox_btn">Know More</div>
  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. <div class="customBox">
  153. <div class="customBox_title">No Relevant Report Found? Please Contact Us</div>
  154. <div class="customBox_content">Need more information? Our team is ready to assist.Reach out today for expert support tailored to your needs.</div>
  155. <div class="customBox_btn">Custom Reports</div>
  156. <img class="customBox_img" src="/assets/images/img1.png" alt="">
  157. </div>
  158. </div>
  159. </template>
  160. <script setup>
  161. import { useI18n } from "#imports"
  162. import { onMounted, ref } from "vue";
  163. import { useRouter } from "vue-router";
  164. import { useUserStore } from "@/store/user";
  165. import { MdEye, MdReorder, MdSearch } from "@vicons/ionicons4";
  166. import img01 from '@/assets/images/companyProfile/img01.png'
  167. import img02 from '@/assets/images/companyProfile/img02.png'
  168. import img03 from '@/assets/images/companyProfile/img03.png'
  169. import img04 from '@/assets/images/companyProfile/img04.png'
  170. import img05 from '@/assets/images/companyProfile/img05.png'
  171. import img06 from '@/assets/images/companyProfile/img06.png'
  172. import img07 from '@/assets/images/companyProfile/img07.png'
  173. import img08 from '@/assets/images/companyProfile/img08.png'
  174. import img09 from '@/assets/images/companyProfile/img09.png'
  175. import img10 from '@/assets/images/companyProfile/img10.png'
  176. import img11 from '@/assets/images/companyProfile/img11.png'
  177. import img12 from '@/assets/images/companyProfile/img12.png'
  178. import researchAdvantages1 from '@/assets/images/researchAdvantages/img1.png'
  179. import researchAdvantages2 from '@/assets/images/researchAdvantages/img2.png'
  180. import researchAdvantages3 from '@/assets/images/researchAdvantages/img3.png'
  181. import researchAdvantages4 from '@/assets/images/researchAdvantages/img4.png'
  182. import researchAdvantages5 from '@/assets/images/researchAdvantages/img5.png'
  183. import researchAdvantages6 from '@/assets/images/researchAdvantages/img6.png'
  184. import researchAdvantages1_a from '@/assets/images/researchAdvantages/img1_a.png'
  185. import researchAdvantages2_a from '@/assets/images/researchAdvantages/img2_a.png'
  186. import researchAdvantages3_a from '@/assets/images/researchAdvantages/img3_a.png'
  187. import researchAdvantages4_a from '@/assets/images/researchAdvantages/img4_a.png'
  188. import researchAdvantages5_a from '@/assets/images/researchAdvantages/img5_a.png'
  189. import researchAdvantages6_a from '@/assets/images/researchAdvantages/img6_a.png'
  190. import customersServed1 from '@/assets/images/customersServed/img1.png'
  191. import customersServed2 from '@/assets/images/customersServed/img2.png'
  192. import customersServed3 from '@/assets/images/customersServed/img3.png'
  193. import customersServed4 from '@/assets/images/customersServed/img4.png'
  194. import customersServed5 from '@/assets/images/customersServed/img5.png'
  195. import customersServed6 from '@/assets/images/customersServed/img6.png'
  196. const config = useRuntimeConfig();
  197. const BaseUrl = ref(config.public.baseUrl);
  198. const { t } = useI18n();
  199. const carouselList = ref(); // 轮播图数据
  200. const reports = ref(); //研究报告
  201. const markets = ref(); //市场资讯
  202. const reportDict = ref();
  203. const demandShow = ref(false); // 需求页面
  204. const keyword = ref(""); //关键字
  205. const userStore = useUserStore();
  206. const lang = ref();
  207. const professionList = [
  208. {
  209. imgUrl: img01,
  210. title: 'Chemical and Materials',
  211. },
  212. {
  213. imgUrl: img02,
  214. title: 'Aerospace',
  215. },
  216. {
  217. imgUrl: img03,
  218. title: 'Agriculture',
  219. },
  220. {
  221. imgUrl: img04,
  222. title: 'Machinery and Equipment',
  223. },
  224. {
  225. imgUrl: img05,
  226. title: 'Medical and Bio-Health',
  227. },
  228. {
  229. imgUrl: img06,
  230. title: 'Electronics and Semiconductors',
  231. },
  232. {
  233. imgUrl: img07,
  234. title: 'Software and Services',
  235. },
  236. {
  237. imgUrl: img08,
  238. title: 'Consumer Products <br/> and Retail',
  239. },
  240. {
  241. imgUrl: img09,
  242. title: 'Automobile and Transportation',
  243. },
  244. {
  245. imgUrl: img10,
  246. title: 'Food and Beverage',
  247. },
  248. {
  249. imgUrl: img11,
  250. title: 'Emerging Industries',
  251. },
  252. {
  253. imgUrl: img12,
  254. title: 'Other Industries',
  255. },
  256. ]
  257. const list2 = ref([
  258. { name: 'Global Perspective', img: researchAdvantages1, imga: researchAdvantages1_a },
  259. { name: 'Multidimensional Research', img: researchAdvantages2, imga: researchAdvantages2_a },
  260. { name: 'Massive Database', img: researchAdvantages3, imga: researchAdvantages3_a },
  261. { name: 'Foresight Analyst Team', img: researchAdvantages4, imga: researchAdvantages4_a },
  262. { name: 'Customized Services', img: researchAdvantages5, imga: researchAdvantages5_a },
  263. { name: '24-Hour Support', img: researchAdvantages6, imga: researchAdvantages6_a },
  264. ])
  265. const list3 = ref([
  266. [customersServed1, customersServed2, customersServed3, customersServed4, customersServed5, customersServed6]
  267. ])
  268. // 联系我们
  269. function handleContact () {
  270. demandShow.value = true;
  271. }
  272. // 关闭diag
  273. function handleCloseDiag () {
  274. demandShow.value = false;
  275. }
  276. //查询
  277. const router = useRouter();
  278. function handleSearch () {
  279. router.push({
  280. name: "reports",
  281. params: { keyword: keyword.value },
  282. });
  283. }
  284. // 资讯详情
  285. function viewNewsDetail (item) {
  286. router.push({
  287. name: "newsDetail",
  288. params: { webTitle: item.webTitle + "-" + item.id },
  289. });
  290. }
  291. // 报告详情
  292. function viewReportDetail (item) {
  293. router.push({
  294. name: "reportDetail",
  295. params: { webTitle: item.webTitle + "-" + item.id },
  296. });
  297. }
  298. // 报告列表
  299. function reportDetail () {
  300. router.push({ name: "reports" });
  301. }
  302. function handleReport (value) {
  303. router.push({ name: "reports", params: { category: value } });
  304. }
  305. lang.value = userStore.getLang
  306. // 轮播图
  307. const data = await carouselListData();
  308. carouselList.value = data;
  309. console.log(carouselList.value)
  310. // 研究报告分类
  311. reportDict.value = await getLocalSessionReport();
  312. // 研究报告列表
  313. const map = await reportAndMarketListData();
  314. reports.value = map.report;
  315. markets.value = map.market;
  316. // onMounted(async () => {
  317. reportDict.value = await getLocalSessionReport();
  318. // })
  319. useHead({
  320. title: t('defaultSettings.title'),
  321. viewport: "width=device-width,initial-scale=1,maximum-scale=1 ",
  322. charset: "utf-8",
  323. meta: [
  324. { hid: "keywords", name: "keywords", content: t('defaultSettings.keyword') },
  325. {
  326. hid: "description",
  327. name: "description",
  328. content: t('defaultSettings.desc'),
  329. },
  330. ],
  331. });
  332. </script>
  333. <style scoped lang="scss">
  334. .home {
  335. .home_t {
  336. height: calc(100vh - var(--size-265));
  337. .img {
  338. position: absolute;
  339. top: var(--size--50);
  340. bottom: var(--size--50);
  341. left: var(--size--50);
  342. right: var(--size--50);
  343. .carousel-img {
  344. width: 100%;
  345. height: 100%;
  346. object-fit: cover;
  347. }
  348. }
  349. .desc {
  350. padding: var(--size-60);
  351. display: flex;
  352. flex-direction: column;
  353. justify-content: center;
  354. position: relative;
  355. height: 100%;
  356. overflow: hidden;
  357. z-index: 100;
  358. .desc_title {
  359. font-size: var(--size-48);
  360. color: #ffffff;
  361. font-weight: 900;
  362. }
  363. .desc_tig {
  364. font-size: var(--size-24);
  365. color: #ffffff;
  366. font-weight: 700;
  367. margin-bottom: var(--size-20);
  368. }
  369. .desc_btn {
  370. width: var(--size-170);
  371. height: var(--size-60);
  372. background: linear-gradient(0deg, #7b9c4f 0%, #2da19d 100%), #1a1a1a;
  373. border-radius: var(--size-8);
  374. text-align: center;
  375. line-height: var(--size-60);
  376. font-size: var(--size-18);
  377. color: #ffffff;
  378. }
  379. }
  380. }
  381. .numList {
  382. display: flex;
  383. align-items: center;
  384. padding: 0 var(--size-75);
  385. background: #f5f5f5;
  386. .item {
  387. display: flex;
  388. flex-direction: column;
  389. justify-content: center;
  390. padding: 0 var(--size-70);
  391. height: var(--size-265);
  392. position: relative;
  393. &::after {
  394. position: absolute;
  395. right: 0;
  396. top: var(--size-62);
  397. display: block;
  398. content: "";
  399. width: var(--size-1);
  400. height: var(--size-142);
  401. background: #cccccc;
  402. }
  403. &:nth-child(1) {
  404. width: var(--size-357);
  405. }
  406. &:nth-child(2) {
  407. width: var(--size-354);
  408. }
  409. &:nth-child(3) {
  410. width: var(--size-356);
  411. }
  412. &:nth-child(4) {
  413. width: var(--size-343);
  414. }
  415. &:nth-child(5) {
  416. width: var(--size-342);
  417. &::after {
  418. display: none;
  419. }
  420. }
  421. .iconfont {
  422. font-size: var(--size-62);
  423. color: #808080;
  424. line-height: var(--size-62);
  425. }
  426. .item_img {
  427. width: var(--size-62);
  428. height: var(--size-62);
  429. }
  430. .item_t {
  431. color: transparent;
  432. background-image: linear-gradient(0deg, #7b9c4f 0%, #2da19d 100%);
  433. -webkit-background-clip: text;
  434. background-clip: text;
  435. display: inline-block;
  436. font-size: var(--size-40);
  437. font-family: FZZhengHeiS-B-GB, FZZhengHeiS-B-GB-Regular;
  438. font-weight: 700;
  439. margin-top: var(--size-10);
  440. }
  441. .item_b {
  442. font-size: var(--size-16);
  443. color: #1a1a1a;
  444. font-family: Arial, Arial-Regular;
  445. }
  446. }
  447. }
  448. .marketBox {
  449. padding: var(--size-60) var(--size-145) var(--size-100);
  450. background: #ffffff;
  451. ::v-deep .n-carousel__slide,
  452. ::v-deep .n-carousel {
  453. overflow: visible !important;
  454. }
  455. .marketBox_title {
  456. font-size: var(--size-48);
  457. color: #1a1a1a;
  458. font-family: Impact, Impact-Regular;
  459. font-weight: 400;
  460. text-align: center;
  461. margin-bottom: var(--size-10);
  462. }
  463. .img {
  464. position: relative;
  465. .carousel-img {
  466. width: 100%;
  467. height: var(--size-700);
  468. }
  469. .desc {
  470. position: absolute;
  471. top: 0;
  472. left: var(--size-108);
  473. bottom: 0;
  474. display: flex;
  475. flex-direction: column;
  476. justify-content: center;
  477. .desc_title {
  478. width: var(--size-695);
  479. font-size: var(--size-32);
  480. font-family: Impact, Impact-Regular;
  481. color: #ffffff;
  482. line-height: var(--size-42);
  483. }
  484. .desc_btn {
  485. width: var(--size-170);
  486. height: var(--size-60);
  487. background: linear-gradient(0deg, #7b9c4f 0%, #2da19d 100%), #1a1a1a;
  488. border-radius: var(--size-8);
  489. text-align: center;
  490. line-height: var(--size-60);
  491. font-size: var(--size-18);
  492. color: #ffffff;
  493. margin: var(--size-30) 0;
  494. }
  495. }
  496. .direction {
  497. width: var(--size-73);
  498. height: var(--size-73);
  499. background: #ffffff;
  500. border-radius: 50%;
  501. position: absolute;
  502. top: 40%;
  503. display: flex;
  504. align-items: center;
  505. justify-content: center;
  506. cursor: pointer;
  507. }
  508. .carousel_l {
  509. left: var(--size--36);
  510. span {
  511. display: block;
  512. transform: rotateZ(-180deg);
  513. font-size: 42px;
  514. color: #1a1a1a;
  515. }
  516. }
  517. .carousel_r {
  518. right: var(--size--36);
  519. span {
  520. display: block;
  521. font-size: 42px;
  522. color: #1a1a1a;
  523. }
  524. }
  525. }
  526. }
  527. .popularBox {
  528. background: linear-gradient(
  529. 141deg,
  530. rgba(73, 159, 129, 0.85) 0%,
  531. rgba(116, 156, 86, 0.85) 91%
  532. ),
  533. #e2f1ee;
  534. padding: var(--size-80) var(--size-145) var(--size-80);
  535. display: flex;
  536. .popularBox_l {
  537. margin-right: var(--size-46);
  538. .popularBox_l_title {
  539. display: flex;
  540. justify-content: space-between;
  541. align-items: flex-end;
  542. .popularBox_l_title_l {
  543. font-size: var(--size-48);
  544. font-family: Impact, Impact-Regular;
  545. color: #1a1a1a;
  546. line-height: var(--size-58);
  547. }
  548. .popularBox_l_title_r {
  549. font-size: var(--size-18);
  550. font-family: Microsoft YaHei, Microsoft YaHei-Regular;
  551. color: #ffffff;
  552. border-bottom: 1px solid #ffffff;
  553. span {
  554. font-size: var(--size-32);
  555. position: relative;
  556. top: var(--size-6);
  557. }
  558. }
  559. }
  560. .popularBox_l_list {
  561. margin-top: var(--size-45);
  562. display: flex;
  563. .popularBox_l_list_item {
  564. width: var(--size-360);
  565. border-radius: var(--size-10);
  566. overflow: hidden;
  567. &:first-child {
  568. margin-right: var(--size-47);
  569. }
  570. img {
  571. width: var(--size-360);
  572. height: var(--size-404);
  573. display: block;
  574. }
  575. .popularBox_l_list_item_box {
  576. background: #ffffff;
  577. padding: var(--size-20) var(--size-18) var(--size-35);
  578. .popularBox_l_list_item_box_title {
  579. font-size: var(--size-18);
  580. font-family: Microsoft YaHei, Microsoft YaHei-Regular;
  581. color: #1a1a1a;
  582. line-height: var(--size-28);
  583. margin-bottom: var(--size-34);
  584. overflow: hidden;
  585. text-overflow: ellipsis;
  586. display: -webkit-box;
  587. -webkit-line-clamp: 2;
  588. -webkit-box-orient: vertical;
  589. }
  590. .popularBox_l_list_item_box_btn {
  591. display: block;
  592. width: var(--size-170);
  593. height: var(--size-48);
  594. background: linear-gradient(0deg, #7b9c4f 0%, #2da19d 100%),
  595. #1a1a1a;
  596. border-radius: var(--size-8);
  597. font-size: var(--size-18);
  598. font-family: Microsoft YaHei, Microsoft YaHei-Regular;
  599. text-align: center;
  600. color: #ffffff;
  601. line-height: var(--size-49);
  602. cursor: pointer;
  603. }
  604. }
  605. }
  606. }
  607. }
  608. .popularBox_r {
  609. .popularBox_r_title {
  610. font-size: var(--size-48);
  611. font-family: Impact, Impact-Regular;
  612. text-align: right;
  613. color: #ffffff;
  614. line-height: var(--size-58);
  615. }
  616. .popularBox_r_list {
  617. display: flex;
  618. flex-wrap: wrap;
  619. margin-top: var(--size-45);
  620. > div {
  621. position: relative;
  622. img {
  623. width: var(--size-199);
  624. height: var(--size-199);
  625. display: block;
  626. object-fit: cover;
  627. }
  628. div {
  629. width: 100%;
  630. font-size: var(--size-16);
  631. font-family: Arial, Arial-Regular;
  632. font-weight: 400;
  633. text-align: center;
  634. padding: 0 0 var(--size-15);
  635. color: #ffffff;
  636. line-height: var(--size-20);
  637. position: absolute;
  638. left: 0;
  639. bottom: 0;
  640. }
  641. }
  642. }
  643. }
  644. }
  645. .hotBox {
  646. padding: var(--size-80) var(--size-145) var(--size-80);
  647. background: #f5f5f5;
  648. .hotBox_title {
  649. font-size: var(--size-48);
  650. font-family: Impact, Impact-Regular;
  651. text-align: center;
  652. color: #1a1a1a;
  653. }
  654. .hotBox_list {
  655. display: flex;
  656. margin-top: var(--size-20);
  657. .hotBox_list_item {
  658. display: block;
  659. cursor: pointer;
  660. width: var(--size-514);
  661. margin-right: var(--size-43);
  662. &:last-child {
  663. margin-right: 0;
  664. }
  665. img {
  666. width: var(--size-514);
  667. height: var(--size-372);
  668. display: block;
  669. }
  670. .hotBox_list_item_box {
  671. padding: var(--size-30) var(--size-18) var(--size-41);
  672. background: #ffffff;
  673. border-bottom: var(--size-7) solid #ffffff;
  674. .hotBox_list_item_box_date {
  675. font-size: var(--size-18);
  676. font-family: Arial, Arial-Regular;
  677. font-weight: 400;
  678. text-align: left;
  679. color: #666666;
  680. padding: 0 var(--size-14);
  681. border-left: 1px solid #666666;
  682. border-right: 1px solid #666666;
  683. line-height: var(--size-20);
  684. display: inline-block;
  685. margin-left: var(--size-2);
  686. }
  687. .hotBox_list_item_box_text {
  688. font-size: var(--size-26);
  689. font-family: Arial, Arial-Bold;
  690. font-weight: 700;
  691. text-align: left;
  692. color: #1a1a1a;
  693. margin-top: var(--size-6);
  694. overflow: hidden;
  695. text-overflow: ellipsis;
  696. display: -webkit-box;
  697. -webkit-line-clamp: 2;
  698. -webkit-box-orient: vertical;
  699. }
  700. }
  701. }
  702. .active {
  703. .hotBox_list_item_box {
  704. border-bottom: var(--size-7) solid #509f7a;
  705. .hotBox_list_item_box_date {
  706. color: #509f7a;
  707. border-left: 1px solid #509f7a;
  708. border-right: 1px solid #509f7a;
  709. }
  710. .hotBox_list_item_box_text {
  711. color: #509f7a;
  712. }
  713. }
  714. }
  715. }
  716. .hotBox_btn {
  717. width: var(--size-217);
  718. height: var(--size-60);
  719. background: linear-gradient(0deg, #7b9c4f 0%, #2da19d 100%), #1a1a1a;
  720. border-radius: var(--size-8);
  721. text-align: center;
  722. line-height: var(--size-60);
  723. font-size: var(--size-18);
  724. color: #ffffff;
  725. margin: var(--size-40) auto 0;
  726. cursor: pointer;
  727. }
  728. }
  729. .researchBox {
  730. padding: var(--size-80) var(--size-145) var(--size-155);
  731. .researchBox_title {
  732. font-size: var(--size-48);
  733. font-family: Impact, Impact-Regular;
  734. text-align: center;
  735. color: #1a1a1a;
  736. }
  737. .researchBox_list {
  738. display: flex;
  739. justify-content: space-between;
  740. margin-top: var(--size-20);
  741. .researchBox_list_item {
  742. width: var(--size-253);
  743. height: var(--size-166);
  744. background: #fafafa;
  745. border-radius: var(--size-8);
  746. padding-top: var(--size-28);
  747. cursor: pointer;
  748. text-align: center;
  749. img {
  750. height: var(--size-70);
  751. margin: auto;
  752. }
  753. .img {
  754. display: none;
  755. }
  756. div {
  757. font-size: var(--size-18);
  758. font-family: Arial, Arial-Bold;
  759. font-weight: 700;
  760. text-align: center;
  761. color: #1a1a1a;
  762. margin-top: var(--size-12);
  763. }
  764. &:hover {
  765. background: #e2f1ee;
  766. .imga {
  767. display: block;
  768. }
  769. .img {
  770. display: none !important;
  771. }
  772. div {
  773. color: #639e57;
  774. }
  775. }
  776. }
  777. // .active {
  778. // background: #e2f1ee;
  779. // div {
  780. // color: #639e57;
  781. // }
  782. // }
  783. }
  784. }
  785. .customersBox {
  786. background: #f6faf7;
  787. padding: var(--size-80) var(--size-145) var(--size-140);
  788. .customersBox_title {
  789. font-size: var(--size-48);
  790. font-family: Impact, Impact-Regular;
  791. text-align: center;
  792. color: #1a1a1a;
  793. }
  794. .customersBox_subTitle {
  795. font-size: var(--size-18);
  796. font-family: Arial, Arial-Regular;
  797. text-align: center;
  798. color: #666666;
  799. }
  800. .customersBox_carousel {
  801. margin-top: var(--size-45);
  802. .customersBox_carousel_item {
  803. display: flex;
  804. justify-content: space-between;
  805. img {
  806. height: var(--size-70);
  807. }
  808. }
  809. }
  810. }
  811. .customBox {
  812. background: url("@/assets/images/bg1.png");
  813. padding: var(--size-105) var(--size-145) var(--size-120);
  814. position: relative;
  815. .customBox_title {
  816. font-size: var(--size-48);
  817. font-family: Impact, Impact-Regular;
  818. font-weight: 400;
  819. text-align: left;
  820. color: #1a1a1a;
  821. }
  822. .customBox_content {
  823. font-size: var(--size-18);
  824. font-family: Arial, Arial-Regular;
  825. font-weight: 400;
  826. text-align: left;
  827. color: #1a1a1a;
  828. }
  829. .customBox_btn {
  830. width: var(--size-227);
  831. height: var(--size-60);
  832. background: linear-gradient(0deg, #7b9c4f 0%, #2da19d 100%), #1a1a1a;
  833. border-radius: var(--size-8);
  834. text-align: center;
  835. line-height: var(--size-60);
  836. font-size: var(--size-18);
  837. color: #ffffff;
  838. margin: var(--size-40) 0 0;
  839. cursor: pointer;
  840. }
  841. .customBox_img {
  842. width: var(--size-362);
  843. height: var(--size-553);
  844. position: absolute;
  845. bottom: 0;
  846. right: var(--size-145);
  847. }
  848. }
  849. }
  850. </style>