Prechádzať zdrojové kódy

Merge branch 'release' into dev4.6.2.8

luwenna 3 rokov pred
rodič
commit
8629652c5a

+ 10 - 0
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/utils.js

@@ -317,9 +317,19 @@ var utils = {
     // 解决ios返回不刷新页面的问题
     iosBackRefresh: function () {
         var isPageHide = false;
+        let superSearch_iosNoRefresh = sessionStorage.getItem('superSearch_iosNoRefresh')
         window.addEventListener('pageshow', function () {
             if (isPageHide) {
+              // ios从三级页返回不刷新页面
+              if(!superSearch_iosNoRefresh) {
                 location.reload();
+              } else {
+                sessionStorage.removeItem('superSearch_iosNoRefresh')
+              }
+            } else {
+              if(superSearch_iosNoRefresh) {
+                sessionStorage.removeItem('superSearch_iosNoRefresh')
+              }
             }
         });
         window.addEventListener('pagehide', function () {

+ 7 - 0
src/jfw/modules/app/src/web/staticres/jyapp/js/searchindex.js

@@ -63,7 +63,13 @@ $(function () {
         var isPageHide = false;
         window.addEventListener('pageshow', function () {
             if (isPageHide) {
+              // ios从三级页返回不刷新页面
+              const superSearch_iosNoRefresh = sessionStorage.getItem('superSearch_iosNoRefresh')
+              if(!superSearch_iosNoRefresh) {
                 location.reload();
+              } else {
+                sessionStorage.removeItem('superSearch_iosNoRefresh')
+              }
             }
         });
         window.addEventListener('pagehide', function () {
@@ -2223,6 +2229,7 @@ var SuperSearch = {
             sessionStorage.searchpageName = "superSearch";
             sessionStorage.superSearch_dyDiv = SuperSearch.dyDiv;
             sessionStorage.superSearch_advertIsClose = SuperSearch.advertIsClose;
+            sessionStorage.superSearch_iosNoRefresh= 'detail'
 //			if($("#supersearchPage .on").hasClass("showlist")){
 //				localStorage.superSearch_showType="showList";
 //			}else if($("#supersearchPage .on").hasClass("showtable")){

+ 65 - 2
src/jfw/modules/app/src/web/templates/vipsubscribe/vip_introduce.html

@@ -16,6 +16,44 @@
     <link rel="stylesheet" type="text/css" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/weui.min.css' />
     <link rel="stylesheet" type="text/css" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/css/vip_introduce.css?v={{Msg "seo" "version"}}">
     <link rel="stylesheet" type="text/css" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/css/font.css?v={{Msg "seo" "version"}}"/>
+        <style>
+        .pop-tip-group.active > div{
+            width: 100%;
+            background: linear-gradient(173deg, #FFA573 0%, #F01212 100%);
+            border-radius: 0.10rem;
+        }
+        .pop-tip-group.active {
+            width: 4.7rem;
+            background: linear-gradient(173deg, #FFA573 0%, #F01212 100%);
+            border-radius: 0.10rem;
+        }
+        .pop-tip-group.active::after {
+            content: '';
+            position: absolute;
+            bottom: -0.06rem;
+            left: 50%;
+            transform: translateX(-50%);
+            display: inline-block;
+            z-index: -1;
+            width: 2.4rem;
+            height: 0.7rem;
+            background-image: url("/common-module/vipsubscribe/image/info/tagBottom.png");
+            background-size: cover;
+            background-repeat: no-repeat;
+        }
+        .pop-tip-group.active::before {
+            content: '';
+            position: absolute;
+            top: 0;
+            left: 0;
+            width: 0.72rem;
+            height: 0.32rem;
+            display: inline-block;
+            background: url('{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/public/image/icon-1212.png?v={{Msg "seo" "version"}}');
+            background-size: cover;
+            background-repeat: no-repeat;
+        }
+    </style>
 </head>
 <body>
 <div class="j-container" id="vip-intro-container">
@@ -39,8 +77,12 @@
                 <img src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/vipsubscribe/image/info/tagBottom.png?v={{Msg "seo" "version"}}">
                 <div>低至 <span>38</span>元/月</div>
         </div>
-            <div class="pop-button" data-need-bind-phone data-url="/jyapp/vipsubscribe/vipsubscribe_new{{if .T.disWord}}?disWord={{.T.disWord}}{{end}}"  id="vip-introduce">
-                <img src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/vipsubscribe/image/info/btnBottom.png?v={{Msg "seo" "version"}}">
+        <div class="pop-tip-group active" style="display: none">
+                <div>限时早鸟价,买1年送1年</div>
+        </div>
+        <div class="pop-button" data-need-bind-phone data-url="/jyapp/vipsubscribe/vipsubscribe_new{{if .T.disWord}}?disWord={{.T.disWord}}{{end}}"  id="vip-introduce">
+                <img data-name="default" src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/vipsubscribe/image/info/btnBottom.png?v={{Msg "seo" "version"}}">
+                <img data-name="active" style="display: none"  src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/vipsubscribe/image/info/btnBottom1212.png?v={{Msg "seo" "version"}}">
         </div>
     </div>
 </div>
@@ -50,6 +92,27 @@
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/common.js?v={{Msg "seo" "mod_version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/js/utils.js?v={{Msg "seo" "mod_version"}}'></script>
 <script>
+    // 双12活动
+    $.ajax({
+        url: '/doubletwelve/activing',
+        dataType: 'json',
+        success: function(res) {
+            if (res && res.nowtime) {
+                if (res.nowtime <= res.endtime && res.nowtime >= res.starttime) {
+                    $(".pop-tip-group").hide()
+                    $(".pop-tip-group.active").show()
+                    $('.pop-button img[data-name]').hide()
+                    $('.pop-button img[data-name="active"]').show()
+                } else {
+                    if (res.nowtime <= res.endtime) {
+                        setTimeout(function (){
+                            location.reload()
+                        }, (res.endtime - res.nowtime) * 1000)
+                    }
+                }
+            }
+        }
+    })
     $("*[data-need-bind-phone]").on('click', function () {
         window.location.replace($(this).attr('data-url'))
     })

+ 6 - 1
src/jfw/modules/app/src/web/templates/weixin/historypush.html

@@ -173,7 +173,7 @@
     <keep-component ref="vKeepComponent" @on-change-keep="changeKeepStatus"  :bid="nowOpenBid" :first="false"></keep-component>
 </div>
 
-<div class="j-container" id="select-meau" style="display: none;">
+<div class="j-container" id="select-meau" style="visibility: hidden;">
     <van-popover v-model="showPopover" placement="top" trigger="click" class="housePover">
         <van-grid
         class="fixedPover"
@@ -803,6 +803,7 @@
       this.isCanSwitch=true;
       this.InitPersonal=function(r){
         $("#sub_manager").click(function() {
+            setSessionStorage();
             sessionStorage.setItem(vm.sessStorageKey, JSON.stringify(vm.$data))
             let thisType = sessionStorage.getItem('userIsNew')
             if (window.userNewType || thisType) {
@@ -833,6 +834,7 @@
       }
       this.InitVip=function(r){
         $("#sub_manager").click(function() {
+            setSessionStorage();
             console.log(vm.rootInfo, 'vmrootInfo')
             sessionStorage.setItem(vm.sessStorageKey, JSON.stringify(vm.$data))
             let thisType = sessionStorage.getItem('userIsNew')
@@ -1023,6 +1025,7 @@
             }, 300);
         }
         setTimeout(() => {
+            $('#select-meau').css({'visibility': 'initial'})
             $('#select-meau').css({'display':'flex'})
         }, 500)
         if (hasNextPage) {
@@ -1285,6 +1288,7 @@ function hasNoData() {
     var NoDataShow = $('.findnull-no-key').is(':hidden')
     $(".listcontent").hide()
     $("#loading").hide()
+    $('#select-meau').css({'visibility': 'initial'})
     $('#select-meau').css({'display': 'flex'})
     $(".color_top").hide()
     // 如果no-key-no-data 不显示,才会显示no-data
@@ -1655,6 +1659,7 @@ function hasNoData() {
           sessionStorage.historypushDataCache = JSON.stringify(dataCache);
           sessionStorage.historypushPageIndexCache = pageIndex;
           sessionStorage.historypushHasNextPage = hasNextPage;
+          sessionStorage.superSearch_iosNoRefresh = 'detail'
       }
   }
 

BIN
src/web/staticres/common-module/public/image/icon-1212.png


+ 6 - 0
src/web/staticres/common-module/public/js/utils.js

@@ -318,7 +318,13 @@ var utils = {
         var isPageHide = false;
         window.addEventListener('pageshow', function () {
             if (isPageHide) {
+              // ios从三级页返回不刷新页面
+              const superSearch_iosNoRefresh = sessionStorage.getItem('superSearch_iosNoRefresh')
+              if(!superSearch_iosNoRefresh) {
                 location.reload();
+              } else {
+                sessionStorage.removeItem('superSearch_iosNoRefresh')
+              }
             }
         });
         window.addEventListener('pagehide', function () {

BIN
src/web/staticres/common-module/vipsubscribe/image/info/btnBottom1212.png


+ 0 - 0
src/web/staticres/doubletwelve/activing


+ 57 - 36
src/web/staticres/js/dateFunc.js

@@ -1,53 +1,74 @@
-function dateTime (date, fmt='yyyy年MM月dd日 hh:mm') {// 时间戳转换
-  if (!date) return ''
-  d = new Date(date)
+function dateTime(date, fmt) {
+  if (fmt === void 0) {
+    fmt = 'yyyy年MM月dd日 hh:mm';
+  }
+
+  // 时间戳转换
+  if (!date) return '';
+  var d = new Date(date);
   var o = {
-    "M+": d.getMonth() + 1, //月份 
-    "d+": d.getDate(), //日 
-    "h+": d.getHours(), //小时 
-    "m+": d.getMinutes(), //分 
+    "M+": d.getMonth() + 1,
+    //月份
+    "d+": d.getDate(),
+    //日
+    "h+": d.getHours(),
+    //小时
+    "m+": d.getMinutes(),
+    //分
     "s+": d.getSeconds() //秒
-  }
 
-  // 根据y的长度来截取年
-  if (/(y+)/.test(fmt)){ 
-    fmt = fmt.replace(RegExp.$1, (d.getFullYear() + "").substr(4 - RegExp.$1.length))
+  }; // 根据y的长度来截取年
+
+  if (/(y+)/.test(fmt)) {
+    fmt = fmt.replace(RegExp.$1, (d.getFullYear() + "").substr(4 - RegExp.$1.length));
   }
-  for (var k in o){
-    if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)))
+
+  for (var k in o) {
+    if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
   }
-  return fmt
+
+  return fmt;
 }
-function dateYear () {// 获取当年的第一天
-  var date = new Date()
-  date.setDate(1)
-  date.setMonth(0)
-  return date.getTime()
+
+function dateYear() {
+  // 获取当年的第一天
+  var date = new Date();
+  date.setDate(1);
+  date.setMonth(0);
+  return date.getTime();
 }
-function dateLast () {// 获取昨天
-  var day = new Date()
-  day.setTime(day.getTime()-24*60*60*1000)
-  return dateTime(day,'yyyy/MM/dd')
+
+function dateLast() {
+  // 获取昨天
+  var day = new Date();
+  day.setTime(day.getTime() - 24 * 60 * 60 * 1000);
+  return dateTime(day, 'yyyy/MM/dd');
 }
-function dateMatter (time) {// 时间转换
-  var timeStr = ''
-  var currentDay = dateTime(time,'yyyy/MM/dd') // 当前日期
-  var lingDay = new Date(new Date().toLocaleDateString()).getTime() // 获取当天0点
-  var isTime = new Date(time) - lingDay
-  var diff = isTime < 0 ? '昨天' : ''
-  var isDate = new Date(time) - dateYear()
+
+function dateMatter(time) {
+  // 时间转换
+  var timeStr = '';
+  var currentDay = dateTime(time, 'yyyy/MM/dd'); // 当前日期
+
+  var lingDay = new Date(new Date().toLocaleDateString()).getTime(); // 获取当天0点
+
+  var isTime = new Date(time) - lingDay;
+  var diff = isTime < 0 ? '昨天' : '';
+  var isDate = new Date(time) - dateYear();
+
   if (isDate < 0) {
-    timeStr = dateTime(time)
+    timeStr = dateTime(time);
   } else {
     if (currentDay === dateLast()) {
-      timeStr = diff + dateTime(time,'hh:mm')
+      timeStr = diff + dateTime(time, 'hh:mm');
     } else {
       if (isTime < 0) {
-        timeStr = dateTime(time,'MM月dd日 hh:mm')
+        timeStr = dateTime(time, 'MM月dd日 hh:mm');
       } else {
-        timeStr = dateTime(time,'hh:mm')
+        timeStr = dateTime(time, 'hh:mm');
       }
     }
   }
-  return timeStr
-}
+
+  return timeStr;
+}

+ 2 - 2
src/web/staticres/js/pc-collect-bid-info.js

@@ -56,7 +56,7 @@ var temps = `
                     </el-select>
                   </el-form-item>
                 </div>
-                <div class="long-control" v-show="showBranch">
+                <div class="long-control" v-if="showBranch">
                   <el-form-item label="部门 :" prop="branch">
                     <el-select v-model="form.branch" placeholder="请选择部门" data-short-input clearable>
                       <el-option v-for="item in branchData" :key="item.value" :label="item.label" :value="item.value">
@@ -160,7 +160,7 @@ var vmbid = new Vue({
       }
     }
     var validBranch = function(rule,value,callback) {
-      if ((vmbid.form.job.indexOf('总裁') === -1 || vmbid.form.indexOf('总经理') === -1) && !value) {
+      if ((vmbid.form.job.indexOf('总裁') === -1 || vmbid.form.job.indexOf('总经理') === -1) && !value) {
         return callback(new Error('部门不能为空'));
       } else {
         callback();

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 139 - 139
src/web/staticres/js/pc-collect-user-info.js


BIN
src/web/staticres/vipsubscribe/image/double_12.png


+ 1 - 1
src/web/templates/common/baiducc.html

@@ -150,7 +150,7 @@
                 return b.url.length - a.url.length
             })
         },
-        getPageInfo () {
+        getPageInfo: function () {
             var tempInfo = this.findMapsForUrl(location.href)
             if (location.pathname === '/') {
                 tempInfo = [

+ 27 - 26
src/web/templates/pc/myOrder.html

@@ -679,16 +679,16 @@
         }
       },
       filters: {
-        FormatNum (value) {
+        FormatNum: function (value) {
           return FormatNum(value)
         },
-        FormatDateFn (value) {
+        FormatDateFn: function (value) {
           return new Date(value * 1000).Format('yyyy/MM/dd')
         },
-        formatAreaText (value, old) {
+        formatAreaText: function (value, old) {
             return value === -1  ? '全国' : ((old ? (value - old) : value)  + '个省')
         },
-        formatAreaTextBefore (type) {
+        formatAreaTextBefore: function (type) {
           var typeMap = {
               '1': '购买',
               '2': '升级',
@@ -696,7 +696,7 @@
           }
           return typeMap[type || '1']
         },
-        formatTimeText (type) {
+        formatTimeText: function (type) {
           var result = ''
           if (typeof type === "string") {
             type = type.replace(/-/g, '/')
@@ -707,7 +707,7 @@
           }
           return  result
         },
-        formatCycleText (type) {
+        formatCycleText: function (type) {
             var typeMap = {
                 '1': '1个月',
                 '2': '1季',
@@ -717,13 +717,14 @@
         }
       },
       computed: {
-        getList () {
-            return this.list.filter(v => {
+        getList: function () {
+            var _this = this
+            return this.list.filter(function (v) {
               if (v.product_type === '线上课程') {
                 v.product_type = '中标必听课'
               }
-              return this.typeEnum.indexOf(v.product_type) !== -1
-            }).map((v, index) => {
+              return _this.typeEnum.indexOf(v.product_type) !== -1
+            }).map(function (v, index) {
               // product_type
               if (v.product_type === '线上课程') {
                 v.product_type = '中标必听课'
@@ -744,14 +745,14 @@
               }
               // 大会员
               if (v.product_type === '大会员') {
-                v.icon = this.imgMap[v.product_type].icons[this.bigIndexMap[v.filter.level]].icon
+                v.icon = _this.imgMap[v.product_type].icons[_this.bigIndexMap[v.filter.level]].icon
               } else if (v.product_type === '大会员-子账号') {
-                v.icon = this.imgMap[v.product_type].icons[this.bigIndexMap[v.filter.level]].icon
+                v.icon = _this.imgMap[v.product_type].icons[_this.bigIndexMap[v.filter.level]].icon
               } else {
-                v.icon = this.imgMap[v.product_type].icon
+                v.icon = _this.imgMap[v.product_type].icon
               }
               v.memberInfo = {
-                level: this.bigIndexMap[v.filter.level],
+                level: _this.bigIndexMap[v.filter.level],
                 cycle: '-',
                 endTime: '-'
               }
@@ -886,7 +887,7 @@
               if (v.product_type === '大会员-子账号') {
                 // 大会员子账号
                 v.memberChildInfo = {
-                  level: this.bigIndexMap[v.filter.level],
+                  level: _this.bigIndexMap[v.filter.level],
                   endTime: '',
                   fee: v.filter.pay_sub_num,
                   free: v.filter.free_sub_num
@@ -899,7 +900,7 @@
             })
         }
       },
-      mounted () {
+      mounted: function () {
         this.changeAjaxParams({
           tabIndex: 0,
           pageNum: 1
@@ -913,7 +914,7 @@
           var prodMoney100 = (order_money * 100) + (discount_price * 100)
           return prodMoney100 / 100
         },
-        goPay (item) {
+        goPay: function (item) {
           var href = ''
           switch (item.product_type) {
             case '历史数据': {
@@ -976,7 +977,7 @@
           }
           location.href = href
         },
-        goCancel (item) {
+        goCancel: function (item) {
           var _this = this
           $.confirm({
             title: '订单取消',
@@ -1025,7 +1026,7 @@
             }
           });
         },
-        goInvoice (item) {
+        goInvoice: function (item) {
           if (item.applybill_status === 0) {
             if (item.product_type === '中标必听课') {
               var href = ''
@@ -1049,7 +1050,7 @@
             }
           }
         },
-        goShowTipForInvoice (str) {
+        goShowTipForInvoice: function (str) {
           var tempStr = str || '您已开具发票<br>如有问题请联系客服<br>400-108-6670'
           var showHtml = '<div style="width: 100%;height: 100%;z-index: 999; position: absolute;top: 0;background: rgba(0, 0, 0, 0.65);">   <div style="position: fixed;z-index: 9999;width: 540px;height: 262px;left: 50%;top: 30%;margin-left: -270px;background-color: #fff;border-radius: 6px;padding: 32px;display: flex;flex-direction: column;justify-items: center;align-items: center;">       <div class="invoice_title" style="color: #1D1D1D;font-size: 18px;line-height: 28px;">提示</div>       <div class="invoice_body"            style="height: 78px;margin: 20px 0px;font-size: 14px;line-height: 24px;text-align: center;">'+tempStr+'</div>       <div class="invoice_control"            style="width: 132px;height: 36px;text-align: center;background: #2CB7CA;border-radius: 6px;font-size: 16px;line-height: 36px;color: #FFFFFF;cursor: pointer;"            onclick="document.querySelector(\'#invoice_tip\').remove()"       >           我知道了       </div>   </div>\n</div>'
           var div_invoice_tip = document.createElement('div');
@@ -1058,7 +1059,7 @@
           document.body.appendChild(div_invoice_tip)
           return
         },
-        goLookInvoice (item) {
+        goLookInvoice: function (item) {
           var href = ''
           switch (item.product_type) {
             case '中标必听课': {
@@ -1076,7 +1077,7 @@
           }
           location.href = href
         },
-        goOpenInvoice (code) {
+        goOpenInvoice: function (code) {
           $.post("/subscribepay/orderListDetails/isOver", {"order_code": code}, function (r) {
             if (r.status !== 1) {
               window.open("/front/order/invoicetimeOut", '_self');
@@ -1085,7 +1086,7 @@
             }
           })
         },
-        goDetail (item) {
+        goDetail: function (item) {
           var href = ''
           switch (item.product_type) {
             case '历史数据': {
@@ -1147,7 +1148,7 @@
           }
           window.open(href)
         },
-        goDeleteOrder (item) {
+        goDeleteOrder: function (item) {
           var _this = this
           $.confirm({
             title: '订单删除',
@@ -1195,7 +1196,7 @@
             }
           });
         },
-        ajaxData () {
+        ajaxData: function () {
           var _this = this
           $.ajax({
             type: "post",
@@ -1226,7 +1227,7 @@
             }
           })
         },
-        changeAjaxParams (data) {
+        changeAjaxParams: function (data) {
           if (typeof data.tabIndex !== 'undefined') {
             this.ind = data.tabIndex
           }

+ 72 - 40
src/web/templates/pc/previewData.html

@@ -5,24 +5,24 @@
 		<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
 		<link rel="stylesheet" href="{{Msg "seo" "cdn"}}/dataExport/css/previewData.css?v={{Msg "seo" "version"}}">
 		<script src="https://cdn.bootcss.com/js-polyfills/0.1.42/polyfill.min.js"></script>
+		<script src="https://cdn.bootcdn.net/ajax/libs/fontfaceobserver/2.1.0/fontfaceobserver.js"></script>
 		<script src="{{Msg "seo" "cdn"}}/dataExport/js/html2canvas.min.js"></script>
 		<script src="{{Msg "seo" "cdn"}}/js/jquery.js"></script>
 		<title>预览数据</title>
 		<style>
 			@font-face {
 				font-style: normal;
-			  font-weight: 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("/fonts/ttf/{{.T.ttf}}.ttf") format("truetype");  /* chrome、firefox、opera、Safari, Android, iOS 4.2+ */
+				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>
 		<script>
 			var index=1;
@@ -72,21 +72,21 @@
             <td>{{$v.projectname}}</td>
 						<td>{{$v.detail}}</td>
             <td>{{$v.url}}</td>
-						
+
 					</tr>
 					{{end}}
 				</table>
 			{{else}}
-			<body style="min-width:2820px;">	
+			<body style="min-width:2820px;">
 				<table class="d_gj" cellspacing="0" cellpadding="0">
 				<tr>
 					<td rowspan=2>序号</td>
           <td rowspan=2>省份</td>
 					<td rowspan=2>城市</td>
 					<td rowspan=2>公告标题</td>
-          <td rowspan=2>公告类别</td>     
+          <td rowspan=2>公告类别</td>
 					<td rowspan=2>公告内容</td>
-          <td rowspan=2>发布时间</td>          
+          <td rowspan=2>发布时间</td>
 					<td rowspan=2>公告地址</td>
           <td rowspan=2>剑鱼标讯地址</td>
           <td rowspan=2>项目名称</td>
@@ -96,25 +96,25 @@
           <td rowspan=2>中标金额<br>(万元)</td>
           <td rowspan=2>开标日期</td>
           <td colspan=3>采购单位信息</td>
-          <td rowspan=2>招标代理机构</td>	
-          <td colspan=3>中标单位信息(来源:招标公告网站)</td>	
-          <td colspan=3>中标单位信息(来源:国家企业公示网站)</td>	
+          <td rowspan=2>招标代理机构</td>
+          <td colspan=3>中标单位信息(来源:招标公告网站)</td>
+          <td colspan=3>中标单位信息(来源:国家企业公示网站)</td>
 				</tr>
         <tr>
           <td>单位名称</td>
 					<td>联系人</td>
 					<td>联系电话</td>
-          
+
           <td>单位名称</td>
           <td>联系人</td>
           <td>联系电话</td>
-          
+
           <td>联系人</td>
           <td>联系电话</td>
           <td>电子邮箱</td>
         </tr>
-        
-        
+
+
 				{{range $i, $v := .T.data}}
 				<tr class="content">
 					<td>
@@ -126,8 +126,8 @@
 					<td>{{$v.city}}</td>
 					<td>{{$v.title}}</td>
           <td>{{$v.subtype}}</td>
-					<td>{{$v.detail}}</td>	
-          <td>{{$v.publishtime}}</td>		
+					<td>{{$v.detail}}</td>
+          <td>{{$v.publishtime}}</td>
 					<td>{{$v.href}}</td>
           <td>{{$v.url}}</td>
           <td>{{$v.projectname}}</td>
@@ -143,12 +143,12 @@
           <td>{{$v.s_winner}}</td>
           <td name="name">{{$v.winnerperson}}</td>
           <td name="phone">{{$v.winnertel}}</td>
-          
+
           <td name="name">{{$v.legal_person}}</td>
           <td name="phone">{{$v.company_phone}}</td>
           <td>{{$v.company_email}}</td>
-          
-					
+
+
 				</tr>
 				{{end}}
 			</table>
@@ -157,6 +157,39 @@
 			</div>
 	</body>
 	<script>
+	// 字体加载异常处理
+	try {
+		document.fonts.ready.then(function() {
+			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');
+			renderImg()
+		}, function () {
+			console.log('Font is not available');
+		});
+	} catch (err) {
+		console.log(err)
+	}
+	function isIE(){
+		if(!!window.ActiveXObject || "ActiveXObject" in window){
+			return true;
+		}else{
+			return false;
+		}
+	}
+	$(function () {
+		if (isIE()) {
+			renderImg()
+		}
+	})
+
 	var ttf={{.T.ttf}}
 	function textFormatForMosaic (text, phone) {
 		if (typeof text === 'string' || typeof text == 'number') {
@@ -175,27 +208,26 @@
 		return money
 	}
 
-	$(function(){
+	$("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()))
+	})
 
-			$("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()))
-			})
-
-			var w=$("table").width();
-			var h=$("table").height();
-			$(".sy").width($("table").width()).height($("table").height());
-			html2canvas(document.querySelector("body")).then(function(canvas){
-					var url=canvas.toDataURL('image/png');
-					$("body").append("<img class=\"fimg\" src=\""+url+"\">")
-					$("body img").width(w);
-			});
+	function renderImg () {
+		var w=$("table").width();
+		var h=$("table").height();
+		$(".sy").width($("table").width()).height($("table").height());
+		html2canvas(document.querySelector("body")).then(function(canvas){
+			var url=canvas.toDataURL('image/png');
+			$("body").append("<img class=\"fimg\" src=\""+url+"\">")
+			$("body img").width(w);
 		});
+	}
 	</script>
 {{include "/common/baiducc.html"}}
-</html>
+</html>

+ 4 - 4
src/web/templates/pc/proproject.html

@@ -636,7 +636,7 @@ document.querySelector(".searchControl").oncopy = function(){
     el: '#searchInner',
     delimiters: ['${', '}'],
     components: {},
-    data () {
+    data: function () {
       return {
         showPage: true,
         listState: {
@@ -647,10 +647,10 @@ document.querySelector(".searchControl").oncopy = function(){
       }
     },
     watch: {
-      'listState.num' (newVal) {
+      'listState.num': function (newVal) {
         // console.log(newVal, '分页')
       },
-      'listState.total' (newVal) {
+      'listState.total': function (newVal) {
         console.log(newVal, '总页码')
       }
     },
@@ -658,7 +658,7 @@ document.querySelector(".searchControl").oncopy = function(){
       console.log('总页码:' + totalPage + ',当前页:' + currentPage + ',一页数量:' + pageSize)
     },
     methods: {
-      onPageChange (p) {
+      onPageChange: function (p) {
         currentPage = p
         this.listState.num = p
         $(".tabContainer").hide();

+ 66 - 5
src/web/templates/pc/subscribe_new.html

@@ -84,6 +84,9 @@
           text-shadow: 2px 2px 0px #FFD1BD;
           margin-right: 22px;
       }
+      .footer-banner.active {
+          background: linear-gradient(91deg, #B10300 6%, #E24301 54%, #A60000 100%);
+      }
 
       .footer-banner .icon-close-box {
           position: absolute;
@@ -96,7 +99,31 @@
       .footer-banner .icon-close-box .icon-close {
           display: inline-block;
       }
-    </style>
+      .double12:hover {
+        transform: scale(1.2);
+     }
+    .double12 {
+      position: relative;
+      transition: 0.7s;
+    }
+    .double12.active::before {
+      content: attr(data-tip);
+      position: absolute;
+      z-index: 2;
+      right: -16px;
+      top: -14px;
+      display: inline-block;
+      background: linear-gradient(90deg, #FF3A20 0%, #FF621F 100%);
+      border-radius: 11px 11px 11px 2px;
+      font-size: 14px;
+      font-family: Microsoft YaHei-Regular, Microsoft YaHei;
+      font-weight: 400;
+      color: #FFFFFF;
+      line-height: 22px;
+      padding: 0 8px;
+      box-sizing: border-box;
+    }
+</style>
 </head>
 <body>
 {{include "/common/pchead.html"}}
@@ -120,7 +147,9 @@
 <!--购买按钮-->
 <div class="line-flex CfadeInUp">
     <div class="subpage-button gold  open-customer" id="go-info-subscribe-0">了解详情</div>
-    <div class="subpage-button darkblue" id="go-buy-subscribe-0"  data-go-buy-subscribe>立即购买</div>
+    <div class="double12" data-tip="买1年送1年">
+        <div class="subpage-button darkblue" id="go-buy-subscribe-0"  data-go-buy-subscribe>立即购买</div>
+    </div>
 </div>
 
 <div class="space_60px"></div>
@@ -153,7 +182,9 @@
         <div class="space_30px"></div>
         <div class="line-flex">
             <div class="subpage-button gold  open-customer" id="go-info-subscribe-1">了解详情</div>
-            <div class="subpage-button darkblue" id="go-buy-subscribe-1"  data-go-buy-subscribe>立即购买</div>
+            <div class="double12" data-tip="买1年送1年">
+                <div class="subpage-button darkblue" id="go-buy-subscribe-1"  data-go-buy-subscribe>立即购买</div>
+            </div>
         </div>
     </div>
     <!--线索获取更精准-->
@@ -181,7 +212,9 @@
         <div class="space_30px"></div>
         <div class="line-flex">
             <div class="subpage-button gold  open-customer" id="go-info-subscribe-2">了解详情</div>
-            <div class="subpage-button darkblue" id="go-buy-subscribe-2"  data-go-buy-subscribe>立即购买</div>
+            <div class="double12" data-tip="买1年送1年">
+                <div class="subpage-button darkblue" id="go-buy-subscribe-2"  data-go-buy-subscribe>立即购买</div>
+            </div>
         </div>
     </div>
     <!--分析决策更科学-->
@@ -209,7 +242,9 @@
         <div class="space_30px"></div>
         <div class="line-flex">
             <div class="subpage-button gold  open-customer" id="go-info-subscribe-3">了解详情</div>
-            <div class="subpage-button darkblue" id="go-buy-subscribe-3"  data-go-buy-subscribe>立即购买</div>
+            <div class="double12" data-tip="买1年送1年">
+                <div class="subpage-button darkblue" id="go-buy-subscribe-3"  data-go-buy-subscribe>立即购买</div>
+            </div>
         </div>
     </div>
 </div>
@@ -355,6 +390,8 @@
 <!--百度统计end-->
 <script src="https://cdn.jsdelivr.net/npm/countup.js@1.9.3/dist/countUp.js"></script>
 <script>
+
+
     haslogin({{.T.logid}});
     toggleShowBuy({{.T.isBuyed}})
     window.onbeforeunload = function(){
@@ -368,6 +405,30 @@
             $("div*[data-go-buy-subscribe]").text('立即使用').attr("data-toggle","modal").attr("data-target",".bs-example-modal-sm")
             $(".footer-banner").hide()
         } else {
+            // 双12活动
+            $.ajax({
+                url: '/doubletwelve/activing',
+                dataType: 'json',
+                success: function(res) {
+                    if (res && res.nowtime) {
+                        if (res.nowtime <= res.endtime && res.nowtime >= res.starttime) {
+                            $('.double12').addClass('active')
+                            $('.footer-banner').addClass('active')
+                            $('.footer-banner img').attr('src', '{{Msg "seo" "cdn"}}/vipsubscribe/image/double_12.png?v={{Msg "seo" "version"}}').css({
+                                width: '1200px',
+                                'margin-top': '-30px'
+                            })
+                            $('.footer-banner area').attr('coords', '1058.5, 46.5, 1194.5, 87')
+                        } else {
+                            if (res.nowtime <= res.endtime) {
+                                setTimeout(function (){
+                                    location.reload()
+                                }, (res.endtime - res.nowtime) * 1000)
+                            }
+                        }
+                    }
+                }
+            })
             //为购买点击跳转购买链接
             $("div*[data-go-buy-subscribe]").siblings().show()
             $("div*[data-go-buy-subscribe]").text('立即购买').on("click",function (){

+ 9 - 14
src/web/templates/pc/supsearch.html

@@ -750,15 +750,15 @@ $(function(){
 <script language="javascript" type="text/javascript" src="{{Msg "seo" "cdn"}}/My97DatePicker/WdatePicker.js"></script>
 <script type="text/javascript">
 function adListInspect () {
-  setTimeout(() => {
-    (window.slotbydup = window.slotbydup || []).push({
+  setTimeout(function () {
+    ;(window.slotbydup = window.slotbydup || []).push({
         id: "u6603895",
         container: "_t3di2018y5",
         async: true
     });
   }, 1000)
-  setTimeout(() => {
-    (window.slotbydup = window.slotbydup || []).push({
+  setTimeout(function () {
+    ;(window.slotbydup = window.slotbydup || []).push({
         id: "u6603895",
         container: "_6omliqck79a",
         async: true
@@ -2149,7 +2149,7 @@ document.querySelector(".searchControl").oncopy = function(){
     el: '#searchInner',
     delimiters: ['${', '}'],
     components: {},
-    data () {
+    data: function () {
       return {
         showPage: true,
         listState: {
@@ -2173,15 +2173,10 @@ document.querySelector(".searchControl").oncopy = function(){
         return entniche || member || vip > 0
       }
     },
-    watch: {
-      'listState.num' (newVal, oldVal) {
-        // console.log(JSON.stringify(this.listState))
-      }
-    },
-    created () {
+    created: function () {
       this.getPower()
     },
-    mounted () {
+    mounted: function () {
       console.log('总页码:' + totalPage + ',当前页:' + currentPage + ',一页数量:' + pageSize + ',总条数:' + totalCount)
     },
     methods: {
@@ -2207,12 +2202,12 @@ document.querySelector(".searchControl").oncopy = function(){
           this.listState.total++
         }
       },
-      onPageChange (p) {
+      onPageChange: function (p) {
         // TODO 免费用户搜索结果查看大于11页时弹窗提示
         if (!vipState && p > 10) {
           openBigMemberDialog('招标搜索500条限制')
           this.listState.num = this.listState.prevPageNum
-          return 
+          return
         }
 
         currentPage = this.listState.num

+ 65 - 1
src/web/templates/weixin/vipsubscribe/vip_introduce.html

@@ -16,6 +16,44 @@
     <link rel="stylesheet" type="text/css" href="/css/wxbutton.css?v={{Msg "seo" "version"}}">
     <link rel="stylesheet" type="text/css" href="/vipsubscribe/css/vip_introduce.css?v={{Msg "seo" "version"}}">
     <link rel="stylesheet" type="text/css" href="/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}"/>
+    <style>
+        .pop-tip-group.active > div{
+            width: 100%;
+            background: linear-gradient(173deg, #FFA573 0%, #F01212 100%);
+            border-radius: 0.10rem;
+        }
+        .pop-tip-group.active {
+            width: 4.7rem;
+            background: linear-gradient(173deg, #FFA573 0%, #F01212 100%);
+            border-radius: 0.10rem;
+        }
+        .pop-tip-group.active::after {
+            content: '';
+            position: absolute;
+            bottom: -0.06rem;
+            left: 50%;
+            transform: translateX(-50%);
+            display: inline-block;
+            z-index: -1;
+            width: 2.4rem;
+            height: 0.7rem;
+            background-image: url("/common-module/vipsubscribe/image/info/tagBottom.png");
+            background-size: cover;
+            background-repeat: no-repeat;
+        }
+        .pop-tip-group.active::before {
+            content: '';
+            position: absolute;
+            top: 0;
+            left: 0;
+            width: 0.72rem;
+            height: 0.32rem;
+            display: inline-block;
+            background: url('{{Msg "seo" "cdn"}}/common-module/public/image/icon-1212.png?v={{Msg "seo" "version"}}');
+            background-size: cover;
+            background-repeat: no-repeat;
+        }
+    </style>
 </head>
 
 <body>
@@ -35,8 +73,12 @@
                 <img src="{{Msg "seo" "cdn"}}/common-module/vipsubscribe/image/info/tagBottom.png?v={{Msg "seo" "version"}}">
                 <div>低至 <span>38</span>元/月</div>
             </div>
+            <div class="pop-tip-group active" style="display: none">
+                <div>限时早鸟价,买1年送1年</div>
+            </div>
             <div class="pop-button" data-need-bind-phone data-url="/front/vipsubscribe/vipsubscribe_new{{if .T.disWord}}?disWord={{.T.disWord}}{{end}}"   id="vip-introduce">
-                <img src="{{Msg "seo" "cdn"}}/common-module/vipsubscribe/image/info/btnBottom.png?v={{Msg "seo" "version"}}">
+                <img data-name="default" src="{{Msg "seo" "cdn"}}/common-module/vipsubscribe/image/info/btnBottom.png?v={{Msg "seo" "version"}}">
+                <img data-name="active" style="display: none" src="{{Msg "seo" "cdn"}}/common-module/vipsubscribe/image/info/btnBottom1212.png?v={{Msg "seo" "version"}}">
             </div>
         </div>
     </div>
@@ -46,6 +88,28 @@
     <script src='{{Msg "seo" "cdn"}}/vipsubscribe/js/share.js?v={{Msg "seo" "version"}}'></script>
     <script src='{{Msg "seo" "cdn"}}/big-member/js/utils.js?v={{Msg "seo" "version"}}'></script>
     <script>
+        // 双12活动
+        $.ajax({
+            url: '/doubletwelve/activing',
+            dataType: 'json',
+            success: function(res) {
+                if (res && res.nowtime) {
+                    if (res.nowtime <= res.endtime && res.nowtime >= res.starttime) {
+                        $(".pop-tip-group").hide()
+                        $(".pop-tip-group.active").show()
+                        $('.pop-button img[data-name]').hide()
+                        $('.pop-button img[data-name="active"]').show()
+                    } else {
+                        if (res.nowtime <= res.endtime) {
+                            setTimeout(function (){
+                                location.reload()
+                            }, (res.endtime - res.nowtime) * 1000)
+                        }
+                    }
+                }
+            }
+        })
+
         $("*[data-need-bind-phone]").on('click', function () {
             window.location.replace($(this).attr('data-url'))
         })

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov