Jelajahi Sumber

feat: 右侧栏目注入

zhangyuhan 1 tahun lalu
induk
melakukan
88f9caf326

+ 27 - 3
apps/bigmember_pc/src/views/article-content/pages/Article.vue

@@ -32,6 +32,18 @@ import OriginLink from '@/views/article-content/components/OriginLink.vue'
 import RecommendServes from '@/views/article-content/components/RecommendServes.vue'
 
 useContentStore()
+// 判断在哪个容器
+const InWhichContainer = window.parent !== window ? 'in-app' : 'in-web'
+
+// 注入右侧DOM
+onMounted(() => {
+  try {
+    $('#inWebRightElement').append($('#in-web-detail-right-group').clone())
+    $('#in-web-detail-right-group').show()
+  } catch (e) {
+    console.warn('not inject detail-right-group')
+  }
+})
 
 const activeContentTab = ref('公告摘要')
 const contentTabs = [
@@ -71,7 +83,8 @@ const tabContentShow = computed(() => {
       ContentExpandsModel.value.recommendBuyers.total > 0 ||
       ContentExpandsModel.value.recommendWinners.total > 0,
     投标服务: ContentExpandsModel.value.services.length > 0,
-    '招标/采购进度': ContentExpandsModel.value.projectProgress.list.length > 0,
+    '招标/采购进度':
+      ContentExpandsModel.value.projectProgress?.list?.length > 0,
     公告摘要: SummaryModel.value.list.filter((v) => v.value).length > 0,
     公告正文: ContentModel.value.content
   }
@@ -191,7 +204,7 @@ const hasProject = computed(() => {
 })
 </script>
 <template>
-  <ContentLayout :need-ad="true">
+  <ContentLayout :need-ad="true" class="article-page-container">
     <div class="article-container" :class="{ 'show-underline': hasProject }">
       <content-header></content-header>
 
@@ -346,15 +359,26 @@ const hasProject = computed(() => {
       </div>
     </div>
     <collect-info ref="collectElement"></collect-info>
-    <footer-ad code="jy-pccontent-bottom"></footer-ad>
+    <footer-ad code="jy-pc-article-bottom-fixed"></footer-ad>
     <origin-link
       ref="originLinkElement"
       :id="contentId"
       @click-collect="doOpenCollectDialog"
     ></origin-link>
+    <template #right v-if="InWhichContainer === 'in-web'">
+      <div id="inWebRightElement"></div>
+    </template>
   </ContentLayout>
 </template>
 
+<style lang="scss">
+.in-app .article-page-container.v-w1200 {
+  width: 1200px;
+}
+.article-page-container {
+  margin-top: 32px;
+}
+</style>
 <style lang="scss" scoped>
 .article-content-footer-container {
   ::v-deep {