Browse Source

feat: 移动端需求实现 P747投标企业信用报告入口及购买流程优化

zhangyuhan 1 month ago
parent
commit
8f6d8f9497

+ 1 - 5
apps/bigmember_pc/src/views/article-content/composables/useContentStore.js

@@ -85,13 +85,9 @@ async function useContentStore() {
   await ajaxGetContentInfoGuideKeys().then(res => {
   await ajaxGetContentInfoGuideKeys().then(res => {
     if (res?.error_code === 0 && res?.data) {
     if (res?.error_code === 0 && res?.data) {
       const guideKeys = res.data?.matchKeys?.split(',') || []
       const guideKeys = res.data?.matchKeys?.split(',') || []
-      let guideLink = res.data?.link || '#'
-
       const guideTip = res.data?.loginCw || '获取投标企业信用报告,展示投标实力'
       const guideTip = res.data?.loginCw || '获取投标企业信用报告,展示投标实力'
       Content.addGuideKey('企业信用报告引流', guideKeys, function ({ buyer }) {
       Content.addGuideKey('企业信用报告引流', guideKeys, function ({ buyer }) {
-        if (guideLink !== '#') {
-          guideLink = guideLink + (guideLink.lastIndexOf('?') !== -1 ? '&buyer=' : '?buyer=') + buyer
-        }
+        const guideLink = '/swordfish/page_big_pc/free/report/preview?source=bidCreditReportPreview&buyer=' + buyer
         return `<span>$1&nbsp;<a target='_blank' class='highlight-text keyword-underline report-preview-highlight-guide' href='${guideLink}'>${guideTip}</a>&nbsp;</span>`
         return `<span>$1&nbsp;<a target='_blank' class='highlight-text keyword-underline report-preview-highlight-guide' href='${guideLink}'>${guideTip}</a>&nbsp;</span>`
       })
       })
     }
     }

+ 10 - 0
apps/mobile/src/api/modules/article.js

@@ -22,6 +22,16 @@ export function getArticleBaseInfo(data) {
   })
   })
 }
 }
 
 
+// 获取详情页引流关键词
+export function ajaxGetContentInfoGuideKeys(data) {
+  data = qs.stringify(data)
+  return request({
+    method: 'post',
+    url: '/publicapply/entCreditReport/keys',
+    data
+  })
+}
+
 // 三级页进阶信息
 // 三级页进阶信息
 export function getArticleAdvancedInfo(data) {
 export function getArticleAdvancedInfo(data) {
   data = qs.stringify(data)
   data = qs.stringify(data)

+ 19 - 1
apps/mobile/src/store/modules/article.js

@@ -4,12 +4,16 @@ import useExpandModel from '@jy/data-models/modules/article/model/expand'
 import { appStorage } from '@/utils/storage'
 import { appStorage } from '@/utils/storage'
 
 
 import {
 import {
+  ajaxGetContentInfoGuideKeys,
   getArticleAdvancedInfo,
   getArticleAdvancedInfo,
   getArticleBaseInfo,
   getArticleBaseInfo,
   getArticlePreAgentInfo
   getArticlePreAgentInfo
 } from '@/api/modules/article'
 } from '@/api/modules/article'
+import { reactive } from 'vue'
 
 
-const { model: mainModel, transformModel: contentTransform } = useContentModel()
+const contentModelData = useContentModel()
+const Content = reactive(contentModelData)
+const { model: mainModel, transformModel: contentTransform } = Content
 const { model: expandModel, transformModel: expandTransform } = useExpandModel()
 const { model: expandModel, transformModel: expandTransform } = useExpandModel()
 
 
 const CACHE_HISTORY_KEY = 'MOBILE_ARTICLE_CONTENT'
 const CACHE_HISTORY_KEY = 'MOBILE_ARTICLE_CONTENT'
@@ -262,6 +266,20 @@ export default {
     },
     },
     async getBaseInfo({ commit, state }) {
     async getBaseInfo({ commit, state }) {
       const { preAgentInfo } = state
       const { preAgentInfo } = state
+      try {
+        await ajaxGetContentInfoGuideKeys().then(res => {
+          if (res?.error_code === 0 && res?.data) {
+            const guideKeys = res.data?.matchKeys?.split(',') || []
+            const guideTip = res.data?.loginCw || '获取投标企业信用报告,展示投标实力'
+            Content.addGuideKey('企业信用报告引流', guideKeys, function ({ buyer }) {
+              const guideLink = '/jy_mobile/common/pdfview?source=bidCreditReportPreview&buyer=' + buyer
+              return `<span>$1&nbsp;<a class='highlight-text keyword-underline report-preview-highlight-guide' href='${guideLink}'>${guideTip}</a>&nbsp;</span>`
+            })
+          }
+        })
+      } catch (e) {
+        console.warn(e)
+      }
       try {
       try {
         const {
         const {
           error_code: code,
           error_code: code,

+ 2 - 1
apps/mobile/src/views/article/components/ContentHeader.vue

@@ -210,7 +210,8 @@ export default {
         console.log(e)
         console.log(e)
       }
       }
       this.$router.push({
       this.$router.push({
-        path: '/order/create/creditreport',
+        // path: '/order/create/creditreport',
+        path: '/common/pdfview',
         query: buyer ? { buyer } : {}
         query: buyer ? { buyer } : {}
       })
       })
     },
     },

+ 18 - 2
apps/mobile/src/views/common/pdfViewExample.vue

@@ -8,14 +8,23 @@
         :url="pdfUrl"
         :url="pdfUrl"
       ></PDF>
       ></PDF>
     </div>
     </div>
-    <div v-if="!getUserId" class="j-footer">
+    <div class="j-footer">
       <!-- /jyapp/free/login?url=/jy_mobile/order/create/creditreport&activity=bidCreditReportPreview -->
       <!-- /jyapp/free/login?url=/jy_mobile/order/create/creditreport&activity=bidCreditReportPreview -->
       <AdSingle
       <AdSingle
+        v-if="!getUserId"
         ad="app-credit-report-sample"
         ad="app-credit-report-sample"
         :show-tag="false"
         :show-tag="false"
         :show-close-icon="false"
         :show-close-icon="false"
         class="adsense-container"
         class="adsense-container"
       />
       />
+      <AdSingle
+        v-else
+        ad="app-credit-report-sample-login"
+        :show-tag="false"
+        :show-close-icon="false"
+        class="adsense-container"
+        :before-open='doCreateReportOrder'
+      />
     </div>
     </div>
   </div>
   </div>
 </template>
 </template>
@@ -147,7 +156,14 @@ export default {
       const viewport = page.getViewport({ scale: 1 })
       const viewport = page.getViewport({ scale: 1 })
       // 增加一个倍数来提高清晰度,例如 1.5
       // 增加一个倍数来提高清晰度,例如 1.5
       return (containerWidth / viewport.width) * 3
       return (containerWidth / viewport.width) * 3
-    }
+    },
+    doCreateReportOrder () {
+      this.$router.push({
+        path: '/order/create/creditreport',
+        query: this.$route.query
+      })
+      return false
+    },
   }
   }
 }
 }
 </script>
 </script>

+ 2 - 1
apps/mobile/src/views/create-order/components/creditreport/Footer.vue

@@ -78,7 +78,8 @@ export default {
       // 将getBidCreditReportInfo保存到本地
       // 将getBidCreditReportInfo保存到本地
       this.saveBaseInfo()
       this.saveBaseInfo()
       this.$router.push({
       this.$router.push({
-        path: '/common/pdfview'
+        path: '/common/pdfview',
+        query: this.$route.query
       })
       })
     },
     },
     saveBaseInfo() {
     saveBaseInfo() {

+ 8 - 8
apps/mobile/src/views/create-order/components/creditreport/ProductionCard.vue

@@ -1,13 +1,13 @@
 <template>
 <template>
   <div class="production-card credit-report-production-card">
   <div class="production-card credit-report-production-card">
-    <div class="report-func">
-      <div class="report-func-title">
-        报告作用
-      </div>
-      <div class="report-func-content">
-        信用报告通过信用背书、风险预警、政策适配,三大核心作用,成为投标企业参与市场竞争的关键工具。
-      </div>
-    </div>
+<!--    <div class="report-func">-->
+<!--      <div class="report-func-title">-->
+<!--        报告作用-->
+<!--      </div>-->
+<!--      <div class="report-func-content">-->
+<!--        信用报告通过信用背书、风险预警、政策适配,三大核心作用,成为投标企业参与市场竞争的关键工具。-->
+<!--      </div>-->
+<!--    </div>-->
     <div class="report-info">
     <div class="report-info">
       <van-form ref="formRef">
       <van-form ref="formRef">
         <van-field
         <van-field