Browse Source

再改匹配方法

hbchen 10 months ago
parent
commit
ab1457657b

+ 13 - 7
src/views/report/reportDetailPdf.vue

@@ -161,13 +161,19 @@ export default {
         })
     },
     setReportContent(str){
-      str=str.replace(/(<iframe)( src="\S+\/chartshow)/g,(match, tag,attr)=>{
-        return '<eta-chart class="no-wrap"'+attr
-      })
-      str=str.replace(/(<iframe)( src="\S+\/sheetshow)/g,(match, tag,attr)=>{
-        return '<eta-table class="no-wrap"'+attr
-      })
-      return str
+      let ps = str.split('</iframe>')
+      let returnStr=''
+      for (let i = 0; i < ps.length; i++) {
+        const itp = ps[i];
+        if(itp.indexOf('chartshow')!=-1){
+          returnStr+=itp.replace('<iframe','<eta-chart class="no-wrap"')+'</iframe>'
+        }else if(itp.indexOf('sheetshow')!=-1){
+          returnStr+=itp.replace('<iframe','<eta-table class="no-wrap"')+'</iframe>'
+        }else{
+          returnStr+=itp
+        }
+      }
+      return returnStr
     },
     setWaterMark(str){
       const text=str||''

+ 13 - 11
src/views/reportEn/detailPdf.vue

@@ -137,17 +137,19 @@ export default {
         })
     },
     setReportContent(str){
-      str=str.replace(/(<iframe)( src="\S+\/chartshow)/g,(match, tag,attr)=>{
-        console.log(tag,'tag','eta-chart');
-        return '<eta-chart class="no-wrap"'+attr
-      })
-      str=str.replace(/(<iframe)( src="\S+\/sheetshow)/g,(match, tag,attr)=>{
-        console.log(tag,'tag','eta-table');
-        // console.log('<eta-table class="no-wrap"'+attr);
-        return '<eta-table class="no-wrap"'+attr
-      })
-      console.log(str,'str');
-      return str
+      let ps = str.split('</iframe>')
+      let returnStr=''
+      for (let i = 0; i < ps.length; i++) {
+        const itp = ps[i];
+        if(itp.indexOf('chartshow')!=-1){
+          returnStr+=itp.replace('<iframe','<eta-chart class="no-wrap"')+'</iframe>'
+        }else if(itp.indexOf('sheetshow')!=-1){
+          returnStr+=itp.replace('<iframe','<eta-table class="no-wrap"')+'</iframe>'
+        }else{
+          returnStr+=itp
+        }
+      }
+      return returnStr
     },
     setWaterMark(str){
       const text=str||''

+ 13 - 7
src/views/smartReport/detailPdf.vue

@@ -92,13 +92,19 @@ export default {
       })
     },
     setReportContent(str){
-      str=str.replace(/(<iframe)( src="\S+\/chartshow)/g,(match, tag,attr)=>{
-        return '<eta-chart class="no-wrap"'+attr
-      })
-      str=str.replace(/(<iframe)( src="\S+\/sheetshow)/g,(match, tag,attr)=>{
-        return '<eta-table class="no-wrap"'+attr
-      })
-      return str
+      let ps = str.split('</iframe>')
+      let returnStr=''
+      for (let i = 0; i < ps.length; i++) {
+        const itp = ps[i];
+        if(itp.indexOf('chartshow')!=-1){
+          returnStr+=itp.replace('<iframe','<eta-chart class="no-wrap"')+'</iframe>'
+        }else if(itp.indexOf('sheetshow')!=-1){
+          returnStr+=itp.replace('<iframe','<eta-table class="no-wrap"')+'</iframe>'
+        }else{
+          returnStr+=itp
+        }
+      }
+      return returnStr
     },
   },
 };