Selaa lähdekoodia

CRM_14.0 问题修复

hbchen 1 vuosi sitten
vanhempi
commit
6a4846be4d
1 muutettua tiedostoa jossa 38 lisäystä ja 24 poistoa
  1. 38 24
      src/views/system_manage/assistance_center/assistanceDocAdd.vue

+ 38 - 24
src/views/system_manage/assistance_center/assistanceDocAdd.vue

@@ -174,6 +174,7 @@ import {createBottomHref} from "./utils/common"
       },
       },
       // 生成锚点
       // 生成锚点
       generateAnchor(){
       generateAnchor(){
+        this.anchorData=[]
         // 搜索富文本中的h1和h2标签 当做一级和二级的锚点
         // 搜索富文本中的h1和h2标签 当做一级和二级的锚点
         this.searchTitleTag(0,1)
         this.searchTitleTag(0,1)
         // console.log(this.addDocForm.Content,this.anchorData);
         // console.log(this.addDocForm.Content,this.anchorData);
@@ -181,58 +182,72 @@ import {createBottomHref} from "./utils/common"
       // 搜索标题标签h1,h2
       // 搜索标题标签h1,h2
       searchTitleTag(searchPosition,firstLevel){
       searchTitleTag(searchPosition,firstLevel){
         let frontH1Posiiton,nextH1Posiiton,H2Posiiton=0
         let frontH1Posiiton,nextH1Posiiton,H2Posiiton=0
+        let frontH1RightPosiiton,H2RightPosiiton=0
+        let backH1Posiiton,backH2Posiiton=0
         // 本次搜索第一个h1的位置
         // 本次搜索第一个h1的位置
-        frontH1Posiiton = this.addDocForm.Content.indexOf('<h1>',searchPosition)
+        frontH1Posiiton = this.addDocForm.Content.indexOf('<h1',searchPosition)
+        // 右闭合标签
+        frontH1RightPosiiton = this.addDocForm.Content.indexOf('>',frontH1Posiiton)
+        // 对应的</h1>的位置
+        backH1Posiiton = this.addDocForm.Content.indexOf('</h1>',frontH1Posiiton)
+
         if(frontH1Posiiton == -1) return 
         if(frontH1Posiiton == -1) return 
 
 
         let anchorText=`id="doc_anchor_${firstLevel}"`
         let anchorText=`id="doc_anchor_${firstLevel}"`
         // console.log(frontH1Posiiton,firstLevel,'firstLevel');
         // console.log(frontH1Posiiton,firstLevel,'firstLevel');
         this.addDocForm.Content = this.addDocForm.Content.substring(0, frontH1Posiiton+3) 
         this.addDocForm.Content = this.addDocForm.Content.substring(0, frontH1Posiiton+3) 
-                                  +" "+anchorText + this.addDocForm.Content.substring(frontH1Posiiton+3);
-        this.anchorData.push({AnchorId:`${firstLevel}`,Anchor:`doc_anchor_${firstLevel}`,Child:[]})
+                                  +" "+anchorText + this.addDocForm.Content.substring(frontH1RightPosiiton);
+        // 获取标题
+        let AnchorTitle = this.addDocForm.Content.substring(frontH1RightPosiiton+1,backH1Posiiton)
+
+        this.anchorData.push({
+          AnchorId:`${firstLevel}`,
+          Anchor:`doc_anchor_${firstLevel}`,
+          AnchorName:AnchorTitle,
+          Child:[]})
         // 本次搜索下一个h1的位置
         // 本次搜索下一个h1的位置
-        nextH1Posiiton = this.addDocForm.Content.indexOf('<h1>',frontH1Posiiton)==-1?
-                          this.addDocForm.Content.length:this.addDocForm.Content.indexOf('<h1>',frontH1Posiiton)
+        nextH1Posiiton = this.addDocForm.Content.indexOf('<h1',backH1Posiiton)==-1?
+                          this.addDocForm.Content.length:this.addDocForm.Content.indexOf('<h1',backH1Posiiton)
         // 从第一个h1的位置开始查找h2标签
         // 从第一个h1的位置开始查找h2标签
-        H2Posiiton = this.addDocForm.Content.indexOf('<h2>',frontH1Posiiton)
+        H2Posiiton = this.addDocForm.Content.indexOf('<h2',backH1Posiiton)
+
         let secondLevel=1
         let secondLevel=1
         while (!(H2Posiiton==-1 || H2Posiiton>nextH1Posiiton)) {
         while (!(H2Posiiton==-1 || H2Posiiton>nextH1Posiiton)) {
+          // 右闭合标签
+          H2RightPosiiton = this.addDocForm.Content.indexOf('>',H2Posiiton)
+          // 对应的</h1>的位置
+          backH2Posiiton = this.addDocForm.Content.indexOf('</h2>',H2Posiiton)
           // 找到了,并且位置小于下一个h1的位置 
           // 找到了,并且位置小于下一个h1的位置 
           let anchorTextH2=`id="doc_anchor_${firstLevel}_${secondLevel}"`
           let anchorTextH2=`id="doc_anchor_${firstLevel}_${secondLevel}"`
           // console.log(H2Posiiton,secondLevel,'secondLevel');
           // console.log(H2Posiiton,secondLevel,'secondLevel');
           this.addDocForm.Content = this.addDocForm.Content.substring(0, H2Posiiton+3) 
           this.addDocForm.Content = this.addDocForm.Content.substring(0, H2Posiiton+3) 
-                                    +" "+anchorTextH2 + this.addDocForm.Content.substring(H2Posiiton+3);
+                                    +" "+anchorTextH2 + this.addDocForm.Content.substring(H2RightPosiiton);
+          // 获取标题
+          let AnchorTitleLevelTwo = this.addDocForm.Content.substring(H2RightPosiiton+1,backH2Posiiton)
           this.anchorData[firstLevel-1].Child.push(
           this.anchorData[firstLevel-1].Child.push(
             {AnchorId:`${firstLevel}_${secondLevel}`,
             {AnchorId:`${firstLevel}_${secondLevel}`,
             Anchor:`doc_anchor_${firstLevel}_${secondLevel}`,
             Anchor:`doc_anchor_${firstLevel}_${secondLevel}`,
+            AnchorName:AnchorTitleLevelTwo,
             Child:[]
             Child:[]
           })
           })
           // nextH1Posiiton 和 secondLevel 随之增加
           // nextH1Posiiton 和 secondLevel 随之增加
-          nextH1Posiiton +=anchorTextH2.length+1
+          // nextH1Posiiton +=anchorTextH2.length+1
+          // 更新nextH1Posiiton位置
+          nextH1Posiiton = this.addDocForm.Content.indexOf('<h1',backH1Posiiton)==-1?
+                          this.addDocForm.Content.length:this.addDocForm.Content.indexOf('<h1',backH1Posiiton)
           secondLevel++
           secondLevel++
-          H2Posiiton = this.addDocForm.Content.indexOf('<h2>',frontH1Posiiton)
+          H2Posiiton = this.addDocForm.Content.indexOf('<h2',backH2Posiiton)
         }
         }
         // 结束一轮 <h1></h1>标签的寻找
         // 结束一轮 <h1></h1>标签的寻找
-        if(this.addDocForm.Content.indexOf('<h1>',frontH1Posiiton)!=-1){
+        if(this.addDocForm.Content.indexOf('<h1',backH1Posiiton+4)!=-1){
           // 如果有下一个h1的标签,说明寻找还没结束,继续寻找
           // 如果有下一个h1的标签,说明寻找还没结束,继续寻找
           firstLevel++
           firstLevel++
-          this.searchTitleTag(frontH1Posiiton,firstLevel)
+          this.searchTitleTag(nextH1Posiiton,firstLevel)
         }
         }
       },
       },
-      // // 生成底部的两个链接
-      // createBottomHref(){
-      //   let hrefStringBuiler='<ul style="margin-top:40px">'
-      //   this.addDocForm.RecommendData.map(item =>{
-      //     if(item.Name){
-      //       hrefStringBuiler+=`<li><a href="${item.Url}" target="_blank" style="text-decoration: underline;">${item.Name}</a></li>`
-      //     }
-      //   })
-      //   return hrefStringBuiler+"</ul>"
-      // },
       previewDocument(){
       previewDocument(){
         // this.addDocForm.Content=`<p>范德萨发的刚发的</p><p>刚发的g梵蒂冈</p><p>割发代首刚发的</p><hr><h1>1. 个刚发的施工方</h1><p>刚发的刚发的g规范的施工方都是割发代首规范</p><h2>1.1. 规范的三个富士达割发代首</h2><p>个梵蒂冈是梵蒂冈讽德诵功范德萨割发代首个割发代首</p><p>刚分手的割发代首割发代首高富帅d</p><p>刚分手的刚分手的</p><p>割发代首刚分手的</p><p>刚分手的公司发的</p><p>刚发的事故发生的</p><p><br></p><p>割发代首刚分手的刚分手的</p><h2>1.2. 噶规范十多个范德萨刚发的施工方多少公分</h2><p>个讽德诵功范德萨</p><p>割发代首割发代首刚发的s规范的三个</p><h1>2.讽德诵功是反的</h1><p>割发代首割发代首个人的施工方都是</p><p>范德萨个人东方闪电方式</p><p>割发代首割发代首</p><h2>2.1.个梵蒂冈</h2><p>讽德诵功范德萨规范的三个范德萨讽德诵功放大s</p><h2>2.2.刚发的广泛地个</h2><p>刚分手的割发代首</p><p>割发代首割发代首割发代首</p><p><br></p><p>范德萨割发代首</p><h2>2.3.辅导费是的</h2><p>范甘迪个放大割发代首个</p><p>刚发的刚发的</p><h1>3. 个梵蒂冈放大</h1>`
         // this.addDocForm.Content=`<p>范德萨发的刚发的</p><p>刚发的g梵蒂冈</p><p>割发代首刚发的</p><hr><h1>1. 个刚发的施工方</h1><p>刚发的刚发的g规范的施工方都是割发代首规范</p><h2>1.1. 规范的三个富士达割发代首</h2><p>个梵蒂冈是梵蒂冈讽德诵功范德萨割发代首个割发代首</p><p>刚分手的割发代首割发代首高富帅d</p><p>刚分手的刚分手的</p><p>割发代首刚分手的</p><p>刚分手的公司发的</p><p>刚发的事故发生的</p><p><br></p><p>割发代首刚分手的刚分手的</p><h2>1.2. 噶规范十多个范德萨刚发的施工方多少公分</h2><p>个讽德诵功范德萨</p><p>割发代首割发代首刚发的s规范的三个</p><h1>2.讽德诵功是反的</h1><p>割发代首割发代首个人的施工方都是</p><p>范德萨个人东方闪电方式</p><p>割发代首割发代首</p><h2>2.1.个梵蒂冈</h2><p>讽德诵功范德萨规范的三个范德萨讽德诵功放大s</p><h2>2.2.刚发的广泛地个</h2><p>刚分手的割发代首</p><p>割发代首割发代首割发代首</p><p><br></p><p>范德萨割发代首</p><h2>2.3.辅导费是的</h2><p>范甘迪个放大割发代首个</p><p>刚发的刚发的</p><h1>3. 个梵蒂冈放大</h1>`
-        // 生成锚点
-        // this.generateAnchor()
+
         let bottomLink = createBottomHref(this.addDocForm.RecommendData)
         let bottomLink = createBottomHref(this.addDocForm.RecommendData)
         
         
         sessionStorage.setItem("documentDoc",this.addDocForm.Content+bottomLink)
         sessionStorage.setItem("documentDoc",this.addDocForm.Content+bottomLink)
@@ -241,7 +256,6 @@ import {createBottomHref} from "./utils/common"
       },
       },
       saveDocument(type){
       saveDocument(type){
         // 生成锚点
         // 生成锚点
-        // console.log(this.addDocForm);
         this.$refs.addDocForm.validate(valid=>{
         this.$refs.addDocForm.validate(valid=>{
           if(valid){
           if(valid){
             if(type=="发布") this.addDocForm.Status=2
             if(type=="发布") this.addDocForm.Status=2