|
@@ -18,7 +18,10 @@
|
|
|
<el-breadcrumb-item>
|
|
|
<NuxtLink to="/">首页</NuxtLink>
|
|
|
</el-breadcrumb-item>
|
|
|
- <el-breadcrumb-item>
|
|
|
+ <el-breadcrumb-item v-if="parent_children_count > 0">
|
|
|
+ <NuxtLink :to="`/${parent_pinyin}/index.html`"> {{ parent_name }}</NuxtLink>
|
|
|
+ </el-breadcrumb-item>
|
|
|
+ <el-breadcrumb-item v-else">
|
|
|
<NuxtLink :to="`/${parent_pinyin}/list-1.html`"> {{ parent_name }}</NuxtLink>
|
|
|
</el-breadcrumb-item>
|
|
|
<el-breadcrumb-item>{{ routeNewsTtitle }}</el-breadcrumb-item>
|
|
@@ -142,23 +145,10 @@
|
|
|
import { onMounted } from 'vue'
|
|
|
import { ElBreadcrumb, ElBreadcrumbItem,ElRadio, ElRadioGroup,ElCheckbox,ElCheckboxGroup,ElMessage,ElInput } from 'element-plus'
|
|
|
import { ArrowRight } from '@element-plus/icons-vue'
|
|
|
+//1.页面依赖 end ---------------------------------------->
|
|
|
|
|
|
-const nuxtApp = useNuxtApp();
|
|
|
-const axios = nuxtApp.$axios;
|
|
|
-
|
|
|
-//1.1 获得跳转过来的id
|
|
|
-const route = useRoute();
|
|
|
-//获得详情id
|
|
|
-const articleId = parseInt(route.params.id); //获得该页面的id
|
|
|
-
|
|
|
-//获得当前的完整路径
|
|
|
-const fullPath = route.path;
|
|
|
-//拆分,取出来中间这一段,然后提取数字部分
|
|
|
-const segments = fullPath.split('/');
|
|
|
-const targetSegment = segments[1];
|
|
|
-// const numberPart = targetSegment.match(/\d+$/)?.[0];
|
|
|
-// let routeId = 20 //排除路径错误可以打开这个
|
|
|
-// const routeId = numberPart;
|
|
|
+//2.页面路径 start ---------------------------------------->
|
|
|
+const targetSegment = getRoutePath(1);
|
|
|
let routeId;
|
|
|
//通过导航路径反向查询导航id
|
|
|
const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
|
|
@@ -170,18 +160,19 @@ const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
|
|
|
if(getRouteId.code == 200){
|
|
|
routeId = getRouteId.data.category_id
|
|
|
}else{
|
|
|
- console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
- console.log("错误位置:通过url路径查询导航池id")
|
|
|
- console.log("后端错误反馈:",getRouteId.message)
|
|
|
- console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
+ console.log("错误位置:获得页面路径")
|
|
|
}
|
|
|
+//2.页面路径 start ---------------------------------------->
|
|
|
|
|
|
+//3.面包屑 start ---------------------------------------->
|
|
|
+const route = useRoute();
|
|
|
+const articleId = parseInt(route.params.id); //获得该页面的id
|
|
|
|
|
|
-//1.2 获得父级栏目的名称、id
|
|
|
+//3.1 获得父级栏目的名称、id
|
|
|
const parent_name = ref([]);
|
|
|
const parent_id = ref([]);
|
|
|
const parent_pinyin = ref("");
|
|
|
-//const parent_children_count = ref(0)
|
|
|
+const parent_children_count = ref(0)
|
|
|
let getParentNav = async () => {
|
|
|
const listData = await requestDataPromise('/web/getOneWebsiteCategory', {
|
|
|
method: 'GET',
|
|
@@ -189,37 +180,30 @@ let getParentNav = async () => {
|
|
|
'catid': routeId
|
|
|
},
|
|
|
});
|
|
|
- console.log("获取父级栏目数据")
|
|
|
- console.log(listData)
|
|
|
if (listData.code == 200) {
|
|
|
- console.log(listData.data);
|
|
|
parent_name.value = listData.data.alias;
|
|
|
parent_id.value = listData.data.parent_id;
|
|
|
parent_pinyin.value = listData.data.aLIas_pinyin;
|
|
|
- //parent_children_count = listData.data.children_coun;
|
|
|
+ parent_children_count.value = listData.data.children_count;
|
|
|
} else {
|
|
|
- console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
console.log("错误位置:获取面包屑导航")
|
|
|
- console.log("后端错误反馈:", listData.message)
|
|
|
- console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
}
|
|
|
}
|
|
|
-//获得父级栏目详情
|
|
|
getParentNav();
|
|
|
-//1.页面依赖 end ---------------------------------------->
|
|
|
+//3.页面依赖 end ---------------------------------------->
|
|
|
|
|
|
-//2.页面数据 start ---------------------------------------->
|
|
|
-//2.1 资讯详情
|
|
|
+//4.页面数据 start ---------------------------------------->
|
|
|
+//4.1 资讯详情
|
|
|
const newsDetail = ref({})
|
|
|
const routeNewsTtitle = ref("");
|
|
|
-//2.2 发布日期
|
|
|
+//4.2 发布日期
|
|
|
const time = ref("");
|
|
|
-//2.3 路径
|
|
|
+//4.3 路径
|
|
|
const routLevelTitle = ref("");
|
|
|
const routLevelId = ref("");
|
|
|
-//是否展示投票
|
|
|
+//4.4 是否展示投票
|
|
|
const articleChoice = ref(false);
|
|
|
-//2.4获取详情
|
|
|
+//4.5 获取详情
|
|
|
async function getPageData() {
|
|
|
const mkdata = await requestDataPromise('/web/selectWebsiteArticleInfo', {
|
|
|
method: 'GET',
|
|
@@ -248,33 +232,14 @@ async function getPageData() {
|
|
|
routeNewsTtitle.value = newsDetail.value.title
|
|
|
}
|
|
|
}else{
|
|
|
- console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
console.log("错误位置:获取详情内容")
|
|
|
- console.log("后端错误反馈:",mkdata.message)
|
|
|
- console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
}
|
|
|
}
|
|
|
getPageData();
|
|
|
+//4.页面数据 end ---------------------------------------->
|
|
|
|
|
|
-//2.5 获得广告
|
|
|
-//广告列表
|
|
|
+//5.广告 start ---------------------------------------->
|
|
|
let adImg1 = ref([]);
|
|
|
-// async function getAdData(){
|
|
|
-// const adData = await requestDataPromise('/web/getWebsiteAdvertisement',{method:'GET',query:{'ad_tag':'DETAIL'}});
|
|
|
-// if(adData.code==200){
|
|
|
-// for(let item of adData.data){
|
|
|
-// if(item.ad_tag == 'DETAIL_0001'){
|
|
|
-// adImg1.value = item;
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }else{
|
|
|
-// console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
-// console.log("错误位置:获取详情页广告列表")
|
|
|
-// console.log("后端错误反馈:",adData.message)
|
|
|
-// console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
-// }
|
|
|
-// }
|
|
|
-// getAdData();
|
|
|
|
|
|
onMounted(async () => {
|
|
|
const { $webUrl, $CwebUrl } = useNuxtApp();
|
|
@@ -290,11 +255,9 @@ onMounted(async () => {
|
|
|
const resultAd1 = await responseAd1.json();
|
|
|
adImg1.value = resultAd1.data[0];
|
|
|
})
|
|
|
+//5.广告 end ---------------------------------------->
|
|
|
|
|
|
-//2.页面数据 end ---------------------------------------->
|
|
|
-
|
|
|
-//3.设置seo信息 start---------------------------------------->
|
|
|
-//3.1 设置seo信息
|
|
|
+//6.设置seo信息 start---------------------------------------->
|
|
|
const setData = await requestDataPromise('/web/selectWebsiteArticleInfo', {
|
|
|
method: 'GET',
|
|
|
query: {
|
|
@@ -321,9 +284,9 @@ if(setData.code==200){
|
|
|
console.log("后端错误反馈:",setData.message)
|
|
|
console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
|
|
|
}
|
|
|
-//3.设置seo信息 end---------------------------------------->
|
|
|
+//6.设置seo信息 end---------------------------------------->
|
|
|
|
|
|
-//4.投票 start---------------------------------------->
|
|
|
+//7.投票 start---------------------------------------->
|
|
|
const radio1 = ref(''); //单选
|
|
|
const check1 = ref([]); //多选
|
|
|
const isDisabled = ref(false);//是否禁用提交按钮
|
|
@@ -335,7 +298,7 @@ const userIsChoice = ref('');//用于判断其他选项目前是什么值
|
|
|
const showUserChoice = ref(false);//是否显示其他输入框
|
|
|
const websiteSurveyData = ref([]);//投票结果
|
|
|
|
|
|
-//3.2获得投票列表
|
|
|
+//7.2获得投票列表
|
|
|
let voteList = ref([]);
|
|
|
async function getVoteList(){
|
|
|
const voteData = await requestHome('/web/getWebsiteSurvey',{method:'GET',query:{'art_id':articleId}});
|
|
@@ -371,7 +334,7 @@ async function getVoteList(){
|
|
|
}
|
|
|
|
|
|
|
|
|
-//3.2当用户选择了选项,判断是否展示其他输入框
|
|
|
+//7.3当用户选择了选项,判断是否展示其他输入框
|
|
|
const handleRadioChange = (value) => {
|
|
|
if(value == userIsChoice.value){
|
|
|
showUserChoice.value = true;
|
|
@@ -388,7 +351,7 @@ const handleCheckboxChange = (value) => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-//3.2发起投票
|
|
|
+//7.4发起投票
|
|
|
async function addWebsiteSurvey(){
|
|
|
//判断当前是单选还是多选
|
|
|
console.log(isRadio.value)
|
|
@@ -615,9 +578,9 @@ async function addWebsiteSurvey(){
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-//4.投票 end---------------------------------------->
|
|
|
+//7.投票 end---------------------------------------->
|
|
|
|
|
|
-//5.页面图片放大 start---------------------------------------->
|
|
|
+//8.页面图片放大 start---------------------------------------->
|
|
|
const previewVisible = ref(false)
|
|
|
const selectedImage = ref(' ')
|
|
|
|
|
@@ -630,7 +593,7 @@ const openPreview = (event) => {
|
|
|
const closePreview = () => {
|
|
|
previewVisible.value = false;
|
|
|
}
|
|
|
-//5.页面图片放大 end---------------------------------------->
|
|
|
+//8.页面图片放大 end---------------------------------------->
|
|
|
</script>
|
|
|
|
|
|
<style lang="less" scoped>
|