|
@@ -12,7 +12,7 @@
|
|
|
<SimplePageContentLoader :loader="loader">
|
|
<SimplePageContentLoader :loader="loader">
|
|
|
<div v-if="loader.content.value" class="content news-detail">
|
|
<div v-if="loader.content.value" class="content news-detail">
|
|
|
|
|
|
|
|
- <div class="d-flex flex-row justify-content-start">
|
|
|
|
|
|
|
+ <div class="d-flex flex-row justify-content-start mb-3">
|
|
|
<div class="back-button2" @click="back">
|
|
<div class="back-button2" @click="back">
|
|
|
<img src="@/assets/images/news/IconBack.png" />
|
|
<img src="@/assets/images/news/IconBack.png" />
|
|
|
<span>返回列表</span>
|
|
<span>返回列表</span>
|
|
@@ -31,9 +31,9 @@
|
|
|
<!-- Tab -->
|
|
<!-- Tab -->
|
|
|
<TagBar
|
|
<TagBar
|
|
|
class="mb-3"
|
|
class="mb-3"
|
|
|
- :tags="contentProps.tabs.filter(p => p.visible).map((p, i) => ({ id: p.id, name: p.text })) || []"
|
|
|
|
|
|
|
+ :tags="crrentVisibleTabs.map((p, i) => ({ id: p.id, name: p.text })) || []"
|
|
|
:margin="[30, 70]"
|
|
:margin="[30, 70]"
|
|
|
- v-model:selectedTag="currentTabIndex"
|
|
|
|
|
|
|
+ v-model:selectedTag="currentTabId"
|
|
|
/>
|
|
/>
|
|
|
<!-- 基础信息 -->
|
|
<!-- 基础信息 -->
|
|
|
<div v-show="currentTabId==0">
|
|
<div v-show="currentTabId==0">
|
|
@@ -109,7 +109,7 @@
|
|
|
<a-empty v-if="!loader.content.value.video && !loader.content.value.audio" />
|
|
<a-empty v-if="!loader.content.value.video && !loader.content.value.audio" />
|
|
|
</div>
|
|
</div>
|
|
|
<!-- 其他 -->
|
|
<!-- 其他 -->
|
|
|
- <slot name="extraTab" :currentTabIndex="currentTabIndex" :currentTabId="currentTabId" :content="loader.content.value" />
|
|
|
|
|
|
|
+ <slot name="extraTab" :currentTabId="currentTabId" :content="loader.content.value" />
|
|
|
|
|
|
|
|
<ContentNode />
|
|
<ContentNode />
|
|
|
|
|
|
|
@@ -177,8 +177,9 @@ watch(() => route.query.id, (v) => {
|
|
|
loader.loadData(undefined, true);
|
|
loader.loadData(undefined, true);
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
-const currentTabIndex = ref(0);
|
|
|
|
|
-const currentTabId = computed(() => contentProps.value.tabs[currentTabIndex.value]?.id || 0);
|
|
|
|
|
|
|
+const crrentVisibleTabs = computed(() => contentProps.value.tabs.filter((item) => item.visible));
|
|
|
|
|
+
|
|
|
|
|
+const currentTabId = ref(0);
|
|
|
const contentProps = computed(() => {
|
|
const contentProps = computed(() => {
|
|
|
return loader.content.value?.contentProps as {
|
|
return loader.content.value?.contentProps as {
|
|
|
tabs: {
|
|
tabs: {
|
|
@@ -192,10 +193,10 @@ const contentProps = computed(() => {
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
watch(route, () => {
|
|
watch(route, () => {
|
|
|
- currentTabIndex.value = 0;
|
|
|
|
|
|
|
+ currentTabId.value = 0;
|
|
|
});
|
|
});
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
|
- currentTabIndex.value = 0;
|
|
|
|
|
|
|
+ currentTabId.value = 0;
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
function back() {
|
|
function back() {
|