detail3.vue 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582
  1. <template>
  2. <!-- goods -->
  3. <div class="goods">
  4. <HomePageHead></HomePageHead>
  5. <HomePageNavigation></HomePageNavigation>
  6. <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
  7. <main class="index_main" v-if="shopType == 1">
  8. <section class="index_1 clearfix">
  9. <div class="breadcrumb">
  10. <div class="inner">
  11. <span class="location">当前位置 :</span>
  12. <el-breadcrumb :separator-icon="ArrowRight">
  13. <el-breadcrumb-item>
  14. <NuxtLink to="/">首页</NuxtLink>
  15. </el-breadcrumb-item>
  16. <el-breadcrumb-item v-if="p_parent_name != ''">
  17. <!-- <NuxtLink :to="`/${targetSegment}/index.html`"> {{ p_parent_name }}</NuxtLink> -->
  18. {{ p_parent_name }}
  19. </el-breadcrumb-item>
  20. <el-breadcrumb-item v-if="parent_name != ''">
  21. <NuxtLink :to="`/${targetSegment}/${targetSegment1}/index.html`"> {{ parent_name }}
  22. </NuxtLink>
  23. </el-breadcrumb-item>
  24. <el-breadcrumb-item v-if="parent_name != ''">
  25. <NuxtLink :to="`/${targetSegment}/${targetSegment1}/${targetSegment2}/list-1.html`">
  26. {{ navTitle }}
  27. </NuxtLink>
  28. </el-breadcrumb-item>
  29. <el-breadcrumb-item>
  30. {{ routeNewsTtitle }}
  31. </el-breadcrumb-item>
  32. </el-breadcrumb>
  33. </div>
  34. </div>
  35. </section>
  36. <section class="index_2 clearfix">
  37. <img class="index_2_img" :src="shopImg" :title="newsDetail.name" alt="">
  38. <div class="index_2_left">
  39. <h4 class="index_2_h4 dot1">{{ newsDetail.name }}</h4>
  40. <div class="index_2_title_box clearfix">
  41. <time class="index_2_title"> 更新日期:{{ newsDetail.updated_at }}</time>
  42. <span class="index_2_title">浏览次数:{{ newsDetail.hits }}</span>
  43. </div>
  44. <div class="index_2_ul clearfix">
  45. <div class="index_2_li clearfix">
  46. <label class="index_2_li_label">公 司 名</label>
  47. <span class="index_2_li_text "> {{ newsDetail.com }}</span>
  48. </div>
  49. <div class="index_2_li clearfix">
  50. <label class="index_2_li_label">所 在 地</label>
  51. <span class="index_2_li_text ">{{ newsDetail.address }}</span>
  52. </div>
  53. <div class="index_2_li clearfix">
  54. <label class="index_2_li_label">联 系 人</label>
  55. <span class="index_2_li_text ">{{ newsDetail.contact }}</span>
  56. </div>
  57. <div class="index_2_li clearfix">
  58. <label class="index_2_li_label">产品单价</label>
  59. <span class="index_2_li_text">
  60. {{ newsDetail.price }}
  61. 元/
  62. {{ newsDetail.unit }}
  63. </span>
  64. </div>
  65. <div class="index_2_li clearfix">
  66. <label class="index_2_li_label">最小定量</label>
  67. <span class="index_2_li_text ">{{ newsDetail.min }}</span>
  68. </div>
  69. <div class="index_2_li clearfix">
  70. <label class="index_2_li_label">供货总量</label>
  71. <span class="index_2_li_text ">{{ newsDetail.max }}</span>
  72. </div>
  73. <div class="index_2_li clearfix">
  74. <label class="index_2_li_label">有 效 期</label>
  75. <span class="index_2_li_text ">{{ getTime(newsDetail.validity, 'year', 1) }}</span>
  76. </div>
  77. </div>
  78. </div>
  79. </section>
  80. <!-- 选项卡1 -->
  81. <section class="index_3 clearfix">
  82. <div class="shop_head_1 clearfix">
  83. <div class="shop_head_1_name" :class="{ shop_head_1_name_only: supply_num == 1 }"
  84. @mouseover="supply_num = 1">详情信息</div>
  85. <div class="shop_head_1_name" :class="{ shop_head_1_name_only: supply_num == 2 }"
  86. @mouseover="supply_num = 2">联系方式</div>
  87. <div class="shop_head_1_name" :class="{ shop_head_1_name_only: supply_num == 3 }"
  88. @mouseover="supply_num = 3">图片展示</div>
  89. </div>
  90. <div class="card_out clearfix">
  91. <div class="card_1_box clearfix card_1_box_only" v-if="supply_num == 1" v-html="newsDetail.detail">
  92. </div>
  93. <div class="card_1_box clearfix card_1_box_only" v-if="supply_num == 2">
  94. <p class="supply_art_box_p">公司名称:{{ newsDetail.com }}</p>
  95. <p class="supply_art_box_p">电子邮箱:{{ newsDetail.email }}</p>
  96. <p class="supply_art_box_p">邮政编码:{{ newsDetail.postal }}</p>
  97. <p class="supply_art_box_p">联系地址:{{ newsDetail.address }}</p>
  98. </div>
  99. <div class="card_1_box clearfix card_1_box_only" v-if="supply_num == 3">
  100. <div class="supply_art_box_img">
  101. <img :src="item" v-for="item in newsDetail.imgurl">
  102. </div>
  103. </div>
  104. </div>
  105. </section>
  106. <!-- 选项卡2 -->
  107. <section class="index_4 clearfix">
  108. <div class="box_1 clearfix">
  109. <div class="box_1_head">
  110. <div class="box_1_head_name">点击排行</div>
  111. </div>
  112. <div class="img_ul_1 clearfix">
  113. <div class="img_li_1 clearfix" v-for="(item, index) in pageData1" :key="index">
  114. <NuxtLink class="img_li_1_a" :href="getLinkPathDetail(item)" :title="item.title">
  115. <div class="img_li_1_img_box clearfix">
  116. <img class="img_li_1_img" :src="item.imgurl" :title="item.title" alt="">
  117. </div>
  118. <div class="img_li_1_dot2">{{ item.name }}
  119. </div>
  120. </NuxtLink>
  121. </div>
  122. </div>
  123. </div>
  124. <div class="box_1 clearfix">
  125. <div class="box_1_head">
  126. <div class="box_1_head_name">最新商机</div>
  127. </div>
  128. <div class="img_ul_1 clearfix">
  129. <div class="img_li_1 clearfix" v-for="(item, index) in pageData2" :key="index">
  130. <NuxtLink class="img_li_1_a" :href="getLinkPathDetail(item)" :title="item.title">
  131. <div class="img_li_1_img_box clearfix">
  132. <img class="img_li_1_img" :src="item.imgurl" :title="item.title" alt="">
  133. </div>
  134. <div class="img_li_1_dot2">{{ item.name }}
  135. </div>
  136. </NuxtLink>
  137. </div>
  138. </div>
  139. </div>
  140. </section>
  141. </main>
  142. <main class="index_main" v-if="shopType == 2">
  143. <section class=" clearfix">
  144. <div class="index_out_1_left clearfix">
  145. <section class="index_1 clearfix">
  146. <div class="breadcrumb">
  147. <div class="inner">
  148. <span class="location">当前位置 :</span>
  149. <el-breadcrumb :separator-icon="ArrowRight">
  150. <el-breadcrumb-item>
  151. <NuxtLink to="/">首页</NuxtLink>
  152. </el-breadcrumb-item>
  153. <el-breadcrumb-item v-if="p_parent_name != ''">
  154. <NuxtLink :to="`/${targetSegment}/index.html`"> {{ p_parent_name }}</NuxtLink>
  155. </el-breadcrumb-item>
  156. <el-breadcrumb-item v-if="parent_name != ''">
  157. <NuxtLink :to="`/${targetSegment}/${targetSegment1}/list-1.html`">
  158. {{ parent_name }}
  159. </NuxtLink>
  160. </el-breadcrumb-item>
  161. <el-breadcrumb-item>
  162. {{ routeNewsTtitle }}
  163. </el-breadcrumb-item>
  164. </el-breadcrumb>
  165. </div>
  166. </div>
  167. </section>
  168. <section class="index_2 clearfix">
  169. <img class="index_2_img" :src="shopImg" :title="newsDetail.name" alt="">
  170. <div class="index_2_right">
  171. <h4 class="index_2_h4 dot1">求购:{{ newsDetail.name }}</h4>
  172. <div class="index_2_ul clearfix">
  173. <div class="index_2_li clearfix">
  174. <label class="index_2_li_label">发布日期</label>
  175. <span class="index_2_li_text">{{ getTime(newsDetail.updated_at, 'year', 1) }}</span>
  176. </div>
  177. <div class="index_2_li clearfix">
  178. <label class="index_2_li_label">截止日期</label>
  179. <span class="index_2_li_text">{{ getTime(newsDetail.validity, 'year', 1) }}</span>
  180. </div>
  181. <div class="index_2_li clearfix">
  182. <label class="index_2_li_label">浏览次数</label>
  183. <span class="index_2_li_text">{{ newsDetail.hits }}</span>
  184. </div>
  185. <div class="index_2_li clearfix">
  186. <label class="index_2_li_label">联 系 人</label>
  187. <span class="index_2_li_text">{{ newsDetail.contact }}</span>
  188. </div>
  189. <div class="index_2_li clearfix">
  190. <label class="index_2_li_label">发布地区</label>
  191. <span class="index_2_li_text">{{ newsDetail.address }}</span>
  192. </div>
  193. <div class="index_2_li clearfix">
  194. <label class="index_2_li_label">座 机</label>
  195. <span class="index_2_li_text">{{ newsDetail.landline }}</span>
  196. </div>
  197. <div class="index_2_li clearfix">
  198. <label class="index_2_li_label">联系电话</label>
  199. <span class="index_2_li_text">{{ newsDetail.phone }}</span>
  200. </div>
  201. </div>
  202. </div>
  203. </section>
  204. </div>
  205. <div class="shop_3_right clearfix">
  206. <div class="choice_1_box clearfix">
  207. <div class="choice_1_btn_box clearfix">
  208. <div class="choice_1_btn" :class="{ choice_1_btn_only: supply_buy == 1 }"
  209. @mouseover="supply_buy = 1">
  210. <span class="choice_1_btn_a" title="供应商品">供应商品</span>
  211. </div>
  212. <div class="choice_1_btn " :class="{ choice_1_btn_only: supply_buy == 2 }"
  213. @mouseover="supply_buy = 2">
  214. <a class="choice_1_btn_a" title="求购商品">求购商品</a>
  215. </div>
  216. </div>
  217. <div class="choice_1_card_box">
  218. <!-- 供应商品 -->
  219. <div class="shop_ul_img_2 choice_1_card clearfix" v-show="supply_buy == 1">
  220. <div class="shop_li_img_2" v-for="(item, index) in pageData3" :key="index">
  221. <NuxtLink class="shop_li_img_2_a" :href="getLinkPathDetail(item)"
  222. :title="item.name">
  223. <div class="shop_li_img_2_num"> {{ index + 1 }} </div>
  224. <div class="shop_li_img_2_right clearfix">
  225. <img class="shop_li_img_2_img" :src="item.imgurl" :title="item.name" alt="">
  226. <div class="shop_li_img_2_text">
  227. {{ item.name }}
  228. </div>
  229. </div>
  230. </NuxtLink>
  231. </div>
  232. </div>
  233. <!-- 供应商品 -->
  234. <!-- 求购商品 -->
  235. <div class="shop_ul_img_2 choice_1_card clearfix" v-show="supply_buy == 2">
  236. <div class="shop_li_img_2" v-for="(item, index) in pageData4" :key="index">
  237. <NuxtLink class="shop_li_img_2_a" :href="getLinkPathDetail(item)"
  238. :title="item.name">
  239. <div class="shop_li_img_2_num"> {{ index + 1 }} </div>
  240. <div class="shop_li_img_2_right clearfix">
  241. <img class="shop_li_img_2_img" :src="item.imgurl" :title="item.name" alt="">
  242. <div class="shop_li_img_2_text">
  243. {{ item.name }}
  244. </div>
  245. </div>
  246. </NuxtLink>
  247. </div>
  248. </div>
  249. <!-- 求购商品 -->
  250. </div>
  251. </div>
  252. </div>
  253. </section>
  254. <!-- 选项卡1 -->
  255. <section class="index_3 clearfix">
  256. <div class="shop_head_1 clearfix">
  257. <div class="shop_head_1_name" :class="{ shop_head_1_name_only: buy_num == 1 }"
  258. @mouseover="buy_num = 1">详情信息</div>
  259. <div class="shop_head_1_name" :class="{ shop_head_1_name_only: buy_num == 2 }"
  260. @mouseover="buy_num = 2">发布人信息</div>
  261. </div>
  262. <div class="card_out clearfix">
  263. <div class="card_1_box clearfix card_1_box_only" v-show="buy_num == 1" v-html="newsDetail.detail">
  264. </div>
  265. <div class="card_1_box clearfix card_1_box_only" v-show="buy_num == 2">
  266. <P>公司名称:{{ newsDetail.com }}</P>
  267. <P>电子邮箱:{{ newsDetail.email }}</P>
  268. <P>邮政编码:{{ newsDetail.postal }}</P>
  269. <P>联系地址:{{ newsDetail.address }}</P>
  270. </div>
  271. </div>
  272. </section>
  273. <!-- 选项卡2 -->
  274. <section class="index_4 clearfix">
  275. <div class="box_1 clearfix">
  276. <div class="box_1_head">
  277. <div class="box_1_head_name">点击排行</div>
  278. </div>
  279. <div class="img_ul_1 clearfix">
  280. <div class="img_li_1 clearfix" v-for="(item, index) in pageData1" :key="index">
  281. <NuxtLink class="img_li_1_a" :href="getLinkPathDetail(item)" :title="item.title">
  282. <div class="img_li_1_img_box clearfix">
  283. <img class="img_li_1_img" :src="item.imgurl" :title="item.title" alt="">
  284. </div>
  285. <div class="img_li_1_dot2">{{ item.name }}
  286. </div>
  287. </NuxtLink>
  288. </div>
  289. </div>
  290. </div>
  291. <div class="box_1 clearfix">
  292. <div class="box_1_head">
  293. <div class="box_1_head_name">最新商机</div>
  294. </div>
  295. <div class="img_ul_1 clearfix">
  296. <div class="img_li_1 clearfix" v-for="(item, index) in pageData2" :key="index">
  297. <NuxtLink class="img_li_1_a" :href="getLinkPathDetail(item)" :title="item.title">
  298. <div class="img_li_1_img_box clearfix">
  299. <img class="img_li_1_img" :src="item.imgurl" :title="item.title" alt="">
  300. </div>
  301. <div class="img_li_1_dot2">{{ item.name }}
  302. </div>
  303. </NuxtLink>
  304. </div>
  305. </div>
  306. </div>
  307. </section>
  308. </main>
  309. <HomeAdvertising :imgurl="adImg2"></HomeAdvertising>
  310. <HomeFoot1></HomeFoot1>
  311. </div>
  312. </template>
  313. <script setup>
  314. //0.页面依赖 start ---------------------------------------->
  315. import { onMounted, ref } from 'vue'
  316. import { ElBreadcrumb, ElBreadcrumbItem, ElRadio, ElRadioGroup, ElCheckbox, ElCheckboxGroup, ElMessage, ElInput } from 'element-plus'
  317. import { ArrowRight } from '@element-plus/icons-vue'
  318. //0.页面依赖 end ---------------------------------------->
  319. //1.获得路由id start ---------------------------------------->
  320. const route = useRoute();
  321. const articleId = parseInt(route.params.id);
  322. const targetSegment = getRoutePath(1);
  323. const targetSegment1 = getRoutePath(2);
  324. const targetSegment2 = getRoutePath(3);
  325. const supply_num = ref(1)
  326. const buy_num = ref(1)
  327. const supply_buy = ref(1)
  328. //1.1 获得当前的路由id
  329. let routeId;
  330. let routeType;
  331. let navTitle = ref('')//二级导航标题
  332. let navCid = ref('')//二级导航id
  333. //通过导航路径反向查询导航id
  334. const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
  335. method: 'GET',
  336. query: {
  337. 'pinyin': targetSegment2,
  338. },
  339. });
  340. console.log("getRouteId", getRouteId);
  341. if (getRouteId.code == 200) {
  342. navTitle.value = getRouteId.data.alias
  343. navCid.value = getRouteId.data.category_id
  344. } else {
  345. console.log("获得路由id出错!", getRouteId.message)
  346. }
  347. //1.2 获取二级栏目
  348. let parent_name = ref('');//父级名称
  349. let parent_id = ref('');//父级id
  350. let parent_pinyin = ref('');//父级拼音
  351. const getRoutePName = await requestDataPromise('/web/getWebsiteRoute', {
  352. method: 'GET',
  353. query: {
  354. 'pinyin': targetSegment1,
  355. },
  356. });
  357. console.log("getRoutePName", getRoutePName);
  358. if (getRoutePName.code == 200) {
  359. routeId = getRoutePName.data.category_id
  360. parent_id.value = getRoutePName.data.category_id
  361. parent_name.value = getRoutePName.data.alias
  362. routeType = getRoutePName.data.type
  363. } else {
  364. console.log("获得路由id出错!", getRoutePName.message)
  365. }
  366. //1.3 获取一级栏目
  367. let p_parent_name = ref('');//父级名称
  368. let p_parent_id = ref('');//父级id
  369. let p_parent_pinyin = ref('');//父级拼音
  370. const getRoutePName_parent = await requestDataPromise('/web/getWebsiteRoute', {
  371. method: 'GET',
  372. query: {
  373. 'pinyin': targetSegment,
  374. },
  375. });
  376. console.log("getRoutePName_parent", getRoutePName_parent);
  377. if (getRoutePName_parent.code == 200) {
  378. p_parent_id.value = getRoutePName_parent.data.category_id
  379. p_parent_name.value = getRoutePName_parent.data.alias
  380. // p_parent_pinyin.value = getRoutePName_parent.data.aLIas_pinyin
  381. } else {
  382. console.log("获得路由id出错!", getRoutePName_parent.message)
  383. }
  384. //1.4 获取某个栏目
  385. const getParentId = await requestDataPromise('/web/getOneWebsiteCategory', {
  386. method: 'GET',
  387. query: {
  388. 'catid': parent_id.value,
  389. },
  390. });
  391. console.log("getParentId", getParentId);
  392. if (getParentId.code == 200) {
  393. parent_pinyin.value = getParentId.data.aLIas_pinyin
  394. } else {
  395. console.log("获得路由id出错!", getParentId.message)
  396. }
  397. //1.获得路由id end ---------------------------------------->
  398. //2.获得模块数据 start ---------------------------------------->
  399. const pageData1 = ref([])//点击排行
  400. const pageData2 = ref([])//最新商机
  401. const pageData3 = ref([])//供应商品
  402. const pageData4 = ref([])//求购商品
  403. //创建请求数据json
  404. let getJson = [
  405. { "level": "3,0,8" },//点击排行
  406. { "level": "4,0,8" },//最新商机
  407. { "level": "5,0,6" },//供应商品
  408. { "level": "6,0,6" },//求购商品
  409. ]
  410. let jsonString = JSON.stringify(getJson)
  411. //获取所有数据
  412. async function getPageAllData() {
  413. const mkdata = await requestDataPromise('/web/getWebsiteshop', {
  414. method: 'GET',
  415. query: {
  416. 'id': jsonString,
  417. 'catid': 713,
  418. },
  419. });
  420. if (mkdata.code == 200) {
  421. //点击排行
  422. pageData1.value = mkdata.data.goods[0];
  423. //最新商机
  424. pageData2.value = mkdata.data.goods[1];
  425. //供应商品
  426. pageData3.value = mkdata.data.goods[2];
  427. //求购商品
  428. pageData4.value = mkdata.data.goods[3];
  429. } else {
  430. ElMessage.error(mkdata.message)
  431. }
  432. }
  433. getPageAllData();
  434. //2.获得模块数据 end ---------------------------------------->
  435. //4.新闻详情 start ---------------------------------------->
  436. //4.1 资讯详情
  437. const newsDetail = ref({})
  438. const routeNewsTtitle = ref("");
  439. //4.2 发布日期
  440. const time = ref("");
  441. //4.3 路径
  442. const routLevelTitle = ref("");
  443. const routLevelId = ref("");
  444. //4.4 是否展示投票
  445. const articleChoice = ref(false);
  446. //4.5 获取详情
  447. let shopImg = ref('')
  448. let shopType = ref(1)
  449. async function getPageData() {
  450. const mkdata = await requestDataPromise('/web/getWebsiteshopInfo', {
  451. method: 'GET',
  452. query: {
  453. 'id': articleId
  454. },
  455. });
  456. if (mkdata.code == 200) {
  457. //判断是否显示投票
  458. if (mkdata.data.is_survey == 1) {
  459. console.log("本篇文章含有投票!")
  460. articleChoice.value = true;
  461. }
  462. //获取内容
  463. newsDetail.value = mkdata.data;
  464. shopType.value = mkdata.data.type_id
  465. //获取路径
  466. routLevelTitle.value = newsDetail.value.cat_name;
  467. routLevelId.value = newsDetail.value.category_id;
  468. shopImg.value = mkdata.data.imgurl[0]
  469. //获取发布时间
  470. time.value = newsDetail.value.updated_at.split(' ')[0];
  471. //修正标题长度
  472. if (newsDetail.value.name.length >= 20) {
  473. routeNewsTtitle.value = newsDetail.value.name.substr(0, 20) + "...";
  474. } else {
  475. routeNewsTtitle.value = newsDetail.value.name
  476. }
  477. } else {
  478. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  479. console.log("错误位置:获取详情内容")
  480. console.log("后端错误反馈:", mkdata.message)
  481. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  482. }
  483. }
  484. getPageData();
  485. //4.新闻详情 end ---------------------------------------->
  486. //5.广告 start ---------------------------------------->
  487. let adImg1 = ref([]);
  488. let adImg2 = ref([]);
  489. onMounted(async () => {
  490. const { $webUrl, $CwebUrl } = useNuxtApp();
  491. //广告1
  492. let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nzgxw_detail_0001`
  493. const responseAd1 = await fetch(url, {
  494. headers: {
  495. 'Content-Type': 'application/json',
  496. 'Userurl': $CwebUrl,
  497. 'Origin': $CwebUrl
  498. }
  499. });
  500. const resultAd1 = await responseAd1.json();
  501. adImg1.value = resultAd1.data[0];
  502. //广告2
  503. let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nzgxw_detail_0002`
  504. const responseAd2 = await fetch(url2, {
  505. headers: {
  506. 'Content-Type': 'application/json',
  507. 'Userurl': $CwebUrl,
  508. 'Origin': $CwebUrl
  509. }
  510. });
  511. const resultAd2 = await responseAd2.json();
  512. adImg2.value = resultAd2.data[0];
  513. })
  514. //5.广告 end ---------------------------------------->
  515. //6.设置seo信息 start---------------------------------------->
  516. const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
  517. method: 'GET',
  518. query: {
  519. 'catid': routeId
  520. },
  521. });
  522. if (setData.code == 200) {
  523. let seoTitle = setData.data.seo_title;
  524. let seoDescription = setData.data.seo_description;
  525. let seoKeywords = setData.data.seo_keywords;
  526. let seoSuffix = setData.data.suffix;
  527. let seoName = setData.data.website_name;
  528. useSeoMeta({
  529. title: seoTitle + "_" + seoSuffix,
  530. meta: [
  531. { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
  532. { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
  533. ]
  534. });
  535. } else {
  536. console.log("设置频道页SEO出错!", setData.message)
  537. }
  538. //6.设置seo信息 end---------------------------------------->
  539. //8.页面图片放大 start---------------------------------------->
  540. const previewVisible = ref(false)
  541. const selectedImage = ref(' ')
  542. const openPreview = (event) => {
  543. if (event.target.tagName === 'IMG') {
  544. selectedImage.value = event.target.src;
  545. previewVisible.value = true;
  546. }
  547. }
  548. const closePreview = () => {
  549. previewVisible.value = false;
  550. }
  551. //8.页面图片放大 end---------------------------------------->
  552. </script>
  553. <style lang="less" scoped>
  554. @import url('@/assets/css/shop/goodsDetail.less');
  555. @import url('@/assets/css/shop/goodsDetail1.less');
  556. </style>