Compare commits
2 Commits
4930956fd9
...
8bf6756bb0
| Author | SHA1 | Date |
|---|---|---|
|
|
8bf6756bb0 | |
|
|
fe4d094b17 |
|
|
@ -42,12 +42,15 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, onBeforeMount, onMounted } from 'vue';
|
import { ref, onBeforeMount, onMounted, onBeforeUnmount } from 'vue';
|
||||||
import http from '@/io/http';
|
import http from '@/io/http';
|
||||||
import { showToast } from 'vant';
|
import { showToast } from 'vant';
|
||||||
import { useRouter, useRoute } from 'vue-router';
|
import { useRouter, useRoute } from 'vue-router';
|
||||||
import { DateFormat } from '@/utils/format.js';
|
import { DateFormat } from '@/utils/format.js';
|
||||||
import AiAssistantFolat from '@/views/chat/components/ai-assistant-float.vue';
|
import AiAssistantFolat from '@/views/chat/components/ai-assistant-float.vue';
|
||||||
|
import { useWebsite } from '@/stores/website';
|
||||||
|
|
||||||
|
const website = useWebsite();
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
id: {type: [Number, String], required: true },
|
id: {type: [Number, String], required: true },
|
||||||
|
|
@ -68,10 +71,14 @@ onMounted(() => {
|
||||||
props.isRecommend && getRecommendList();
|
props.isRecommend && getRecommendList();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
onBeforeUnmount(()=>{
|
||||||
|
website.setPageTitle();
|
||||||
|
});
|
||||||
|
|
||||||
const getDetail = () => {
|
const getDetail = () => {
|
||||||
http(`/api/article/${id.value}`, {}, 'get').then(res => {
|
http(`/api/article/${id.value}`, {}, 'get').then(res => {
|
||||||
detail.value = res.data;
|
detail.value = res.data;
|
||||||
|
// website.setPageTitle(res.data.title);
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
showToast(err.message);
|
showToast(err.message);
|
||||||
if(err.status == 1001){
|
if(err.status == 1001){
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,7 @@ const router = createRouter({
|
||||||
path: "/business/macroeconomics/detail/:id",
|
path: "/business/macroeconomics/detail/:id",
|
||||||
name: "MacroeconomicsDetail",
|
name: "MacroeconomicsDetail",
|
||||||
meta: {
|
meta: {
|
||||||
title: "宏观政经",
|
title: "内容详情",
|
||||||
group: 'business'
|
group: 'business'
|
||||||
},
|
},
|
||||||
component: () => import("@/views/business/macroeconomics/detail.vue"),
|
component: () => import("@/views/business/macroeconomics/detail.vue"),
|
||||||
|
|
@ -114,7 +114,7 @@ const router = createRouter({
|
||||||
path: 'business/insight/detail/:id',
|
path: 'business/insight/detail/:id',
|
||||||
name: 'insightDetail',
|
name: 'insightDetail',
|
||||||
meta: {
|
meta: {
|
||||||
title: '行业洞察',
|
title: '内容详情',
|
||||||
group: 'business'
|
group: 'business'
|
||||||
},
|
},
|
||||||
component: () => import("@/views/business/insight/detail.vue"),
|
component: () => import("@/views/business/insight/detail.vue"),
|
||||||
|
|
@ -141,7 +141,7 @@ const router = createRouter({
|
||||||
path: 'business/legal/policy/detail/:id',
|
path: 'business/legal/policy/detail/:id',
|
||||||
name: 'policyDetail',
|
name: 'policyDetail',
|
||||||
meta: {
|
meta: {
|
||||||
title: '政策解读',
|
title: '内容详情',
|
||||||
group: 'business'
|
group: 'business'
|
||||||
},
|
},
|
||||||
component: () => import("@/views/business/legal/policyDetail.vue"),
|
component: () => import("@/views/business/legal/policyDetail.vue"),
|
||||||
|
|
@ -159,7 +159,7 @@ const router = createRouter({
|
||||||
path: 'business/legal/country/detail/:id',
|
path: 'business/legal/country/detail/:id',
|
||||||
name: 'countryDetail',
|
name: 'countryDetail',
|
||||||
meta: {
|
meta: {
|
||||||
title: '国别地区指南',
|
title: '国家地区指南详情',
|
||||||
group: 'business'
|
group: 'business'
|
||||||
},
|
},
|
||||||
component: () => import("@/views/business/legal/countryInfo.vue"),
|
component: () => import("@/views/business/legal/countryInfo.vue"),
|
||||||
|
|
|
||||||
|
|
@ -42,17 +42,19 @@
|
||||||
</template>
|
</template>
|
||||||
<div class="loadingBox" v-else>数据加载中...</div>
|
<div class="loadingBox" v-else>数据加载中...</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <AiAssistant></AiAssistant> -->
|
<template v-if="aiContent">
|
||||||
|
<AiAssistantFolat :content="aiContent"></AiAssistantFolat>
|
||||||
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, onBeforeMount, onMounted } from 'vue';
|
import { ref, onBeforeMount, onMounted, computed } from 'vue';
|
||||||
import http from '@/io/http';
|
import http from '@/io/http';
|
||||||
import { showToast } from 'vant';
|
import { showToast } from 'vant';
|
||||||
import { useRouter, useRoute } from 'vue-router';
|
import { useRouter, useRoute } from 'vue-router';
|
||||||
import { DateFormat } from '@/utils/format.js';
|
import { DateFormat } from '@/utils/format.js';
|
||||||
// import AiAssistant from '@/views/chat/components/ai-assistant.vue';
|
import AiAssistantFolat from '@/views/chat/components/ai-assistant-float.vue';
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
|
@ -67,6 +69,20 @@ onMounted(() => {
|
||||||
getDetail();
|
getDetail();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const aiContent = computed(() => {
|
||||||
|
let contentText = '';
|
||||||
|
if (Array.isArray(curSectionData.value) && curSectionData.value.length) {
|
||||||
|
curSectionData.value.forEach(v => {
|
||||||
|
if (v.type == 'image') {
|
||||||
|
contentText += `<img src="${v.value}">`;
|
||||||
|
} else if (v.type == 'text') {
|
||||||
|
contentText += `<p>${v.value}</p>`;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return contentText;
|
||||||
|
});
|
||||||
|
|
||||||
const getDetail = () => {
|
const getDetail = () => {
|
||||||
http(`/api/country/${id.value}`, {}, 'get').then(res => {
|
http(`/api/country/${id.value}`, {}, 'get').then(res => {
|
||||||
detail.value = res.data;
|
detail.value = res.data;
|
||||||
|
|
|
||||||
|
|
@ -13,11 +13,12 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, onBeforeMount, onMounted, onUpdated, watch } from 'vue';
|
import { ref, onBeforeMount, onMounted, onUpdated, watch, onBeforeUnmount } from 'vue';
|
||||||
import http from '@/io/http';
|
import http from '@/io/http';
|
||||||
import { showToast } from 'vant';
|
import { showToast } from 'vant';
|
||||||
import { useRouter, useRoute } from 'vue-router';
|
import { useRouter, useRoute } from 'vue-router';
|
||||||
import CardList from '../components/CategoryCardList.vue';
|
import CardList from '../components/CategoryCardList.vue';
|
||||||
|
import { useWebsite } from '@/stores/website';
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
|
|
@ -25,12 +26,14 @@ const parent_id = ref(route.params.pid);
|
||||||
const cid = ref(0);
|
const cid = ref(0);
|
||||||
const banner = ref();
|
const banner = ref();
|
||||||
const categories = ref([]);
|
const categories = ref([]);
|
||||||
|
const website = useWebsite();
|
||||||
|
|
||||||
const type = ref('government')
|
const type = ref('government')
|
||||||
|
|
||||||
onBeforeMount(() => {
|
onBeforeMount(() => {
|
||||||
getBanner();
|
getBanner();
|
||||||
getCategories();
|
getCategories();
|
||||||
|
getCategoryInfo();
|
||||||
});
|
});
|
||||||
|
|
||||||
const getBanner = () => {
|
const getBanner = () => {
|
||||||
|
|
@ -51,6 +54,18 @@ const getCategories = () => {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const getCategoryInfo = ()=>{
|
||||||
|
http('/api/keywords/'+parent_id.value, {}, 'get').then(res => {
|
||||||
|
website.setPageTitle(res.data.name);
|
||||||
|
}).catch(err => {
|
||||||
|
showToast(err.message);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
onBeforeUnmount(()=>{
|
||||||
|
website.setPageTitle('');
|
||||||
|
});
|
||||||
|
|
||||||
const changeCategory = (val) => {
|
const changeCategory = (val) => {
|
||||||
cid.value = val;
|
cid.value = val;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue