|
@@ -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
|