4.vue 64 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779
  1. <template>
  2. <!--样式1-->
  3. <div class="headLineStyle" v-if="componentStyle == 1">
  4. <div class="headLineTitle" v-if="templateData.length > 0">
  5. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607311756419.png" />
  6. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  7. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  8. {{ component_style1_News1.title }}
  9. </NuxtLink>
  10. </div>
  11. <div class="headLineContent">
  12. <div v-for="item in component_style1_News2Array" :key="item.id">
  13. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  14. :target="item.islink == 1 ? '_blank' : '_self'">
  15. {{ item.title }}
  16. </NuxtLink>
  17. </div>
  18. </div>
  19. </div>
  20. <!--样式2-->
  21. <div class="headLineStyle" v-if="componentStyle == 2">
  22. <div class="headLineTitle" v-if="templateData.length > 0">
  23. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607311756419.png" />
  24. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  25. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  26. {{ component_style1_News1.title }}
  27. </NuxtLink>
  28. </div>
  29. <div class="headLineContent">
  30. <div v-for="item in component_style2_News2Array" :key="item.id">
  31. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  32. :target="item.islink == 1 ? '_blank' : '_self'">
  33. {{ item.title }}
  34. </NuxtLink>
  35. </div>
  36. </div>
  37. </div>
  38. <!--样式3-->
  39. <div class="headLineStyle" v-if="componentStyle == 3">
  40. <div class="headLineTitle" v-if="templateData.length > 0">
  41. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607311756419.png" />
  42. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  43. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  44. {{ component_style1_News1.title }}
  45. </NuxtLink>
  46. </div>
  47. <div class="headLineContent">
  48. <div v-for="item in component_style3_News2Array" :key="item.id">
  49. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  50. :target="item.islink == 1 ? '_blank' : '_self'">
  51. {{ item.title }}
  52. </NuxtLink>
  53. </div>
  54. </div>
  55. </div>
  56. <!--样式4-->
  57. <div class="headLineStyle headLineContent4" v-if="componentStyle == 4">
  58. <div class="headLineTitle" v-if="templateData.length > 0">
  59. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607311756419.png" />
  60. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  61. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  62. {{ component_style1_News1.title }}
  63. </NuxtLink>
  64. </div>
  65. </div>
  66. <!--样式5-->
  67. <div class="headLineStyle headLineContent5" v-if="componentStyle == 5">
  68. <div class="headLineTitle" v-for="(item, index) in component_style1_News1Array" :key="item.id"
  69. :class="{ 'active': activeTab == index }">
  70. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607311756419.png"
  71. v-if="activeTab == index" />
  72. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  73. :target="item.islink == 1 ? '_blank' : '_self'" v-if="activeTab == index">
  74. {{ item.title }}
  75. </NuxtLink>
  76. </div>
  77. <div class="headLineContent">
  78. <div @mouseenter="activeTab = 0" :class="{ 'active': activeTab == 0 }"></div>
  79. <div @mouseenter="activeTab = 1" :class="{ 'active': activeTab == 1 }"></div>
  80. <div @mouseenter="activeTab = 2" :class="{ 'active': activeTab == 2 }"></div>
  81. </div>
  82. </div>
  83. <!--样式6-->
  84. <div class="headLineStyle headLineContent5" v-if="componentStyle == 6">
  85. <div class="headLineTitle" v-for="(item, index) in component_style1_News1Array_1" :key="item.id"
  86. :class="{ 'active': activeTab == index }">
  87. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607311756419.png"
  88. v-if="activeTab == index" />
  89. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  90. :target="item.islink == 1 ? '_blank' : '_self'" v-if="activeTab == index">
  91. {{ item.title }}
  92. </NuxtLink>
  93. </div>
  94. <div class="headLineContent">
  95. <div @mouseenter="activeTab = 0" :class="{ 'active': activeTab == 0 }"></div>
  96. <div @mouseenter="activeTab = 1" :class="{ 'active': activeTab == 1 }"></div>
  97. </div>
  98. </div>
  99. <!--样式7-->
  100. <div class="headLineStyle headLineContent7" v-if="componentStyle == 7">
  101. <div class="headLineTitle" v-if="templateData.length > 0">
  102. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607332639448.png" />
  103. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  104. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  105. {{ component_style1_News1.title }}
  106. </NuxtLink>
  107. </div>
  108. <div class="headLineContent">
  109. <div v-for="item in component_style1_News2Array" :key="item.id">
  110. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  111. :target="item.islink == 1 ? '_blank' : '_self'">
  112. {{ item.title }}
  113. </NuxtLink>
  114. </div>
  115. </div>
  116. </div>
  117. <!--样式8-->
  118. <div class="headLineStyle headLineContent7" v-if="componentStyle == 8">
  119. <div class="headLineTitle" v-if="templateData.length > 0">
  120. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607332639448.png" />
  121. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  122. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  123. {{ component_style1_News1.title }}
  124. </NuxtLink>
  125. </div>
  126. <div class="headLineContent">
  127. <div v-for="item in component_style2_News2Array" :key="item.id">
  128. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  129. :target="item.islink == 1 ? '_blank' : '_self'">
  130. {{ item.title }}
  131. </NuxtLink>
  132. </div>
  133. </div>
  134. </div>
  135. <!--样式9-->
  136. <div class="headLineStyle headLineContent7" v-if="componentStyle == 9">
  137. <div class="headLineTitle" v-if="templateData.length > 0">
  138. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607332639448.png" />
  139. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  140. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  141. {{ component_style1_News1.title }}
  142. </NuxtLink>
  143. </div>
  144. <div class="headLineContent">
  145. <div v-for="item in component_style3_News2Array" :key="item.id">
  146. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  147. :target="item.islink == 1 ? '_blank' : '_self'">
  148. {{ item.title }}
  149. </NuxtLink>
  150. </div>
  151. </div>
  152. </div>
  153. <!--样式10-->
  154. <div class="headLineStyle headLineContent10" v-if="componentStyle == 10">
  155. <div class="headLineTitle" v-if="templateData.length > 0">
  156. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607332639448.png" />
  157. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  158. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  159. {{ component_style1_News1.title }}
  160. </NuxtLink>
  161. </div>
  162. </div>
  163. <!--样式11-->
  164. <div class="headLineStyle headLineContent11" v-if="componentStyle == 11">
  165. <div class="headLineTitle" v-for="(item, index) in component_style1_News1Array" :key="item.id"
  166. :class="{ 'active': activeTab == index }">
  167. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607332639448.png"
  168. v-if="activeTab == index" />
  169. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  170. :target="item.islink == 1 ? '_blank' : '_self'" v-if="activeTab == index">
  171. {{ item.title }}
  172. </NuxtLink>
  173. </div>
  174. <div class="headLineContent">
  175. <div @mouseenter="activeTab = 0" :class="{ 'active': activeTab == 0 }"></div>
  176. <div @mouseenter="activeTab = 1" :class="{ 'active': activeTab == 1 }"></div>
  177. <div @mouseenter="activeTab = 2" :class="{ 'active': activeTab == 2 }"></div>
  178. </div>
  179. </div>
  180. <!--样式12-->
  181. <div class="headLineStyle headLineContent11" v-if="componentStyle == 12">
  182. <div class="headLineTitle" v-for="(item, index) in component_style1_News1Array_1" :key="item.id"
  183. :class="{ 'active': activeTab == index }">
  184. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607332639448.png"
  185. v-if="activeTab == index" />
  186. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  187. :target="item.islink == 1 ? '_blank' : '_self'" v-if="activeTab == index">
  188. {{ item.title }}
  189. </NuxtLink>
  190. </div>
  191. <div class="headLineContent">
  192. <div @mouseenter="activeTab = 0" :class="{ 'active': activeTab == 0 }"></div>
  193. <div @mouseenter="activeTab = 1" :class="{ 'active': activeTab == 1 }"></div>
  194. </div>
  195. </div>
  196. <!--样式13-->
  197. <div class="headLineStyle headLineContent7" v-if="componentStyle == 13">
  198. <div class="headLineTitle" v-if="templateData.length > 0">
  199. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  200. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  201. {{ component_style1_News1.title }}
  202. </NuxtLink>
  203. </div>
  204. <div class="headLineContent">
  205. <div v-for="item in component_style1_News2Array" :key="item.id">
  206. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  207. :target="item.islink == 1 ? '_blank' : '_self'">
  208. {{ item.title }}
  209. </NuxtLink>
  210. </div>
  211. </div>
  212. </div>
  213. <!--样式14-->
  214. <div class="headLineStyle headLineContent7" v-if="componentStyle == 14">
  215. <div class="headLineTitle" v-if="templateData.length > 0">
  216. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  217. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  218. {{ component_style1_News1.title }}
  219. </NuxtLink>
  220. </div>
  221. <div class="headLineContent">
  222. <div v-for="item in component_style2_News2Array" :key="item.id">
  223. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  224. :target="item.islink == 1 ? '_blank' : '_self'">
  225. {{ item.title }}
  226. </NuxtLink>
  227. </div>
  228. </div>
  229. </div>
  230. <!--样式15-->
  231. <div class="headLineStyle headLineContent7" v-if="componentStyle == 15">
  232. <div class="headLineTitle" v-if="templateData.length > 0">
  233. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  234. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  235. {{ component_style1_News1.title }}
  236. </NuxtLink>
  237. </div>
  238. <div class="headLineContent">
  239. <div v-for="item in component_style3_News2Array" :key="item.id">
  240. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  241. :target="item.islink == 1 ? '_blank' : '_self'">
  242. {{ item.title }}
  243. </NuxtLink>
  244. </div>
  245. </div>
  246. </div>
  247. <!--样式16-->
  248. <div class="headLineStyle headLineContent10" v-if="componentStyle == 16">
  249. <div class="headLineTitle" v-if="templateData.length > 0">
  250. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  251. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  252. {{ component_style1_News1.title }}
  253. </NuxtLink>
  254. </div>
  255. </div>
  256. <!--样式17-->
  257. <div class="headLineStyle headLineContent11" v-if="componentStyle == 17">
  258. <div class="headLineTitle" v-for="(item, index) in component_style1_News1Array" :key="item.id"
  259. :class="{ 'active': activeTab == index }">
  260. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  261. :target="item.islink == 1 ? '_blank' : '_self'" v-if="activeTab == index">
  262. {{ item.title }}
  263. </NuxtLink>
  264. </div>
  265. <div class="headLineContent">
  266. <div @mouseenter="activeTab = 0" :class="{ 'active': activeTab == 0 }"></div>
  267. <div @mouseenter="activeTab = 1" :class="{ 'active': activeTab == 1 }"></div>
  268. <div @mouseenter="activeTab = 2" :class="{ 'active': activeTab == 2 }"></div>
  269. </div>
  270. </div>
  271. <!--样式18-->
  272. <div class="headLineStyle headLineContent11" v-if="componentStyle == 18">
  273. <div class="headLineTitle" v-for="(item, index) in component_style1_News1Array_1" :key="item.id"
  274. :class="{ 'active': activeTab == index }">
  275. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  276. :target="item.islink == 1 ? '_blank' : '_self'" v-if="activeTab == index">
  277. {{ item.title }}
  278. </NuxtLink>
  279. </div>
  280. <div class="headLineContent">
  281. <div @mouseenter="activeTab = 0" :class="{ 'active': activeTab == 0 }"></div>
  282. <div @mouseenter="activeTab = 1" :class="{ 'active': activeTab == 1 }"></div>
  283. </div>
  284. </div>
  285. <!--样式19-->
  286. <div class="headLineStyle headLineContent19" v-if="componentStyle == 19">
  287. <div class="headLineTitle" v-if="templateData.length > 0">
  288. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607343978271.png" />
  289. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  290. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  291. {{ component_style1_News1.title }}
  292. </NuxtLink>
  293. </div>
  294. </div>
  295. <!-- 样式20 -->
  296. <div class="headLineStyle headLineContent20" v-if="componentStyle == 20">
  297. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607354621433.png" />
  298. <div class="headLineTitle" v-if="templateData.length > 0">
  299. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  300. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  301. {{ component_style1_News1.title }}
  302. </NuxtLink>
  303. </div>
  304. <div class="headLineContent">
  305. <div v-for="item in component_style1_News2Array" :key="item.id">
  306. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  307. :target="item.islink == 1 ? '_blank' : '_self'">
  308. {{ item.title }}
  309. </NuxtLink>
  310. </div>
  311. </div>
  312. </div>
  313. <!-- 样式21 -->
  314. <div class="headLineStyle headLineContent20" v-if="componentStyle == 21">
  315. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607354621433.png" />
  316. <div class="headLineTitle" v-if="templateData.length > 0">
  317. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  318. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  319. {{ component_style1_News1.title }}
  320. </NuxtLink>
  321. </div>
  322. <div class="headLineContent">
  323. <div v-for="item in component_style2_News2Array" :key="item.id">
  324. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  325. :target="item.islink == 1 ? '_blank' : '_self'">
  326. {{ item.title }}
  327. </NuxtLink>
  328. </div>
  329. </div>
  330. </div>
  331. <!-- 样式22 -->
  332. <div class="headLineStyle headLineContent20" v-if="componentStyle == 22">
  333. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607354621433.png" />
  334. <div class="headLineTitle" v-if="templateData.length > 0">
  335. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  336. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  337. {{ component_style1_News1.title }}
  338. </NuxtLink>
  339. </div>
  340. <div class="headLineContent">
  341. <div v-for="item in component_style3_News2Array" :key="item.id">
  342. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  343. :target="item.islink == 1 ? '_blank' : '_self'">
  344. {{ item.title }}
  345. </NuxtLink>
  346. </div>
  347. </div>
  348. </div>
  349. <!-- 样式23 -->
  350. <div class="headLineStyle headLineContent23" v-if="componentStyle == 23">
  351. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607354621433.png" />
  352. <div class="headLineTitle" v-if="templateData.length > 0">
  353. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  354. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  355. {{ component_style1_News1.title }}
  356. </NuxtLink>
  357. </div>
  358. </div>
  359. <!--样式24-->
  360. <div class="headLineStyle headLineContent24" v-if="componentStyle == 24">
  361. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607354621433.png" />
  362. <div class="headLineTitle" v-for="(item, index) in component_style1_News1Array" :key="item.id"
  363. :class="{ 'active': activeTab == index }">
  364. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  365. :target="item.islink == 1 ? '_blank' : '_self'" v-if="activeTab == index">
  366. {{ item.title }}
  367. </NuxtLink>
  368. </div>
  369. <div class="headLineContent">
  370. <div @mouseenter="activeTab = 0" :class="{ 'active': activeTab == 0 }"></div>
  371. <div @mouseenter="activeTab = 1" :class="{ 'active': activeTab == 1 }"></div>
  372. <div @mouseenter="activeTab = 2" :class="{ 'active': activeTab == 2 }"></div>
  373. </div>
  374. </div>
  375. <!--样式25-->
  376. <div class="headLineStyle headLineContent24" v-if="componentStyle == 25">
  377. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607354621433.png" />
  378. <div class="headLineTitle" v-for="(item, index) in component_style1_News1Array_1" :key="item.id"
  379. :class="{ 'active': activeTab == index }">
  380. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  381. :target="item.islink == 1 ? '_blank' : '_self'" v-if="activeTab == index">
  382. {{ item.title }}
  383. </NuxtLink>
  384. </div>
  385. <div class="headLineContent">
  386. <div @mouseenter="activeTab = 0" :class="{ 'active': activeTab == 0 }"></div>
  387. <div @mouseenter="activeTab = 1" :class="{ 'active': activeTab == 1 }"></div>
  388. </div>
  389. </div>
  390. <!--样式26-->
  391. <div class="headLineStyle1_skin2" v-if="componentStyle == 26">
  392. <div class="headTip">
  393. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607364802442.png">
  394. </div>
  395. <div class="headLineContentBox" ref="contentBox">
  396. <div class="headLineSlider" :style="sliderStyle" v-if="templateData.length > 0">
  397. <div class="headLineTitleBox">
  398. <div class="headLineTop">
  399. <NuxtLink :href="getLinkPathDetail(component_style26_News1)"
  400. :title="component_style26_News1.title"
  401. :target="component_style26_News1.islink == 1 ? '_blank' : '_self'">
  402. {{ getTitleLength(component_style26_News1.title, 33) }}
  403. </NuxtLink>
  404. </div>
  405. <div class="headLineBottom">
  406. <div v-for="item in component_style26_News1Array" :key="item.id">
  407. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  408. :target="item.islink == 1 ? '_blank' : '_self'">
  409. {{ item.title }}
  410. </NuxtLink>
  411. </div>
  412. </div>
  413. </div>
  414. <div class="headLineTitleBox" v-if="templateData.length > 4">
  415. <div class="headLineTop">
  416. <NuxtLink :href="getLinkPathDetail(component_style26_News2)"
  417. :title="component_style26_News2.title"
  418. :target="component_style26_News2.islink == 1 ? '_blank' : '_self'">
  419. {{ component_style26_News2.title }}
  420. </NuxtLink>
  421. </div>
  422. <div class="headLineBottom">
  423. <div v-for="item in component_style26_News2Array" :key="item.id">
  424. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  425. :target="item.islink == 1 ? '_blank' : '_self'">
  426. {{ item.title }}
  427. </NuxtLink>
  428. </div>
  429. </div>
  430. </div>
  431. <div class="headLineTitleBox" v-if="templateData.length > 8">
  432. <div class="headLineTop">
  433. <NuxtLink :href="getLinkPathDetail(component_style26_News3)"
  434. :title="component_style26_News3.title"
  435. :target="component_style26_News3.islink == 1 ? '_blank' : '_self'">
  436. {{ component_style26_News3.title }}
  437. </NuxtLink>
  438. </div>
  439. <div class="headLineBottom">
  440. <div v-for="item in component_style26_News3Array" :key="item.id">
  441. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  442. :target="item.islink == 1 ? '_blank' : '_self'">
  443. {{ item.title }}
  444. </NuxtLink>
  445. </div>
  446. </div>
  447. </div>
  448. </div>
  449. </div>
  450. <div class="headLineIcon">
  451. <div @mouseover="setActive(0)" :class="{ active: activeIndex === 0 }" v-if="templateData.length > 0"></div>
  452. <div @mouseover="setActive(1)" :class="{ active: activeIndex === 1 }" v-if="templateData.length > 4"></div>
  453. <div @mouseover="setActive(2)" :class="{ active: activeIndex === 2 }" v-if="templateData.length > 8"></div>
  454. </div>
  455. </div>
  456. <!--样式27-->
  457. <div class="headLineStyle1_skin2" v-if="componentStyle == 27">
  458. <div class="headTip">
  459. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607364802442.png">
  460. </div>
  461. <div class="headLineContentBox" ref="contentBox">
  462. <div class="headLineSlider" :style="sliderStyle" v-if="templateData.length > 0">
  463. <div class="headLineTitleBox">
  464. <div class="headLineTop">
  465. <NuxtLink :href="getLinkPathDetail(component_style27_News1)"
  466. :title="component_style27_News1.title"
  467. :target="component_style27_News1.islink == 1 ? '_blank' : '_self'">
  468. {{ getTitleLength(component_style27_News1.title, 33) }}
  469. </NuxtLink>
  470. </div>
  471. <div class="headLineBottom">
  472. <div v-for="item in component_style27_News1Array" :key="item.id">
  473. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  474. :target="item.islink == 1 ? '_blank' : '_self'">
  475. {{ item.title }}
  476. </NuxtLink>
  477. </div>
  478. </div>
  479. </div>
  480. <div class="headLineTitleBox" v-if="templateData.length > 3">
  481. <div class="headLineTop">
  482. <NuxtLink :href="getLinkPathDetail(component_style27_News2)"
  483. :title="component_style27_News2.title"
  484. :target="component_style27_News2.islink == 1 ? '_blank' : '_self'">
  485. {{ component_style27_News2.title }}
  486. </NuxtLink>
  487. </div>
  488. <div class="headLineBottom">
  489. <div v-for="item in component_style27_News2Array" :key="item.id">
  490. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  491. :target="item.islink == 1 ? '_blank' : '_self'">
  492. {{ item.title }}
  493. </NuxtLink>
  494. </div>
  495. </div>
  496. </div>
  497. <div class="headLineTitleBox" v-if="templateData.length > 6">
  498. <div class="headLineTop">
  499. <NuxtLink :href="getLinkPathDetail(component_style27_News3)"
  500. :title="component_style27_News3.title"
  501. :target="component_style27_News3.islink == 1 ? '_blank' : '_self'">
  502. {{ component_style27_News3.title }}
  503. </NuxtLink>
  504. </div>
  505. <div class="headLineBottom">
  506. <div v-for="item in component_style27_News3Array" :key="item.id">
  507. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  508. :target="item.islink == 1 ? '_blank' : '_self'">
  509. {{ item.title }}
  510. </NuxtLink>
  511. </div>
  512. </div>
  513. </div>
  514. </div>
  515. </div>
  516. <div class="headLineIcon">
  517. <div @mouseover="setActive(0)" :class="{ active: activeIndex === 0 }" v-if="templateData.length > 0"></div>
  518. <div @mouseover="setActive(1)" :class="{ active: activeIndex === 1 }" v-if="templateData.length > 3"></div>
  519. <div @mouseover="setActive(2)" :class="{ active: activeIndex === 2 }" v-if="templateData.length > 6"></div>
  520. </div>
  521. </div>
  522. <!--样式28-->
  523. <div class="headLineStyle1_skin26" v-if="componentStyle == 28">
  524. <div class="headTip">
  525. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607364802442.png">
  526. </div>
  527. <div class="headLineContentBox" ref="contentBox">
  528. <div class="headLineSlider" :style="sliderStyle" v-if="templateData.length > 0">
  529. <div class="headLineTitleBox" v-if="templateData.length > 0">
  530. <div class="headLineTop">
  531. <NuxtLink :href="getLinkPathDetail(component_style28_News1)"
  532. :title="component_style28_News1.title"
  533. :target="component_style28_News1.islink == 1 ? '_blank' : '_self'">
  534. {{ getTitleLength(component_style28_News1.title, 33) }}
  535. </NuxtLink>
  536. </div>
  537. <div class="headLineBottom">
  538. <div v-for="item in component_style28_News1Array" :key="item.id">
  539. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  540. :target="item.islink == 1 ? '_blank' : '_self'">
  541. {{ item.title }}
  542. </NuxtLink>
  543. </div>
  544. </div>
  545. </div>
  546. <div class="headLineTitleBox" v-if="templateData.length > 2">
  547. <div class="headLineTop">
  548. <NuxtLink :href="getLinkPathDetail(component_style28_News2)"
  549. :title="component_style28_News2.title"
  550. :target="component_style28_News2.islink == 1 ? '_blank' : '_self'">
  551. {{ getTitleLength(component_style28_News2.title, 33) }}
  552. </NuxtLink>
  553. </div>
  554. <div class="headLineBottom">
  555. <div v-for="item in component_style28_News2Array" :key="item.id">
  556. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  557. :target="item.islink == 1 ? '_blank' : '_self'">
  558. {{ item.title }}
  559. </NuxtLink>
  560. </div>
  561. </div>
  562. </div>
  563. <div class="headLineTitleBox" v-if="templateData.length > 4">
  564. <div class="headLineTop">
  565. <NuxtLink :href="getLinkPathDetail(component_style28_News3)"
  566. :title="component_style28_News3.title"
  567. :target="component_style28_News3.islink == 1 ? '_blank' : '_self'">
  568. {{ getTitleLength(component_style28_News3.title, 33) }}
  569. </NuxtLink>
  570. </div>
  571. <div class="headLineBottom">
  572. <div v-for="item in component_style28_News3Array" :key="item.id">
  573. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  574. :target="item.islink == 1 ? '_blank' : '_self'">
  575. {{ item.title }}
  576. </NuxtLink>
  577. </div>
  578. </div>
  579. </div>
  580. </div>
  581. </div>
  582. <div class="headLineIcon">
  583. <div @mouseover="setActive(0)" :class="{ active: activeIndex === 0 }"></div>
  584. <div @mouseover="setActive(1)" :class="{ active: activeIndex === 1 }"></div>
  585. <div @mouseover="setActive(2)" :class="{ active: activeIndex === 2 }"></div>
  586. </div>
  587. </div>
  588. <!--样式29-->
  589. <div class="headLineStyle1_skin26" v-if="componentStyle == 29">
  590. <div class="headTip">
  591. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607364802442.png">
  592. </div>
  593. <div class="headLineContentBox" ref="contentBox">
  594. <div class="headLineSlider" :style="sliderStyle" v-if="templateData.length > 0">
  595. <div class="headLineTitleBox" v-if="templateData.length > 0">
  596. <div class="headLineMiddle">
  597. <NuxtLink :href="getLinkPathDetail(component_style29_News1)"
  598. :title="component_style29_News1.title"
  599. :target="component_style29_News1.islink == 1 ? '_blank' : '_self'">
  600. {{ getTitleLength(component_style29_News1.title, 33) }}
  601. </NuxtLink>
  602. </div>
  603. </div>
  604. <div class="headLineTitleBox" v-if="templateData.length > 1">
  605. <div class="headLineMiddle">
  606. <NuxtLink :href="getLinkPathDetail(component_style29_News2)"
  607. :title="component_style29_News2.title"
  608. :target="component_style29_News2.islink == 1 ? '_blank' : '_self'">
  609. {{ getTitleLength(component_style29_News2.title, 33) }}
  610. </NuxtLink>
  611. </div>
  612. </div>
  613. <div class="headLineTitleBox" v-if="templateData.length > 2">
  614. <div class="headLineMiddle">
  615. <NuxtLink :href="getLinkPathDetail(component_style29_News3)"
  616. :title="component_style29_News3.title"
  617. :target="component_style29_News3.islink == 1 ? '_blank' : '_self'">
  618. {{ getTitleLength(component_style29_News3.title, 33) }}
  619. </NuxtLink>
  620. </div>
  621. </div>
  622. </div>
  623. </div>
  624. <div class="headLineIcon">
  625. <div @mouseover="setActive(0)" :class="{ active: activeIndex === 0 }"></div>
  626. <div @mouseover="setActive(1)" :class="{ active: activeIndex === 1 }"></div>
  627. <div @mouseover="setActive(2)" :class="{ active: activeIndex === 2 }"></div>
  628. </div>
  629. </div>
  630. <!--样式30-->
  631. <div class="headLineStyle1_skin26 headLineStyle1_skin30" v-if="componentStyle == 30">
  632. <div class="headTip">
  633. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607364802442.png">
  634. </div>
  635. <div class="headLineContentBox" ref="contentBox">
  636. <div class="headLineSlider" :style="sliderStyle" v-if="templateData.length > 0">
  637. <div class="headLineTitleBox" v-if="templateData.length > 0">
  638. <div class="headLineMiddle">
  639. <NuxtLink :href="getLinkPathDetail(component_style29_News1)"
  640. :title="component_style29_News1.title"
  641. :target="component_style29_News1.islink == 1 ? '_blank' : '_self'">
  642. {{ getTitleLength(component_style29_News1.title, 33) }}
  643. </NuxtLink>
  644. </div>
  645. </div>
  646. <div class="headLineTitleBox" v-if="templateData.length > 1">
  647. <div class="headLineMiddle">
  648. <NuxtLink :href="getLinkPathDetail(component_style29_News2)"
  649. :title="component_style29_News2.title"
  650. :target="component_style29_News2.islink == 1 ? '_blank' : '_self'">
  651. {{ getTitleLength(component_style29_News2.title, 33) }}
  652. </NuxtLink>
  653. </div>
  654. </div>
  655. <div class="headLineTitleBox" v-if="templateData.length > 2">
  656. <div class="headLineMiddle">
  657. <NuxtLink :href="getLinkPathDetail(component_style29_News3)"
  658. :title="component_style29_News3.title"
  659. :target="component_style29_News3.islink == 1 ? '_blank' : '_self'">
  660. {{ getTitleLength(component_style29_News3.title, 33) }}
  661. </NuxtLink>
  662. </div>
  663. </div>
  664. </div>
  665. </div>
  666. <div class="headLineIcon">
  667. <div @mouseover="setActive(0)" :class="{ active: activeIndex === 0 }"></div>
  668. <div @mouseover="setActive(1)" :class="{ active: activeIndex === 1 }"></div>
  669. <div @mouseover="setActive(2)" :class="{ active: activeIndex === 2 }"></div>
  670. </div>
  671. </div>
  672. <!-- 样式31 -->
  673. <div class="headLineStyle headLineStyle1_skin31" v-if="componentStyle == 31">
  674. <div class="headLineTitle" v-if="templateData.length > 0">
  675. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  676. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  677. {{ component_style1_News1.title }}
  678. </NuxtLink>
  679. </div>
  680. <div class="headLineContent">
  681. <div v-for="item in component_style1_News2Array" :key="item.id">
  682. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  683. :target="item.islink == 1 ? '_blank' : '_self'">
  684. {{ item.title }}
  685. </NuxtLink>
  686. </div>
  687. </div>
  688. </div>
  689. <!-- 样式32 -->
  690. <div class="headLineStyle headLineStyle1_skin32" v-if="componentStyle == 32">
  691. <div class="headLineTitle" v-if="templateData.length > 0">
  692. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  693. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  694. {{ component_style1_News1.title }}
  695. </NuxtLink>
  696. </div>
  697. <div class="headLineContent">
  698. <div v-for="item in component_style1_News2Array" :key="item.id">
  699. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  700. :target="item.islink == 1 ? '_blank' : '_self'">
  701. {{ item.title }}
  702. </NuxtLink>
  703. </div>
  704. </div>
  705. </div>
  706. <!-- 样式33 -->
  707. <div class="headLineStyle headLineStyle1_skin33" v-if="componentStyle == 33">
  708. <div class="headLineTitle" v-if="templateData.length > 0">
  709. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  710. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  711. {{ component_style1_News1.title }}
  712. </NuxtLink>
  713. </div>
  714. <div class="headLineContent">
  715. <div v-for="item in component_style1_News2Array" :key="item.id">
  716. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  717. :target="item.islink == 1 ? '_blank' : '_self'">
  718. {{ item.title }}
  719. </NuxtLink>
  720. </div>
  721. </div>
  722. </div>
  723. <!-- 样式34 -->
  724. <div class="headLineStyle headLineStyle1_skin34" v-if="componentStyle == 34">
  725. <div class="headLineTitle" v-if="templateData.length > 0">
  726. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  727. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  728. {{ component_style1_News1.title }}
  729. </NuxtLink>
  730. </div>
  731. <div class="headLineContent">
  732. <div v-for="item in component_style1_News2Array" :key="item.id">
  733. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  734. :target="item.islink == 1 ? '_blank' : '_self'">
  735. {{ item.title }}
  736. </NuxtLink>
  737. </div>
  738. </div>
  739. </div>
  740. <!-- 样式35 -->
  741. <div class="headLineStyle headLineStyle1_skin35" v-if="componentStyle == 35">
  742. <div class="headLineTitle" v-if="templateData.length > 0">
  743. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  744. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  745. {{ component_style1_News1.title }}
  746. </NuxtLink>
  747. </div>
  748. <div class="headLineContent">
  749. <div v-for="item in component_style1_News2Array" :key="item.id">
  750. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  751. :target="item.islink == 1 ? '_blank' : '_self'">
  752. {{ item.title }}
  753. </NuxtLink>
  754. </div>
  755. </div>
  756. </div>
  757. <!-- 样式36 -->
  758. <div class="headLineStyle headLineStyle1_skin36" v-if="componentStyle == 36">
  759. <div class="headLineTitle" v-if="templateData.length > 0">
  760. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  761. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  762. {{ component_style1_News1.title }}
  763. </NuxtLink>
  764. </div>
  765. <div class="headLineContent">
  766. <div v-for="item in component_style2_News2Array" :key="item.id">
  767. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  768. :target="item.islink == 1 ? '_blank' : '_self'">
  769. {{ item.title }}
  770. </NuxtLink>
  771. </div>
  772. </div>
  773. </div>
  774. <!-- 样式37 -->
  775. <div class="headLineStyle headLineStyle1_skin37" v-if="componentStyle == 37">
  776. <div class="headLineTitle" v-if="templateData.length > 0">
  777. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  778. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  779. {{ component_style1_News1.title }}
  780. </NuxtLink>
  781. </div>
  782. <div class="headLineContent">
  783. <div v-for="item in component_style1_News2Array" :key="item.id">
  784. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  785. :target="item.islink == 1 ? '_blank' : '_self'">
  786. {{ item.title }}
  787. </NuxtLink>
  788. </div>
  789. </div>
  790. </div>
  791. <!-- 样式38 -->
  792. <div class="headLineStyle headLineStyle1_skin38" v-if="componentStyle == 38">
  793. <div class="headLineTitle" v-if="templateData.length > 0">
  794. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  795. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  796. {{ component_style1_News1.title }}
  797. </NuxtLink>
  798. </div>
  799. <div class="headLineContent">
  800. <div v-for="item in component_style2_News2Array" :key="item.id">
  801. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  802. :target="item.islink == 1 ? '_blank' : '_self'">
  803. {{ item.title }}
  804. </NuxtLink>
  805. </div>
  806. </div>
  807. </div>
  808. <!-- 样式39 -->
  809. <div class="headLineStyle headLineStyle1_skin39" v-if="componentStyle == 39">
  810. <div class="headLineTitle" v-if="templateData.length > 0">
  811. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  812. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  813. {{ component_style1_News1.title }}
  814. </NuxtLink>
  815. </div>
  816. <div class="headLineContent">
  817. <div v-for="item in component_style1_News2Array" :key="item.id">
  818. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  819. :target="item.islink == 1 ? '_blank' : '_self'">
  820. {{ item.title }}
  821. </NuxtLink>
  822. </div>
  823. </div>
  824. </div>
  825. <!-- 样式40 -->
  826. <div class="headLineStyle headLineStyle1_skin40" v-if="componentStyle == 40">
  827. <div class="headLineTitle" v-if="templateData.length > 0">
  828. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  829. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  830. {{ component_style1_News1.title }}
  831. </NuxtLink>
  832. </div>
  833. <div class="headLineContent">
  834. <div v-for="item in component_style2_News2Array" :key="item.id">
  835. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  836. :target="item.islink == 1 ? '_blank' : '_self'">
  837. {{ item.title }}
  838. </NuxtLink>
  839. </div>
  840. </div>
  841. </div>
  842. <!-- 样式41 -->
  843. <div class="headLineStyle headLineStyle1_skin41" v-if="componentStyle == 41">
  844. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607373944071.png">
  845. <div class="headLineTitle" v-if="templateData.length > 0">
  846. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  847. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  848. {{ component_style1_News1.title }}
  849. </NuxtLink>
  850. </div>
  851. <div class="headLineContent">
  852. <div v-for="item in component_style1_News2Array" :key="item.id">
  853. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  854. :target="item.islink == 1 ? '_blank' : '_self'">
  855. {{ item.title }}
  856. </NuxtLink>
  857. </div>
  858. </div>
  859. </div>
  860. <!-- 样式42 -->
  861. <div class="headLineStyle headLineStyle1_skin42" v-if="componentStyle == 42">
  862. <img src="https://img.bjzxtw.org.cn/pre/image/png/20251016/1760607373944071.png">
  863. <div class="headLineTitle" v-if="templateData.length > 0">
  864. <NuxtLink :href="getLinkPathDetail(component_style1_News1)" :title="component_style1_News1.title"
  865. :target="component_style1_News1.islink == 1 ? '_blank' : '_self'">
  866. {{ component_style1_News1.title }}
  867. </NuxtLink>
  868. </div>
  869. <div class="headLineContent">
  870. <div v-for="item in component_style1_News2Array" :key="item.id">
  871. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  872. :target="item.islink == 1 ? '_blank' : '_self'">
  873. {{ item.title }}
  874. </NuxtLink>
  875. </div>
  876. </div>
  877. </div>
  878. </template>
  879. <script setup>
  880. //引入vue
  881. import { ref } from 'vue';
  882. const activeTab = ref(0);
  883. //获得新闻数据
  884. const props = defineProps({
  885. componentStyle: Number,//样式编号
  886. templateData: Array,//新闻数据
  887. });
  888. //组件样式1/2 start ---------------------------------------->
  889. const component_style1_News1 = ref({});
  890. const component_style1_News1Array = ref([]);
  891. const component_style1_News1Array_1 = ref([]);
  892. const component_style1_News2Array = ref([]);
  893. const component_style2_News2Array = ref([]);
  894. const component_style3_News2Array = ref([]);
  895. component_style1_News1.value = props.templateData[0];
  896. component_style1_News1Array.value = props.templateData.slice(0, 3);
  897. component_style1_News1Array_1.value = props.templateData.slice(0, 2);
  898. component_style1_News2Array.value = props.templateData.slice(1, 4);
  899. component_style2_News2Array.value = props.templateData.slice(1, 3);
  900. component_style3_News2Array.value = props.templateData.slice(1, 2);
  901. //组件样式1 end ---------------------------------------->
  902. //组件样式26/27 start ---------------------------------------->
  903. //样式1 - 一屏4条
  904. const component_style26_News1 = ref({})
  905. const component_style26_News1Array = ref([])
  906. const component_style26_News2 = ref({})
  907. const component_style26_News2Array = ref([])
  908. const component_style26_News3 = ref({})
  909. const component_style26_News3Array = ref([])
  910. if (props.templateData.length > 0) {
  911. if (props.templateData.length > 0) {
  912. component_style26_News1.value = props.templateData[0]
  913. component_style26_News1Array.value = props.templateData.slice(1, 4)
  914. }
  915. if (props.templateData.length > 4) {
  916. component_style26_News2.value = props.templateData[5]
  917. component_style26_News2Array.value = props.templateData.slice(6, 8)
  918. }
  919. if (props.templateData.length > 8) {
  920. component_style26_News3.value = props.templateData[9]
  921. component_style26_News3Array.value = props.templateData.slice(9, 12)
  922. }
  923. }
  924. //样式2 - 一屏3条
  925. const component_style27_News1 = ref({})
  926. const component_style27_News1Array = ref([])
  927. const component_style27_News2 = ref({})
  928. const component_style27_News2Array = ref([])
  929. const component_style27_News3 = ref({})
  930. const component_style27_News3Array = ref([])
  931. if (props.templateData.length > 0) {
  932. if (props.templateData.length > 0) {
  933. component_style27_News1.value = props.templateData[0]
  934. component_style27_News1Array.value = props.templateData.slice(1, 3)
  935. }
  936. if (props.templateData.length > 3) {
  937. component_style27_News2.value = props.templateData[3]
  938. component_style27_News2Array.value = props.templateData.slice(4, 6)
  939. }
  940. if (props.templateData.length > 6) {
  941. component_style27_News3.value = props.templateData[7]
  942. component_style27_News3Array.value = props.templateData.slice(7, 9)
  943. }
  944. }
  945. //样式3 - 一屏2条
  946. const component_style28_News1 = ref({})
  947. const component_style28_News1Array = ref([])
  948. const component_style28_News2 = ref({})
  949. const component_style28_News2Array = ref([])
  950. const component_style28_News3 = ref({})
  951. const component_style28_News3Array = ref([])
  952. if (props.templateData.length > 0) {
  953. if (props.templateData.length > 0) {
  954. component_style28_News1.value = props.templateData[0]
  955. component_style28_News1Array.value = props.templateData.slice(1, 2)
  956. }
  957. if (props.templateData.length > 2) {
  958. component_style28_News2.value = props.templateData[2]
  959. component_style28_News2Array.value = props.templateData.slice(3, 4)
  960. }
  961. if (props.templateData.length > 4) {
  962. component_style28_News3.value = props.templateData[4]
  963. component_style28_News3Array.value = props.templateData.slice(5, 6)
  964. }
  965. }
  966. ///组件样式29 - 一屏1条
  967. const component_style29_News1 = ref({})
  968. const component_style29_News2 = ref({})
  969. const component_style29_News3 = ref({})
  970. if (props.templateData.length > 0) {
  971. if (props.templateData.length > 0) {
  972. component_style29_News1.value = props.templateData[0]
  973. }
  974. if (props.templateData.length > 1) {
  975. component_style29_News2.value = props.templateData[1]
  976. }
  977. if (props.templateData.length > 2) {
  978. component_style29_News3.value = props.templateData[2]
  979. }
  980. }
  981. //滚动
  982. const activeIndex = ref(0);
  983. const sliderStyle = computed(() => {
  984. // 每个headLineTitleBox的高度是70px + 间距30px = 100px
  985. const translateY = -(activeIndex.value * 100);
  986. return {
  987. transform: `translateY(${translateY}px)`,
  988. transition: 'transform 0.3s ease-in-out'
  989. };
  990. });
  991. const setActive = (index) => {
  992. activeIndex.value = index;
  993. };
  994. //组件样式1 end ---------------------------------------->
  995. </script>
  996. <style lang="less" scoped>
  997. //基础样式 start ---------------------------------------->
  998. .headLineStyle {
  999. width: 1200px;
  1000. height: 110px;
  1001. margin: 0 auto;
  1002. box-sizing: border-box;
  1003. padding: 0 100px 0 100px;
  1004. .headLineTitle {
  1005. display: flex;
  1006. align-items: center;
  1007. justify-content: center;
  1008. margin-bottom: 20px;
  1009. a {
  1010. font-weight: bold;
  1011. font-size: 30px;
  1012. color: #fe8f00;
  1013. }
  1014. img {
  1015. margin-right: 20px;
  1016. }
  1017. }
  1018. .headLineContent {
  1019. display: flex;
  1020. align-items: center;
  1021. justify-content: center;
  1022. div {
  1023. margin-right: 40px;
  1024. overflow: hidden;
  1025. text-overflow: ellipsis;
  1026. white-space: nowrap;
  1027. a {
  1028. font-size: 18px;
  1029. color: #333333;
  1030. }
  1031. &:last-child {
  1032. margin-right: 0;
  1033. }
  1034. }
  1035. }
  1036. }
  1037. //基础样式 end ---------------------------------------->
  1038. //皮肤2 样式1 start---------------------------------------->
  1039. .headLineStyle1_skin2 {
  1040. border: 1px solid #E4E4E4;
  1041. width: 1200px;
  1042. height: 110px;
  1043. box-sizing: border-box;
  1044. padding: 0 15px 0 40px;
  1045. display: flex;
  1046. align-items: center;
  1047. justify-content: space-between;
  1048. .headLineContentBox {
  1049. width: 1000px;
  1050. height: 70px;
  1051. overflow: hidden;
  1052. position: relative;
  1053. .headLineSlider {
  1054. display: flex;
  1055. flex-direction: column; // 改为垂直方向
  1056. width: 100%;
  1057. height: 210px; // 3个titleBox,每个70px高
  1058. }
  1059. }
  1060. .headLineTitleBox {
  1061. text-align: center;
  1062. height: 70px; // 明确设置高度
  1063. width: 100%;
  1064. margin-bottom: 30px;
  1065. flex-shrink: 0; // 防止收缩
  1066. display: flex;
  1067. flex-direction: column;
  1068. justify-content: center;
  1069. .headLineTop {
  1070. margin-bottom: 8px;
  1071. font-weight: bold;
  1072. a {
  1073. font-size: 30px;
  1074. color: #fe8f00;
  1075. }
  1076. }
  1077. .headLineBottom {
  1078. display: flex;
  1079. align-items: center;
  1080. justify-content: center;
  1081. div {
  1082. width: 32%;
  1083. margin-right: 30px;
  1084. white-space: nowrap;
  1085. overflow: hidden;
  1086. text-overflow: ellipsis;
  1087. a {
  1088. font-size: 18px;
  1089. color: #333333;
  1090. }
  1091. &:last-child {
  1092. margin-right: 0;
  1093. }
  1094. }
  1095. }
  1096. }
  1097. .headLineIcon {
  1098. div {
  1099. width: 10px;
  1100. height: 10px;
  1101. background: #EDEDED;
  1102. margin-bottom: 10px;
  1103. cursor: pointer;
  1104. transition: background 0.3s ease;
  1105. &:last-child {
  1106. margin-bottom: 0;
  1107. }
  1108. &.active {
  1109. background: #fe8f00;
  1110. }
  1111. &:hover {
  1112. background: #fe8f00;
  1113. }
  1114. }
  1115. }
  1116. }
  1117. //皮肤2 样式1 start---------------------------------------->
  1118. //样式4
  1119. .headLineContent4 {
  1120. line-height: 100px;
  1121. .headLineTitle {
  1122. margin-bottom: 0;
  1123. }
  1124. }
  1125. //样式5
  1126. .headLineContent5 {
  1127. padding: 15px 100px 15px 100px;
  1128. .headLineTitle {
  1129. margin-bottom: 0;
  1130. }
  1131. .headLineContent {
  1132. margin-top: 30px;
  1133. display: flex;
  1134. align-items: center;
  1135. justify-content: center;
  1136. div {
  1137. width: 360px;
  1138. height: 5px;
  1139. background: #ccdae0;
  1140. margin-right: 10px;
  1141. }
  1142. .active {
  1143. background: #fe8f00;
  1144. }
  1145. }
  1146. }
  1147. //样式7
  1148. .headLineContent7 {
  1149. .headLineTitle {
  1150. img {
  1151. margin-right: 30px;
  1152. }
  1153. }
  1154. }
  1155. //样式10
  1156. .headLineContent10 {
  1157. line-height: 100px;
  1158. .headLineTitle {
  1159. margin-bottom: 0;
  1160. img {
  1161. margin-right: 30px;
  1162. }
  1163. }
  1164. }
  1165. //样式11
  1166. .headLineContent11 {
  1167. padding: 15px 100px 15px 100px;
  1168. .headLineTitle {
  1169. margin-bottom: 0;
  1170. img {
  1171. margin-right: 30px;
  1172. }
  1173. a {
  1174. white-space: nowrap;
  1175. overflow: hidden;
  1176. text-overflow: ellipsis;
  1177. }
  1178. }
  1179. .headLineContent {
  1180. margin-top: 30px;
  1181. display: flex;
  1182. align-items: center;
  1183. justify-content: center;
  1184. div {
  1185. width: 360px;
  1186. height: 5px;
  1187. background: #ccdae0;
  1188. margin-right: 10px;
  1189. }
  1190. .active {
  1191. background: #fe8f00;
  1192. }
  1193. }
  1194. }
  1195. //样式19
  1196. .headLineContent19 {
  1197. padding: 20px 50px;
  1198. margin-bottom: 0;
  1199. .headLineTitle {
  1200. width: 1100px;
  1201. height: 70px;
  1202. background-color: #f6fcff;
  1203. position: relative;
  1204. img {
  1205. width: 46px;
  1206. height: 46px;
  1207. position: absolute;
  1208. top: 0px;
  1209. left: 0px;
  1210. }
  1211. }
  1212. }
  1213. //样式20
  1214. .headLineContent20 {
  1215. width: 1196px;
  1216. height: 110px;
  1217. background-color: #fafafa;
  1218. position: relative;
  1219. padding-top: 5px;
  1220. img {
  1221. width: 63px;
  1222. height: 32px;
  1223. position: absolute;
  1224. top: 15px;
  1225. left: 30px;
  1226. }
  1227. }
  1228. //样式23
  1229. .headLineContent23 {
  1230. width: 1196px;
  1231. height: 110px;
  1232. background-color: #fafafa;
  1233. position: relative;
  1234. padding: 32px 100px;
  1235. img {
  1236. width: 63px;
  1237. height: 32px;
  1238. position: absolute;
  1239. top: 38px;
  1240. left: 30px;
  1241. }
  1242. }
  1243. //样式24
  1244. .headLineContent24 {
  1245. width: 1196px;
  1246. height: 110px;
  1247. background-color: #fafafa;
  1248. position: relative;
  1249. padding: 15px 100px;
  1250. img {
  1251. width: 63px;
  1252. height: 32px;
  1253. position: absolute;
  1254. top: 25px;
  1255. left: 30px;
  1256. }
  1257. .headLineTitle {
  1258. margin-bottom: 0;
  1259. }
  1260. .headLineContent {
  1261. margin-top: 30px;
  1262. display: flex;
  1263. align-items: center;
  1264. justify-content: center;
  1265. div {
  1266. width: 360px;
  1267. height: 5px;
  1268. background: #ccdae0;
  1269. margin-right: 10px;
  1270. }
  1271. .active {
  1272. background: #fe8f00;
  1273. }
  1274. }
  1275. }
  1276. //样式26 样式27
  1277. .headLineStyle1_skin26 {
  1278. border: 1px solid #E4E4E4;
  1279. width: 1200px;
  1280. height: 110px;
  1281. box-sizing: border-box;
  1282. padding: 32px 15px 32px 40px;
  1283. display: flex;
  1284. align-items: center;
  1285. justify-content: space-between;
  1286. .headLineContentBox {
  1287. width: 1000px;
  1288. height: 70px;
  1289. overflow: hidden;
  1290. position: relative;
  1291. scrollbar-width: none;
  1292. .headLineSlider {
  1293. display: flex;
  1294. flex-direction: column; // 改为垂直方向
  1295. width: 100%;
  1296. height: 210px; // 3个titleBox,每个70px高
  1297. }
  1298. }
  1299. .headLineTitleBox {
  1300. text-align: center;
  1301. height: 70px; // 明确设置高度
  1302. width: 100%;
  1303. margin-bottom: 30px;
  1304. flex-shrink: 0; // 防止收缩
  1305. display: flex;
  1306. flex-direction: column;
  1307. justify-content: center;
  1308. .headLineTop {
  1309. font-size: 30px;
  1310. color: #fe8f00;
  1311. margin-bottom: 6px;
  1312. font-weight: bold;
  1313. a {
  1314. color: #fe8f00;
  1315. }
  1316. }
  1317. .headLineMiddle {
  1318. font-size: 30px;
  1319. color: #fe8f00;
  1320. font-weight: bold;
  1321. a {
  1322. color: #fe8f00;
  1323. }
  1324. }
  1325. .headLineBottom {
  1326. display: flex;
  1327. align-items: center;
  1328. justify-content: center;
  1329. div {
  1330. width: 32%;
  1331. margin-right: 30px;
  1332. font-size: 18px;
  1333. color: #333333;
  1334. white-space: nowrap;
  1335. overflow: hidden;
  1336. text-overflow: ellipsis;
  1337. &:last-child {
  1338. margin-right: 0;
  1339. }
  1340. a {
  1341. color: #333333;
  1342. }
  1343. }
  1344. }
  1345. }
  1346. .headLineIcon {
  1347. div {
  1348. width: 10px;
  1349. height: 10px;
  1350. background: #EDEDED;
  1351. margin-bottom: 10px;
  1352. cursor: pointer;
  1353. transition: background 0.3s ease;
  1354. &:last-child {
  1355. margin-bottom: 0;
  1356. }
  1357. &.active {
  1358. background: #fe8f00;
  1359. }
  1360. &:hover {
  1361. background: #fe8f00;
  1362. }
  1363. }
  1364. }
  1365. }
  1366. //样式30
  1367. .headLineStyle1_skin30 {
  1368. border: none;
  1369. }
  1370. //样式31
  1371. .headLineStyle1_skin31 {
  1372. width: 1200px;
  1373. height: 138px;
  1374. border-top: 1px solid #fe8f00;
  1375. border-bottom: 1px solid #fe8f00;
  1376. .headLineTitle {
  1377. margin-top: 25px;
  1378. margin-bottom: 15px;
  1379. }
  1380. .headLineContent {
  1381. div {
  1382. color: #fe8f00;
  1383. a {
  1384. color: #fe8f00;
  1385. }
  1386. }
  1387. }
  1388. }
  1389. //样式32
  1390. .headLineStyle1_skin32 {
  1391. .headLineTitle {
  1392. margin-top: 25px;
  1393. margin-bottom: 15px;
  1394. padding-top: 25px;
  1395. }
  1396. .headLineContent {
  1397. div {
  1398. color: #fe8f00;
  1399. a {
  1400. color: #fe8f00;
  1401. }
  1402. }
  1403. }
  1404. }
  1405. //样式33
  1406. .headLineStyle1_skin33 {
  1407. width: 1200px;
  1408. height: 138px;
  1409. border-top: 1px solid #333333;
  1410. border-bottom: 1px solid #333333;
  1411. .headLineTitle {
  1412. color: #333333;
  1413. margin-top: 25px;
  1414. margin-bottom: 15px;
  1415. a {
  1416. color: #333333;
  1417. }
  1418. }
  1419. .headLineContent {
  1420. div {
  1421. color: #333333;
  1422. a {
  1423. color: #333333;
  1424. }
  1425. }
  1426. }
  1427. }
  1428. //样式34
  1429. .headLineStyle1_skin34 {
  1430. .headLineTitle {
  1431. color: #333333;
  1432. margin-top: 25px;
  1433. margin-bottom: 15px;
  1434. padding-top: 25px;
  1435. a {
  1436. color: #333333;
  1437. }
  1438. }
  1439. .headLineContent {
  1440. div {
  1441. color: #333333;
  1442. a {
  1443. color: #333333;
  1444. }
  1445. }
  1446. }
  1447. }
  1448. //样式35
  1449. .headLineStyle1_skin35 {
  1450. width: 1200px;
  1451. height: 138px;
  1452. border-bottom: 1px solid #333333;
  1453. .headLineTitle {
  1454. color: #333333;
  1455. margin-bottom: 15px;
  1456. margin-top: 25px;
  1457. padding-top: 25px;
  1458. a {
  1459. color: #333333;
  1460. }
  1461. }
  1462. .headLineContent {
  1463. div {
  1464. color: #333333;
  1465. a {
  1466. color: #333333;
  1467. }
  1468. }
  1469. }
  1470. }
  1471. //样式36
  1472. .headLineStyle1_skin36 {
  1473. width: 1200px;
  1474. height: 138px;
  1475. border-bottom: 1px solid #333333;
  1476. .headLineTitle {
  1477. color: #333333;
  1478. margin-bottom: 15px;
  1479. margin-top: 25px;
  1480. padding-top: 25px;
  1481. a {
  1482. color: #333333;
  1483. }
  1484. }
  1485. .headLineContent {
  1486. div {
  1487. color: #333333;
  1488. a {
  1489. color: #333333;
  1490. }
  1491. }
  1492. }
  1493. }
  1494. //样式37
  1495. .headLineStyle1_skin37 {
  1496. width: 1200px;
  1497. height: 138px;
  1498. border-top: 1px solid #333333;
  1499. border-bottom: 1px solid #333333;
  1500. .headLineTitle {
  1501. color: #333333;
  1502. margin-bottom: 15px;
  1503. margin-top: 25px;
  1504. a {
  1505. color: #333333;
  1506. }
  1507. }
  1508. .headLineContent {
  1509. div {
  1510. color: #999999;
  1511. a {
  1512. color: #999999;
  1513. }
  1514. }
  1515. }
  1516. }
  1517. //样式38
  1518. .headLineStyle1_skin38 {
  1519. .headLineTitle {
  1520. color: #333333;
  1521. margin-bottom: 15px;
  1522. margin-top: 25px;
  1523. padding-top: 25px;
  1524. a {
  1525. color: #333333;
  1526. }
  1527. }
  1528. .headLineContent {
  1529. div {
  1530. color: #999999;
  1531. a {
  1532. color: #999999;
  1533. }
  1534. }
  1535. }
  1536. }
  1537. //样式39
  1538. .headLineStyle1_skin39 {
  1539. width: 1200px;
  1540. height: 138px;
  1541. border-bottom: 1px solid #333333;
  1542. .headLineTitle {
  1543. color: #333333;
  1544. margin-bottom: 15px;
  1545. margin-top: 25px;
  1546. padding-top: 25px;
  1547. a {
  1548. color: #333333;
  1549. }
  1550. }
  1551. .headLineContent {
  1552. div {
  1553. color: #999999;
  1554. a {
  1555. color: #999999;
  1556. }
  1557. }
  1558. }
  1559. }
  1560. //样式40
  1561. .headLineStyle1_skin40 {
  1562. width: 1200px;
  1563. height: 138px;
  1564. border-bottom: 1px solid #333333;
  1565. .headLineTitle {
  1566. color: #333333;
  1567. margin-bottom: 15px;
  1568. margin-top: 25px;
  1569. padding-top: 25px;
  1570. a {
  1571. color: #333333;
  1572. }
  1573. }
  1574. .headLineContent {
  1575. div {
  1576. color: #999999;
  1577. a {
  1578. color: #999999;
  1579. }
  1580. }
  1581. }
  1582. }
  1583. //样式41
  1584. .headLineStyle1_skin41 {
  1585. width: 1196px;
  1586. height: 110px;
  1587. background-color: #f9fafb;
  1588. border-top: 2px solid #fe8f00;
  1589. position: relative;
  1590. margin-top: 5px;
  1591. img {
  1592. position: absolute;
  1593. top: -6px;
  1594. left: -10px;
  1595. width: 100px;
  1596. height: 47px;
  1597. }
  1598. .headLineTitle {
  1599. margin-top: 12px;
  1600. margin-bottom: 10px;
  1601. }
  1602. .headLineContent {
  1603. div {
  1604. color: #fe8f00;
  1605. a {
  1606. color: #fe8f00;
  1607. }
  1608. }
  1609. }
  1610. }
  1611. //样式42
  1612. .headLineStyle1_skin42 {
  1613. width: 1196px;
  1614. height: 110px;
  1615. background-color: #f9fafb;
  1616. border-top: 2px solid #333333;
  1617. position: relative;
  1618. margin-top: 5px;
  1619. img {
  1620. position: absolute;
  1621. top: -6px;
  1622. left: -10px;
  1623. width: 100px;
  1624. height: 47px;
  1625. }
  1626. .headLineTitle {
  1627. color: #333333;
  1628. margin-bottom: 10px;
  1629. margin-top: 12px;
  1630. a{
  1631. color: #333333;
  1632. }
  1633. }
  1634. .headLineContent {
  1635. div {
  1636. color: #333333;
  1637. a{
  1638. color: #333333;
  1639. }
  1640. }
  1641. }
  1642. }
  1643. </style>