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