1.vue 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918
  1. <template>
  2. <div class="listNewsBox">
  3. <div class="listNewsTitle">
  4. <NuxtLink v-if="titleLink1.cid" :href="getLinkPath(titleLink1)" :title="titleLink1.alias">
  5. <div :class="{ activeTab: activeTab == 0 }" @mouseenter="activeTab = 0">{{ titleLink1.alias }}</div>
  6. </NuxtLink>
  7. <NuxtLink v-if="titleLink2.cid" :href="getLinkPath(titleLink2)" :title="titleLink2.alias">
  8. <div :class="{ activeTab: activeTab == 1 }" @mouseenter="activeTab = 1">{{ titleLink2.alias }}</div>
  9. </NuxtLink>
  10. </div>
  11. <!--样式1-->
  12. <div class="listNewsContent" v-if="componentStyle == 1">
  13. <div class="box1" v-if="activeTab == 0">
  14. <div class="textLeft">
  15. <div class="leftTop">
  16. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_1">
  17. <img :src="item.imgurl" alt="" v-if="activeImg1 == index">
  18. </div>
  19. <div class="leftTopText">
  20. <div v-for="(item, index) in component_style1_News1Array_img_1"
  21. :class="{ active: activeImg1 == index }">
  22. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  23. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg1 = index">
  24. <span>{{ item.title }}</span>
  25. </NuxtLink>
  26. </div>
  27. </div>
  28. </div>
  29. <div class="leftBottom">
  30. <div v-for="item in component_style1_News2Array_text_1">
  31. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  32. :target="item.islink == 1 ? '_blank' : '_self'">
  33. <span>{{ item.title }}</span>
  34. </NuxtLink>
  35. </div>
  36. </div>
  37. </div>
  38. <div class="textRight">
  39. <div class="rightTop">
  40. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_2">
  41. <img :src="item.imgurl" alt="" v-if="activeImg2 == index">
  42. </div>
  43. <div class="rightTopText">
  44. <div v-for="(item, index) in component_style1_News1Array_img_2"
  45. :class="{ active: activeImg2 == index }">
  46. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  47. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg2 = index">
  48. <span>{{ item.title }}</span>
  49. </NuxtLink>
  50. </div>
  51. </div>
  52. </div>
  53. <div class="rightBottom">
  54. <div v-for="item in component_style1_News2Array_text_2">
  55. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  56. :target="item.islink == 1 ? '_blank' : '_self'">
  57. <span>{{ item.title }}</span>
  58. </NuxtLink>
  59. </div>
  60. </div>
  61. </div>
  62. </div>
  63. <div class="box1" v-if="activeTab == 1">
  64. <div class="textLeft">
  65. <div class="leftTop">
  66. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_3">
  67. <img :src="item.imgurl" alt="" v-if="activeImg3 == index">
  68. </div>
  69. <div class="leftTopText">
  70. <div v-for="(item, index) in component_style1_News1Array_img_3"
  71. :class="{ active: activeImg3 == index }">
  72. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  73. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg3 = index">
  74. <span>{{ item.title }}</span>
  75. </NuxtLink>
  76. </div>
  77. </div>
  78. </div>
  79. <div class="leftBottom">
  80. <div v-for="item in component_style1_News2Array_text_3">
  81. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  82. :target="item.islink == 1 ? '_blank' : '_self'">
  83. <span>{{ item.title }}</span>
  84. </NuxtLink>
  85. </div>
  86. </div>
  87. </div>
  88. <div class="textRight">
  89. <div class="rightTop">
  90. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_4">
  91. <img :src="item.imgurl" alt="" v-if="activeImg4 == index">
  92. </div>
  93. <div class="rightTopText">
  94. <div v-for="(item, index) in component_style1_News1Array_img_4"
  95. :class="{ active: activeImg4 == index }">
  96. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  97. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg4 = index">
  98. <span>{{ item.title }}</span>
  99. </NuxtLink>
  100. </div>
  101. </div>
  102. </div>
  103. <div class="rightBottom">
  104. <div v-for="item in component_style1_News2Array_text_4">
  105. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  106. :target="item.islink == 1 ? '_blank' : '_self'">
  107. <span>{{ item.title }}</span>
  108. </NuxtLink>
  109. </div>
  110. </div>
  111. </div>
  112. </div>
  113. </div>
  114. <!--样式2-->
  115. <div class="listNewsContent" v-if="componentStyle == 2">
  116. <div class="box1" v-if="activeTab == 0">
  117. <div class="textLeft">
  118. <div class="leftTop">
  119. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_1">
  120. <img :src="item.imgurl" alt="" v-if="activeImg1 == index">
  121. </div>
  122. <div class="leftTopText">
  123. <div v-for="(item, index) in component_style1_News1Array_img_1"
  124. :class="{ active: activeImg1 == index }">
  125. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  126. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg1 = index">
  127. <span>{{ item.title }}</span>
  128. </NuxtLink>
  129. </div>
  130. </div>
  131. </div>
  132. <div class="leftBottom">
  133. <div v-for="item in component_style1_News2Array_text_1">
  134. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  135. :target="item.islink == 1 ? '_blank' : '_self'">
  136. <span>{{ item.title }}</span>
  137. </NuxtLink>
  138. </div>
  139. </div>
  140. </div>
  141. <div class="textRight">
  142. <div class="rightTop">
  143. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_2">
  144. <img :src="item.imgurl" alt="" v-if="activeImg2 == index">
  145. </div>
  146. <div class="rightTopText">
  147. <div v-for="(item, index) in component_style1_News1Array_img_2"
  148. :class="{ active: activeImg2 == index }">
  149. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  150. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg2 = index">
  151. <span>{{ item.title }}</span>
  152. </NuxtLink>
  153. </div>
  154. </div>
  155. </div>
  156. <div class="rightBottom">
  157. <div v-for="item in component_style1_News2Array_text_2">
  158. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  159. :target="item.islink == 1 ? '_blank' : '_self'">
  160. <span>{{ item.title }}</span>
  161. </NuxtLink>
  162. </div>
  163. </div>
  164. </div>
  165. </div>
  166. <div class="box1" v-if="activeTab == 1">
  167. <div class="textLeft">
  168. <div class="leftTop">
  169. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_3">
  170. <img :src="item.imgurl" alt="" v-if="activeImg3 == index">
  171. </div>
  172. <div class="leftTopText">
  173. <div v-for="(item, index) in component_style1_News1Array_img_3"
  174. :class="{ active: activeImg3 == index }">
  175. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  176. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg3 = index">
  177. <span>{{ item.title }}</span>
  178. </NuxtLink>
  179. </div>
  180. </div>
  181. </div>
  182. <div class="leftBottom">
  183. <div v-for="item in component_style1_News2Array_text_3">
  184. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  185. :target="item.islink == 1 ? '_blank' : '_self'">
  186. <span>{{ item.title }}</span>
  187. </NuxtLink>
  188. </div>
  189. </div>
  190. </div>
  191. <div class="textRight">
  192. <div class="rightTop">
  193. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_4">
  194. <img :src="item.imgurl" alt="" v-if="activeImg4 == index">
  195. </div>
  196. <div class="rightTopText">
  197. <div v-for="(item, index) in component_style1_News1Array_img_4"
  198. :class="{ active: activeImg4 == index }">
  199. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  200. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg4 = index">
  201. <span>{{ item.title }}</span>
  202. </NuxtLink>
  203. </div>
  204. </div>
  205. </div>
  206. <div class="rightBottom">
  207. <div v-for="item in component_style1_News2Array_text_4">
  208. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  209. :target="item.islink == 1 ? '_blank' : '_self'">
  210. <span>{{ item.title }}</span>
  211. </NuxtLink>
  212. </div>
  213. </div>
  214. </div>
  215. </div>
  216. </div>
  217. <!--样式3-->
  218. <div class="listNewsContent" v-if="componentStyle == 3">
  219. <div class="box1" v-if="activeTab == 0">
  220. <div class="textLeft">
  221. <div class="leftTop">
  222. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_1">
  223. <img :src="item.imgurl" alt="" v-if="activeImg1 == index">
  224. </div>
  225. <div class="leftTopText">
  226. <div v-for="(item, index) in component_style1_News1Array_img_1"
  227. :class="{ active: activeImg1 == index }">
  228. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  229. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg1 = index">
  230. <span>{{ item.title }}</span>
  231. </NuxtLink>
  232. </div>
  233. </div>
  234. </div>
  235. <div class="leftBottom">
  236. <div v-for="item in component_style1_News2Array_text_1">
  237. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  238. :target="item.islink == 1 ? '_blank' : '_self'">
  239. <span>{{ item.title }}</span>
  240. </NuxtLink>
  241. </div>
  242. </div>
  243. </div>
  244. <div class="textRight">
  245. <div class="rightTop">
  246. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_2">
  247. <img :src="item.imgurl" alt="" v-if="activeImg2 == index">
  248. </div>
  249. <div class="rightTopText">
  250. <div v-for="(item, index) in component_style1_News1Array_img_2"
  251. :class="{ active: activeImg2 == index }">
  252. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  253. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg2 = index">
  254. <span>{{ item.title }}</span>
  255. </NuxtLink>
  256. </div>
  257. </div>
  258. </div>
  259. <div class="rightBottom">
  260. <div v-for="item in component_style1_News2Array_text_2">
  261. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  262. :target="item.islink == 1 ? '_blank' : '_self'">
  263. <span>{{ item.title }}</span>
  264. </NuxtLink>
  265. </div>
  266. </div>
  267. </div>
  268. </div>
  269. <div class="box1" v-if="activeTab == 1">
  270. <div class="textLeft">
  271. <div class="leftTop">
  272. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_3">
  273. <img :src="item.imgurl" alt="" v-if="activeImg3 == index">
  274. </div>
  275. <div class="leftTopText">
  276. <div v-for="(item, index) in component_style1_News1Array_img_3"
  277. :class="{ active: activeImg3 == index }">
  278. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  279. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg3 = index">
  280. <span>{{ item.title }}</span>
  281. </NuxtLink>
  282. </div>
  283. </div>
  284. </div>
  285. <div class="leftBottom">
  286. <div v-for="item in component_style1_News2Array_text_3">
  287. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  288. :target="item.islink == 1 ? '_blank' : '_self'">
  289. <span>{{ item.title }}</span>
  290. </NuxtLink>
  291. </div>
  292. </div>
  293. </div>
  294. <div class="textRight">
  295. <div class="rightTop">
  296. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_4">
  297. <img :src="item.imgurl" alt="" v-if="activeImg4 == index">
  298. </div>
  299. <div class="rightTopText">
  300. <div v-for="(item, index) in component_style1_News1Array_img_4"
  301. :class="{ active: activeImg4 == index }">
  302. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  303. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg4 = index">
  304. <span>{{ item.title }}</span>
  305. </NuxtLink>
  306. </div>
  307. </div>
  308. </div>
  309. <div class="rightBottom">
  310. <div v-for="item in component_style1_News2Array_text_4">
  311. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  312. :target="item.islink == 1 ? '_blank' : '_self'">
  313. <span>{{ item.title }}</span>
  314. </NuxtLink>
  315. </div>
  316. </div>
  317. </div>
  318. </div>
  319. </div>
  320. <!--样式4-->
  321. <div class="listNewsContent style4" v-if="componentStyle == 4">
  322. <div class="box1" v-if="activeTab == 0">
  323. <div class="textLeft">
  324. <div class="leftBottom">
  325. <div v-for="item in component_style1_News2Array_text_1">
  326. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  327. :target="item.islink == 1 ? '_blank' : '_self'">
  328. <span>{{ item.title }}</span>
  329. </NuxtLink>
  330. </div>
  331. </div>
  332. <div class="leftTop">
  333. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_1">
  334. <img :src="item.imgurl" alt="" v-if="activeImg1 == index">
  335. </div>
  336. <div class="leftTopText">
  337. <div v-for="(item, index) in component_style1_News1Array_img_1"
  338. :class="{ active: activeImg1 == index }">
  339. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  340. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg1 = index">
  341. <span>{{ item.title }}</span>
  342. </NuxtLink>
  343. </div>
  344. </div>
  345. </div>
  346. </div>
  347. <div class="textRight">
  348. <div class="rightBottom">
  349. <div v-for="item in component_style1_News2Array_text_2">
  350. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  351. :target="item.islink == 1 ? '_blank' : '_self'">
  352. <span>{{ item.title }}</span>
  353. </NuxtLink>
  354. </div>
  355. </div>
  356. <div class="rightTop">
  357. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_2">
  358. <img :src="item.imgurl" alt="" v-if="activeImg2 == index">
  359. </div>
  360. <div class="rightTopText">
  361. <div v-for="(item, index) in component_style1_News1Array_img_2"
  362. :class="{ active: activeImg2 == index }">
  363. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  364. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg2 = index">
  365. <span>{{ item.title }}</span>
  366. </NuxtLink>
  367. </div>
  368. </div>
  369. </div>
  370. </div>
  371. </div>
  372. <div class="box1" v-if="activeTab == 1">
  373. <div class="textLeft">
  374. <div class="leftBottom">
  375. <div v-for="item in component_style1_News2Array_text_3">
  376. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  377. :target="item.islink == 1 ? '_blank' : '_self'">
  378. <span>{{ item.title }}</span>
  379. </NuxtLink>
  380. </div>
  381. </div>
  382. <div class="leftTop">
  383. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_3">
  384. <img :src="item.imgurl" alt="" v-if="activeImg3 == index">
  385. </div>
  386. <div class="leftTopText">
  387. <div v-for="(item, index) in component_style1_News1Array_img_3"
  388. :class="{ active: activeImg3 == index }">
  389. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  390. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg3 = index">
  391. <span>{{ item.title }}</span>
  392. </NuxtLink>
  393. </div>
  394. </div>
  395. </div>
  396. </div>
  397. <div class="textRight">
  398. <div class="rightBottom">
  399. <div v-for="item in component_style1_News2Array_text_4">
  400. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  401. :target="item.islink == 1 ? '_blank' : '_self'">
  402. <span>{{ item.title }}</span>
  403. </NuxtLink>
  404. </div>
  405. </div>
  406. <div class="rightTop">
  407. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_4">
  408. <img :src="item.imgurl" alt="" v-if="activeImg4 == index">
  409. </div>
  410. <div class="rightTopText">
  411. <div v-for="(item, index) in component_style1_News1Array_img_4"
  412. :class="{ active: activeImg4 == index }">
  413. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  414. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg4 = index">
  415. <span>{{ item.title }}</span>
  416. </NuxtLink>
  417. </div>
  418. </div>
  419. </div>
  420. </div>
  421. </div>
  422. </div>
  423. <!--样式5-->
  424. <div class="listNewsContent style5" v-if="componentStyle == 5">
  425. <div class="box1" v-if="activeTab == 0">
  426. <div class="textLeft">
  427. <div class="leftBottom">
  428. <div v-for="item in component_style1_News2Array_text_1">
  429. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  430. :target="item.islink == 1 ? '_blank' : '_self'">
  431. <span>{{ item.title }}</span>
  432. </NuxtLink>
  433. </div>
  434. </div>
  435. <div class="leftTop">
  436. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_1">
  437. <img :src="item.imgurl" alt="" v-if="activeImg1 == index">
  438. </div>
  439. <div class="leftTopText">
  440. <div v-for="(item, index) in component_style1_News1Array_img_1"
  441. :class="{ active: activeImg1 == index }">
  442. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  443. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg1 = index">
  444. <span>{{ item.title }}</span>
  445. </NuxtLink>
  446. </div>
  447. </div>
  448. </div>
  449. </div>
  450. <div class="textRight">
  451. <div class="rightBottom">
  452. <div v-for="item in component_style1_News2Array_text_2">
  453. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  454. :target="item.islink == 1 ? '_blank' : '_self'">
  455. <span>{{ item.title }}</span>
  456. </NuxtLink>
  457. </div>
  458. </div>
  459. <div class="rightTop">
  460. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_2">
  461. <img :src="item.imgurl" alt="" v-if="activeImg2 == index">
  462. </div>
  463. <div class="rightTopText">
  464. <div v-for="(item, index) in component_style1_News1Array_img_2"
  465. :class="{ active: activeImg2 == index }">
  466. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  467. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg2 = index">
  468. <span>{{ item.title }}</span>
  469. </NuxtLink>
  470. </div>
  471. </div>
  472. </div>
  473. </div>
  474. </div>
  475. <div class="box1" v-if="activeTab == 1">
  476. <div class="textLeft">
  477. <div class="leftBottom">
  478. <div v-for="item in component_style1_News2Array_text_3">
  479. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  480. :target="item.islink == 1 ? '_blank' : '_self'">
  481. <span>{{ item.title }}</span>
  482. </NuxtLink>
  483. </div>
  484. </div>
  485. <div class="leftTop">
  486. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_3">
  487. <img :src="item.imgurl" alt="" v-if="activeImg3 == index">
  488. </div>
  489. <div class="leftTopText">
  490. <div v-for="(item, index) in component_style1_News1Array_img_3"
  491. :class="{ active: activeImg3 == index }">
  492. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  493. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg3 = index">
  494. <span>{{ item.title }}</span>
  495. </NuxtLink>
  496. </div>
  497. </div>
  498. </div>
  499. </div>
  500. <div class="textRight">
  501. <div class="rightBottom">
  502. <div v-for="item in component_style1_News2Array_text_4">
  503. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  504. :target="item.islink == 1 ? '_blank' : '_self'">
  505. <span>{{ item.title }}</span>
  506. </NuxtLink>
  507. </div>
  508. </div>
  509. <div class="rightTop">
  510. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_4">
  511. <img :src="item.imgurl" alt="" v-if="activeImg4 == index">
  512. </div>
  513. <div class="rightTopText">
  514. <div v-for="(item, index) in component_style1_News1Array_img_4"
  515. :class="{ active: activeImg4 == index }">
  516. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  517. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg4 = index">
  518. <span>{{ item.title }}</span>
  519. </NuxtLink>
  520. </div>
  521. </div>
  522. </div>
  523. </div>
  524. </div>
  525. </div>
  526. <!--样式6-->
  527. <div class="listNewsContent style6" v-if="componentStyle == 6">
  528. <div class="box1" v-if="activeTab == 0">
  529. <div class="textLeft">
  530. <div class="leftBottom">
  531. <div v-for="item in component_style1_News2Array_text_1">
  532. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  533. :target="item.islink == 1 ? '_blank' : '_self'">
  534. <span>{{ item.title }}</span>
  535. </NuxtLink>
  536. </div>
  537. </div>
  538. <div class="leftTop">
  539. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_1">
  540. <img :src="item.imgurl" alt="" v-if="activeImg1 == index">
  541. </div>
  542. <div class="leftTopText">
  543. <div v-for="(item, index) in component_style1_News1Array_img_1"
  544. :class="{ active: activeImg1 == index }">
  545. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  546. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg1 = index">
  547. <span>{{ item.title }}</span>
  548. </NuxtLink>
  549. </div>
  550. </div>
  551. </div>
  552. </div>
  553. <div class="textRight">
  554. <div class="rightBottom">
  555. <div v-for="item in component_style1_News2Array_text_2">
  556. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  557. :target="item.islink == 1 ? '_blank' : '_self'">
  558. <span>{{ item.title }}</span>
  559. </NuxtLink>
  560. </div>
  561. </div>
  562. <div class="rightTop">
  563. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_2">
  564. <img :src="item.imgurl" alt="" v-if="activeImg2 == index">
  565. </div>
  566. <div class="rightTopText">
  567. <div v-for="(item, index) in component_style1_News1Array_img_2"
  568. :class="{ active: activeImg2 == index }">
  569. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  570. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg2 = index">
  571. <span>{{ item.title }}</span>
  572. </NuxtLink>
  573. </div>
  574. </div>
  575. </div>
  576. </div>
  577. </div>
  578. <div class="box1" v-if="activeTab == 1">
  579. <div class="textLeft">
  580. <div class="leftBottom">
  581. <div v-for="item in component_style1_News2Array_text_3">
  582. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  583. :target="item.islink == 1 ? '_blank' : '_self'">
  584. <span>{{ item.title }}</span>
  585. </NuxtLink>
  586. </div>
  587. </div>
  588. <div class="leftTop">
  589. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_3">
  590. <img :src="item.imgurl" alt="" v-if="activeImg3 == index">
  591. </div>
  592. <div class="leftTopText">
  593. <div v-for="(item, index) in component_style1_News1Array_img_3"
  594. :class="{ active: activeImg3 == index }">
  595. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  596. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg3 = index">
  597. <span>{{ item.title }}</span>
  598. </NuxtLink>
  599. </div>
  600. </div>
  601. </div>
  602. </div>
  603. <div class="textRight">
  604. <div class="rightBottom">
  605. <div v-for="item in component_style1_News2Array_text_4">
  606. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  607. :target="item.islink == 1 ? '_blank' : '_self'">
  608. <span>{{ item.title }}</span>
  609. </NuxtLink>
  610. </div>
  611. </div>
  612. <div class="rightTop">
  613. <div class="photo" v-for="(item, index) in component_style1_News1Array_img_4">
  614. <img :src="item.imgurl" alt="" v-if="activeImg4 == index">
  615. </div>
  616. <div class="rightTopText">
  617. <div v-for="(item, index) in component_style1_News1Array_img_4"
  618. :class="{ active: activeImg4 == index }">
  619. <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
  620. :target="item.islink == 1 ? '_blank' : '_self'" @mouseenter="activeImg4 = index">
  621. <span>{{ item.title }}</span>
  622. </NuxtLink>
  623. </div>
  624. </div>
  625. </div>
  626. </div>
  627. </div>
  628. </div>
  629. </div>
  630. </template>
  631. <script setup>
  632. //引入vue
  633. import { ref } from 'vue';
  634. //获得新闻数据
  635. const props = defineProps({
  636. titleLink1: Object,//板块1名称
  637. titleLink2: Object,//板块2名称
  638. templateData: Array,//新闻数据
  639. templateData1: Array,//新闻数据
  640. componentStyle: Number,//样式编号
  641. });
  642. //定义tab切换
  643. const activeTab = ref(0);
  644. // 图片切换
  645. const activeImg1 = ref(0);
  646. const activeImg2 = ref(0);
  647. const activeImg3 = ref(0);
  648. const activeImg4 = ref(0);
  649. // activeTab==0时需要的变量
  650. const component_style1_News1Array_img_1 = ref([]);
  651. const component_style1_News1Array_img_2 = ref([]);
  652. const component_style1_News2Array_text_1 = ref([]);
  653. const component_style1_News2Array_text_2 = ref([]);
  654. // activeTab==1时需要的变量
  655. const component_style1_News1Array_img_3 = ref([]);
  656. const component_style1_News1Array_img_4 = ref([]);
  657. const component_style1_News2Array_text_3 = ref([]);
  658. const component_style1_News2Array_text_4 = ref([]);
  659. // activeTab==0时给所需变量赋值
  660. component_style1_News1Array_img_1.value = props.templateData.imgnum.slice(0, 2);
  661. component_style1_News1Array_img_2.value = props.templateData.imgnum.slice(2, 4);
  662. component_style1_News2Array_text_1.value = props.templateData.textnum.slice(0, 6);
  663. component_style1_News2Array_text_2.value = props.templateData.textnum.slice(6, 12);
  664. // activeTab==1时给所需变量赋值
  665. component_style1_News1Array_img_3.value = props.templateData1.imgnum.slice(0, 2);
  666. component_style1_News1Array_img_4.value = props.templateData1.imgnum.slice(2, 4);
  667. component_style1_News2Array_text_3.value = props.templateData1.textnum.slice(0, 6);
  668. component_style1_News2Array_text_4.value = props.templateData1.textnum.slice(6, 12);
  669. </script>
  670. <style lang="less" scoped>
  671. //基本样式 start ---------------------------------------->
  672. .listNewsBox {
  673. position: relative;
  674. .listNewsTitle {
  675. display: flex;
  676. align-items: flex-start;
  677. justify-content: flex-start;
  678. border-bottom: 1px solid #999999;
  679. height: 38px;
  680. div {
  681. height: 35px;
  682. width: 138px;
  683. line-height: 32px;
  684. font-size: 22px;
  685. font-weight: bold;
  686. color: #333333;
  687. cursor: pointer;
  688. overflow: hidden;
  689. text-overflow: ellipsis;
  690. white-space: nowrap;
  691. &.activeTab {
  692. color: #154079;
  693. background: url("https://img.bjzxtw.org.cn/pre/image/png/20251104/1762224944805589.png") bottom left no-repeat;
  694. }
  695. }
  696. }
  697. .dashed {
  698. border-bottom: 1px dashed #999999;
  699. }
  700. .listNewsContent {
  701. margin-top: 20px;
  702. .box1 {
  703. display: flex;
  704. align-items: flex-start;
  705. justify-content: flex-start;
  706. .textLeft {
  707. width: 380px;
  708. margin-right: 32px;
  709. .leftTop {
  710. display: flex;
  711. align-items: flex-start;
  712. justify-content: flex-start;
  713. margin-bottom: 26px;
  714. .photo {
  715. width: 185px;
  716. height: 130px;
  717. img {
  718. width: 185px;
  719. height: 130px;
  720. }
  721. }
  722. .leftTopText {
  723. width: 195px;
  724. height: 130px;
  725. background-color: #f9fafb;
  726. padding: 10px 4px 9px 10px;
  727. box-sizing: border-box;
  728. div {
  729. width: 170px;
  730. height: 48px;
  731. line-height: 24px;
  732. font-size: 18px;
  733. color: #333333;
  734. display: -webkit-box;
  735. -webkit-box-orient: vertical;
  736. -webkit-line-clamp: 2;
  737. overflow: hidden;
  738. text-overflow: ellipsis;
  739. word-break: break-all;
  740. margin-bottom: 15px;
  741. padding-left: 16px;
  742. background: url("https://img.bjzxtw.org.cn/pre/image/png/20251204/1764835042961132.png") no-repeat left center;
  743. &:last-child {
  744. margin-bottom: 0;
  745. }
  746. &.active {
  747. font-weight: bold;
  748. }
  749. a {
  750. color: #333333;
  751. }
  752. }
  753. }
  754. }
  755. .leftBottom {
  756. div {
  757. width: 100%;
  758. white-space: nowrap;
  759. overflow: hidden;
  760. text-overflow: ellipsis;
  761. font-size: 18px;
  762. color: #666666;
  763. margin-bottom: 20px;
  764. padding-left: 8px;
  765. background: url("https://img.bjzxtw.org.cn/pre/image/png/20251203/1764729502583754.png") no-repeat left center;
  766. &:nth-child(3n+1) {
  767. font-weight: bold;
  768. }
  769. &:last-child {
  770. margin-bottom: 0;
  771. }
  772. a {
  773. color: #666666;
  774. }
  775. }
  776. }
  777. }
  778. .textRight {
  779. width: 380px;
  780. .rightTop {
  781. display: flex;
  782. align-items: flex-start;
  783. justify-content: flex-start;
  784. margin-bottom: 26px;
  785. .photo {
  786. width: 185px;
  787. height: 130px;
  788. img {
  789. width: 185px;
  790. height: 130px;
  791. }
  792. }
  793. .rightTopText {
  794. width: 195px;
  795. height: 130px;
  796. background-color: #f9fafb;
  797. padding: 10px 4px 9px 10px;
  798. box-sizing: border-box;
  799. div {
  800. width: 170px;
  801. height: 48px;
  802. line-height: 24px;
  803. font-size: 18px;
  804. display: -webkit-box;
  805. -webkit-box-orient: vertical;
  806. -webkit-line-clamp: 2;
  807. overflow: hidden;
  808. text-overflow: ellipsis;
  809. word-break: break-all;
  810. color: #333333;
  811. margin-bottom: 15px;
  812. padding-left: 16px;
  813. background: url("https://img.bjzxtw.org.cn/pre/image/png/20251204/1764835042961132.png") no-repeat left center;
  814. &:last-child {
  815. margin-bottom: 0;
  816. }
  817. &.active {
  818. font-weight: bold;
  819. }
  820. a {
  821. color: #333333;
  822. }
  823. }
  824. }
  825. }
  826. .rightBottom {
  827. div {
  828. width: 100%;
  829. white-space: nowrap;
  830. overflow: hidden;
  831. text-overflow: ellipsis;
  832. font-size: 18px;
  833. color: #666666;
  834. margin-bottom: 20px;
  835. padding-left: 8px;
  836. background: url("https://img.bjzxtw.org.cn/pre/image/png/20251203/1764729502583754.png") no-repeat left center;
  837. &:nth-child(3n+1) {
  838. font-weight: bold;
  839. }
  840. &:last-child {
  841. margin-bottom: 0;
  842. }
  843. a {
  844. color: #666666;
  845. }
  846. }
  847. }
  848. }
  849. }
  850. }
  851. // 样式4, 5, 6共用
  852. .style4,
  853. .style5,
  854. .style6 {
  855. .box1 {
  856. .textLeft {
  857. .leftTop {
  858. margin-bottom: 0;
  859. }
  860. .leftBottom {
  861. margin-bottom: 26px;
  862. }
  863. }
  864. .textRight {
  865. .rightTop {
  866. margin-bottom: 0;
  867. }
  868. .rightBottom {
  869. margin-bottom: 26px;
  870. }
  871. }
  872. }
  873. }
  874. }
  875. </style>