index.vue 144 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770
  1. <template>
  2. <div>
  3. <!--logo-->
  4. <HomePageHead></HomePageHead>
  5. <!--导航-->
  6. <HomePageNavigation></HomePageNavigation>
  7. <!--首页顶部滚动新闻-->
  8. <div class="swiper-container" v-if="imagelist && imagelist.length > 0">
  9. <Swiper :slides-per-view="5" :space-between="20" :loop="true" :autoplay="{
  10. delay: 3000,
  11. disableOnInteraction: false,
  12. pauseOnMouseEnter: true,
  13. stopOnLastSlide: false,
  14. waitForTransition: true
  15. }" :speed="600" :modules="modules" @slide-change="swiperHandleSlideChange" @swiper="onSwiper"
  16. class="custom-swiper" :navigation="true">
  17. <SwiperSlide v-for="(item, index) in imagelist" :key="index">
  18. <NuxtLink :to="`/${item.pinyin}/${item.id}.html`" :title="item.title" class="slide-link"
  19. :data-index="index">
  20. <div class="image-container">
  21. <!-- <img
  22. :src="item.imgurl || '/index/news.png'"
  23. :alt="item.title"
  24. class="slide-image"
  25. loading="lazy"
  26. /> -->
  27. <img src="/public/index/news.png" :alt="item.title" class="slide-image" loading="lazy" />
  28. <span class="image-title">{{ item.title }}</span>
  29. </div>
  30. </NuxtLink>
  31. </SwiperSlide>
  32. </Swiper>
  33. </div>
  34. <!--首页顶部新闻-->
  35. <div class="index—layer-1">
  36. <!--左侧焦点图新闻-->
  37. <div class="index—layer-1-left">
  38. <div class="nuxt-swiper" v-if="imagelist">
  39. <el-carousel :interval="663000" :touchable="true" arrow="never" indicator-class="custom-indicator"
  40. class="custom-carousel roll_in" @change="handleIndicatorChange">
  41. <el-carousel-item v-for="(item, index) in imagelist" :key="index">
  42. <NuxtLink :to="`/${item.pinyin}/${item.id}.html`" :title="item.title">
  43. <!-- <img :src="item.imgurl" :alt="item.title"> -->
  44. <img src="/public/index/news.png" :alt="item.title">
  45. <span>{{ item.title }}</span>
  46. </NuxtLink>
  47. </el-carousel-item>
  48. <template #indicator="{ index }">
  49. <button :class="{ 'active-indicator': currentIndex === index }">{{ index + 1 }}</button>
  50. </template>
  51. </el-carousel>
  52. </div>
  53. </div>
  54. <!--中央选项卡-->
  55. <div class="index-layer-1-middle">
  56. <div class="index-tabs">
  57. <div class="tabtlt">
  58. <div @mouseenter="indexTabs = 1" :class="indexTabs == 1 ? 'intabtltbg' : ''">
  59. <NuxtLink to="/">
  60. 选项1
  61. </NuxtLink>
  62. </div>
  63. <div @mouseenter="indexTabs = 2" :class="indexTabs == 2 ? 'intabtltbg' : ''">
  64. <NuxtLink to="/">
  65. 选项2
  66. </NuxtLink>
  67. </div>
  68. </div>
  69. <div>
  70. <div v-if="indexTabs == 1" class="coninfoitem">
  71. <div class="coninfoitem_img">
  72. <img src="/public/index/news.png" />
  73. <div class="coninfoitem_img_text">
  74. <h3>
  75. <NuxtLink to="/">浙江高院召开党组会传达学习习近平总书记重要</NuxtLink>
  76. </h3>
  77. <p>
  78. <NuxtLink to="/">
  79. 12月30日上午,浙江高院召开党组(扩大)会议,传达学习习近平总书记重要指示、省委常委会听取省法院党组工作情况和《省法院工作报告》
  80. </NuxtLink>
  81. </p>
  82. </div>
  83. </div>
  84. <NuxtLink to="/" class="coninfoitem_title">
  85. <span>浙江高院召开党组会传达学习习近平总书记重要指示、省委常委会听取省法院党组工作情况汇报的会议精神</span>
  86. <span>2026-01-06</span>
  87. </NuxtLink>
  88. <NuxtLink to="/" class="coninfoitem_title">
  89. <span>“负担减轻,干劲更足了”</span>
  90. <span>2026-01-06</span>
  91. </NuxtLink>
  92. <NuxtLink to="/" class="coninfoitem_title">
  93. <span>让好政策真正惠及群众</span>
  94. <span>2026-01-06</span>
  95. </NuxtLink>
  96. <NuxtLink to="/" class="coninfoitem_title">
  97. <span>张掖:片区协作聚合力 联动监督提效能</span>
  98. <span>2026-01-06</span>
  99. </NuxtLink>
  100. <NuxtLink to="/" class="coninfoitem_title">
  101. <span>把学习贯彻习近平生态文明思想不断引向深入</span>
  102. <span>2026-01-06</span>
  103. </NuxtLink>
  104. </div>
  105. <div v-if="indexTabs == 2" class="coninfoitem">
  106. </div>
  107. </div>
  108. </div>
  109. </div>
  110. <!--右侧新闻列表-->
  111. <div class="index-layer-1-right">
  112. <div class="imgtlt">
  113. <NuxtLink to="/" class="coninfoitem_title">
  114. 各地动态
  115. </NuxtLink>
  116. </div>
  117. <div class="con_img_list">
  118. <NuxtLink to="/">
  119. <img src="/public/index/news.png" />
  120. <div class="con_img_list_rgba">青山梦:一位古稀企业...</div>
  121. </NuxtLink>
  122. <NuxtLink to="/">
  123. <img src="/public/index/news.png" />
  124. <div class="con_img_list_rgba">安全入校园 应急护童行 | 济宁市惠民社会救助服务中心“135最小应急单元” 走进南张中心幼儿园(第一期)</div>
  125. </NuxtLink>
  126. <NuxtLink to="/">
  127. <img src="/public/index/news.png" />
  128. <div class="con_img_list_rgba">吉林长春经济技术开发区:检察服务窗口嵌入综治中心</div>
  129. </NuxtLink>
  130. <NuxtLink to="/">
  131. <img src="/public/index/news.png" />
  132. <div class="con_img_list_rgba">天津高院与北辰法院联合举办全市法院司法警察“活力警营·逐梦青春”越野接力活动</div>
  133. </NuxtLink>
  134. </div>
  135. </div>
  136. </div>
  137. <!--首页中央新闻2-->
  138. <div class="index—layer-2">
  139. <div class="index—layer-2-left">
  140. <div class="index—layer-2-title">
  141. <div :class="indexTabs2 == 1 ? 'active' : ''" @mouseenter="indexTabs2 = 1">
  142. <NuxtLink to="/">
  143. 选项1
  144. </NuxtLink>
  145. </div>
  146. <div :class="indexTabs2 == 2 ? 'active' : ''" @mouseenter="indexTabs2 = 2">
  147. <NuxtLink to="/">
  148. 选项2
  149. </NuxtLink>
  150. </div>
  151. </div>
  152. <div v-if="indexTabs2 == 1">
  153. <div class="index-tabs2-top">
  154. <NuxtLink to="/">
  155. <img src="/public/index/news.png" />
  156. </NuxtLink>
  157. <div>
  158. <h3>
  159. <NuxtLink to="/">
  160. 京津冀对在三地拟执业的司法鉴定人进行职业能力评估联考
  161. </NuxtLink>
  162. </h3>
  163. <p>
  164. <NuxtLink to="/">
  165. “2026年1月1日起,跟朋友私信发带颜色的信息就违法?”最近这条消息刷爆社交平台,不少网友慌了神:“跟伴侣私聊也不行吗?”“不小心发错给文件传输助手算不算违法?”一时间焦虑情绪蔓延。其实,这是对新修...
  166. </NuxtLink>
  167. </p>
  168. </div>
  169. </div>
  170. <div class="index-tabs2-bottom">
  171. <NuxtLink to="/">
  172. <span>盐池:观庭审知敬畏 守底线践清廉</span>
  173. <span>2026-01-06</span>
  174. </NuxtLink>
  175. <NuxtLink to="/">
  176. <span>吴忠:“组地”监督赋能优化营商环境</span>
  177. <span>2026-01-06</span>
  178. </NuxtLink>
  179. <NuxtLink to="/">
  180. <span>海原:整治骗取套取社保基金行为 守住民生资金安全防线</span>
  181. <span>2026-01-06</span>
  182. </NuxtLink>
  183. <NuxtLink to="/">
  184. <span>大武口:持续拧紧责任链条 深化全面从严治党</span>
  185. <span>2026-01-06</span>
  186. </NuxtLink>
  187. <NuxtLink to="/">
  188. <span>利通区:以“监督一点通”为抓手 推动基层权力在阳光下运行</span>
  189. <span>2026-01-06</span>
  190. </NuxtLink>
  191. </div>
  192. </div>
  193. </div>
  194. <div class="index—layer-2-right">
  195. <div class="index—layer-2-title">
  196. <div :class="indexTabs3 == 1 ? 'active' : ''" @mouseenter="indexTabs3 = 1">
  197. <NuxtLink to="/">
  198. 选项1
  199. </NuxtLink>
  200. </div>
  201. <div :class="indexTabs3 == 2 ? 'active' : ''" @mouseenter="indexTabs3 = 2">
  202. <NuxtLink to="/">
  203. 选项2
  204. </NuxtLink>
  205. </div>
  206. </div>
  207. <div v-if="indexTabs3 == 1">
  208. <div class="index-tabs2-top">
  209. <NuxtLink to="/">
  210. <img src="/public/index/news.png" />
  211. </NuxtLink>
  212. <div>
  213. <h3>
  214. <NuxtLink to="/">
  215. 京津冀对在三地拟执业的司法鉴定人进行职业能力评估联考
  216. </NuxtLink>
  217. </h3>
  218. <p>
  219. <NuxtLink to="/">
  220. “2026年1月1日起,跟朋友私信发带颜色的信息就违法?”最近这条消息刷爆社交平台,不少网友慌了神:“跟伴侣私聊也不行吗?”“不小心发错给文件传输助手算不算违法?”一时间焦虑情绪蔓延。其实,这是对新修...
  221. </NuxtLink>
  222. </p>
  223. </div>
  224. </div>
  225. <div class="index-tabs2-bottom">
  226. <NuxtLink to="/">
  227. <span>盐池:观庭审知敬畏 守底线践清廉</span>
  228. <span>2026-01-06</span>
  229. </NuxtLink>
  230. <NuxtLink to="/">
  231. <span>吴忠:“组地”监督赋能优化营商环境</span>
  232. <span>2026-01-06</span>
  233. </NuxtLink>
  234. <NuxtLink to="/">
  235. <span>海原:整治骗取套取社保基金行为 守住民生资金安全防线</span>
  236. <span>2026-01-06</span>
  237. </NuxtLink>
  238. <NuxtLink to="/">
  239. <span>大武口:持续拧紧责任链条 深化全面从严治党</span>
  240. <span>2026-01-06</span>
  241. </NuxtLink>
  242. <NuxtLink to="/">
  243. <span>利通区:以“监督一点通”为抓手 推动基层权力在阳光下运行</span>
  244. <span>2026-01-06</span>
  245. </NuxtLink>
  246. </div>
  247. </div>
  248. </div>
  249. </div>
  250. <!--首页中央新闻3-->
  251. <div class="index—layer-3">
  252. <div class="index—layer-3-line">
  253. <!--选项卡类型-->
  254. <div class="index—layer-3-tabs-box">
  255. <div class="index—layer-3-tabs-box-title">
  256. <div @mouseenter="indexTabs4 = 1" :class="indexTabs4 == 1 ? 'active' : ''">
  257. <NuxtLink to="/">
  258. 选项1
  259. </NuxtLink>
  260. </div>
  261. <div @mouseenter="indexTabs4 = 2" :class="indexTabs4 == 2 ? 'active' : ''">
  262. <NuxtLink to="/">
  263. 选项2
  264. </NuxtLink>
  265. </div>
  266. </div>
  267. <div v-if="indexTabs4 == 1" class="index—layer-3-news-body">
  268. <div class="index—layer-3-news-body-title">
  269. <div class="news-body-left">
  270. <NuxtLink to="/">
  271. <img src="/public/index/news.png" alt="">
  272. </NuxtLink>
  273. </div>
  274. <div class="news-body-right">
  275. <NuxtLink to="/">
  276. 政讯通·全国法制调研中心:专注法治服务,践行责任担当
  277. </NuxtLink>
  278. <p>
  279. <NuxtLink to="/">
  280. 法治建设的推进,需要专业力量的深耕与赋能。政讯通·全国法制调研中心作为法治领域的重要参与主体,始终聚焦核心使命,以多元服务助力法治进程,为社会各界提供专业、可靠的法治相关支撑,也为心怀法治热忱的普...
  281. </NuxtLink>
  282. </p>
  283. </div>
  284. </div>
  285. <div class="index—layer-3-news-body-main">
  286. <NuxtLink to="/">
  287. <span>公证人员“三个特别”助力群众办好心头事</span>
  288. <span>2026-01-06</span>
  289. </NuxtLink>
  290. <NuxtLink to="/">
  291. <span>聚行业智慧 凝发展共识,天河区举办律所主任交流座谈会</span>
  292. <span>2026-01-06</span>
  293. </NuxtLink>
  294. <NuxtLink to="/">
  295. <span>荔湾区司法局岭南司法所开展“迎全运 降发案”反诈宣传活动</span>
  296. <span>2026-01-06</span>
  297. </NuxtLink>
  298. <NuxtLink to="/">
  299. <span>市潭岗所:架起关爱“连心桥” 畅通血脉“生命线”</span>
  300. <span>2026-01-06</span>
  301. </NuxtLink>
  302. <NuxtLink to="/">
  303. <span>花都:漫步古村学宪法 徒步普法润民心</span>
  304. <span>2026-01-06</span>
  305. </NuxtLink>
  306. <NuxtLink to="/">
  307. <span>种下一抹绿,疗愈一颗心——荔湾区司法局组织社矫对象创新开展心理舒缓小组活动</span>
  308. <span>2026-01-06</span>
  309. </NuxtLink>
  310. <NuxtLink to="/">
  311. <span>天河法治赋能 高质量发展成色更足</span>
  312. <span>2026-01-06</span>
  313. </NuxtLink>
  314. </div>
  315. </div>
  316. <div v-if="indexTabs4 == 2">
  317. </div>
  318. </div>
  319. <!--常规类型-->
  320. <div class="index—layer-3-news-box">
  321. <div class="index—layer-3-news-box-title">
  322. <div>
  323. <NuxtLink to="/">
  324. 典型案例
  325. </NuxtLink>
  326. </div>
  327. </div>
  328. <div class="index—layer-3-news-body">
  329. <div class="index—layer-3-news-body-title">
  330. <div class="news-body-left">
  331. <NuxtLink to="/">
  332. <img src="/public/index/news.png" alt="">
  333. </NuxtLink>
  334. </div>
  335. <div class="news-body-right">
  336. <NuxtLink to="/">
  337. 政讯通·全国法制调研中心:专注法治服务,践行责任担当
  338. </NuxtLink>
  339. <p>
  340. <NuxtLink to="/">
  341. 法治建设的推进,需要专业力量的深耕与赋能。政讯通·全国法制调研中心作为法治领域的重要参与主体,始终聚焦核心使命,以多元服务助力法治进程,为社会各界提供专业、可靠的法治相关支撑,也为心怀法治热忱的普...
  342. </NuxtLink>
  343. </p>
  344. </div>
  345. </div>
  346. <div class="index—layer-3-news-body-main">
  347. <NuxtLink to="/">
  348. <span>公证人员“三个特别”助力群众办好心头事</span>
  349. <span>2026-01-06</span>
  350. </NuxtLink>
  351. <NuxtLink to="/">
  352. <span>聚行业智慧 凝发展共识,天河区举办律所主任交流座谈会</span>
  353. <span>2026-01-06</span>
  354. </NuxtLink>
  355. <NuxtLink to="/">
  356. <span>荔湾区司法局岭南司法所开展“迎全运 降发案”反诈宣传活动</span>
  357. <span>2026-01-06</span>
  358. </NuxtLink>
  359. <NuxtLink to="/">
  360. <span>市潭岗所:架起关爱“连心桥” 畅通血脉“生命线”</span>
  361. <span>2026-01-06</span>
  362. </NuxtLink>
  363. <NuxtLink to="/">
  364. <span>花都:漫步古村学宪法 徒步普法润民心</span>
  365. <span>2026-01-06</span>
  366. </NuxtLink>
  367. <NuxtLink to="/">
  368. <span>种下一抹绿,疗愈一颗心——荔湾区司法局组织社矫对象创新开展心理舒缓小组活动</span>
  369. <span>2026-01-06</span>
  370. </NuxtLink>
  371. <NuxtLink to="/">
  372. <span>天河法治赋能 高质量发展成色更足</span>
  373. <span>2026-01-06</span>
  374. </NuxtLink>
  375. </div>
  376. </div>
  377. </div>
  378. <div class="index—layer-3-news-box">
  379. <div class="index—layer-3-news-box-title">
  380. <div>
  381. <NuxtLink to="/">
  382. 法制文化
  383. </NuxtLink>
  384. </div>
  385. </div>
  386. <div class="index—layer-3-news-body">
  387. <div class="index—layer-3-news-body-title">
  388. <div class="news-body-left">
  389. <NuxtLink to="/">
  390. <img src="/public/index/news.png" alt="">
  391. </NuxtLink>
  392. </div>
  393. <div class="news-body-right">
  394. <NuxtLink to="/">
  395. 政讯通·全国法制调研中心:专注法治服务,践行责任担当
  396. </NuxtLink>
  397. <p>
  398. <NuxtLink to="/">
  399. 法治建设的推进,需要专业力量的深耕与赋能。政讯通·全国法制调研中心作为法治领域的重要参与主体,始终聚焦核心使命,以多元服务助力法治进程,为社会各界提供专业、可靠的法治相关支撑,也为心怀法治热忱的普...
  400. </NuxtLink>
  401. </p>
  402. </div>
  403. </div>
  404. <div class="index—layer-3-news-body-main">
  405. <NuxtLink to="/">
  406. <span>公证人员“三个特别”助力群众办好心头事</span>
  407. <span>2026-01-06</span>
  408. </NuxtLink>
  409. <NuxtLink to="/">
  410. <span>聚行业智慧 凝发展共识,天河区举办律所主任交流座谈会</span>
  411. <span>2026-01-06</span>
  412. </NuxtLink>
  413. <NuxtLink to="/">
  414. <span>荔湾区司法局岭南司法所开展“迎全运 降发案”反诈宣传活动</span>
  415. <span>2026-01-06</span>
  416. </NuxtLink>
  417. <NuxtLink to="/">
  418. <span>市潭岗所:架起关爱“连心桥” 畅通血脉“生命线”</span>
  419. <span>2026-01-06</span>
  420. </NuxtLink>
  421. <NuxtLink to="/">
  422. <span>花都:漫步古村学宪法 徒步普法润民心</span>
  423. <span>2026-01-06</span>
  424. </NuxtLink>
  425. <NuxtLink to="/">
  426. <span>种下一抹绿,疗愈一颗心——荔湾区司法局组织社矫对象创新开展心理舒缓小组活动</span>
  427. <span>2026-01-06</span>
  428. </NuxtLink>
  429. <NuxtLink to="/">
  430. <span>天河法治赋能 高质量发展成色更足</span>
  431. <span>2026-01-06</span>
  432. </NuxtLink>
  433. </div>
  434. </div>
  435. </div>
  436. </div>
  437. <div class="index—layer-3-line">
  438. <div class="index—layer-3-news-box">
  439. <div class="index—layer-3-news-box-title">
  440. <div>
  441. <NuxtLink to="/">
  442. 法制文化
  443. </NuxtLink>
  444. </div>
  445. </div>
  446. <div class="index—layer-3-news-body">
  447. <div class="index—layer-3-news-body-title">
  448. <div class="news-body-left">
  449. <NuxtLink to="/">
  450. <img src="/public/index/news.png" alt="">
  451. </NuxtLink>
  452. </div>
  453. <div class="news-body-right">
  454. <NuxtLink to="/">
  455. 政讯通·全国法制调研中心:专注法治服务,践行责任担当
  456. </NuxtLink>
  457. <p>
  458. <NuxtLink to="/">
  459. 法治建设的推进,需要专业力量的深耕与赋能。政讯通·全国法制调研中心作为法治领域的重要参与主体,始终聚焦核心使命,以多元服务助力法治进程,为社会各界提供专业、可靠的法治相关支撑,也为心怀法治热忱的普...
  460. </NuxtLink>
  461. </p>
  462. </div>
  463. </div>
  464. <div class="index—layer-3-news-body-main">
  465. <NuxtLink to="/">
  466. <span>公证人员“三个特别”助力群众办好心头事</span>
  467. <span>2026-01-06</span>
  468. </NuxtLink>
  469. <NuxtLink to="/">
  470. <span>聚行业智慧 凝发展共识,天河区举办律所主任交流座谈会</span>
  471. <span>2026-01-06</span>
  472. </NuxtLink>
  473. <NuxtLink to="/">
  474. <span>荔湾区司法局岭南司法所开展“迎全运 降发案”反诈宣传活动</span>
  475. <span>2026-01-06</span>
  476. </NuxtLink>
  477. <NuxtLink to="/">
  478. <span>市潭岗所:架起关爱“连心桥” 畅通血脉“生命线”</span>
  479. <span>2026-01-06</span>
  480. </NuxtLink>
  481. <NuxtLink to="/">
  482. <span>花都:漫步古村学宪法 徒步普法润民心</span>
  483. <span>2026-01-06</span>
  484. </NuxtLink>
  485. <NuxtLink to="/">
  486. <span>种下一抹绿,疗愈一颗心——荔湾区司法局组织社矫对象创新开展心理舒缓小组活动</span>
  487. <span>2026-01-06</span>
  488. </NuxtLink>
  489. <NuxtLink to="/">
  490. <span>天河法治赋能 高质量发展成色更足</span>
  491. <span>2026-01-06</span>
  492. </NuxtLink>
  493. </div>
  494. </div>
  495. </div>
  496. <div class="index—layer-3-news-box">
  497. <div class="index—layer-3-news-box-title">
  498. <div>
  499. <NuxtLink to="/">
  500. 法制文化
  501. </NuxtLink>
  502. </div>
  503. </div>
  504. <div class="index—layer-3-news-body">
  505. <div class="index—layer-3-news-body-title">
  506. <div class="news-body-left">
  507. <NuxtLink to="/">
  508. <img src="/public/index/news.png" alt="">
  509. </NuxtLink>
  510. </div>
  511. <div class="news-body-right">
  512. <NuxtLink to="/">
  513. 政讯通·全国法制调研中心:专注法治服务,践行责任担当
  514. </NuxtLink>
  515. <p>
  516. <NuxtLink to="/">
  517. 法治建设的推进,需要专业力量的深耕与赋能。政讯通·全国法制调研中心作为法治领域的重要参与主体,始终聚焦核心使命,以多元服务助力法治进程,为社会各界提供专业、可靠的法治相关支撑,也为心怀法治热忱的普...
  518. </NuxtLink>
  519. </p>
  520. </div>
  521. </div>
  522. <div class="index—layer-3-news-body-main">
  523. <NuxtLink to="/">
  524. <span>公证人员“三个特别”助力群众办好心头事</span>
  525. <span>2026-01-06</span>
  526. </NuxtLink>
  527. <NuxtLink to="/">
  528. <span>聚行业智慧 凝发展共识,天河区举办律所主任交流座谈会</span>
  529. <span>2026-01-06</span>
  530. </NuxtLink>
  531. <NuxtLink to="/">
  532. <span>荔湾区司法局岭南司法所开展“迎全运 降发案”反诈宣传活动</span>
  533. <span>2026-01-06</span>
  534. </NuxtLink>
  535. <NuxtLink to="/">
  536. <span>市潭岗所:架起关爱“连心桥” 畅通血脉“生命线”</span>
  537. <span>2026-01-06</span>
  538. </NuxtLink>
  539. <NuxtLink to="/">
  540. <span>花都:漫步古村学宪法 徒步普法润民心</span>
  541. <span>2026-01-06</span>
  542. </NuxtLink>
  543. <NuxtLink to="/">
  544. <span>种下一抹绿,疗愈一颗心——荔湾区司法局组织社矫对象创新开展心理舒缓小组活动</span>
  545. <span>2026-01-06</span>
  546. </NuxtLink>
  547. <NuxtLink to="/">
  548. <span>天河法治赋能 高质量发展成色更足</span>
  549. <span>2026-01-06</span>
  550. </NuxtLink>
  551. </div>
  552. </div>
  553. </div>
  554. <div class="index—layer-3-news-box">
  555. <div class="index—layer-3-news-box-title">
  556. <div>
  557. <NuxtLink to="/">
  558. 法制文化
  559. </NuxtLink>
  560. </div>
  561. </div>
  562. <div class="index—layer-3-news-body">
  563. <div class="index—layer-3-news-body-title">
  564. <div class="news-body-left">
  565. <NuxtLink to="/">
  566. <img src="/public/index/news.png" alt="">
  567. </NuxtLink>
  568. </div>
  569. <div class="news-body-right">
  570. <NuxtLink to="/">
  571. 政讯通·全国法制调研中心:专注法治服务,践行责任担当
  572. </NuxtLink>
  573. <p>
  574. <NuxtLink to="/">
  575. 法治建设的推进,需要专业力量的深耕与赋能。政讯通·全国法制调研中心作为法治领域的重要参与主体,始终聚焦核心使命,以多元服务助力法治进程,为社会各界提供专业、可靠的法治相关支撑,也为心怀法治热忱的普...
  576. </NuxtLink>
  577. </p>
  578. </div>
  579. </div>
  580. <div class="index—layer-3-news-body-main">
  581. <NuxtLink to="/">
  582. <span>公证人员“三个特别”助力群众办好心头事</span>
  583. <span>2026-01-06</span>
  584. </NuxtLink>
  585. <NuxtLink to="/">
  586. <span>聚行业智慧 凝发展共识,天河区举办律所主任交流座谈会</span>
  587. <span>2026-01-06</span>
  588. </NuxtLink>
  589. <NuxtLink to="/">
  590. <span>荔湾区司法局岭南司法所开展“迎全运 降发案”反诈宣传活动</span>
  591. <span>2026-01-06</span>
  592. </NuxtLink>
  593. <NuxtLink to="/">
  594. <span>市潭岗所:架起关爱“连心桥” 畅通血脉“生命线”</span>
  595. <span>2026-01-06</span>
  596. </NuxtLink>
  597. <NuxtLink to="/">
  598. <span>花都:漫步古村学宪法 徒步普法润民心</span>
  599. <span>2026-01-06</span>
  600. </NuxtLink>
  601. <NuxtLink to="/">
  602. <span>种下一抹绿,疗愈一颗心——荔湾区司法局组织社矫对象创新开展心理舒缓小组活动</span>
  603. <span>2026-01-06</span>
  604. </NuxtLink>
  605. <NuxtLink to="/">
  606. <span>天河法治赋能 高质量发展成色更足</span>
  607. <span>2026-01-06</span>
  608. </NuxtLink>
  609. </div>
  610. </div>
  611. </div>
  612. </div>
  613. </div>
  614. <!--网友留言-->
  615. <div class="index-layer-4">
  616. <div class="index-layer-4-title">
  617. <NuxtLink to="/">
  618. 网友留言
  619. </NuxtLink>
  620. <NuxtLink to="/">
  621. 在线留言
  622. </NuxtLink>
  623. </div>
  624. <div class="index-layer-4-body">
  625. <ul class="post_nr liuyan">
  626. <li>
  627. <span class="name">熊先生:<b>网站名称问题</b> 2025-12-29 16:18:48</span>
  628. <p class="nr">内容:看你们的介绍,政讯通•全国法制调研中心,网站名称不让用全国,你们怎么可以用啊?</p>
  629. <p class="hfnr">
  630. <span style="color:#f00;">回复:</span>
  631. 工信部不审批带全国的网站。我们所有带全国字样的名称前都加了“政讯通”,意思是北京政讯通法律咨询有限公司在全国范围内开展的法制调研工作。网站显示没有全国字样,在文字资料或者口头表述时会有加全国,使用名称都是政讯通·全国法制资讯发布中心、政讯通•全国法制调研中心、政讯通•全国法制舆情监测中心和政讯通•全国法制发展促进中心。
  632. </p>
  633. </li>
  634. <li>
  635. <span class="name">zhang:<b>我从网上搜搜到你们这个网站,我看了下网站没看明白你们主要是做什么的?能简单介绍下吗?</b> 2025-12-26
  636. 17:43:46</span>
  637. <p class="nr">内容:我从网上搜搜到你们这个网站,我看了下网站没看明白你们主要是做什么的?能简单介绍下吗?</p>
  638. <p class="hfnr">
  639. <span style="color:#f00;">回复:</span>
  640. 不知道您看到的是我们的哪个网站,我们法制调研项目有200多个网站。主要业务分四大部分:
  641. 资讯与信息化业务:面向全国党政机关、企事业单位及相关经济组织发展法制信息化会员为主的网络资讯信息服务,提供200个网站资讯发布平台。同步为法制领域提供信息交流与沟通的平台,可以实现一对一、一对多和多对多的沟通交流。
  642. 法制与调研业务:依法开展法制领域的课题调研、法制宣传、法律援助、法律咨询和公益活动等服务。
  643. 舆情服务业务:面向全国法制党政机关、企事业单位等法人单位或组织依法提供网络舆情方面的监测、处理、公关等服务。
  644. 行业与发展业务:综合管理与辅助各地市级中心的运营、面向社会提供法制领域的活动策划与企业发展定制服务。
  645. </p>
  646. </li>
  647. </ul>
  648. </div>
  649. </div>
  650. <!--底部-->
  651. <HomeFoot></HomeFoot>
  652. </div>
  653. </template>
  654. <script setup>
  655. //页面是否已经加载完毕
  656. const pageLoading = ref(false)
  657. //1.加载页面必备组件 start---------------------------------------->
  658. import { ref, onMounted } from 'vue';
  659. import { ElRadio, ElRadioGroup, ElCheckbox, ElCheckboxGroup, ElMessage, ElInput } from 'element-plus';
  660. import { useSeoMeta } from '#imports';
  661. //格式化跳转路径 - 标题
  662. //首页分类栏目标题,不需要考虑外链
  663. const getLinkPath = (item) => {
  664. if (item.children_count == 0) {
  665. //return `/newsList/${item.cid}?page=1`;
  666. return `/${item.aLIas_pinyin}/list-1.html`;
  667. } else {
  668. //return `/primaryNavigation/${item.cid}`;
  669. return `/${item.aLIas_pinyin}/index.html`;
  670. }
  671. }
  672. //首页跳转到详情,这里需要考虑外链
  673. const getLinkPathDetail = (item) => {
  674. if (item.islink == 1) {
  675. return `${item.linkurl}`;
  676. } else {
  677. return `/${item.pinyin}/${item.id}.html`;
  678. }
  679. }
  680. //1.加载页面必备组件 end---------------------------------------->
  681. //2.交互方法 start---------------------------------------->
  682. //2.1 新闻图片切换
  683. const hoverStatus = ref(1)
  684. const qhPic = function (num) {
  685. hoverStatus.value = num;
  686. }
  687. //2.交互方法 end---------------------------------------->
  688. //3.投票 start---------------------------------------->
  689. //3.1 投票选择的值
  690. const radio1 = ref(''); //单选
  691. const check1 = ref([]); //多选
  692. const isDisabled = ref(false);//是否禁用提交按钮
  693. const isRadio = ref(true);//是否渲染单选
  694. const userSurId = ref('');//投票属于哪一篇文章
  695. const userChoice = ref('');//用于判断用户选择了其他选项以后,输入的值
  696. const userIsChoice = ref('');//用于判断其他选项目前是什么值
  697. const showUserChoice = ref(false);//是否显示其他输入框
  698. const websiteSurveyData = ref([]);//投票结果
  699. //3.2获得投票列表
  700. let voteList = ref([]);
  701. //3.2当用户选择了选项,判断是否展示其他输入框
  702. const handleRadioChange = (value) => {
  703. if (value == userIsChoice.value) {
  704. showUserChoice.value = true;
  705. } else {
  706. showUserChoice.value = false;
  707. }
  708. }
  709. const handleCheckboxChange = (value) => {
  710. if (value.includes(userIsChoice.value)) {
  711. showUserChoice.value = true;
  712. } else {
  713. showUserChoice.value = false;
  714. }
  715. }
  716. //3.2发起投票
  717. async function addWebsiteSurvey() {
  718. //判断当前是单选还是多选
  719. console.log(isRadio.value)
  720. if (isRadio.value) {
  721. console.log("用户单选!")
  722. if (radio1.value != '') {
  723. //先判断一下是否使用了其他选项
  724. if (showUserChoice.value) {
  725. if (userChoice.value != '') {
  726. //文章id
  727. // console.log(userSurId.value)
  728. // 用户输入的值
  729. // console.log(userChoice.value)
  730. //如果使用了其他,其他的选项需要增加进去
  731. const ChoiceData = await requestDataPromise('/web/addWebsiteSurveyOption', {
  732. method: 'GET',
  733. query: {
  734. 'sur_id': userSurId.value,//投票的新闻id
  735. 'choice_name': userChoice.value,//投票的选项id
  736. }
  737. });
  738. if (ChoiceData.code == 200) {
  739. //提交完其他选项以后,再正式发起投票
  740. const mkData = await requestDataPromise('/web/addWebsiteSurveyVote', {
  741. method: 'GET',
  742. query: {
  743. 'sur_id': userSurId.value,
  744. 'choice_id': ChoiceData.data
  745. }
  746. });
  747. if (mkData.code == 200) {
  748. ElMessage.success('投票成功!')
  749. //把投票结果显示到页面上 禁用投票按钮
  750. isDisabled.value = true;
  751. websiteSurveyData.value = mkData.data;
  752. //遍历一下,把用户选中的那个设置status为1
  753. let data = mkData.data;
  754. //遍历一下,把用户选中的那个设置status为1
  755. for (let item of data.data) {
  756. for (let i of data.choice) {
  757. if (item.id == i) {
  758. console.log(item.id)
  759. item.status = 1;
  760. }
  761. }
  762. }
  763. websiteSurveyData.value = data;
  764. } else {
  765. ElMessage.error(mkData.message)
  766. }
  767. } else {
  768. ElMessage.error('其他投票失败!')
  769. }
  770. } else {
  771. ElMessage.error('请输入选项内容!')
  772. }
  773. } else {
  774. //如果没选择其他,直接提交选择的内容
  775. const mkData = await requestDataPromise('/web/addWebsiteSurveyVote', {
  776. method: 'GET',
  777. query: {
  778. 'sur_id': userSurId.value,
  779. 'choice_id': radio1.value
  780. }
  781. });
  782. if (mkData.code == 200) {
  783. ElMessage.success('投票成功!')
  784. //把投票结果显示到页面上 禁用投票按钮
  785. isDisabled.value = true;
  786. let data = mkData.data;
  787. //遍历一下,把用户选中的那个设置status为1
  788. for (let item of data.data) {
  789. for (let i of data.choice) {
  790. if (item.id == i) {
  791. item.status = 1;
  792. }
  793. }
  794. }
  795. websiteSurveyData.value = data;
  796. } else {
  797. ElMessage.error('投票失败!')
  798. }
  799. }
  800. } else {
  801. ElMessage.error('请选择一个选项')
  802. }
  803. } else {
  804. console.log("多选!")
  805. //多选
  806. if (check1.value != []) {
  807. //先判断一下是否使用了其他选项
  808. if (showUserChoice.value) {
  809. if (userChoice.value != '') {
  810. //判断用户是否只选择了一个其他
  811. if (check1.value.length == 1) {
  812. const ChoiceData = await requestDataPromise('/web/addWebsiteSurveyOption', {
  813. method: 'GET',
  814. query: {
  815. 'sur_id': userSurId.value,//投票的新闻id
  816. 'choice_name': userChoice.value,//用户输入的其他选项文字
  817. }
  818. });
  819. if (ChoiceData.code == 200) {
  820. //提交完其他选项以后,再正式发起投票
  821. const mkData = await requestDataPromise('/web/addWebsiteSurveyVote', {
  822. method: 'GET',
  823. query: {
  824. 'sur_id': userSurId.value,
  825. 'choice_id': ChoiceData.data
  826. }
  827. });
  828. if (mkData.code == 200) {
  829. ElMessage.success('投票成功!')
  830. //把投票结果显示到页面上 禁用投票按钮
  831. isDisabled.value = true;
  832. websiteSurveyData.value = mkData.data;
  833. //遍历一下,把用户选中的那个设置status为1
  834. let data = mkData.data;
  835. //遍历一下,把用户选中的那个设置status为1
  836. for (let item of data.data) {
  837. for (let i of data.choice) {
  838. if (item.id == i) {
  839. console.log(item.id)
  840. item.status = 1;
  841. }
  842. }
  843. }
  844. websiteSurveyData.value = data;
  845. } else {
  846. ElMessage.error(mkData.message)
  847. }
  848. } else {
  849. ElMessage.error('其他投票失败!')
  850. }
  851. } else {
  852. //用户选择了除了其他以外,还包括别的选项
  853. const ChoiceData = await requestDataPromise('/web/addWebsiteSurveyOption', {
  854. method: 'GET',
  855. query: {
  856. 'sur_id': userSurId.value,//投票的新闻id
  857. 'choice_name': userChoice.value,//用户输入的其他选项文字
  858. }
  859. });
  860. if (ChoiceData.code == 200) {
  861. let data = check1.value;
  862. //找到多选的数组,把其他默认值给替换掉
  863. for (let i = 0; i < data.length; i++) {
  864. if (data[i] == userIsChoice.value) {
  865. data[i] = ChoiceData.data;
  866. }
  867. }
  868. let jsonArray = JSON.stringify(data);
  869. //提交完其他选项以后,再正式发起投票
  870. const mkData = await requestDataPromise('/web/addWebsiteSurveyVote', {
  871. method: 'GET',
  872. query: {
  873. 'sur_id': userSurId.value,
  874. 'choice_id': jsonArray
  875. }
  876. });
  877. if (mkData.code == 200) {
  878. ElMessage.success('投票成功!')
  879. //把投票结果显示到页面上 禁用投票按钮
  880. isDisabled.value = true;
  881. websiteSurveyData.value = mkData.data;
  882. //遍历一下,把用户选中的那个设置status为1
  883. let data = mkData.data;
  884. //遍历一下,把用户选中的那个设置status为1
  885. for (let item of data.data) {
  886. for (let i of data.choice) {
  887. if (item.id == i) {
  888. //console.log(item.id)
  889. item.status = 1;
  890. }
  891. }
  892. }
  893. websiteSurveyData.value = data;
  894. } else {
  895. ElMessage.error(mkData.message)
  896. }
  897. } else {
  898. ElMessage.error('其他投票失败!')
  899. }
  900. }
  901. } else {
  902. ElMessage.error('请输入选项内容!')
  903. }
  904. } else {
  905. let jsonArray = JSON.stringify(check1.value);
  906. //如果没选择其他,直接提交选择的内容
  907. const mkData = await requestHome('/web/addWebsiteSurveyVote', {
  908. method: 'GET',
  909. query: {
  910. 'sur_id': userSurId.value,
  911. 'choice_id': jsonArray
  912. }
  913. });
  914. if (mkData.code == 200) {
  915. ElMessage.success('投票成功!')
  916. //把投票结果显示到页面上 禁用投票按钮
  917. isDisabled.value = true;
  918. websiteSurveyData.value = mkData.data;
  919. //遍历一下,把用户选中的那个设置status为1
  920. let data = mkData.data;
  921. //遍历一下,把用户选中的那个设置status为1
  922. for (let item of data.data) {
  923. for (let i of data.choice) {
  924. if (item.id == i) {
  925. console.log(item.id)
  926. item.status = 1;
  927. }
  928. }
  929. }
  930. websiteSurveyData.value = data;
  931. } else {
  932. ElMessage.error('投票失败!')
  933. }
  934. }
  935. } else {
  936. ElMessage.error('请选择一个选项')
  937. }
  938. }
  939. }
  940. //3.投票 end---------------------------------------->
  941. //4.广告 start---------------------------------------->
  942. //获得所有广告
  943. let adImg1 = ref({})
  944. let adImg2 = ref({})
  945. let adImg3 = ref({})
  946. let adImg4 = ref({})
  947. onMounted(async () => {
  948. //从客户端获取行政职能部门 加快打开速度//从客户端获取行政职能部门 加快打开速度
  949. const { $webUrl, $CwebUrl } = useNuxtApp();
  950. //从客户端启动投票
  951. //获得投票列表
  952. let voteUrl = `${$webUrl}/web/getWebsiteSurvey`
  953. const responseVote = await fetch(voteUrl, {
  954. headers: {
  955. 'Content-Type': 'application/json',
  956. 'Userurl': $CwebUrl,
  957. 'Origin': $CwebUrl
  958. }
  959. });
  960. const voteData = await responseVote.json();
  961. if (voteData.code == 200) {
  962. voteList.value = voteData.data;
  963. //判断显示单选还是多选
  964. //survey_type 0是单选 1是多选
  965. if (voteData.data[0].survey_type == 0) {
  966. isRadio.value = true;
  967. } else {
  968. isRadio.value = false;
  969. }
  970. for (let item of voteData.data) {
  971. //如果含有其他
  972. if (item.is_other == 1) {
  973. userIsChoice.value = item.id;
  974. }
  975. }
  976. //用户投票属于哪一篇文章
  977. userSurId.value = voteData.data[0].sur_id;
  978. } else {
  979. // console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  980. // console.log("错误位置:首页投票")
  981. // console.log("后端错误反馈:",voteData.message)
  982. // console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  983. }
  984. //从客户端启动广告
  985. //广告1
  986. let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_index_0001`
  987. const responseAd1 = await fetch(url, {
  988. headers: {
  989. 'Content-Type': 'application/json',
  990. 'Userurl': $CwebUrl,
  991. 'Origin': $CwebUrl
  992. }
  993. });
  994. const resultAd1 = await responseAd1.json();
  995. adImg1.value = resultAd1.data[0];
  996. //广告2
  997. let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_index_0002`
  998. const responseAd2 = await fetch(url2, {
  999. headers: {
  1000. 'Content-Type': 'application/json',
  1001. 'Userurl': $CwebUrl,
  1002. 'Origin': $CwebUrl
  1003. }
  1004. });
  1005. const resultAd2 = await responseAd2.json();
  1006. adImg2.value = resultAd2.data[0];
  1007. //广告3
  1008. let url3 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_index_0003`
  1009. const responseAd3 = await fetch(url3, {
  1010. headers: {
  1011. 'Content-Type': 'application/json',
  1012. 'Userurl': $CwebUrl,
  1013. 'Origin': $CwebUrl
  1014. }
  1015. });
  1016. const resultAd3 = await responseAd3.json();
  1017. adImg3.value = resultAd3.data[0];
  1018. //广告4
  1019. let url4 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_index_0004`
  1020. const responseAd4 = await fetch(url4, {
  1021. headers: {
  1022. 'Content-Type': 'application/json',
  1023. 'Userurl': $CwebUrl,
  1024. 'Origin': $CwebUrl
  1025. }
  1026. });
  1027. const resultAd4 = await responseAd4.json();
  1028. adImg4.value = resultAd4.data[0];
  1029. })
  1030. //4.交互方法 end---------------------------------------->
  1031. //5.页面基本信息 start---------------------------------------->
  1032. //5.1 导航信息
  1033. const pageData = ref([
  1034. // { cid: "", title: "", data: [] ,children_count:""},
  1035. ]);
  1036. //5.2 模块数据
  1037. //注意前置变量 在nuxt3的ssr模式中,并不存在变量提升。
  1038. //模块1
  1039. const boxData1 = ref([])
  1040. const boxData1data2 = ref([])
  1041. //模块2
  1042. const boxData2 = ref([]);
  1043. //模块3 - 该数据已经在模块中请求
  1044. //const boxData3 = ref([]);
  1045. //模块4
  1046. const boxData4 = ref([]);
  1047. //模块5
  1048. const boxData5 = ref([]);
  1049. const boxData5data2 = ref([]);
  1050. //模块6
  1051. const boxData6 = ref([]);
  1052. //模块7
  1053. const boxData7 = ref([]);
  1054. //模块8
  1055. const boxData8 = ref([]);
  1056. const boxData88 = ref([]);
  1057. //模块9 模块10 切换
  1058. const tabsData1 = ref(1)
  1059. //模块9
  1060. const boxData9 = ref([]);
  1061. const boxData9data2 = ref([]);
  1062. //模块10
  1063. const boxData10 = ref([]);
  1064. const boxData10data2 = ref([]);
  1065. //模块11
  1066. const boxData11 = ref([]);
  1067. const boxData11data2 = ref([]);
  1068. //模块12 模块13 切换
  1069. const tabsData2 = ref(1)
  1070. //模块12
  1071. const boxData12 = ref([]);
  1072. //模块13 - 该模块只有一个入口
  1073. const boxData13 = ref([]);
  1074. //模块14 模块15 切换
  1075. const tabsData3 = ref(1)
  1076. //模块14 - 该模块含有子导航
  1077. const boxData14 = ref([]);
  1078. const boxData14data2 = ref([]);
  1079. const boxData14menu = ref([]);
  1080. const boxData14childpinyin = ref([]);
  1081. const boxData14mainData = ref([]);
  1082. //模块15
  1083. const boxData15 = ref([]);
  1084. const boxData15data2 = ref([]);
  1085. const boxData15menu = ref([]);
  1086. const boxData15childpinyin = ref([]);
  1087. const boxData15mainData = ref([]);
  1088. //模块16 模块17 切换
  1089. const tabsData4 = ref(1)
  1090. //模块16 - 该模块含有子导航
  1091. const boxData16 = ref([]);
  1092. const boxData16data2 = ref([]);
  1093. const boxData16menu = ref([]);
  1094. const boxData16childpinyin = ref([]);
  1095. const boxData16mainData = ref([]);
  1096. //模块17 - 政策法规 本来这个是模块3 原来是单独放到一个模块中的,现在提出来了
  1097. const boxData17 = ref({})
  1098. //3.2获得导航数据
  1099. try {
  1100. const navigateData = await requestDataPromise('/web/getWebsiteModelCategory', {
  1101. method: 'GET',
  1102. query: {
  1103. 'placeid': 1,
  1104. 'pid': 0,
  1105. 'num': 30
  1106. },
  1107. });
  1108. if (navigateData.code == 200) {
  1109. // 遍历可用的导航池放到页面中
  1110. for (let index in navigateData.data) {
  1111. let data = {
  1112. title: navigateData.data[index].name,
  1113. cid: navigateData.data[index].category_id,
  1114. children_count: navigateData.data[index].children_count,
  1115. alias: navigateData.data[index].alias,
  1116. aLIas_pinyin: navigateData.data[index].aLIas_pinyin
  1117. };
  1118. //主体渲染 第一层
  1119. //新农村11
  1120. if (navigateData.data[index].category_id == 11) { pageData.value[0] = data }
  1121. //农民工317
  1122. if (navigateData.data[index].category_id == 317) { pageData.value[1] = data }
  1123. //第二层
  1124. //政策法规1
  1125. if (navigateData.data[index].category_id == 2) { pageData.value[2] = data }
  1126. //三农之窗2
  1127. if (navigateData.data[index].category_id == 1) { pageData.value[3] = data }
  1128. //第三层
  1129. //区域经济5
  1130. if (navigateData.data[index].category_id == 5) { pageData.value[4] = data }
  1131. //三农投资6
  1132. if (navigateData.data[index].category_id == 12) { pageData.value[5] = data }
  1133. //农贸信息13
  1134. if (navigateData.data[index].category_id == 13) { pageData.value[6] = data }
  1135. //书刊信息24三农调查28
  1136. if (navigateData.data[index].category_id == 28) { pageData.value[7] = data }
  1137. //第四层
  1138. //三农科教14
  1139. if (navigateData.data[index].category_id == 14) { pageData.value[8] = data }
  1140. //文化生活15
  1141. if (navigateData.data[index].category_id == 15) { pageData.value[9] = data }
  1142. //三农服务27
  1143. if (navigateData.data[index].category_id == 27) { pageData.value[10] = data }
  1144. //第五层
  1145. //三农探索16
  1146. if (navigateData.data[index].category_id == 16) { pageData.value[11] = data }
  1147. //三农人物18
  1148. if (navigateData.data[index].category_id == 18) { pageData.value[12] = data }
  1149. //第六层
  1150. //农资购销21
  1151. if (navigateData.data[index].category_id == 21) { pageData.value[13] = data }
  1152. //农产购销153
  1153. if (navigateData.data[index].category_id == 153) { pageData.value[14] = data }
  1154. //第七层
  1155. //打假维权26
  1156. if (navigateData.data[index].category_id == 26) { pageData.value[15] = data }
  1157. }
  1158. } else {
  1159. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  1160. console.log("错误位置:首页导航池")
  1161. console.log("后端错误反馈:", navigateData.message)
  1162. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  1163. }
  1164. } catch (error) {
  1165. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  1166. console.log("错误位置:首页导航渲染阶段")
  1167. console.log("错误:导航池渲染执行接口出错!请检查首页的14的模块的具体执行方法!")
  1168. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  1169. }
  1170. let getJson = [
  1171. { "parent": "11,2,8", "child": "" },//模块1新农村
  1172. { "parent": "317,0,8", "child": "" },//模块2农民工
  1173. { "parent": "1,0,5", "child": "" },//模块4三农之窗
  1174. { "parent": "5,1,1", "child": "" },//模块5区域经济
  1175. { "parent": "12,0,3", "child": "" },//模块6三农投资
  1176. { "parent": "13,0,4", "child": "" },//模块7农贸信息
  1177. { "parent": "28,2,7", "child": "" },//模块8书刊信息=三农调查
  1178. { "parent": "14,2,8", "child": "" },//模块9三农科教
  1179. { "parent": "15,2,8", "child": "" },//模块10文化生活
  1180. { "parent": "27,2,4", "child": "" },//模块11三农服务27
  1181. { "parent": "16,0,14", "child": "" },//模块12三农探索16
  1182. { "parent": "18,0,14", "child": "" },//模块13三农人物18
  1183. { "parent": "21,2,8", "child": "188,0,5" },//模块14农资购销
  1184. { "parent": "153,2,8", "child": "258,0,5" },//模块15农产购销
  1185. { "parent": "26,4,8", "child": "191,0,5" },//模块16打假维权
  1186. { "parent": "2,4,8", "child": "" },//模块3政策法规
  1187. ]
  1188. let jsonString = JSON.stringify(getJson);
  1189. async function getPageAllData() {
  1190. const mkdata = await requestDataPromise('/web/getWebsiteAllArticle', {
  1191. method: 'GET',
  1192. query: {
  1193. 'id': jsonString
  1194. },
  1195. });
  1196. console.log("makdata:", mkdata);
  1197. if (mkdata.code == 200) {
  1198. //模块1新农村
  1199. boxData1.value = mkdata.data[0].imgnum;
  1200. boxData1data2.value = mkdata.data[0].textnum;
  1201. //模块2农名工
  1202. boxData2.value = mkdata.data[1].textnum;
  1203. //模块4三农之窗
  1204. boxData4.value = mkdata.data[2].textnum;
  1205. //模块5区域经济
  1206. boxData5.value = mkdata.data[3].imgnum;
  1207. boxData5data2.value = mkdata.data[3].textnum;
  1208. //模块6三农投资
  1209. boxData6.value = mkdata.data[4].textnum;
  1210. //模块7农贸信息
  1211. boxData7.value = mkdata.data[5].textnum;
  1212. //模块8书刊信息
  1213. boxData8.value = mkdata.data[6].imgnum;
  1214. boxData88.value = mkdata.data[6].textnum;
  1215. //模块9三农科教
  1216. boxData9.value = mkdata.data[7].imgnum;
  1217. boxData9data2.value = mkdata.data[7].textnum;
  1218. //模块10文化生活
  1219. boxData10.value = mkdata.data[8].imgnum;
  1220. boxData10data2.value = mkdata.data[8].textnum;
  1221. //模块11三农服务
  1222. boxData11.value = mkdata.data[9].imgnum;
  1223. boxData11data2.value = mkdata.data[9].textnum;
  1224. //模块12三农探索
  1225. boxData12.value = mkdata.data[10].textnum;
  1226. //模块13三农人物
  1227. boxData13.value = mkdata.data[11].textnum;
  1228. //模块14农资购销 该栏目含有子导航
  1229. boxData14.value = mkdata.data[12].imgnum;
  1230. boxData14data2.value = mkdata.data[12].textnum;
  1231. boxData14menu.value = mkdata.data[12].child.all_childcat;
  1232. boxData14childpinyin.value = mkdata.data[12].child.pinyin;
  1233. boxData14mainData.value = mkdata.data[12].child.textnum;
  1234. //模块14农产购销
  1235. boxData15.value = mkdata.data[13].imgnum;
  1236. boxData15data2.value = mkdata.data[13].textnum;
  1237. boxData15menu.value = mkdata.data[13].child.all_childcat;
  1238. boxData15childpinyin.value = mkdata.data[13].child.pinyin;
  1239. boxData15mainData.value = mkdata.data[13].child.textnum;
  1240. //模块15打假维权
  1241. boxData16.value = mkdata.data[14].imgnum;
  1242. boxData16data2.value = mkdata.data[14].textnum;
  1243. boxData16menu.value = mkdata.data[14].child.all_childcat;
  1244. boxData16childpinyin.value = mkdata.data[14].child.pinyin;
  1245. boxData16mainData.value = mkdata.data[14].child.textnum;
  1246. //模块17政策法规
  1247. boxData17.value = mkdata.data[15];
  1248. } else {
  1249. ElMessage.error(mkdata.message)
  1250. }
  1251. }
  1252. getPageAllData();
  1253. //5.页面基本信息 end---------------------------------------->
  1254. //6.设置seo数据 start---------------------------------------->
  1255. //获取seo数据
  1256. const setData = await requestDataPromise('/web/getWebsiteFootInfo', {
  1257. method: 'GET',
  1258. query: {},
  1259. });
  1260. if (setData.code == 200) {
  1261. let seoTitle = setData.data.website_head.title;
  1262. let seoDescription = setData.data.website_head.description;
  1263. let seoKeywords = setData.data.website_head.keywords;
  1264. let seoSuffix = setData.data.website_head.suffix;
  1265. let seoName = setData.data.website_head.website_name;
  1266. useSeoMeta({
  1267. title: seoTitle + "_" + seoSuffix,
  1268. meta: [
  1269. { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
  1270. { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
  1271. { name: 'viewport', content: "width=device-width,initial-scale=1,user-scalable=no" }
  1272. ]
  1273. });
  1274. } else {
  1275. // console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  1276. // console.log("错误位置:设置首页SEO数据")
  1277. // console.log("后端错误反馈:",setData.message)
  1278. // console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  1279. }
  1280. //6.设置seo数据 start---------------------------------------->
  1281. //7.官网新增 start---------------------------------------->
  1282. //swiper焦点图start---------------------------------------->
  1283. const imagelist = ref("")
  1284. async function getModelData1() {
  1285. const mkdata = await requestDataPromise('/web/getWebsiteArticlett', {
  1286. method: 'GET',
  1287. query: {
  1288. 'imgnum': 10,
  1289. 'textnum': 0,
  1290. 'level': 2,
  1291. 'placeid': 0,
  1292. 'id': ''
  1293. },
  1294. });
  1295. if (mkdata.code == 200) {
  1296. imagelist.value = mkdata.data.img;
  1297. } else {
  1298. // console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  1299. // console.log("错误位置:获取首页轮播图")
  1300. // console.log("后端错误反馈:",mkdata.message)
  1301. // console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  1302. }
  1303. }
  1304. getModelData1()
  1305. //使用swiper
  1306. import { computed } from 'vue'
  1307. // Swiper12.x的导入方式
  1308. import { Swiper, SwiperSlide } from 'swiper/vue'
  1309. import { Autoplay, Navigation } from 'swiper/modules' // 增加 Navigation
  1310. // 导入 Swiper 样式
  1311. import 'swiper/css'
  1312. import 'swiper/css/navigation' // 增加导航样式
  1313. const props = defineProps({
  1314. imagelist: {
  1315. type: Array,
  1316. default: () => []
  1317. }
  1318. })
  1319. const emit = defineEmits(['slide-change'])
  1320. const swiperCurrentIndex = ref(0)
  1321. const swiperInstance = ref(null)
  1322. // 使用哪些模块
  1323. const modules = [Autoplay, Navigation] // 添加 Navigation
  1324. // 响应式断点设置(可选)
  1325. const breakpoints = computed(() => ({
  1326. // 当屏幕宽度 >= 320px
  1327. 320: {
  1328. slidesPerView: 1,
  1329. spaceBetween: 10
  1330. },
  1331. // 当屏幕宽度 >= 768px
  1332. 768: {
  1333. slidesPerView: 3,
  1334. spaceBetween: 15
  1335. },
  1336. // 当屏幕宽度 >= 1024px
  1337. 1024: {
  1338. slidesPerView: 5,
  1339. spaceBetween: 20
  1340. },
  1341. // 当屏幕宽度 >= 1440px
  1342. 1440: {
  1343. slidesPerView: 6,
  1344. spaceBetween: 25
  1345. }
  1346. }))
  1347. const swiperHandleSlideChange = (swiper) => {
  1348. swiperCurrentIndex.value = swiper.activeIndex
  1349. emit('swiperSlideChange', swiper.activeIndex)
  1350. }
  1351. const goToSlide = (index) => {
  1352. console.log(index)
  1353. if (swiperInstance.value) {
  1354. swiperInstance.value.slideTo(index, 500) // 500ms 动画时间
  1355. }
  1356. }
  1357. const onSwiper = (swiper) => {
  1358. swiperInstance.value = swiper
  1359. console.log('Swiper实例已初始化:', swiper)
  1360. }
  1361. // 如果需要手动控制自动播放
  1362. const pauseAutoplay = () => {
  1363. if (swiperInstance.value && swiperInstance.value.autoplay) {
  1364. swiperInstance.value.autoplay.pause()
  1365. }
  1366. }
  1367. const startAutoplay = () => {
  1368. if (swiperInstance.value && swiperInstance.value.autoplay) {
  1369. swiperInstance.value.autoplay.resume()
  1370. }
  1371. }
  1372. //swiper焦点图 end---------------------------------------->
  1373. //轮播图 start---------------------------------------->
  1374. import { ElCarousel, ElCarouselItem } from 'element-plus'
  1375. let currentIndex = ref(0)
  1376. let handleIndicatorChange = (val) => {
  1377. currentIndex.value = val
  1378. }
  1379. //轮播图 end---------------------------------------->
  1380. //选项卡 start---------------------------------------->
  1381. //1.首页顶部新闻-中央选项卡
  1382. const indexTabs = ref(1)
  1383. //2.首页中央新闻2-左侧选项卡
  1384. const indexTabs2 = ref(1)
  1385. //3.首页中央新闻2-右侧选项卡
  1386. const indexTabs3 = ref(1)
  1387. //3.首页中央新闻3-左侧选项卡
  1388. const indexTabs4 = ref(1)
  1389. //选项卡 end---------------------------------------->
  1390. //7.官网新增 end---------------------------------------->
  1391. </script>
  1392. <style lang="less" scoped>
  1393. @media screen and (min-width: 1401px) {
  1394. //swiper轮播图 start---------------------------------------->
  1395. .swiper-container {
  1396. width: 100%;
  1397. padding: 20PX 0;
  1398. position: relative;
  1399. max-width: 1400PX;
  1400. margin: 0 auto;
  1401. }
  1402. .custom-swiper {
  1403. width: 100%;
  1404. height: 100%;
  1405. padding: 10PX 5PX; //给两侧留出空间
  1406. }
  1407. .custom-swiper :deep(.swiper-wrapper) {
  1408. align-items: stretch; //使所有幻灯片高度一致
  1409. }
  1410. .custom-swiper :deep(.swiper-slide) {
  1411. height: auto;
  1412. transition: transform 0.3s ease;
  1413. }
  1414. //悬停效果
  1415. .custom-swiper :deep(.swiper-slide:hover) {
  1416. transform: translateY(-5PX);
  1417. z-index: 10;
  1418. }
  1419. .slide-link {
  1420. display: block;
  1421. text-decoration: none;
  1422. color: inherit;
  1423. height: 100%;
  1424. width: 100%;
  1425. }
  1426. .image-container {
  1427. position: relative;
  1428. width: 100%;
  1429. height: 118PX; //根据需求调整
  1430. overflow: hidden;
  1431. box-shadow: 0 4PX 12PX rgba(0, 0, 0, 0.1);
  1432. transition: all 0.3s ease;
  1433. background: #f5f5f5; //加载时的背景色
  1434. }
  1435. .image-container:hover {
  1436. box-shadow: 0 8PX 24PX rgba(0, 0, 0, 0.15);
  1437. }
  1438. .slide-image {
  1439. // width: 100%;
  1440. // height: 100%;
  1441. width: 264PX;
  1442. height: 118PX;
  1443. object-fit: cover;
  1444. transition: transform 0.5s ease;
  1445. }
  1446. .image-container:hover .slide-image {
  1447. transform: scale(1.05);
  1448. }
  1449. .image-title {
  1450. position: absolute;
  1451. bottom: 0;
  1452. left: 0;
  1453. right: 0;
  1454. color: white;
  1455. padding: 12PX 15PX;
  1456. font-size: 14PX;
  1457. line-height: 1.4;
  1458. text-align: center;
  1459. overflow: hidden;
  1460. text-overflow: ellipsis;
  1461. white-space: nowrap;
  1462. background: rgba(0, 0, 0, .6)
  1463. }
  1464. .custom-indicators {
  1465. display: flex;
  1466. justify-content: center;
  1467. gap: 8PX;
  1468. margin-top: 25PX;
  1469. padding: 15PX 10PX;
  1470. flex-wrap: wrap;
  1471. background: rgba(255, 255, 255, 0.9);
  1472. border-radius: 50PX;
  1473. max-width: 90%;
  1474. margin-left: auto;
  1475. margin-right: auto;
  1476. }
  1477. .indicator-btn {
  1478. width: 36PX;
  1479. height: 36PX;
  1480. border-radius: 50%;
  1481. border: 2PX solid #e0e0e0;
  1482. background: white;
  1483. color: #333;
  1484. cursor: pointer;
  1485. transition: all 0.3s ease;
  1486. font-size: 14PX;
  1487. font-weight: 500;
  1488. display: flex;
  1489. align-items: center;
  1490. justify-content: center;
  1491. outline: none;
  1492. }
  1493. .indicator-btn:hover {
  1494. background: #f0f9ff;
  1495. border-color: #409eff;
  1496. transform: scale(1.1);
  1497. }
  1498. .indicator-btn.active-indicator {
  1499. background: #409eff;
  1500. color: white;
  1501. border-color: #409eff;
  1502. box-shadow: 0 4PX 12PX rgba(64, 158, 255, 0.3);
  1503. }
  1504. //swiper加载动画
  1505. .image-container:empty::before {
  1506. content: '';
  1507. position: absolute;
  1508. top: 0;
  1509. left: 0;
  1510. width: 100%;
  1511. height: 100%;
  1512. background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  1513. background-size: 200% 100%;
  1514. animation: loading 1.5s infinite;
  1515. border-radius: 12PX;
  1516. }
  1517. @keyframes loading {
  1518. 0% {
  1519. background-position: 200% 0;
  1520. }
  1521. 100% {
  1522. background-position: -200% 0;
  1523. }
  1524. }
  1525. //swiper箭头颜色
  1526. .custom-swiper :deep(.swiper-button-prev),
  1527. .custom-swiper :deep(.swiper-button-next) {
  1528. color: white !important; //箭头颜色改为白色
  1529. }
  1530. .custom-swiper :deep(.swiper-button-prev):after,
  1531. .custom-swiper :deep(.swiper-button-next):after {
  1532. color: white !important; //确保箭头图标也是白色
  1533. }
  1534. //swiper轮播图 end---------------------------------------->
  1535. //轮播图 start---------------------------------------->
  1536. .nuxt-swiper {
  1537. width: 100%;
  1538. height: 300PX;
  1539. position: relative;
  1540. img {
  1541. width: 100%;
  1542. height: 300PX;
  1543. }
  1544. span {
  1545. display: inline-block;
  1546. width: 100%;
  1547. height: 40PX;
  1548. line-height: 40PX;
  1549. padding-left: 20PX;
  1550. box-sizing: border-box;
  1551. position: absolute;
  1552. bottom: 0;
  1553. left: 0;
  1554. font-family: Source Han Sans, Source Han Sans;
  1555. font-size: 16PX;
  1556. color: #FFFFFF;
  1557. //background: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
  1558. background: rgba(0, 0, 0, .6);
  1559. }
  1560. }
  1561. .el-carousel {
  1562. // 左右箭头按钮
  1563. .el-carousel__arrow--right :deep(.class-name),
  1564. .el-carousel__arrow--left :deep(.class-name) {
  1565. width: 68PX;
  1566. height: 68PX;
  1567. }
  1568. //左右箭头图片
  1569. /deep/.el-icon svg {
  1570. height: 1em;
  1571. width: 1em;
  1572. background-color: transparent;
  1573. }
  1574. /deep/.el-carousel__arrow {
  1575. border-radius: 0;
  1576. background-color: transparent;
  1577. }
  1578. /deep/.el-carousel__arrow i {
  1579. font-size: 68PX !important;
  1580. }
  1581. /deep/ .el-carousel__indicators {
  1582. // 指示器
  1583. left: unset;
  1584. transform: unset;
  1585. right: 41%;
  1586. }
  1587. /deep/ .el-carousel__button {
  1588. // 指示器按钮
  1589. width: 15PX;
  1590. height: 15PX;
  1591. border-radius: 50%;
  1592. border: none;
  1593. opacity: 1;
  1594. background-color: #FFFFFF;
  1595. bottom: 30PX;
  1596. }
  1597. /deep/ .is-active .el-carousel__button {
  1598. // 指示器激活按钮
  1599. background: #158d91;
  1600. }
  1601. /deep/.custom-indicators {
  1602. position: absolute;
  1603. bottom: 10PX;
  1604. left: 50%;
  1605. transform: translateX(-50%);
  1606. }
  1607. /deep/ .el-carousel__indicators {
  1608. right: 3%;
  1609. bottom: 10%;
  1610. }
  1611. /deep/ .el-carousel__arrow {
  1612. top: 50%;
  1613. }
  1614. }
  1615. //轮播图 end---------------------------------------->
  1616. //第一层 start---------------------------------------->
  1617. .index—layer-1 {
  1618. width: 1400PX;
  1619. height: auto;
  1620. overflow: hidden;
  1621. margin: 20PX auto;
  1622. display: flex;
  1623. align-items: flex-start;
  1624. justify-content: space-between;
  1625. .index—layer-1-left {
  1626. width: 31%;
  1627. border: 1PX solid #ccc;
  1628. }
  1629. .index-layer-1-middle {
  1630. width: 31%;
  1631. border: 1PX solid #ccc;
  1632. box-sizing: border-box;
  1633. padding: 0 10PX;
  1634. padding-bottom: 5PX;
  1635. .tabtlt {
  1636. width: 100%;
  1637. height: auto;
  1638. outline: hidden;
  1639. border-bottom: 1PX solid #f0f0f0;
  1640. margin: 7PX 0 18PX;
  1641. overflow: hidden;
  1642. display: flex;
  1643. align-self: center;
  1644. justify-content: space-between;
  1645. a {
  1646. color: #337ab7;
  1647. text-decoration: none;
  1648. }
  1649. div {
  1650. width: 50%;
  1651. text-align: center;
  1652. width: 100%;
  1653. height: 50PX;
  1654. line-height: 50PX;
  1655. font-size: 20PX;
  1656. color: #000;
  1657. background: #f3f3f3;
  1658. text-align: center;
  1659. cursor: pointer;
  1660. }
  1661. div.intabtltbg {
  1662. background: url(public/index/current.gif) no-repeat center bottom !important;
  1663. }
  1664. }
  1665. .coninfoitem {
  1666. width: 100%;
  1667. overflow: hidden;
  1668. margin: 0PX auto;
  1669. >div {
  1670. &.coninfoitem_img {
  1671. height: 86PX;
  1672. overflow: hidden;
  1673. margin-bottom: 5PX;
  1674. display: flex;
  1675. align-items: flex-start;
  1676. justify-content: space-between;
  1677. }
  1678. h3 {
  1679. line-height: 0;
  1680. a {
  1681. font-size: 13PX;
  1682. color: #333;
  1683. font-weight: bold;
  1684. width: 100%;
  1685. height: 26PX;
  1686. line-height: 26PX;
  1687. overflow: hidden;
  1688. }
  1689. }
  1690. img {
  1691. width: 120PX;
  1692. height: 86PX;
  1693. float: left;
  1694. margin-right: 11PX;
  1695. }
  1696. p {
  1697. line-height: 0;
  1698. a {
  1699. color: #333;
  1700. font-size: 13PX;
  1701. line-height: 20PX;
  1702. }
  1703. }
  1704. }
  1705. .coninfoitem_title {
  1706. width: 100%;
  1707. height: 28PX;
  1708. line-height: 28PX;
  1709. overflow: hidden;
  1710. position: relative;
  1711. list-style-position: inside;
  1712. color: #000;
  1713. display: block;
  1714. font-size: 13PX;
  1715. display: flex;
  1716. align-items: center;
  1717. justify-content: space-between;
  1718. span:nth-child(1) {
  1719. width: 70%;
  1720. height: 28PX;
  1721. text-align: left;
  1722. overflow: hidden;
  1723. display: block;
  1724. font-size: 14PX;
  1725. }
  1726. span:nth-child(2) {
  1727. width: 30%;
  1728. height: 28PX;
  1729. text-align: right;
  1730. display: block;
  1731. font-size: 12PX;
  1732. }
  1733. }
  1734. }
  1735. }
  1736. .index-layer-1-right {
  1737. width: 31%;
  1738. border: 1PX solid #ccc;
  1739. box-sizing: border-box;
  1740. padding: 0 10PX;
  1741. padding-bottom: 16PX;
  1742. .imgtlt {
  1743. width: 100%;
  1744. height: 43PX;
  1745. border-bottom: 1PX solid #e7e7e7;
  1746. a {
  1747. display: block;
  1748. width: 92PX;
  1749. height: 42PX;
  1750. line-height: 42PX;
  1751. text-align: center;
  1752. font-size: 20PX;
  1753. color: #333;
  1754. border-bottom: 2PX solid #158d91;
  1755. }
  1756. }
  1757. .con_img_list {
  1758. display: flex;
  1759. flex-wrap: wrap;
  1760. a {
  1761. width: 48%;
  1762. float: left;
  1763. overflow: hidden;
  1764. height: 100PX;
  1765. margin: 20PX auto 0;
  1766. display: block;
  1767. position: relative;
  1768. img {
  1769. display: block;
  1770. width: 100%;
  1771. height: 100%;
  1772. }
  1773. .con_img_list_rgba {
  1774. position: absolute;
  1775. width: 100%;
  1776. height: 22PX;
  1777. line-height: 21PX;
  1778. box-sizing: border-box;
  1779. padding: 0PX 10PX;
  1780. text-align: center;
  1781. bottom: 0PX;
  1782. left: 0PX;
  1783. color: #fff;
  1784. font-size: 16PX;
  1785. z-index: 11;
  1786. background: rgba(0, 0, 0, .6);
  1787. display: block;
  1788. word-break: keep-all;
  1789. white-space: nowrap;
  1790. overflow: hidden;
  1791. text-overflow: ellipsis;
  1792. }
  1793. }
  1794. }
  1795. }
  1796. }
  1797. //第一层 end---------------------------------------->
  1798. //第二层 start---------------------------------------->
  1799. .index—layer-2 {
  1800. width: 1400PX;
  1801. height: auto;
  1802. overflow: hidden;
  1803. margin: 20PX auto;
  1804. display: flex;
  1805. align-items: flex-start;
  1806. justify-content: space-between;
  1807. .index—layer-2-left,
  1808. .index—layer-2-right {
  1809. width: 49%;
  1810. border: 1PX solid #ddd;
  1811. height: auto;
  1812. overflow: hidden;
  1813. .index—layer-2-title {
  1814. display: flex;
  1815. align-items: center;
  1816. justify-content: flex-start;
  1817. background: #fff;
  1818. >div {
  1819. &.active {
  1820. background: #158d91;
  1821. color: #fff;
  1822. a {
  1823. color: #fff;
  1824. }
  1825. }
  1826. width: 118PX;
  1827. height: 44PX;
  1828. line-height: 44PX;
  1829. background: #fff;
  1830. text-align: center;
  1831. color: #808080;
  1832. font-size: 16PX;
  1833. font-weight: bold;
  1834. border-bottom: 2PX solid #158d91;
  1835. a {
  1836. font-size: 20PX;
  1837. color: #808080;
  1838. }
  1839. }
  1840. }
  1841. .index-tabs2-top {
  1842. background: #f8f8f8;
  1843. padding: 20PX 20PX;
  1844. box-sizing: border-box;
  1845. display: flex;
  1846. border-bottom: 1PX dashed #ddd;
  1847. >a {
  1848. margin-right: 11PX;
  1849. img {
  1850. display: block;
  1851. width: 120PX;
  1852. height: 86PX;
  1853. }
  1854. }
  1855. h3 {
  1856. width: 100%;
  1857. height: 26PX;
  1858. line-height: 26PX;
  1859. overflow: hidden;
  1860. a {
  1861. font-size: 13PX;
  1862. color: #333;
  1863. font-weight: bold;
  1864. }
  1865. }
  1866. p {
  1867. width: 100%;
  1868. height: 60PX;
  1869. line-height: 20PX;
  1870. overflow: hidden;
  1871. a {
  1872. color: #333;
  1873. font-size: 13PX;
  1874. }
  1875. }
  1876. }
  1877. .index-tabs2-bottom {
  1878. padding: 20PX;
  1879. margin: 0;
  1880. a {
  1881. display: block;
  1882. width: 100%;
  1883. overflow: hidden;
  1884. position: relative;
  1885. list-style-position: inside;
  1886. color: #333;
  1887. line-height: 28PX;
  1888. display: flex;
  1889. align-items: center;
  1890. justify-content: space-between;
  1891. span:nth-child(1) {
  1892. width: 70%;
  1893. height: 28PX;
  1894. text-align: left;
  1895. overflow: hidden;
  1896. display: block;
  1897. font-size: 14PX;
  1898. }
  1899. span:nth-child(2) {
  1900. width: 30%;
  1901. height: 28PX;
  1902. text-align: right;
  1903. display: block;
  1904. font-size: 12PX;
  1905. }
  1906. }
  1907. }
  1908. }
  1909. }
  1910. //第二层 end---------------------------------------->
  1911. //第三层 start---------------------------------------->
  1912. .index—layer-3 {
  1913. .index—layer-3-line {
  1914. width: 1400PX;
  1915. display: flex;
  1916. align-items: center;
  1917. justify-content: space-between;
  1918. margin: 0 auto;
  1919. box-sizing: border-box;
  1920. //选项卡类型
  1921. .index—layer-3-tabs-box {
  1922. width: 31%;
  1923. height: auto;
  1924. border: 1PX solid #ddd;
  1925. border-top: 2PX solid #158d91;
  1926. margin: 1%;
  1927. padding: 0 10PX;
  1928. box-sizing: border-box;
  1929. .index—layer-3-tabs-box-title {
  1930. display: flex;
  1931. align-items: center;
  1932. width: 100%;
  1933. border-bottom: 1PX solid #f0f0f0;
  1934. >div {
  1935. &.active {
  1936. background: url(../public/index/current2.png) no-repeat center bottom;
  1937. }
  1938. width: 87PX;
  1939. height: 54PX;
  1940. line-height: 55PX;
  1941. overflow: hidden;
  1942. float: left;
  1943. margin-right: 10PX;
  1944. text-align: center;
  1945. font-size: 20PX;
  1946. color: #333;
  1947. font-weight: bold;
  1948. a {
  1949. color: #333;
  1950. }
  1951. }
  1952. }
  1953. .index—layer-3-news-body-main {
  1954. margin-bottom: 20PX;
  1955. a {
  1956. width: 100%;
  1957. height: 26PX;
  1958. line-height: 26PX;
  1959. list-style-position: inside;
  1960. font-size: 13PX;
  1961. color: #333;
  1962. display: flex;
  1963. align-items: center;
  1964. justify-content: space-between;
  1965. span:nth-child(1) {
  1966. width: 70%;
  1967. height: 28PX;
  1968. text-align: left;
  1969. overflow: hidden;
  1970. display: block;
  1971. font-size: 14PX;
  1972. }
  1973. span:nth-child(2) {
  1974. width: 30%;
  1975. height: 28PX;
  1976. text-align: right;
  1977. display: block;
  1978. font-size: 12PX;
  1979. }
  1980. }
  1981. }
  1982. }
  1983. //常规类型
  1984. .index—layer-3-news-box {
  1985. width: 31%;
  1986. height: auto;
  1987. border: 1PX solid #ddd;
  1988. border-top: 2PX solid #158d91;
  1989. margin: 1%;
  1990. padding: 0 10PX;
  1991. box-sizing: border-box;
  1992. .index—layer-3-news-box-title {
  1993. display: flex;
  1994. align-items: center;
  1995. width: 100%;
  1996. border-bottom: 1PX solid #f0f0f0;
  1997. >div {
  1998. &.active {
  1999. background: url(../public/index/current2.png) no-repeat center bottom;
  2000. }
  2001. width: 87PX;
  2002. height: 54PX;
  2003. line-height: 55PX;
  2004. overflow: hidden;
  2005. float: left;
  2006. margin-right: 10PX;
  2007. text-align: center;
  2008. font-size: 20PX;
  2009. color: #333;
  2010. font-weight: bold;
  2011. a {
  2012. color: #333;
  2013. }
  2014. }
  2015. }
  2016. .index—layer-3-news-body-main {
  2017. margin-bottom: 20PX;
  2018. a {
  2019. width: 100%;
  2020. height: 26PX;
  2021. line-height: 26PX;
  2022. list-style-position: inside;
  2023. font-size: 13PX;
  2024. color: #333;
  2025. display: flex;
  2026. align-items: center;
  2027. justify-items: center;
  2028. span:nth-child(1) {
  2029. width: 70%;
  2030. height: 28PX;
  2031. text-align: left;
  2032. overflow: hidden;
  2033. display: block;
  2034. font-size: 14PX;
  2035. }
  2036. span:nth-child(2) {
  2037. width: 30%;
  2038. height: 28PX;
  2039. text-align: right;
  2040. display: block;
  2041. font-size: 12PX;
  2042. }
  2043. }
  2044. }
  2045. }
  2046. }
  2047. .index—layer-3-news-body-title {
  2048. display: flex;
  2049. align-items: center;
  2050. justify-content: flex-start;
  2051. margin: 20PX 0 14PX;
  2052. padding-bottom: 20PX;
  2053. border-bottom: 1PX dashed #e1e1e1;
  2054. >div {
  2055. &.news-body-left {
  2056. margin-right: 11PX;
  2057. img {
  2058. display: block;
  2059. width: 120PX;
  2060. height: 86PX;
  2061. }
  2062. }
  2063. &.news-body-right {
  2064. >a {
  2065. display: block;
  2066. width: 100%;
  2067. height: 40PX;
  2068. line-height: 40PX;
  2069. font-size: 16PX;
  2070. font-weight: bold;
  2071. overflow: hidden;
  2072. color: #000;
  2073. text-decoration: none;
  2074. }
  2075. p {
  2076. width: 100%;
  2077. height: 46PX;
  2078. line-height: 23PX;
  2079. overflow: hidden;
  2080. font-size: 14PX;
  2081. color: #333;
  2082. a {
  2083. color: #333;
  2084. }
  2085. }
  2086. }
  2087. }
  2088. }
  2089. }
  2090. //第三层 end---------------------------------------->
  2091. //第四层 start---------------------------------------->
  2092. .index-layer-4 {
  2093. width: 1400PX;
  2094. border: 1PX solid #ccc;
  2095. border-radius: 20PX;
  2096. padding: 10PX 20PX;
  2097. box-sizing: border-box;
  2098. margin: 20PX auto;
  2099. .index-layer-4-title {
  2100. display: flex;
  2101. align-items: center;
  2102. justify-content: space-between;
  2103. width: 100%;
  2104. height: 40PX;
  2105. line-height: 40PX;
  2106. border-bottom: 1PX solid #ccc;
  2107. a {
  2108. &:first-child {
  2109. font-size: 22PX;
  2110. color: #1476bd;
  2111. }
  2112. &:last-child {
  2113. font-size: 16PX;
  2114. color: #f00;
  2115. border: none;
  2116. float: right;
  2117. }
  2118. display: block;
  2119. }
  2120. }
  2121. .index-layer-4-body {
  2122. .post_nr {
  2123. width: 100%;
  2124. height: auto;
  2125. margin: 20PX auto;
  2126. border: 1PX solid #ccc;
  2127. border-radius: 10PX;
  2128. padding: 20PX !important;
  2129. box-sizing: border-box;
  2130. .name {
  2131. display: block;
  2132. width: 100%;
  2133. height: auto;
  2134. line-height: 40PX;
  2135. font-size: 16PX;
  2136. color: #333;
  2137. }
  2138. b {
  2139. font-size: 17PX;
  2140. margin: 0 10PX;
  2141. }
  2142. li {
  2143. border-bottom: 1PX solid #ccc;
  2144. padding-bottom: 15PX;
  2145. margin-bottom: 10PX;
  2146. box-sizing: border-box;
  2147. p {
  2148. margin: 0;
  2149. height: auto;
  2150. line-height: 25PX;
  2151. font-size: 15PX;
  2152. color: #000;
  2153. &.hfnr {
  2154. font-weight: bold;
  2155. span {
  2156. color: #f00;
  2157. }
  2158. }
  2159. }
  2160. }
  2161. }
  2162. }
  2163. }
  2164. //第四层 end---------------------------------------->
  2165. }
  2166. @media screen and (min-width: 801px) and (max-width: 1400px) {
  2167. //swiper轮播图 start---------------------------------------->
  2168. .swiper-container {
  2169. width: 100%;
  2170. padding: 20PX 0;
  2171. position: relative;
  2172. margin: 0 auto;
  2173. box-sizing: border-box;
  2174. }
  2175. .custom-swiper {
  2176. width: 100%;
  2177. height: 100%;
  2178. padding: 10px 5px; //给两侧留出空间
  2179. box-sizing: border-box;
  2180. }
  2181. .custom-swiper :deep(.swiper-wrapper) {
  2182. align-items: stretch; //使所有幻灯片高度一致
  2183. }
  2184. .custom-swiper :deep(.swiper-slide) {
  2185. height: auto;
  2186. transition: transform 0.3s ease;
  2187. }
  2188. //悬停效果
  2189. .custom-swiper :deep(.swiper-slide:hover) {
  2190. transform: translateY(-5px);
  2191. z-index: 10;
  2192. }
  2193. .slide-link {
  2194. display: block;
  2195. text-decoration: none;
  2196. color: inherit;
  2197. height: 100%;
  2198. width: 100%;
  2199. }
  2200. .image-container {
  2201. position: relative;
  2202. width: 100%;
  2203. height: 120PX; //根据需求调整
  2204. overflow: hidden;
  2205. box-shadow: 0 4PX 12PX rgba(0, 0, 0, 0.1);
  2206. transition: all 0.3s ease;
  2207. background: #f5f5f5; //加载时的背景色
  2208. }
  2209. .image-container:hover {
  2210. box-shadow: 0 8PX 24PX rgba(0, 0, 0, 0.15);
  2211. }
  2212. .slide-image {
  2213. // width: 100%;
  2214. // height: 100%;
  2215. width: 264PX;
  2216. height: 118PX;
  2217. object-fit: cover;
  2218. transition: transform 0.5s ease;
  2219. }
  2220. .image-container:hover .slide-image {
  2221. transform: scale(1.05);
  2222. }
  2223. .image-title {
  2224. position: absolute;
  2225. bottom: 0;
  2226. left: 0;
  2227. right: 0;
  2228. color: white;
  2229. padding: 12PX 15PX;
  2230. font-size: 14PX;
  2231. line-height: 1.4;
  2232. text-align: center;
  2233. overflow: hidden;
  2234. text-overflow: ellipsis;
  2235. white-space: nowrap;
  2236. background: rgba(0, 0, 0, .6)
  2237. }
  2238. .custom-indicators {
  2239. display: flex;
  2240. justify-content: center;
  2241. gap: 8PX;
  2242. margin-top: 25PX;
  2243. padding: 15PX 10PX;
  2244. flex-wrap: wrap;
  2245. background: rgba(255, 255, 255, 0.9);
  2246. border-radius: 50PX;
  2247. max-width: 90%;
  2248. margin-left: auto;
  2249. margin-right: auto;
  2250. }
  2251. .indicator-btn {
  2252. width: 36PX;
  2253. height: 36PX;
  2254. border-radius: 50%;
  2255. border: 2PX solid #e0e0e0;
  2256. background: white;
  2257. color: #333;
  2258. cursor: pointer;
  2259. transition: all 0.3s ease;
  2260. font-size: 14PX;
  2261. font-weight: 500;
  2262. display: flex;
  2263. align-items: center;
  2264. justify-content: center;
  2265. outline: none;
  2266. }
  2267. .indicator-btn:hover {
  2268. background: #f0f9ff;
  2269. border-color: #409eff;
  2270. transform: scale(1.1);
  2271. }
  2272. .indicator-btn.active-indicator {
  2273. background: #409eff;
  2274. color: white;
  2275. border-color: #409eff;
  2276. box-shadow: 0 4PX 12PX rgba(64, 158, 255, 0.3);
  2277. }
  2278. //swiper加载动画
  2279. .image-container:empty::before {
  2280. content: '';
  2281. position: absolute;
  2282. top: 0;
  2283. left: 0;
  2284. width: 100%;
  2285. height: 100%;
  2286. background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  2287. background-size: 200% 100%;
  2288. animation: loading 1.5s infinite;
  2289. border-radius: 12PX;
  2290. }
  2291. @keyframes loading {
  2292. 0% {
  2293. background-position: 200% 0;
  2294. }
  2295. 100% {
  2296. background-position: -200% 0;
  2297. }
  2298. }
  2299. //swiper箭头颜色
  2300. .custom-swiper :deep(.swiper-button-prev),
  2301. .custom-swiper :deep(.swiper-button-next) {
  2302. color: white !important; //箭头颜色改为白色
  2303. }
  2304. .custom-swiper :deep(.swiper-button-prev):after,
  2305. .custom-swiper :deep(.swiper-button-next):after {
  2306. color: white !important; //确保箭头图标也是白色
  2307. }
  2308. //swiper轮播图 end---------------------------------------->
  2309. //轮播图 start---------------------------------------->
  2310. .nuxt-swiper {
  2311. width: 100%;
  2312. height: 300PX;
  2313. position: relative;
  2314. img {
  2315. width: 100%;
  2316. height: 100%;
  2317. }
  2318. span {
  2319. display: inline-block;
  2320. width: 100%;
  2321. height: 40PX;
  2322. line-height: 40PX;
  2323. padding: 0 10PX;
  2324. box-sizing: border-box;
  2325. position: absolute;
  2326. bottom: 0;
  2327. left: 0;
  2328. font-family: Source Han Sans, Source Han Sans;
  2329. font-size: 16PX;
  2330. color: #FFFFFF;
  2331. //background: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
  2332. background: rgba(0, 0, 0, .6);
  2333. }
  2334. }
  2335. .el-carousel {
  2336. // 左右箭头按钮
  2337. .el-carousel__arrow--right :deep(.class-name),
  2338. .el-carousel__arrow--left :deep(.class-name) {
  2339. width: 68PX;
  2340. height: 68PX;
  2341. }
  2342. //左右箭头图片
  2343. /deep/.el-icon svg {
  2344. height: 1em;
  2345. width: 1em;
  2346. background-color: transparent;
  2347. }
  2348. /deep/.el-carousel__arrow {
  2349. border-radius: 0;
  2350. background-color: transparent;
  2351. }
  2352. /deep/.el-carousel__arrow i {
  2353. font-size: 68PX !important;
  2354. }
  2355. /deep/ .el-carousel__indicators {
  2356. // 指示器
  2357. left: unset;
  2358. transform: unset;
  2359. right: 41%;
  2360. }
  2361. /deep/ .el-carousel__button {
  2362. // 指示器按钮
  2363. width: 15PX;
  2364. height: 15PX;
  2365. border-radius: 50%;
  2366. border: none;
  2367. opacity: 1;
  2368. background-color: #FFFFFF;
  2369. bottom: 30PX;
  2370. }
  2371. /deep/ .is-active .el-carousel__button {
  2372. // 指示器激活按钮
  2373. background: #158d91;
  2374. }
  2375. /deep/.custom-indicators {
  2376. position: absolute;
  2377. bottom: 10PX;
  2378. left: 50%;
  2379. transform: translateX(-50%);
  2380. }
  2381. /deep/ .el-carousel__indicators {
  2382. right: 3%;
  2383. bottom: 10%;
  2384. }
  2385. /deep/ .el-carousel__arrow {
  2386. top: 50%;
  2387. }
  2388. }
  2389. //轮播图 end---------------------------------------->
  2390. //第一层 start---------------------------------------->
  2391. .index—layer-1 {
  2392. width: 100%;
  2393. height: auto;
  2394. padding: 0px 10px;
  2395. box-sizing: border-box;
  2396. overflow: hidden;
  2397. margin: 20PX auto;
  2398. display: flex;
  2399. align-items: flex-start;
  2400. justify-content: space-between;
  2401. .index—layer-1-left {
  2402. width: 31%;
  2403. border: 1PX solid #ccc;
  2404. }
  2405. .index-layer-1-middle {
  2406. width: 31%;
  2407. border: 1PX solid #ccc;
  2408. box-sizing: border-box;
  2409. padding: 0 10PX;
  2410. padding-bottom: 5PX;
  2411. .tabtlt {
  2412. width: 100%;
  2413. height: auto;
  2414. outline: hidden;
  2415. border-bottom: 1PX solid #f0f0f0;
  2416. margin: 7PX 0 18PX;
  2417. overflow: hidden;
  2418. display: flex;
  2419. align-self: center;
  2420. justify-content: space-between;
  2421. a {
  2422. color: #337ab7;
  2423. text-decoration: none;
  2424. }
  2425. div {
  2426. width: 50%;
  2427. text-align: center;
  2428. width: 100%;
  2429. height: 50PX;
  2430. line-height: 50PX;
  2431. font-size: 20PX;
  2432. color: #000;
  2433. background: #f3f3f3;
  2434. text-align: center;
  2435. cursor: pointer;
  2436. }
  2437. div.intabtltbg {
  2438. background: url(public/index/current.gif) no-repeat center bottom !important;
  2439. }
  2440. }
  2441. .coninfoitem {
  2442. width: 100%;
  2443. overflow: hidden;
  2444. margin: 0PX auto;
  2445. >div {
  2446. &.coninfoitem_img {
  2447. height: 86PX;
  2448. overflow: hidden;
  2449. margin-bottom: 5PX;
  2450. display: flex;
  2451. align-items: flex-start;
  2452. }
  2453. h3 {
  2454. line-height: 26PX;
  2455. a {
  2456. font-size: 13PX;
  2457. color: #333;
  2458. font-weight: bold;
  2459. width: 100%;
  2460. height: 26PX;
  2461. line-height: 26PX;
  2462. overflow: hidden;
  2463. display: block;
  2464. }
  2465. }
  2466. img {
  2467. width: 120PX;
  2468. height: 86PX;
  2469. float: left;
  2470. margin-right: 11PX;
  2471. }
  2472. p {
  2473. line-height: 0;
  2474. a {
  2475. line-height: 20PX;
  2476. color: #333;
  2477. font-size: 13PX;
  2478. text-indent: 2em;
  2479. display: block;
  2480. }
  2481. }
  2482. }
  2483. .coninfoitem_title {
  2484. width: 100%;
  2485. height: 28PX;
  2486. line-height: 28PX;
  2487. overflow: hidden;
  2488. position: relative;
  2489. list-style-position: inside;
  2490. color: #000;
  2491. display: flex;
  2492. align-items: center;
  2493. justify-content: space-between;
  2494. span:nth-child(1) {
  2495. width: 70%;
  2496. height: 28PX;
  2497. text-align: left;
  2498. overflow: hidden;
  2499. display: block;
  2500. font-size: 14PX;
  2501. }
  2502. span:nth-child(2) {
  2503. width: 30%;
  2504. height: 28PX;
  2505. text-align: right;
  2506. display: block;
  2507. font-size: 12PX;
  2508. color: #666;
  2509. }
  2510. }
  2511. }
  2512. }
  2513. .index-layer-1-right {
  2514. width: 31%;
  2515. border: 1PX solid #ccc;
  2516. box-sizing: border-box;
  2517. padding: 0 10PX;
  2518. padding-bottom: 16PX;
  2519. .imgtlt {
  2520. width: 100%;
  2521. height: 43PX;
  2522. border-bottom: 1PX solid #e7e7e7;
  2523. a {
  2524. display: block;
  2525. width: 92PX;
  2526. height: 42PX;
  2527. line-height: 42PX;
  2528. text-align: center;
  2529. font-size: 20PX;
  2530. color: #333;
  2531. border-bottom: 2PX solid #158d91;
  2532. }
  2533. }
  2534. .con_img_list {
  2535. display: flex;
  2536. flex-wrap: wrap;
  2537. a {
  2538. width: 48%;
  2539. float: left;
  2540. overflow: hidden;
  2541. height: 100PX;
  2542. margin: 20PX auto 0;
  2543. display: block;
  2544. position: relative;
  2545. img {
  2546. display: block;
  2547. width: 100%;
  2548. height: 100%;
  2549. }
  2550. .con_img_list_rgba {
  2551. position: absolute;
  2552. width: 100%;
  2553. height: 22PX;
  2554. line-height: 21PX;
  2555. box-sizing: border-box;
  2556. padding: 0PX 10PX;
  2557. text-align: center;
  2558. bottom: 0PX;
  2559. left: 0PX;
  2560. color: #fff;
  2561. font-size: 16PX;
  2562. z-index: 11;
  2563. background: rgba(0, 0, 0, .6);
  2564. display: block;
  2565. word-break: keep-all;
  2566. white-space: nowrap;
  2567. overflow: hidden;
  2568. text-overflow: ellipsis;
  2569. }
  2570. }
  2571. }
  2572. }
  2573. }
  2574. //第一层 end---------------------------------------->
  2575. //第二层 start---------------------------------------->
  2576. .index—layer-2 {
  2577. width: 100%;
  2578. height: auto;
  2579. overflow: hidden;
  2580. margin: 20PX auto;
  2581. display: flex;
  2582. align-items: flex-start;
  2583. justify-content: space-between;
  2584. .index—layer-2-left,
  2585. .index—layer-2-right {
  2586. width: 49%;
  2587. border: 1PX solid #ddd;
  2588. height: auto;
  2589. overflow: hidden;
  2590. .index—layer-2-title {
  2591. display: flex;
  2592. align-items: center;
  2593. justify-content: flex-start;
  2594. background: #fff;
  2595. >div {
  2596. &.active {
  2597. background: #158d91;
  2598. color: #fff;
  2599. a {
  2600. color: #fff;
  2601. }
  2602. }
  2603. width: 118PX;
  2604. height: 44PX;
  2605. line-height: 44PX;
  2606. background: #fff;
  2607. text-align: center;
  2608. color: #808080;
  2609. font-size: 16PX;
  2610. font-weight: bold;
  2611. border-bottom: 2PX solid #158d91;
  2612. a {
  2613. font-size: 20PX;
  2614. color: #808080;
  2615. }
  2616. }
  2617. }
  2618. .index-tabs2-top {
  2619. background: #f8f8f8;
  2620. padding: 20PX 20PX;
  2621. box-sizing: border-box;
  2622. display: flex;
  2623. border-bottom: 1PX dashed #ddd;
  2624. >a {
  2625. margin-right: 11PX;
  2626. img {
  2627. display: block;
  2628. width: 120PX;
  2629. height: 86PX;
  2630. }
  2631. }
  2632. h3 {
  2633. width: 100%;
  2634. height: 26PX;
  2635. line-height: 26PX;
  2636. overflow: hidden;
  2637. a {
  2638. font-size: 13PX;
  2639. color: #333;
  2640. font-weight: bold;
  2641. }
  2642. }
  2643. p {
  2644. width: 100%;
  2645. height: 60PX;
  2646. line-height: 20PX;
  2647. overflow: hidden;
  2648. display: -webkit-box !important;
  2649. -webkit-box-orient: vertical;
  2650. -webkit-line-clamp: 3;
  2651. a {
  2652. color: #333;
  2653. font-size: 13PX;
  2654. }
  2655. }
  2656. }
  2657. .index-tabs2-bottom {
  2658. padding: 20PX;
  2659. margin: 0;
  2660. a {
  2661. display: block;
  2662. width: 100%;
  2663. height: 28PX;
  2664. line-height: 28PX;
  2665. color: #333;
  2666. font-size: 13PX;
  2667. display: flex;
  2668. align-items: center;
  2669. justify-content: space-between;
  2670. span:nth-child(1) {
  2671. width: 70%;
  2672. height: 28PX;
  2673. text-align: left;
  2674. overflow: hidden;
  2675. display: block;
  2676. font-size: 14PX;
  2677. }
  2678. span:nth-child(2) {
  2679. width: 30%;
  2680. height: 28PX;
  2681. text-align: right;
  2682. display: block;
  2683. font-size: 12PX;
  2684. }
  2685. }
  2686. }
  2687. }
  2688. }
  2689. //第二层 end---------------------------------------->
  2690. //第三层 start---------------------------------------->
  2691. .index—layer-3 {
  2692. .index—layer-3-line {
  2693. width: 100%;
  2694. display: flex;
  2695. align-items: center;
  2696. justify-content: space-between;
  2697. margin: 0 auto;
  2698. box-sizing: border-box;
  2699. //选项卡类型
  2700. .index—layer-3-tabs-box {
  2701. width: 31%;
  2702. height: auto;
  2703. border: 1PX solid #ddd;
  2704. border-top: 2PX solid #158d91;
  2705. margin: 1%;
  2706. padding: 0 10PX;
  2707. box-sizing: border-box;
  2708. .index—layer-3-tabs-box-title {
  2709. display: flex;
  2710. align-items: center;
  2711. width: 100%;
  2712. border-bottom: 1PX solid #f0f0f0;
  2713. >div {
  2714. &.active {
  2715. background: url(../public/index/current2.png) no-repeat center bottom;
  2716. }
  2717. width: 87PX;
  2718. height: 54PX;
  2719. line-height: 55PX;
  2720. overflow: hidden;
  2721. float: left;
  2722. margin-right: 10PX;
  2723. text-align: center;
  2724. font-size: 20PX;
  2725. color: #333;
  2726. font-weight: bold;
  2727. a {
  2728. color: #333;
  2729. }
  2730. }
  2731. }
  2732. .index—layer-3-news-body-main {
  2733. margin-bottom: 20PX;
  2734. a {
  2735. width: 100%;
  2736. height: 26PX;
  2737. line-height: 26PX;
  2738. list-style-position: inside;
  2739. font-size: 13PX;
  2740. color: #333;
  2741. display: block;
  2742. word-break: keep-all;
  2743. white-space: nowrap;
  2744. overflow: hidden;
  2745. text-overflow: ellipsis;
  2746. width: 66%;
  2747. }
  2748. }
  2749. }
  2750. //常规类型
  2751. .index—layer-3-news-box {
  2752. width: 31%;
  2753. height: auto;
  2754. border: 1PX solid #ddd;
  2755. border-top: 2PX solid #158d91;
  2756. margin: 1%;
  2757. padding: 0 10PX;
  2758. box-sizing: border-box;
  2759. .index—layer-3-news-box-title {
  2760. display: flex;
  2761. align-items: center;
  2762. width: 100%;
  2763. border-bottom: 1PX solid #f0f0f0;
  2764. >div {
  2765. &.active {
  2766. background: url(../public/index/current2.png) no-repeat center bottom;
  2767. }
  2768. width: 87PX;
  2769. height: 54PX;
  2770. line-height: 55PX;
  2771. overflow: hidden;
  2772. float: left;
  2773. margin-right: 10PX;
  2774. text-align: center;
  2775. font-size: 20PX;
  2776. color: #333;
  2777. font-weight: bold;
  2778. a {
  2779. color: #333;
  2780. }
  2781. }
  2782. }
  2783. .index—layer-3-news-body-main {
  2784. margin-bottom: 20PX;
  2785. a {
  2786. width: 100%;
  2787. height: 26PX;
  2788. line-height: 26PX;
  2789. list-style-position: inside;
  2790. font-size: 13PX;
  2791. color: #333;
  2792. display: flex;
  2793. align-items: center;
  2794. justify-content: space-between;
  2795. span:nth-child(1) {
  2796. width: 70%;
  2797. height: 28PX;
  2798. text-align: left;
  2799. overflow: hidden;
  2800. display: block;
  2801. font-size: 14PX;
  2802. }
  2803. span:nth-child(2) {
  2804. width: 30%;
  2805. height: 28PX;
  2806. text-align: right;
  2807. display: block;
  2808. font-size: 12PX;
  2809. }
  2810. }
  2811. }
  2812. }
  2813. }
  2814. .index—layer-3-news-body-title {
  2815. display: flex;
  2816. align-items: center;
  2817. justify-content: flex-start;
  2818. margin: 20PX 0 14PX;
  2819. padding-bottom: 20PX;
  2820. border-bottom: 1PX dashed #e1e1e1;
  2821. >div {
  2822. &.news-body-left {
  2823. margin-right: 11PX;
  2824. img {
  2825. display: block;
  2826. width: 120PX;
  2827. height: 86PX;
  2828. }
  2829. }
  2830. &.news-body-right {
  2831. >a {
  2832. display: block;
  2833. width: 100%;
  2834. height: 40PX;
  2835. line-height: 40PX;
  2836. font-size: 16PX;
  2837. font-weight: bold;
  2838. overflow: hidden;
  2839. color: #000;
  2840. text-decoration: none;
  2841. }
  2842. p {
  2843. width: 100%;
  2844. height: 46PX;
  2845. line-height: 23PX;
  2846. overflow: hidden;
  2847. font-size: 14PX;
  2848. color: #333;
  2849. a {
  2850. color: #333;
  2851. }
  2852. }
  2853. }
  2854. }
  2855. }
  2856. }
  2857. //第三层 end---------------------------------------->
  2858. //第四层 start---------------------------------------->
  2859. .index-layer-4 {
  2860. width: 100%;
  2861. border: 1PX solid #ccc;
  2862. border-radius: 20PX;
  2863. padding: 10PX 20PX;
  2864. box-sizing: border-box;
  2865. margin: 20PX auto;
  2866. .index-layer-4-title {
  2867. display: flex;
  2868. align-items: center;
  2869. justify-content: space-between;
  2870. width: 100%;
  2871. height: 40PX;
  2872. line-height: 40PX;
  2873. border-bottom: 1PX solid #ccc;
  2874. a {
  2875. &:first-child {
  2876. font-size: 22PX;
  2877. color: #1476bd;
  2878. }
  2879. &:last-child {
  2880. font-size: 16PX;
  2881. color: #f00;
  2882. border: none;
  2883. float: right;
  2884. }
  2885. display: block;
  2886. }
  2887. }
  2888. .index-layer-4-body {
  2889. .post_nr {
  2890. width: 100%;
  2891. height: auto;
  2892. margin: 20PX auto;
  2893. border: 1PX solid #ccc;
  2894. border-radius: 10PX;
  2895. padding: 20PX !important;
  2896. box-sizing: border-box;
  2897. .name {
  2898. display: block;
  2899. width: 100%;
  2900. height: auto;
  2901. line-height: 40PX;
  2902. font-size: 16PX;
  2903. color: #333;
  2904. }
  2905. b {
  2906. font-size: 17PX;
  2907. margin: 0 10PX;
  2908. }
  2909. li {
  2910. border-bottom: 1PX solid #ccc;
  2911. padding-bottom: 15PX;
  2912. margin-bottom: 10PX;
  2913. box-sizing: border-box;
  2914. p {
  2915. margin: 0;
  2916. height: auto;
  2917. line-height: 25PX;
  2918. font-size: 15PX;
  2919. color: #000;
  2920. &.hfnr {
  2921. font-weight: bold;
  2922. span {
  2923. color: #f00;
  2924. }
  2925. }
  2926. }
  2927. }
  2928. }
  2929. }
  2930. }
  2931. //第四层 end---------------------------------------->
  2932. .index—layer-2 {
  2933. padding: 0px 10px;
  2934. box-sizing: border-box;
  2935. }
  2936. .index-layer-4 {
  2937. margin: 0px auto;
  2938. width: 98%;
  2939. }
  2940. }
  2941. @media screen and (max-width: 800px) {
  2942. //swiper轮播图 start---------------------------------------->
  2943. .swiper-container {
  2944. width: 100%;
  2945. padding: 20px 0;
  2946. position: relative;
  2947. max-width: 1400px;
  2948. margin: 0 auto;
  2949. display: none;
  2950. }
  2951. .custom-swiper {
  2952. width: 100%;
  2953. height: 100%;
  2954. padding: 10px 5px; //给两侧留出空间
  2955. }
  2956. .custom-swiper :deep(.swiper-wrapper) {
  2957. align-items: stretch; //使所有幻灯片高度一致
  2958. }
  2959. .custom-swiper :deep(.swiper-slide) {
  2960. height: auto;
  2961. transition: transform 0.3s ease;
  2962. }
  2963. //悬停效果
  2964. .custom-swiper :deep(.swiper-slide:hover) {
  2965. transform: translateY(-5px);
  2966. z-index: 10;
  2967. }
  2968. .slide-link {
  2969. display: block;
  2970. text-decoration: none;
  2971. color: inherit;
  2972. height: 100%;
  2973. width: 100%;
  2974. }
  2975. .image-container {
  2976. position: relative;
  2977. width: 100%;
  2978. height: 118px; //根据需求调整
  2979. overflow: hidden;
  2980. box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  2981. transition: all 0.3s ease;
  2982. background: #f5f5f5; //加载时的背景色
  2983. }
  2984. .image-container:hover {
  2985. box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  2986. }
  2987. .slide-image {
  2988. // width: 100%;
  2989. // height: 100%;
  2990. width: 264px;
  2991. height: 118px;
  2992. object-fit: cover;
  2993. transition: transform 0.5s ease;
  2994. }
  2995. .image-container:hover .slide-image {
  2996. transform: scale(1.05);
  2997. }
  2998. .image-title {
  2999. position: absolute;
  3000. bottom: 0;
  3001. left: 0;
  3002. right: 0;
  3003. color: white;
  3004. padding: 12px 15px;
  3005. font-size: 14px;
  3006. line-height: 1.4;
  3007. text-align: center;
  3008. overflow: hidden;
  3009. text-overflow: ellipsis;
  3010. white-space: nowrap;
  3011. background: rgba(0, 0, 0, .6)
  3012. }
  3013. .custom-indicators {
  3014. display: flex;
  3015. justify-content: center;
  3016. gap: 8px;
  3017. margin-top: 25px;
  3018. padding: 15px 10px;
  3019. flex-wrap: wrap;
  3020. background: rgba(255, 255, 255, 0.9);
  3021. border-radius: 50px;
  3022. max-width: 90%;
  3023. margin-left: auto;
  3024. margin-right: auto;
  3025. }
  3026. .indicator-btn {
  3027. width: 36px;
  3028. height: 36px;
  3029. border-radius: 50%;
  3030. border: 2px solid #e0e0e0;
  3031. background: white;
  3032. color: #333;
  3033. cursor: pointer;
  3034. transition: all 0.3s ease;
  3035. font-size: 14px;
  3036. font-weight: 500;
  3037. display: flex;
  3038. align-items: center;
  3039. justify-content: center;
  3040. outline: none;
  3041. }
  3042. .indicator-btn:hover {
  3043. background: #f0f9ff;
  3044. border-color: #409eff;
  3045. transform: scale(1.1);
  3046. }
  3047. .indicator-btn.active-indicator {
  3048. background: #409eff;
  3049. color: white;
  3050. border-color: #409eff;
  3051. box-shadow: 0 4px 12px rgba(64, 158, 255, 0.3);
  3052. }
  3053. //swiper加载动画
  3054. .image-container:empty::before {
  3055. content: '';
  3056. position: absolute;
  3057. top: 0;
  3058. left: 0;
  3059. width: 100%;
  3060. height: 100%;
  3061. background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  3062. background-size: 200% 100%;
  3063. animation: loading 1.5s infinite;
  3064. border-radius: 12px;
  3065. }
  3066. @keyframes loading {
  3067. 0% {
  3068. background-position: 200% 0;
  3069. }
  3070. 100% {
  3071. background-position: -200% 0;
  3072. }
  3073. }
  3074. //swiper箭头颜色
  3075. .custom-swiper :deep(.swiper-button-prev),
  3076. .custom-swiper :deep(.swiper-button-next) {
  3077. color: white !important; //箭头颜色改为白色
  3078. }
  3079. .custom-swiper :deep(.swiper-button-prev):after,
  3080. .custom-swiper :deep(.swiper-button-next):after {
  3081. color: white !important; //确保箭头图标也是白色
  3082. }
  3083. //swiper轮播图 end---------------------------------------->
  3084. //轮播图 start---------------------------------------->
  3085. .nuxt-swiper {
  3086. width: 100%;
  3087. height: 330px;
  3088. position: relative;
  3089. img {
  3090. width: 100%;
  3091. height: 100%;
  3092. }
  3093. span {
  3094. display: inline-block;
  3095. width: 100%;
  3096. height: 55px;
  3097. line-height: 55px;
  3098. padding-left: 20px;
  3099. box-sizing: border-box;
  3100. position: absolute;
  3101. bottom: 0;
  3102. left: 0;
  3103. font-family: Source Han Sans, Source Han Sans;
  3104. font-size: 20px;
  3105. color: #FFFFFF;
  3106. //background: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
  3107. background: rgba(0, 0, 0, .6);
  3108. }
  3109. }
  3110. .el-carousel {
  3111. // 左右箭头按钮
  3112. .el-carousel__arrow--right :deep(.class-name),
  3113. .el-carousel__arrow--left :deep(.class-name) {
  3114. width: 68px;
  3115. height: 68px;
  3116. }
  3117. //左右箭头图片
  3118. /deep/.el-icon svg {
  3119. height: 1em;
  3120. width: 1em;
  3121. background-color: transparent;
  3122. }
  3123. /deep/.el-carousel__arrow {
  3124. border-radius: 0;
  3125. background-color: transparent;
  3126. }
  3127. /deep/.el-carousel__arrow i {
  3128. font-size: 68px !important;
  3129. }
  3130. /deep/ .el-carousel__indicators {
  3131. // 指示器
  3132. left: unset;
  3133. transform: unset;
  3134. right: 41%;
  3135. }
  3136. /deep/ .el-carousel__button {
  3137. // 指示器按钮
  3138. width: 15px;
  3139. height: 15px;
  3140. border-radius: 50%;
  3141. border: none;
  3142. opacity: 1;
  3143. background-color: #FFFFFF;
  3144. bottom: 30px;
  3145. }
  3146. /deep/ .is-active .el-carousel__button {
  3147. // 指示器激活按钮
  3148. background: #158d91;
  3149. }
  3150. /deep/.custom-indicators {
  3151. position: absolute;
  3152. bottom: 10px;
  3153. left: 50%;
  3154. transform: translateX(-50%);
  3155. }
  3156. /deep/ .el-carousel__indicators {
  3157. right: 3%;
  3158. bottom: 14%;
  3159. }
  3160. /deep/ .el-carousel__arrow {
  3161. top: 50%;
  3162. }
  3163. /deep/ .el-carousel__container {
  3164. height: 330px;
  3165. }
  3166. }
  3167. //轮播图 end---------------------------------------->
  3168. //第一层 start---------------------------------------->
  3169. .index—layer-1 {
  3170. width: 100%;
  3171. height: auto;
  3172. overflow: hidden;
  3173. margin: 20px auto;
  3174. display: flex;
  3175. align-items: flex-start;
  3176. justify-content: space-between;
  3177. flex-wrap: wrap;
  3178. box-sizing: border-box;
  3179. padding: 0 10px;
  3180. .index—layer-1-left {
  3181. width: 100%;
  3182. margin: 10px 0;
  3183. border: 1px solid #ccc;
  3184. }
  3185. .index-layer-1-middle {
  3186. width: 100%;
  3187. border: 1px solid #ccc;
  3188. box-sizing: border-box;
  3189. padding: 0 10px;
  3190. padding-bottom: 5px;
  3191. margin: 10px 0;
  3192. .tabtlt {
  3193. width: 100%;
  3194. height: auto;
  3195. outline: hidden;
  3196. border-bottom: 1px solid #f0f0f0;
  3197. margin: 7px 0 18px;
  3198. overflow: hidden;
  3199. display: flex;
  3200. align-self: center;
  3201. justify-content: space-between;
  3202. a {
  3203. color: #337ab7;
  3204. text-decoration: none;
  3205. }
  3206. div {
  3207. width: 50%;
  3208. text-align: center;
  3209. width: 100%;
  3210. height: 50px;
  3211. line-height: 50px;
  3212. font-size: 28px;
  3213. color: #000;
  3214. background: #f3f3f3;
  3215. text-align: center;
  3216. cursor: pointer;
  3217. }
  3218. div.intabtltbg {
  3219. background: url(public/index/current.gif) no-repeat center bottom !important;
  3220. }
  3221. }
  3222. .coninfoitem {
  3223. width: 100%;
  3224. overflow: hidden;
  3225. margin: 0px auto;
  3226. >div {
  3227. &.coninfoitem_img {
  3228. height: 220px;
  3229. overflow: hidden;
  3230. margin-bottom: 5px;
  3231. display: flex;
  3232. align-items: flex-start;
  3233. justify-content: space-between;
  3234. }
  3235. h3 {
  3236. width: 100%;
  3237. height: 40px;
  3238. line-height: 40px;
  3239. line-height: 0;
  3240. overflow: hidden;
  3241. a {
  3242. font-size: 30px;
  3243. color: #333;
  3244. font-weight: bold;
  3245. width: 100%;
  3246. height: 44px;
  3247. line-height: 44px;
  3248. overflow: hidden;
  3249. display: block;
  3250. }
  3251. }
  3252. img {
  3253. width: 440px;
  3254. height: 220px;
  3255. float: left;
  3256. margin-right: 11px;
  3257. }
  3258. p {
  3259. a {
  3260. color: #333;
  3261. font-size: 26px;
  3262. height: 90px;
  3263. line-height: 30px;
  3264. margin-top: 11px;
  3265. display: block;
  3266. text-indent: 2em;
  3267. overflow: hidden;
  3268. display: -webkit-box !important;
  3269. -webkit-box-orient: vertical;
  3270. -webkit-line-clamp: 3;
  3271. }
  3272. }
  3273. }
  3274. .coninfoitem_title {
  3275. width: 100%;
  3276. height: 70px;
  3277. line-height: 70px;
  3278. color: #333;
  3279. display: block;
  3280. font-weight: normal;
  3281. display: flex;
  3282. align-items: center;
  3283. justify-content: space-between;
  3284. span:nth-child(1) {
  3285. width: 70%;
  3286. height: 50px;
  3287. text-align: left;
  3288. overflow: hidden;
  3289. display: block;
  3290. font-size: 28px;
  3291. }
  3292. span:nth-child(2) {
  3293. width: 30%;
  3294. height: 50px;
  3295. text-align: right;
  3296. display: block;
  3297. font-size: 24px;
  3298. color: #666;
  3299. }
  3300. }
  3301. }
  3302. }
  3303. .index-layer-1-right {
  3304. width: 100%;
  3305. border: 1px solid #ccc;
  3306. box-sizing: border-box;
  3307. padding-bottom: 16px;
  3308. padding: 10px;
  3309. .imgtlt {
  3310. width: 100%;
  3311. height: 43px;
  3312. border-bottom: 1px solid #e7e7e7;
  3313. a {
  3314. display: block;
  3315. width: auto;
  3316. float: left;
  3317. height: 42px;
  3318. line-height: 42px;
  3319. text-align: center;
  3320. font-size: 26px;
  3321. color: #333;
  3322. border-bottom: 2px solid #158d91;
  3323. }
  3324. }
  3325. .con_img_list {
  3326. display: flex;
  3327. flex-wrap: wrap;
  3328. a {
  3329. width: 48%;
  3330. float: left;
  3331. overflow: hidden;
  3332. height: 200px;
  3333. margin: 20px auto 0;
  3334. display: block;
  3335. position: relative;
  3336. img {
  3337. display: block;
  3338. width: 100%;
  3339. height: 100%;
  3340. }
  3341. .con_img_list_rgba {
  3342. position: absolute;
  3343. width: 100%;
  3344. height: 33px;
  3345. line-height: 33px;
  3346. box-sizing: border-box;
  3347. padding: 0 10px;
  3348. text-align: center;
  3349. bottom: 0px;
  3350. left: 0px;
  3351. color: #fff;
  3352. font-size: 20px;
  3353. z-index: 11;
  3354. background: rgba(0, 0, 0, .6);
  3355. display: block;
  3356. word-break: keep-all;
  3357. white-space: nowrap;
  3358. overflow: hidden;
  3359. text-overflow: ellipsis;
  3360. }
  3361. }
  3362. }
  3363. }
  3364. }
  3365. //第一层 end---------------------------------------->
  3366. //第二层 start---------------------------------------->
  3367. .index—layer-2 {
  3368. width: 100%;
  3369. height: auto;
  3370. overflow: hidden;
  3371. margin: 20px auto;
  3372. display: flex;
  3373. align-items: flex-start;
  3374. justify-content: space-between;
  3375. flex-wrap: wrap;
  3376. padding: 0 10px;
  3377. box-sizing: border-box;
  3378. .index—layer-2-left,
  3379. .index—layer-2-right {
  3380. width: 100%;
  3381. border: 1px solid #ddd;
  3382. height: auto;
  3383. overflow: hidden;
  3384. margin: 10px 0;
  3385. .index—layer-2-title {
  3386. display: flex;
  3387. align-items: center;
  3388. justify-content: flex-start;
  3389. background: #fff;
  3390. >div {
  3391. &.active {
  3392. background: #158d91;
  3393. color: #fff;
  3394. a {
  3395. color: #fff;
  3396. }
  3397. }
  3398. width:auto;
  3399. float:left;
  3400. height: 55px;
  3401. line-height: 55px;
  3402. background: #fff;
  3403. text-align: center;
  3404. color: #808080;
  3405. font-size: 26px;
  3406. padding:0px 18px;
  3407. font-weight: bold;
  3408. border-bottom: 2px solid #158d91;
  3409. a {
  3410. font-size: 20px;
  3411. color: #808080;
  3412. }
  3413. }
  3414. }
  3415. .index-tabs2-top {
  3416. background: #f8f8f8;
  3417. padding: 20px 20px;
  3418. box-sizing: border-box;
  3419. display: flex;
  3420. border-bottom: 1px dashed #ddd;
  3421. >a {
  3422. margin-right: 11px;
  3423. img {
  3424. display: block;
  3425. width: 330px;
  3426. height: 220px;
  3427. }
  3428. }
  3429. h3 {
  3430. width: 100%;
  3431. height: 40px;
  3432. line-height: 40px;
  3433. line-height: 0;
  3434. overflow: hidden;
  3435. a {
  3436. font-size: 30px;
  3437. color: #333;
  3438. font-weight: bold;
  3439. width: 100%;
  3440. height: 44px;
  3441. line-height: 44px;
  3442. overflow: hidden;
  3443. display: block;
  3444. }
  3445. }
  3446. p {
  3447. a {
  3448. color: #333;
  3449. font-size: 26px;
  3450. height: 90px;
  3451. line-height: 30px;
  3452. margin-top: 11px;
  3453. display: block;
  3454. text-indent: 2em;
  3455. overflow: hidden;
  3456. display: -webkit-box !important;
  3457. -webkit-box-orient: vertical;
  3458. -webkit-line-clamp: 3;
  3459. }
  3460. }
  3461. }
  3462. .index-tabs2-bottom {
  3463. padding: 20px;
  3464. margin: 0;
  3465. box-sizing: border-box;
  3466. a {
  3467. display: block;
  3468. width: 100%;
  3469. height: 50px;
  3470. line-height: 50px;
  3471. overflow: hidden;
  3472. position: relative;
  3473. list-style-position: inside;
  3474. color: #333;
  3475. font-size: 32px;
  3476. display: flex;
  3477. align-items: center;
  3478. justify-content: space-between;
  3479. span:nth-child(1) {
  3480. width: 70%;
  3481. height: 50px;
  3482. text-align: left;
  3483. overflow: hidden;
  3484. display: block;
  3485. font-size: 28px;
  3486. }
  3487. span:nth-child(2) {
  3488. width: 30%;
  3489. height: 50px;
  3490. text-align: right;
  3491. display: block;
  3492. font-size: 24px;
  3493. color: #666;
  3494. }
  3495. }
  3496. }
  3497. }
  3498. }
  3499. //第二层 end---------------------------------------->
  3500. //第三层 start---------------------------------------->
  3501. .index—layer-3 {
  3502. .index—layer-3-line {
  3503. width: 100%;
  3504. display: flex;
  3505. align-items: center;
  3506. justify-content: space-between;
  3507. margin: 0 auto;
  3508. box-sizing: border-box;
  3509. flex-wrap: wrap;
  3510. padding: 0 10px;
  3511. //选项卡类型
  3512. .index—layer-3-tabs-box {
  3513. width: 100%;
  3514. height: auto;
  3515. border: 1px solid #ddd;
  3516. border-top: 2px solid #158d91;
  3517. margin: 1%;
  3518. padding: 0 10px;
  3519. box-sizing: border-box;
  3520. margin: 10px 0;
  3521. .index—layer-3-tabs-box-title {
  3522. display: flex;
  3523. align-items: center;
  3524. width: 100%;
  3525. border-bottom: 1px solid #f0f0f0;
  3526. >div {
  3527. &.active {
  3528. background: url(../public/index/current2.png) no-repeat center bottom;
  3529. }
  3530. width: 87px;
  3531. height: 54px;
  3532. line-height: 55px;
  3533. overflow: hidden;
  3534. float: left;
  3535. margin-right: 10px;
  3536. text-align: center;
  3537. font-size: 20px;
  3538. color: #333;
  3539. font-weight: bold;
  3540. a {
  3541. color: #333;
  3542. }
  3543. }
  3544. }
  3545. .index—layer-3-news-body-main {
  3546. margin-bottom: 20px;
  3547. a {
  3548. width: 100%;
  3549. height: 70px;
  3550. line-height: 70px;
  3551. font-size: 26px;
  3552. color: #333;
  3553. display: flex;
  3554. align-items: center;
  3555. justify-content: space-between;
  3556. span:nth-child(1) {
  3557. width: 70%;
  3558. height: 50px;
  3559. text-align: left;
  3560. overflow: hidden;
  3561. display: block;
  3562. font-size: 28px;
  3563. }
  3564. span:nth-child(2) {
  3565. width: 30%;
  3566. height: 50px;
  3567. text-align: right;
  3568. display: block;
  3569. font-size: 24px;
  3570. color: #666;
  3571. }
  3572. }
  3573. }
  3574. }
  3575. //常规类型
  3576. .index—layer-3-news-box {
  3577. width: 100%;
  3578. height: auto;
  3579. border: 1px solid #ddd;
  3580. border-top: 2px solid #158d91;
  3581. margin: 1%;
  3582. padding: 0 10px;
  3583. box-sizing: border-box;
  3584. margin: 10px 0;
  3585. .index—layer-3-news-box-title {
  3586. display: flex;
  3587. align-items: center;
  3588. width: 100%;
  3589. border-bottom: 1px solid #f0f0f0;
  3590. >div {
  3591. &.active {
  3592. background: url(../public/index/current2.png) no-repeat center bottom;
  3593. }
  3594. width:auto;
  3595. float:left;
  3596. height: 54px;
  3597. line-height: 55px;
  3598. overflow: hidden;
  3599. float: left;
  3600. margin-right: 10px;
  3601. text-align: center;
  3602. font-size: 20px;
  3603. color: #333;
  3604. font-weight: bold;
  3605. a {
  3606. color: #333;
  3607. }
  3608. }
  3609. }
  3610. .index—layer-3-news-body-main {
  3611. margin-bottom: 20px;
  3612. a {
  3613. width: 100%;
  3614. height: 70px;
  3615. line-height: 70px;
  3616. font-size: 26px;
  3617. color: #333;
  3618. display: flex;
  3619. align-items: center;
  3620. justify-content: space-between;
  3621. span:nth-child(1) {
  3622. width: 70%;
  3623. height: 50px;
  3624. text-align: left;
  3625. overflow: hidden;
  3626. display: block;
  3627. font-size: 28px;
  3628. }
  3629. span:nth-child(2) {
  3630. width: 30%;
  3631. height: 50px;
  3632. text-align: right;
  3633. display: block;
  3634. font-size: 24px;
  3635. color: #666;
  3636. }
  3637. }
  3638. }
  3639. }
  3640. }
  3641. .index—layer-3-news-body-title {
  3642. overflow: hidden;
  3643. align-items: center;
  3644. justify-content: flex-start;
  3645. margin: 20px 0 14px;
  3646. padding-bottom: 20px;
  3647. border-bottom: 1px dashed #e1e1e1;
  3648. >div {
  3649. &.news-body-left {
  3650. float: left;
  3651. margin-right: 11px;
  3652. img {
  3653. display: block;
  3654. width: 330px;
  3655. height: 220px;
  3656. }
  3657. }
  3658. &.news-body-right {
  3659. width: 350px;
  3660. float: right;
  3661. >a {
  3662. height: 40px;
  3663. line-height: 40px;
  3664. line-height: 0;
  3665. overflow: hidden;
  3666. font-size: 30px;
  3667. color: #333;
  3668. font-weight: bold;
  3669. width: 100%;
  3670. height: 44px;
  3671. line-height: 44px;
  3672. overflow: hidden;
  3673. display: block;
  3674. }
  3675. p {
  3676. a {
  3677. color: #333;
  3678. font-size: 26px;
  3679. height: 90px;
  3680. line-height: 30px;
  3681. margin-top: 11px;
  3682. display: block;
  3683. text-indent: 2em;
  3684. overflow: hidden;
  3685. display: -webkit-box !important;
  3686. -webkit-box-orient: vertical;
  3687. -webkit-line-clamp: 3;
  3688. }
  3689. }
  3690. }
  3691. }
  3692. }
  3693. }
  3694. //第三层 end---------------------------------------->
  3695. //第四层 start---------------------------------------->
  3696. .index-layer-4 {
  3697. width: 100%;
  3698. border: 1px solid #ccc;
  3699. border-radius: 20px;
  3700. padding: 10px 20px;
  3701. box-sizing: border-box;
  3702. display: none;
  3703. .index-layer-4-title {
  3704. display: flex;
  3705. align-items: center;
  3706. justify-content: space-between;
  3707. width: 100%;
  3708. height: 40px;
  3709. line-height: 40px;
  3710. border-bottom: 1px solid #ccc;
  3711. a {
  3712. &:first-child {
  3713. font-size: 22px;
  3714. color: #1476bd;
  3715. }
  3716. &:last-child {
  3717. font-size: 16px;
  3718. color: #f00;
  3719. border: none;
  3720. float: right;
  3721. }
  3722. display: block;
  3723. }
  3724. }
  3725. .index-layer-4-body {
  3726. .post_nr {
  3727. width: 100%;
  3728. height: auto;
  3729. margin: 20px auto;
  3730. border: 1px solid #ccc;
  3731. border-radius: 10px;
  3732. padding: 20px !important;
  3733. box-sizing: border-box;
  3734. .name {
  3735. display: block;
  3736. width: 100%;
  3737. height: auto;
  3738. line-height: 40px;
  3739. font-size: 16px;
  3740. color: #333;
  3741. }
  3742. b {
  3743. font-size: 17px;
  3744. margin: 0 10px;
  3745. }
  3746. li {
  3747. border-bottom: 1px solid #ccc;
  3748. padding-bottom: 15px;
  3749. margin-bottom: 10px;
  3750. box-sizing: border-box;
  3751. p {
  3752. margin: 0;
  3753. height: auto;
  3754. line-height: 25px;
  3755. font-size: 15px;
  3756. color: #000;
  3757. &.hfnr {
  3758. font-weight: bold;
  3759. span {
  3760. color: #f00;
  3761. }
  3762. }
  3763. }
  3764. }
  3765. }
  3766. }
  3767. }
  3768. //第四层 end---------------------------------------->
  3769. }
  3770. </style>