Browse Source

merge 9.2

bding 2 years ago
parent
commit
0e3666e4ff
46 changed files with 570 additions and 329 deletions
  1. 10 2
      activityPages/activityDetail/activityDetail.vue
  2. 14 19
      activityPages/activityDetail/manageMixin.js
  3. 2 1
      activityPages/components/specialMixins.js
  4. 3 0
      activityPages/generationAsk/generationAsk.vue
  5. 3 1
      activityPages/playBack/playBack.vue
  6. 4 1
      activityPages/specialDetail/specialDetail.vue
  7. 5 0
      activityPages/specialResearchPage/specialResearchPage.vue
  8. 4 1
      activityPages/themeActivity/themeActivity.vue
  9. 23 22
      components/ItemComponent/activityItem.vue
  10. 14 19
      components/activity/indexActivity.js
  11. 14 5
      components/audioModule/index.vue
  12. 15 8
      components/modalDialog.vue
  13. 1 1
      components/videoModule/index.vue
  14. 118 116
      config/modules/Reports.js
  15. 4 0
      config/modules/User.js
  16. 12 2
      mixin/index.js
  17. 3 0
      pageMy/applyInterview/applyInterview.vue
  18. 5 2
      pageMy/browseHistory/browseHistory.vue
  19. 1 0
      pageMy/chartPage/chartPage.vue
  20. 3 1
      pageMy/myCollection/myCollection.vue
  21. 2 0
      pageMy/myLeavingMessage/myLeavingMessage.vue
  22. 10 7
      pageMy/myPage/myPage.vue
  23. 3 0
      pageMy/mySchedulepage/mySchedulepage.vue
  24. 17 14
      pageMy/reportDetail/reportDetail.vue
  25. 18 16
      pageMy/reportPage/reportPage.vue
  26. 1 0
      pages-search/components/activityBack.vue
  27. 84 36
      pages-search/components/report.vue
  28. 1 0
      pages-search/components/roadshow.vue
  29. 26 2
      pages-search/indedxSearch/indedxSearch.vue
  30. 4 1
      pages/activity/activity.vue
  31. 9 2
      pages/index/index.vue
  32. 8 1
      pages/material/material.vue
  33. 18 10
      pages/purchaser/purchaser.vue
  34. 1 0
      pages/reportForm/components/strategy.vue
  35. 6 1
      pages/reportForm/reportForm.vue
  36. 42 9
      reportPages/IndustryReport/IndustryReport.vue
  37. 3 2
      reportPages/authorPages/authorPages.vue
  38. 7 2
      reportPages/hotList/hotList.vue
  39. 17 14
      reportPages/industrialReport/industrialReport.vue
  40. 3 0
      reportPages/keyCompany/keyCompany.vue
  41. 2 0
      reportPages/myAskPage/myAskPage.vue
  42. 3 3
      reportPages/recentPages/recentPages.vue
  43. 7 1
      reportPages/reportSecretDetail/reportSecretDetail.vue
  44. 9 5
      reportPages/researchTheme/researchTheme.vue
  45. 2 1
      reportPages/roadEssence/roadEssence.vue
  46. 9 1
      store/index.js

+ 10 - 2
activityPages/activityDetail/activityDetail.vue

@@ -403,9 +403,11 @@ export default {
       activity
         .getActivityDetail({
           ActivityId: this.id,
+          PageRouter: this.$store.state.pageRouterActivity,
         })
         .then((res) => {
           if (res.Ret == 200) {
+            this.$store.commit("setRouterActivity", "活动详情");
             this.haveAuth = res.Data.HasPermission;
             this.jurisdictionList = res.Data;
             if (res.Data.HasPermission == 1) {
@@ -413,7 +415,7 @@ export default {
               let pages = getCurrentPages();
               let prevPage = pages[pages.length - 2];
               let path = prevPage ? prevPage.$page.fullPath : "";
-              if (path.includes("/activityPages/themeActivity/themeActivity") || path.includes("/pages-search/indedxSearch/indedxSearch")) {
+              if (path.includes("/activityPages/themeActivity/themeActivity") || path.includes("/pages-search/indedxSearch/indedxSearch?source=活动详情页面")) {
                 const index = prevPage.$vm.collectList.findIndex((item) => item.ActivityId == this.id);
                 prevPage.$vm.collectList[index].IsSignup = this.detailData.IsSignup;
                 prevPage.$vm.collectList[index].SignupNum = this.detailData.SignupNum;
@@ -457,7 +459,8 @@ export default {
       });
     },
     // 提问
-    askingGo(type = "") {
+    async askingGo(type = "") {
+      await activity.checkAskActivity({ ActivityId: this.id, PageRouter: this.$store.state.pageRouterActivity });
       uni.navigateTo({
         url: "/activityPages/generationAsk/generationAsk?id=" + this.id + "&type=" + type,
       });
@@ -603,6 +606,7 @@ export default {
       const res = await Home.microRoadshowCollect({
         Id: this.detailData.FileType == 1 ? this.detailData.VoiceList.ActivityVoiceId : this.detailData.VideoDetail.Id,
         SourceType: this.detailData.FileType,
+        PageRouter: this.$store.state.pageRouterReport,
       });
       if (res.Ret === 200) {
         uni.showToast({
@@ -615,6 +619,7 @@ export default {
   },
   async onLoad(option) {
     this.id = option.id || "";
+    // 详情页面不写路径
     await this.$store.dispatch("checkHandle");
     // this.listenAudio()
     if (!this.$store.state.isAuth && !this.$store.state.isBind) {
@@ -622,6 +627,9 @@ export default {
       this.getActivityDetail();
     }
   },
+  onShow() {
+    this.$store.commit("setRouterReport", "活动详情");
+  },
   /**
    * 用户点击分享
    */

+ 14 - 19
activityPages/activityDetail/manageMixin.js

@@ -24,7 +24,7 @@ export default {
           cancelColor: "#606266",
           success: async (res) => {
             if (res.confirm) {
-              const res = await activity.signupCancel({ ActivityId: this.detailData.ActivityId, SignupType: type });
+              const res = await activity.signupCancel({ ActivityId: this.detailData.ActivityId, SignupType: type, PageRouter: this.$store.state.pageRouterActivity });
               if (res.Ret === 200) {
                 type == 1
                   ? uni.showToast({
@@ -50,6 +50,7 @@ export default {
           .signupAdd({
             ActivityId: this.detailData.ActivityId,
             SignupType: type,
+            PageRouter: this.$store.state.pageRouterActivity,
           })
           .then((res) => {
             if (res.Ret == 200) {
@@ -63,20 +64,15 @@ export default {
                 cutId: res.Data.ActivityId,
                 state: 1,
               };
-              if (res.Data.GoBindEmail) {
-                this.mailboxBinding = true;
-                return;
-              }
               if (res.Data.SignupStatus !== "Success") {
                 this.isShow = true;
               } else {
-                if (res.Data.GoOutboundMobile) {
-                  this.editIsShow = true;
-                } else if (res.Data.GoFollow) {
-                  this.goFollow = res.Data.GoFollow;
-                } else if (res.Data.SignupStatus == "Success") {
-                  this.isShow = true;
-                }
+                this.detailData.IsSignup = 1;
+                this.detailData.SignupNum += 1;
+                if (res.Data.GoBindEmail) this.mailboxBinding = true;
+                if (res.Data.GoOutboundMobile) this.editIsShow = true;
+                else if (res.Data.GoFollow) this.goFollow = res.Data.GoFollow;
+                else if (res.Data.SignupStatus == "Success") this.isShow = true;
               }
             }
           });
@@ -89,7 +85,7 @@ export default {
     // 预约/取消
     async summaryIsHandel() {
       if (this.detailData.IsAppointment == 0) {
-        const res = await activity.postAppointmentAdd({ ActivityId: Number(this.id) });
+        const res = await activity.postAppointmentAdd({ ActivityId: Number(this.id), PageRouter: this.$store.state.pageRouterActivity });
         if (res.Ret == 200) {
           this.hasPermission = res.Data.HasPermission;
           this.jurisdictionList = res.Data;
@@ -98,11 +94,8 @@ export default {
           if (res.Data.SignupStatus !== "Success") {
             this.isShow = true;
           } else {
-            if (res.Data.GoFollow) {
-              this.goFollow = res.Data.GoFollow;
-            } else if (res.Data.SignupStatus == "Success") {
-              this.isShow = true;
-            }
+            if (res.Data.GoFollow) this.goFollow = res.Data.GoFollow;
+            else if (res.Data.SignupStatus == "Success") this.isShow = true;
           }
           this.selectShow = false;
         }
@@ -113,7 +106,7 @@ export default {
           cancelColor: "#606266",
           success: async (res) => {
             if (res.confirm) {
-              const res = await activity.postAppointmentCancel({ ActivityId: Number(this.id) });
+              const res = await activity.postAppointmentCancel({ ActivityId: Number(this.id), PageRouter: this.$store.state.pageRouterActivity });
               if (res.Ret === 200) {
                 this.getActivityDetail();
               }
@@ -128,6 +121,7 @@ export default {
         activity
           .meetingReminderCancel({
             ActivityId: Number(this.id),
+            PageRouter: this.$store.state.pageRouterActivity,
           })
           .then((res) => {
             if (res.Ret == 200) {
@@ -153,6 +147,7 @@ export default {
       activity
         .meetingReminderAdd({
           ActivityId: Number(this.id),
+          PageRouter: this.$store.state.pageRouterActivity,
         })
         .then((res) => {
           if (res.Ret == 200) {

+ 2 - 1
activityPages/components/specialMixins.js

@@ -38,6 +38,7 @@ export default {
             if (res.confirm) {
               const res = await activity.activityApecialCancel({
                 ActivityId: item.ActivityId,
+                PageRouter: this.$store.state.pageRouterActivity,
               });
               if (res.Ret === 200) {
                 uni.showToast({
@@ -52,7 +53,7 @@ export default {
         });
       } else {
         // 报名
-        const res = await activity.activityApecialAdd({ ActivityId: item.ActivityId });
+        const res = await activity.activityApecialAdd({ ActivityId: item.ActivityId, PageRouter: this.$store.state.pageRouterActivity });
         if (res.Ret == 200) {
           this.modalShow(res);
           if (res.Data.SignupStatus == 1) {

+ 3 - 0
activityPages/generationAsk/generationAsk.vue

@@ -45,15 +45,18 @@ export default {
               Content: this.advice_content,
               SourceType: Number(this.roadshow),
               Title: this.roadshowTitle,
+              PageRouter: this.$store.state.pageRouterReport,
             })
           : this.type == "文章"
           ? await Report.articleAskAdd({
               ArticleId: Number(this.id),
               Content: this.advice_content,
+              PageRouter: this.$store.state.pageRouterReport,
             })
           : await activity.activityAskAdd({
               ActivityId: Number(this.id),
               Content: this.advice_content,
+              PageRouter: this.$store.state.pageRouterReport,
             });
       if (res.Ret === 200) {
         this.$util.toast("提交成功");

+ 3 - 1
activityPages/playBack/playBack.vue

@@ -151,7 +151,7 @@ export default {
     },
     // 去往详情页面
     goDetail(item) {
-      this.$store.dispatch("checkHandle", "/activityPages/activityDetail/activityDetail?id=" + item.ActivityId);
+      this.$store.dispatch("checkHandle", "/activityPages/activityDetail/activityDetail?id=" + item.ActivityId + "&PageRouter=活动回放");
     },
 
     // 点击视频 、音频 的筛选
@@ -173,6 +173,8 @@ export default {
     this.getActivityList();
   },
   async onShow() {
+    this.$store.commit("setRouterActivity", "活动回放");
+    this.$store.commit("setRouterReport", "活动回放");
     this.$store.commit("audioBg/parseIntAudio", true);
   },
   onHide() {

+ 4 - 1
activityPages/specialDetail/specialDetail.vue

@@ -125,7 +125,7 @@ export default {
   methods: {
     // 获取详情
     async getActivityDetail() {
-      const res = await activity.getSpecialDetailList({ ActivityId: this.id });
+      const res = await activity.getSpecialDetailList({ ActivityId: this.id, PageRouter: this.$store.state.pageRouterActivity });
       if (res.Ret == 200) {
         this.specialIsFollow = res.Data.IsFollow;
         this.haveAuth = res.Data.HasPermission;
@@ -141,6 +141,7 @@ export default {
     async interest() {
       const res = await activity.postSpecialSignupAdd({
         ActivityId: this.detailData.ActivityId,
+        PageRouter: this.$store.state.pageRouterActivity,
       });
       if (res.Ret === 200) {
         this.currentPages();
@@ -161,6 +162,7 @@ export default {
           if (res.confirm) {
             const res = await activity.postSpecialSignupAdd({
               ActivityId: this.detailData.ActivityId,
+              PageRouter: this.$store.state.pageRouterActivity,
             });
             if (res.Ret === 200) {
               this.detailData.IsSignup = 0;
@@ -184,6 +186,7 @@ export default {
 
     // 查看行程的事件
     lookImg() {
+      this.getRecordTracking(this.$store.state.pageRouterActivity, { ActivityId: this.detailData.ActivityId, Source: "查看行程" });
       uni.previewImage({
         urls: [this.detailData.TripImgLink], //查看图片的数组
       });

+ 5 - 0
activityPages/specialResearchPage/specialResearchPage.vue

@@ -130,6 +130,7 @@ export default {
 
     // 查看行程的事件
     lookImg(item) {
+      this.getRecordTracking(this.$store.state.pageRouterActivity, { ActivityId: item.ActivityId, Source: "查看行程" });
       uni.previewImage({
         urls: [item.TripImgLink], //查看图片的数组
       });
@@ -144,6 +145,7 @@ export default {
     async interest(item) {
       const res = await activity.postSpecialSignupAdd({
         ActivityId: item.ActivityId,
+        PageRouter: this.$store.state.pageRouterActivity,
       });
       if (res.Ret === 200) {
         this.modalShow(res);
@@ -163,6 +165,7 @@ export default {
           if (res.confirm) {
             const res = await activity.postSpecialSignupAdd({
               ActivityId: item.ActivityId,
+              PageRouter: this.$store.state.pageRouterActivity,
             });
             if (res.Ret === 200) {
               item.IsSignup = 0;
@@ -203,6 +206,8 @@ export default {
     this.getActivityList();
   },
   onShow() {
+    this.$store.commit("setRouterReport", "专项调研列表");
+    this.$store.commit("setRouterActivity", "专项调研列表");
     this.$store.dispatch("checkHandle");
   },
   /* 触底 */

+ 4 - 1
activityPages/themeActivity/themeActivity.vue

@@ -273,7 +273,7 @@ export default {
           this.$store.dispatch("checkHandle", "/reportPages/researchTheme/researchTheme?id=" + this.contentDetail.IndustrialManagementId);
         } else {
           //非严选
-          this.$store.dispatch("checkHandle", "/reportPages/IndustryReport/IndustryReport?id=" + this.contentDetail.IndustrialManagementId);
+          this.$store.dispatch("checkHandle", "/reportPages/IndustryReport/IndustryReport?id=" + this.contentDetail.IndustrialManagementId + "&entrance=活动详情");
         }
       }
     },
@@ -289,6 +289,7 @@ export default {
 
     //查看行程的事件
     lookImg(item) {
+      this.getRecordTracking(this.$store.state.pageRouterActivity, { ActivityId: item.ActivityId, Source: "查看行程" });
       uni.previewImage({
         urls: [item.TripImgLink], //查看图片的数组
       });
@@ -319,6 +320,8 @@ export default {
     this.loadInit(option);
   },
   onShow() {
+    this.$store.commit("setRouterReport", "活动列表");
+    this.$store.commit("setRouterActivity", "活动列表");
     this.$store.dispatch("checkHandle");
     this.$store.commit("audioBg/parseIntAudio", true);
   },

+ 23 - 22
components/ItemComponent/activityItem.vue

@@ -136,6 +136,10 @@ export default {
       default: {},
       required: true,
     },
+    componentsPage: {
+      type: String,
+      default: "",
+    },
   },
   data() {
     return {
@@ -226,7 +230,7 @@ export default {
           cancelColor: "#606266",
           success: async (res) => {
             if (res.confirm) {
-              const res = await activity.signupCancel({ ActivityId: item.ActivityId, SignupType: type });
+              const res = await activity.signupCancel({ ActivityId: item.ActivityId, SignupType: type, PageRouter: this.$store.state.pageRouterActivity });
               if (res.Ret === 200) {
                 this.parentDataEmit(item, "IsSignup", 0);
                 this.init();
@@ -256,6 +260,7 @@ export default {
           .signupAdd({
             ActivityId: id,
             SignupType: type,
+            PageRouter: this.$store.state.pageRouterActivity,
           })
           .then((res) => {
             if (res.Ret == 200) {
@@ -278,13 +283,9 @@ export default {
                 if (res.Data.SignupStatus !== "Success") {
                   this.isShow = true;
                 } else {
-                  if (res.Data.GoOutboundMobile) {
-                    this.editIsShow = true;
-                  } else if (res.Data.GoFollow) {
-                    this.goFollow = res.Data.GoFollow;
-                  } else if (res.Data.SignupStatus == "Success") {
-                    this.isShow = true;
-                  }
+                  if (res.Data.GoOutboundMobile) this.editIsShow = true;
+                  else if (res.Data.GoFollow) this.goFollow = res.Data.GoFollow;
+                  else if (res.Data.SignupStatus == "Success") this.isShow = true;
                   this.parentDataEmit(item, "IsSignup", 1);
                 }
               } else if (this.hasPermission == 2) {
@@ -315,17 +316,15 @@ export default {
       activity
         .meetingReminderAdd({
           ActivityId: item.ActivityId,
+          PageRouter: this.$store.state.pageRouterActivity,
         })
         .then((res) => {
           if (res.Ret == 200) {
             this.hasPermission = res.Data.HasPermission;
             this.jurisdictionList = res.Data;
             if (this.hasPermission == 1) {
-              if ((res.Data.GoFollow && res.Data.SignupStatus !== "Success") || !res.Data.GoFollow) {
-                this.isShow = true;
-              } else {
-                this.goFollow = res.Data.GoFollow;
-              }
+              if ((res.Data.GoFollow && res.Data.SignupStatus !== "Success") || !res.Data.GoFollow) this.isShow = true;
+              else this.goFollow = res.Data.GoFollow;
               this.signupType = 999;
               this.idTypeCancel = {
                 cutId: res.Data.ActivityId,
@@ -346,6 +345,7 @@ export default {
       activity
         .meetingReminderCancel({
           ActivityId: item.ActivityId,
+          PageRouter: this.$store.state.pageRouterActivity,
         })
         .then((res) => {
           if (res.Ret == 200) {
@@ -367,7 +367,7 @@ export default {
 
     //帮我带问
     async askingGo(item, type = "") {
-      const res = await activity.checkAskActivity({ ActivityId: item.ActivityId });
+      const res = await activity.checkAskActivity({ ActivityId: item.ActivityId, PageRouter: this.$store.state.pageRouterActivity });
       if (res.Ret == 200) {
         this.hasPermission = res.Data.HasPermission;
         this.jurisdictionList = res.Data;
@@ -392,7 +392,7 @@ export default {
     //预约纪要、取消预约纪要
     async summaryIsHandel(item, type = "") {
       if (item.IsAppointment == 0) {
-        const res = await activity.postAppointmentAdd({ ActivityId: item.ActivityId });
+        const res = await activity.postAppointmentAdd({ ActivityId: item.ActivityId, PageRouter: this.$store.state.pageRouterActivity });
         if (res.Ret == 200) {
           this.hasPermission = res.Data.HasPermission;
           this.jurisdictionList = res.Data;
@@ -402,11 +402,8 @@ export default {
             if (res.Data.SignupStatus !== "Success") {
               this.isShow = true;
             } else {
-              if (res.Data.GoFollow) {
-                this.goFollow = res.Data.GoFollow;
-              } else if (res.Data.SignupStatus == "Success") {
-                this.isShow = true;
-              }
+              if (res.Data.GoFollow) this.goFollow = res.Data.GoFollow;
+              else if (res.Data.SignupStatus == "Success") this.isShow = true;
               this.parentDataEmit(item, "IsAppointment", 1);
             }
           } else if (this.hasPermission == 2) {
@@ -422,7 +419,7 @@ export default {
           cancelColor: "#606266",
           success: async (res) => {
             if (res.confirm) {
-              const res = await activity.postAppointmentCancel({ ActivityId: item.ActivityId });
+              const res = await activity.postAppointmentCancel({ ActivityId: item.ActivityId, PageRouter: this.$store.state.pageRouterActivity });
               if (res.Ret === 200) {
                 this.parentDataEmit(item, "IsAppointment", 0);
                 this.init();
@@ -445,6 +442,7 @@ export default {
     },
     // 查看行程的事件
     lookImg(item) {
+      this.getRecordTracking(this.$store.state.pageRouterActivity, { ActivityId: item.ActivityId, Source: "查看行程" });
       uni.previewImage({
         urls: [item.TripImgLink], //查看图片的数组
       });
@@ -453,6 +451,7 @@ export default {
     async interest(item) {
       const res = await activity.postSpecialSignupAdd({
         ActivityId: item.ActivityId,
+        PageRouter: this.$store.state.pageRouterActivity,
       });
       if (res.Ret === 200) {
         this.modalShow(res);
@@ -479,6 +478,7 @@ export default {
             if (res.confirm) {
               const res = await activity.activityApecialCancel({
                 ActivityId: item.ActivityId,
+                PageRouter: this.$store.state.pageRouterActivity,
               });
               if (res.Ret === 200) {
                 uni.showToast({
@@ -493,7 +493,7 @@ export default {
         });
       } else {
         // 报名
-        const res = await activity.activityApecialAdd({ ActivityId: item.ActivityId });
+        const res = await activity.activityApecialAdd({ ActivityId: item.ActivityId, PageRouter: this.$store.state.pageRouterActivity });
         if (res.Ret == 200) {
           this.modalShow(res);
           if (res.Data.SignupStatus == 1) {
@@ -529,6 +529,7 @@ export default {
           if (res.confirm) {
             const res = await activity.postSpecialSignupAdd({
               ActivityId: item.ActivityId,
+              PageRouter: this.$store.state.pageRouterActivity,
             });
             if (res.Ret === 200) {
               this.parentDataEmit(item, "IsSignup", 0);

+ 14 - 19
components/activity/indexActivity.js

@@ -78,7 +78,7 @@ export default {
           cancelColor: "#606266",
           success: async (res) => {
             if (res.confirm) {
-              const res = await activity.signupCancel({ ActivityId: item.ActivityId, SignupType: type });
+              const res = await activity.signupCancel({ ActivityId: item.ActivityId, SignupType: type, PageRouter: this.$store.state.pageRouterActivity });
               if (res.Ret === 200) {
                 this.collectList.forEach((valueAct) => {
                   if (valueAct.ActivityId === id) {
@@ -112,6 +112,7 @@ export default {
           .signupAdd({
             ActivityId: id,
             SignupType: type,
+            PageRouter: this.$store.state.pageRouterActivity,
           })
           .then((res) => {
             if (res.Ret == 200) {
@@ -135,13 +136,9 @@ export default {
                 if (res.Data.SignupStatus !== "Success") {
                   this.isShow = true;
                 } else {
-                  if (res.Data.GoOutboundMobile) {
-                    this.editIsShow = true;
-                  } else if (res.Data.GoFollow) {
-                    this.goFollow = res.Data.GoFollow;
-                  } else if (res.Data.SignupStatus == "Success") {
-                    this.isShow = true;
-                  }
+                  if (res.Data.GoOutboundMobile) this.editIsShow = true;
+                  else if (res.Data.GoFollow) this.goFollow = res.Data.GoFollow;
+                  else if (res.Data.SignupStatus == "Success") this.isShow = true;
                   this.collectList.forEach((valueAct) => {
                     if (valueAct.ActivityId === id) {
                       valueAct.IsSignup = 1;
@@ -176,17 +173,15 @@ export default {
       activity
         .meetingReminderAdd({
           ActivityId: id,
+          PageRouter: this.$store.state.pageRouterActivity,
         })
         .then((res) => {
           if (res.Ret == 200) {
             this.hasPermission = res.Data.HasPermission;
             this.jurisdictionList = res.Data;
             if (this.hasPermission == 1) {
-              if ((res.Data.GoFollow && res.Data.SignupStatus !== "Success") || !res.Data.GoFollow) {
-                this.isShow = true;
-              } else {
-                this.goFollow = res.Data.GoFollow;
-              }
+              if ((res.Data.GoFollow && res.Data.SignupStatus !== "Success") || !res.Data.GoFollow) this.isShow = true;
+              else this.goFollow = res.Data.GoFollow;
               this.signupType = 999;
               this.idTypeCancel = {
                 cutId: res.Data.ActivityId,
@@ -211,6 +206,7 @@ export default {
       activity
         .meetingReminderCancel({
           ActivityId: id,
+          PageRouter: this.$store.state.pageRouterActivity,
         })
         .then((res) => {
           if (res.Ret == 200) {
@@ -236,7 +232,7 @@ export default {
 
     //帮我带问
     async askingGo(item, type = "") {
-      const res = await activity.checkAskActivity({ ActivityId: item.ActivityId });
+      const res = await activity.checkAskActivity({ ActivityId: item.ActivityId, PageRouter: this.$store.state.pageRouterActivity });
       if (res.Ret == 200) {
         this.hasPermission = res.Data.HasPermission;
         this.jurisdictionList = res.Data;
@@ -261,7 +257,7 @@ export default {
     //预约纪要、取消预约纪要
     async summaryIsHandel(item, type = "") {
       if (item.IsAppointment == 0) {
-        const res = await activity.postAppointmentAdd({ ActivityId: item.ActivityId });
+        const res = await activity.postAppointmentAdd({ ActivityId: item.ActivityId, PageRouter: this.$store.state.pageRouterActivity });
         if (res.Ret == 200) {
           this.hasPermission = res.Data.HasPermission;
           this.jurisdictionList = res.Data;
@@ -271,9 +267,8 @@ export default {
             if (res.Data.SignupStatus !== "Success") {
               this.isShow = true;
             } else {
-              if (res.Data.GoFollow) {
-                this.goFollow = res.Data.GoFollow;
-              } else if (res.Data.SignupStatus == "Success") {
+              if (res.Data.GoFollow) this.goFollow = res.Data.GoFollow;
+              else if (res.Data.SignupStatus == "Success") {
                 this.isShow = true;
                 item.IsAppointment = 1;
               }
@@ -292,7 +287,7 @@ export default {
           cancelColor: "#606266",
           success: async (res) => {
             if (res.confirm) {
-              const res = await activity.postAppointmentCancel({ ActivityId: item.ActivityId });
+              const res = await activity.postAppointmentCancel({ ActivityId: item.ActivityId ,PageRouter: this.$store.state.pageRouterActivity});
               if (res.Ret === 200) {
                 item.IsAppointment = 0;
                 this.init();

+ 14 - 5
components/audioModule/index.vue

@@ -51,7 +51,7 @@
 </template>
 
 <script>
-import { activity } from "@/config/api";
+import { activity, Reports } from "@/config/api";
 export default {
   name: "",
   filters: {
@@ -110,7 +110,8 @@ export default {
     },
   },
   watch: {
-    audioInit: { // 切换了音频播放 重置下数据
+    audioInit: {
+      // 切换了音频播放 重置下数据
       handler(nval) {
         this.init();
       },
@@ -120,7 +121,8 @@ export default {
 
   created() {},
   mounted() {
-    uni.getSystemInfo({ //判断机型
+    uni.getSystemInfo({
+      //判断机型
       success: (res) => {
         this.isosName = res.osName;
       },
@@ -268,12 +270,19 @@ export default {
     backAudioPlay() {
       if ((this.$store.state.audioBg.activityId || this.$store.state.audioBg.indexId) && this.palyTime >= 0) {
         activity.backAudioPlay({
-          ActivityId: this.$store.state.audioBg.activityId || this.$store.state.audioBg.indexId,
+          ActivityId: this.$store.state.audioBg.activityId || this.$store.state.audioBg.indexId || "",
           PlaySeconds: this.palyTime,
+          PageRouter: this.$store.state.pageRouterReport,
+        });
+      } else if (this.$store.state.audioBg.reportId && this.palyTime >= 0) {
+        Reports.reportVoiceHistoryAdd({
+          ArticleId: this.$store.state.audioBg.reportId,
+          PlaySeconds: this.palyTime,
+          PageRouter: this.$store.state.pageRouterReport,
         });
       }
     },
-    // 手指离开了拖动进度条 
+    // 手指离开了拖动进度条
     touchstartHandler() {
       this.$store.commit("audioBg/setSlide", true);
     },

+ 15 - 8
components/modalDialog.vue

@@ -125,9 +125,9 @@ export default {
     mailboxBinding() {
       this.mailboxBindingDlg = this.mailboxBinding;
     },
-    editIsShow() {
-      this.editIsShowDlg = this.editIsShow;
-      if (this.editIsShow) {
+    editIsShow(newVal) {
+      this.editIsShowDlg = newVal;
+      if (newVal) {
         this.editIsShowAccounts = `
 						默认外呼号码是您当前绑定的手机号:<br />
 						${this.countryCode}-${this.mobileEdit}<br/><br/>
@@ -156,7 +156,7 @@ export default {
   computed: {
     isModalShow: {
       get() {
-        let isShow = this.show || this.cancelShow || this.goFollowShow || this.applyIsShow || this.mailboxBindingDlg;
+        let isShow = this.show || this.cancelShow || this.goFollowShow || this.applyIsShow || this.mailboxBindingDlg || this.editIsShowDlg;
         return isShow;
       },
       set() {},
@@ -168,18 +168,24 @@ export default {
         ? "立即上传"
         : this.applyIsShow && !this.isShowAlert
         ? "立即申请"
+        : this.editIsShowDlg
+        ? "无需修改"
         : this.goFollowShow
         ? "去关注"
         : this.show
         ? "知道了"
-        : this.editIsShowDlg
-        ? "无需修改"
         : "";
       return text;
     },
     content: {
       get() {
-        let str = this.mailboxBindingDlg ? "您当前绑定的联系方式为邮箱,请先设置您的外呼号码" : this.applyIsShow || this.goFollowShow || this.show ? this.jurisdictionList.PopupMsg : "";
+        let str = this.mailboxBindingDlg
+          ? "您当前绑定的联系方式为邮箱,请先设置您的外呼号码"
+          : this.editIsShowDlg
+          ? this.editIsShowAccounts
+          : this.applyIsShow || this.goFollowShow || this.show
+          ? this.jurisdictionList.PopupMsg
+          : "";
         return str;
       },
       set() {},
@@ -220,7 +226,7 @@ export default {
      */
     cancelModal() {
       if (this.editIsShowDlg) {
-        this.GoOutboundMobileIsGo;
+        this.GoOutboundMobileIsGo();
       } else {
         this.initData();
         this.$emit("cancelShowBtn");
@@ -246,6 +252,7 @@ export default {
       this.$parent.signupType = "";
       this.$parent.isCancelShow = false;
       this.cancelShow = false;
+      this.editIsShowDlg = false;
     },
 
     showhasPermissionBtn() {

+ 1 - 1
components/videoModule/index.vue

@@ -69,7 +69,7 @@ export default {
     //视频的播放事件
     handelVideoPlayChild() {
       this.videoContext = wx.createVideoContext(this.videoPopList.Id.toString(), this);
-      Home.microAideoHistoryAdd({ VideoId: this.videoPopList.ActivityId || this.videoPopList.Id, SourceType: this.videoPopList.ActivityId ? 2 : 1 });
+      Home.microAideoHistoryAdd({ VideoId: this.videoPopList.ActivityId || this.videoPopList.Id, SourceType: this.videoPopList.ActivityId ? 2 : 1, PageRouter: this.$store.state.pageRouterReport });
       this.curVideoTime = 0;
       if (this.curVideoId == this.videoPopList.Id || this.activityVideoId == this.videoPopList.ActivityId) {
         this.curVideoTime = this.$store.state.videoPlay.palyCurrentTime;

+ 118 - 116
config/modules/Reports.js

@@ -1,120 +1,122 @@
 import { getHttp, postHttp } from "../request.js";
 
-
 /* 报告  */
 export const Reports = {
-    /* 获取报告一级分类 */
-    getClassify: (params) => {
-      return getHttp("/permission/reportallV7", params, 0);
-    },
-    /* 获取策略的分类 */
-    getstrategyAll: (params) => {
-      return getHttp("/permission/strategyAll", params);
-    },
-    /* 获取策略的文章 */
-    getTacticsList: (params) => {
-      return getHttp("/tactics/list", params);
-    },
-    /* 获取产业报告分类列表接口*/
-    getTradeList: (params) => {
-      return getHttp("/report/home/tradeList", params, 0);
-    },
-    /* 报告搜索接口*/
-    getReportSearchReport: (params) => {
-      return getHttp("/report/searchReport", params, 0);
-    },
-  
-    /* 获取产业报告分类列表接口*/
-    getIndustryList: (params) => {
-      return getHttp("/report/home/industryList", params, 0);
-    },
-    /* 获取产业文章列表接口*/
-    getIndustryAndArticle: (params) => {
-      return getHttp("/report/searchResource", params, 0);
-    },
-    /* 是否置顶*/
-    postToptt: (params) => {
-      return postHttp("/report/top", params, 0);
-    },
-    /* 是否置顶*/
-    reportFllow: (params) => {
-      return postHttp("/report/fllow", params, 0);
-    },
-    /* 是否置顶*/
-    industryListByDepartment: (params) => {
-      return getHttp("/report/industryListByDepartment", params, 0);
-    },
-    /* 获取产业文章列表接口*/
-    industryReportList: (params) => {
-      return getHttp("/report/industry/reportList", params);
-    },
-    /* 关注作者/取消关注作者 接口*/
-    reportFllowDepartment: (params) => {
-      return postHttp("/report/fllowDepartment", params, 0);
-    },
-    /* 获取策略列表接口*/
-    getTactics: (params) => {
-      return getHttp("/tactics/list", params);
-    },
-    /* 产业下所关联的文章分类列表接口*/
-    toArticleCategoryList: (params) => {
-      return getHttp("/report/toArticleCategoryList", params);
-    }, //
-    /* 产业下所关联的文章分类列表接口*/
-    getArticleList: (params) => {
-      return getHttp("/report/industry/ArticleList", params);
-    },
-    /*上传文章阅读时间接口*/
-    addStopTime: (params) => {
-      return postHttp("/article/addStopTime", params, 0);
-    },
-    /* 获取研选最新主题关键词文章列表接口*/
-    reportListNew: (params) => {
-      return getHttp("/report/industry/reportListNew", params);
-    },
-    /* 获取是否展示绝密内参接口*/
-    reportIsShow: (params) => {
-      return getHttp("/report/isShow", params);
-    },
-    /* 获取报告精选、本周研究汇总、上周纪要汇总列表接口*/
-    reportListByType: (params) => {
-      return getHttp("/report/reportList/byType", params);
-    },
-    /* 获取报告精选详情接口*/
-    reportSelectionDetail: (params) => {
-      return getHttp("/report/reportSelection/detail", params);
-    },
-    /* 获取本周研究汇总详情接口*/
-    researchSummaryDetail: (params) => {
-      return getHttp("/report/researchSummary/detail", params);
-    },
-    /* 获取上周研究汇总详情接口*/
-    minutesSummaryDetail: (params) => {
-      return getHttp("/report/minutesSummary/detailv4", params);
-    },
-    /* 获取报告详情接口 /  路演精华*/
-    roadshowEssence: (params) => {
-      return getHttp("/report/roadshowEssence/detail", params);
-    },
-    /* 报告榜单table栏*/
-    getHotTableList: (params) => {
-      return getHttp("/report_billboard/table/list", params);
-    },
-    /* 获取产业关注榜接口*/
-    getIndustryFllowList: (params) => {
-      return getHttp("/report_billboard/industry/fllowList", params);
-    },
-    /* 获取阅读飙升榜/报告收藏榜接口 */
-    getIndustryReadList: (params) => {
-      return getHttp("/report_billboard/industry/readList", params);
-    },
-    /* 产业报告公司列表 */
-    getHomeStockName: (params) => {
-      return getHttp("/report/home/stockName", params);
-    },
-    /* 季度关注 */
-    getChartQuarter: (params) => {
-      return getHttp("/chart/jidu", params);
-    },
-    
-  };
+  /* 获取报告一级分类 */
+  getClassify: (params) => {
+    return getHttp("/permission/reportallV7", params, 0);
+  },
+  /* 获取策略的分类 */
+  getstrategyAll: (params) => {
+    return getHttp("/permission/strategyAll", params);
+  },
+  /* 获取策略的文章 */
+  getTacticsList: (params) => {
+    return getHttp("/tactics/list", params);
+  },
+  /* 获取产业报告分类列表接口*/
+  getTradeList: (params) => {
+    return getHttp("/report/home/tradeList", params, 0);
+  },
+  /* 报告搜索接口*/
+  getReportSearchReport: (params) => {
+    return getHttp("/report/searchReport", params, 0);
+  },
+
+  /* 获取产业报告分类列表接口*/
+  getIndustryList: (params) => {
+    return getHttp("/report/home/industryList", params, 0);
+  },
+  /* 获取产业文章列表接口*/
+  getIndustryAndArticle: (params) => {
+    return getHttp("/report/searchResource", params, 0);
+  },
+  /* 是否置顶*/
+  postToptt: (params) => {
+    return postHttp("/report/top", params, 0);
+  },
+  /* 是否置顶*/
+  reportFllow: (params) => {
+    return postHttp("/report/fllow", params, 0);
+  },
+  /* 是否置顶*/
+  industryListByDepartment: (params) => {
+    return getHttp("/report/industryListByDepartment", params, 0);
+  },
+  /* 获取产业文章列表接口*/
+  industryReportList: (params) => {
+    return getHttp("/report/industry/reportList", params);
+  },
+  /* 关注作者/取消关注作者 接口*/
+  reportFllowDepartment: (params) => {
+    return postHttp("/report/fllowDepartment", params, 0);
+  },
+  /* 获取策略列表接口*/
+  getTactics: (params) => {
+    return getHttp("/tactics/list", params);
+  },
+  /* 产业下所关联的文章分类列表接口*/
+  toArticleCategoryList: (params) => {
+    return getHttp("/report/toArticleCategoryList", params);
+  }, //
+  /* 产业下所关联的文章分类列表接口*/
+  getArticleList: (params) => {
+    return getHttp("/report/industry/ArticleList", params);
+  },
+  /*上传文章阅读时间接口*/
+  addStopTime: (params) => {
+    return postHttp("/article/addStopTime", params, 0);
+  },
+  /* 获取研选最新主题关键词文章列表接口*/
+  reportListNew: (params) => {
+    return getHttp("/report/industry/reportListNew", params);
+  },
+  /* 获取是否展示绝密内参接口*/
+  reportIsShow: (params) => {
+    return getHttp("/report/isShow", params);
+  },
+  /* 获取报告精选、本周研究汇总、上周纪要汇总列表接口*/
+  reportListByType: (params) => {
+    return getHttp("/report/reportList/byType", params);
+  },
+  /* 获取报告精选详情接口*/
+  reportSelectionDetail: (params) => {
+    return getHttp("/report/reportSelection/detail", params);
+  },
+  /* 获取本周研究汇总详情接口*/
+  researchSummaryDetail: (params) => {
+    return getHttp("/report/researchSummary/detail", params);
+  },
+  /* 获取上周研究汇总详情接口*/
+  minutesSummaryDetail: (params) => {
+    return getHttp("/report/minutesSummary/detailv4", params);
+  },
+  /* 获取报告详情接口 /  路演精华*/
+  roadshowEssence: (params) => {
+    return getHttp("/report/roadshowEssence/detail", params);
+  },
+  /* 报告榜单table栏*/
+  getHotTableList: (params) => {
+    return getHttp("/report_billboard/table/list", params);
+  },
+  /* 获取产业关注榜接口*/
+  getIndustryFllowList: (params) => {
+    return getHttp("/report_billboard/industry/fllowList", params);
+  },
+  /* 获取阅读飙升榜/报告收藏榜接口 */
+  getIndustryReadList: (params) => {
+    return getHttp("/report_billboard/industry/readList", params);
+  },
+  /* 产业报告公司列表 */
+  getHomeStockName: (params) => {
+    return getHttp("/report/home/stockName", params);
+  },
+  /* 季度关注 */
+  getChartQuarter: (params) => {
+    return getHttp("/chart/jidu", params);
+  },
+  /* 新增音频放记录 报告 */
+  reportVoiceHistoryAdd: (params) => {
+    return postHttp("/report/voiceHistory/add", params);
+  },
+};

+ 4 - 0
config/modules/User.js

@@ -78,4 +78,8 @@ export const User = {
   getListMicroRoadshow: (params) => {
     return getHttp("/micro_roadshow/mycollect", params);
   },
+  // 埋点
+  getUserTracking: (params) => {
+    return getHttp("/user/tracking", params);
+  },
 };

+ 12 - 2
mixin/index.js

@@ -1,4 +1,4 @@
-import { FreeButton, Reports } from "@/config/api.js";
+import { FreeButton, Reports, User } from "@/config/api.js";
 export default {
   data() {
     return {
@@ -12,6 +12,10 @@ export default {
       },
       searchPlaceholderList: {},
       wholeShowListData: {}, //
+      PageRouter: {
+        report: "",
+        activity: "",
+      }, //页面进来的路径
     };
   },
   onShow() {
@@ -32,7 +36,6 @@ export default {
 
     // 判断手机号是不是弘则研究
     // this.userIsShowShare();
-    
   },
   methods: {
     //免费标签的隐现
@@ -51,5 +54,12 @@ export default {
         this.isHorzMobile = res.Data.IsShow;
       }
     },
+    // 埋点
+    async getRecordTracking(PageRouter, payload = {}) {
+      const res = await User.getUserTracking({
+        PageRouter,
+        ...payload,
+      });
+    },
   },
 };

+ 3 - 0
pageMy/applyInterview/applyInterview.vue

@@ -52,6 +52,9 @@ export default {
   onLoad() {
     this.getInterList();
   },
+  onShow() {
+    this.$store.commit("setRouterReport", "访谈申请");
+  },
   components: {
     freeCharge,
   },

+ 5 - 2
pageMy/browseHistory/browseHistory.vue

@@ -61,6 +61,9 @@ export default {
   onLoad() {
     this.gethistoryList();
   },
+  onShow() {
+    this.$store.commit("setRouterReport", "足迹");
+  },
   components: {
     freeCharge,
   },
@@ -100,13 +103,13 @@ export default {
         this.$store.dispatch("checkHandle", "/reportPages/IndustryReport/IndustryReport?id=" + val.IndustrialManagementId);
       } else {
         //严选
-        this.$store.dispatch("checkHandle", "/reportPages/researchTheme/researchTheme?id=" + val.IndustrialManagementId);
+        this.$store.dispatch("checkHandle", "/reportPages/researchTheme/researchTheme?id=" + val.IndustrialManagementId + "&pageRouter=足迹");
       }
     },
 
     // 收藏
     async collectClick(item) {
-      const res = await Report.collectRpt({ ArticleId: item.ArticleId });
+      const res = await Report.collectRpt({ ArticleId: item.ArticleId, PageRouter: this.$store.state.pageRouterReport });
       if (res.Ret === 200) {
         item.IsCollect = !item.IsCollect;
         item.IsCollect

+ 1 - 0
pageMy/chartPage/chartPage.vue

@@ -43,6 +43,7 @@ export default {
     async myChartDetail() {
       const res = await Chart.myChartDetail({
         ChartId: Number(this.id),
+        PageRouter: this.$store.state.pageRouterReport,
       });
       if (res.Ret === 200) {
         this.chartData = res.Data;

+ 3 - 1
pageMy/myCollection/myCollection.vue

@@ -173,12 +173,12 @@ export default {
       this.getCollectList();
     },
 
-
     // 微路演收藏
     async isCollectionHandeler(item) {
       const res = await Home.microRoadshowCollect({
         Id: item.Id,
         SourceType: item.Type,
+        PageRouter: this.$store.state.pageRouterReport,
       });
       if (res.Ret === 200) {
         let index = this.collectList.findIndex((key) => key.Id == item.Id);
@@ -205,6 +205,7 @@ export default {
   },
   onShow() {
     this.$store.commit("audioBg/parseIntAudio", true);
+    this.$store.commit("setRouterReport", "收藏");
   },
   onHide() {
     this.$store.commit("audioBg/parseIntAudio", false);
@@ -232,6 +233,7 @@ export default {
       let video_id = item.Type == 2 || item.Type == 3 ? item.Id : "";
       let activity_id = item.Type == 2 && item.ActivityId > 0 ? item.ActivityId : "";
       let title_share = item.AudioTitle || item.Title;
+      this.getRecordTracking("我的收藏转发", { ActivityId: item.ActivityId, Id: item.Id, Type: item.Type });
       return {
         title: this.isHorzMobile ? "好友向您推荐此内容,上传名片享查研观向免费月卡!" : title_share,
         path: "/pages/material/material?topTabsActive=4" + "&audioShareId=" + audio_id + "&videoShareId=" + video_id + "&activityId=" + activity_id,

+ 2 - 0
pageMy/myLeavingMessage/myLeavingMessage.vue

@@ -44,6 +44,8 @@ export default {
 
     // 去往详情
     goDetail(item) {
+      this.$store.commit("setRouterActivity", "我的留言");
+      this.$store.commit("setRouterReport", "我的留言");
       if (item.RedirectType == 1) {
         uni.navigateTo({
           url: "/pageMy/reportDetail/reportDetail?id=" + item.ArticleId,

+ 10 - 7
pageMy/myPage/myPage.vue

@@ -2,7 +2,7 @@
   <view class="container my-container" v-if="haveData">
     <view class="top-content-box">
       <view class="nav-bar-wrap" :style="{ height: navBarStyle.height, paddingTop: navBarStyle.paddingTop, paddingBottom: navBarStyle.paddingBottom }">
-      <van-icon custom-class="search-icon" name="arrow-left" size="24px" @click="goBack" />
+        <van-icon custom-class="search-icon" name="arrow-left" size="24px" @click="goBack" />
       </view>
     </view>
     <view class="my-background">
@@ -119,7 +119,7 @@ export default {
     }
   },
   methods: {
-        //获取胶囊位置
+    //获取胶囊位置
     initNavBar() {
       let menuButtonInfo = uni.getMenuButtonBoundingClientRect();
       this.navBarStyle = {
@@ -134,6 +134,7 @@ export default {
     },
     //点击了头像
     onChooseAvatar(e) {
+      this.getRecordTracking("头像");
       let token = this.$db.get("access_token");
       let authHeader = token || "";
       let that = this;
@@ -207,6 +208,8 @@ export default {
     },
     /* 路径跳转 */
     itemClickHandle(type) {
+      let istype = type === "关注公众号" || type === "优化建议" || type === "外呼号码" ? type : "";
+      istype && this.getRecordTracking("istype");
       /* 是否登录 */
       if (this.isLogin) {
         switch (type) {
@@ -256,9 +259,9 @@ export default {
       }
     },
   },
-  onLoad(){
-    this.initNavBar()
-  }
+  onLoad() {
+    this.initNavBar();
+  },
 };
 </script>
 
@@ -266,7 +269,7 @@ export default {
 .my-container {
   background: #f9f9f9;
   position: relative;
-    .top-content-box {
+  .top-content-box {
     position: sticky;
     top: 0;
     left: 0;
@@ -279,7 +282,7 @@ export default {
     display: flex;
     align-items: center;
     position: relative;
-     .search-icon {
+    .search-icon {
       position: absolute;
       left: 34rpx;
       top: 50%;

+ 3 - 0
pageMy/mySchedulepage/mySchedulepage.vue

@@ -206,6 +206,7 @@ export default {
 
     //查看行程的事件
     lookImg(item) {
+      this.getRecordTracking(this.$store.state.pageRouterActivity, { ActivityId: item.ActivityId, Source: "查看行程" });
       uni.previewImage({
         urls: [item.TripImgLink], //查看图片的数组
       });
@@ -226,6 +227,7 @@ export default {
           if (res.confirm) {
             const res = await activity.activityApecialCancel({
               ActivityId: item.ActivityId,
+              PageRouter: this.$store.state.pageRouterActivity,
             });
             if (res.Ret === 200) {
               uni.showToast({
@@ -241,6 +243,7 @@ export default {
   },
   //load
   onLoad(option) {
+    this.$store.commit("setRouterActivity", "我的日程");
     this.getActivityList();
   },
   async onShow() {

+ 17 - 14
pageMy/reportDetail/reportDetail.vue

@@ -73,9 +73,11 @@ export default {
     /* 获取详情 */
     getDetail() {
       Report.reportDtl({
-        ArticleId: Number(this.id),
+        ArticleId: this.id,
+        PageRouter: this.$store.state.pageRouterReport,
       }).then((res) => {
         if (res.Ret === 200) {
+          this.$store.commit("setRouterReport", "报告详情");
           uni.setNavigationBarTitle({
             title: res.Data.Detail.IsSummary == 1 ? "纪要详情" : "报告详情",
           });
@@ -94,7 +96,7 @@ export default {
             }
             this.reportInfo = res.Data.Detail;
             this.access_token = this.access_token || this.$db.get("access_token");
-            this.$store.dispatch("statistics", { PageType: "ReportParticulars", DetailId: this.id });
+            this.$store.dispatch("statistics", { PageType: "ReportParticulars", DetailId: this.id + "" });
           }
         }
       });
@@ -107,7 +109,7 @@ export default {
         ? User.applyTry({
             ApplyMethod: 3,
             TryType: "Article",
-            DetailId: Number(this.id),
+            DetailId: this.id,
           }).then((res) => {
             if (res.Ret === 200) {
               uni.navigateTo({
@@ -132,7 +134,7 @@ export default {
     sellerApplyAuth() {
       User.applyTry({
         TryType: "Article",
-        DetailId: Number(this.id),
+        DetailId: this.id,
       }).then((res) => {
         if (res.Ret === 200) {
           uni.showModal({
@@ -199,7 +201,7 @@ export default {
     /* 访谈接口 */
     interviewApi() {
       Report.applyRpt({
-        ArticleId: Number(this.id),
+        ArticleId: this.id,
       }).then((res) => {
         this.reportInfo.IsInterviewApply = !this.reportInfo.IsInterviewApply;
       });
@@ -208,7 +210,8 @@ export default {
     /* 收藏 */
     collectHandle() {
       Report.collectRpt({
-        ArticleId: Number(this.id),
+        ArticleId: this.id,
+        PageRouter: this.$store.state.pageRouterReport,
       }).then((res) => {
         this.reportInfo.IsCollect = !this.reportInfo.IsCollect;
         this.$util.toast(res.Msg);
@@ -250,15 +253,15 @@ export default {
     let page = getCurrentPages(); //查看路径
     if (page.length === 1) {
       await this.$store.dispatch("checkHandle");
-      if (!this.$store.state.isAuth && !this.$store.state.isBind) this.getDetail();
+      if (!this.$store.state.isAuth && !this.$store.state.isBind && this.id > 0) this.getDetail();
     } else {
       // 跳转入口
-      this.getDetail();
+      this.id > 0 && this.getDetail();
     }
   },
   onLoad(option) {
-    this.id = option.id ? option.id : "";
-    if (!this.id && !+this.id > 0) {
+    this.id = option.id ? +option.id : "";
+    if (!this.id && !this.id > 0) {
       this.errorDetails();
     }
 
@@ -280,10 +283,10 @@ export default {
   },
   onHide() {
     //页面退出
-    if (this.id && +this.id > 0) {
+    if (this.id && this.id > 0) {
       clearInterval(this.setIntervalTiem);
       Reports.addStopTime({
-        ArticleId: Number(this.id),
+        ArticleId: this.id,
         StopTime: this.readTiem,
         OutType: 2,
         Source: "MOBILE",
@@ -291,11 +294,11 @@ export default {
     }
   },
   onUnload() {
-    if (this.id && +this.id > 0) {
+    if (this.id && this.id > 0) {
       //页面返回
       clearInterval(this.setIntervalTiem);
       Reports.addStopTime({
-        ArticleId: Number(this.id),
+        ArticleId: this.id,
         StopTime: this.readTiem,
         OutType: 1,
         Source: "MOBILE",

+ 18 - 16
pageMy/reportPage/reportPage.vue

@@ -96,7 +96,8 @@ export default {
     /* 获取详情 */
     getDetail() {
       Report.reportDtl({
-        ArticleId: Number(this.id),
+        ArticleId: this.id,
+        PageRouter: this.$store.state.pageRouterReport,
       }).then((res) => {
         if (res.Ret === 200) {
           uni.setNavigationBarTitle({
@@ -115,7 +116,7 @@ export default {
             this.linkurl = encodeURIComponent(res.Data.Detail.HttpUrl);
             this.fileLink = res.Data.Detail.FileLink;
             this.access_token = this.access_token || this.$db.get("access_token");
-            this.$store.dispatch("statistics", { PageType: "ReportParticulars", DetailId: this.id });
+            this.$store.dispatch("statistics", { PageType: "ReportParticulars", DetailId: this.id + "" });
           }
         }
       });
@@ -127,7 +128,7 @@ export default {
         ? User.applyTry({
             ApplyMethod: 3,
             TryType: "Article",
-            DetailId: Number(this.id),
+            DetailId: this.id,
           }).then((res) => {
             if (res.Ret === 200) {
               uni.navigateTo({
@@ -151,7 +152,7 @@ export default {
     sellerApplyAuth() {
       User.applyTry({
         TryType: "Article",
-        DetailId: Number(this.id),
+        DetailId: this.id,
       }).then((res) => {
         if (res.Ret === 200) {
           uni.showModal({
@@ -212,7 +213,7 @@ export default {
     /* 访谈接口 */
     interviewApi() {
       Report.applyRpt({
-        ArticleId: Number(this.id),
+        ArticleId: this.id,
       }).then((res) => {
         this.isInterviewApply = !this.isInterviewApply;
       });
@@ -220,7 +221,8 @@ export default {
     /* 收藏 */
     collectHandle() {
       Report.collectRpt({
-        ArticleId: Number(this.id),
+        ArticleId: this.id,
+        PageRouter: this.$store.state.pageRouterReport,
       }).then((res) => {
         this.isCollection = !this.isCollection;
         this.$util.toast(res.Msg);
@@ -246,7 +248,7 @@ export default {
     },
     async downloadFile() {
       const res = await Report.articlePdfwatermark({
-        ArticleId: Number(this.id),
+        ArticleId: this.id,
       });
       if (res.Ret === 200) {
         uni.navigateTo({
@@ -255,7 +257,7 @@ export default {
       }
     },
     btnSearch() {
-      uni.navigateTo({ url: "/pages-search/indedxSearch/indedxSearch" });
+      uni.navigateTo({ url: "/pages-search/indedxSearch/indedxSearch?source=报告详情页面" });
     },
     //跳转到免费送月卡页面
     toggle() {
@@ -281,15 +283,15 @@ export default {
     let page = getCurrentPages(); //查看路径
     if (page.length === 1) {
       await this.$store.dispatch("checkHandle");
-      if (!this.$store.state.isAuth && !this.$store.state.isBind) this.getDetail();
+      if (!this.$store.state.isAuth && !this.$store.state.isBind && this.id > 0) this.getDetail();
     } else {
       // 跳转入口
-      this.getDetail();
+      this.id > 0 && this.getDetail();
     }
   },
   onLoad(option) {
-    this.id = option.id ? option.id : "";
-    if (!this.id && !+this.id > 0) {
+    this.id = option.id ? +option.id : "";
+    if (!this.id && !this.id > 0) {
       this.errorDetails();
     }
   },
@@ -308,10 +310,10 @@ export default {
   },
   onHide() {
     //页面退出
-    if (this.id && +this.id > 0) {
+    if (this.id && this.id > 0) {
       clearInterval(this.setIntervalTiem);
       Reports.addStopTime({
-        ArticleId: Number(this.id),
+        ArticleId: this.id,
         StopTime: this.readTiem,
         OutType: 2,
         Source: "MOBILE",
@@ -319,11 +321,11 @@ export default {
     }
   },
   onUnload() {
-    if (this.id && +this.id > 0) {
+    if (this.id && this.id > 0) {
       //页面返回
       clearInterval(this.setIntervalTiem);
       Reports.addStopTime({
-        ArticleId: Number(this.id),
+        ArticleId: this.id,
         StopTime: this.readTiem,
         OutType: 1,
         Source: "MOBILE",

+ 1 - 0
pages-search/components/activityBack.vue

@@ -214,6 +214,7 @@ export default {
   methods: {
     //查看行程的事件
     lookImg(item) {
+      this.getRecordTracking(this.$store.state.pageRouterActivity, { ActivityId: item.ActivityId, Source: "查看行程" });
       uni.previewImage({
         urls: [item.TripImgLink], //查看图片的数组
       });

+ 84 - 36
pages-search/components/report.vue

@@ -9,18 +9,22 @@
         <text style="height: 1rpx; background: #ececec"></text>
         <view class="list-ui" v-for="item in reportPageData.ListHzResource" :key="item.IndustrialManagementId" @click="themeDetails(item)">
           <view class="item-title">
-            <text>
+            <view style="display: flex; align-items: center">
+              <view class="industry-box-left" @click.stop="reportFllow(item.IndustrialManagementId, '弘则')">
+                <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/attention_act.png" v-if="item.IsFollw"></image>
+                <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/attention_icon.png" v-else></image>
+              </view>
               {{ item.IndustryName }}
-            </text>
+              <image class="hot-icon" v-if="item.IsHot" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/hot_report.png" mode=""></image>
+              <image v-if="item.IsNew" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/new_report.png" mode=""></image>
+            </view>
             <view class="publish">
-              {{ item.PublishDate }}更新
+              <text class="reg-hint" v-if="item.IsRed"></text>
+              {{ item.PublishDate }}
               <u-icon name="arrow-right" color="#BDBDBD" size="34"></u-icon>
             </view>
           </view>
           <view class="read-more">
-            <!--            <text class="text-box text_oneLine" v-for="val in item.IndustrialSubjectList" :key="val.IndustrialSubjectId">
-              {{ val.SubjectName }}
-            </text> -->
             <view class="industry-video-item" @click.stop="handelVideoPlay(item)" :style="{ 'background-image': 'url(' + item.IndustryVideo.BackgroundImg + ')' }" v-if="item.IndustryVideo">
               5min
               <br />
@@ -57,9 +61,15 @@
         <text style="height: 1rpx; background: #ececec"></text>
         <view class="list-ui" v-for="item in reportPageData.ListYxResource" :key="item.IndustrialManagementId" @click="themeDetails(item)">
           <view class="item-title">
-            <text>
+            <view style="display: flex; align-items: center">
+              <view class="industry-box-left" @click.stop="reportFllow(item.IndustrialManagementId, '研选')">
+                <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/attention_act.png" v-if="item.IsFollw"></image>
+                <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/attention_icon.png" v-else></image>
+              </view>
               {{ item.IndustryName }}
-            </text>
+              <image class="hot-icon" v-if="item.IsHot" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/hot_report.png" mode=""></image>
+              <image v-if="item.IsNew" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/new_report.png" mode=""></image>
+            </view>
             <view class="publish">
               {{ item.PublishDate }}更新
               <u-icon name="arrow-right" color="#BDBDBD" size="34"></u-icon>
@@ -69,30 +79,6 @@
             <text class="text-box text_oneLine" v-for="val in item.IndustrialSubjectList" :key="val.IndustrialSubjectId">
               {{ val.SubjectName }}
             </text>
-            <!-- 			<view class="industry-video-item" @click.stop="handelVideoPlay(item)"
-			:style="{'background-image':'url('+item.IndustryVideo.BackgroundImg+ ')'}" v-if="item.IndustryVideo">
-				5min
-				<br />
-				逻辑解析
-				<view class="industry-video-icon">
-					<image src="https://hzstatic.hzinsights.com/cygx/video-right-top-icon.svg"></image>
-				</view>
-			</view>
-			<view v-if="item.IndustryVideo" style="display: flex;flex-wrap: wrap;width: 420rpx;">
-				<view v-for="val in item.IndustrialSubjectList.slice(0,4)" :key="val.IndustrialSubjectId" class="text-box text_oneLine">
-					{{ val.SubjectName }}
-				</view>
-			</view>
-			<block v-if="item.IndustryVideo && item.IndustrialSubjectList.length>4">
-				<view v-for="val in item.IndustrialSubjectList.slice(4)" :key="val.IndustrialSubjectId" class="text-box text_oneLine">
-					{{ val.SubjectName }}
-				</view>
-			</block>
-			<block v-if="!item.IndustryVideo">
-				<view v-for="val in item.IndustrialSubjectList" :key="val.IndustrialSubjectId" class="text-box text_oneLine">
-					{{ val.SubjectName }}
-				</view>
-			</block> -->
           </view>
         </view>
       </block>
@@ -169,7 +155,7 @@
 </template>
 
 <script>
-import { Report } from "@/config/api";
+import { Report, Reports } from "@/config/api";
 import videoModule from "@/components/videoModule/index";
 import modalDialog from "@/components/modalDialog.vue";
 export default {
@@ -217,7 +203,7 @@ export default {
     },
     //收藏
     async collectClick(item) {
-      const res = await Report.collectRpt({ ArticleId: item.ArticleId });
+      const res = await Report.collectRpt({ ArticleId: item.ArticleId, PageRouter: this.$store.state.pageRouterReport });
       if (res.Ret === 200) {
         item.IsCollect = !item.IsCollect;
         item.IsCollect
@@ -236,6 +222,39 @@ export default {
           });
       }
     },
+    //点击关注的图标
+    reportFllow(id, type) {
+      if (!this.$store.state.isAuth && !this.$store.state.isBind) {
+        Reports.reportFllow({
+          IndustrialManagementId: id,
+          PageRouter: "搜索关注",
+        }).then((res) => {
+          if (res.Ret === 200) {
+            if (res.Data.Status == 1) {
+              this.goFollowShow = true;
+              this.confirmText = res.Data.GoFollow ? "去关注" : "知道了";
+              if (res.Data.GoFollow) {
+                this.accounts = `产业关注成功 <br> 想要及时获取该产业内容的更新推送,请关注【查研观向小助手】公众号`;
+                this.isCancelBtn = true;
+              } else {
+                this.accounts = "产业关注成功<br>请关注【查研观向小助手】公众号,及时获取产业报告更新提醒";
+              }
+            }
+            this.$emit("updateFllow", id, type);
+          }
+        });
+      } else if (this.$store.state.isAuth) {
+        //未授权
+        uni.navigateTo({
+          url: "/pageMy/authGuide/authGuide",
+        });
+      } else if (!this.$store.state.isAuth && this.$store.state.isBind) {
+        //已授权未绑定
+        uni.navigateTo({
+          url: "/pageMy/login/login",
+        });
+      }
+    },
     //点击了去关注
     goFollowShowBtn() {
       if (this.confirmText == "去关注") {
@@ -304,10 +323,41 @@ export default {
       padding: 0 30rpx;
       background-color: #fff;
       .publish {
+        position: relative;
         display: flex;
         align-items: center;
         color: #999999;
         font-style: 26rpx;
+        padding-left: 30rpx;
+        .reg-hint {
+          position: absolute;
+          top: 50%;
+          left: 0rpx;
+          width: 14rpx;
+          height: 14rpx;
+          transform: translateY(-50%);
+          background-color: #ff0000;
+          border-radius: 50%;
+        }
+      }
+      image {
+        margin-left: 10rpx;
+        width: 60rpx;
+        height: 30rpx;
+      }
+
+      .hot-icon {
+        width: 30rpx;
+      }
+      .industry-box-left {
+        width: 50rpx;
+        display: flex;
+        align-items: center;
+        margin-right: 10rpx;
+        image {
+          width: 38rpx;
+          height: 34rpx;
+        }
       }
     }
     .read-more {
@@ -318,9 +368,7 @@ export default {
       .industry-video-item {
         height: 126rpx;
         width: 170rpx;
-        // width: 216rpx;
         margin: 0 40rpx 30rpx 0;
-        // margin: 0 15rpx 30rpx 0;
         border-radius: 8rpx;
         background-size: cover;
         background-position: center;

+ 1 - 0
pages-search/components/roadshow.vue

@@ -35,6 +35,7 @@ export default {
       const res = await Home.microRoadshowCollect({
         Id: item.Id,
         SourceType: item.Type,
+        PageRouter: this.$store.state.pageRouterReport
       });
       if (res.Ret === 200) {
         let index = this.roadshowPageList.findIndex((key) => key.Id == item.Id);

+ 26 - 2
pages-search/indedxSearch/indedxSearch.vue

@@ -79,7 +79,7 @@
               <view class="more-rivet" @click="tabsActiveMore(3)"> 更多 <u-icon name="arrow-right" color="#3385FF" size="28"></u-icon> </view>
             </view>
           </view>
-          <reportPage :reportPageData="reportPageData" id="container-report-page" v-if="Object.keys(reportPageData).length && (tabsActive == 3 || tabsActive == 1)" />
+          <reportPage @updateFllow="updateFllow" :reportPageData="reportPageData" id="container-report-page" v-if="Object.keys(reportPageData).length && (tabsActive == 3 || tabsActive == 1)" />
           <view class="more-activity more-box" v-if="tabsActive === 1 && haveResultActivity">
             <text class="more-text"> 活动 </text>
             <view>
@@ -397,9 +397,11 @@ export default {
     },
     /* 历史搜索清空 */
     clearHistory() {
+      this.getRecordTracking("清空搜索历史");
       this.historySearchList = [];
       this.$db.del("historySearchList");
     },
+    // 数据 初始化
     getListInit() {
       uni.pageScrollTo({
         scrollTop: 0,
@@ -417,6 +419,7 @@ export default {
       this.reportPageData = {};
       this.roadshowPageList = [];
     },
+    // 进入页面 load的事件
     laodInit(options) {
       if (Object.keys(options).length && options.searchTxt) {
         this.searchTxt = options.searchTxt;
@@ -426,8 +429,26 @@ export default {
         this.searchTxt && this.getDataList();
       }
     },
+    // 报告、资源包的关注 改变状态
+    updateFllow(id, type) {
+      let typeName = type == "弘则" ? "ListHzResource" : "ListYxResource";
+
+      this.reportPageData[typeName].forEach((key) => {
+        if (key.IndustrialManagementId == id) {
+          if (key.IsFollw) {
+            uni.showToast({
+              title: "已取消关注",
+              icon: "none",
+              duration: 2000,
+            });
+          }
+          key.IsFollw = !key.IsFollw;
+        }
+      });
+    },
   },
   onLoad(options) {
+    this.getRecordTracking("搜索入口:" + options.source);
     this.researchHotKeyWord();
     this.laodInit(options);
     if (this.$db.get("historySearchList")) {
@@ -435,6 +456,8 @@ export default {
     }
   },
   onShow() {
+    this.$store.commit("setRouterActivity", "搜索");
+    this.$store.commit("setRouterReport", "搜索");
     this.$store.dispatch("checkHandle");
   },
   /* 下拉刷新 */
@@ -445,7 +468,7 @@ export default {
   }),
   // 上拉加载this.resultList
   onReachBottom: Throttle(function () {
-    if (this.tabsActive == 1) return;
+    if (this.tabsActive == 1 || this.tabsActive == 3) return;
     if (this.status === "nomore") return;
     this.status = "loading";
     this.pageNum++;
@@ -460,6 +483,7 @@ export default {
       let video_id = item.Type == 2 || item.Type == 3 ? item.Id : "";
       let activity_id = item.Type == 2 && item.ActivityId > 0 ? item.ActivityId : "";
       let title_share = item.AudioTitle || item.Title;
+      this.getRecordTracking("搜索转发", { ActivityId: item.ActivityId, Id: item.Id, Type: item.Type });
       return {
         title: this.isHorzMobile ? "好友向您推荐此内容,上传名片享查研观向免费月卡!" : title_share,
         path: "/pages/material/material?topTabsActive=4" + "&audioShareId=" + audio_id + "&videoShareId=" + video_id + "&activityId=" + activity_id,

+ 4 - 1
pages/activity/activity.vue

@@ -311,7 +311,7 @@ export default {
     },
     //去往搜索事件
     goSearch() {
-      this.$store.dispatch("checkHandle", "/pages-search/indedxSearch/indedxSearch");
+      this.$store.dispatch("checkHandle", "/pages-search/indedxSearch/indedxSearch?source=活动页面");
     },
     //去往 活动回放activityPlayBack
     activityPlayBack() {
@@ -333,7 +333,10 @@ export default {
     this.initNavBar();
   },
   async onShow() {
+    this.$store.commit("setRouterReport", "活动");
+    this.$store.commit("setRouterActivity", "活动");
     await this.$store.dispatch("checkHandle", "noGO");
+    this.getRecordTracking("活动");
   },
   /** 用户点击分享 */
   onShareAppMessage: function (res) {

+ 9 - 2
pages/index/index.vue

@@ -120,6 +120,7 @@ export default {
       const res = await Home.microRoadshowCollect({
         Id: item.Id,
         SourceType: item.Type,
+        PageRouter: this.$store.state.pageRouterReport
       });
       if (res.Ret === 200) {
         let index = this.newDataList.findIndex((key) => key.Roadshow && key.Roadshow.Id == item.Id);
@@ -144,7 +145,7 @@ export default {
     },
     /* 搜索 */
     goSearch() {
-      this.$store.dispatch("checkHandle", "/pages-search/indedxSearch/indedxSearch?isType=" + this.topTabsActive);
+      this.$store.dispatch("checkHandle", "/pages-search/indedxSearch/indedxSearch?isType=" + this.topTabsActive + "&source=首页页面");
     },
     async getUserInfo() {
       const res = await Mine.getInfo();
@@ -159,10 +160,15 @@ export default {
     });
   },
   onLoad() {
-    this.getUserInfo();
     this.initNavBar();
     this.getNewList();
   },
+  onShow() {
+    this.getUserInfo();
+    this.getRecordTracking("首页");
+    this.$store.commit("setRouterActivity", "首页");
+    this.$store.commit("setRouterReport", "首页");
+  },
   // 加载数据
   onReachBottom() {
     if (this.status === "nomore" || this.newDataList.length < 8) return;
@@ -185,6 +191,7 @@ export default {
       let video_id = item.Type == 2 || item.Type == 3 ? item.Id : "";
       let activity_id = item.Type == 2 && item.ActivityId > 0 ? item.ActivityId : "";
       let title_share = item.AudioTitle || item.Title;
+      this.getRecordTracking("首页转发", { ActivityId: item.ActivityId, Id: item.Id, Type: item.Type });
       return {
         title: this.isHorzMobile ? "好友向您推荐此内容,上传名片享查研观向免费月卡!" : title_share,
         path: "/pages/material/material?topTabsActive=4" + "&audioShareId=" + audio_id + "&videoShareId=" + video_id + "&activityId=" + activity_id,

+ 8 - 1
pages/material/material.vue

@@ -165,6 +165,9 @@ export default {
     this.$store.dispatch("checkHandle", "noGO");
   },
   onShow() {
+    this.getRecordTracking("纪要库");
+    this.$store.commit("setRouterActivity", "纪要库");
+    this.$store.commit("setRouterReport", "纪要库");
     //进入页面的记录
     this.$store.dispatch("statistics", { PageType: "Activit" });
     // #ifdef MP-WEIXIN
@@ -217,9 +220,11 @@ export default {
       } else {
         this.initData();
       }
+      this.$store.commit("setRouterReport", item.Id === 3 ? "我的收藏" : "纪要库");
     },
     //点击顶部二级分类
     handleClickTopSub(item) {
+      this.$store.commit("setRouterReport", item.PermissionName === "我的收藏" ? "我的收藏" : "纪要库");
       this.secondActive = item.ChartPermissionId;
       this.chartChildren = [];
       this.chartChildrenActive = 0;
@@ -432,7 +437,7 @@ export default {
     },
     /* 搜索 */
     goSearch() {
-      this.$store.dispatch("checkHandle", "/pages-search/indedxSearch/indedxSearch?isType=" + this.topTabsActive);
+      this.$store.dispatch("checkHandle", "/pages-search/indedxSearch/indedxSearch?isType=" + this.topTabsActive + "&source=纪要库页面");
     },
     /* 绑定联系方式 */
     bindingMobile() {
@@ -452,6 +457,7 @@ export default {
       const res = await Home.microRoadshowCollect({
         Id: item.Id,
         SourceType: item.Type,
+        PageRouter: this.$store.state.pageRouterReport
       });
       if (res.Ret === 200) {
         let index = this.roadshowPageList.findIndex((key) => key.Id == item.Id);
@@ -499,6 +505,7 @@ export default {
       let video_id = item.Type == 2 || item.Type == 3 ? item.Id : "";
       let activity_id = item.Type == 2 && item.ActivityId > 0 ? item.ActivityId : "";
       let title_share = item.AudioTitle || item.Title;
+      this.getRecordTracking("微路演转发", { ActivityId: item.ActivityId, Id: item.Id, Type: item.Type });
       return {
         title: this.isHorzMobile ? "好友向您推荐此内容,上传名片享查研观向免费月卡!" : title_share,
         path: "/pages/material/material?topTabsActive=4" + "&audioShareId=" + audio_id + "&videoShareId=" + video_id + "&activityId=" + activity_id,

+ 18 - 10
pages/purchaser/purchaser.vue

@@ -24,7 +24,7 @@
       </view>
       <view class="theme-content">
         <view class="theme-ul" v-for="item in themeNewList" :key="item.IndustrialManagementId">
-          <text class="text_oneLine" @click="themeDetails(item)"> # {{ item.IndustryName }}</text>
+          <text class="text_oneLine" @click="themeDetails(item, '近期主题更新')"> # {{ item.IndustryName }}</text>
           <image v-if="item.IsHot" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/hot_report.png"></image>
         </view>
       </view>
@@ -48,7 +48,7 @@
             </text>
             <view>
               <text @click="goDetail(item)" style="display: inline">{{ item.Title }}</text>
-              <text class="li-industry" @click="themeDetails(item)"> # {{ item.IndustryName }} </text>
+              <text class="li-industry" @click="themeDetails(item, '月度收藏榜')"> # {{ item.IndustryName }} </text>
             </view>
           </view>
           <view class="li-item li-bottom" style="color: #999999">
@@ -75,7 +75,7 @@
       <view class="content-ul" v-if="hotList.length && tagActive == '主题'">
         <view class="hot-li" v-for="(item, index) in hotList" :key="item.IndustrialManagementId">
           <view class="li-item hot-item">
-            <view style="display: flex" class="text_oneLine hot-new" @click="themeDetails(item)">
+            <view style="display: flex" class="text_oneLine hot-new" @click="themeDetails(item, '主题热度榜')">
               <text class="li-serial serial-number" :style="{ background: serialBackground(index) }">
                 {{ index + 1 }}
               </text>
@@ -84,7 +84,7 @@
             </view>
             <text :class="item.IsFollw ? 'cancel-attention' : 'attention'" @click="isAttention(item, '主题')">{{ item.IsFollw ? "取消关注" : "+ 关注" }}</text>
           </view>
-          <view class="li-item read-more" @click="themeDetails(item)">
+          <view class="li-item read-more" @click="themeDetails(item, '主题热度榜')">
             <text class="text-box text_oneLine" v-for="val in item.IndustrialSubjectList" :key="val.IndustrialSubjectId">
               {{ val.SubjectName }}
             </text>
@@ -104,7 +104,7 @@
               </text>
               <text :class="item.IsFollw ? 'cancel-attention' : 'attention'" @click="isAttention(item, '专家')">{{ item.IsFollw ? "取消关注" : "+ 关注" }}</text>
             </view>
-            <text @click="themeDetails(val)" class="kol-text text_oneLine" v-for="val in item.List" :key="val.IndustrialManagementId"> # {{ val.IndustryName }} </text>
+            <text @click="themeDetails(val, 'KOL榜')" class="kol-text text_oneLine" v-for="val in item.List" :key="val.IndustrialManagementId"> # {{ val.IndustryName }} </text>
           </view>
         </view>
       </view>
@@ -223,7 +223,10 @@ export default {
     },
     //关注
     async isAttention(item, val) {
-      const res = val === "主题" ? await Reports.reportFllow({ IndustrialManagementId: item.IndustrialManagementId }) : await Reports.reportFllowDepartment({ DepartmentId: item.DepartmentId });
+      const res =
+        val === "主题"
+          ? await Reports.reportFllow({ IndustrialManagementId: item.IndustrialManagementId, PageRouter: this.$store.state.pageRouterReport })
+          : await Reports.reportFllowDepartment({ DepartmentId: item.DepartmentId, PageRouter: this.$store.state.pageRouterReport });
       if (res.Ret === 200) {
         item.IsFollw = !item.IsFollw;
         if (res.Data.Status == 1) {
@@ -261,7 +264,7 @@ export default {
     },
     //收藏
     async collectClick(item) {
-      const res = await Report.collectRpt({ ArticleId: item.ArticleId });
+      const res = await Report.collectRpt({ ArticleId: item.ArticleId, PageRouter: '月度收藏榜' });
       if (res.Ret === 200) {
         item.IsCollect = !item.IsCollect;
         item.IsCollect
@@ -288,11 +291,12 @@ export default {
     },
     //去往文章详情页面
     goDetail(item) {
+       this.$store.commit("setRouterReport", "月度收藏榜");
       this.$store.dispatch("checkHandle", "/pageMy/reportDetail/reportDetail?id=" + item.ArticleId);
     },
     //去往主题详情
-    themeDetails(item) {
-      this.$store.dispatch("checkHandle", "/reportPages/researchTheme/researchTheme?id=" + item.IndustrialManagementId);
+    themeDetails(item, source) {
+      this.$store.dispatch("checkHandle", "/reportPages/researchTheme/researchTheme?id=" + item.IndustrialManagementId + "&pageRouter=" + source);
     },
     //计算遍历的颜色
     serialBackground(index) {
@@ -301,13 +305,17 @@ export default {
     },
     /* 搜索 */
     async goSearch() {
-      await this.$store.dispatch("checkHandle", "/pages-search/indedxSearch/indedxSearch?id=研选");
+      await this.$store.dispatch("checkHandle", "/pages-search/indedxSearch/indedxSearch?id=研选" + "&source=买方研选页面");
     },
   },
   onLoad() {
     this.researchNewList();
     this.initNavBar();
   },
+  onShow() {
+    this.$store.commit("setRouterReport", "买方研选");
+    this.getRecordTracking("买方研选");
+  },
   /* 下拉刷新 */
   onPullDownRefresh: Throttle(function () {
     wx.stopPullDownRefresh();

+ 1 - 0
pages/reportForm/components/strategy.vue

@@ -136,6 +136,7 @@ export default {
         this.$emit("hideIsred", this.isShow);
       }
       this.collectList[index].IsRed = false;
+      this.$store.commit("setRouterReport", "深度研究策略");
       this.$store.dispatch("checkHandle", "/pageMy/reportDetail/reportDetail?id=" + item.ArticleId);
     },
   },

+ 6 - 1
pages/reportForm/reportForm.vue

@@ -338,6 +338,7 @@ export default {
     },
     //跳转产业报告
     async goIndustryReport(id) {
+      this.$store.commit("setRouterReport", "产业列表");
       await this.$store.dispatch("checkHandle", "/reportPages/IndustryReport/IndustryReport?id=" + id);
     },
     //点击关注的图标
@@ -345,6 +346,7 @@ export default {
       if (!this.$store.state.isAuth && !this.$store.state.isBind) {
         Reports.reportFllow({
           IndustrialManagementId: id,
+          PageRouter: "细分产业列表",
         }).then((res) => {
           if (res.Ret === 200) {
             if (res.Data.Status == 1) {
@@ -398,7 +400,7 @@ export default {
     },
     /* 搜索 */
     async goSearch() {
-      await this.$store.dispatch("checkHandle", "/pages-search/indedxSearch/indedxSearch?id=报告");
+      await this.$store.dispatch("checkHandle", "/pages-search/indedxSearch/indedxSearch?id=报告" + "&source=深度研究页面");
     },
     /* 初始 */
     initList() {
@@ -443,6 +445,7 @@ export default {
     },
     // 视频播放权限判断
     handelVideoPlay(item) {
+      this.$store.commit("setRouterReport", "产业列表");
       if (!this.$store.state.isAuth && !this.$store.state.isBind) {
         if (item.AuthInfo.HasPermission == 1) {
           this.playVideo(item);
@@ -491,6 +494,7 @@ export default {
 
     // 策略平台的 标签 点击事件
     strategyLabelHadel(item) {
+      this.$store.commit("setRouterReport", "综述链接");
       //去往文章详情页面
       this.$store.dispatch("checkHandle", "/pageMy/reportDetail/reportDetail?id=" + item.ArticleId);
     },
@@ -522,6 +526,7 @@ export default {
   }),
   onShow() {
     this.$store.dispatch("checkHandle", "noGO");
+    this.getRecordTracking("深度研究");
     if (this.tabAct_id) {
       this.$store.dispatch("statistics", {
         PageType: "Report",

+ 42 - 9
reportPages/IndustryReport/IndustryReport.vue

@@ -48,11 +48,15 @@
             <view class="line-item" v-for="(item, index) in timeLine" :key="index" @click="goDetailFromTimeLine(item, index)">
               <view class="time">{{ item.date }}</view>
               <view class="content" v-if="item.Content.length">
+                <text class="content-reg" v-if="item.IsRed"></text>
                 <rich-text class="rich-text" :style="{ height: item.isExpand ? 'auto' : richTextHeight + 'px' }" :data-index="index" :class="{ expand: item.isExpand }" :nodes="item.Content">
                 </rich-text>
                 <view class="expan-btn" :class="{ pos: !item.isExpand }" @click="handleExpand(item, index)" v-if="item.isShowBtn">{{ item.isExpand ? "收起" : "展开" }}</view>
               </view>
-              <view class="title" v-else>{{ item.Title }}</view>
+              <view class="title" v-else>
+                <text class="content-reg" v-if="item.IsRed"></text>
+                {{ item.Title }}</view
+              >
             </view>
             <view v-show="loadTimeLine" class="loadTimeLine"></view>
             <u-loadmore :status="status" icon-type="flower" :load-text="loadText" margin-top="20" v-if="totalPage > 1 && tabAct_id === 99999" />
@@ -134,9 +138,10 @@ export default {
   watch: {
     //监听tabs的变化
     tabAct_id: {
-      handler() {
-        if (this.tabAct_id) {
-          (this.page_no = 1), (this.collectList = []);
+      handler(newVal) {
+        if (newVal) {
+          this.page_no = 1;
+          this.collectList = [];
           this.getCollectList();
         }
       },
@@ -162,6 +167,7 @@ export default {
       Reports.toArticleCategoryList({
         IndustrialManagementId: this.industrialManagementId,
         ShowTimeLine: 1,
+        PageRouter: this.$store.state.pageRouterReport,
       }).then((res) => {
         if (res.Ret == 200) {
           uni.setNavigationBarTitle({
@@ -252,10 +258,6 @@ export default {
     },
     async goDetail(item, index) {
       /* 无需授权且已绑定 检验是或否有权限 */
-      if (index == 0) {
-        this.tabBars[this.toggleTabIndex].IsRed = false;
-      }
-      this.collectList[index].IsRed = false;
       await this.$store.dispatch("checkHandle");
       if (!this.$store.state.isAuth && !this.$store.state.isBind) {
         // 已授权已绑定
@@ -265,6 +267,7 @@ export default {
             url: "/reportPages/roadEssence/roadEssence?id=" + item.ArticleId,
           });
         } else {
+          this.setRouter();
           uni.navigateTo({
             url: "/pageMy/reportDetail/reportDetail?id=" + item.ArticleId,
           });
@@ -273,6 +276,7 @@ export default {
     },
     // 视频播放权限判断
     handelVideoPlay() {
+      this.$store.commit("setRouterReport", "资源包详情页");
       if (!this.$store.state.isAuth && !this.$store.state.isBind) {
         if (this.authInfo.HasPermission == 1) {
           this.playVideo();
@@ -310,10 +314,11 @@ export default {
     },
     //
     async handelVideoBindplay() {
-      const res = await Home.microAideoHistoryAdd({ VideoId: this.industryVideo.Id, SourceType: 1 });
+      const res = await Home.microAideoHistoryAdd({ VideoId: this.industryVideo.Id, SourceType: 1, PageRouter: this.$store.state.pageRouterReport });
     },
     //展开收起晨会内容
     handleExpand(item, index) {
+      this.getRecordTracking("展开收起", { Id: item.Id });
       item.isExpand = !item.isExpand;
       this.timeLine.splice(index, 1, item);
     },
@@ -352,6 +357,7 @@ export default {
             url: "/reportPages/roadEssence/roadEssence?id=" + item.Id,
           });
         } else {
+          this.setRouter();
           uni.navigateTo({
             url: "/pageMy/reportDetail/reportDetail?id=" + item.Id,
           });
@@ -361,6 +367,14 @@ export default {
     getNode(content, isExpand) {
       return `<div style='-webkit-line-clamp: ${isExpand ? 9999 : 3};-webkit-box-orient: vertical;display: -webkit-box;overflow: hidden;text-overflow: ellipsis;'>${content}</div>`;
     },
+    // 去往文章详情的
+    setRouter() {
+      this.tabBars.forEach((item) => {
+        if (this.tabAct_id == item.CategoryId) {
+          this.$store.commit("setRouterReport", item.MatchTypeName);
+        }
+      });
+    },
   },
   /* 触底 */
   onReachBottom: Throttle(function () {
@@ -650,9 +664,28 @@ export default {
               bottom: 0;
             }
           }
+          .content-reg {
+            position: absolute;
+            top: 10rpx;
+            left: -20rpx;
+            width: 14rpx;
+            height: 14rpx;
+            background-color: #ff0000;
+            border-radius: 50%;
+          }
         }
         .title {
+          position: relative;
           color: #3385ff;
+          .content-reg {
+            position: absolute;
+            top: 10rpx;
+            left: -20rpx;
+            width: 14rpx;
+            height: 14rpx;
+            background-color: #ff0000;
+            border-radius: 50%;
+          }
         }
       }
     }

+ 3 - 2
reportPages/authorPages/authorPages.vue

@@ -108,12 +108,12 @@ export default {
             duration: 2000,
           });
         }
-        uni.$emit('updateFllowAuthor',{isFollw:this.isFollw,id:this.list.DepartmentId})
+        uni.$emit("updateFllowAuthor", { isFollw: this.isFollw, id: this.list.DepartmentId });
       }
     },
     //收藏
     async collectClick(item) {
-      const res = await Report.collectRpt({ ArticleId: item.ArticleId });
+      const res = await Report.collectRpt({ ArticleId: item.ArticleId, PageRouter: this.$store.state.pageRouterReport });
       if (res.Ret === 200) {
         item.IsCollect = !item.IsCollect;
         item.IsCollect
@@ -143,6 +143,7 @@ export default {
     },
     //去往文章详情页面
     goDetail(item) {
+      this.$store.commit("setRouterReport", "作者详情");
       this.$store.dispatch("checkHandle", "/pageMy/reportDetail/reportDetail?id=" + item.ArticleId);
     },
     //去往主题详情

+ 7 - 2
reportPages/hotList/hotList.vue

@@ -116,7 +116,7 @@ export default {
       labelListData: [],
     };
   },
-  components: {modalDialog,videoModule},
+  components: { modalDialog, videoModule },
   methods: {
     /* 获取tab*/
     async getTabList() {
@@ -130,6 +130,7 @@ export default {
     /* 点击一级的tabs*/
     tabsHandler(item) {
       this.tabsActive = item.Source;
+      this.$store.commit("setRouterReport", item.Name);
       this.listInit();
       this.researchHotList();
     },
@@ -168,7 +169,10 @@ export default {
     },
     //关注
     async isAttention(item, val) {
-      const res = val === "主题" ? await Reports.reportFllow({ IndustrialManagementId: item.IndustrialManagementId }) : await Reports.reportFllowDepartment({ DepartmentId: item.DepartmentId });
+      const res =
+        val === "主题"
+          ? await Reports.reportFllow({ IndustrialManagementId: item.IndustrialManagementId, PageRouter: "榜单产业关注榜" })
+          : await Reports.reportFllowDepartment({ DepartmentId: item.DepartmentId });
       if (res.Ret === 200) {
         item.IsFollow = !item.IsFollow;
         if (res.Data.Status == 1) {
@@ -249,6 +253,7 @@ export default {
     },
   },
   onLoad() {
+    this.$store.commit("setRouterReport", '产业关注榜');
     this.getTabList();
   },
 };

+ 17 - 14
reportPages/industrialReport/industrialReport.vue

@@ -4,7 +4,8 @@
     <view class="collect-ul" v-if="haveData">
       <view class="collect-ltem" v-for="(item, index) in collectList" :key="index" @click="goDetail(item, index)">
         <view class="item-left">
-          <text class="title text_twoLine">{{ item.Title }}
+          <text class="title text_twoLine"
+            >{{ item.Title }}
             <text class="reg-text" v-if="item.IsRed"></text>
           </text>
           <view class="desc">
@@ -24,15 +25,15 @@
       <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/act_search.png" mode="" class="nodata_ico"></image>
       <text>暂时没有报告的内容</text>
     </view>
-   <freeCharge class="free-charge" :isShowFreeBtn="isShowFree"/>
+    <freeCharge class="free-charge" :isShowFreeBtn="isShowFree" />
   </view>
 </template>
 
 <script>
 import { Reports } from "@/config/api.js";
 import { Throttle } from "@/config/util.js";
-import freeCharge  from '@/components/freeCharge'
-let app = getApp({allowDefault: true});
+import freeCharge from "@/components/freeCharge";
+let app = getApp({ allowDefault: true });
 export default {
   data() {
     return {
@@ -57,14 +58,16 @@ export default {
     };
   },
   onLoad(option) {
-        this.categoryId = Number(option.id) || "";
-        this.idGenre = Number(option.idGenre) || "";
-        this.articleId = Number(option.idArticle) || "";
-        this.typeIsPost = option.type || "";
-        this.genreIs = option.isGenre || "";
-        this.getCollectList();
+    this.categoryId = Number(option.id) || "";
+    this.idGenre = Number(option.idGenre) || "";
+    this.articleId = Number(option.idArticle) || "";
+    this.typeIsPost = option.type || "";
+    this.genreIs = option.isGenre || "";
+    this.getCollectList();
+  },
+  onShow() {
+    this.$store.commit("setRouterReport", "行业综述");
   },
-  onShow() {},
   methods: {
     /* 获取列表 */
     async getCollectList() {
@@ -124,11 +127,11 @@ export default {
     goDetail(item, index) {
       /* 无需授权且已绑定 检验是或否有权限 */
       this.collectList[index].IsRed = false;
-      this.$store.dispatch("checkHandle","/pageMy/reportDetail/reportDetail?id=" + item.ArticleId)
+      this.$store.dispatch("checkHandle", "/pageMy/reportDetail/reportDetail?id=" + item.ArticleId);
     },
   },
   components: {
-    freeCharge
+    freeCharge,
   },
   /* 触底 */
   onReachBottom: Throttle(function () {
@@ -149,7 +152,7 @@ export default {
    */
   onShareAppMessage: function (res) {
     return {
-      title: this.isHorzMobile ? "好友向您推荐此内容,上传名片享查研观向免费月卡!" :  this.titleReport,
+      title: this.isHorzMobile ? "好友向您推荐此内容,上传名片享查研观向免费月卡!" : this.titleReport,
       path:
         "/reportPages/industrialReport/industrialReport?id=" + this.categoryId + "&type=" + this.typeIsPost + "&isGenre=" + this.genreIs + "&idGenre=" + this.idGenre + "&idArticle=" + this.articleId,
       success: (res) => {},

+ 3 - 0
reportPages/keyCompany/keyCompany.vue

@@ -113,6 +113,9 @@ export default {
   onLoad() {
     this.getList();
   },
+  onShow() {
+    this.$store.commit("setRouterReport", "重点公司");
+  },
   onReachBottom() {
     if (this.status === "nomore") return;
     this.status = "loading";

+ 2 - 0
reportPages/myAskPage/myAskPage.vue

@@ -55,6 +55,8 @@ export default {
     },
   },
   onLoad() {
+    this.$store.commit("setRouterActivity", "活动提问");
+    this.$store.commit("setRouterReport", "活动提问");
     this.getAsk();
   },
 };

+ 3 - 3
reportPages/recentPages/recentPages.vue

@@ -49,7 +49,7 @@ export default {
       accounts: "",
       page_no: 1,
       pageSize: 20,
-      permissionId:'',
+      permissionId: "",
       status: "loadmore",
       loadText: {
         loadmore: "上拉加载更多",
@@ -83,7 +83,7 @@ export default {
     },
     //关注
     async isAttention(item) {
-      const res = await Reports.reportFllow({ IndustrialManagementId: item.IndustrialManagementId });
+      const res = await Reports.reportFllow({ IndustrialManagementId: item.IndustrialManagementId, PageRouter: "近期更新主题" });
       if (res.Ret === 200) {
         item.IsFollw = !item.IsFollw;
         if (res.Data.Status == 1) {
@@ -120,7 +120,7 @@ export default {
     },
     //去往主题详情
     themeDetails(item) {
-      this.$store.dispatch("checkHandle", "/reportPages/researchTheme/researchTheme?id=" + item.IndustrialManagementId);
+      this.$store.dispatch("checkHandle", "/reportPages/researchTheme/researchTheme?id=" + item.IndustrialManagementId + "&pageRouter=近期主题更新");
     },
   },
   onLoad(options) {

+ 7 - 1
reportPages/reportSecretDetail/reportSecretDetail.vue

@@ -137,6 +137,7 @@ export default {
       ],
       showAudioBox: false,
       curTime: 0,
+      titleTxT: "",
     };
   },
   filters: {
@@ -180,13 +181,16 @@ export default {
         this.isType == 1
           ? await Reports.reportSelectionDetail({
               ArticleId: this.id,
+              PageRouter: this.$store.state.pageRouterReport,
             })
           : this.isType == 3
           ? await Reports.minutesSummaryDetail({
               ArticleId: this.id,
+              PageRouter: this.$store.state.pageRouterReport,
             })
           : await Reports.researchSummaryDetail({
               ArticleId: this.id,
+              PageRouter: this.$store.state.pageRouterReport,
             });
       if (res.Ret === 200) {
         this.hasPermission = res.Data.HasPermission;
@@ -299,8 +303,9 @@ export default {
   async onLoad(option) {
     this.isType = option.type;
     this.id = Number(option.id) || "";
+    this.titleTxT = this.isType == 1 ? "报告精选" : this.isType == 2 ? "本周研究汇总" : "上周纪要汇总";
     uni.setNavigationBarTitle({
-      title: this.isType == 1 ? "报告精选" : this.isType == 2 ? "本周研究汇总" : "上周纪要汇总",
+      title: this.titleTxT,
     });
     await this.$store.dispatch("checkHandle");
     if (!this.$store.state.isAuth && !this.$store.state.isBind) this.getDetilaiList();
@@ -310,6 +315,7 @@ export default {
   },
 
   onShow() {
+    this.$store.commit("setRouterReport", this.titleTxT);
     this.showAudioBox = true;
   },
   onHide() {

+ 9 - 5
reportPages/researchTheme/researchTheme.vue

@@ -69,8 +69,8 @@ export default {
     };
   },
   methods: {
-    async researchThemeDetail(id, source) {
-      const res = await Research.researchThemeDetail({ IndustrialManagementId: id, Source: source ? 2 : 1 });
+    async researchThemeDetail(id, source, PageRouter) {
+      const res = await Research.researchThemeDetail({ IndustrialManagementId: id, Source: source ? 2 : 1, PageRouter });
       if (res.Ret === 200) {
         this.themeList = res.Data || {};
         this.isFollw = res.Data.IsFollw;
@@ -78,7 +78,7 @@ export default {
     },
     //关注
     async isAttention(item) {
-      const res = await Reports.reportFllow({ IndustrialManagementId: this.themeList.IndustrialManagementId });
+      const res = await Reports.reportFllow({ IndustrialManagementId: this.themeList.IndustrialManagementId, PageRouter: "主题详情" });
       if (res.Ret === 200) {
         this.isFollw = !this.isFollw;
         if (res.Data.Status == 1) {
@@ -111,7 +111,7 @@ export default {
     },
     //收藏
     async collectClick(item) {
-      const res = await Report.collectRpt({ ArticleId: item.ArticleId });
+      const res = await Report.collectRpt({ ArticleId: item.ArticleId, PageRouter: this.$store.state.pageRouterReport });
       if (res.Ret === 200) {
         item.IsCollect = !item.IsCollect;
         item.IsCollect
@@ -150,7 +150,11 @@ export default {
   },
   onLoad(options) {
     let source = options.source || "";
-    this.researchThemeDetail(options.id, source);
+    let pageRouter = options.pageRouter || "";
+    this.researchThemeDetail(options.id, source, pageRouter);
+  },
+  onShow() {
+    this.$store.commit("setRouterReport", "主题详情");
   },
 };
 </script>

+ 2 - 1
reportPages/roadEssence/roadEssence.vue

@@ -160,7 +160,7 @@ export default {
       if (res.Ret === 200) {
         this.haveAuth = res.Data.HasPermission;
         if (res.Data.Detail) {
-         let arr = res.Data.Detail.VideoPlaySeconds.split(":");
+          let arr = res.Data.Detail.VideoPlaySeconds.split(":");
           res.Data.Detail.VideoPlaySeconds = arr[0] * 60 + (arr[1] - 0);
           this.detali = res.Data.Detail;
           this.videoUrl = res.Data.Detail.VideoUrl;
@@ -292,6 +292,7 @@ export default {
     }
   },
   onShow() {
+    this.$store.commit("setRouterReport", "路演精华");
     this.showAudioBox = true;
   },
   onHide() {

+ 9 - 1
store/index.js

@@ -10,12 +10,20 @@ const store = new Vuex.Store({
   state: {
     isAuth: "", // 默认为
     isBind: "",
+    pageRouterReport: "", //报告详情的路径
+    pageRouterActivity: "", //活动详情的路径
   },
   mutations: {
     globalData(state, payload) {
       state.isAuth = payload.IsAuth;
       state.isBind = payload.IsBind;
     },
+    setRouterReport(state, payload) {
+      state.pageRouterReport = payload;
+    },
+    setRouterActivity(state, payload) {
+      state.pageRouterActivity = payload;
+    },
   },
   actions: {
     checkHandle(context, navigateUrl = "") {
@@ -68,7 +76,7 @@ const store = new Vuex.Store({
     },
   },
   getters: {},
-  modules: { audioBg,videoPlay },
+  modules: { audioBg, videoPlay },
 });
 
 export default store;