class.vue 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631
  1. <template>
  2. <!-- 频道页 -->
  3. <div>
  4. <HomePageHead></HomePageHead>
  5. <HomePageNavigation></HomePageNavigation>
  6. <HomeSecondaryHeading :titleData="pageData" :pinyinid="routeId"></HomeSecondaryHeading>
  7. <main class="index_main">
  8. <section class="channel_1 clearfix" v-if="newsData.length > 0">
  9. <div class="channel_1_box clearfix">
  10. <div class="roll_1_box clearfix">
  11. <HomeSwiperNzgx :imgData="newsData[0].data"></HomeSwiperNzgx>
  12. </div>
  13. </div>
  14. <div class="channel_2_box clearfix">
  15. <div class="channel_ul_1 clearfix">
  16. <NuxtLink class="channel_ul_1_a dot1" :href="getLinkPathDetail(item)" :title="item.title"
  17. v-for="item in newsData[0].data2" :key="item.id"
  18. :target="item.islink == 1 ? '_blank' : '_self'">
  19. {{ item.title }}
  20. </NuxtLink>
  21. </div>
  22. </div>
  23. </section>
  24. <!-- 广告 1-->
  25. <HomeAdvertising :imgurl="adImg1" v-if="newsData.length > 0"></HomeAdvertising>
  26. <section class="channel_2 clearfix">
  27. <div class="channel_1_box" v-if="companyData.length > 0">
  28. <div class="channel_head_box clearfix">
  29. <div class="channel_head_box_left">
  30. <div class="channel_head_left_a_btn">
  31. <NuxtLink class="channel_head_left_a channel_head_left_a_only"
  32. :href="getLinkPath(companyData[0])" v-if="companyData[0]"
  33. :title="companyData[0].alias">
  34. {{ companyData[0].alias }}
  35. </NuxtLink>
  36. </div>
  37. </div>
  38. </div>
  39. <div class=" clearfix">
  40. <div class="channel_3_box clearfix">
  41. <div class="channel_ul_2 clearfix" v-if="companyData[0]">
  42. <NuxtLink class="channel_ul_2_a dot1" :href="getLinkPathDetail(item)"
  43. :title="item.title" v-for="item in companyData[0].data3" :key="item.id"
  44. :target="item.islink == 1 ? '_blank' : '_self'">
  45. {{ item.title }}
  46. </NuxtLink>
  47. </div>
  48. </div>
  49. <div class="channel_4_box clearfix">
  50. <div class="channel_img_ul_1">
  51. <div class="channel_img_ul_1_li" v-if="companyData[0]">
  52. <NuxtLink class="channel_img_ul_1_li_a" :href="getLinkPathDetail(item)"
  53. :title="item.title" v-for="item in companyData[0].data" :key="item.id"
  54. :target="item.islink == 1 ? '_blank' : '_self'">
  55. <img class="channel_img_ul_1_li_img" :src="item.imgurl" alt="item.imgurl">
  56. <div class="channel_img_ul_1_li_dot2 dot2">
  57. {{ item.title }}
  58. </div>
  59. </NuxtLink>
  60. </div>
  61. </div>
  62. <div class="channel_img_ul_even_1 clearfix" v-if="companyData[0]">
  63. <div class="channel_img_ul_even_1_li" v-for="item in companyData[0].data2">
  64. <NuxtLink class="channel_img_ul_even_1_li_a" :href="getLinkPathDetail(item)"
  65. :title="item.title" :key="item.id"
  66. :target="item.islink == 1 ? '_blank' : '_self'">
  67. <img class="channel_img_ul_even_1_li_img" :src="item.imgurl" alt="item.imgurl">
  68. <div class="channel_img_ul_even_1_li_dot2 dot2">
  69. {{ item.title }}
  70. </div>
  71. </NuxtLink>
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. </div>
  77. <div class="channel_2_box" v-if="companyData.length > 1">
  78. <div class="channel_head_box clearfix">
  79. <div class="channel_head_box_left">
  80. <div class="channel_head_left_a_btn">
  81. <NuxtLink class="channel_head_left_a channel_head_left_a_only"
  82. :href="getLinkPath(companyData[1])" v-if="companyData[1]"
  83. :title="companyData[1].alias">
  84. {{ companyData[1].alias }}
  85. </NuxtLink>
  86. </div>
  87. </div>
  88. <div class="channel_head_box_right">
  89. <!-- <NuxtLink class="channel_head_box_right_1_a" :href="getLinkPath(companyData[1])"
  90. v-if="companyData[1]" :title="companyData[1].alias">
  91. 栏目简介
  92. </NuxtLink> -->
  93. </div>
  94. </div>
  95. <div class=" clearfix">
  96. <div class="channel_even_img_ul_2 clearfix" v-if="companyData[1]">
  97. <div class="channel_even_img_ul_2_li" v-for="item in companyData[1].data">
  98. <NuxtLink class="channel_even_img_ul_2_a" :href="getLinkPathDetail(item)"
  99. :title="item.title" :key="item.id" :target="item.islink == 1 ? '_blank' : '_self'">
  100. <img class="channel_even_img_ul_2_li_img" :src="item.imgurl" alt="item.title">
  101. <div class="channel_even_img_ul_2_dot1 dot1">{{ item.title }}</div>
  102. </NuxtLink>
  103. </div>
  104. </div>
  105. <div class="channel_ul_3 clearfix" v-if="companyData[1]">
  106. <NuxtLink class="channel_ul_3_a dot1" :href="getLinkPathDetail(item)" :title="item.title"
  107. v-for="item in companyData[1].data2" :key="item.id"
  108. :target="item.islink == 1 ? '_blank' : '_self'">
  109. {{ item.title }}
  110. </NuxtLink>
  111. </div>
  112. </div>
  113. </div>
  114. </section>
  115. <section class="channel_3 clearfix">
  116. <div class="channel_1_box" v-if="companyData.length > 2">
  117. <div class="channel_head_box clearfix">
  118. <div class="channel_head_box_left">
  119. <div class="channel_head_left_a_btn">
  120. <NuxtLink class="channel_head_left_a channel_head_left_a_only"
  121. :href="getLinkPath(companyData[2])" v-if="companyData[2]"
  122. :title="companyData[2].alias">
  123. {{ companyData[2].alias }}
  124. </NuxtLink>
  125. </div>
  126. </div>
  127. <div class="channel_head_box_right">
  128. <!-- <NuxtLink class="channel_head_box_right_1_a" :href="getLinkPath(companyData[2])"
  129. v-if="companyData[2]" :title="companyData[2].alias">
  130. 栏目简介
  131. </NuxtLink> -->
  132. </div>
  133. </div>
  134. <div class=" clearfix">
  135. <div class="channel_ul_4 clearfix" v-if="companyData[2]">
  136. <NuxtLink class="channel_ul_4_a dot1" :href="getLinkPathDetail(item)" :title="item.title"
  137. v-for="item in companyData[2].data2" :key="item.id"
  138. :target="item.islink == 1 ? '_blank' : '_self'">
  139. {{ item.title }}
  140. </NuxtLink>
  141. </div>
  142. </div>
  143. </div>
  144. <div class="channel_2_box" v-if="companyData.length > 3">
  145. <div class="channel_head_box clearfix">
  146. <div class="channel_head_box_left">
  147. <div class="channel_head_left_a_btn">
  148. <NuxtLink class="channel_head_left_a channel_head_left_a_only"
  149. :href="getLinkPath(companyData[3])" v-if="companyData[3]"
  150. :title="companyData[3].alias">
  151. {{ companyData[3].alias }}
  152. </NuxtLink>
  153. </div>
  154. </div>
  155. <div class="channel_head_box_right">
  156. <!-- <NuxtLink class="channel_head_box_right_1_a" :href="getLinkPath(companyData[3])"
  157. v-if="companyData[3]" :title="companyData[3].alias">
  158. 栏目简介
  159. </NuxtLink> -->
  160. </div>
  161. </div>
  162. <div class="channel_img_ul_2">
  163. <div class="channel_img_ul_2_li" v-if="companyData[3]">
  164. <NuxtLink class="channel_img_ul_2_li_a" :href="getLinkPathDetail(item)" :title="item.title"
  165. v-for="item in companyData[3].data" :key="item.id"
  166. :target="item.islink == 1 ? '_blank' : '_self'">
  167. <img class="channel_img_ul_2_li_img" :src="item.imgurl" alt="item.imgurl">
  168. <div class="channel_img_ul_2_li_dot2 dot2">{{ item.title }}</div>
  169. </NuxtLink>
  170. </div>
  171. </div>
  172. </div>
  173. </section>
  174. <!-- 广告 2-->
  175. <HomeAdvertising :imgurl="adImg2"></HomeAdvertising>
  176. <section class="channel_4 clearfix">
  177. <div class="channel_1_box" v-if="companyData.length > 6">
  178. <div class="channel_head_box clearfix" v-if="companyData.length > 4">
  179. <div class="channel_head_box_left">
  180. <div class="channel_head_left_a_btn">
  181. <NuxtLink class="channel_head_left_a channel_head_left_a_only"
  182. :href="getLinkPath(companyData[4])" v-if="companyData[4]"
  183. :title="companyData[4].alias">
  184. {{ companyData[4].alias }}
  185. </NuxtLink>
  186. </div>
  187. </div>
  188. <div class="channel_head_box_right">
  189. <!-- <NuxtLink class="channel_head_box_right_1_a" :href="getLinkPath(companyData[4])"
  190. v-if="companyData[4]" :title="companyData[4].alias">
  191. 栏目简介
  192. </NuxtLink> -->
  193. </div>
  194. </div>
  195. <div class=" clearfix" v-if="companyData.length > 4">
  196. <div class="channel_3_box clearfix">
  197. <div class="channel_img_ul_3_ul boxheight2">
  198. <div class="channel_img_ul_3_li" v-if="companyData[4]">
  199. <NuxtLink class="channel_img_ul_3_li_a" :href="getLinkPathDetail(item)"
  200. :title="item.title" v-for="item in companyData[4].data" :key="item.id"
  201. :target="item.islink == 1 ? '_blank' : '_self'">
  202. <img class="channel_img_ul_3_li_img" :src="item.imgurl" alt="item.title">
  203. <div class="channel_img_ul_3_li_dot1 dot1">
  204. {{ item.title }}
  205. </div>
  206. </NuxtLink>
  207. </div>
  208. </div>
  209. </div>
  210. <div class="channel_4_box clearfix">
  211. <div class="channel_ul_5 clearfix" v-if="companyData[4]">
  212. <NuxtLink class="channel_ul_5_a dot1" :href="getLinkPathDetail(item)"
  213. :title="item.title" v-for="item in companyData[4].data2" :key="item.id"
  214. :target="item.islink == 1 ? '_blank' : '_self'">
  215. {{ item.title }}
  216. </NuxtLink>
  217. </div>
  218. </div>
  219. </div>
  220. <div class="channel_head_box clearfix channel_head_box_2" v-if="companyData.length > 5">
  221. <div class="channel_head_box_left">
  222. <div class="channel_head_left_a_btn">
  223. <NuxtLink class="channel_head_left_a channel_head_left_a_only"
  224. :href="getLinkPath(companyData[5])" v-if="companyData[5]"
  225. :title="companyData[5].alias">
  226. {{ companyData[5].alias }}
  227. </NuxtLink>
  228. </div>
  229. </div>
  230. <div class="channel_head_box_right">
  231. <!-- <NuxtLink class="channel_head_box_right_1_a" :href="getLinkPath(companyData[5])"
  232. v-if="companyData[5]" :title="companyData[5].alias">
  233. 栏目简介
  234. </NuxtLink> -->
  235. </div>
  236. </div>
  237. <div class=" clearfix" v-if="companyData.length > 5">
  238. <div class="channel_3_box clearfix">
  239. <div class="channel_img_ul_4_ul">
  240. <div class="channel_img_ul_4_li" v-if="companyData[5]">
  241. <NuxtLink class="channel_img_ul_4_li_a" :href="getLinkPathDetail(item)"
  242. :title="item.title" v-for="item in companyData[5].data" :key="item.id"
  243. :target="item.islink == 1 ? '_blank' : '_self'">
  244. <img class="channel_img_ul_4_li_img" :src="item.imgurl" alt="item.title">
  245. <div class="channel_img_ul_4_li_dot1 dot1">
  246. {{ item.title }}
  247. </div>
  248. </NuxtLink>
  249. </div>
  250. </div>
  251. </div>
  252. <div class="channel_4_box clearfix">
  253. <div class="channel_ul_6 clearfix" v-if="companyData[5]">
  254. <NuxtLink class="channel_ul_6_a dot1" :href="getLinkPathDetail(item)"
  255. :title="item.title" v-for="item in companyData[5].data2" :key="item.id"
  256. :target="item.islink == 1 ? '_blank' : '_self'">
  257. {{ item.title }}
  258. </NuxtLink>
  259. </div>
  260. </div>
  261. </div>
  262. </div>
  263. <div class="channel_2_box" v-if="companyData.length > 6">
  264. <div class="channel_head_box clearfix">
  265. <div class="channel_head_box_left">
  266. <div class="channel_head_left_a_btn">
  267. <NuxtLink class="channel_head_left_a channel_head_left_a_only"
  268. :href="getLinkPath(companyData[6])" v-if="companyData[6]"
  269. :title="companyData[6].alias">
  270. {{ companyData[6].alias }}
  271. </NuxtLink>
  272. </div>
  273. </div>
  274. <div class="channel_head_box_right">
  275. <!-- <NuxtLink class="channel_head_box_right_1_a" :href="getLinkPath(companyData[6])"
  276. v-if="companyData[6]" :title="companyData[6].alias">
  277. 栏目简介
  278. </NuxtLink> -->
  279. </div>
  280. </div>
  281. <div class="boxheight1 clearfix">
  282. <div class="channel_img_ul_5_ul">
  283. <div class="channel_img_ul_5_li" v-if="companyData[6]">
  284. <NuxtLink class="channel_img_ul_5_li_a" :href="getLinkPathDetail(item)"
  285. :title="item.title" v-for="item in companyData[6].data" :key="item.id"
  286. :target="item.islink == 1 ? '_blank' : '_self'">
  287. <img class="channel_img_ul_5_li_img" :src="item.imgurl" alt="item.title">
  288. <div class="channel_img_ul_5_li_dot1 dot1">{{ item.title }}</div>
  289. </NuxtLink>
  290. </div>
  291. </div>
  292. <div class="index_ul_7 clearfix" v-if="companyData[6]">
  293. <NuxtLink class="index_ul_7_a dot1" :href="getLinkPathDetail(item)" :title="item.title"
  294. v-for="item in companyData[6].data2" :key="item.id"
  295. :target="item.islink == 1 ? '_blank' : '_self'">
  296. {{ item.title }}
  297. </NuxtLink>
  298. </div>
  299. </div>
  300. </div>
  301. </section>
  302. </main>
  303. <!-- 页脚部分 -->
  304. <HomeFoot1></HomeFoot1>
  305. </div>
  306. </template>
  307. <script setup>
  308. //0.加载页面依赖 start ---------------------------------------->
  309. import { ref, onMounted } from 'vue';
  310. import { ElMessage } from 'element-plus';
  311. //0.加载页面依赖 end ---------------------------------------->
  312. //1.获得路由id start ---------------------------------------->
  313. const targetSegment = getRoutePath(1);
  314. //1.1 获得当前的路由id
  315. let routeId;
  316. //通过导航路径反向查询导航id
  317. const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
  318. method: 'GET',
  319. query: {
  320. 'pinyin': targetSegment,
  321. },
  322. });
  323. console.log('mkdataRouteId', getRouteId);
  324. if (getRouteId.code == 200) {
  325. routeId = getRouteId.data.category_id
  326. console.log('mkdataRouteId1111', routeId);
  327. } else {
  328. console.log("获得路由id出错!", getRouteId.message)
  329. }
  330. //1.获得路由id end ---------------------------------------->
  331. //2.选项卡 start ---------------------------------------->
  332. let showTabs = ref(1)
  333. let qhtabs = function (number) {
  334. console.log(number)
  335. showTabs.value = number
  336. }
  337. //2.选项卡 end ---------------------------------------->
  338. //3.广告 start ---------------------------------------->
  339. let adImg1 = ref({})
  340. let adImg2 = ref({})
  341. let adImg3 = ref({})
  342. let adImg4 = ref({})
  343. onMounted(async () => {
  344. //从客户端获取行政职能部门 加快打开速度
  345. const { $webUrl, $CwebUrl } = useNuxtApp();
  346. //广告1
  347. let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nzgxw_category_0001`
  348. const responseAd1 = await fetch(url, {
  349. headers: {
  350. 'Content-Type': 'application/json',
  351. 'Userurl': $CwebUrl,
  352. 'Origin': $CwebUrl
  353. }
  354. });
  355. const resultAd1 = await responseAd1.json();
  356. adImg1.value = resultAd1.data[0];
  357. //广告2
  358. let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nzgxw_category_0002`
  359. const responseAd2 = await fetch(url2, {
  360. headers: {
  361. 'Content-Type': 'application/json',
  362. 'Userurl': $CwebUrl,
  363. 'Origin': $CwebUrl
  364. }
  365. });
  366. const resultAd2 = await responseAd2.json();
  367. adImg2.value = resultAd2.data[0];
  368. //广告3
  369. let url3 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nzgxw_category_0003`
  370. const responseAd3 = await fetch(url3, {
  371. headers: {
  372. 'Content-Type': 'application/json',
  373. 'Userurl': $CwebUrl,
  374. 'Origin': $CwebUrl
  375. }
  376. });
  377. const resultAd3 = await responseAd3.json();
  378. adImg3.value = resultAd3.data[0];
  379. //广告4
  380. let url4 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nzgxw_category_0004`
  381. const responseAd4 = await fetch(url4, {
  382. headers: {
  383. 'Content-Type': 'application/json',
  384. 'Userurl': $CwebUrl,
  385. 'Origin': $CwebUrl
  386. }
  387. });
  388. const resultAd4 = await responseAd4.json();
  389. adImg4.value = resultAd4.data[0];
  390. })
  391. //3.广告 end ---------------------------------------->
  392. //4.页面数据 start ---------------------------------------->
  393. const pageData = ref([
  394. //示例:
  395. // {
  396. // id: 1,
  397. // title: "", //该导航的标题
  398. // data: [], //数据1
  399. // data1: [], //数据2
  400. // data2: [], //数据3
  401. // data3: [], //数据4
  402. // data4: [], //数据5
  403. // category_id1: "", //子导航id1
  404. // category_id2: "",
  405. // category_id3: "",
  406. // category_id4: "",
  407. // title1: "", //子导航标题1
  408. // title2: "",
  409. // title3: "",
  410. // title4: "",
  411. // cid: "" //该导航的id
  412. // },
  413. ])
  414. const companyData = ref([])
  415. const newsData = ref([])
  416. //4.1 获取所有导航
  417. try {
  418. const navigateData = await requestDataPromise('/web/getWebsiteModelCategory', {
  419. method: 'GET',
  420. query: {
  421. 'placeid': 1,
  422. 'pid': routeId,
  423. 'num': 20
  424. },
  425. });
  426. if (navigateData.code == 200) {
  427. // 遍历可用的导航池放到页面中
  428. for (let index in navigateData.data) {
  429. let data = {
  430. title: navigateData.data[index].name,
  431. cid: navigateData.data[index].category_id,
  432. children_count: navigateData.data[index].children_count,
  433. alias: navigateData.data[index].alias,
  434. aLIas_pinyin: targetSegment + "/" + navigateData.data[index].aLIas_pinyin,
  435. type: navigateData.data[index].type,
  436. data: [],
  437. data1: [],
  438. data2: [],
  439. data3: [],
  440. data4: [],
  441. category_id1: "",
  442. category_id2: "",
  443. category_id3: "",
  444. category_id4: "",
  445. title1: "",
  446. title2: "",
  447. title3: "",
  448. title4: ""
  449. };
  450. if (navigateData.data[index].is_url == 1) {
  451. // 处理 URL 的逻辑
  452. } else {
  453. if (navigateData.data[index].type == 1) {
  454. newsData.value.push(data);
  455. } else if (navigateData.data[index].type == 6) {
  456. companyData.value.push(data);
  457. }
  458. // companyData.value.push(data);
  459. //每个页面最多8个模块
  460. pageData.value.push(data);
  461. }
  462. }
  463. console.log("mkdata导航池加载完毕", companyData.value);
  464. //导航池加载完毕,开始申请模块数据
  465. let getJson = []
  466. for (let i = 0; i < companyData.value.length; i++) {
  467. if (i == 0) {
  468. getJson.push({ "id": companyData.value[i].cid + ",3,11" });//模块2
  469. } else if (i == 1) {
  470. getJson.push({ "id": companyData.value[i].cid + ",2,7" });//模块3
  471. } else if (i == 2) {
  472. getJson.push({ "id": companyData.value[i].cid + ",0,8" });//模块4
  473. } else if (i == 3) {
  474. getJson.push({ "id": companyData.value[i].cid + ",1,0" });//模块5
  475. } else if (i == 4) {
  476. getJson.push({ "id": companyData.value[i].cid + ",1,6" });//模块6
  477. } else if (i == 5) {
  478. getJson.push({ "id": companyData.value[i].cid + ",1,6" });//模块7
  479. } else if (i == 6) {
  480. getJson.push({ "id": companyData.value[i].cid + ",1,7" });//模块8
  481. }
  482. }
  483. let jsonString = JSON.stringify(getJson);
  484. getPageAllData(jsonString);
  485. let getnewsJson = []
  486. if (newsData.value.length > 0) {
  487. for (let i = 0; i < newsData.value.length; i++) {
  488. if (i == 0) {
  489. getnewsJson.push({ "parent": routeId + ",0,0", "child": pageData.value[i].cid + ",4,9" });//模块1
  490. }
  491. }
  492. let newsJsonString = JSON.stringify(getnewsJson);
  493. getPageNewsData(newsJsonString);
  494. }
  495. } else {
  496. console.log("错误:渲染8个模块环节出错,请检查是否存在没有数据的模块!")
  497. }
  498. } catch (error) {
  499. console.log("错误:导航池渲染执行接口出错!请检查频道页渲染的模块数据是否完整!")
  500. }
  501. async function getPageAllData(jsonString) {
  502. const mkdata = await requestDataPromise('/web/getWebsiteCompany', {
  503. method: 'GET',
  504. query: {
  505. 'id': jsonString
  506. },
  507. });
  508. console.log('mkdata', mkdata.data);
  509. if (mkdata.code == 200) {
  510. // if (mkdata.data.length > 0) {
  511. // //模块1 顶部大图和列表
  512. // companyData.value[0].data = mkdata.data[0].img_num;
  513. // companyData.value[0].data2 = mkdata.data[0].text_num;
  514. // }
  515. if (mkdata.data.length > 0) {
  516. //模块2
  517. companyData.value[0].data3 = mkdata.data[0].text_num;
  518. for (let index in mkdata.data[0].img_num) {
  519. if (index < 1) {
  520. companyData.value[0].data.push(mkdata.data[0].img_num[index]);
  521. } else {
  522. companyData.value[0].data2.push(mkdata.data[0].img_num[index]);
  523. }
  524. }
  525. }
  526. if (mkdata.data.length > 1) {
  527. //模块3
  528. companyData.value[1].data = mkdata.data[1].img_num;
  529. companyData.value[1].data2 = mkdata.data[1].text_num;
  530. }
  531. if (mkdata.data.length > 2) {
  532. //模块4
  533. companyData.value[2].data = mkdata.data[2].img_num;
  534. companyData.value[2].data2 = mkdata.data[2].text_num;
  535. }
  536. if (mkdata.data.length > 4) {
  537. //模块5
  538. companyData.value[3].data = mkdata.data[3].img_num;
  539. }
  540. if (mkdata.data.length > 5) {
  541. //模块6
  542. companyData.value[4].data = mkdata.data[4].img_num;
  543. companyData.value[4].data2 = mkdata.data[4].text_num;
  544. }
  545. if (mkdata.data.length > 6) {
  546. //模块7
  547. companyData.value[5].data = mkdata.data[5].img_num;
  548. companyData.value[5].data2 = mkdata.data[5].text_num;
  549. }
  550. if (mkdata.data.length > 7) {
  551. //模块8
  552. companyData.value[6].data = mkdata.data[6].img_num;
  553. companyData.value[6].data2 = mkdata.data[6].text_num;
  554. }
  555. } else {
  556. ElMessage.error(mkdata.message)
  557. }
  558. }
  559. async function getPageNewsData(newsJsonString) {
  560. const mkdata = await requestDataPromise('/web/getWebsiteAllArticle', {
  561. method: 'GET',
  562. query: {
  563. 'id': newsJsonString
  564. },
  565. });
  566. console.log('mkdata__news', mkdata.data);
  567. if (mkdata.code == 200) {
  568. if (mkdata.data.length > 0) {
  569. //模块1 顶部大图和列表
  570. newsData.value[0].data = mkdata.data[0].child.imgnum;
  571. newsData.value[0].data2 = mkdata.data[0].child.textnum;
  572. }
  573. } else {
  574. ElMessage.error(mkdata.message)
  575. }
  576. }
  577. //4.页面数据 end ---------------------------------------->
  578. //5.设置seo信息 start---------------------------------------->
  579. const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
  580. method: 'GET',
  581. query: {
  582. 'catid': routeId
  583. },
  584. });
  585. if (setData.code == 200) {
  586. let seoTitle = setData.data.seo_title;
  587. let seoDescription = setData.data.seo_description;
  588. let seoKeywords = setData.data.seo_keywords;
  589. let seoSuffix = setData.data.suffix;
  590. let seoName = setData.data.website_name;
  591. useSeoMeta({
  592. title: seoTitle + "_" + seoSuffix,
  593. meta: [
  594. { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
  595. { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
  596. ]
  597. });
  598. } else {
  599. console.log("设置频道页SEO出错!", setData.message)
  600. }
  601. //5.设置seo信息 end---------------------------------------->
  602. </script>
  603. <style lang="less" scoped>
  604. @import '@/assets/css/class.less';
  605. </style>