index.vue 30 KB

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