export const projectData = { props: { // 视图数据源 tableData: { type: Array, default: () => { return [] } }, // 分页信息 queryParams: { type: Object, default: () => { return { current: 1, size:10 } } }, // 栏位 column: { type: Array, default: () => { return [] } }, //专利号 projectId:{ default:0 }, //选择专利 refresh:{ default:false }, patentNoList:{ type: Array, default: () => { return [] } } }, data() { return { } }, mounted() { }, methods: { // 点击专利号 handleClick(row, index) { var location = (index + 1) + ((this.queryParams.current - 1) * this.queryParams.size) this.$emit('clickPatentNo',row,location) }, changeSelect(patent){ const index1 = this.patentNoList.indexOf(patent.patentNo) if (index1 === -1) { if(this.projectId){ this.patentNoList.push(patent.patentNo) }else{ this.patentNoList.push(patent.appNo) } } else { this.patentNoList.splice(index1, 1) } } }, } export const handleData = { // mixins: [highlight], props: { }, data() { return { } }, mounted() { }, methods: { getView(row,key,type,prop,data) { var obj = { type: type?type:'String', value: key } const change = row.change const change2 = row.change2 switch (key) { case "title": // prop = !change ? "content" : "contentOut" // obj.type = 'Object' var arr = row.title if(!arr){ text = '' break } if(!change){ var obj = arr.find(item=>{ return item.if_origin }) var text = '' if(obj){ text = obj.text_content } }else{ var obj = arr.find(item=>{ return !item.if_origin && item.language == 'CN' }) var text = '' if(obj){ text = obj.text_content } } break case "abstractStr": // prop = !change2 ? "content" : "contentOut" // obj.type = 'Object' var arr = row.abstractStr if(!arr){ text = '' break } if(!change2){ var obj = arr.find(item=>{ return item.if_origin }) var text = '' if(obj){ text = obj.text_content } }else{ var obj = arr.find(item=>{ return !item.if_origin && item.language == 'CN' }) var text = '' if(obj){ text = obj.text_content } } break; case "mipc": let ipcArr=[] for (let k in row[key]) { ipcArr.push(row[key][k]) } row[`${key}2`] = ipcArr obj.value = `${key}2` obj.type = 'Array' var text = this.$commonJS.getColumnData(row, obj,prop,data) break; default: var text = this.$commonJS.getColumnData(row, obj,prop,data) break } // var text = this.$commonJS.getColumnData(row, obj, prop, data) // console.log(text,key); return this.getViewDom(text,key) }, getViewDom(text, field) { if(!text){ return "" } // if (this.contrastList.length > 0) { // for (let i = 0; i < this.contrastList.length; i++) { // if (this.contrastList[i].patentNo == this.patent.patentNo) { // if (this.contrastList[i].scratchField.indexOf(field) != -1) { // var a = { // color: this.contrastList[i].color, // Type: this.contrastList[i].scratchType, // Id: this.contrastList[i].id, // column: this.contrastList[i].scratchField, // index: Number(this.contrastList[i].position), // text: this.contrastList[i].text, // remark: this.contrastList[i].remark, // temNode: text // } // text = this.AddClass1(a); // } // } // } // } // if (!this.highlight.enable || !text) { // return text // } // try { // this.highlight.configs.map(item => { // const keywords = item.keywords.split(';') // for (let keyword of keywords) { // if (!keyword) { // continue // } // let sText = text // let num = -1 // const rStr = new RegExp(keyword, "g") // const rHtml = new RegExp("\<.*?\>", "ig") // const sKey = `${keyword}` // const aHtml = sText.match(rHtml) // sText = sText.replace(rHtml, '{~}') // sText = sText.replace(rStr, sKey) // sText = sText.replace(/{~}/g, () => { // num++ // return aHtml[num] // }) // text = sText // } // }) // } catch (e) { // } // console.log(text); return text }, //切换原文译文 handleChange(row, key) { switch (key) { case "title": this.$set(row,'change',!row.change) break case "abstractStr": this.$set(row,'change2',!row.change2) // row.change2 = !row.change2 break } }, }, } export const highlight = { data() { return { } }, methods: { AddClass1(selectObject) { let el = selectObject.temNode; // 将当前页面获取到的字符串进行处理,返回当前页面所有的标签及文本 var splitStrings = this.SplitHtmlTag1(el); let bgColor = selectObject.color; // 添加线及高亮 let startTag = ''; if (selectObject.Type == 0) { startTag = ''; } if (selectObject.Type == 2) { startTag = ''; } // let imgTag = ''; let imgTag = ''; let endTag = ''; let elText = ''; splitStrings.forEach(function (item) { if (item.type == 'text') { elText = elText + item.text; } }); let Indexs = []; let i = 0 if (selectObject.index < 0) { let pattern = new RegExp(selectObject.text.replace(/[\r\n]/g, "").replace(/\ +/g, ""), "g"); while ((match = pattern.exec(elText)) != null) { Indexs[i] = match; i++; } } else { Indexs[i] = [selectObject.text]; Indexs[i].index = selectObject.index; } Indexs.forEach(function (match) { let currentIndex = 0; let temSplitStrings = new Array(); splitStrings.forEach(function (item) { if (item.type == 'text') { if (item.text) { if (match.index >= currentIndex && match.index < (currentIndex + item.text.length)) { if (selectObject.column.indexOf('权利要求') != -1) { item.text = item.text.replace(/\r/g, ' ') if (item.text.match(/\r/g)) { match.index -= 1 } } if (selectObject.column.indexOf('说明书') != -1) { item.text = item.text.replace(/\r/g, "") } if ((match.index + match[0].length) <= (currentIndex + item.text.length) && item.text.indexOf(match[0]) != -1) { if (match.index > currentIndex) { temSplitStrings.push({ text: item.text.substring(0, match.index - currentIndex), type: 'text' }); } temSplitStrings.push({ text: startTag, type: 'tag' }); temSplitStrings.push({ text: match[0], type: 'text' }); temSplitStrings.push({ text: imgTag, type: 'tag' }); // } temSplitStrings.push({ text: endTag, type: 'tag' }); if ((match.index + match[0].length) < (currentIndex + item.text.length)) { temSplitStrings.push({ text: item.text.substring((match.index + match[0].length) - currentIndex), type: 'text' }); } } else { if (item.text.indexOf(match[0]) != -1) { if (match.index > currentIndex) { temSplitStrings.push({ text: item.text.substring(0, match.index - currentIndex), type: 'text' }); } if (temSplitStrings.length > 1) { temSplitStrings.push({ text: startTag, type: 'tag' }); } else { temSplitStrings.push({ text: startTag, type: 'tag' }); } temSplitStrings.push({ text: item.text.substring(match.index - currentIndex), type: 'text' }); temSplitStrings.push({ text: endTag, type: 'tag' }); } else { temSplitStrings.push({ text: item.text.substring(0, match.index - currentIndex), type: 'text' }); temSplitStrings.push({ text: startTag, type: 'tag' }); temSplitStrings.push({ text: item.text.substring( match.index - currentIndex,item.text.length), type: 'text' }); temSplitStrings.push({ text: endTag, type: 'tag' }); } } } else { if ((match.index + match[0].length) <= (currentIndex + item.text.length) && (match.index + match[0].length) > currentIndex) { temSplitStrings.push({ text: startTag, type: 'tag' }); temSplitStrings.push({ text: item.text.substring(0, match.index + match[0].length - currentIndex), type: 'text' }); temSplitStrings.push({ text: imgTag, type: 'tag' }); temSplitStrings.push({ text: endTag, type: 'tag' }); if ((match.index + match[0].length) < (currentIndex + item.text.length)) { temSplitStrings.push({ text: item.text.substring((match.index + match[0].length - currentIndex)), type: 'text' }); } } else { if (match.index < currentIndex && (match.index + match[0].length) >= (currentIndex + item.text.length)) { temSplitStrings.push({ text: startTag, type: 'tag' }); temSplitStrings.push(item); temSplitStrings.push({ text: endTag, type: 'tag' }); } else { temSplitStrings.push(item); } } } currentIndex = currentIndex + item.text.length; } else { temSplitStrings.push(item); } } else { temSplitStrings.push(item); } }); splitStrings = temSplitStrings; }); let temInnerHtml = ''; splitStrings.forEach(function (item) { temInnerHtml = temInnerHtml + item.text; }); return temInnerHtml; }, }, }