小彬 3 years ago
parent
commit
3ab53eaa27
2 changed files with 156 additions and 234 deletions
  1. 6 1
      src/api/api.js
  2. 150 233
      src/view/rai_pj/raiReportDtl.vue

+ 6 - 1
src/api/api.js

@@ -83,6 +83,11 @@ export const RaiApi = {
   /* 下载PDF打水印接口*/
 	articlePdfwatermark: params => {
 		return http.axiosget('/article/pdfwatermark',params,'下载')
-	}
+	},
+  /* 页面复制监听*/
+  pageHistoryCopy: params => {
+		return http.axiospost('/config/pageHistory',params,1)
+	},
+
 
 }

+ 150 - 233
src/view/rai_pj/raiReportDtl.vue

@@ -1,17 +1,12 @@
 <template>
-  <div class="raiReportDtl_container" v-show="haveData" :class="reportInfo.IsResearch?'no-cv':''" >
+  <div class="raiReportDtl_container" v-show="haveData" :class="reportInfo.IsResearch ? 'no-cv' : ''">
     <div class="seearch-top" v-if="from_type == 'mpwechat'">
       <div class="search-summary" @click="btnSearch">
         <van-icon color="#8D8D8D" size="18" name="search" />
-        <span
-          >搜索您想要的{{ reportInfo.IsBelongSummary ? "纪要" : "产业资源包" }}</span
-        >
+        <span>搜索您想要的{{ reportInfo.IsBelongSummary ? "纪要" : "产业资源包" }}</span>
       </div>
     </div>
-    <div
-      class="report-top"
-      :class="from_type == 'mpwechat' ? 'top-report' : ''"
-    >
+    <div class="report-top" :class="from_type == 'mpwechat' ? 'top-report' : ''">
       <div class="report-title">{{ reportInfo.Title }}</div>
       <div class="report_desc">
         <span class="author">{{ reportInfo.Department }}</span>
@@ -19,38 +14,28 @@
       </div>
       <div class="seller-list" v-if="!reportInfo.IsResearch">
         <span>联系人:</span>
-        <span v-for="(item, index) in reportInfo.SellerList" :key="index">
-          {{ item.SellerName }}({{ item.SellerMobile }})&nbsp;&nbsp;
-        </span>
+        <span v-for="(item, index) in reportInfo.SellerList" :key="index"> {{ item.SellerName }}({{ item.SellerMobile }})&nbsp;&nbsp; </span>
       </div>
       <div class="seller-list" v-else>
         <span>作者:{{ reportInfo.SellerAndMobile }} </span>
       </div>
-      <div>
-        注:请务必阅读<span class="tip" @click="showTips"> &nbsp;免责声明</span>
-      </div>
+      <div>注:请务必阅读<span class="tip" @click="showTips"> &nbsp;免责声明</span></div>
       <div class="container-text">
         <div class="container">
-          <p class="text-box">
-            <i class="blue-box"></i>&nbsp;&nbsp;摘要:&nbsp;{{
-              reportInfo.Abstract
-            }}
-          </p>
+          <p class="text-box"><i class="blue-box"></i>&nbsp;&nbsp;摘要:&nbsp;{{ reportInfo.Abstract }}</p>
         </div>
       </div>
     </div>
     <div style="font-size: 0.7rem; margin-top: 0.7rem" v-if="fileLink">
       <p>
         报告全文:
-        <span style="color: #0808e5" @click="downloadFile"
-          >(PDF格式报告下载.pdf)</span
-        >
+        <span style="color: #0808e5" @click="downloadFile">(PDF格式报告下载.pdf)</span>
       </p>
     </div>
     <div class="detail-report">
       <div id="report-content" v-html="reportInfo.Body"></div>
     </div>
-    <div id="tipsAlert" :style="reportInfo.IsResearch?'padding:50% 1rem;':''">
+    <div id="tipsAlert" :style="reportInfo.IsResearch ? 'padding:50% 1rem;' : ''">
       <div
         style="
           width: 100%;
@@ -64,65 +49,35 @@
           border-radius: 0.2rem;
         "
       >
-        <h1
-          style="font: 0.64rem 'PingFang-SC-Regular'; color: #333; text-align: center; margin-bottom: 0.34rem"
-        >
-          免责声明
-        </h1>
+        <h1 style="font: 0.64rem 'PingFang-SC-Regular'; color: #333; text-align: center; margin-bottom: 0.34rem">免责声明</h1>
         <template v-if="reportInfo.IsResearch">
           <p>
             本文为用户投稿,用户在平台中发表的所有资料、言论等仅代表个人观点,与本平台立场无关,不对您构成任何投资建议。弘则研究对文中陈述、观点判断保持中立,不对所包含内容及数据的真实性、准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
           </p>
         </template>
         <template v-else>
-          <p>
-            1、本报告仅供弘则弥道(上海)投资咨询有限公司正式签约的机构客户使用,不会仅因接收人/接受机构收到本报告而将其视为客户。
-          </p>
+          <p>1、本报告仅供弘则弥道(上海)投资咨询有限公司正式签约的机构客户使用,不会仅因接收人/接受机构收到本报告而将其视为客户。</p>
           <p>
             2、本报告根据国际和行业通行的准则,以合法渠道获得这些信息,尽可能保证可靠、准确和完整,但并不保证报告所述信息的准确性和完整性,也不保证本报告所包含的信息或建议在本报告发出后不会发生任何变更。本报告中所提供的信息仅供参考。
           </p>
           <p>
             3、报告中的内容不对投资者做出的最终操作建议做任何的担保,也没有任何形式的分享投资收益或者分担投资损失的书面或口头承诺。不作为客户在投资、法律、会计或税务等方面的最终操作建议,也不作为道义的、责任的和法律的依据或者凭证,无论是否已经明示或者暗示。
           </p>
-          <p>
-            4、在任何情况下,本公司不对客户/接受人/接受机构因使用报告中内容所引致的一切损失负责任,客户/接受人/接受机构需自行承担全部风险。
-          </p>
+          <p>4、在任何情况下,本公司不对客户/接受人/接受机构因使用报告中内容所引致的一切损失负责任,客户/接受人/接受机构需自行承担全部风险。</p>
         </template>
-        <p
-          @click="hideTips"
-          style="position: absolute; bottom: 0; left: 0; right: 0; font-size: 0.56rem; line-height: 1.6rem; color: #2680eb; text-align: center; border-top: 1px solid #eaeaea"
-        >
+        <p @click="hideTips" style="position: absolute; bottom: 0; left: 0; right: 0; font-size: 0.56rem; line-height: 1.6rem; color: #2680eb; text-align: center; border-top: 1px solid #eaeaea">
           知道了
         </p>
       </div>
     </div>
-    <div
-      style="width: 40px; height: 40px; position: fixed; right: 0.5rem; bottom: 4.66rem; z-index: 100"
-      class="btn-returntop"
-    >
-      <img
-        src="~@/assets/img/returntop.png"
-        @click="scrolltop"
-        style="width: 40px"
-      />
+    <div style="width: 40px; height: 40px; position: fixed; right: 0.5rem; bottom: 4.66rem; z-index: 100" class="btn-returntop">
+      <img src="~@/assets/img/returntop.png" @click="scrolltop" style="width: 40px" />
     </div>
     <!-- 底部悬浮固定 -->
-    <div
-      class="fixed_cont"
-      :style="isIphoneX ? 'padding-bottom: 1rem;' : 'padding-bottom:0.2rem;'"
-      v-if="from_type == 'mpwechat'"
-    >
+    <div class="fixed_cont" :style="isIphoneX ? 'padding-bottom: 1rem;' : 'padding-bottom:0.2rem;'" v-if="from_type == 'mpwechat'">
       <!-- v-if="isReport" -->
-      <div
-        class="handle-item"
-        @click="applyHandle"
-        v-if="reportInfo.IsSummary == 1 && !reportInfo.IsResearch"
-      >
-        <img
-          src="@/assets/img/rai/apply_act.png"
-          class="img_ico"
-          v-if="reportInfo.IsInterviewApply"
-        />
+      <div class="handle-item" @click="applyHandle" v-if="reportInfo.IsSummary == 1 && !reportInfo.IsResearch">
+        <img src="@/assets/img/rai/apply_act.png" class="img_ico" v-if="reportInfo.IsInterviewApply" />
         <img src="@/assets/img/rai/apply_ico.png" class="img_ico" v-else />
         <div>{{ reportInfo.IsInterviewApply ? "已申请访谈" : "申请访谈" }}</div>
       </div>
@@ -130,26 +85,14 @@
         <img src="@/assets/img/rai/quiz_ico.png" class="img_ico" />
         <div>提问</div>
       </div>
-      <div
-        class="handle-item"
-        @click="attentionBtn"
-        v-if="reportInfo.IsResearch"
-      >
-        <img
-          src="@/assets/img/rai/attention_act.png"
-          class="img_ico"
-          v-if="reportInfo.IsFollow"
-        />
+      <div class="handle-item" @click="attentionBtn" v-if="reportInfo.IsResearch">
+        <img src="@/assets/img/rai/attention_act.png" class="img_ico" v-if="reportInfo.IsFollow" />
         <img src="@/assets/img/rai/attention_ico.png" class="img_ico" v-else />
         <div>{{ `${reportInfo.FollowNum}人关注` }}</div>
       </div>
 
       <div class="handle-item" @click="collectHandle">
-        <img
-          src="@/assets/img/rai/collect_act.png"
-          class="img_ico"
-          v-if="reportInfo.IsCollect"
-        />
+        <img src="@/assets/img/rai/collect_act.png" class="img_ico" v-if="reportInfo.IsCollect" />
         <img src="@/assets/img/rai/collect_ico.png" class="img_ico" v-else />
         <div v-if="reportInfo.IsResearch">
           {{ `${reportInfo.CollectionNum}  人收藏` }}
@@ -175,24 +118,25 @@ export default {
       from_type: "",
       isReport: true,
       fileLink: "", //下载pdf的链接
-      attention: false
+      attention: false,
     };
   },
   methods: {
     async downloadFile() {
-       Toast.loading({
-          message: "下载中...",
-          duration: 0,
-          forbidClick: true,
-        })
-      const res = await RaiApi.articlePdfwatermark({ArticleId:Number(this.id)})
-      if(res.Ret===200){
-        Toast.clear()
-        wx.miniProgram.navigateTo({
-        url: "/pages/downloadFile/downloadFile?url=" + res.Data.FileLink
+      Toast.loading({
+        message: "下载中...",
+        duration: 0,
+        forbidClick: true,
       });
+      const res = await RaiApi.articlePdfwatermark({
+        ArticleId: Number(this.id),
+      });
+      if (res.Ret === 200) {
+        Toast.clear();
+        wx.miniProgram.navigateTo({
+          url: "/pages/downloadFile/downloadFile?url=" + res.Data.FileLink,
+        });
       }
-
     },
     //点击回到搜索页面
     btnSearch() {
@@ -200,24 +144,21 @@ export default {
         wx.miniProgram.navigateTo({ url: "/pages/search/search" });
       } else {
         wx.miniProgram.navigateTo({
-          url: "/reportPages/reportSearch/reportSearch"
+          url: "/reportPages/reportSearch/reportSearch",
         });
       }
     },
     //点击到提问页面
     quizBtn() {
       wx.miniProgram.navigateTo({
-        url:
-          "/activityPages/generationAsk/generationAsk?id=" +
-          this.reportInfo.ArticleId +
-          "&type=文章"
+        url: "/activityPages/generationAsk/generationAsk?id=" + this.reportInfo.ArticleId + "&type=文章",
       });
     },
     //关注作者事件
     attentionBtn() {
       RaiApi.fllowDepartment({
-        DepartmentId: this.reportInfo.DepartmentId
-      }).then(res => {
+        DepartmentId: this.reportInfo.DepartmentId,
+      }).then((res) => {
         if (res.Ret === 200) {
           this.reportInfo.IsFollow = !this.reportInfo.IsFollow;
           if (res.Data.Status == 1) {
@@ -225,16 +166,15 @@ export default {
             if (res.Data.GoFollow) {
               Dialog.confirm({
                 title: "作者关注成功",
-                message:
-                  "想要及时获取该作者新发报告时的消息推送,请关注【弘则研究】公众号",
+                message: "想要及时获取该作者新发报告时的消息推送,请关注【弘则研究】公众号",
                 confirmButtonColor: "#fff",
                 confirmButtonText: "去关注",
                 cancelButtonColor: "#fff",
-                theme: "round-button"
+                theme: "round-button",
               })
                 .then(() => {
                   wx.miniProgram.navigateTo({
-                    url: "/activityPages/accountsOfficial/accountsOfficial"
+                    url: "/activityPages/accountsOfficial/accountsOfficial",
                   });
                 })
                 .catch(() => {
@@ -243,10 +183,9 @@ export default {
             } else {
               Dialog.alert({
                 title: "",
-                message:
-                  "作者关注成功,该作者发布新的报告时,【弘则研究】公众号会为您推送微信消息提醒",
+                message: "作者关注成功,该作者发布新的报告时,【弘则研究】公众号会为您推送微信消息提醒",
                 confirmButtonColor: "#3385FF",
-                confirmButtonText: "知道了"
+                confirmButtonText: "知道了",
               });
             }
           } else {
@@ -272,23 +211,23 @@ export default {
       if (type == "mpwechat") {
         RaiApi.reportDtl({
           ArticleId: id,
-          Authorization: token
-        }).then(res => {
+          Authorization: token,
+        }).then((res) => {
           if (res.Ret === 200) {
             this.haveData = res.Data.HasPermission === 1 ? true : false;
             if (res.Data.HasPermission === 1) {
               //有访问权限
               this.reportInfo = res.Data.Detail;
               this.fileLink = res.Data.Detail.FileLink;
-              if(this.reportInfo.IsResearch || this.reportInfo.IsBelongSummary){
-                this.waterMark(res.Data.Mobile)
+              if (this.reportInfo.IsResearch || this.reportInfo.IsBelongSummary) {
+                this.waterMark(res.Data.Mobile);
               }
-              $(document).on("click", "#report-content img", function(event) {
+              $(document).on("click", "#report-content img", function (event) {
                 let imgArray = [];
                 let src_tag = $(this).attr("src");
                 let parent_tag = $(this).parent();
                 if (src_tag && !parent_tag.attr("href")) {
-                  $("#report-content img").each(function(index, el) {
+                  $("#report-content img").each(function (index, el) {
                     let itemSrc = $(this).attr("src");
                     imgArray.push(itemSrc);
                   });
@@ -300,23 +239,23 @@ export default {
         });
       } else {
         RaiApi.lookReport({
-          ArticleIdMd5: id
-        }).then(res => {
+          ArticleIdMd5: id,
+        }).then((res) => {
           if (res.Ret === 200) {
             this.haveData = res.Data.HasPermission === 1 ? true : false;
             if (res.Data.HasPermission === 1) {
               //有访问权限
               this.reportInfo = res.Data.Detail;
               this.fileLink = res.Data.Detail.FileLink;
-               if(this.reportInfo.IsResearch|| this.reportInfo.IsBelongSummary){
-                this.waterMark(res.Data.Mobile)
+              if (this.reportInfo.IsResearch || this.reportInfo.IsBelongSummary) {
+                this.waterMark(res.Data.Mobile);
               }
-              $(document).on("click", "#report-content img", function(event) {
+              $(document).on("click", "#report-content img", function (event) {
                 let imgArray = [];
                 let src_tag = $(this).attr("src");
                 let parent_tag = $(this).parent();
                 if (src_tag && !parent_tag.attr("href")) {
-                  $("#report-content img").each(function(index, el) {
+                  $("#report-content img").each(function (index, el) {
                     let itemSrc = $(this).attr("src");
                     imgArray.push(itemSrc);
                   });
@@ -333,11 +272,10 @@ export default {
       !this.reportInfo.IsInterviewApply &&
         Dialog.confirm({
           title: "",
-          message:
-            "专家访谈申请会提交给您的对口销售,销售会线下与您取得联系,确定申请吗?",
+          message: "专家访谈申请会提交给您的对口销售,销售会线下与您取得联系,确定申请吗?",
           confirmButtonColor: "#fff",
           cancelButtonColor: "#fff",
-          theme: "round-button"
+          theme: "round-button",
         }).then(() => {
           this.interviewApi();
         });
@@ -347,14 +285,13 @@ export default {
           title: "",
           message:
             this.reportInfo.InterviewApplyStatus == "待访谈"
-              ? "当前无法取消访谈,若有疑问,请联系对口销售" +
-                this.reportInfo.SellerMobile
+              ? "当前无法取消访谈,若有疑问,请联系对口销售" + this.reportInfo.SellerMobile
               : this.reportInfo.InterviewApplyStatus == "待邀请"
               ? "您要取消此次访谈申请吗?"
               : "该访谈已完成",
           confirmButtonColor: "#fff",
           cancelButtonColor: "#fff",
-          theme: "round-button"
+          theme: "round-button",
         }).then(() => {
           this.reportInfo.InterviewApplyStatus == "待邀请"
             ? this.interviewApi()
@@ -367,14 +304,11 @@ export default {
     /* 访谈接口 */
     interviewApi() {
       RaiApi.applyRpt({
-        ArticleId: Number(this.id)
-      }).then(res => {
+        ArticleId: Number(this.id),
+      }).then((res) => {
         if (res.Ret === 200) {
           this.reportInfo.IsInterviewApply = !this.reportInfo.IsInterviewApply;
-          this.reportInfo.InterviewApplyStatus = this.reportInfo
-            .IsInterviewApply
-            ? "待邀请"
-            : "";
+          this.reportInfo.InterviewApplyStatus = this.reportInfo.IsInterviewApply ? "待邀请" : "";
           Toast(res.Msg);
         }
       });
@@ -382,8 +316,8 @@ export default {
     /* 收藏 */
     collectHandle() {
       RaiApi.collectRpt({
-        ArticleId: Number(this.id)
-      }).then(res => {
+        ArticleId: Number(this.id),
+      }).then((res) => {
         if (res.Ret === 200) {
           this.reportInfo.IsCollect = !this.reportInfo.IsCollect;
           if (this.reportInfo.IsResearch) {
@@ -402,8 +336,15 @@ export default {
         }
       });
     },
+    /* 复制 */
+    copyMonitor() {
+      RaiApi.pageHistoryCopy({
+        DetailId: this.id + "",
+        PageType: "ArticleCopy",
+      }).then((res) => {});
+    },
     waterMark(key) {
-      var text = key ||'';
+      var text = key || "";
       var shuiyinDiv = document.createElement("div");
       var style = shuiyinDiv.style;
       style.position = "fixed";
@@ -420,7 +361,7 @@ export default {
     },
     textBecomeImg(text, fontsize, fontcolor) {
       var canvas = document.createElement("canvas");
-      let  buHeight = 0;
+      let buHeight = 0;
       if (fontsize <= 32) {
         buHeight = 99;
       } else if (fontsize > 32 && fontsize <= 60) {
@@ -454,93 +395,58 @@ export default {
     },
     checkUa() {
       // iPhone X、iPhone XS
-      let isIPhoneX =
-        /iphone/gi.test(window.navigator.userAgent) &&
-        window.devicePixelRatio &&
-        window.devicePixelRatio === 3 &&
-        window.screen.width === 375 &&
-        window.screen.height === 812;
+      let isIPhoneX = /iphone/gi.test(window.navigator.userAgent) && window.devicePixelRatio && window.devicePixelRatio === 3 && window.screen.width === 375 && window.screen.height === 812;
       // iPhone XS Max
-      var isIPhoneXSMax =
-        /iphone/gi.test(window.navigator.userAgent) &&
-        window.devicePixelRatio &&
-        window.devicePixelRatio === 3 &&
-        window.screen.width === 414 &&
-        window.screen.height === 896;
+      var isIPhoneXSMax = /iphone/gi.test(window.navigator.userAgent) && window.devicePixelRatio && window.devicePixelRatio === 3 && window.screen.width === 414 && window.screen.height === 896;
       // iPhone XR
-      var isIPhoneXR =
-        /iphone/gi.test(window.navigator.userAgent) &&
-        window.devicePixelRatio &&
-        window.devicePixelRatio === 2 &&
-        window.screen.width === 414 &&
-        window.screen.height === 896;
+      var isIPhoneXR = /iphone/gi.test(window.navigator.userAgent) && window.devicePixelRatio && window.devicePixelRatio === 2 && window.screen.width === 414 && window.screen.height === 896;
       this.isIphoneX = isIPhoneX || isIPhoneXSMax || isIPhoneXR;
     },
     resetCss() {
-      $("#report-content")
-        .find("img")
-        .css({ display: "block", margin: "0 auto", maxWidth: "100%" });
-      $("#report-content")
-        .find("video")
-        .css({ display: "block", margin: "0 auto", maxWidth: "100%" });
-      $("#report-content")
-        .find("p")
-        .css({
-          margin: "0 auto 0.6rem",
-          font: "0.7rem/1.5 'PingFang-SC-Regular'",
-          color: "#333",
-          letterSpacing: "0.08rem",
-          lineHeight: "1.1rem"
-        });
-      $("#report-content")
-        .find("span")
-        .css({
-          font: "0.7rem/1.5 'PingFang-SC-Regular'",
-          letterSpacing: "0.08rem",
-          lineHeight: "1.1rem"
-        });
-      $("#report-content")
-        .find("span.fr-emoticon")
-        .css({
-          width: "20px",
-          height: "20px",
-          backgroundRepeat: "no-repeat",
-          backgroundSize: "cover",
-          display: "inline-block",
-          verticalAlign: "middle"
-        });
-      $("#report-content")
-        .find("ol")
-        .css({ listStyleType: "disc" });
+      $("#report-content").find("img").css({ display: "block", margin: "0 auto", maxWidth: "100%" });
+      $("#report-content").find("video").css({ display: "block", margin: "0 auto", maxWidth: "100%" });
+      $("#report-content").find("p").css({
+        margin: "0 auto 0.6rem",
+        font: "0.7rem/1.5 'PingFang-SC-Regular'",
+        color: "#333",
+        letterSpacing: "0.08rem",
+        lineHeight: "1.1rem",
+      });
+      $("#report-content").find("span").css({
+        font: "0.7rem/1.5 'PingFang-SC-Regular'",
+        letterSpacing: "0.08rem",
+        lineHeight: "1.1rem",
+      });
+      $("#report-content").find("span.fr-emoticon").css({
+        width: "20px",
+        height: "20px",
+        backgroundRepeat: "no-repeat",
+        backgroundSize: "cover",
+        display: "inline-block",
+        verticalAlign: "middle",
+      });
+      $("#report-content").find("ol").css({ listStyleType: "disc" });
 
-      $("#report-content")
-        .find("pre")
-        .css({
-          display: "block",
-          whiteSpace: "pre-wrap",
-          marginBottom: "0.6rem"
-        });
-      $("#report-content")
-        .find("table")
-        .css({
-          borderBottom: "1px solid #999",
-          borderRight: "1px solid #999",
-          width: "95%"
-        });
-      $("#report-content")
-        .find("table td")
-        .css({
-          borderTop: "0.5px solid #999",
-          borderLeft: "0.5px solid #999",
-          verticalAlign: "top"
-        });
-      $("#report-content")
-        .find("table span")
-        .css({
-          fontSize: "12px",
-          color: "#333",
-          fontFamily: "PingFang-SC-Regular"
-        });
+      $("#report-content").find("pre").css({
+        display: "block",
+        whiteSpace: "pre-wrap",
+        marginBottom: "0.6rem",
+      });
+      $("#report-content").find("table").css({
+        borderBottom: "1px solid #999",
+        borderRight: "1px solid #999",
+        width: "95%",
+      });
+      $("#report-content").find("table td").css({
+        borderTop: "0.5px solid #999",
+        borderLeft: "0.5px solid #999",
+        verticalAlign: "top",
+      });
+      $("#report-content").find("table span").css({
+        fontSize: "12px",
+        color: "#333",
+        fontFamily: "PingFang-SC-Regular",
+      });
     },
   },
   updated() {
@@ -555,6 +461,11 @@ export default {
       this.getReport(this.id, access_token, this.from_type);
     }
     this.checkUa();
+    document.addEventListener("copy", (e) => {
+      e.preventDefault();
+      e.stopPropagation();
+      this.copyMonitor();
+    });
   },
   updated() {},
   watch: {
@@ -566,9 +477,9 @@ export default {
           document.title = "纪要详情";
         }
       },
-      immediate: true
-    }
-  }
+      immediate: true,
+    },
+  },
 };
 </script>
 <style lang="scss">
@@ -583,23 +494,24 @@ export default {
   }
 }
 .no-cv {
-    -webkit-user-select: none;
-    -khtml-user-select: none;
-    -moz-user-select: none;
-    -ms-user-select: none;
-    user-select: none;
-  }
-#report-content ,strong{
-  word-break:break-all ;
+  -webkit-user-select: none;
+  -khtml-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+#report-content,
+strong {
+  word-break: break-all;
 }
 pre {
-    width: 100%;
-    overflow-y: auto;
-    overflow-x: hidden;
-    outline: none;
-    border: 0;
-    white-space: pre-wrap;
-    word-break: normal;
+  width: 100%;
+  overflow-y: auto;
+  overflow-x: hidden;
+  outline: none;
+  border: 0;
+  white-space: pre-wrap;
+  word-break: normal;
 }
 .seearch-top {
   width: 100%;
@@ -711,16 +623,21 @@ pre {
   .detail-report {
     padding: 0.4rem 0;
     overflow: hidden;
+    p,
+    span {
+      font-size: 0.56rem !important;
+    }
     img {
       width: 100% !important;
     }
     table {
       border-collapse: collapse;
       width: 100% !important;
-      margin-left:0 !important;
+      margin-left: 0 !important;
     }
-    tr td,th{
-      border:1px solid #333;
+    tr td,
+    th {
+      border: 1px solid #333;
     }
   }
   #tipsAlert {