2.vue 43 KB

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