浏览代码

Merge remote-tracking branch 'origin/dev4.7.9' into dev4.7.9

# Conflicts:
#	src/web/templates/pc/createOrderPage.html
xuemingyang 3 年之前
父节点
当前提交
399c45609f

+ 1 - 1
src/jfw/modules/app/src/web/templates/dataExport/dataExport.html

@@ -1146,7 +1146,7 @@
                     } else {
                       if (data._id !== "") {
                         // window.location.href = "/jyapp/front/dataExport/toCreateOrderPage?id=" + data._id + "&source=d&payway=" + pay_way + "&dataspec=" + data_spec;
-                        window.location.href = "/jy_mobile/dataexport/limitpreview/" + data._id;
+                        window.location.href = "/jy_mobile/dataexport/limitpreview/" + data._id + '?type=senior';
                       }
                     }
                 }

+ 1 - 1
src/web/staticres/dataExport/css/conditions.css

@@ -842,7 +842,7 @@ input.sm {
   overflow-y: hidden;
   cursor: pointer;
 }
-.filed-tooltip {
+.el-tooltip__popper.filed-tooltip {
   padding: 8px 10px;
   width: 418px;
   background: rgba(0, 0, 0, 0.75);

+ 2 - 2
src/web/templates/pc/createOrderPage.html

@@ -182,7 +182,7 @@
                   </div>
               </div>
               <div style="font-size: 14px;flex: 1;">
-                <span style="color: #2CB7CA">包含:</span>省份、城市、公告标题、公告类别、公告内容、发布时间、公告地址、剑鱼标讯地址、项目名称、项目范围、预算金额、中标金额、开标日期、采购单位、采购单位信息(采购单位联系人、采购单位联系电话、招标代理机构)、中标单位信息(中标单位、中标单位联系人、中标单位联系电话)(来源:招标公告网站)、中标单位信息(中标单位联系人、中标单位联系电话、电子邮箱)(来源:国家企业公示网站)
+                <span style="color: #2CB7CA">包含:</span>省份、城市、公告标题、公告类别、公告内容、发布时间、公告地址、剑鱼标讯地址、项目名称、项目范围、预算金额、中标金额、开标日期、采购单位信息(采购单位名称、采购单位联系人、采购单位联系电话)、招标代理机构、中标单位信息(中标单位名称、中标单位联系人、中标单位联系电话)(来源:招标公告网站)、中标单位信息(中标单位联系人、中标单位联系电话、电子邮箱)(来源:国家企业公示网站
               </div>
               <div class="dataPreview" type="gj" style="color: #2CB7CA;width: 56px;font-size: 14px;margin-right: 20px;margin-left: 38px;cursor: pointer">预览数据</div>
             </div>
@@ -217,7 +217,7 @@
                 <div>标准字段包</div>
                 <div>省份、城市、公告标题、剑鱼标讯地址、公告类别、发布时间、采购单位、中标单位、中标金额、项目名称、公告内容</div>
                 <div>高级字段包</div>
-                <div>省份、城市、公告标题、公告类别、公告内容、发布时间、公告地址、剑鱼标讯地址、项目名称、项目范围、预算金额、中标金额、开标日期、采购单位、采购单位信息(采购单位联系人、采购单位联系电话、招标代理机构)、中标单位信息(中标单位、中标单位联系人、中标单位联系电话)(来源:招标公告网站)、中标单位信息(中标单位联系人、中标单位联系电话、电子邮箱)(来源:国家企业公示网站)</div>
+                <div>省份、城市、公告标题、公告类别、公告内容、发布时间、公告地址、剑鱼标讯地址、项目名称、项目范围、预算金额、中标金额、开标日期、采购单位信息(采购单位名称、采购单位联系人、采购单位联系电话)、招标代理机构、中标单位信息(中标单位名称、中标单位联系人、中标单位联系电话)(来源:招标公告网站)、中标单位信息(中标单位联系人、中标单位联系电话、电子邮箱)(来源:国家企业公示网站</div>
             </span>
         </span>
         <div class="main_footer">

+ 161 - 43
src/web/templates/pc/dataExport_sieve.html

@@ -25,6 +25,7 @@
     <script src="//cdn-common.jianyu360.com/cdn/lib/html2canvas/1.4.0/dist/html2canvas.js"></script>
     <script type="text/javascript" src="{{Msg "seo" "cdn"}}/js/public-nav.js?v={{Msg "seo" "version"}}"></script>
     <script src="{{Msg "seo" "cdn"}}/swiper/swiper.min.js?v={{Msg "seo" "version"}}"></script>
+    <script src="https://cdn.bootcdn.net/ajax/libs/fontfaceobserver/2.1.0/fontfaceobserver.js"></script>
     <title>数据导出_拟建项目导出_招标采购数据导出_中标数据导出-剑鱼标讯</title>
     <meta content="数据导出" theme="light" name="enable-header"/>
     <meta name="Keywords" content="拟建项目导出,招标采购数据导出,中标数据导出,剑鱼标讯"/>
@@ -538,6 +539,19 @@
         .select-area:hover, .info-select-now:hover {
             color: #2CB7CA;
         }
+        @font-face {
+          font-style: normal;
+          font-weight: normal;
+          font-family: 'MyNewFont';
+          src: url('/fonts/ttf/{{.T.ttf}}.eot');  /* IE 9 - 11 */
+          src: url('/fonts/ttf/{{.T.ttf}}.eot?#iefix') format('embedded-opentype'), /* IE Fix for IE 6-8*/
+          url("{{Msg "seo" "cdn"}}/fonts/ttf/{{.T.ttf}}.ttf") format("truetype");  /* chrome、firefox、opera、Safari, Android, iOS 4.2+ */
+        }
+        .mosaic-text {
+          display: inline !important;
+          color: transparent !important;
+          text-shadow: 0 0 10px rgba(0,0,0,0.5);
+        }
     </style>
 </head>
 <body>
@@ -883,10 +897,10 @@
           <div class="data_specs">数据规格
             <el-tooltip popper-class="filed-tooltip" class="item" effect="dark" placement="top">
               <template #content>
-                标准段包:<br/>
+                标准段包:<br/>
                 省份、城市、公告标题、剑鱼标讯地址、公告类别、发布时间、采购单位、中标单位、中标金额、项目名称、公告内容<br/>
                 高级字段包:<br/>
-                省份、城市、公告标题、公告类别、公告内容、发布时间、公告地址、剑鱼标讯地址、项目名称、项目范围、预算金额、中标金额、开标日期、采购单位、采购单位信息(采购单位联系人、采购单位联系电话、招标代理机构)、中标单位信息(中标单位、中标单位联系人、中标单位联系电话)(来源:招标公告网站)、中标单位信息(中标单位联系人、中标单位联系电话、电子邮箱)(来源:国家企业公示网站)
+                省份、城市、公告标题、公告类别、公告内容、发布时间、公告地址、剑鱼标讯地址、项目名称、项目范围、预算金额、中标金额、开标日期、采购单位信息(采购单位名称、采购单位联系人、采购单位联系电话)、招标代理机构、中标单位信息(中标单位名称、中标单位联系人、中标单位联系电话)(来源:招标公告网站)、中标单位信息(中标单位联系人、中标单位联系电话、电子邮箱)(来源:国家企业公示网站
               </template>
               <img class="data_help_img" src='{{Msg "seo" "cdn"}}/images/help-b.png' />
             </el-tooltip>
@@ -911,10 +925,10 @@
           <div class="data_specs">数据规格
             <el-tooltip popper-class="filed-tooltip" class="item" effect="dark" placement="top">
               <template #content>
-                标准段包:<br/>
+                标准段包:<br/>
                 省份、城市、公告标题、剑鱼标讯地址、公告类别、发布时间、采购单位、中标单位、中标金额、项目名称、公告内容<br/>
                 高级字段包:<br/>
-                省份、城市、公告标题、公告类别、公告内容、发布时间、公告地址、剑鱼标讯地址、项目名称、项目范围、预算金额、中标金额、开标日期、采购单位、采购单位信息(采购单位联系人、采购单位联系电话、招标代理机构)、中标单位信息(中标单位、中标单位联系人、中标单位联系电话)(来源:招标公告网站)、中标单位信息(中标单位联系人、中标单位联系电话、电子邮箱)(来源:国家企业公示网站)
+                省份、城市、公告标题、公告类别、公告内容、发布时间、公告地址、剑鱼标讯地址、项目名称、项目范围、预算金额、中标金额、开标日期、采购单位信息(采购单位名称、采购单位联系人、采购单位联系电话)、招标代理机构、中标单位信息(中标单位名称、中标单位联系人、中标单位联系电话)(来源:招标公告网站)、中标单位信息(中标单位联系人、中标单位联系电话、电子邮箱)(来源:国家企业公示网站
               </template>
               <img class="data_help_img" src='{{Msg "seo" "cdn"}}/images/help-b.png' />
             </el-tooltip>
@@ -931,7 +945,7 @@
             </div>
         </div>
       </div>
-      <div class="dataExport_main">
+      <div class="dataExport_main" id="dataExport_main">
         <div v-if="isfixed" class="fixedTr data_fixed">
           <div id="previewData_bz" class="previewData_bz"></div>
           <!-- <table class="d_bz" cellspacing="0" cellpadding="0">
@@ -959,13 +973,13 @@
               <td>${item.publishtime}</td>
               <td>${item.buyer}</td>
               <td>${item.s_winner}</td>
-              <td>${item.bidamount}</td>
+              <td name="money">${item.bidamount}</td>
               <td>${item.projectname}</td>
               <td>${item.detail}</td>
               <td>${item.url}</td>
             </tr>
         </table>
-        <table v-if="dataType === '2'" class="d_gj" cellspacing="0" cellpadding="0">
+        <table v-if="dataType === '2'" id="d_gj" class="d_gj" cellspacing="0" cellpadding="0">
             <tr id="firstTrGj">
               <td :rowspan="item.rowspan" :colspan="item.colspan" v-for="(item, index) in title" :key="index">
                 <span v-if="index===13&&dataType === '2'||index===12&&dataType === '2'">${item.title}<br/>(万元)</span>
@@ -983,7 +997,7 @@
               <td>联系电话</td>
               <td>电子邮箱</td>
             </tr>
-            <tr v-for="(item, index) in dataInfo.list" :key="index">
+            <tr class="content" v-for="(item, index) in dataInfo.list" :key="index">
               <td>${index+1}</td>
               <td>${item.area}</td>
               <td>${item.city}</td>
@@ -996,12 +1010,12 @@
               <td>${item.projectname}</td>
               <td>${item.projectcode}</td>
               <td>${item.projectscope}</td>
-              <td>${item.budget}</td>
-              <td>${item.bidamount}</td>
+              <td name="money">${item.budget}</td>
+              <td name="money">${item.bidamount}</td>
               <td>${item.bidopentime}</td>
               <td>${item.buyer}</td>
-              <td>${item.buyerperson}</td>
-              <td>${item.buyertel}</td>
+              <td name="name">${item.buyerperson}</td>
+              <td name="phone">${item.buyertel}</td>
               <td>${item.agency}</td>
               <td>${item.s_winner}</td>
               <td name="name">${item.winnerperson}</td>
@@ -1109,25 +1123,32 @@
     el: '#conditions-box',
     data: {
       title: [
-        {rowspan: 1,colspan: 1,title: '序号',},
-        {rowspan: 1,colspan: 1,title: '省份',},
-        {rowspan: 1,colspan: 1,title: '城市',},
-        {rowspan: 1,colspan: 1,title: '公告标题',},
-        {rowspan: 1,colspan: 1,title: '公告类别',},
-        {rowspan: 1,colspan: 1,title: '发布时间',},
-        {rowspan: 1,colspan: 1,title: '采购单位',},
-        {rowspan: 1,colspan: 1,title: '中标单位',},
-        {rowspan: 1,colspan: 1,title: '项目名称',},
-        {rowspan: 1,colspan: 1,title: '中标金额',},
-        {rowspan: 1,colspan: 1,title: '公告内容',},
-        {rowspan: 1,colspan: 1,title: '剑鱼标讯地址',}
+        {rowspan: 2,colspan: 1,title: '序号',},
+        {rowspan: 2,colspan: 1,title: '省份',},
+        {rowspan: 2,colspan: 1,title: '城市',},
+        {rowspan: 2,colspan: 1,title: '公告标题',},
+        {rowspan: 2,colspan: 1,title: '公告类别',},
+        {rowspan: 2,colspan: 1,title: '公告内容',},
+        {rowspan: 2,colspan: 1,title: '发布时间',},
+        {rowspan: 2,colspan: 1,title: '公告地址',},
+        {rowspan: 2,colspan: 1,title: '剑鱼标讯地址',},
+        {rowspan: 2,colspan: 1,title: '项目名称',},
+        {rowspan: 2,colspan: 1,title: '项目编号',},
+        {rowspan: 2,colspan: 1,title: '项目范围',},
+        {rowspan: 2,colspan: 1,title: '预算金额',},
+        {rowspan: 2,colspan: 1,title: '中标金额',},
+        {rowspan: 2,colspan: 1,title: '开标日期',},
+        {rowspan: 1,colspan: 3,title: '采购单位信息',},
+        {rowspan: 2,colspan: 1,title: '招标代理机构',},
+        {rowspan: 1,colspan: 3,title: '中标单位信息(来源:招标公告网站)',},
+        {rowspan: 1,colspan: 3,title: '中标单位信息(来源:国家企业公示网站)',},
       ],
       loading: false,
       bottomfixed: false,
       isfixed: false,
       tableShow: false,
       noDataDialog: false,
-      dataType: '1',
+      dataType: '2',
       dataInfo: {
         list: []
       }
@@ -1151,9 +1172,9 @@
       renderImg () {
         var w=$(".d_bz").width();
         var h=$(".d_bz").height();
-        var whichDom = document.querySelector(".d_bz")
+        var whichDom = document.querySelector(".d_gj")
         $(".sy").width($(".d_bz").width()).height($(".d_bz").height());
-        if(dataNode._data.dataType === '2') {
+        if(dataNode._data.dataType === '1') {
           whichDom = document.querySelector(".d_bz")
         }
         if(whichDom) {
@@ -1168,11 +1189,12 @@
         var proNode = document.getElementById('previewData_bz')
         if(!proNode) return
         proNode.innerHTML = ''
-        var node = document.getElementById('firstTr')
+        var node = document.getElementById('firstTrGj')
         if(type ===  '2') {
           node = document.getElementById('firstTrGj')
           var height = 54
         } else {
+          node = document.getElementById('firstTr')
           var height = node.offsetHeight // dom高
         }
         if(node) {
@@ -1206,21 +1228,36 @@
             document.documentElement.scrollTop ||
             document.body.scrollTop
             console.log(st)
+        var scrollSt = $(window).scrollTop()
+        $bottomHeight = $('.j-bottom').outerHeight()
         var $bottomDom =  $(".j-bottom").offset().top;
-        var $height = $(window).height()
-        if ($bottomDom - 750 >= st) {
-          $('.footer-two').addClass('bottomfixed')
-          if (this.dataInfo.list) {
-            if(this.dataInfo.list.length > 0) {
-              $('.footer-two').show()
+        if ($bottomDom - $bottomHeight > scrollSt + $bottomHeight) {
+          setTimeout(() => {
+            $('.footer-two').addClass('bottomfixed')
+            $('.footer-one').hide()
+            if (this.dataInfo.list) {
+              if(this.dataInfo.list.length > 0) {
+                $('.footer-two').show()
+              } else {
+                $('.footer-two').removeClass('bottomfixed').hide()
+              }
             } else {
               $('.footer-two').removeClass('bottomfixed').hide()
             }
-          } else {
-            $('.footer-two').removeClass('bottomfixed').hide()
-          }
+          }, 500)
         } else {
-          $('.footer-two').removeClass('bottomfixed').hide()
+          setTimeout(() => {
+            $('.footer-two').removeClass('bottomfixed').hide()
+            if (this.dataInfo.list) {
+              if(this.dataInfo.list.length > 0) {
+                $('.footer-one').show()
+              } else {
+                $('.footer-one').hide()
+              }
+            } else {
+              $('.footer-one').hide()
+            }
+          }, 500)
         }
         st > 1300 ? (this.isfixed = true) : (this.isfixed = false)
         // 获取表格滚动距离
@@ -1273,7 +1310,29 @@
           ]
         }
         $("#sieve").click()
-        document.getElementById('sieve').scrollIntoView()
+        if(this.tableShow) {
+          // 字体加载异常处理
+          try {
+            document.fonts.ready.then(function() {
+              dataNode.renderImg()
+            });
+          } catch (err) {
+            console.log(err)
+          }
+          try {
+            var font = new FontFaceObserver('MyNewFont');
+            font.load().then(function () {
+              var html = document.querySelector('body');
+              html.classList.add('font-loaded');
+              dataNode.renderImg()
+            }, function () {
+              console.log('Font is not available');
+            });
+          } catch (err) {
+            console.log(err)
+          }
+          document.getElementById('sieve').scrollIntoView()
+        }
       }
     }
   })
@@ -1283,8 +1342,48 @@
   })
   $('.data-now-export').click(function() {
     let redirectUrl = '/front/dataExport/toCreateOrderPage/' + dataNode._data.dataInfo._id
-    window.location.href = redirectUrl + "?from=" + GetQueryString("from")+ "&source=" +GetQueryString("source")
+    window.location.href = redirectUrl + "?from=" + GetQueryString("from")+ "&type=" + dataNode.dataType +  "&source=" +GetQueryString("source")
   })
+	function isIE(){
+		if(!!window.ActiveXObject || "ActiveXObject" in window){
+			return true;
+		}else{
+			return false;
+		}
+	}
+	$(function () {
+		if (isIE()) {
+		  dataNode.renderImg()
+		}
+	})
+	var ttf={{.T.ttf}}
+	function textFormatForMosaic (text, phone) {
+		if (typeof text === 'string' || typeof text == 'number') {
+			if (phone) {
+				return String(text).replace(/([\w\W]*)([\w\W]{4})$/, '$1****')
+			} else {
+				return String(text).replace(/^(.)(.*)/, '$1**')
+			}
+		}
+		return text
+	}
+	function moneyFormatForCover (money) {
+		if (typeof money === 'string' || typeof money == 'number') {
+			return String(money).replace(/(\d)(\.){0,1}(\d)/, '$1$2*')
+		}
+		return money
+	}
+
+	$("td[name='name']").each(function () {
+		$(this).html(textFormatForMosaic($(this).text()))
+	})
+	$("td[name='phone']").each(function () {
+		$(this).html(textFormatForMosaic($(this).text(), true))
+	})
+	$("td[name='money']").each(function () {
+		$(this).html(moneyFormatForCover($(this).text()))
+	})
+
 </script>
 <script type="text/javascript">
     (function (undefined) {
@@ -1998,12 +2097,13 @@
                 $('.dataMore-out').hide()
               }
               $(function(){
-                dataNode.renderImg()
                 dataNode.setHtmlCanvas(dataType)
               })
               setTimeout(function(){
-                var ele = document.getElementById("dataExport_table");
-                ele.scrollIntoView(true)
+                var ele = document.getElementById("first_option");
+                ele.scrollIntoView()
+                var scrollSt = $(window).scrollTop()
+                $(window).scrollTop(scrollSt-54)
               },100)
             } else {
               $('.dataExport-footer').hide()
@@ -2016,9 +2116,27 @@
           // if (data.success) {
           //     window.location.href = data.redirectUrl + "?from=" + GetQueryString("from")+ "&source=" +GetQueryString("source");
           // }
+          setTimeout(() => {
+            var exportDiv = document.getElementById('dataExport_main')
+            exportDiv.addEventListener("wheel", myFunction);
+          })
         }, 'json');
     });
 
+    function myFunction (event) {
+      //禁止事件默认行为(此处禁止鼠标滚轮行为关联到"屏幕滚动条上下移动"行为)  
+      event.preventDefault();  
+      //设置鼠标滚轮滚动时屏幕滚动条的移动步长  
+      var step = 50;
+      if(event.deltaY < 0){  
+          //向上滚动鼠标滚轮,屏幕滚动条左移  
+          this.scrollLeft -= step;  
+      } else {  
+          //向下滚动鼠标滚轮,屏幕滚动条右移  
+          this.scrollLeft += step;  
+      }
+    }
+
     $("#reset").click(function () {
         clearLocalStorage();
         //botton

+ 1 - 1
src/web/templates/weixin/dataExport/dataExport.html

@@ -1158,7 +1158,7 @@
                       if(data._id!==""){
                         // /front/wx_dataExport/submitOrder
                         // window.location.href="/jy_mobile/common/order/create/dataexport?id="+data._id+"&source=d&dataspec="+data_spec;
-                        window.location.href = "/jy_mobile/dataexport/limitpreview/" + data._id;
+                        window.location.href = "/jy_mobile/dataexport/limitpreview/" + data._id + '?type=senior';
                       }
                     }
                 }