Переглянути джерело

Merge branch 'master' into feature/v4.7.35

lianbingjie 2 роки тому
батько
коміт
179bf47c36
100 змінених файлів з 10758 додано та 4577 видалено
  1. 1 1
      src/jfw/front/front.go
  2. 12 4
      src/jfw/front/vipsubscribe.go
  3. 2 2
      src/jfw/modules/app/src/app/front/vipsubscribe.go
  4. 3 1
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/keyWord.js
  5. 2 13
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_order_detail.js
  6. 4 4
      src/jfw/modules/app/src/web/templates/big-member/commonjs.html
  7. 1 1
      src/jfw/modules/app/src/web/templates/big-member/page_bigvip_viewpage.html
  8. 1 12
      src/jfw/modules/app/src/web/templates/big-member/page_orderdetail_aiForecastPack.html
  9. 1 11
      src/jfw/modules/app/src/web/templates/big-member/page_orderdetail_member.html
  10. 1 12
      src/jfw/modules/app/src/web/templates/big-member/page_orderdetail_subAccount.html
  11. 24 1889
      src/jfw/modules/app/src/web/templates/weixin/historypush.html
  12. 1 1
      src/jfw/modules/bigmember/src/entity/portrait_screen.go
  13. 6 2
      src/jfw/modules/bigmember/src/service/push/push.go
  14. 1 1
      src/jfw/modules/followent/src/web/templates/weixin/list.html
  15. 2 1
      src/jfw/modules/subscribepay/src/config.json
  16. 1 0
      src/jfw/modules/subscribepay/src/config/config.go
  17. 1 0
      src/jfw/modules/subscribepay/src/entity/dataReportStruct.go
  18. 1 0
      src/jfw/modules/subscribepay/src/entity/jyCourseOnlineStruct.go
  19. 4 3
      src/jfw/modules/subscribepay/src/entity/member.go
  20. 40 1
      src/jfw/modules/subscribepay/src/entity/shareFission.go
  21. 1 0
      src/jfw/modules/subscribepay/src/service/aiForecastPack.go
  22. 1 0
      src/jfw/modules/subscribepay/src/service/areaPack.go
  23. 1 0
      src/jfw/modules/subscribepay/src/service/bigmember.go
  24. 10 0
      src/jfw/modules/subscribepay/src/service/commonAction.go
  25. 1 0
      src/jfw/modules/subscribepay/src/service/courseAction.go
  26. 1 0
      src/jfw/modules/subscribepay/src/service/dataExportPay.go
  27. 1 0
      src/jfw/modules/subscribepay/src/service/dataexportPack.go
  28. 1 0
      src/jfw/modules/subscribepay/src/service/entniche.go
  29. 2 1
      src/jfw/modules/subscribepay/src/service/index_p1.go
  30. 10 0
      src/jfw/modules/subscribepay/src/service/integral.go
  31. 77 50
      src/jfw/modules/subscribepay/src/service/orderListDetails.go
  32. 1 0
      src/jfw/modules/subscribepay/src/service/resourcePack.go
  33. 5 3
      src/jfw/modules/subscribepay/src/service/salesCreateOrder.go
  34. 1 0
      src/jfw/modules/subscribepay/src/service/vipSubscribeChange.go
  35. 2 0
      src/jfw/modules/subscribepay/src/service/vipSubscribePay.go
  36. 1 0
      src/jfw/modules/subscribepay/src/service/vipSubscribeTrial.go
  37. 1 1
      src/jfw/modules/subscribepay/src/util/msgremind.go
  38. 69 1
      src/web/staticres/big-member/css/set_area_industry_cate.css
  39. 45 1
      src/web/staticres/big-member/js/set_cate.js
  40. 61 15
      src/web/staticres/big-member/js/set_infotype.js
  41. 51 0
      src/web/staticres/common-module/history-push/css/dropload.css
  42. 219 0
      src/web/staticres/common-module/history-push/css/old-page-style.css
  43. 504 0
      src/web/staticres/common-module/history-push/css/p13.css
  44. 629 0
      src/web/staticres/common-module/history-push/css/public.css
  45. 1739 0
      src/web/staticres/common-module/history-push/css/subscribe.css
  46. 4 0
      src/web/staticres/common-module/history-push/css/weui.min.css
  47. 3 0
      src/web/staticres/common-module/history-push/iconfont/iconfont.css
  48. BIN
      src/web/staticres/common-module/history-push/iconfont/iconfont.eot
  49. BIN
      src/web/staticres/common-module/history-push/iconfont/iconfont.ttf
  50. BIN
      src/web/staticres/common-module/history-push/iconfont/iconfont.woff
  51. BIN
      src/web/staticres/common-module/history-push/iconfont/iconfont.woff2
  52. BIN
      src/web/staticres/common-module/history-push/images/close.png
  53. 3 0
      src/web/staticres/common-module/history-push/images/close.svg
  54. BIN
      src/web/staticres/common-module/history-push/images/close_heidi.png
  55. BIN
      src/web/staticres/common-module/history-push/images/curve.png
  56. BIN
      src/web/staticres/common-module/history-push/images/dialog-image.png
  57. BIN
      src/web/staticres/common-module/history-push/images/entback.png
  58. BIN
      src/web/staticres/common-module/history-push/images/icon-biaozhunhy.png
  59. BIN
      src/web/staticres/common-module/history-push/images/icon-gaojihy.png
  60. BIN
      src/web/staticres/common-module/history-push/images/icon-putonghy.png
  61. BIN
      src/web/staticres/common-module/history-push/images/merge.png
  62. BIN
      src/web/staticres/common-module/history-push/images/nopush.png
  63. BIN
      src/web/staticres/common-module/history-push/images/purchase_bg.jpg
  64. BIN
      src/web/staticres/common-module/history-push/images/report.png
  65. BIN
      src/web/staticres/common-module/history-push/images/shangjigl.png
  66. BIN
      src/web/staticres/common-module/history-push/images/sub_manager.png
  67. BIN
      src/web/staticres/common-module/history-push/images/switch_ent.png
  68. BIN
      src/web/staticres/common-module/history-push/images/switch_vip.png
  69. BIN
      src/web/staticres/common-module/history-push/images/v_icon.png
  70. BIN
      src/web/staticres/common-module/history-push/images/vip-icon.png
  71. BIN
      src/web/staticres/common-module/history-push/images/xuanzhong.png
  72. 416 0
      src/web/staticres/common-module/history-push/js/common.js
  73. 1024 0
      src/web/staticres/common-module/history-push/js/historypush.js
  74. 1777 0
      src/web/staticres/common-module/history-push/js/old-page-script.js
  75. 338 0
      src/web/staticres/common-module/history-push/local/dropload.js
  76. 360 0
      src/web/staticres/common-module/history-push/local/layout.css
  77. 19 0
      src/web/staticres/common-module/history-push/local/rem.js
  78. 1 15
      src/web/staticres/common-module/order-list/js/order-list.js
  79. 686 659
      src/web/staticres/common-module/public/js/utils.js
  80. 26 24
      src/web/staticres/common-module/vipsubscribe/js/vip-subscribe-set-template.js
  81. 110 0
      src/web/staticres/js/common.js
  82. 10 16
      src/web/staticres/js/superSearch.js
  83. 1 1
      src/web/staticres/me/js/mine.js
  84. 93 16
      src/web/staticres/me/js/push_setting.js
  85. 8 1
      src/web/staticres/public-pc/js/pc-bottom.js
  86. 1 0
      src/web/staticres/vipsubscribe/css/vip_index_new.css
  87. 143 39
      src/web/staticres/vipsubscribe/js/keyWord.js
  88. 250 83
      src/web/staticres/vipsubscribe/js/keyword-info.js
  89. 141 24
      src/web/staticres/vipsubscribe/js/keyword-manage.js
  90. 162 48
      src/web/staticres/vipsubscribe/js/vip_index_new.js
  91. 1 1
      src/web/templates/areaPack/wx/page_set_area.html
  92. 18 1
      src/web/templates/big-member/wx/component_set_cate.html
  93. 2 2
      src/web/templates/big-member/wx/component_set_infotype.html
  94. 9 8
      src/web/templates/big-member/wx/page_set_cate.html
  95. 34 8
      src/web/templates/big-member/wx/page_set_infotype.html
  96. 10 0
      src/web/templates/frontRouter/pc/solution/free/test.html
  97. 2 13
      src/web/templates/frontRouter/wx/vipIntro/free/order_detail.html
  98. 1 13
      src/web/templates/pc/aiPack_orderDetail.html
  99. 1552 1558
      src/web/templates/pc/biddingsearch_enterprise.html
  100. 10 16
      src/web/templates/pc/classifylist.html

+ 1 - 1
src/jfw/front/front.go

@@ -848,7 +848,7 @@ func (m *Front) Sess(ostr string) error {
 			actionurl := ""
 			if str[3] == "" {
 				if len(strs) > 1 {
-					actionurl, _ = url.QueryUnescape(strs[1])
+					actionurl = sewx.DecodeString(strs[1])
 				}
 			} else {
 				actionurl = util.ObjToString(urlMap[str[3]])

+ 12 - 4
src/jfw/front/vipsubscribe.go

@@ -134,10 +134,18 @@ func (s *Subscribepay) ToSetInfoTypePage() {
 //订阅设置
 func (s *Subscribepay) ToSetPage() error {
 	userid := util.ObjToString(s.GetSession("userId"))
+	vSwitch := s.GetString("vSwitch")
+	if vSwitch != "" {
+		if vSwitch == jy.SwitchService.Vip {
+			s.SetSession(jy.SwitchService.SessionKey, jy.SwitchService.Vip)
+		} else if vSwitch == jy.SwitchService.Member {
+			s.SetSession(jy.SwitchService.SessionKey, jy.SwitchService.Member)
+		}
+	}
 	vipMsg := jy.GetBigVipUserBaseMsg(userid, public.Mysql, public.MQFW)
 	if vipMsg.VipStatus <= 0 && vipMsg.Status <= 0 && isInTSguide(userid) { //仅免费用户跳转向导页面
 		return s.Redirect("/front/tenderSubscribe/guide?url=" + url.QueryEscape(s.Request.RequestURI))
-	} else if vipMsg.VipStatus <= 0 && !vipMsg.IsUpgrade {
+	} else if (vSwitch == "" || vSwitch == "v") && vipMsg.VipStatus <= 0 && !vipMsg.IsUpgrade {
 		if s.GetString("advertcode") != "" {
 			return s.Redirect("/wxkeyset/keyset/index?advertcode=" + s.GetString("advertcode"))
 		}
@@ -228,12 +236,12 @@ func (s *Subscribepay) Introduce() error {
 		if s.GetString("disWord") != "" {
 			//分销识别 直接VIP续费
 			if util.IntAll((*m)["i_vip_status"]) == 1 { //试用用户
-				return s.Redirect("/jy_mobile/common/order/create/svip?type=buy&disWord=" + s.GetString("disWord") + "&advertcode=" + s.GetString("advertcode"))
+				return s.Redirect("/jy_mobile/common/order/create/svip?type=buy&vSwitch=v&disWord=" + s.GetString("disWord") + "&advertcode=" + s.GetString("advertcode"))
 			} else {
-				return s.Redirect("/jy_mobile/common/order/create/svip?type=renew&disWord=" + s.GetString("disWord") + "&advertcode=" + s.GetString("advertcode"))
+				return s.Redirect("/jy_mobile/common/order/create/svip?type=renew&vSwitch=v&disWord=" + s.GetString("disWord") + "&advertcode=" + s.GetString("advertcode"))
 			}
 		}
-		return s.Redirect("/front/vipsubscribe/toSubVipSetPage?advertcode=" + s.GetString("advertcode"))
+		return s.Redirect("/front/vipsubscribe/toSubVipSetPage?advertcode=" + s.GetString("advertcode") + "&vSwitch=v")
 	}
 	s.T["notShowTrial"] = util.IntAll((*obj)["i_trial"]) == -1 || (*m)["i_vip_status"] != nil
 	s.T["signature"] = wx.SignJSSDK(s.Site() + s.Url())

+ 2 - 2
src/jfw/modules/app/src/app/front/vipsubscribe.go

@@ -1,7 +1,7 @@
 package front
 
 import (
-	. "app/jyutil"
+	jyutil "app/jyutil"
 	"encoding/hex"
 	"jfw/public"
 	"net/url"
@@ -145,7 +145,7 @@ func (s *Subscribepay) ToChangeTime() {
 //vip订阅介绍页
 func (s *Subscribepay) Introduce() error {
 	s.T["disWord"] = s.GetString("disWord")
-	s.T["isIosExam"], s.T["isIosExamPhone"], _, _ = IosExamInfo(s.Action, false, false)
+	s.T["isIosExam"], s.T["isIosExamPhone"], _, _ = jyutil.IosExamInfo(s.Action, false, false)
 	userId := util.ObjToString(s.GetSession("userId"))
 	if userId == "" {
 		return s.Render("/vipsubscribe/vip_introduce.html")

+ 3 - 1
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/keyWord.js

@@ -154,7 +154,9 @@ var vm = new Vue({
           vt: dataS
         },
         success: function (res) {
-          this.vSwitch = res.data.vt || 'f'
+          if (res && res.data) {
+            this.vSwitch = res.data.vt || 'f'
+          }
         }.bind(this)
       })
     },

+ 2 - 13
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_order_detail.js

@@ -384,19 +384,8 @@ $(function () {
                 }
                 $(".payPrice").text("¥ " + formatMoney(parseFloat(r.data.order.pay_money || r.data.order.order_money) / 100) + "元");
 
-
-
-                if (r.data.order.return_status === 0||r.data.order.return_status === 2){
-                    $("#card-header-bg").addClass("bg nopay-bg")
-                    if (r.data.order.return_status === 0){
-                        $("#pageTitle").text("待付款");
-                    }else if (r.data.order.return_status === 2){
-                        $("#pageTitle").text("待付完");
-                    }
-                }else{
-                    $("#card-header-bg").addClass("bg finish-bg")
-                    $("#pageTitle").text("已完成");
-                }
+                $("#card-header-bg").addClass("bg finish-bg")
+                $("#pageTitle").text("已完成");
                 $("#pageTitle").addClass("status")
 
                 //支付时间

+ 4 - 4
src/jfw/modules/app/src/web/templates/big-member/commonjs.html

@@ -1,9 +1,9 @@
 <!--S-必定会使用的资源-->
-<link rel="preload" as="script" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/rem.js'></link>
-<link rel="preload" as="script" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/js/utils.js?v={{Msg "seo" "version"}}'></link>
+<link rel="preload" as="script" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/local/rem.js'></link>
+<link rel="preload" as="script" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/public/js/utils.js?v={{Msg "seo" "version"}}'></link>
 
-<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/rem.js'></script>
-<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/js/utils.js?v={{Msg "seo" "version"}}'></script>
+<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/local/rem.js'></script>
+<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/public/js/utils.js?v={{Msg "seo" "version"}}'></script>
 <script>
     utils.iosBackRefresh()
     // 头部事件js

+ 1 - 1
src/jfw/modules/app/src/web/templates/big-member/page_bigvip_viewpage.html

@@ -1,7 +1,7 @@
 <html>
 <head>
 	{{include "/common/meta.html"}}
-	<title>超级订阅结果预览</title>
+	<title>大会员结果预览</title>
 	{{include "/common/nnc.html"}}
 	<link href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/css/dropload.css?v={{Msg "seo" "version"}}" rel="stylesheet">
 	<link href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/css/wxlist.css?v={{Msg "seo" "version"}}" rel="stylesheet">

+ 1 - 12
src/jfw/modules/app/src/web/templates/big-member/page_orderdetail_aiForecastPack.html

@@ -216,18 +216,7 @@
                 $("#card-header-bg").addClass("bg finish-bg")
                 $("#pageTitle").addClass("status")
                 $("#pageTitle").text("已完成");
-
-                var customIsAll = 0
-                if (filterObj.isAll){
-                  customIsAll=filterObj.isAll
-                }
-                if (customIsAll == 2){
-                  $("#pageTitle").text("待付款");
-                  $("#card-header-bg").addClass("bg nopay-bg")
-                }else if (customIsAll == 3){
-                  $("#pageTitle").text("待付完");
-                  $("#card-header-bg").addClass("bg nopay-bg")
-                }
+                
                 //有效周期
                 $(".line_cycle").css("display", "");
                 if (source === ""){

+ 1 - 11
src/jfw/modules/app/src/web/templates/big-member/page_orderdetail_member.html

@@ -289,17 +289,7 @@
                 $("#card-header-bg").addClass("bg finish-bg")
                 $("#pageTitle").addClass("status")
                 $("#pageTitle").text("已完成");
-                var customIsAll = 0
-                if (filterObj.isAll){
-                  customIsAll=filterObj.isAll
-                }
-                if (customIsAll == 2){
-                  $("#pageTitle").text("待付款");
-                  $("#card-header-bg").addClass("bg nopay-bg")
-                }else if (customIsAll == 3){
-                  $("#pageTitle").text("待付完");
-                  $("#card-header-bg").addClass("bg nopay-bg")
-                }
+               
                 //有效周期
                 $(".line_cycle").css("display", "");
                 if (source === "") {

+ 1 - 12
src/jfw/modules/app/src/web/templates/big-member/page_orderdetail_subAccount.html

@@ -205,18 +205,7 @@
                 $("#card-header-bg").addClass("bg finish-bg")
                 $("#pageTitle").addClass("status")
                 $("#pageTitle").text("已完成");
-
-                var customIsAll = 0
-                if (filterObj.isAll){
-                  customIsAll=filterObj.isAll
-                }
-                if (customIsAll == 2){
-                  $("#pageTitle").text("待付款");
-                  $("#card-header-bg").addClass("bg nopay-bg")
-                }else if (customIsAll == 3){
-                  $("#pageTitle").text("待付完");
-                  $("#card-header-bg").addClass("bg nopay-bg")
-                }
+                
                 //有效周期
                 $(".line_cycle").css("display", "");
                 if (source === "") {

+ 24 - 1889
src/jfw/modules/app/src/web/templates/weixin/historypush.html

@@ -2,214 +2,22 @@
 <head>
     {{include "/common/meta.html"}}
     <title>标讯订阅</title>
-    <link rel="stylesheet" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/layout.css" />
-    <link rel="stylesheet" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/css/subscribe.css?v={{Msg "seo" "version"}}"/>
+    <link rel="stylesheet" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/local/layout.css" />
+    <link rel="stylesheet" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/css/subscribe.css?v={{Msg "seo" "version"}}"/>
     <script src="https://cdn-common.jianyu360.com/cdn/lib/jquery/3.6.0/jquery.min.js"></script>
     {{include "/common/js.html"}}
-    <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/dropload.js"></script>
+    <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/local/dropload.js"></script>
     <!-- 2.8.5 -->
-    <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}"></script>
-    <link rel="stylesheet" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}"/>
-    <link rel="stylesheet" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}"/>
-    <link href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/css/p13.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+    <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/js/common.js?v={{Msg "seo" "version"}}"></script>
+    <link rel="stylesheet" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/css/weui.min.css?v={{Msg "seo" "version"}}"/>
+    <link rel="stylesheet" href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/iconfont/iconfont.css?v={{Msg "seo" "version"}}"/>
+    <link href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/css/p13.css?v={{Msg "seo" "version"}}" rel="stylesheet">
     <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/reset-css/5.0.1/reset.min.css />
     <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/index.css />
     <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/icon/local.css />
     <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/css/index.css?v={{Msg "seo" "version"}}'/>
-    <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/css/public.css?v={{Msg "seo" "version"}}'/>
-    <style>
-        .j-popup.van-popup--bottom .j-main {
-          height: 100%;
-        }
-        .merge-dialog,
-        .weui-dialog,
-        .weui-mask{
-          z-index: 99999;
-        }
-
-        .van-dialog,
-        .j-popup,
-        .j-overlay {
-            z-index: 99999!important;
-        }
-
-        .jymobile-setting-dialog .weui-dialog__hd{
-          text-align: center !important;
-        }
-        .jymobile-setting-dialog .weui-dialog__bd{
-          padding: .37rem .1rem .38rem !important;
-          color: #1D1D1D !important;
-          font-size: .32rem !important;
-          text-align: center !important;
-        }
-        .jymobile-setting-dialog .weui-dialog__ft{
-          display: flex !important;
-          padding: 0 0 .38rem 0 !important;
-          text-align: center !important;
-        }
-        .jymobile-setting-dialog .weui-dialog__ft .weui-dialog__btn_default{
-          margin-right: .3rem !important;
-        }
-        .jymobile-setting-dialog .weui-dialog__ft>a {
-            text-decoration: none !important;
-        }
-        .app-layout-header{
-            padding-left: 16px;
-            padding-right: 16px;
-            padding-top: 20px;
-        }
-        .app-layout-header .switch-vip:before, .app-layout-header .only-vip:before {
-            height: 18px;
-        }
-        .app-layout-header .switch-vip:before, .app-layout-header .only-member::after {
-            content: '';
-            display: flex;
-            margin-left: 4px;
-            width: 12px;
-            height: 12px;
-            background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACSSURBVHgBzZO7CYAwFEWvQXCNWOoWDiFY27mUDmDjBo5gZ2vWEBElASGGFyGfwlOFGzgkeTdAJBIqXIaGZ9c5y3XZjrm+t/b1RuXph4SDhsyZo8QKs0gEHGGUJNmPCo4okSkpuknAEf2NvCUSNTVzlD4wROJ/ohSBPNUJOpHeP2+RWWJvkVnikKtxaCUOEb1+wg1trU+oaaKLhgAAAABJRU5ErkJggg==) no-repeat;
-            background-size: contain;
-        }
-        .app-layout-header .switch-vip:before, .app-layout-header .switch {
-            align-items: center;
-            font-size: 12px;
-        }
-        .app-layout-content-b .app-content::after{
-            content: '';
-            width: 100%;
-            height: 8px;
-            background: #F5F6F7;
-        }
-        .iosMeau{
-            height: 100%;
-        }
-        .app-layout-content-b {
-            height: calc(100vh - 70px);
-            overflow: hidden;
-        }
-        .collection .van-dropdown-menu__item {
-           flex: 1;
-           padding-left: 0;
-           padding-right: 0;
-        }
-        .collection .van-dropdown-item:nth-of-type(4) .van-dropdown-item__content {
-            max-height: unset;
-            overflow: unset;
-            height: 100%;
-        }
-        .empty{
-            padding-top: .34rem;
-        }
-    </style>
-    <style>
-        .oldUserTips{
-            position: fixed;
-            top: 0;
-            left: 0;
-            right: 0;
-            bottom: 0;
-            z-index: 99999;
-            background-color:rgba(0, 0, 0, 0.7);
-            display: none;
-        }
-        .updateTips-wrap{
-            width: 6.06rem;
-            height: 4.58rem;
-            background: #FFFFFF;
-            border-radius: 0.16rem 0.16rem 0.16rem 0.16rem;
-            position: absolute;
-            top: 50%;
-            left: 50%;
-            transform: translateX(-50%) translateY(-50%);
-        }
-        .updateTips-title{
-            text-align: center;
-            padding-top: 0.48rem;
-            font-size: 0.36rem;
-            font-weight: 500;
-            color: #161826;
-        }
-        .updateTips-text{
-            text-align: left;
-            padding: 0.16rem 0.6rem 0.1rem;
-            font-size: 0.3rem;
-            font-weight: 500;
-            color: #5E5E64;
-            line-height: 0.44rem;
-        }
-        .updateTips-btnWrap{
-            display: flex;
-            justify-content: center;
-            align-items: center;
-            margin-top: 0.32rem;
-            border-top:0.02rem solid rgba(0, 0, 0, 0.1) ;
-        }
-        .updateTips-btn{
-            font-size: 0.36rem;
-            font-weight: 500;
-            color: #161826;
-            width: 50%;
-            height: 0.92rem;
-            line-height: 0.92rem;
-            text-align: center;
-            cursor: pointer;
-        }
-        .updateTips-line{
-            height: 0.92rem;
-            width: 0.02rem;
-            background-color: rgba(0, 0, 0, 0.1);
-        }
-        .levelUp{
-            color: #2ABDD1;
-        }
-        #freeArea{
-            color: #2ABDD1;
-        }
-        /* 留资查看更多新增 */
-        .seeMore{
-            text-align: center;
-            line-height: 1.12rem;
-            height: 1.12rem;
-            background: #FFFFFF;
-            bottom: 1.4rem;
-        }
-        .seeMore + .dropload-down {
-            display: none;
-        }
-        .seeMore-btn{
-            font-size: .28rem;
-            color: #2ABED1;
-            display: contents;
-        }
-        .product-switch{
-          display: block;
-          height: auto;
-        }
-        .typeswitch{
-          height: 1.08rem;
-        }
-        .push-money-component {
-          height: auto;
-        }
-        .push-money-component .money-component-group {
-          min-height: auto;
-          flex: unset;
-          padding: 0;
-        }
-        .push-money-component .j-footer {
-          display: none;
-        }
-        .push-money-component .select-tag-group{
-          padding: 6px 0 0!important;
-        }
-        .push-money-component .select-tag-item.active::after{
-          background: none!important;
-        }
-        .selected{
-          background: #E8FAFD!important;
-          color: #2ABED1!important;
-        }
-    </style>
+    <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/css/public.css?v={{Msg "seo" "version"}}'/>
+    <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/css/old-page-style.css?v={{Msg "seo" "version"}}'/>
 </head>
 <body class="p13" id="viperSuper" style="background: #fff;overflow: hidden;">
 <!-- 加载数据-->
@@ -284,7 +92,7 @@
 <van-popup v-model="bigSubShow" class="product-switch" position="top" get-container="body">
     <div class="typeswitch entniche" v-if="isEntniche" @click="proClick('ent')">
       <div class="type-left">
-          <img class="icon-bm" src="/jyapp/images/shangjigl.png" alt="">
+          <img class="icon-bm" src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/images/shangjigl.png?v={{Msg "seo" "version"}}' alt="">
           <span class="bm-text">商机管理</span>
       </div>
       <div class="type-right">
@@ -302,7 +110,7 @@
     </div>
     <div class="typeswitch vipproduct" v-if="rootInfo.vipStatus > 0" @click="proClick('vip')">
         <div class="type-left">
-            <img class="icon-bm" src="/jyapp/vipsubscribe/image/vip-icon.png" alt="">
+            <img class="icon-bm" src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/images/vip-icon.png?v={{Msg "seo" "version"}}" alt="">
             <span class="bm-text">超级订阅</span>
         </div>
         <div class="type-right">
@@ -315,8 +123,8 @@
     <div class="j-container">
     <div class="app-content j-header" style="background:#fff;border-top: 1px solid transparent;">
   		<div class="header_header" style="height: 60px;display:none;transition: all 0.1s;position: relative;width: 100%;">
-  			<div class="only-personal" style="position: absolute;top: 50%;left: 50%;background-image: url(/jyapp/vipsubscribe/image/entback.png?v=51430);background-size: 100%;background-repeat: no-repeat;border-radius: 8px;width: 92%;display: flex;align-items: center;justify-content: space-between;height: 44px;transform: translate(-50%, -50%);">
-  				<img style="width: 20px;height: 20px; margin-left: .3rem;" src="/jyapp/vipsubscribe/image/vip-icon.png?v=1">
+  			<div class="only-personal" style="position: absolute;top: 50%;left: 50%;background-image: url({{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/images/entback.png?v={{Msg "seo" "version"}});background-size: 100%;background-repeat: no-repeat;border-radius: 8px;width: 92%;display: flex;align-items: center;justify-content: space-between;height: 44px;transform: translate(-50%, -50%);">
+  				<img style="width: 20px;height: 20px; margin-left: .3rem;" src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/images/vip-icon.png?v={{Msg "seo" "version"}}'>
   				<span  data-name="doubleEleven_title" style="padding: 0 .12rem;flex: 1;font-size: .26rem;font-weight: 700;color: #fff;">全国企业随手查,竞争实力尽展示!</span>
   				<span  data-name="doubleEleven_button" class="switch_ext" id="app-historypush-vipSub-banner" style="border-radius: 32px;display: flex;flex-direction: row;padding: 3px 12px;font-size: 12px;color: #FAE7CA;margin-right: .2rem;background: linear-gradient(to bottom, #F1D090 0%, #FAE7CA 100%);color: #33323A;font-family: PingFang SC;font-size: 12px;line-height: 18px;letter-spacing: 0px;text-align: center;white-space: nowrap;">立即使用</span>
   			</div>
@@ -503,7 +311,7 @@
             </div>
         </span>
         <span class="empty findnull">
-            <div><img class="empty-img" src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/images/wxkeyset/nopush.png?v={{Msg "seo" "version"}}"></div>
+            <div><img class="empty-img" src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/images/nopush.png?v={{Msg "seo" "version"}}"></div>
             <span class="empty-text">近期没有你想要的信息,再等等吧!<br>你也可以进入设置页面、调整一下关键词再回来看看。</span>
         </span>
         <span class="empty findnull_">
@@ -570,12 +378,12 @@
     <div class="weui-mask weui-animate-fade-in"></div>
     <div class="weui-dialog weui-animate-fade-in">
         <div class="my-dialog__hd">
-            <img src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/image/vipreport/dialog-image.png?v={{Msg "seo" "version"}}" alt="">
+            <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/images/dialog-image.png?v={{Msg "seo" "version"}}' alt="">
             <div class="jy_title">剑鱼标讯</div>
             <h2 class="weekly">每<span></span>订阅报告来啦</h2>
             <div class="term"></div>
             <a href="javascript:void(0)" class="vip_report_todetail">点击查看</a>
-            <img src="/jyapp/vipsubscribe/image/vipreport/close.svg" class="vip_report_tip_close">
+            <img src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/images/close.svg' class="vip_report_tip_close">
         </div>
     </div>
 </div>
@@ -593,7 +401,6 @@
     </div>
 </div>
 </div>
-<!--	<img src="/jyapp/images/gotosetpage.png?v=51430" id="gotosetpage">-->
 {{include "/common/baiducc.html"}}
 <div id="advertscript" class="hidden">
     {{$s:=(Ad "jyapp-wxpush-middle" -1)}}
@@ -603,7 +410,7 @@
             var random = Math.floor(Math.random() * ADList.length)
             var AD = ADList[random]
             var ADHtml = "<span class=\"closeadv-bg\"></span>"
-                + "<img src=\"{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/images/close_heidi.png?v={{Msg "seo" "version"}}\" class=\"closeadv\" onclick=\"closeadv(this)\">";
+                + "<img src=\"{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/images/close_heidi.png?v={{Msg "seo" "version"}}\" class=\"closeadv\" onclick=\"closeadv(this)\">";
             if (AD.s_pic) {
                 if (AD.s_link) {
                     var ADtitle = "";
@@ -632,8 +439,8 @@
   <div class="mask"></div>
   <div class="dialog">
       <div class="hd_img">
-          <img src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/images/wxkeyset/merge.png?v={{Msg "seo" "version"}}" alt="" class="logo" />
-          <img src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/images/wxkeyset/close.png?v={{Msg "seo" "version"}}" class="close">
+          <img src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/images/merge.png?v={{Msg "seo" "version"}}" alt="" class="logo" />
+          <img src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/images/close.png?v={{Msg "seo" "version"}}" class="close">
       </div>
       <div class="dialog_hd"><strong class="dialog_title">您同时拥有2个剑鱼标讯账号</strong></div>
       <div class="dialog_bd"><em style="color:#2ABED1">手机号:18609098787、微信号:LLL</em><br> 为保证您的正常使用,您可以根据自身情况进行设置。</div>
@@ -644,7 +451,7 @@
 </div>
 
 </body>
-<script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/js/utils.js?v={{Msg "seo" "version"}}"></script>
+<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/public/js/utils.js?v={{Msg "seo" "version"}}'></script>
 <script>
     var firstTime = ''
     let pushUrlTime = utils.getParam('pushtime')
@@ -654,6 +461,7 @@
     var productType = 0 // 0免费用户 1超级订阅 2大会员 // 3商机管理
     var historyVt = ''
 </script>
+<script src=//cdn-common.jianyu360.com/cdn/lib/fastclick/1.0.6/fastclick.min.js></script>
 <script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js></script>
 <script src=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js></script>
 <script src=//cdn-common.jianyu360.com/cdn/lib/zepto/1.2.0/zepto.min.js></script>
@@ -667,1680 +475,7 @@
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/js/notice-mobile.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/js/money-mobile.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/keep-tags/keep-tags-template.js?v={{Msg "seo" "version"}}'></script>
-<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/historypush.js?v={{Msg "seo" "version"}}'></script>
-<script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
-   <script>
-        // 双11活动文案修改
-        $.get('/jyactive/doubleEleven/isActiving?t=' + new Date().getTime(), function (r) {
-            if (r && r.data) {
-                if (r.data.isActiving) {
-                    $('*[data-name="doubleEleven_title"]').text('买超级订阅,买多久送多久!')
-                    $('*[data-name="doubleEleven_button"]').text('去抢')
-                }
-            }
-        })
-    </script>
-    <script type="text/javascript">
-    addEventListener('focus', function() {
-        if(document.activeElement = document.getElementById('iframeu6603902_0')) {
-            $.ajax({
-                type: 'POST',
-                url: '/publicapply/adLeague/click',
-                data: {
-                    client: 'APP',
-                    id: 'ad6',
-                    position: '订阅推送列表页'
-                },
-                success: function(res) {
-                        console.log(res)
-                }
-            })
-        }
-    });
-    </script>
-<script>
-        function hiddenTips() {
-            $('#UserTips').hide()
-        }
-        function gotoPay() {
-            $('#UserTips').hide()
-            location.href = '/jy_mobile/common/order/create/areapack?type=buy'
-        }
-        // 得到用户是否需要提醒省份订阅包过期
-        function getUserSubscribe() {
-            $.ajax({
-                url: '/publicapply/free/areapack/tip',
-                type: 'POST',
-                success: function (res) {
-                    if (res.data.tip) {
-                        $('#UserTips').show()
-                        $('#freeArea').text(res.data.area)
-                        tipsClose()
-                    } else {
-                        $('#UserTips').hide()
-                    }
-                }
-            })
-        }
-        getUserSubscribe()
-        function tipsClose() {
-            $.ajax({
-                url: '/publicapply/free/areapack/update',
-                type: 'POST',
-                success: function (res) {
-
-                }
-            })
-        }
-  // @手机号绑定及账号合并 2021/1/25
-  $("#toKeySet").on('click', tokeyset)
-  function receivePushMessageHandle(type,url){
-    if(type=="vipreport" || type == "memberreport"){
-      if(type=="memberreport"&&productType!=2){
-        return
-      }else if(type=="vipreport"&&productType!=1){
-        return
-      }
-      if((type=="vipreport" || type=="memberreport")&& $(".vip_report").is(":visible")){
-        $(".vip_report>a").show();
-      }
-    }
-  }
-    function closeadv(obj) {
-        closeAdvert = true;
-        $(obj).parent().prev().css("border-bottom", "1px solid #e5e6e9");
-        $(obj).parent().remove();
-        if(wxflag != "" && wxflag != null){
-            wxflag.resetload();
-        }
-    }
-
-    function AdClick(e, isExternal, link, title) {
-        var ce = $(e).parent();
-        adv_statistics(ce);
-        if (isExternal) {
-            if (!title) {
-                title = "剑鱼标讯"
-            }
-            JyObj.openExternalLink(link, title)
-        } else {
-            window.location.href = link;
-        }
-    }
-
-  if (sessionStorage && sessionStorage.reloadSubPage) {
-      sessionStorage.removeItem("reloadSubPage");
-      removeSessionStorage();
-      window.location.reload();
-  }
-  var firstPage = null;
-  var scrollTop = 0;
-  var dataCache = new Array();
-  var lasttime = 0;
-  var count = 0;
-  var wxflag = "";
-  var hasNextPage = false;
-  var pageIndex = 1;
-  var closeAdvert = false//是否关闭广告
-  var isread = {{.T.isread}}
-  var isPageShow = localStorage.getItem('hideBottom')
-  // '/jyapp/myinfo'这个接口的返回值(同步请求,放心使用)
-//   有无关键词同意用这个myInfo中的内容判断
-  var myInfo = {}
-  var isInTSguide = null
-
-  if (getUrlParam("f") == "push") {
-      removeSessionStorage();
-      if (history) {
-          sessionStorage.setItem(sessionStorage.userId + "_searchTime",getUrlParam("selectTime"));
-        history.replaceState(null, null, "/jyapp/swordfish/historypush");
-      }
-  }
-//   是否需要留资
-  function isNeedSales (callback) {
-      $.ajax({
-          type: 'GET',
-          url: '/salesLeads/retainedCapital',
-          data: { source: 'jypush_see10_plus_app' },
-          async: false,
-          success: function (res) {
-            callback(res)
-          }
-      })
-  }
-      function checkFreeList (data) {
-      if(window.isFree){
-        if (data.data.length > 10) {
-          // sessionStorage.setItem('isNeedSalesStatus', isNeedSalesStatus)
-          isNeedSales(function (res) {
-            // 推送列表 免费是否需要留资判断
-            var result = checkRequiredKeys(['name', 'phone', 'position', 'branch','company', 'companyType'], res.info)
-            if (!result && res.data && res.data.retainedCapital) {
-              data.data = data.data.slice(0, 10)
-              data.hasNextPage = false
-              $(".seeMore").show()
-              $(".seeMore-btn").on('click', function () {
-                location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=jypush_see10_plus_app'
-              })
-            }
-          })
-        }
-      }
-    }
-  $(function () {
-      setTimeout(function(){
-        loadJS("{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/fastclick.min.js",function(){
-          FastClick.attach(document.body);
-        });
-      },500);
-      var alert_other;
-      alert_other=setInterval(function(){
-        if(localStorage.canshowother && localStorage.getItem({{.T.userId}}+"_otherFlag")&&localStorage.getItem({{.T.userId}}+"_alert")==null){
-          $(".jy-alert-other").show();
-          localStorage.setItem({{.T.userId}}+"_alert","1")
-          clearInterval(alert_other);
-        }
-      },1000)
-
-      //到期提醒页面
-      var vipSubtips = {{.T.vipSubtips}};
-
-      if (Number(vipSubtips) === 0 && sessionStorage.vipSubtips == undefined) {
-        history.pushState({}, "", "");
-        sessionStorage.vipSubtips = "t";
-        window.location.replace("/jyapp/vipsubscribe/renewPage/exprie");
-        return
-      }
-      //===================
-      var isinitpage = false;
-      $(window).bind("pageshow", function (event) {
-        if (event.originalEvent.persisted) {
-          //返回不加载  导致菜单不出来
-          JyObj.hiddenBottom("1");
-          count=0;
-          initpage();
-          isinitpage = true;
-        }
-      });
-      if (!isinitpage) {
-        initpage();
-        isinitpage = true;
-      }
-      $(".vip_report").click(function () {
-          sessionStorage.setItem(vm.sessStorageKey, JSON.stringify(vm.$data))
-          setSessionStorage();
-
-          var tempUrl = "/vipreport/page/subreport.html"
-          if (window.isFreeUserStatus && window.isUserWeekMonthStatus) {
-              tempUrl += '?type=free'
-          } else if(productType == 2) {
-              tempUrl += '?type=member'
-          } else if(productType == 1) {
-            tempUrl += '?type=vip'
-          }
-          window.location.href = tempUrl;
-      });
-  });
-
-  var userId = "";
-  var selectArea = vm.area; // 地区
-  var selectCity = vm.city; // 城市
-  var selectIndustry = vm.subscopeclass // 行业
-  var selectCate = vm.buyerclass // 采购单位
-  var selectKeyword = vm.key // 关键词
-  var selectNotice = vm.subtype // 公告类型
-  var selectMoney = vm.selectMoney
-  var selectFile = vm.selectFile
-  //获取当前时间
-  var date = (function () {
-      var date = new Date();
-      var year = date.getFullYear();
-      var month = date.getMonth() + 1;
-      var day = date.getDate();
-      month = month < 10 ? '0' + month : month;
-      day = day < 10 ? '0' + day : day;
-      return year + '-' + month + '-' + day;
-  })();
-
-    let listparams = {
-        pageNum: 1
-    }
-    var listnum = 0
-    $.ajax({
-        url: '/publicapply/bidcoll/list',
-        type: "POST",
-        contentType: 'application/json;charset=utf-8',
-        data: JSON.stringify(listparams),
-        success: function(res) {
-            if(res.error_code == 0) {
-                if(res.data && res.data.res) {
-                    listnum = res.data.res.length
-                }
-            }
-        }
-    })
-  function initpage() {
-     console.log(selectMoney, selectFile, 'sessionstorage');
-      afterJyObjInit();
-      var thisClass=this;
-      $("#openmailpush").click(function () {
-          setSessionStorage();
-          window.location.href = '/jyapp/wxkeyset/keyset/seniorset';
-      });
-      $(".listcontent").scroll(function () {
-          scrollTop = $(this).scrollTop();
-      });
-      this.isCanSwitch=true;
-      this.InitPersonal=function(r){
-        $("#sub_manager").click(function() {
-            setSessionStorage();
-            sessionStorage.setItem(vm.sessStorageKey, JSON.stringify(vm.$data))
-            if(historyVt == 's') {
-              if(vm.entinfo.admin_department || vm.entinfo.admin_system) {
-                location.href = '/page_entniche_new/page/sub_management/sub_management_system.html'
-              } else {
-                location.href = '/page_entniche_new/page/subsetting/sub_entrance.html'
-              }
-              return
-            }
-            let thisType = sessionStorage.getItem('userIsNew')
-            if (window.userNewType || thisType) {
-                location.href = '/jyapp/vipsubscribe/toSubVipSetPage'
-            } else {
-                if(vm.rootInfo.memberStatus > 0) {
-                    location.href = '/jyapp/vipsubscribe/toSubVipSetPage?vSwitch=m'
-                } else {
-                    tokeyset()
-                }
-            }
-
-        });
-        $(".tab_left .area").hide();
-        if (r.isPassCount) {
-            if(vm.rootInfo.memberStatus > 0) {
-                $(".open_remind").hide();
-            } else {
-                $(".open_remind").show();
-            }
-        }
-        // 商机管理隐藏弹窗
-        if(r.userType == 'entniche') {
-          $(".open_remind").hide();
-        }
-        if (r.isExpire < 0 && r.vipStatus == -1) {
-          if (localStorage.getItem("nv_vip_" + userId) == null) {
-            // $(".nv_renew_toast").show();
-          }
-        }
-        thisClass.LoadDatas(r);
-      }
-      this.InitVip=function(r){
-        $("#sub_manager").click(function() {
-            setSessionStorage();
-            // console.log(vm.rootInfo, 'vmrootInfo')
-            sessionStorage.setItem(vm.sessStorageKey, JSON.stringify(vm.$data))
-            if(historyVt == 's') {
-              if(vm.entinfo.admin_department || vm.entinfo.admin_system) {
-                location.href = '/page_entniche_new/page/sub_management/sub_management_system.html'
-              } else {
-                location.href = '/page_entniche_new/page/subsetting/sub_entrance.html'
-              }
-              return
-            } else if(historyVt == 'm') {
-              location.href = '/jyapp/vipsubscribe/toSubVipSetPage?vSwitch=m'
-            } else if(historyVt == 'v') {
-              location.href = '/jyapp/vipsubscribe/toSubVipSetPage?vSwitch=v'
-            } else {
-              tosetpage()
-            }
-            // let thisType = sessionStorage.getItem('userIsNew')
-            // if (window.userNewType || thisType) {
-            //     location.href = '/jyapp/vipsubscribe/toSubVipSetPage'
-            // } else {
-            //     if(vm.selectPro == 1) {
-            //         location.href = '/jyapp/vipsubscribe/toSubVipSetPage'
-            //     } else {
-            //         tosetpage()
-            //     }
-            // }
-
-        });
-        if(productType == 0) {
-            $(".vip_report").show();
-        }
-        $(".tab_left .area").show();
-        if (!r.haskey) {
-            if(historyVt == 'm' && vm.rootInfo.isSubCount) {
-                $(".set_keyword").hide();
-            } else if(historyVt == 's'){
-                $(".set_keyword").hide();
-            } else {
-              $(".set_keyword").show();
-            }
-              if (r.isPassCount && (localStorage.isPassCount == null || localStorage.isPassCount != date.split("-")[2])) {
-                localStorage.isPassCount = date.split("-")[2]
-                // weuiDialog(); // liumiao让去掉
-              }
-          }
-          if (r.vipStatus != 1) {
-              if (r.isExpire > 1) {
-                  $(".renew_toast .isExpire").text(r.isExpire);
-                  $(".renew_toast").show();
-              } else if (r.isExpire > 0) {
-                  $(".renew_toast").find(".other").hide();
-                  $(".renew_toast").find(".today").show();
-                  $(".renew_toast").show();
-              }
-          } else {
-              if (r.isExpire > 1) {
-                  $("._renew_toast .isExpire").text(r.isExpire);
-                  $("._renew_toast").show();
-              } else if (r.isExpire > 0) {
-                  $("._renew_toast").find(".other").hide();
-                  $("._renew_toast").find(".today").show();
-                  $("._renew_toast").show();
-              }
-          }
-          thisClass.LoadDatas(r);
-      }
-      this.LoadDatas=function(r){
-        if(isPageShow == '1') {
-          localStorage.removeItem('hideBottom')
-          JyObj.hiddenBottom("0");
-        }
-        $(".app-content").css("display","flex");
-        if(r.reLoad){
-          removeSessionStorage();
-        }
-        if (sessionStorage && sessionStorage.historypushScrollTop && sessionStorage.historypushDataCache) {
-            if (sessionStorage.closeAdvert == "true") {
-                closeAdvert = true;
-            }
-            pageIndex = sessionStorage.historypushPageIndexCache;
-            hasNextPage = sessionStorage.historypushHasNextPage == "true" ? true : false;
-            scrollTop = sessionStorage.historypushScrollTop;
-            dataCache = JSON.parse(sessionStorage.historypushDataCache);
-            userId = sessionStorage.userId;
-            firstTime = sessionStorage.getItem(userId + "_searchTime");
-            selectArea = sessionStorage.getItem(userId + "_selectArea");
-            selectCity = sessionStorage.getItem(userId + "_selectCity");
-            selectIndustry = sessionStorage.getItem(userId + "_selectIndustry");
-            selectCate = sessionStorage.getItem(userId + "_selectCate");
-            selectKeyword = sessionStorage.getItem(userId + "_selectKeyword");
-            selectNotice = sessionStorage.getItem(userId + "_selectNotice");
-            selectMoney = sessionStorage.getItem(userId + "_selectMoney");
-            selectFile = sessionStorage.getItem(userId + "_selectFile");
-
-            // 判断是否需要修改某个收藏的状态
-            var listCollSessionId = sessionStorage.getItem('listCollSessionId')
-            if (listCollSessionId){
-                var listCollSessionBool = sessionStorage.getItem('listCollSessionBool')
-                if (dataCache && $.isArray(dataCache)) {
-                    dataCache.forEach(function (item) {
-                        if (item._id == listCollSessionId) {
-                            item.collection = listCollSessionBool
-                        }
-                    })
-                    sessionStorage.removeItem('listCollSessionId')
-                    sessionStorage.removeItem('listCollSessionBool')
-                }
-            }
-
-            $("#list>*").remove();
-            firstPage = dataCache;
-            if (dataCache.length == 0) {
-                hasNoData();
-            } else {
-                structureHtml(dataCache, true);
-            }
-            //appendList($(listCache),$(tableCache));
-            $(".listcontent").scrollTop(scrollTop);
-            if (sessionStorage.getItem('hasFreeMore') === 'true') {
-                isNeedSales(function (res) {
-                  var result = checkRequiredKeys(['name', 'phone', 'position', 'branch','company'], res.info)
-                  if (!result && res.data && res.data.retainedCapital) {
-                    $(".seeMore").show()
-                    $(".seeMore-btn").on('click', function () {
-                      location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=jypush_see10_plus_app'
-                    })
-                  } else {
-                    location.reload()
-                  }
-                })
-              }
-            removeSessionStorage();
-        } else {
-            if(historyVt == 's') {
-                $(".set_keyword").hide();
-            }
-            userId = sessionStorage.userId;
-            // var isNeedSalesStatus = false
-            // var isNeedSalesStatus = true
-            console.log('load-ajax', selectFile, selectMoney, vm.selectFile, vm.selectMoney);
-            $.ajax({
-                type: 'post',
-                url: '/publicapply/subscribe/historyPush?t=' + new Date().getTime(),
-                data: {
-                  selectTime: firstTime,
-                  pageNum: 1,
-                  area: selectArea,
-                  city: selectCity,
-                  subscopeclass: selectIndustry,
-                  buyerclass: selectCate,
-                  key: selectKeyword,
-                  subtype: selectNotice,
-                  vt:historyVt,
-                  fileExists: vm.selectFile,
-                  price: vm.selectMoney
-                },
-                async: false,
-                dataType: 'json',
-                success: function (data) {
-                  if(!data.data) {
-                    data.data = []
-                  }
-                  checkFreeList(data)
-
-
-                     checkmerge(data.industry)
-                    if (data.otherFlag){
-                        localStorage.setItem({{.T.userId}}+"_otherFlag",data.otherFlag)
-                    }
-                    firstPage = data.data;
-                    isInTSguide = data.isInTSguide
-                    if (r.userType=="free" && firstPage.length <= 0 && !r.haskey && isInTSguide) {
-                        (function() {
-                            if (sessionStorage && (sessionStorage.keysetindexToHistory == "1" || sessionStorage.keysetindexToHistory == "2" || sessionStorage.keysetindexToHistory == "3")) {
-                                sessionStorage.removeItem("keysetindexToHistory");
-                                return
-                            }
-                            if (firstTime) {
-                                return
-                            }
-                            history.pushState({}, "", "");
-                            window.location.href = '/jyapp/wxkeyset/keyset/index';
-                        })();
-                    }
-
-                    // 非vip的新用户
-                    if (myInfo.userType !== 'vip') {
-                      if(myInfo.userType == 'entniche') {
-                        if(data.data) {
-                          if (data.data.length === 0) {
-                            $('.findnull_').show().siblings('.empty').hide()
-                          }
-                        } else {
-                          $('.findnull_').show().siblings('.empty').hide()
-                        }
-
-                        $('.header_header').hide()
-                      } else {
-                        // 如果是新用户(没有推送历史数据,没有关键词),直接就显示空页面
-                        if (data.data.length === 0 && myInfo.haskey === false && !firstTime) {
-                            if(vm.rootInfo.memberStatus > 0) {
-                                $('.header_header').hide()
-                            } else {
-                                $('.filter_tab').hide()
-                                $('.header_header').hide()
-                                $('.findnull-no-key').css({"display": 'block'}).siblings('.empty').hide()
-                            }
-                            return
-                        } else {
-                            if(vm.rootInfo.memberStatus > 0 || myInfo.userType == 'entniche') {
-                                $('.header_header').hide()
-                            } else {
-                                $('.header_header').show()
-                            }
-                        }
-                      }
-                    } else {
-                        if (data.data.length === 0) {
-                            $('.findnull_').show().siblings('.empty').hide()
-                        }
-
-                        $('.header_header').hide()
-                    }
-
-                    pageIndex = 2;
-                    lasttime = data.thistime;
-                    hasNextPage = data.hasNextPage;
-                    vm.hasNextPage = data.hasNextPage
-                    userId = data.userId;
-                    sessionStorage.userId = userId;
-                    sessionStorage.setItem(userId + "_searchTime", firstTime);
-                },
-                error: function (xhr, type) {
-                    hasNoData();
-                }
-            });
-            // firstPage.length = 0
-            if (firstPage.length == 0) {
-                //sessionStorage.removeItem("search_starttime");
-                sessionStorage.removeItem(sessionStorage.userId + "_searchTime");
-                hasNoData();
-                return;
-            }
-            dataCache = dataCache.concat(firstPage);
-            structureHtml(firstPage, true);
-
-            setTimeout(function () {
-                $(".listcontent").scrollTop(0);
-            }, 300);
-        }
-        setTimeout(() => {
-            $('#select-meau').css({'visibility': 'initial'})
-            $('#select-meau').css({'display':'flex'})
-        }, 500)
-        if (hasNextPage) {
-            setTimeout(function () {
-                wxflag = $('.listcontent').dropload({
-                    scrollArea: $(".listcontent"),
-                    // loadUpFn: function (me) {
-                    //     //loadDatas(me,-1);
-                    //     reloadFirstPage(me);//下拉刷新更新订阅词
-                    // },
-                    loadDownFn: function (me) {
-                        loadDatas(me, lasttime);
-                    }
-                });
-            }, 1000);
-        } else {
-            setTimeout(function () {
-                wxflag = $('.listcontent').dropload({
-                    scrollArea: $(".listcontent"),
-                    // loadUpFn: function (me) {
-                    //     loadDatas(me, -1);
-                    // },
-                    loadDownFn: function (me) {
-                        loadDatas(me, lasttime);
-                    }
-                });
-                noMoreData(wxflag);
-            }, 1000);
-        }
-      }
-      //
-      $.post("/publicapply/myinfo?t="+new Date().getTime(),null,function(r){
-        myInfo = r
-        if(r.vipStatus > 0){
-            // $(".switch").addClass("only-vip");
-            // $(".switch").text("超级订阅").show();
-            // $(".switch").click(tosetpage);
-            thisClass.InitVip(r);
-            extend(1);
-        }else{
-            if(vm.rootInfo.memberStatus <= 0) {
-              if(myInfo.userType == 'entniche') {
-                $('.header_header').hide()
-                $(".switch").addClass('switch_zj')
-                // $(".switch_right").hide()
-                $(".switch .switch_icon").addClass('icon_ent')
-                $(".switch .user_pro").text("商机管理").css('margin-right','.08rem')
-                $(".switch").show()
-                thisClass.InitPersonal(r);
-                if(historyVt === 's') {
-                  $(".switch").click(toEntNichePage);
-                }
-                extend(1)
-                return
-              }
-                setTimeout(function(){
-                    if (scrollTop==0 && r.haskey){
-                        $(".header_header").show();
-                    }
-                },200)
-
-                // 获取一下cache的列表数据
-                var listString = sessionStorage.getItem('historypushDataCache')
-                if (listString) {
-                    listString = JSON.parse(listString)
-                }
-
-                // 非vip
-                if (myInfo.userType !== 'vip') {
-                    if (listString) {
-                        $('.header_header').show()
-                    }
-                }
-                $(".app-content").css("justify-content","flex-start");
-                $(".switch").addClass("only-personal");
-                $(".switch .user_pro").text("立即使用 超级订阅");
-                $(".switch").click(tointroducepage);
-                $(".switch_ext").click(tointroducepage);
-                thisClass.InitPersonal(r);
-                extend(0);
-                // 免费用户删除类名
-                vm.RemoveClass('vip')
-                vm.RemoveClass('big')
-            } else {
-                thisClass.InitPersonal(r);
-                extend(1)
-            }
-        }
-      });
-  }
-  // 是否有未读的周报月报
-  function reportHtml(r){
-    if (r.unread > 0) {
-      $(".vip_report>a").show();
-    }else{
-      $(".vip_report>a").hide();
-    }
-    if (r.tip) {
-      if (r.tip.type == 2) {
-        $(".vip_report_tip .weekly>span").text("周");
-      } else {
-        $(".vip_report_tip .weekly>span").text("月");
-      }
-      $(".vip_report_tip .term").text(new Date(Number(r.tip.startdate + "000")).Format("yyyy年M月d日") + "-" + new Date(Number(r.tip.enddate + "000")).Format("yyyy年M月d日"));
-      $('.vip_report_tip').fadeIn();
-      $('.vip_report_todetail').on('click', function () {
-        $('.vip_report_tip').fadeOut();
-        localStorage.removeItem("reportTipTime");
-        localStorage.removeItem("reportData");
-        updateReportStatus(r.tip);
-      });
-      $('.weui-dialog img.vip_report_tip_close').click(function () {
-        $('.vip_report_tip').fadeOut();
-        localStorage.removeItem("reportTipTime");
-        localStorage.removeItem("reportData");
-        updateReportStatus();
-      });
-    }
-  }
-
-function extend(i){
-  window.listScroll = function() {
-    if (i==0){
-      var nowT = $(".listcontent").scrollTop()
-      if (nowT > 0) {
-        if (nowT > 50) {
-          // 修复非超级订阅用户,但是大会员会用户。在筛选结果只有4条数据时候滚动产生的无限循环
-          // 无限循环触发条件:nowT<50,设置高度,触发scroll事件,nowT<50 ...以此无限循环触发
-          $(".header_header").css({height: (60 - nowT) +'px'})
-          $(".header_header").hide();
-          $(".switch").fadeIn();
-        }else{
-          $(".header_header").show();
-          $(".switch").fadeOut();
-        }
-      } else {
-        $(".header_header").css({height: (60) +'px'})
-        $(".header_header").show()
-        $(".switch").fadeOut();
-      }
-    }
-  }
-}
-  //下拉刷新
-  function reloadFirstPage(me) {
-      if($(".vip_report").is(":hidden")||$(".vip_report>a").is(":hidden")){
-        afterJyObjInit();
-      }
-      selectArea = vm.area; // 地区
-      selectCity = vm.city; // 城市
-      selectIndustry = vm.subscopeclass // 行业
-      selectCate = vm.buyerclass // 采购单位
-      selectKeyword = vm.key // 关键词
-      selectNotice = vm.subtype // 公告类型
-      selectFile = vm.selectFile
-      selectMoney = vm.selectMoney
-      console.log('刷新-ajax', selectFile, selectMoney);
-      $.ajax({
-          type: 'post',
-          url: '/publicapply/subscribe/historyPush?t=' + new Date().getTime(),
-          data: {
-            selectTime: firstTime || vm.time,
-            pageNum: 1,
-            area: selectArea,
-            city: selectCity,
-            subscopeclass: selectIndustry,
-            buyerclass: selectCate,
-            key: selectKeyword,
-            subtype: selectNotice,
-            fileExists: selectFile,
-            price: selectMoney
-          },
-          async: false,
-          dataType: 'json',
-          success: function (data) {
-              pageIndex = 1;
-              lasttime = data.thistime;
-              firstPage = data.data;
-              hasNextPage = data.hasNextPage;
-              words = data.matchkeys;
-              count = 0;
-              dataCache = new Array();
-              $("#list>*").remove();
-              hasNextPage = true;
-              me.$domDown.html(me.opts.domDown.domLoad);
-              me.isData = true;
-              me.isLockUp = false;
-              me.isLockDown = false;
-              if (data.data.length == 0) {
-                  noMoreData(me);
-              } else {
-                  pageIndex++;
-                  lasttime = data["thistime"];
-                  dataCache = dataCache.concat(data["data"]);
-                  structureHtml(data["data"], true);
-                  if (data.hasNextPage) {
-                      // 每次数据插入,必须重置
-                      me.resetload();
-                  } else {
-                      noMoreData(me);
-                  }
-              }
-          },
-          error: function (xhr, type) {
-              hasNoData(me);
-          }
-      });
-  }
-
-  function loadDatas(me, le) {
-      wxflag = me;
-      selectArea = vm.area; // 地区
-      selectCity = vm.city; // 城市
-      selectIndustry = vm.subscopeclass // 行业
-      selectCate = vm.buyerclass // 采购单位
-      selectKeyword = vm.key // 关键词
-      selectNotice = vm.subtype // 公告类型
-      selectFile = vm.selectFile
-      selectMoney = vm.selectMoney
-      if(vm.hasNextPage) {
-        $.ajax({
-          type: 'post',
-          url: '/publicapply/subscribe/historyPaging',
-          data: {
-            pageNum: pageIndex,
-            selectTime: firstTime || vm.time,
-            area: selectArea,
-            city: selectCity,
-            subscopeclass: selectIndustry,
-            buyerclass: selectCate,
-            key: selectKeyword,
-            subtype: selectNotice,
-            vt:historyVt,
-            fileExists: selectFile,
-            price: selectMoney
-          },
-          dataType: 'json',
-          success: function (data) {
-              //没有数据
-              if (data.data.length == 0) {
-                  noMoreData(me);
-              } else {
-                  pageIndex++;
-                  lasttime = data["thistime"];
-                  dataCache = dataCache.concat(data["data"]);
-                  structureHtml(data["data"], false);
-                  if (data.hasNextPage) {
-                      // 每次数据插入,必须重置
-                      me.resetload();
-                  } else {
-                      noMoreData(me);
-                  }
-              }
-          },
-          error: function (xhr, type) {
-              noMoreData(me);
-          }
-        });
-      }
-  }
-
-  function noMoreData(me) {
-      if (me == null) {
-          return;
-      }
-      wxflag = me;
-      hasNextPage = false;
-      // 锁定
-      me.lock();
-      // 无数据
-      me.noData();
-      // 即使加载出错,也得重置
-      me.resetload();
-  }
-
-function hasNoData() {
-    var nokeyNoDataShow = $('.findnull-no-key').is(':visible')
-    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
-    if (!nokeyNoDataShow || !NoDataShow) {
-        $(".findnull_").css("display", "block")
-        $('.findnull_').siblings('.empty').hide()
-    } else {
-        $(".findnull_").css("display", "none")
-    }
-    if(!NoDataShow) {
-        if(!myInfo.haskey){
-          if(myInfo.userType == 'entniche') {
-            $(".findnull_").css("display", "block").siblings('.empty').hide()
-          } else {
-            $('.findnull-no-key').css("display", "block").siblings('.empty').hide()
-          }
-        } else {
-          $(".findnull_").css("display", "block").siblings('.empty').hide()
-        }
-    }
-}
-
-  function structureHtml(object, showAd) {
-      $('.findnull').hide()
-      $('.findnull_').hide()
-      $('.findnull-no-key').hide()
-      var listhtml = '';
-      var ad = $("#advertscript").html();
-      for (var index in object) {
-          var obj = object[index];
-          //标题(需要高亮)
-          var title = obj.title;
-          if(title==""||title==undefined){
-            continue
-          }
-          count++;
-          var mWords = "";
-          var _words = "";
-          if (obj.matchkeys != undefined && obj.matchkeys != null) {
-              _words = obj.matchkeys;
-          }
-          if (_words != null && _words.length > 0) {
-              for (var n = 0; n < _words.length; n++) {
-                  var keysTemp = _words[n].split("+");
-                  for (var m = 0; m < keysTemp.length; m++) {
-                      title = keyWordHighlight(title, keysTemp[m], '<font class="keyword">$1</font>');
-                  }
-              }
-              mWords = _words.join("_");
-          }
-          //地区
-          var area = obj.area;
-          var areaList = "";
-          if (area != "") {
-              area = $.trim(area);
-              area = area == "A" ? "全国" : area;
-              areaList = '<span class="location">' + area + '</span>';
-          }
-          //类型
-          var datatype = obj.type;
-          var datatypeList = "";
-          var datatypeTable = "";
-          if (datatype != "") {
-              datatypeList = '<span class="type">' + datatype + '</span>'
-              datatypeTable = datatype + "公告"
-          }
-          //行业
-          var ca_isvip = obj.ca_isvip
-          var industryname = "";
-          var industryListname = "";
-          if (ca_isvip) {
-              if (obj.buyerclass != null && obj.buyerclass != "") {
-                  industryname = obj.buyerclass
-                  industryListname = '<span class="buyerclass">' + industryname + '</span>';
-              }
-          } else {
-              if (obj.s_subscopeclass != null && obj.s_subscopeclass != "") {
-                  industryname = obj.s_subscopeclass
-                  industryListname = '<span class="industry">' + industryname + '</span>';
-              }
-          }
-          // 预算:budget;中标:bidamount
-          var moneyList = "";
-          if (obj.budget != null && obj.budget != "") {
-              moneyList = '<span class="bidamount">' + utils.moneyUnit(obj.budget) + '</span>';
-          }
-          if (obj.bidamount != null && obj.bidamount != "") {
-              moneyList = '<span class="bidamount">' + utils.moneyUnit(obj.bidamount) + '</span>';
-          }
-          //时间
-          var showdateList = ""
-          var showdateTable = ""
-
-          if (obj.publishtime) {
-              showdateList = utils.dateFromNow(obj.publishtime * 1000);
-              showdateTable = formatDate(obj.publishtime)
-              if (showdateList != null) {
-                  showdateList = '<span><i class="jyapp-icon jyapp-icon-bofangjilu" style="color:#7a7a7a;margin-right:2px;"></i>' + showdateList + '</span>'
-              }
-          }
-          //
-          var projectM = obj.ca_type;
-          var projectMList = "";
-          if (projectM == 1) {
-              projectMList = '<span class="projectM">项目匹配</span>'
-          } else {
-              projectMList = areaList + industryListname + datatypeList + moneyList
-          }
-          //序号位置
-          var paddingLeft = 20
-          var countLength = count.toString().length;
-          if (countLength > 1) {
-              paddingLeft = (countLength + 1) * 9;
-          }
-          //是否浏览过
-          var visited = "";
-          if (obj.ca_isvisit == 1) {
-              visited = "visited"
-          }
-          // 是否有附件
-          var fileText = ''
-          if (obj.ca_fileExists) {
-            fileText = '<font class="keyword" style="margin-right:4px;">[有附件]</font>'
-          }
-          if (showAd && index == 3 && !closeAdvert) {//广告位
-              var ad = $("#advertscript").html()
-              if (ad != ""&&ad.length>20) {
-                  listhtml += '<div class="tslist ' + visited + '" style="border-bottom: none;" words="' + mWords + '">'
-                  if (obj.site == '剑鱼信息发布平台') {
-                    listhtml += '<div class="userPublish">用户发布</div>'
-                  }
-                  listhtml += '<div class="resnumb">'
-                      + '<div class="one">'
-                      + '<span class="xh ' + visited + '">' + count + '.</span>'
-                      + '</div>'
-                      + '<div class="two bt-parent" style="display: flex;justify-content: space-between;padding-left:' + paddingLeft + 'px;">'
-                      + '<a class="bt ' + visited + '" eid="' + obj["_id"] + '"  push_date="' + obj["ca_date"] + '" list_index="' + obj["ca_index"] + '" projectM="' + obj["ca_type"] + '">' + fileText + title + '</a>'
-                      + '<div class="collec_star" collecnum="'+obj["collection"]+'" data-id="' + obj["_id"] + '">'
-                      + '<span class="shoucang"></span>'
-                      + '<span class="weishoucang"></span>'
-                      + '</div>'
-                      + '</div>'
-                      + '</div>'
-                      + '<div style="clear:both;">'
-                      + '</div>'
-                      + '<div class="restime time-diff">' + projectMList + showdateList + '</div>'
-                      + '<div style="clear:both;"></div>'
-                      + '</div>'
-                      + '<div class="adv-wxpush-center" adv_name="APP推送历史页-中部" id="E1">' + ad + '</div>'
-                  continue
-              }
-          }
-          listhtml += '<div class="tslist ' + visited + '" words="' + mWords + '">'
-          if (obj.site == '剑鱼信息发布平台') {
-            listhtml += '<div class="userPublish">用户发布</div>'
-          }
-          listhtml += '<div class="resnumb">'
-              + '<div class="one">'
-              + '<span class="xh ' + visited + '">' + count + '.</span>'
-              + '</div>'
-              + '<div class="two bt-parent" style="display: flex;justify-content: space-between;padding-left:' + paddingLeft + 'px;">'
-              + '<a class="bt ' + visited + '" eid="' + obj["_id"] + '"  push_date="' + obj["ca_date"] + '" list_index="' + obj["ca_index"] + '" projectM="' + obj["ca_type"] + '">' + fileText + title + '</a>'
-              + '<div class="collec_star" collecnum="'+obj["collection"]+'" data-id="' + obj["_id"] + '">'
-              + '<span class="shoucang"></span>'
-              + '<span class="weishoucang"></span>'
-              + '</div>'
-              + '</div>'
-              + '</div>'
-              + '<div style="clear:both;">'
-              + '</div>'
-              + '<div class="restime time-diff">' + projectMList + showdateList + '</div>'
-              + '<div style="clear:both;"></div>'
-              + '</div>'
-      }
-      if (object.length <= 3 && ad != undefined && ad != "" && !closeAdvert && showAd) {
-          appendList($("<div>" + listhtml + "<div class='adv-wxpush-center' id='E1'>" + ad + "</div></div>"));
-      } else {
-          appendList($("<div>" + listhtml + "</div>"));
-      }
-      if (object.length <= 4 && ad != undefined && ad != "") {
-          $(".closeadv").css("display", "none");
-          $(".closeadv-bg").css("display", "none");
-      } else {
-          $(".closeadv").css("display", "");
-          $(".closeadv-bg").css("display", "");
-      }
-    //   控制收藏五角星显示隐藏
-      $('.collec_star').each(function(item, index) {
-        // console.log($('.collec_star').eq(item)[0])
-        let collecnum = $('.collec_star').eq(item).attr('collecnum')
-        if(collecnum == 1) {
-            $('.collec_star').eq(item).find('.shoucang').show()
-            $('.collec_star').eq(item).find('.weishoucang').hide()
-        }else{
-            $('.collec_star').eq(item).find('.shoucang').hide()
-            $('.collec_star').eq(item).find('.weishoucang').show()
-        }
-      })
-
-       // 收藏或取消收藏
-        $('.collec_star').on('click', function(e){
-            const _this = this
-            e.stopPropagation()
-            const id = $(this).attr('data-id')
-            var shoucang = $(_this).find('.weishoucang').is(':hidden')
-            // 说明未收藏,点击收藏
-            if (vKeepComponent) {
-                vKeepComponent.changeBid(id, !shoucang)
-                // if(listnum < 100) {
-                //     vKeepComponent.changeKeepStatus(!shoucang, _this)
-                // }
-            }
-        })
-  }
-
-  var vKeepComponent = new Vue({
-        delimiters: ['${', '}'],
-        el: '#jyKeepComponent',
-        data: {
-            nowOpenBid: ''
-        },
-        methods: {
-            changeBid (id, type) {
-                this.nowOpenBid = id
-                this.$refs.vKeepComponent.ajaxAddKeep(id, type)
-            },
-            changeKeepStatus (type, that) {
-                if (!that) {
-                  that = $('*[data-id="'+this.nowOpenBid+'"]')
-                }
-                changeCollectStatus(type, that)
-                changeCollectDataStatus(type, this.nowOpenBid)
-            }
-        }
-    })
-    function changeCollectDataStatus (type, id) {
-        if (dataCache && $.isArray(dataCache)) {
-            dataCache.forEach(function (item) {
-                if (item._id == id) {
-                    item.collection = type ? 1 : 0
-                }
-            })
-        }
-    }
-    function changeCollectStatus(type, that) {
-        if(type) {
-            $(that).find('.shoucang').show()
-            $(that).find('.weishoucang').hide()
-            listnum++
-        } else {
-            $(that).find('.shoucang').hide()
-            $(that).find('.weishoucang').show()
-            listnum--
-        }
-    }
-
-  //
-  function formatDate(date, sl) {
-      var myDate = new Date(date * 1000);
-      var year = myDate.getFullYear();
-      var month = myDate.getMonth() + 1;
-      if (month < 10 && sl != "1") {
-          month = "0" + month
-      }
-      var date = myDate.getDate();
-      if (date < 10 && sl != "1") {
-          date = "0" + date
-      }
-      var hour = myDate.getHours()
-      var min = myDate.getMinutes()
-      if (sl == "1") {
-          if (hour < 10) {
-              hour = "0" + hour
-          }
-          if (min < 10) {
-              min = "0" + min
-          }
-          return year + "-" + month + "-" + date;
-      } else if (sl == "2") {
-          return year + "." + month + "." + date;
-      } else {
-          return year + "<br>" + month + "" + date;
-      }
-  }
-    function hiddenTips2() {
-        $('#tipsType').hide()
-    }
-    function updateJump2() {
-        $('#tipsType').hide()
-        location.href = '/jyapp/areaPack/page/set_area'
-        // location.replace('/jyapp/vipsubscribe/toSubVipSetPage?vSwitch=v')
-        // $.ajax({
-        //     url: '/publicapply/free/oneProvinceSet',
-        //     type: 'POST',
-        //     success: function (res) {
-        //         location.href = '/jyapp/areaPack/page/set_area'
-        //     }
-        // })
-    }
-  //
-  function appendList(content) {
-      content.children(".tslist").on("click", function (event) {
-        if (!window.userNewType&&!(vm.rootInfo.vipStatus>0||vm.rootInfo.memberStatus>0||myInfo.userType == 'entniche')) {
-            $('#tipsType').show()
-          } else {
-            $('#tipsType').hide()
-            var isv = $(this).find("a.bt").hasClass("visited");//是否为已读
-            setVisitedIndex($(this), "");
-            var sds = $(this).attr("words");
-            var h = $(this).find("a.bt").attr("s");
-            var eid = $(this).find("a.bt").attr("eid");
-            var index = $(this).find("a.bt").attr("projectm");
-            var pdate = $(this).find("a.bt").attr("push_date");
-            beforeJump(eid, h, sds, index, pdate, isv);
-            sessionStorage.setItem(vm.sessStorageKey, JSON.stringify(vm.$data))
-          }
-        })
-        $("#list").append(content);
-        $(".findnull").hide();
-        $(".listcontent").show();
-        setTimeout(function () {
-            $("#loading").hide();
-        }, 500)
-  }
-
-  function beforeJump(eid, h, sds, index, pd, vis) {
-      if (!vis) {
-          for (var i = 0; i < dataCache.length; i++) {
-              if (dataCache[i]._id == eid && dataCache[i].ca_date == pd) {
-                  dataCache[i].ca_isvisit = 1;
-                  break
-              }
-          }
-      }
-      setSessionStorage();
-      newredirect("", h, eid, "subkey_" + sds, index);
-  }
-
-  function setSessionStorage() {
-      if (sessionStorage && dataCache.length >= 0) {
-          sessionStorage.closeAdvert = closeAdvert;
-          sessionStorage.historypushScrollTop = scrollTop;
-          sessionStorage.historypushDataCache = JSON.stringify(dataCache);
-          sessionStorage.historypushPageIndexCache = pageIndex;
-          sessionStorage.historypushHasNextPage = hasNextPage;
-          sessionStorage.superSearch_iosNoRefresh = 'detail'
-          sessionStorage.hasFreeMore = $(".seeMore").is(":visible").toString()
-      }
-  }
-
-  function removeSessionStorage() {
-      sessionStorage.removeItem("historypushDataCache");
-      sessionStorage.removeItem("historypushPageIndexCache");
-      sessionStorage.removeItem("historypushScrollTop");
-      sessionStorage.removeItem("historypushHasNextPage");
-      sessionStorage.removeItem("closeAdvert");
-      sessionStorage.removeItem("hasFreeMore");
-  }
-
-  function setVisitedIndex(obj, eid) {
-      if (obj.find("a.bt").hasClass("visited") || obj.hasClass("visited")) {
-          return;
-      }
-      obj.find("a.bt").addClass("visited");
-      obj.find("span.xh").addClass("visited");
-      var vsid = obj.find("a.bt").attr("list_index");
-      if (vsid) {
-          $.ajax({
-              type: 'post',
-              url: '/publicapply/subscribe/setRead?t=' + new Date().getTime(),
-              data: {vsid: vsid},
-              async: false
-          });
-      }
-  }
-
-  //
-  var ajaxFlag = true;
-
-  function ajaxFun(time, area, city, subscopeclass, buyerclass, key, subtype, file, price) {
-    if(historyVt == 's') {
-      $(".set_keyword").hide();
-    }
-      if (!ajaxFlag) {
-          return
-      }
-      ajaxFlag = false;
-      $("#loading").show();
-      if(!time && !area && !city && !subscopeclass && !buyerclass && !key && !subtype){
-        afterJyObjInit();
-      }
-      if(isPageShow == '1') {
-        localStorage.removeItem('hideBottom')
-        JyObj.hiddenBottom("0");
-      }
-      // console.log(historyVt, 'historyVt');
-      console.log('ajaxFun-ajax', file, price);
-      $.ajax({
-          type: 'post',
-          url: '/publicapply/subscribe/historyPush?t=' + new Date().getTime(),
-          data: {
-            selectTime: time,
-            area: area,
-            city: city,
-            subscopeclass: subscopeclass,
-            pageNum: 1,
-            buyerclass: buyerclass,
-            key: key.replace(/\s/g, ','),
-            subtype: subtype,
-            vt:historyVt,
-            fileExists: file,
-            price: price
-          },
-          async: false,
-          dataType: 'json',
-          success: function (data) {
-            if(!data.data) {
-              hasNoData
-              return
-            }
-              pageIndex = 2;
-              lasttime = data.thistime;
-              firstPage = data.data;
-              hasNextPage = data.hasNextPage;
-              vm.hasNextPage = data.hasNextPage
-              userId = data.userId;
-              ajaxFlag = true;
-              if(!data.haskey) {
-                if(historyVt == 'm' && vm.rootInfo.isSubCount) {
-                    $(".set_keyword").hide();
-                } else if(historyVt == 's') {
-                    $(".set_keyword").hide();
-                } else {
-                  $(".set_keyword").show();
-                }
-              } else {
-                $(".set_keyword").hide();
-              }
-              if (time == undefined || time == "") {
-                  sessionStorage.removeItem(userId + "_searchTime");
-              } else {
-                  sessionStorage.setItem(userId + "_searchTime", time);
-              }
-              if (!area) {
-                  sessionStorage.removeItem(userId + "_selectArea");
-              }
-              if (!city) {
-                  sessionStorage.removeItem(userId + "_selectCity");
-              }
-              if (!selectFile) {
-                sessionStorage.removeItem(userId + "_selectFile");
-              }
-              if (!selectMoney) {
-                sessionStorage.removeItem(userId + "selectMoney");
-              }
-          },
-          error: function (xhr, type) {
-              ajaxFlag = true;
-              hasNoData();
-          }
-      });
-      dataCache = firstPage;
-      if (firstPage.length == 0) {
-          if ($(".findnull").css("display") == "block") {
-              $(".findnull").css("display", "none");
-          }
-          hasNoData();
-          return;
-      }
-      $("#list").html("");
-      count = 0;
-      structureHtml(firstPage, true);
-      setTimeout(function () {
-          $(".listcontent").scrollTop(0);
-      }, 300);
-      //================================
-      if (hasNextPage) {
-          setTimeout(function () {
-              wxflag = $('.listcontent').dropload({
-                  scrollArea: $(".listcontent"),
-                //   loadUpFn: function (me) {
-                //       //loadDatas(me,-1);
-                //       reloadFirstPage(me);//下拉刷新更新订阅词
-                //   },
-                  loadDownFn: function (me) {
-                      loadDatas(me, lasttime);
-                  }
-              });
-          }, 800);
-      } else {
-          wxflag = $('.listcontent').dropload({
-              scrollArea: $(".listcontent"),
-            //   loadUpFn: function (me) {
-            //       loadDatas(me, -1);
-            //   },
-              loadDownFn: function (me) {
-                  loadDatas(me, lasttime);
-              }
-          });
-          noMoreData(wxflag);
-      }
-  }
-
-  //免费用户关键词设置
-  function tokeyset() {
-    setSessionStorage()
-    // 如果没有订阅过,先去引导页(keyset/index会被重定向到引导页)
-    // 判断当前世大会员还是超级订阅
-    let switchProduct = sessionStorage.getItem('switch-product')
-    if(switchProduct) {
-        if(switchProduct == 'bigmember') {
-            window.location.href = '/jyapp/vipsubscribe/toSetKeyWordPage?vSwitch=m';
-        } else if(switchProduct == 'entniche') {
-          window.location.href = '/page_entniche_new/page/subsetting/keyWord.html'
-        } else {
-            if (isInTSguide) {
-                window.location.href = '/jyapp/wxkeyset/keyset/index';
-            } else {
-                if (myInfo.haskey) {
-                    window.location.href = '/jyapp/wxkeyset/keyset/index';
-                } else {
-                    if(myInfo.userType=="vip") {
-                        window.location.href = '/jyapp/vipsubscribe/toSetKeyWordPage'
-                    } else {
-                        //window.location.href = '/jyapp/vipsubscribe/toSetKeyWordPage'
-                        window.location.href = '/jyapp/vipsubscribe/toSubVipSetPage';
-                    }
-                }
-            }
-        }
-    } else {
-        if (isInTSguide) {
-            window.location.href = '/jyapp/wxkeyset/keyset/index';
-        } else {
-            if (myInfo.haskey) {
-                window.location.href = '/jyapp/wxkeyset/keyset/index';
-            } else {
-                if(myInfo.userType=="vip") {
-                    window.location.href = '/jyapp/vipsubscribe/toSetKeyWordPage'
-                } else {
-                    //window.location.href = '/jyapp/vipsubscribe/toSetKeyWordPage'
-                    window.location.href = '/jyapp/vipsubscribe/toSubVipSetPage';
-                }
-            }
-        }
-    }
-
-  }
-  // 清除超级订阅购买、续费、升级页面相关的优惠券、商品规格缓存
-  sessionStorage.removeItem('vip-cur-select-coupon')
-  sessionStorage.removeItem('$select-coupon')
-  sessionStorage.removeItem('vip-cur-select-size')
-  //介绍页
-  function tointroducepage() {
-      setSessionStorage();
-      window.location.href = "/jyapp/vipsubscribe/introducePage";
-  }
-
-  //我的企业列表
-  function toEntNichePage() {
-      setSessionStorage();
-      window.location.href = "/page_entniche_new/home";
-  }
-
-  //vip设置
-  function tosetpage() {
-      setSessionStorage();
-      window.location.href = "/jyapp/vipsubscribe/toSubVipSetPage?vSwitch=v";
-  }
-
-  //vip关键词设置
-  function tosetkeyspage() {
-      setSessionStorage();
-      window.location.href = "/jyapp/vipsubscribe/toSetKeyWordPage";
-  }
-
-  //续费
-  function torepay() {
-      setSessionStorage();
-      // window.location.href = "/jyapp/vipsubscribe/vipsubscribe_renew";
-      window.location.href = "/jy_mobile/common/order/create/svip?type=renew";
-  }
-
-  //购买
-  function topay() {
-      setSessionStorage();
-      // window.location.href = "/jyapp/vipsubscribe/vipsubscribe_new";
-      window.location.href = "/jy_mobile/common/order/create/svip?type=buy";
-  }
-  function updateReportStatus(tip) {
-      $.post("/subscribepay/report/tipover?t=" + new Date().getTime(), {type:productType==2?"member":"vip"}, function (r) {
-        if (tip) {
-          if(productType == 2){//大会员
-            if (tip.type == 2) { //周
-              window.location.href = "/jyapp/big/page/report_detail_week?start=" + tip.startdate + "&end=" + tip.enddate + "&pushcount=" + tip.pushcount+"&type=member";
-            }else{//月
-              window.location.href = "/jyapp/big/page/report_detail_month?start=" + tip.startdate + "&end=" + tip.enddate + "&pushcount=" + tip.pushcount+"&type=member";
-            }
-          }else{//超级订阅
-            window.location.href = "/vipreport/page/reportdetail.html?start=" + tip.startdate + "&end=" + tip.enddate + "&pushcount=" + tip.pushcount+"&type=vip";
-          }
-        }
-      });
-  }
-  function afterJyObjInit(){
-    try{
-      JyObj.hideRedSpotOnMenu("subscribe");
-    }catch(e){}
-  }
-  function iphoneXInit(){
-    $(".app-layout-content-b").css("top","89px");
-  }
-</script>
-<script type="text/javascript" charset="UTF-8">
-    function weuiDialog() {
-        weui.dialog({
-            title: '提示信息',
-            content: '您未设置关键词<br/>设置后接收信息更精确',
-            className: 'jymobile-setting-dialog',// 设置弹框的类名
-            buttons: [
-                {
-                    label: '去设置',
-                    type: 'primary',
-                    onClick: function () {
-                        // console.log('确定')
-                        tosetkeyspage();
-                    }
-                },
-                {
-                    label: '取消',
-                    type: 'default',
-                    onClick: function () {
-                        console.log('取消')
-                    }
-                }
-            ]
-        });
-    }
-
-    $('.open_remind .icon-chahao').on('click', function () {
-        $('.open_remind').hide()
-    })
-    //禁止默认行为方法
-    function stopScroll(e) {
-        e.preventDefault()
-    }
-    //用户合并
-    $(".dialog_alert .close").on("click",function(){
-      localStorage.canshowother=true
-      $(".dialog_alert").hide()
-    })
-    $(".dialog_alert .dialog_ft").on("click",function(){
-      localStorage.canshowother=true
-      window.location.href='/page_entniche/page/user/account_merge.html'
-    })
-    //关闭 其他采购单位行业 弹窗
-    function close_other(){
-      $(".jy-alert-other").hide();
-    }
-
-    //
-    $(function () {
-        $('#list').on('tap longTap', '.tslist',function(e){
-            var tempS = $(this).addClass("hover")
-            setTimeout(function () {
-                tempS.removeClass('hover')
-            }, 50)
-        })
-        try{
-          document.querySelector('.screen').addEventListener('touchmove', stopScroll, {passive: false});
-          document.querySelector('.tab_left').addEventListener('touchmove', stopScroll, {passive: false});
-          document.querySelector('.tab_right').addEventListener('touchmove', stopScroll, {passive: false});
-          document.querySelector('.handle_menu').addEventListener('touchmove', stopScroll, {passive: false});
-        }catch(e){}
-        if (firstTime != "" && firstTime != null) {
-            date = formatDate(firstTime / 1000, "1");
-        }
-
-        // 关闭设置弹窗
-        $('#close_set').on('click', function () {
-            $('.set_keyword').hide()
-        })
-        $('#close_renew').on('click', function () {
-            $('.renew_toast').hide()
-        })
-        $('#_close_renew').on('click', function () {
-            $('._renew_toast').hide()
-        })
-        $('#nv_close_renew').on('click', function () {
-            localStorage.setItem("nv_vip_" + userId, "T");
-            $('.nv_renew_toast').hide()
-        })
-
-    })
-    var mergedlist = []
-    var merge_industry = ["国土","林业","环保","卫生","工商","质监","食药","安监","地震","公安","文化","旅游","银监","保监"]
-    function checkmerge(state) {
-        if (checkindustry(state)){
-            var tips = "<span style='font-size:15px;font-family:PingFang SC;font-weight:bold;color:rgba(29,29,29,1);opacity:1;'>随着政府机构改革和职能转变工作深入推进,部分采购单位行业与现实不一致,为了提高订阅推送数据的准确性,剑鱼标讯需要针对采购单位行业名称进行优化。</span><br><span style='font-size:13px;font-family:PingFang SC;font-weight:400;color:rgba(104,104,104,1);opacity:1;'>采购单位名称的调整不影响所购买的采购单位数量,您仍可按需调整。<br><br>您订阅的:<br></span>"
-            var hasMerged = isread
-            var s_count=h_count=m_count=p_count=cultural_count=CBRC_count=t_count = 0
-            var nature_source = ["国土","林业"];
-            var health_commission = ["卫生"]
-            var market_supervision = ["工商","质监","食药"]
-            var contingency_management = ["安监","地震","公安"]
-            var cultural_tourism = ["文化","旅游"]
-            var CBRC = ["银监","保监"]
-            var ecological_environment = ["环保"]
-
-            state.forEach(function (item,index) {
-                if (merge_industry.indexOf(item)>-1){
-                    if (item == "国土"||item == "林业"){
-                        mergedlist.push("自然资源")
-                        // hasMerged = true
-                        nature_source = Highlight(nature_source,item)
-                        s_count++
-                    } else if (item == "环保"){
-                        mergedlist.push("生态环境")
-                        // hasMerged = true
-                        ecological_environment = Highlight(ecological_environment,item)
-                        h_count++
-
-                    } else if ( item == "卫生"){
-                        mergedlist.push("卫健委")
-                        // hasMerged = true
-                        health_commission= Highlight(health_commission,item)
-                        p_count++
-                    } else if (item == "工商"||item == "质监"||item == "食药"){
-                        mergedlist.push("市场监管")
-                        // hasMerged = true
-
-                        market_supervision =  Highlight(market_supervision,item)
-                        m_count++
-                    } else if (item == "地震"||item=="安监"||item=="公安"){
-                        if (item !=="公安"){
-                            mergedlist.push("应急管理")
-                        }else{
-                            mergedlist.push("公安")
-                        }
-                        // hasMerged = true
-                        contingency_management = Highlight(contingency_management,item)
-                        t_count++
-                    } else if (item=="文化"||item == "旅游"){
-                        mergedlist.push("文旅")
-                        // hasMerged = true
-                        cultural_tourism = Highlight(cultural_tourism,item)
-                        cultural_count++
-                    } else if  (item == "银监"||item == "保监"){
-                        mergedlist.push("银保监")
-                        // hasMerged = true
-                        CBRC= Highlight(CBRC,item)
-                        CBRC_count++
-                    }
-                }else{
-                    mergedlist.push(item)
-                }
-            })
-            if(s_count>=1){
-                tips +=nature_source.join('、')+" 合并为 【自然资源】<br>"
-            }
-            if (h_count>=1){
-                tips +=ecological_environment.join('、')+" 整合其他部门部分职能后更改为 【生态环境】<br>"
-            }
-            if (p_count>=1){
-                tips +=health_commission.join('、')+" 变更为 【卫健委】<br>"
-            }
-            if (m_count>=1){
-                tips +=market_supervision.join('、')+" 合并为 【市场监管】<br>"
-            }
-            if (t_count>=1){
-                tips +=contingency_management.join('、')+"中的消防 合并为 【应急管理】<br>"
-            }
-            if (cultural_count>=1){
-                tips +=cultural_tourism.join('、')+" 合并为 【文旅】<br>"
-            }
-            if (CBRC_count>=1){
-                tips +=CBRC.join('、')+" 合并为 【银保监】<br>"
-            }
-            if (!hasMerged){
-                $("#merge_content").html(tips)
-                $("#merge_dialog").show()
-            }
-        }
-
-    }
-
-    function acceptchange() {
-        var q = removeDuplicatedItem(mergedlist)
-        $.post("/subscribepay/vipsubscribe/mergeIndustry",{"industry":q.toString(),"isread":true},function (r) {
-            if (r.success){
-                console.log("行业合并成功")
-            }else{
-                console.log("行业合并失败")
-            }
-        })
-        $("#merge_dialog").hide()
-    }
-    function Highlight(a_list,key) {
-        a_list.forEach(function (item,index) {
-            if (item == key){
-                var m = "<span style='color:red'>"+item+"</span>"
-                a_list[index] = m
-
-            }
-        })
-        return a_list
-    }
-    function removeDuplicatedItem(ar) {
-        var ret = [];
-
-        for (var i = 0, j = ar.length; i < j; i++) {
-            if (ret.indexOf(ar[i]) === -1) {
-                ret.push(ar[i]);
-            }
-        }
-
-        return ret;
-    }
-    function checkindustry(industry){
-        var isinclude = false
-        if(!industry) {
-          return isinclude
-        }
-        industry.forEach(function (item,index) {
-            if (merge_industry.indexOf(item)>-1){
-                isinclude =  true
-                return
-            }
-        })
-        return isinclude
-    }
-</script>
-
+<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/js/historypush.js?v={{Msg "seo" "version"}}'></script>
+<script src=//cdn-common.jianyu360.com/cdn/lib/weui.js/1.2.1/weui.min.js></script>
+<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/history-push/js/old-page-script.js?v={{Msg "seo" "version"}}'></script>
 </html>

+ 1 - 1
src/jfw/modules/bigmember/src/entity/portrait_screen.go

@@ -294,7 +294,7 @@ func (pwp *PortraitProjectScreen) GetWinnerList() (list []map[string]interface{}
 			(*newData)[k]["firsttime"] = rowData["publishtime"]
 		}
 
-		for _, name := range []string{"budget", "subtype", "toptype", "_id", "projectname", "publishtime"} {
+		for _, name := range []string{"subtype", "toptype", "_id", "projectname", "publishtime"} {
 			delete((*newData)[k], name)
 		}
 	}

+ 6 - 2
src/jfw/modules/bigmember/src/service/push/push.go

@@ -31,6 +31,7 @@ type pushSet struct {
 	Newproject_forecast int    //新项目预测
 	Analy_report        int    //分析报告
 	Entinfo             int    //企业情报
+	WXPush              int    // wx推送
 }
 
 //4.6.0修改 只把有权益的存入map返给前端, k:权益 v:是否开启
@@ -91,6 +92,7 @@ func (a *Action) Detail() {
 			"subscribe":      util.IntAllDef(o_member_jy["i_subscribe"], 1),
 			"follow_project": util.IntAllDef(o_member_jy["i_follow_project"], 1),
 			"follow_ent":     util.IntAllDef(o_member_jy["i_follow_ent"], 1),
+			"wxpush":         util.IntAll(o_member_jy["i_wxpush"]),
 		}
 		power := []int{}
 		BigMsg := jy.GetBigVipUserBaseMsg(userId, Mysql, Mgo)
@@ -131,6 +133,7 @@ func (a *Action) Detail() {
 			"mailpush":       mailpush,
 			"mail":           mail,
 			"analy_report":   util.IntAllDef(o_vipjy["i_analy_report"], 1),
+			"wxpush":         util.IntAll(o_vipjy["i_wxpush"]),
 		}
 	case "free_subscribe":
 		user, _ := Mgo.FindById("user", userId, `{"s_myemail":1,"o_jy":1}`)
@@ -194,8 +197,8 @@ func (a *Action) Detail() {
 			if phone == "" {
 				phone, _ = (*user)["s_m_phone"]
 			}
-			entniche_user := Mysql.SelectBySql(`select a.id,a.ent_id,a.mail,b.model,c.dept_id from entniche_user a 
-				inner join entniche_info b on (a.phone=? and b.status=1 and a.ent_id=b.id) 
+			entniche_user := Mysql.SelectBySql(`select a.id,a.ent_id,a.mail,b.model,c.dept_id from entniche_user a
+				inner join entniche_info b on (a.phone=? and b.status=1 and a.ent_id=b.id)
 				inner join entniche_department_user c on (a.id=c.user_id)`, phone)
 			if len(*entniche_user) == 1 {
 				if model := util.IntAll((*entniche_user)[0]["model"]); model > 0 {
@@ -307,6 +310,7 @@ func (a *Action) Update() {
 				"o_member_jy.i_mailpush":   ps.Mailpush,
 				"o_member_jy.s_email":      ps.Mail,
 				"o_member_jy.l_modifydate": time.Now().Unix(),
+				"o_member_jy.i_wxpush":     ps.WXPush,
 			}
 			if ps.Subscribe >= 0 {
 				set["o_member_jy.i_subscribe"] = ps.Subscribe

+ 1 - 1
src/jfw/modules/followent/src/web/templates/weixin/list.html

@@ -167,7 +167,7 @@ initShare({{.T.signature}},{{.T.openid}},2,"jy_extend",{{.T.nickname}},{{.T.avat
             EasyAlert.show("最多可关注<br>"+followEntLimit+"个企业!");
             return;
           }
-          window.location.href = "/jyapp/followent/addEnt";
+          window.location.href = "/jylab/followent/addEnt";
         });
         if (res.list.length == 0) {
           return;

+ 2 - 1
src/jfw/modules/subscribepay/src/config.json

@@ -124,5 +124,6 @@
     "androidUrl": "/jyapp/vipsubscribe/toOrderDetailPage?orderCode=%s",
     "iosUrl": "/jyapp/vipsubscribe/toOrderDetailPage?orderCode=%s",
     "weChatUrl": "/front/vipsubscribe/toOrderDetailPage?orderCode=%s"
-  }
+  },
+  "keywordsLimit":35
 }

+ 1 - 0
src/jfw/modules/subscribepay/src/config/config.go

@@ -88,6 +88,7 @@ type config struct {
 		IosUrl     string
 		WeChatUrl  string
 	}
+	KeywordsLimit int
 }
 type mgoConf struct {
 	Address           string

+ 1 - 0
src/jfw/modules/subscribepay/src/entity/dataReportStruct.go

@@ -100,6 +100,7 @@ func (this *dataReportStruct) NewOrder(param frpc.JyPayOrderParam) (ordercode st
 		"dis_word":             param.Detail["disWord"],               //分销口令
 		"distribution_channel": distributionChannel,                   //销售渠道
 		"order_channel":        util.GetRpcOrderChannel(param.PayWay), //下单渠道
+		"audit_status":         3,                                     //默认审核通过
 	})
 	if orderId <= 0 {
 		err = errors.New("订单插入失败")

+ 1 - 0
src/jfw/modules/subscribepay/src/entity/jyCourseOnlineStruct.go

@@ -161,6 +161,7 @@ func (this *jyCourseOnline) NewOrder(param frpc.JyPayOrderParam) (ordercode stri
 		"order_channel":        util.GetRpcOrderChannel(param.PayWay), //下单渠道
 		"discount_price":       discount_price,
 		"d_relation_id":        userLotteryId,
+		"audit_status":         3, //默认审核通过
 	}
 	if param.Phone != "" {
 		insertMap["user_phone"] = param.Phone

+ 4 - 3
src/jfw/modules/subscribepay/src/entity/member.go

@@ -91,9 +91,10 @@ func (m *memberStruct) PayCallBack(param *CallBackParam) bool {
 func normal_member(level int, enddate time.Time, userId string) {
 	//修改用户表权限
 	set := map[string]interface{}{
-		"i_member_status":    level,
-		"i_member_starttime": time.Now().Unix(),
-		"i_member_endtime":   enddate.Unix(),
+		"i_member_status":      level,
+		"i_member_starttime":   time.Now().Unix(),
+		"i_member_endtime":     enddate.Unix(),
+		"o_member_jy.i_wxpush": 1,
 	}
 	if level == 4 { //试用用户
 		set["i_member_trial"] = 1 //试用标识

+ 40 - 1
src/jfw/modules/subscribepay/src/entity/shareFission.go

@@ -28,6 +28,17 @@ func NewShareFission(userId, shareUid string) *ShareFission {
 	}
 }
 
+// 活动赠送
+const (
+	SaleChannel051    = "x051"          // 销售渠道活动赠送
+	OrderPassed       = 3               // 订单审核状态-审核通过
+	TableAuditRecords = "audit_records" // 审核记录表
+	OperateCreate     = 1               // 审核轨迹操作类型-新增
+	AuditCreate       = 2               // 审核类型-创建订单
+)
+
+var jianyubiReg = regexp.MustCompile(`达到(\d+)剑鱼币`)
+
 //增加权益
 func (this *ShareFission) AddPower(r *http.Request) {
 	if this.ShareUid != "" { //有分享人
@@ -109,7 +120,18 @@ func Order(userid, starttime, endtime string, types, dayNum int, remark string)
 		"vip_endtime":    endtime,
 		"billingMode":    0, //计费模式 0免费 1付费
 	}
-	return util.Mysql.Insert("dataexport_order", insertMap) != 0
+	// 如果备注为剑鱼币兑换
+	if jianyubiReg.MatchString(remark) {
+		insertMap["distribution_channel"] = SaleChannel051 // 销售渠道
+	}
+	insertMap["audit_status"] = OrderPassed // 订单审核状态
+	if util.Mysql.Insert("dataexport_order", insertMap) != 0 {
+		// 新增一条审核记录
+		CreateOrderAuditRecord(ordercode, qu.FormatDate(&now, qu.Date_Full_Layout))
+		return true
+	} else {
+		return false
+	}
 }
 
 func (this *ShareFission) Record() {
@@ -119,3 +141,20 @@ func (this *ShareFission) Record() {
 		"createtime": time.Now().Unix(),
 	})
 }
+
+func CreateOrderAuditRecord(orderCode string, createTime string) {
+	saveData := map[string]interface{}{
+		"operator":      "-",
+		"create_time":   createTime,
+		"operator_type": OperateCreate,
+		"audit_status":  OrderPassed,
+		"order_code":    orderCode,
+		"audit_type":    AuditCreate,
+	}
+	if !InsertAudit(saveData) {
+		log.Println("新增审核轨迹保存失败", saveData)
+	}
+}
+func InsertAudit(data map[string]interface{}) bool {
+	return util.Mysql.Insert(TableAuditRecords, data) > 0
+}

+ 1 - 0
src/jfw/modules/subscribepay/src/service/aiForecastPack.go

@@ -65,6 +65,7 @@ func (a *AiForecastPack) CreateOrder() {
 			"user_id":        userId,
 			"pay_way":        "",
 			"original_price": order_money,
+			"audit_status":   3, //默认审核通过
 		})
 		log.Println("AI预测包购买订单", userId, order_id, code)
 		if order_id > 0 {

+ 1 - 0
src/jfw/modules/subscribepay/src/service/areaPack.go

@@ -117,6 +117,7 @@ func (this *AreaPack) CreateOrder() {
 			"d_relation_id":        userLotteryId,
 			"distribution_channel": distributionChannel, //销售渠道
 			"order_channel":        orderChannel,        //下单渠道
+			"audit_status":         3,                   //默认审核通过
 		}
 		//校验
 		rdata, ok := util.MQFW.FindById("user", userId, `{"o_jy":1}`)

+ 1 - 0
src/jfw/modules/subscribepay/src/service/bigmember.go

@@ -101,6 +101,7 @@ func (b *Bigmember) CreateOrder() {
 			"original_price":       order_money,
 			"distribution_channel": distributionChannel, //销售渠道
 			"order_channel":        orderChannel,        //下单渠道
+			"audit_status":         3,                   //默认审核通过
 		}
 		order_phone := b.GetString("order_phone") //p19.3用户信息采集 手机号
 		if order_phone != "" {

+ 10 - 0
src/jfw/modules/subscribepay/src/service/commonAction.go

@@ -550,6 +550,7 @@ func (this *CommonAction) Createorder() {
 			"dis_word":             inserMap.DisWord,
 			"distribution_channel": distributionChannel, //销售渠道
 			"order_channel":        orderChannel,        //下单渠道
+			"audit_status":         3,                   //默认审核通过
 		}
 
 		if openId := qutil.ObjToString(this.GetSession("s_m_openid")); openId != "" {
@@ -589,6 +590,15 @@ func (this *CommonAction) Createorder() {
 			insertM["expiration_time"] = inserMap.ExpirationTime
 		}
 		orderid := util.Mysql.Insert("dataexport_order", insertM)
+		//审核轨迹
+		util.Mysql.Insert("audit_records", map[string]interface{}{
+			"operator":      "-",
+			"create_time":   qutil.NowFormat(qutil.Date_Full_Layout),
+			"operator_type": 1,
+			"audit_status":  3,
+			"order_code":    inserMap.OrderCode,
+			"audit_type":    2,
+		})
 		if orderid <= 0 {
 			return nil, fmt.Errorf("创建订单异常")
 		}

+ 1 - 0
src/jfw/modules/subscribepay/src/service/courseAction.go

@@ -325,6 +325,7 @@ func (this *CourseAction) Reserve() {
 			"filter":               string(datailMsg),   //订单详情
 			"distribution_channel": distributionChannel, //销售渠道
 			"order_channel":        orderChannel,        //下单渠道
+			"audit_status":         3,                   //默认审核通过
 		})
 		if orderId == 0 {
 			return &entity.FuncResult{false, errors.New("数据库操作异常,请稍后重试"), nil}

+ 1 - 0
src/jfw/modules/subscribepay/src/service/dataExportPay.go

@@ -200,6 +200,7 @@ func (p *DataExportPay) CreateOrder() {
 			"dis_word":             disWord,             //202020817分销口令
 			"distribution_channel": distributionChannel, //销售渠道
 			"order_channel":        orderChannel,        //下单渠道
+			"audit_status":         3,                   //默认审核通过
 		})
 		if orderid > 0 {
 			p.SetSession("DataExportVerifyPhone_val", user_phone)

+ 1 - 0
src/jfw/modules/subscribepay/src/service/dataexportPack.go

@@ -186,6 +186,7 @@ func (this *DataExportPack) CreateOrder() {
 			"dis_word":             disWordStr,
 			"distribution_channel": distributionChannel, //销售渠道
 			"order_channel":        orderChannel,        //下单渠道
+			"audit_status":         3,                   //默认审核通过
 		})
 		if orderid <= 0 {
 			return nil, fmt.Errorf("创建订单异常")

+ 1 - 0
src/jfw/modules/subscribepay/src/service/entniche.go

@@ -65,6 +65,7 @@ func (e *Entniche) Buy() {
 			"pay_way":              "",
 			"distribution_channel": distributionChannel, //销售渠道
 			"order_channel":        orderChannel,        //下单渠道
+			"audit_status":         3,                   //默认审核通过
 		})
 		if order_id > 0 {
 			return 1, code

+ 2 - 1
src/jfw/modules/subscribepay/src/service/index_p1.go

@@ -93,7 +93,8 @@ func (this *IndexSearch) GetIndexMessage() {
 				history = strings.Split(h, ",")
 				_history = strings.Split(h, ",")
 				for k, v := range _history {
-					b_word, _, _ := jy.InterceptSearchKW(v, true, true)
+					//默认关键词不超过35个字符
+					b_word, _, _ := jy.InterceptSearchKW(v, qutil.IntAllDef(config.Config.KeywordsLimit, 35), true)
 					if b_word == "" {
 						_history = append(_history[:k], _history[k+1:]...)
 					}

+ 10 - 0
src/jfw/modules/subscribepay/src/service/integral.go

@@ -128,6 +128,7 @@ func (b *Integral) CreateOrder() {
 			"d_relation_id":        userLotteryId,
 			"distribution_channel": distributionChannel, //销售渠道
 			"order_channel":        orderChannel,        //下单渠道
+			"audit_status":         3,                   //默认审核通过
 		}
 		order_phone := b.GetString("order_phone") //p19.3用户信息采集 手机号
 		if order_phone != "" {
@@ -137,6 +138,15 @@ func (b *Integral) CreateOrder() {
 			insertObj["user_phone"] = order_phone
 		}
 		order_id := util.Mysql.Insert("dataexport_order", insertObj)
+		//审核轨迹
+		util.Mysql.Insert("audit_records", map[string]interface{}{
+			"operator":      "-",
+			"create_time":   qutil.NowFormat(qutil.Date_Full_Layout),
+			"operator_type": 1,
+			"audit_status":  3,
+			"order_code":    code,
+			"audit_type":    2,
+		})
 		if order_id > 0 {
 			//绑定卡卷
 			if userLotteryId != "" && lotteryId != "" {

+ 77 - 50
src/jfw/modules/subscribepay/src/service/orderListDetails.go

@@ -68,38 +68,28 @@ func (this *OrderListDetails) GetOrderPayAllMsg() {
 // 订单列表首页
 func (o *OrderListDetails) MyOrder() {
 	//每页显示数
-	userId := o.Session().Get("userId")
+	userId, _ := o.Session().Get("userId").(string)
 	returnMap := map[string]interface{}{}
 	if userId == "" {
 		o.ServeJson(returnMap)
 		return
 	}
-	queryM := map[string]interface{}{
-		"user_id":    userId,
-		"del_status": 0, //默认未删除
-	}
-
 	typ := o.GetString("type") // 0全部 1未支付 2已支付 3已取消
-	sta := TypSta(typ)
-	if sta != nil {
-		queryM["order_status"] = sta
-	}
 	fromPage := o.GetString("fromPage")
-	if fromPage == "wx" { //微信暂无企业商机管理
-		queryM["product_type"] = map[string]interface{}{"ne": "企业商机管理"}
-	}
+
 	//总数
 	pageNum := qutil.IntAll(o.GetString("pageNum"))
 	pageNum = qutil.If(pageNum == 0, 1, pageNum).(int)
 	i_page_size := qutil.IntAll(o.GetString("page_size"))
 	i_page_size = qutil.If(i_page_size == 0, 10, i_page_size).(int)
 
-	haveNextPage, res, _ := o.Datas(queryM, pageNum, i_page_size)
+	sql, sqlC := getOrderSql(userId, fromPage, typ)
+	haveNextPage, res, _ := o.Datas(sql, pageNum, 10)
 	if res != nil {
-		o.SetRes(res, queryM)
+		o.SetRes(res, userId)
 	}
 	if fromPage == "pc" {
-		returnMap["count"] = util.Mysql.Count(tableName_order, queryM)
+		returnMap["count"] = util.Mysql.CountBySql(sqlC)
 	}
 	returnMap["res"] = res
 	returnMap["hasNextPage"] = haveNextPage
@@ -128,26 +118,20 @@ func (o *OrderListDetails) DeleteOrder() error {
 			"id":      o.GetString("id"),
 			"user_id": userId.(string),
 		}
-		queryM := map[string]interface{}{
-			"user_id":    userId.(string),
-			"del_status": 0, //默认未删除
-		}
+		fromPage := o.GetString("fromPage")
 		nextPage := false
 		// 0全部 1未支付 2已支付
 		typ := o.GetString("type")
 		cancel := o.GetString("cancel")
 		pageNum, _ := o.GetInteger("pageNum")
-		sta := TypSta(typ)
-		if sta != nil {
-			queryM["order_status"] = sta
-		}
-		if o.GetString("fromPage") != "" && o.GetString("fromPage") == "wx" { //微信暂无企业商机管理
-			queryM["product_type"] = map[string]interface{}{"ne": "企业商机管理"}
-		}
+
+		sql, _ := getOrderSql(userId.(string), fromPage, typ)
+
 		var haveNextPage = false
 		var res = []map[string]interface{}{}
-		if o.GetString("fromPage") == "" || o.GetString("fromPage") != "pc" {
-			haveNextPage, res, _ = o.Datas(queryM, pageNum, 10)
+		if fromPage == "" || fromPage != "pc" {
+			// haveNextPage, res, _ = o.Datas1(queryM, pageNum, 10)
+			haveNextPage, res, _ = o.Datas(sql, pageNum, 10)
 			if len(res) > 0 {
 				res = res[0:1]
 				//用于删除订单后 判断新增的订单之后 是否有下一页
@@ -155,7 +139,7 @@ func (o *OrderListDetails) DeleteOrder() error {
 			}
 			if res != nil {
 				log.Println(res)
-				o.SetRes(res, queryM)
+				o.SetRes(res, userId.(string))
 			}
 		}
 		var boo = false
@@ -194,9 +178,6 @@ func (o *OrderListDetails) DeleteOrder() error {
 				//删除订单
 				boo = util.Mysql.Update(tableName_order, queryMap, map[string]interface{}{"del_status": 1, "del_time": qutil.FormatDate(&now, qutil.Date_Full_Layout)})
 			}
-			// if boo {
-			// 	util.MsgRemind.Delete(qutil.IntAll((*order)["id"]))
-			// }
 		}
 
 		o.ServeJson(map[string]interface{}{
@@ -483,13 +464,12 @@ and order_status=1 and  product_type in(`
 	return m
 }
 
-func (o *OrderListDetails) SetRes(res []map[string]interface{}, queryM map[string]interface{}) {
+func (o *OrderListDetails) SetRes(res []map[string]interface{}, userId string) {
 	entid := o.GetUserEntId() //用户购买的entid
-	ent_ordercode := GetEntOrdercode(queryM, entid)
+	ent_ordercode := GetEntOrdercode(userId, entid)
 	var create_time_stamp int64 = 0
-	userid := qutil.ObjToString(queryM["user_id"])
 	//获取最后一次购买的vip订单
-	lastOrderMap := LastOrder("VIP订阅,省份订阅包", userid)
+	lastOrderMap := LastOrder("VIP订阅,省份订阅包", userId)
 
 	for _, v := range res {
 		//获取单号 如果是vip xx小时取消
@@ -537,16 +517,18 @@ func (o *OrderListDetails) SetRes(res []map[string]interface{}, queryM map[strin
 		}
 		orderMoney := v["order_money"]
 		discount_price := v["discount_price"]
+		//对公转账的订单也有优惠
+		if discount_price != nil {
+			v["discount_price"] = float64(discount_price.(int64)) / 100
+		}
 		if orderMoney != nil {
-			if v["pay_way"] == "transferAccounts" && qutil.IntAll(v["order_status"]) == 1 { //对公转账 订单金额展示为实付金额
+			if v["pay_way"] == "transferAccounts" && qutil.IntAll(v["order_status"]) == 1 && qutil.Int64All(v["return_status"]) > 0 { //对公转账 订单金额展示为实付金额
 				v["order_money"] = float64(qutil.Int64All(v["pay_money"])) / 100
 			} else {
 				v["order_money"] = float64(orderMoney.(int64)) / 100
-				if discount_price != nil {
-					v["discount_price"] = float64(discount_price.(int64)) / 100
-				}
 			}
 		}
+		log.Println(orderMoney, "---", orderMoney.(int64), float64(orderMoney.(int64))/100, v["order_money"])
 		pay_money := v["pay_money"]
 		if pay_money != nil {
 			v["pay_money"] = float64(pay_money.(int64)) / 100
@@ -583,16 +565,18 @@ func (o *OrderListDetails) SetRes(res []map[string]interface{}, queryM map[strin
 }
 
 // 查询数据
-func (o *OrderListDetails) Datas(queryM map[string]interface{}, pageNum, pagesize_max int) (haveNextPage bool, result []map[string]interface{}, err error) {
-	res := *util.Mysql.Find(tableName_order, queryM, "id,order_code,order_channel,filter_publishtime,create_time,data_spec,filter_id,filter_keys,order_money,pay_money,data_count,order_status,pay_way,product_type,filter,pay_time,vip_starttime,vip_endtime,applybill_status,applybill_type,applybill_taxnum,applybill_company,vip_type,course_status,discount_price,d_relation_id,billingMode,is_backstage_order,return_status,expiration_time", "create_time desc", -1, 0)
-	if len(res) > 0 {
+func (o *OrderListDetails) Datas(sql string, pageNum, pagesize_max int) (haveNextPage bool, result []map[string]interface{}, err error) {
+	log.Println(sql)
+	res := util.Mysql.SelectBySql(sql)
+	log.Println(res)
+	if len(*res) > 0 {
 		start := (pageNum - 1) * pagesize_max
 		end := pageNum * pagesize_max
-		if end > len(res) {
-			end = len(res)
+		if end > len(*res) {
+			end = len(*res)
 		}
-		if start < len(res) {
-			result = res[start:end]
+		if start < len(*res) {
+			result = (*res)[start:end]
 		}
 		//
 		for i := 0; i < len(result); i++ {
@@ -982,10 +966,14 @@ func (o *OrderListDetails) JyPoint() {
 	})
 }
 
-func GetEntOrdercode(query map[string]interface{}, entid []int) []string {
+func GetEntOrdercode(userId string, entid []int) []string {
 	//获取购买的所有企业最近一次的ordercode
 	entordercode := []string{}
-	query["product_type"] = "企业商机管理"
+	query := map[string]interface{}{
+		"product_type": "企业商机管理",
+		"user_id":      userId,
+		"order_status": 1,
+	}
 	for _, v := range entid {
 		query["filter_id"] = v
 		lastbuy_ent := *util.Mysql.Find(tableName_order, query, "order_code,pay_time", "pay_time desc", -1, 0)
@@ -1021,3 +1009,42 @@ func deleteRepeat(slice []int) []int {
 	}
 	return slice_repeat
 }
+
+//获取订单列表sql语句拼接
+//userId 用户id
+//fromPage 来源地址
+//typ 类型
+//@return sql语句 countsql语句
+func getOrderSql(userId, fromPage, typ string) (string, string) {
+	sql := fmt.Sprintf(`select id,order_code,order_channel,filter_publishtime,create_time,data_spec,filter_id,filter_keys,order_money,pay_money,data_count,order_status,pay_way,product_type,filter,pay_time,vip_starttime,vip_endtime,applybill_status,applybill_type,applybill_taxnum,applybill_company,vip_type,course_status,discount_price,d_relation_id,billingMode,is_backstage_order,return_status,expiration_time from dataexport_order
+		where del_status=0 and audit_status=3 AND (is_backstage_order =0 AND user_id ='%s')`, userId)
+	sqlC := fmt.Sprintf(`select count(1) from dataexport_order
+		where del_status=0 and audit_status=3 AND (is_backstage_order =0 AND user_id ='%s')`, userId)
+
+	if fromPage == "wx" {
+		sql += `AND product_type !="企业商机管理"` //微信暂无企业商机管理
+	}
+	// 0全部 1未支付 2已支付 3已取消
+	//拼接sql
+	switch typ {
+	case "0", "":
+		s := fmt.Sprintf(` or (order_status =1 AND is_backstage_order=1 and user_id ='%s')  `, userId)
+		sql += s
+		sqlC += s
+	case "1":
+		s := ` AND order_status = 0`
+		sql += s
+		sqlC += s
+	case "2":
+		s := fmt.Sprintf(`AND order_status = 1 or (order_status =1 AND is_backstage_order=1 and user_id ='%s')  `, userId)
+		sql += s
+		sqlC += s
+	case "3":
+		s := ` AND order_status in(-2,-3)`
+		sql += s
+		sqlC += s
+	}
+	sql += " order by create_time desc"
+
+	return sql, sqlC
+}

+ 1 - 0
src/jfw/modules/subscribepay/src/service/resourcePack.go

@@ -112,6 +112,7 @@ func (this *ResourcePack) CreateOrder() {
 		"d_relation_id":        filter.UserLotteryId,
 		"distribution_channel": distributionChannel, //销售渠道
 		"order_channel":        orderChannel,        //下单渠道
+		"audit_status":         3,                   //默认审核通过
 	})
 	if orderid <= 0 {
 		this.ServeJson(OrderResult{Msg: "创建订单异常"})

+ 5 - 3
src/jfw/modules/subscribepay/src/service/salesCreateOrder.go

@@ -8,9 +8,6 @@ import (
 	"entity"
 	"errors"
 	"fmt"
-	"github.com/SKatiyar/qr"
-	"github.com/go-xweb/xweb"
-	"go.mongodb.org/mongo-driver/bson"
 	"log"
 	"net/url"
 	"pay"
@@ -20,6 +17,10 @@ import (
 	"strconv"
 	"time"
 	"util"
+
+	"github.com/SKatiyar/qr"
+	"github.com/go-xweb/xweb"
+	"go.mongodb.org/mongo-driver/bson"
 )
 
 type SalesCreateOrder struct {
@@ -158,6 +159,7 @@ func (this *SalesCreateOrder) CreateBySeller() {
 			"order_channel":        "xdqd04",  //下单渠道-启明星后台销售创建
 			"salesperson":          sellPName, //销售人员
 			"salesperson_id":       sellPid,   //销售人员id
+			"audit_status":         3,         //默认审核通过
 		}
 
 		if inserMap.VipStartTime != "" && inserMap.VipEndTime != "" {

+ 1 - 0
src/jfw/modules/subscribepay/src/service/vipSubscribeChange.go

@@ -314,6 +314,7 @@ func (this *SubscribeChange) Upgrade() {
 			"dis_word":             disWord,
 			"distribution_channel": distributionChannel, //销售渠道
 			"order_channel":        orderChannel,        //下单渠道
+			"audit_status":         3,                   //默认审核通过
 		}
 		if order_phone != "" {
 			if !jy.PhoneReg.MatchString(order_phone) {

+ 2 - 0
src/jfw/modules/subscribepay/src/service/vipSubscribePay.go

@@ -313,6 +313,7 @@ func (this *SubVipPayOrder) CreateOrder() {
 			"dis_word":             disWord,             //分销口令
 			"distribution_channel": distributionChannel, //销售渠道
 			"order_channel":        orderChannel,        //下单渠道
+			"audit_status":         3,                   //默认审核通过
 		}
 		if orderType != 5 && order_phone != "" { //p19.3用户信息采集(仅付费可填写手机号)
 			if !jy.PhoneReg.MatchString(order_phone) {
@@ -516,6 +517,7 @@ func (this *SubVipPayOrder) Renew() {
 			"vip_starttime":        qutil.FormatDate(&startTime, qutil.Date_Full_Layout),
 			"vip_endtime":          qutil.FormatDate(&endTime, qutil.Date_Full_Layout),
 			"vip_type":             1,
+			"audit_status":         3, //默认审核通过
 		}
 
 		if userfilter != nil && len(*userfilter) > 0 {

+ 1 - 0
src/jfw/modules/subscribepay/src/service/vipSubscribeTrial.go

@@ -320,6 +320,7 @@ func (this *TrialOrder) TrialPay() {
 			"vip_endtime":          qutil.FormatDate(&endTime, qutil.Date_Full_Layout),
 			"distribution_channel": distributionChannel, //销售渠道
 			"order_channel":        orderChannel,        //下单渠道
+			"audit_status":         3,                   //默认审核通过
 		}
 		if order_phone != "" {
 			if !jy.PhoneReg.MatchString(order_phone) {

+ 1 - 1
src/jfw/modules/subscribepay/src/util/msgremind.go

@@ -412,7 +412,7 @@ func (m *msgRemind) loadOrder() {
 	log.Println("开始加载72小时内的订单到内存中。。。")
 	startTime := time.Unix(time.Now().Unix()-MsgRemind.getExpireTime(), 0)
 	startTimes := util.FormatDate(&startTime, util.Date_Full_Layout)
-	list := Mysql.SelectBySql("select id,order_code,order_money,user_id,create_time,remind_status,vip_type,product_type from dataexport_order where order_money>0 and create_time>=? and product_type in ('VIP订阅','大会员') and order_status=0 and del_status=0 and (remind_status<>2 or remind_status is null)", startTimes)
+	list := Mysql.SelectBySql("select id,order_code,order_money,user_id,create_time,remind_status,vip_type,product_type from dataexport_order where order_money>0 and create_time>=? and product_type in ('VIP订阅','大会员') and order_status=0 and del_status=0 and (remind_status<>2 or remind_status is null) and audit_status=3", startTimes)
 	if list == nil {
 		log.Println("加载72小时内的订单到内存中失败")
 		return

+ 69 - 1
src/web/staticres/big-member/css/set_area_industry_cate.css

@@ -257,4 +257,72 @@
   }
 	#typeHidden{
 		display:none;
-	}
+	}
+#js_dialog .weui-dialog{
+  border-radius: 8px;
+  left: .72rem;
+  right: .72rem;
+}
+#js_dialog .weui-dialog__hd{
+  padding: .48rem 0 0.16rem;
+  color: #171826;
+  font-size: .36rem;
+  line-height: .52rem;
+}
+#js_dialog .weui-dialog__bd{
+  padding-bottom: .48rem;
+  color: #5F5E64;
+  font-size: .3rem;
+  text-align: justify;
+}
+#match_dialog .weui-dialog__bd .match_notice{
+  display: block;
+  font-size: .26rem;
+  color: #9B9CA3;
+  margin-top: .36rem;
+}
+#js_dialog .weui-dialog__ft{
+  line-height: .92rem;
+}
+#js_dialog .weui-dialog__btn{
+  color: #2ABED1;
+  font-size: .36rem;
+  font-weight: 500;
+}
+#js_dialog .weui-dialog__btn:active {
+  background-color: #fff;
+}
+#match_dialog .weui-dialog{
+  border-radius: 8px;
+  left: .72rem;
+  right: .72rem;
+}
+#match_dialog .weui-dialog__hd{
+  padding: .48rem 0 0.16rem;
+  color: #171826;
+  font-size: .36rem;
+  line-height: .52rem;
+}
+#match_dialog .weui-dialog__bd{
+  padding-bottom: .48rem;
+  color: #5F5E64;
+  font-size: .3rem;
+  text-align: justify;
+}
+#match_dialog .weui-dialog__bd .match_notice{
+  display: block;
+  font-size: .26rem;
+  color: #9B9CA3;
+  margin-top: .36rem;
+}
+#match_dialog .weui-dialog__ft{
+  line-height: .92rem;
+}
+#match_dialog .weui-dialog__btn{
+  color: #2ABED1;
+  font-size: .36rem;
+  font-weight: 500;
+}
+#match_dialog .weui-dialog__btn:active {
+  background-color: #fff;
+}

+ 45 - 1
src/web/staticres/big-member/js/set_cate.js

@@ -5,7 +5,7 @@ var vNode = {
     data: {
         // 原始数据
         cateListMapExp: {
-            '#': ['全部'],
+            '#': ['全部', '匹配未分类类型'],
             C: ['财政', '传媒', '城管', '采矿业', '出版广电'],
             D: ['档案', '党委办', '电信行业'],
             F: ['法院', '发改'],
@@ -63,6 +63,9 @@ var vNode = {
         nowSelectIndex: -1,
         allNeedTipIndexMap: {},
         commond_industry: [],
+        otherbuy: false,
+        bigArea: {},
+        matchbuyother: 0
     },
     computed: {
         resetButtonDisabled: function () {
@@ -71,6 +74,7 @@ var vNode = {
         }
     },
     created: function () {
+        this.infoAjax()
         this.initCateMap()
         this.setCateState(this.initCate)
         let _this = this
@@ -180,6 +184,26 @@ var vNode = {
                 $('.add_alert').hide()
             }
         },
+        infoAjax () {
+            let _this = this
+            $.ajax({
+                type:'POST',
+                url:'/bigmember/use/info',
+                success:function(res){
+                    if(res.error_code == 0){
+                        _this.bigArea = res.data.member_jy.o_area
+                        _this.matchbuyother = res.data.member_jy.i_matchbuyerclass_other
+                        if(_this.matchbuyother == 1) {
+                            _this.cateListMap['#'][1].selected = true
+                            _this.otherbuy = true
+                        } else {
+                            _this.cateListMap['#'][1].selected = false
+                            _this.otherbuy = false
+                        }
+                    }
+                }
+            }) 
+        },
         // 按钮点击事件
         changeCateState: function (e,item) {
           var _this = this
@@ -210,6 +234,9 @@ var vNode = {
                     this.setCateState()
                 }
             }
+            if(item.name == "匹配未分类类型") {
+                this.otherbuy = item.selected
+            }
         },
         // 弹窗取消事件
         setCancel: function () {
@@ -268,6 +295,7 @@ var vNode = {
                 }
 
                 this.cateListMap['#'][0].selected = true
+                this.cateListMap['#'][1].selected = true
             } else {
                 this.setCateState()
                 this.cateListMap['#'][0].selected = false
@@ -311,6 +339,12 @@ var vNode = {
                 confirmButtonColor: '#2cb7ca'
             })
         },
+        showMatchDialog: function () {
+            $('#match_dialog').show()
+        },
+        myKnow: function() {
+            $('#match_dialog').hide()
+        },
         onReset: function () {
             this.showNeedPopver(false)
             this.setCateState(this.initCate)
@@ -321,6 +355,16 @@ var vNode = {
             }
         },
         onConfirm: function () {
+            let _this = this
+            $.ajax({
+                type: 'POST',
+                url: '/publicapply/subscribe/setUserInfo',
+                data: {
+                    pageType: 'other_buyerclass',
+                    other: _this.otherbuy?1:0,
+                    vSwitch: 'm'
+                }
+            })
             var selectedCity = this.getSelected()
             try {
                 onConfirm && onConfirm(selectedCity)

+ 61 - 15
src/web/staticres/big-member/js/set_infotype.js

@@ -18,11 +18,44 @@ var vNode = {
                 level: 1,
                 children: []
             },
+            {
+              name: '采购意向',
+              value: '采购意向',
+              showHelp: true,
+              level: 1,
+              children: []
+            },
             {
                 name: '招标预告',
-                value: '预告',
+                value: '',
                 level: 1,
-                children: []
+                children: [
+                    {
+                        name: '预告',
+                        value: '预告',
+                        level: 2,
+                    },
+                    {
+                        name: '预审',
+                        value: '预审',
+                        level: 2,
+                    },
+                    {
+                        name: '预审结果',
+                        value: '预审结果',
+                        level: 2,
+                    },
+                    {
+                        name: '论证意见',
+                        value: '论证意见',
+                        level: 2,
+                    },
+                    {
+                        name: '需求公示',
+                        value: '需求公示',
+                        level: 2,
+                    },
+                ]
             },
             {
                 name: '招标公告',
@@ -64,12 +97,12 @@ var vNode = {
                         value: '变更',
                         level: 2,
                     },
-                    {
-                        name: '其它',
-                        value: '其它',
-                        level: 2,
-                        hidden: "typeHidden",
-                    },
+                    // {
+                    //     name: '其它',
+                    //     value: '其它',
+                    //     level: 2,
+                    //     hidden: "typeHidden",
+                    // },
                 ]
             },
             {
@@ -277,7 +310,7 @@ var vNode = {
                         if (inList) {
                             selectedCount ++
                             iitem.selected = true
-                            if(iitem.value=="其它"){
+                        	if(iitem.value=="其它"){
 								iitem.hidden = ""
 							}
                         }
@@ -298,9 +331,6 @@ var vNode = {
             }
 
             this.infoTypeList.forEach(function (item) {
-                if (item.value && item.selected) {
-                    arr.push(item.value)
-                }
 
                 if (item.level !== 0) {
                     item.children.forEach(function (iitem) {
@@ -309,15 +339,31 @@ var vNode = {
                         }
                     })
                 }
+                if (item.value && item.selected) {
+                    arr.push(item.value)
+                }
+                if (item.selected && item.name === '招标公告') {
+                    arr.push('其它')
+                }
             })
             return arr
         },
         // 显示拟建帮助弹窗
-        showNjHelpDialog: function () {
+        showNjHelpDialog: function (name) {
+          let htmlText = '“拟建项目”是指那些处于前期立项、审批阶段的项目。供应商应在立项阶段掌握项目信息,做到早介入,稳拿单。'
+          if (name == '采购意向') {
+            htmlText = '“采购意向”是指未发布招标公告前1-3个月,政府单位的采购意向信息,包含采购内容、预算金额、预计采购时间、采购联系人及联系方式等相关信息。'
+            this.$dialog.alert({
+              message: htmlText,
+              confirmButtonColor: '#2cb7ca',
+              confirmButtonText:'我知道了'
+            })
+          } else {
             this.$dialog.alert({
-                message: '“拟建项目”是指那些处于前期立项、审批阶段的项目。供应商应在立项阶段掌握项目信息,做到早介入,稳拿单。',
-                confirmButtonColor: '#2cb7ca'
+              message: htmlText,
+              confirmButtonColor: '#2cb7ca'
             })
+          }
         },
         onReset: function () {
             this.setInfoTypeState(this.initInfoType)

+ 51 - 0
src/web/staticres/common-module/history-push/css/dropload.css

@@ -0,0 +1,51 @@
+.dropload-up,.dropload-down{
+    position: relative;
+    height: 0;
+    overflow: hidden;
+    font-size: 12px;
+    /* 开启硬件加速 */
+    -webkit-transform:translateZ(0);
+    transform:translateZ(0);
+}
+.dropload-down{
+    height: 50px;
+}
+.dropload-refresh,.dropload-update,.dropload-load,.dropload-noData{
+    height: 50px;
+    line-height: 50px;
+    text-align: center;
+}
+.dropload-load .loading{
+    display: inline-block;
+    height: 15px;
+    width: 15px;
+    border-radius: 100%;
+    margin: 6px;
+    border: 2px solid #666;
+    border-bottom-color: transparent;
+    vertical-align: middle;
+    -webkit-animation: rotate 0.75s linear infinite;
+    animation: rotate 0.75s linear infinite;
+}
+@-webkit-keyframes rotate {
+    0% {
+        -webkit-transform: rotate(0deg);
+    }
+    50% {
+        -webkit-transform: rotate(180deg);
+    }
+    100% {
+        -webkit-transform: rotate(360deg);
+    }
+}
+@keyframes rotate {
+    0% {
+        transform: rotate(0deg);
+    }
+    50% {
+        transform: rotate(180deg);
+    }
+    100% {
+        transform: rotate(360deg);
+    }
+}

+ 219 - 0
src/web/staticres/common-module/history-push/css/old-page-style.css

@@ -0,0 +1,219 @@
+.j-popup.van-popup--bottom .j-main {
+  height: 100%;
+}
+.merge-dialog,
+.weui-dialog,
+.weui-mask{
+  z-index: 99999;
+}
+
+.van-dialog,
+.j-popup,
+.j-overlay {
+  z-index: 99999!important;
+}
+
+.jymobile-setting-dialog .weui-dialog__hd{
+  text-align: center !important;
+}
+.jymobile-setting-dialog .weui-dialog__bd{
+  padding: .37rem .1rem .38rem !important;
+  color: #1D1D1D !important;
+  font-size: .32rem !important;
+  text-align: center !important;
+}
+.jymobile-setting-dialog .weui-dialog__ft{
+  display: flex !important;
+  padding: 0 0 .38rem 0 !important;
+  text-align: center !important;
+}
+.jymobile-setting-dialog .weui-dialog__ft .weui-dialog__btn_default{
+  margin-right: .3rem !important;
+}
+.jymobile-setting-dialog .weui-dialog__ft>a {
+  text-decoration: none !important;
+}
+.app-layout-header{
+  padding-left: 16px;
+  padding-right: 16px;
+  padding-top: 20px;
+}
+.app-layout-header .switch-vip:before, .app-layout-header .only-vip:before {
+  height: 18px;
+}
+.app-layout-header .switch-vip:before, .app-layout-header .only-member::after {
+  content: '';
+  display: flex;
+  margin-left: 4px;
+  width: 12px;
+  height: 12px;
+  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACSSURBVHgBzZO7CYAwFEWvQXCNWOoWDiFY27mUDmDjBo5gZ2vWEBElASGGFyGfwlOFGzgkeTdAJBIqXIaGZ9c5y3XZjrm+t/b1RuXph4SDhsyZo8QKs0gEHGGUJNmPCo4okSkpuknAEf2NvCUSNTVzlD4wROJ/ohSBPNUJOpHeP2+RWWJvkVnikKtxaCUOEb1+wg1trU+oaaKLhgAAAABJRU5ErkJggg==) no-repeat;
+  background-size: contain;
+}
+.app-layout-header .switch-vip:before, .app-layout-header .switch {
+  align-items: center;
+  font-size: 12px;
+}
+.app-layout-content-b .app-content::after{
+  content: '';
+  width: 100%;
+  height: 8px;
+  background: #F5F6F7;
+}
+.iosMeau{
+  height: 100%;
+}
+.app-layout-content-b {
+  height: calc(100vh - 70px);
+  overflow: hidden;
+}
+.collection .van-dropdown-menu__item {
+  flex: 1;
+  padding-left: 0;
+  padding-right: 0;
+}
+.collection .van-dropdown-item:nth-of-type(4) .van-dropdown-item__content {
+  max-height: unset;
+  overflow: unset;
+  height: 100%;
+}
+.empty{
+  padding-top: .34rem;
+}
+
+.oldUserTips{
+  position: fixed;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  z-index: 99999;
+  background-color:rgba(0, 0, 0, 0.7);
+  display: none;
+}
+.updateTips-wrap{
+  width: 6.06rem;
+  height: 4.58rem;
+  background: #FFFFFF;
+  border-radius: 0.16rem 0.16rem 0.16rem 0.16rem;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  transform: translateX(-50%) translateY(-50%);
+}
+.updateTips-title{
+  text-align: center;
+  padding-top: 0.48rem;
+  font-size: 0.36rem;
+  font-weight: 500;
+  color: #161826;
+}
+.updateTips-text{
+  text-align: left;
+  padding: 0.16rem 0.6rem 0.1rem;
+  font-size: 0.3rem;
+  font-weight: 500;
+  color: #5E5E64;
+  line-height: 0.44rem;
+}
+.updateTips-btnWrap{
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  margin-top: 0.32rem;
+  border-top:0.02rem solid rgba(0, 0, 0, 0.1) ;
+}
+.updateTips-btn{
+  font-size: 0.36rem;
+  font-weight: 500;
+  color: #161826;
+  width: 50%;
+  height: 0.92rem;
+  line-height: 0.92rem;
+  text-align: center;
+  cursor: pointer;
+}
+.updateTips-line{
+  height: 0.92rem;
+  width: 0.02rem;
+  background-color: rgba(0, 0, 0, 0.1);
+}
+.levelUp{
+  color: #2ABDD1;
+}
+#freeArea{
+  color: #2ABDD1;
+}
+/* 留资查看更多新增 */
+.seeMore{
+  text-align: center;
+  line-height: 1.12rem;
+  height: 1.12rem;
+  background: #FFFFFF;
+  bottom: 1.4rem;
+}
+.seeMore + .dropload-down {
+  display: none;
+}
+.seeMore-btn{
+  font-size: .28rem;
+  color: #2ABED1;
+  display: contents;
+}
+.product-switch.in-wechat {
+  padding-top: 59px;
+}
+.product-switch{
+  display: block;
+  height: auto;
+}
+.typeswitch{
+  height: 1.08rem;
+}
+.push-money-component {
+  height: auto;
+}
+.push-money-component .money-component-group {
+  min-height: auto;
+  flex: unset;
+  padding: 0;
+}
+.push-money-component .j-footer {
+  display: none;
+}
+.push-money-component .select-tag-group{
+  padding: 6px 0 0!important;
+}
+.push-money-component .select-tag-item.active::after{
+  background: none!important;
+}
+.selected{
+  background: #E8FAFD!important;
+  color: #2ABED1!important;
+}
+.in-wechat.p13 #list {
+  padding-bottom: 50px;
+}
+.in-wechat #app-historypush-vipSub-btn.is-ent {
+  display: none !important;
+}
+
+/* 修复微信ios滚动不到最底部的问题,可在微信开发者工具ios下复现 */
+.in-wechat .fix-ios-scroll {
+  height: unset;
+}
+.in-wechat .fix-ios-scroll > .j-main {
+  display: flex;
+  flex-direction: column;
+}
+.in-wechat .fix-ios-scroll > .j-main .area-list,
+.in-wechat .fix-ios-scroll > .j-main .unitTab {
+  height: unset;
+  flex: 1;
+  overflow: auto;
+}
+
+.in-wechat .unitType .van-tabs__wrap .van-tabs__nav.van-tabs__nav--card .van-tab {
+  height: auto;
+  padding: 1px 0;
+}

+ 504 - 0
src/web/staticres/common-module/history-push/css/p13.css

@@ -0,0 +1,504 @@
+/* -S p13 for v2.10.4 */
+/* -s page 首页*/
+.p13 .home .top .home_search.fixed-top .home_search_left {
+    height: 0.8rem;
+}
+.p13 .home .top .home_search.fixed-top::after {
+    content: '';
+    position: absolute;
+    bottom: 0;
+    background: rgba(0, 0, 0, 0.05);
+    width: 100%;
+    height: 1px;
+    -webkit-transform: scaleY(0.5);
+    transform: scaleY(0.5);
+    -webkit-transform-origin: 0 0;
+    transform-origin: 0 0;
+    left: 0;
+}
+.p13 .home .top .home_search.fixed-top {
+    position: fixed;
+    top: 0;
+    left: 0;
+    z-index: 666;
+    background: #fff;
+    margin: 0;
+    padding: 0.14rem 0.32rem;
+    padding-top: 8vw;
+    box-sizing: border-box;
+    border: none;
+    border-radius: 0;
+    height: 1.08rem;
+    min-height: 21.333vw;
+    transform: translateZ(0);
+    -webkit-transform: translateZ(0);
+}
+#home_main.p13 .home .home_data .data_list {
+    padding: 0;
+}
+#home_main.p13 .home .home_data .data_list .list_item {
+    padding: .3rem .3rem .24rem .3rem;
+    display: block;
+    transition: background-color 150ms;
+    border: none;
+    position: relative;
+    overflow: hidden;
+}
+#home_main.p13 .home .home_data .data_list .list_item.hover {
+    background: #E6E6E6;
+}
+#home_main.p13 .home .home_data .data_list .list_item::after {
+    content: '';
+    position: absolute;
+    bottom: 0;
+    background: rgba(0, 0, 0, 0.05);
+    width: 100%;
+    height: 1px;
+    -webkit-transform: scaleY(0.5);
+    transform: scaleY(0.5);
+    -webkit-transform-origin: 0 0;
+    transform-origin: 0 0;
+}
+#home_main.p13 .home .home_data .data_list .serial_number {
+    display: none;
+}
+#home_main.p13 .content .keyword {
+    color: #2ABED1;
+}
+#home_main.p13 .home .home_data .data_list .tags > div {
+    color: #5F5E64;
+    font-size: 0.24rem;
+    line-height: 0.32rem;
+    background: #F7F9FA;
+    border: 0.5px solid rgba(0, 0, 0, 0.05);
+    box-sizing: border-box;
+    border-radius: 4px;
+    padding: 1px 0.16rem;
+    height: auto;
+    margin: 0 4px 0 0;
+}
+.p13 .home .home_data .data_nav {
+    color: #171826;
+}
+#home_main.p13 .home .home_data .data_list .list_info {
+    margin-top: 0.24rem;
+}
+#home_main.p13 .home .home_data .data_list .tags {
+    padding-left: 0;
+}
+#home_main.p13 .home .home_data .data_list .list_title p {
+    font-size: 0.32rem;
+    line-height: 0.48rem;
+    color: #171826;
+    font-weight: 500;
+}
+
+/* search */
+.p13 #list {
+    padding: 0;
+}
+.p13 #list .tslist {
+    padding: .3rem .3rem .36rem .3rem;
+    display: block;
+    transition: background-color 150ms;
+    border: none;
+    position: relative;
+    overflow: hidden;
+}
+.p13 #list .tslist::after {
+    content: '';
+    position: absolute;
+    bottom: 0;
+    background: rgba(0, 0, 0, 0.05);
+    width: 100%;
+    height: 1px;
+    -webkit-transform: scaleY(0.5);
+    transform: scaleY(0.5);
+    -webkit-transform-origin: 0 0;
+    transform-origin: 0 0;
+}
+.p13 .tslist a.bt {
+    color: #171826 !important;
+    font-size: 0.32rem;
+    line-height: 0.48rem;
+}
+
+/* hover */
+.p13 #list .tslist.hover,
+.p13 #list .tslist.visited.hover {
+    background: #E6E6E6;
+}
+.p13 .tslist.hover a.bt, .p13 .tslist.visited a.bt {
+    color: #9B9CA3 !important;
+}
+.p13 .tslist.hover .restime, .p13 .tslist.visited .restime {
+    color: #9B9CA3;
+}
+.p13 #list .tslist.visited {
+    background: #fff;
+}
+
+.p13 .tslist .keyword {
+    color: #2ABED1;
+}
+.p13 .resnumb .one {
+    display: none;
+}
+.p13 .resnumb .two {
+    padding-left: 0 !important;
+    max-height: 0.97rem;
+}
+.p13 .restime {
+    float: left;
+    width: 100%;
+    margin-top: 0.26rem;
+    color: #5F5E64;
+    position: relative;
+}
+.p13 .restime span i {
+    display: none;
+}
+.p13 .restime span.location,
+.p13 .restime span.industry,
+.p13 .restime span.bidamount,
+.p13 .restime span.projectM,
+.p13 .restime span.type, .p13 .restime span.buyerclass {
+    color: inherit;
+    font-size: 0.24rem;
+    line-height: 0.32rem;
+    background: #F7F9FA;
+    border: 0.5px solid rgba(0, 0, 0, 0.05);
+    box-sizing: border-box;
+    border-radius: 4px;
+    padding: 1px 0.16rem;
+    height: auto;
+    display: inline-block;
+    margin: 0 4px 0 0;
+}
+.p13 .restime > span:last-child {
+    color: #9B9CA3;
+    float: right;
+    position: absolute;
+    top: 0;
+    right: 0;
+}
+
+/*  全文 */
+#home_main.p13 .detail {
+    padding: 0 !important;
+    margin-top: 0.24rem;
+    font-size: 0.26rem;
+    line-height: 0.4rem;
+    color: #5F5E64;
+}
+
+/* ad */
+.p13 #supersearchPage .adv-appsearch-center, .p13 .adv-wxpush-center {
+    max-height: 1.28rem;
+    overflow: hidden;
+    border-radius: 8px;
+    margin: 0.24rem 0.32rem 0;
+    width: auto;
+}
+.p13 #supersearchPage .adv-appsearch-center::before, .p13 .adv-wxpush-center::before {
+    content: '广告';
+    position: absolute;
+    right: 1px;
+    bottom: 0;
+    display: inline-block;
+    background: rgba(0, 0, 0, 0.16);
+    border-radius: 8px 0px 0px 0px;
+    padding: 3px 6px;
+    box-sizing: border-box;
+    color: #fff;
+    font-size: 9px;
+    line-height: 12px;
+}
+.p13 #supersearchPage img.closeadv, .p13 .adv-wxpush-center img.closeadv {
+    width: 0.32rem;
+    top: 0.1rem;
+    right: 0.1rem;
+    z-index: 1;
+}
+.p13 #supersearchPage .closeadv-bg, .p13 .adv-wxpush-center .closeadv-bg  {
+    width: 0.32rem;
+    height: 0.32rem;
+    top: 0.1rem;
+    right: 0.1rem;
+    z-index: 1;
+    display: none;
+}
+
+/* -e page 首页 */
+.p13 .listcontent {
+    padding: 0;
+}
+
+/* -s page 订阅*/
+.p13 .jymobile-datePicker .weui-half-screen-dialog__ft{
+    padding-left: 0;
+    padding-right: 0;
+}
+.p13 .jymobile-datePicker .weui-btn_primary:not(.weui-btn_disabled):active {
+    background-color: #2ABED1;
+}
+.p13 .jymobile-datePicker .weui-picker__indicator:after, .p13 .jymobile-datePicker .weui-picker__indicator:before {
+    content: none;
+}
+.p13 .jymobile-datePicker .weui-picker__item {
+    font-size: 0.3rem;
+}
+.p13 .jymobile-datePicker .weui-picker__item.is-now-select  {
+    color: #2ABED1;
+    font-size: 0.36rem;
+}
+.p13 .jymobile-datePicker .weui-picker__indicator {
+    background: rgba(42, 190, 209, 0.05);
+}
+.p13 .jymobile-datePicker .weui-half-screen-dialog {
+    padding: 0;
+}
+.p13 .jymobile-datePicker .weui-half-screen-dialog__hd {
+    padding: 0 0.32rem;
+    flex-direction: row-reverse;
+}
+.p13 .jymobile-datePicker .weui-half-screen-dialog__hd__side+.weui-half-screen-dialog__hd__main {
+    text-align: left;
+    padding-left: 0;
+}
+.p13 ._header.fix-top {
+    position: fixed;
+    transition: all 0.3s;
+}
+.p13 .filter_tab.is-hide-border {
+    border-bottom-color: transparent;
+}
+.p13 .jymobile-datePicker .weui-half-screen-dialog__title {
+    color: #171826;
+    font-size: 0.4rem;
+    font-weight: 500;
+}
+.p13 .jymobile-datePicker.up .weui-picker {
+    border-radius: 0;
+    z-index: 666;
+    top: 1rem;
+    bottom: initial;
+    bottom: unset;
+    padding-top: 0.8rem;
+    /*max-height: calc(75% - 2.4rem);*/
+}
+@keyframes aa {
+    0% {
+        -webkit-transform: translate3d(0,100%,0);
+        transform: translate3d(0,-100%,0);
+    }
+    100% {
+        -webkit-transform: translateZ(0);
+        transform: translateZ(0);
+    }
+}
+@keyframes bb {
+    0% {
+        -webkit-transform: translateZ(0);
+        transform: translateZ(0);
+    }
+    100% {
+        -webkit-transform: translate3d(0,100%,0);
+        transform: translate3d(0,-100%,0);
+    }
+}
+.p13 .jymobile-datePicker.up .weui-animate-slide-up.weui-animate-slide-down {
+    animation-name: bb;
+    animation-duration: 0.44s;
+}
+.p13 .jymobile-datePicker.up .weui-animate-slide-up {
+    /*animation-direction: reverse;*/
+    animation-duration: 0.44s;
+    animation-name: aa;
+}
+.p13 .jymobile-datePicker.up .weui-half-screen-dialog__hd{
+    display: none;
+}
+.p13 .jymobile-datePicker .weui-mask, .weui-mask_transparent {
+    z-index: 666;
+    top: 0 !important;
+}
+.p13 .jymobile-datePicker .weui-btn_disabled{
+    flex: 1;
+    margin: 0 0.32rem;
+    padding: 0.1rem 0;
+    background: #EDEFF2;
+    border-radius: 8px;
+    color: #5F5E64 !important;
+    font-weight: 500;
+    font-size: 0.32rem;
+    line-height: 0.6rem;
+    width: calc(50% - 0.32rem) !important;
+}
+.p13 .jymobile-datePicker .weui-btn_disabled + .weui-btn_primary{
+    width: calc(50% - 0.32rem) !important;
+}
+.p13 .jymobile-datePicker .weui-btn_primary{
+    flex: 1;
+    margin: 0 0.32rem;
+    height: 0.8rem;
+    box-sizing: border-box;
+    padding: 0.1rem 0;
+    width: auto;
+    background: #2ABED1;
+    background-color: #2ABED1;
+    border-radius: 8px;
+    color: #F7F9FA !important;
+    font-weight: 500;
+    font-size: 0.32rem;
+    line-height: 0.6rem;
+}
+.p13 .jymobile-datePicker  .weui-half-screen-dialog__ft {
+    padding: 8px 0;
+    border: none;
+    position: relative;
+    display: flex;
+    flex-direction: row;
+    align-items: center;
+
+}
+.p13 .jymobile-datePicker .weui-half-screen-dialog__hd .weui-icon-btn {
+    background: url('/common-module/collection/image/wxqc.png?v=1429');
+    color: transparent;
+    width: 16px;
+    height: 16px;
+    background-size: 100% 100%;
+    -webkit-mask: none;
+    position: unset;
+    margin-right: -8px;
+    top: unset;
+    -webkit-transform:unset;
+    transform: unset;
+}
+.p13 .filter_tab .area_container .area_wrap .handle_menu {
+    padding: 0.16rem 0;
+    border: none;
+    position: relative;
+    height: 1.12rem;
+}
+.p13 .filter_tab .area_container .area_wrap .handle_menu button.reset_btn {
+    background: #EDEFF2;
+    color: #5F5E64;
+}
+.p13 .filter_tab .area_container .area_wrap .handle_menu button {
+    width: calc(50% - 0.32rem) !important;
+    margin: 0 0.16rem;
+    background: #2ABED1;
+    border-radius: 8px;
+    color: #F7F9FA;
+    font-weight: 500;
+    font-size: 0.36rem;
+    line-height: 0.6rem;
+}
+.p13 .jymobile-datePicker  .weui-half-screen-dialog__ft::before, .p13 .handle_menu::before {
+    content: '';
+    position: absolute;
+    top: 0;
+    background: rgba(0, 0, 0, 0.05);
+    width: 100%;
+    height: 1px;
+    -webkit-transform: scaleY(0.5);
+    transform: scaleY(0.5);
+    -webkit-transform-origin: 0 0;
+    transform-origin: 0 0;
+}
+/* -e page 订阅*/
+/* -E p13 */
+
+/* 消息展示 */
+.p13 .home .side-line {
+    padding: 0.16rem 0;
+    background: #F5F6F7;
+}
+.p13 .home .list-msg {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    padding: .24rem .32rem .16rem .32rem;
+    background: #fff;
+}
+.p13 .home .list-msg .l-msg .words {
+    width: 6.3rem;
+    display: flex;
+    flex-direction: initial;
+    align-items: center;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+}
+.p13 .home .list-msg .l-msg .words:nth-child(2) {
+    margin-top: 0.16rem;
+}
+.p13 .home .list-msg .img-div {
+    padding: 0.5rem 0;
+}
+.p13 .home .list-msg .imgActive {
+    padding: 0.15rem 0;
+}
+.p13 .home .list-msg .r-msg {
+    width: .22rem;
+    height: .14rem;
+    cursor: pointer;
+    transform:rotate(-90deg);
+    -ms-transform:rotate(-90deg); 	/* IE 9 */
+    -moz-transform:rotate(-90deg); 	/* Firefox */
+    -webkit-transform:rotate(-90deg); /* Safari 和 Chrome */
+    -o-transform:rotate(-90deg);
+}
+.p13 .home .list-msg .l-msg .words .dot-img {
+    width: .08rem;
+    height: .08rem;
+    margin-right: .16rem;
+}
+.p13 .home .list-msg .l-msg .words .dotActive {
+    background: #EDEFF2;
+}
+.p13 .home .list-msg .l-msg .words h3 {
+    font-size: .24rem;
+    font-weight: bold;
+    color: #171826;
+    line-height: .48rem;
+}
+.p13 .home .list-msg .l-msg .words span {
+    font-size: .24rem;
+    line-height: .48rem;
+    margin: 0 .24rem;
+    /* max-width: 3rem; */
+    overflow: hidden;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+}
+.p13 .home .list-msg .l-msg .words .spActive {
+    max-width: 3rem;
+    overflow: hidden;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+}
+.p13 .home .list-msg .l-msg .words p {
+    font-size: .22rem;
+    color: #9B9CA3;
+    line-height: .48rem;
+}
+
+/*S-用户发布样式-S */
+.userPublish{
+  position: absolute;
+  top: 0;
+  left: 0;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  padding: 0 .16rem;
+  height: .36rem;
+  background: rgba(255, 58, 32, 0.1);
+  border-radius: 0px 0px 12px 0px;
+  font-size: .24rem;
+  font-weight: 500;
+  color: #FF3A20;
+}
+/* E-用户发布样式-E */

+ 629 - 0
src/web/staticres/common-module/history-push/css/public.css

@@ -0,0 +1,629 @@
+@charset "UTF-8";
+
+/* reset css start ---------> */
+* {
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    -webkit-overflow-scrolling: touch;
+    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+    -webkit-tap-highlight-color: transparent;
+}
+html,
+body {
+    height: 100%;
+    color: #171826;
+}
+
+html > body {
+    font-size: 12px;
+    background-color: #F5F6F7;
+}
+
+input, textarea {
+    caret-color: #2cb7ca;
+}
+
+
+/* 清除默认样式 */
+ul,
+ol {
+    list-style: none;
+}
+/*清除输入框内阴影*/
+input,
+textarea,
+select,
+button {
+    outline: none;
+    border: 0;
+    -webkit-appearance: none;
+    appearance: none;
+}
+button,
+span,
+div {
+    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+    /* -webkit-user-modify:read-only; */
+}
+img {
+    border: 0;
+    vertical-align: middle;
+    max-width: 100%;
+    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+a {
+    text-decoration: none;
+    color: #3d3d3d;
+    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
+    -webkit-user-select: none;
+    -moz-user-focus: none;
+    -moz-user-select: none;
+}
+/*禁用长按页面时的弹出菜单(iOS下有效) ,img和a标签都要加*/
+img,
+a {
+    -webkit-touch-callout: none;
+}
+
+input::placeholder {
+    color: #C0C4CC;
+}
+
+/* reset css end ------ */
+
+/* common css class start */
+[v-cloak] {
+    display: none!important;
+}
+
+.clearfix {
+    zoom: 1;
+}
+.clearfix:after {
+    clear: both;
+    height: 0;
+    overflow: hidden;
+    display: block;
+    visibility: hidden;
+    content: '';
+}
+.left {
+    float: left;
+}
+.right {
+    float: right;
+}
+.ellipsis {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+}
+/* 超过2行省略号显示 */
+.ellipsis-2 {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    display: -webkit-box;
+    -webkit-line-clamp: 2;
+    -webkit-box-orient: vertical;
+}
+/* 超过3行省略号显示 */
+.ellipsis-3 {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    display: -webkit-box;
+    -webkit-line-clamp: 3;
+    -webkit-box-orient: vertical;
+}
+.scrollbar-none::-webkit-scrollbar {
+    display: none;
+}
+
+/* 禁止长按复制 加给body ---- */
+.no-touch {
+    -webkit-touch-callout: none;
+    -webkit-user-select: none;
+    -khtml-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+}
+
+.j-pd {
+    padding-left: 0.32rem;
+    padding-right: 0.32rem;
+}
+
+.j-arrow {
+    display: inline-block;
+    width: 0.26rem;
+    height: 0.26rem;
+    border: 2px solid #5f5e64;
+    border-bottom-color: transparent;
+    border-right-color: transparent;
+    background: 0 0;
+    transform: rotate(-45deg);
+}
+
+.highlight-text {
+    color: #2cb7ca!important;
+}
+.bg-white {
+    background-color: #fff;
+}
+[class*=clickable]:active {
+    background-color: #f2f3f5;
+}
+
+/*
+    border-line-t 0.5px上边框
+    border-line-b 0.5px下边框
+*/
+.border-line-t,
+.border-line-b {
+    position: relative;
+}
+.border-line-t:after,
+.border-line-b:after {
+    content: '';
+    position: absolute;
+    left: 0;
+    width: 100%;
+    height: 1px;
+    transform: scaleY(0.6);
+    transform-origin: 0 0;
+    background: rgba(0, 0, 0, 0.05);
+    /* background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.05) 65%, transparent 35%); */
+}
+.border-line-t:after {
+    top: -1px;
+}
+.border-line-b:after {
+    bottom: -1px;
+}
+
+/* common css class end ---- */
+
+/* j-container布局  start ---- */
+.j-container {
+    display: flex;
+    flex-direction: column;
+    height: 100%;
+}
+
+.j-header {
+    position: relative;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+}
+
+.j-header.jy-app-header {
+    box-sizing: border-box;
+    padding: 10.66667vw 3.2vw 0 3.2vw;
+    height: 21.33333vw;
+    background: #fff;
+    z-index: 9;
+}
+.jy-app-header .icon-back::before,
+.jy-app-header .icon-back-white::before {
+   content: unset;
+}
+.jy-app-header .icon-back-white {
+    display: none;
+}
+.jy-app-header.transparent-header .icon-back-white {
+    display: inline-block;
+}
+.jy-app-header.transparent-header .icon-back {
+   display: none;
+}
+
+.j-header .header-left,
+.j-header .header-title,
+.j-header .header-right {
+    display: flex;
+    align-items: center;
+}
+
+.j-header .header-left {
+    height: .6rem;
+    width: .6rem;
+}
+.j-header .header-left .j-icon {
+    height: .4rem;
+    width: .4rem;
+}
+
+.j-header .header-title {
+    position: absolute;
+    left: 50%;
+    font-size: 17px;
+    color: #171826;
+    transform: translateX(-50%);
+    white-space: nowrap;
+}
+
+.j-header .header-right {
+    height: 100%;
+    min-width: 0.4rem;
+    font-size: .3rem;
+}
+
+.j-header .header-left.hide,
+.j-header .header-right.hide {
+    visibility: hidden;
+}
+
+/* 头部透明 */
+.j-container .j-header.transparent-header {
+    background-color: transparent;
+}
+.j-container .j-header.transparent-header:after {
+    content: unset;
+}
+.j-header.transparent-header .header-right,
+.j-header.transparent-header .header-left,
+.j-header.transparent-header .header-title {
+    color: #fff;
+}
+.j-header.transparent-header .header-title {
+    font-size: 0;
+}
+
+.j-main {
+    position: relative;
+    display: flex;
+    flex-direction: column;
+    flex: 1;
+    overflow-y: scroll;
+    overflow-x: hidden;
+    /* 所有都j-main开启ios-touch */
+    -webkit-overflow-scrolling: touch;
+}
+
+.j-main.calc-height-1px {
+    height: calc(100% + 1Px);
+}
+
+/* 单独关闭ios惯性滚动 */
+.j-main.no-ios-touch {
+    -webkit-overflow-scrolling: auto;
+}
+
+.j-footer {
+    box-shadow: 0px -2px 8px rgba(54, 147, 179, 0.051);
+}
+/* j-container布局  end ---- */
+
+@keyframes ballRotate {
+    0% {
+        transform: rotate(0);
+    }
+
+    100% {
+        transform: rotate(360deg);
+    }
+}
+
+.ball-clip-rotate {
+    position: absolute;
+    left: 50%;
+    top: 50%;
+    z-index: 2;
+    transform: translate(-50%, -50%);
+}
+
+.ball-clip-rotate .ball {
+    display: inline-block;
+    width: 26px;
+    height: 26px;
+    border-radius: 50%;
+    border: 3px solid #fff;
+    border-bottom-color: transparent;
+    background: 0 0;
+    -webkit-animation: ballRotate 0.75s 0s linear infinite;
+    animation: ballRotate 0.75s 0s linear infinite;
+}
+
+.j-mask {
+    position: fixed;
+    z-index: 1000;
+    top: 0;
+    right: 0;
+    left: 0;
+    bottom: 0;
+}
+
+.black {
+    background: rgba(0, 0, 0, 0.6);
+}
+
+.j-loading {
+    display: none;
+}
+
+.j-loading .j-toast {
+    position: fixed;
+    top: 45%;
+    left: 50%;
+    z-index: 1001;
+    padding: 0.2rem;
+    min-width: 2.2rem;
+    max-width: 6.2rem;
+    width: auto;
+    height: auto;
+    color: #fff;
+    font-size: 0.28rem;
+    text-align: center;
+    background: rgba(18, 18, 18, 0.7);
+    border-radius: 5px;
+    transform: translate(-50%, -50%);
+}
+
+.j-loading .j-toast.icon {
+    padding: 0.5rem 0.2rem;
+}
+
+.j-loading .j-toast.icon .j-toast_icon {
+    display: inline-block;
+    width: 38px;
+    height: 38px;
+}
+
+.j-loading .j-toast .j-toast_icon {
+    display: none;
+}
+
+.j-loading .j-toast .j-toast_content {
+    text-align: center;
+}
+
+.j-loading-icon {
+    display: inline-block;
+    width: 20px;
+    height: 20px;
+    vertical-align: baseline;
+    background: transparent url("data:image/svg+xml;charset=utf8, %3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 100 100'%3E%3Cpath fill='none' d='M0 0h100v100H0z'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E9E9E9' rx='5' ry='5' transform='translate(0 -30)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23989697' rx='5' ry='5' transform='rotate(30 105.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%239B999A' rx='5' ry='5' transform='rotate(60 75.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23A3A1A2' rx='5' ry='5' transform='rotate(90 65 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23ABA9AA' rx='5' ry='5' transform='rotate(120 58.66 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23B2B2B2' rx='5' ry='5' transform='rotate(150 54.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23BAB8B9' rx='5' ry='5' transform='rotate(180 50 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23C2C0C1' rx='5' ry='5' transform='rotate(-150 45.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23CBCBCB' rx='5' ry='5' transform='rotate(-120 41.34 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23D2D2D2' rx='5' ry='5' transform='rotate(-90 35 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23DADADA' rx='5' ry='5' transform='rotate(-60 24.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E2E2E2' rx='5' ry='5' transform='rotate(-30 -5.98 65)'/%3E%3C/svg%3E") no-repeat;
+    background-size: 100%;
+    -webkit-animation: ballRotate 1s steps(12) infinite;
+    animation: ballRotate 1s steps(12) infinite;
+}
+
+.j-button-group {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    width: 100%;
+    padding: 0.16rem 0.32rem 0.24rem;
+    background-color: #fff;
+    box-sizing: border-box;
+}
+
+.j-button-confirm,
+.j-button-cancel {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    flex: 1;
+    width: 100%;
+    height: 0.8rem;
+    font-size: 0.32rem;
+    line-height: inherit;
+    text-align: center;
+    border-radius: 0.16rem;
+}
+
+.single .j-button-confirm,
+.single .j-button-cancel {
+    height: 0.92rem;
+}
+
+.j-button-cancel {
+    margin-right: 0.26rem;
+    color: #5f5e64;
+    background-color: #edeff2;
+}
+
+.j-button-confirm {
+    color: #fff;
+    background-color: #2cb7ca;
+}
+
+button[disabled] {
+    opacity: 0.5;
+}
+
+.checkbox {
+    width: 0.4rem;
+    height: 0.4rem;
+    border: 1px solid #ddd;
+    border-radius: 50%;
+    margin-right: 0.2rem;
+    -webkit-appearance: none;
+    background: #fff;
+}
+
+.checkbox:checked {
+    border: 0;
+    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACpElEQVRogc1asa2DMBBlhIyQMpKNxAiMwAiMwAhswAgZgQrOHSVwLhiBERghvwCSwMdgOzYG6aQUhLw7v3u+Z+J5Bq4g724U6pCUTeIznlGGHQHsKcOBAPbT544yntOiTSnUoYnf/Rm0X7YRAXxShgMFfCkH4zkBjE8HTos21QYtCJ/xzDpwAhgTwN4k8OWK4GBlRYK8u1HGc2vA/yfSPaC+GwFPoQ6tVn1vNQoMfgJPyiYxzXXl3ijbSA88YOwa/BzKfUEKDK4C/hOSe8cD6vv1wOOLMhykGvtUtVFPotunDmDsHORBCPth1PoLUmeDStvUKdrUObgxqinE9xRt+q/6TjarZWW79cZFGXaiVQjy7va+0S/byDX4LYUhZZOIvrPoBafKw7BbVFOW1ozn7pt3B/xe9ed4QH33KNSho+pXv4CngC9SNon0zVcDTwFHNTqb/wTwqcX5TQry3KNHmmswfMYzEXif8Uz5mQwHT1r/55MGC+AJ4FPruVIJrJwRhToUbjA74LeATxuoHvg5gSMJFf24bO9YAy+7AgTwuQVAirfrmeULvBHxYDhINTEpm0SYhGgMsQ1+LG4v3f17B09rCyqa2Y0fzzCeq8pXJUpiPB/F6jTwc1GVJ1GNQ6dp3lJSLqkEyjbSG+YYDrKnBA+o77a8xruQunK219yeN/aGNaM0j9NTAvpmXqA2VsHDSigMWMrFdDnt1vY8xtpSep4hUz+qTGXbIG1K+iWMvW7137x1Y27UQtBzHyqd6A80qi/00AsqXfKETuWFh0OjLwSv/KLjSkkcbZjXTYLhoA3eeRI6tBFd86h8Inhzr1m/L+v7xESZQ6m8XCJnARckoketca+paNGmVuiievllG032tKKjtezf1f36u43PeEYAY1PV/gMeU6lGAhyHxgAAAABJRU5ErkJggg==) no-repeat center center;
+    background-size: 100% 100%;
+}
+
+.checkbox.transparent:checked {
+    border: 0;
+    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHBSURBVHgBzZiPcYIwFIeDE7hB6QR1gzqCG2g3cAPtBLqBdoK6Ae0EXCd4bmA3+PW9JlxTJEJCgnx37xQSku9IyL9MeQIg558FxxPHnGNqQvjmOJv45DhlWXZWKWCRFUcBf0p5VsWCC5tzEPpDvcT44SnHDvGRMqe+Mjn0q04FQffFzjKE9FCrFHQzEYZDWuFf801qThuOXA3HzNR5DfRnfS/mlUdmCZEa9u3YnHkAfZQ/EyOzGkjmyPHWcD+HPUYh7SdesbXqOzakF1VijvRs7dfB1wdHvgdJXCMtdZnljbxryfCOccgIh1v9h6CbM3Qa8ZX5rVMyXtoKhB7Bfd5kiIxwUTcSCbW5hq/38JdZwAPVkk4NUlt0l5nB3QJOobYHqKNUbxmYJqMuGaWCWoX23HeMICOUrlHTxbKh4n0kGeEUMjA2LxdUlMXdOnTq2CSQEfKqsAL+7CLLlK4O6lUI9C4itM/YrMRlnAs0w4u6H6+Nd9FtaojN3qkJPYkOsXqsILTtYjGmjeKAUmVnmVrzpehTUqbfYUNNTMYoQn8I1oawN0YspMMX8DgXypQn+DvSe1Z6IJWwj/QkPji+VMCR3g//T7SIqLP6vQAAAABJRU5ErkJggg==) no-repeat center center;
+    background-size: 100% 100%;
+}
+
+.j-button {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    height: 0.72rem;
+    padding: 0 0.2rem;
+    background-color: #f5f6f7;
+    color: #5f5e64;
+    border-radius: 0.08rem;
+}
+
+.j-button-item {
+    position: relative;
+    display: inline-block;
+    color: #171826;
+}
+
+.j-button-item.active {
+    color: #2abed1;
+    background-color: #e8fafd;
+}
+
+.j-button-item.active:after {
+    content: '';
+    position: absolute;
+    right: 0;
+    bottom: 0;
+    width: 0.24rem;
+    height: 0.24rem;
+    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKySURBVHgB7Zg/aNRQHMd/eXfWP6i9omJBhBOXa0W4bK6ni6Murro76Cgu1kF0aysOjnXTyTopLkEcHM8TxIMOHghFQfBAaUtp8/P9Qt+Rpnm99y+XBO6zXJJ7gc83v+S9XwIwZsyY0jIbdB54UFIuBF/mEfFu6QLUX7drR2qVeUC8RfulChDJT7KAbzbFsdIEaLxt19nBSL4eP16KADJ5ovAB9pMnCh1g9n276VVZgAA12RgGBaURdG4OkycKWYGZoHPHQ1hQGVu4CkSrq6I8UagKkDwgzOmcU5gAojUATXIPkGwNdMk1QFproEtuAYYtUKrkEsCVPDHyAC7liZEGUGkNdBnZQqbaGugykgrotAa6ZF4B3dZAlwpkiElrILg2PQVL/nm4ceYE/N3ahu6/jdRxmd1Cpq0BQfKPZs4O9inApY9fU8dWwTGiNUDD1iApT1AAGU4DDFoDRKPWIE2eePb9l/QcZ7eQ7QIlk7//7Qe8+flHep6TAHnJE9azUFJedfYQ2MgTVgGoNWAT7BPfnBbHnl6sw8mJA3C8WoErpyZhdWNTGsJWntM3XshkrQGJxyFBEk3iQJ7oGVWAWgOG8JxvHkr+93tzK7rycZKVcCTPn2B8px1gpzV4IvufJElWFqJx9LAbeU6IuKg1C+m0BrKrnIaJPLHmhVPKFaDWgMvfUx0vq0QSU3l++yyttPxXQ1dim9ZgeUdMVgljeU4I+JB+961A7KvBVTBEVgkbeURY7F5uvqRtaQVcvruKStw+dxqO8Wn28cqquTyfOtdZOCf2Ux9i1y/eriB59MJWt+X3xLE9C1mR5T0vvB6XJ3ZVIIuvBi5Iu/KCQQWy+mpgCz2w617op8kTUQWy/GpgSB8xfIEMFmTiAs/mxdshfX6te9zjM78pPqyx7eVey++rnPgfnLxxiLvERTEAAAAASUVORK5CYII=) no-repeat;
+    background-size: contain;
+}
+
+/* 空状态 配合j-icons中的img-empty和j-img使用 */
+/* 具体使用参考page_ent_follow.html */
+.empty {
+    display: flex;
+    align-items: center;
+    flex-direction: column;
+    flex: 1;
+    padding-top: 1.34rem;
+    width: 100%;
+}
+.empty .empty-img {
+    padding: .2rem;
+    width: 3.2rem;
+    height: 3.2rem;
+    margin-bottom: 0.24rem;
+    background-origin: content-box;
+}
+.empty .empty-text {
+    font-size: .26rem;
+    line-height: .4rem;
+    color: #9B9CA3;
+}
+
+.preferential-tag {
+    position: relative;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    padding: 2px 6px;
+    height: 18px;
+    color: #fff;
+    background: linear-gradient(102deg,#ffa674, #f01212 100%);
+    border-top-left-radius: 4px;
+    border-bottom-left-radius: 4px;
+}
+.preferential-tag::after {
+    content: '';
+    position: absolute;
+    top: 0;
+    right: -5px;
+    width: 0;
+    height: 0;
+    border-top: 9px solid #f01212;
+    border-right: 5px solid transparent;
+    border-bottom: 9px solid #f01212;
+}
+
+.shiyong_common {
+    width: 5.92rem!important;
+    height: 4.48rem;
+}
+
+.shiyong_common .van-dialog__header{
+    font-size: 0.36rem;
+    font-weight: bold;
+    color: #000000;
+}
+
+.shiyong_common .van-dialog__message--has-title {
+    padding-top: 0.36rem;
+    padding-bottom: 0;
+}
+
+.shiyong_common .van-dialog__message--has-title .shiyong_text{
+    line-height: 0.4rem;
+    font-size: 0.28rem;
+    text-align: justify;
+    color: #5f5e64;
+}
+
+.shiyong_common .van-dialog__message--has-title .shiyong_buy{
+    margin-top: 0.36rem;
+    width: 100%;
+    height: 0.8rem;
+    background: #2ABED1;
+    border-radius: 4px;
+    color: #F7F9FA;
+    font-size: 0.32rem;
+}
+
+.visited .visited-hd {
+    color: #C0C4CC!important;
+}
+.visited .visited-ft {
+    color: #9B9CA3!important;
+}
+.visited .visited-ft.visited-tag {
+    background-color: #F7F9F9;
+}
+
+/**/
+.j-container .freeShow {
+  display: flex;
+  align-items: center;
+  padding: 0 16px;
+  width: 100%;
+  height: 64px;
+  box-sizing: border-box;
+  background: #F5F6F7;
+}
+.j-container .freeShow .purchase_in {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  padding: 0 12px;
+  width: 100%;
+  height: 44px;
+  background: url('/common-module/history-push/images/purchase_bg.jpg?v=1429') no-repeat;
+  background-size: 100% 100%;
+  border-radius: 8px;
+  box-sizing: border-box;
+}
+.j-container .freeShow .purchase_in .pur_text {
+  font-size: 0.3rem;
+}
+.j-container .freeShow .purchase_in .pur_btn {
+  padding: 3px 12px;
+  line-height: 18px;
+  text-align: center;
+  background: linear-gradient(113.06deg, #3E3E52 0%, #2F2F3D 100%);
+  font-size: 12px;
+  color: #FAE7CA;
+  border-radius: 32px;
+}
+.j-main .tip {
+  font-size: 14px;
+  padding: 5px 20px;
+  margin-bottom: 20px;
+}
+.j-main .tip img {
+  margin-right: 10px;
+  height: 19.5px;
+  width: 19.5px;
+  vertical-align: sub;
+}
+.j-main .tip front {
+  margin-left: 10px;
+  color: #a0a0a0;
+}

Різницю між файлами не показано, бо вона завелика
+ 1739 - 0
src/web/staticres/common-module/history-push/css/subscribe.css


Різницю між файлами не показано, бо вона завелика
+ 4 - 0
src/web/staticres/common-module/history-push/css/weui.min.css


Різницю між файлами не показано, бо вона завелика
+ 3 - 0
src/web/staticres/common-module/history-push/iconfont/iconfont.css


BIN
src/web/staticres/common-module/history-push/iconfont/iconfont.eot


BIN
src/web/staticres/common-module/history-push/iconfont/iconfont.ttf


BIN
src/web/staticres/common-module/history-push/iconfont/iconfont.woff


BIN
src/web/staticres/common-module/history-push/iconfont/iconfont.woff2


BIN
src/web/staticres/common-module/history-push/images/close.png


+ 3 - 0
src/web/staticres/common-module/history-push/images/close.svg

@@ -0,0 +1,3 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20ZM12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22ZM13.4143 12L16.2427 14.8284L14.8285 16.2426L12 13.4142L9.17161 16.2426L7.75739 14.8284L10.5858 12L7.75742 9.17158L9.17163 7.75736L12 10.5858L14.8285 7.75736L16.2427 9.17157L13.4143 12Z" fill="white"/>
+</svg>

BIN
src/web/staticres/common-module/history-push/images/close_heidi.png


BIN
src/web/staticres/common-module/history-push/images/curve.png


BIN
src/web/staticres/common-module/history-push/images/dialog-image.png


BIN
src/web/staticres/common-module/history-push/images/entback.png


BIN
src/web/staticres/common-module/history-push/images/icon-biaozhunhy.png


BIN
src/web/staticres/common-module/history-push/images/icon-gaojihy.png


BIN
src/web/staticres/common-module/history-push/images/icon-putonghy.png


BIN
src/web/staticres/common-module/history-push/images/merge.png


BIN
src/web/staticres/common-module/history-push/images/nopush.png


BIN
src/web/staticres/common-module/history-push/images/purchase_bg.jpg


BIN
src/web/staticres/common-module/history-push/images/report.png


BIN
src/web/staticres/common-module/history-push/images/shangjigl.png


BIN
src/web/staticres/common-module/history-push/images/sub_manager.png


BIN
src/web/staticres/common-module/history-push/images/switch_ent.png


BIN
src/web/staticres/common-module/history-push/images/switch_vip.png


BIN
src/web/staticres/common-module/history-push/images/v_icon.png


BIN
src/web/staticres/common-module/history-push/images/vip-icon.png


BIN
src/web/staticres/common-module/history-push/images/xuanzhong.png


+ 416 - 0
src/web/staticres/common-module/history-push/js/common.js

@@ -0,0 +1,416 @@
+//请求同意调用
+function $DoPost (url) {
+  var param = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+  var callback = arguments.length > 2 ? arguments[2] : undefined;
+  var async = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
+  $.ajax({
+    url: url + "?t=" + new Date().getTime(),
+    type: "POST",
+    data: param,
+    async: async,
+    dataType: "json",
+    success: function success (r) {
+      callback(r);
+
+      if (r.error || r.errMsg) {
+        var errTip = r.error || r.errMsg;
+        weui.toast(errTip, {
+          duration: 2000,
+          className: 'custom-toast'
+        });
+      }
+    }
+  });
+}
+
+//获取url参数
+function getParam (name) {
+  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
+  var r = window.location.search.substr(1).match(reg); //获取url中"?"符后的字符串并正则匹配
+  var context = "";
+  if (r != null)
+    context = r[2];
+  reg = null;
+  r = null;
+  return context == null || context == "" || context == "undefined" ? "" : context;
+}
+
+//省份 城市 分类
+function getAreaClassArr_index (area) {
+  var cityArr = [];//城市
+  var provinceArr = [];//省份
+  for (var i in area) {
+    var citys = area[i]
+    if (citys.length > 0) {
+      cityArr = cityArr.concat(citys);
+      provinceArr.push(i + "(" + cityArr.join("、") + ")")
+    } else {
+      if (i == "全国") {
+        continue
+      }
+      provinceArr.push(i)
+    }
+  }
+  return SortArr(provinceArr)
+}
+
+//省份 城市 分类
+function getAreaClassArr (area) {
+  var cityArr = [];//城市
+  var provinceArr = [];//省份
+  for (var i in area) {
+    var citys = area[i]
+    if (citys.length > 0) {
+      cityArr = cityArr.concat(citys);
+    } else {
+      if (i == "全国") {
+        continue
+      }
+      provinceArr.push(i)
+    }
+  }
+  return [SortArr(provinceArr), SortArr(cityArr)]
+}
+
+//对数组进行排序(拼音)
+function SortArr (arr) {
+  arr = arr.sort(function compareFunction (item1, item2) {
+    return item1.localeCompare(item2);
+  });
+  return arr
+}
+
+//获取选择
+function getSelectBuyset (area, industry) {
+  if (industry[0] === "全部行业") industry = [];
+  if(area) {
+    if (area["全国"]) area = {};
+  } else {
+    area = {}
+  }
+  //计算地区数量
+  var buyset = {
+    "areacount": -1,  //省份数量
+    "buyerclasscount": -1,
+    "citys": [] //购买省份中城市数量
+  };
+  //行业
+  if (industry.length != 0) {
+    buyset.buyerclasscount = industry.length
+  }
+  //地区
+  if (!$.isEmptyObject(area)) {
+    buyset.areacount = 0;
+    for (var i in area) {
+      var citys = area[i];
+      var thisLen = citys.length;
+      if (thisLen === 0) {
+        buyset.areacount++
+      } else {
+        buyset.citys.push(thisLen)
+      }
+    }
+  }
+  return buyset
+}
+
+
+//购买设置 area map
+function getBuySet (area, industry, price) {
+  price = checkPrice(price);
+  if (industry[0] === "全部行业") industry = [];
+  if (area["全国"]) area = {};
+  //计算地区数量
+  var buyset = {
+    "areacount": -1,  //省份数量
+    "buyerclasscount": -1,
+    "citys": [] //购买省份中城市数量
+  };
+  //行业
+  // console.log(industry,price.buyerClassMaxCount, 'industry')
+  if (industry.length != 0 && industry.length <= price.buyerClassMaxCount) {
+    buyset.buyerclasscount = industry.length
+  }
+  //地区
+  if (!$.isEmptyObject(area)) {
+    buyset.areacount = 0;
+    for (var i in area) {
+      var citys = area[i];
+      var thisLen = citys.length;
+      if (thisLen === 0 || thisLen > price.cityMaxCount) {
+        buyset.areacount++
+      } else {
+        buyset.citys.push(thisLen)
+      }
+    }
+  }
+  if (buyset.areacount > price.provinceMaxCount) {
+    buyset.areacount = -1;
+    buyset.citys = [];
+  }
+  return buyset
+}
+
+/* vip订阅价格
+    area:地区 {}
+    industry:行业 []
+    time[count,unit] count:时间长度 unit 1:年 2:月
+    price 价格表
+   return 价格(单位:分)
+*/
+var priceData;
+
+function getsubVipOrderPrice (area, industry, t, price) {
+  price = checkPrice(price);
+  return getsubVipOrderPriceBybuyset(getBuySet(area, industry, price), t, price)
+}
+
+function checkPrice (price) {
+  if (!price) {
+    if (priceData) {
+      price = priceData
+    } else {
+      $DoPost("/subscribepay/vipsubscribe/getPrice", {}, function (r) {
+        if (r.new) {
+          price = r.new;
+          priceData = price;
+        } else {
+          weui.toast("加载价格异常", {
+            duration: 2000,
+            className: 'custom-toast',
+          });
+        }
+      }, false)
+    }
+  } else {
+    priceData = price
+  }
+  return price
+}
+
+//新旧buyset
+function getMergeNewBuyset (buyset, price) {
+  price = checkPrice(price);
+  if (buyset["newcitys"]) { //新buyset
+    return {
+      "areacount": buyset.areacount,  //省份数量
+      "buyerclasscount": buyset.buyerclasscount,
+      "citys": buyset.newcitys //购买省份中城市数量
+    }
+  } else { //旧buyset
+    var areaCount = buyset.areacount;
+    var buyerclasscount = buyset.buyerclasscount;
+    var oldCitys = buyset.citys;
+    var newCitys = [];
+
+    if (!$.isEmptyObject(oldCitys)) {
+      for (var i in oldCitys) {
+        var thisLen = oldCitys[i];
+        if (thisLen === 0 || thisLen > price.cityMaxCount) {
+          areaCount++
+        } else {
+          newCitys.push(thisLen)
+        }
+      }
+    }
+
+    //省份数量自动转换全国
+    if (areaCount > price.provinceMaxCount) {
+      areaCount = -1;
+      newCitys = [];
+    }
+    //行业数量自动转换全行业
+    if (buyerclasscount > price.buyerClassMaxCount) {
+      buyerclasscount = -1
+    }
+    return {
+      "areacount": areaCount,  //省份数量
+      "buyerclasscount": buyerclasscount,
+      "citys": newCitys //购买省份中城市数量
+    }
+  }
+}
+
+//根据购买设置 获取支付金额
+function getsubVipOrderPriceBybuyset (buyset, t, price) {
+  //console.log("getsubVipOrderPriceBybuyset",buyset, t)
+  price = checkPrice(price);
+  var vipbuyset = JSON.parse(JSON.stringify(buyset));
+  if (t[0] > price.monthMaxCount && t[1] === 2) t[0] = 16;//月份十个月以上价格一样
+
+  if (vipbuyset.areacount === -1) {//计算全国套餐价格
+    if (vipbuyset.buyerclasscount === 1) return getSetMealPrice(0, 1, t[1], price) * t[0] / 100; //全国1行业套餐
+    if (vipbuyset.buyerclasscount === 0) return getSetMealPrice(0, 0, t[1], price) * t[0] / 100; //全国全行业套餐
+    return getSetMealPrice(0, vipbuyset.buyerclasscount, t[1], price) * t[0] / 100 //全国多行业套餐
+  }
+
+  //var final_price = vipbuyset.areacount * getSetMealPrice(1, vipbuyset.buyerclasscount, t[1], price) * t[0];//计算省份价格
+  var final_price = 0;//计算省份价格
+
+  for (var i in vipbuyset.citys) {
+    var thisPrice = 0;
+    if (vipbuyset.citys[i] === 1) {//单城市
+      thisPrice = getSetMealPrice(2, vipbuyset.buyerclasscount, t[1], price) * t[0];
+    } else {//多城市
+      if (vipbuyset.buyerclasscount === 0 || vipbuyset.buyerclasscount === 1) {//多城市 单行业
+        if (vipbuyset.citys[i] > price.cityMaxCount) {
+          vipbuyset.areacount++;
+        } else {
+          thisPrice = vipbuyset.citys[i] * getSetMealPrice(2, vipbuyset.buyerclasscount, t[1], price) * t[0];
+        }
+      } else {//多城市 多行业
+        //var industry_Price = price.buyerClassPrice * vipbuyset.buyerclasscount;
+        //var city_Price = price.cityPrice * vipbuyset.citys[i];
+        //thisPrice = (industry_Price + city_Price) * t[0];
+        if (vipbuyset.citys[i] > price.cityMaxCount) {
+          vipbuyset.areacount++;
+        } else {
+          thisPrice = getSetMealPrice(2, vipbuyset.buyerclasscount, t[1], price) * vipbuyset.citys[i] * t[0];
+          // if (t[1] === 1) thisPrice *= 10 //年的价格是月价格的10倍
+        }
+      }
+    }
+    final_price += thisPrice;
+  }
+  final_price += vipbuyset.areacount * getSetMealPrice(1, vipbuyset.buyerclasscount, t[1], price) * t[0];
+  //console.log("getsubVipOrderPriceBybuyset-final_price",final_price)
+  return final_price / 100
+}
+
+//获取套餐价格
+//c(city) 全国:0 省:1 市:2
+//iCount(industry) 全行业:-1 其他:多个行业
+//u(unit) 年:1 月:2
+function getSetMealPrice (c, iCount, u, price) {
+  var t = u === 2; //是否是月单位
+  switch (c) {
+    case 0:
+      if (iCount === -1) {
+        if (t) return price.month.allProvince_allBuyerClass;  //1月全国全行业
+        return price.year.allProvince_allBuyerClass; //1年全国全行业
+      } else {
+        if (t) return price.month.allProvince_oneBuyerClass * iCount; //1月全国icount个行业
+        return price.year.allProvince_oneBuyerClass * iCount;	//1年全国icount个行业
+      }
+    case 1:
+      if (iCount === -1) {
+        if (t) return price.month.oneProvince_allBuyerClass;  //1月1省全行业
+        return price.year.oneProvince_allBuyerClass	//1年1省全行业
+      } else {
+        if (t) return price.month.oneProvince_oneBuyerClass * iCount; //1月1省icount个行业
+        return price.year.oneProvince_oneBuyerClass * iCount	//1年1省icount个行业
+      }
+    default:
+      if (iCount === -1) {
+        if (t) return price.month.oneCity_allBuyerClass;  //1月1市全行业
+        return price.year.oneCity_allBuyerClass	//1年1市全行业
+      } else {
+        if (t) return price.month.oneCity_oneBuyerClass * iCount; //1月1市icount个行业
+        return price.year.oneCity_oneBuyerClass * iCount	//1年1市icount个行业
+      }
+  }
+}
+
+// 时间格式化
+Date.prototype.pattern = function (fmt) {
+  var o = {
+    "y+": this.getFullYear(),
+    "M+": this.getMonth() + 1, //月份
+    "d+": this.getDate(), //日
+    "h+": this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //小时
+    "H+": this.getHours(), //小时
+    "m+": this.getMinutes(), //分
+    "s+": this.getSeconds(), //秒
+    "q+": Math.floor((this.getMonth() + 3) / 3), //季度
+    "S": this.getMilliseconds() //毫秒
+  };
+  var week = {
+    "0": "日",
+    "1": "一",
+    "2": "二",
+    "3": "三",
+    "4": "四",
+    "5": "五",
+    "6": "六"
+  };
+  if (/(y+)/.test(fmt)) {
+    fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
+  }
+  if (/(E+)/.test(fmt)) {
+    fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "星期" : "周") : "") + week[this.getDay() + ""]);
+  }
+  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;
+}
+
+//value ;flag 1:年 2:月 endtime 结束时间
+function getVipEndDate (flag, value, endtime) {
+  var EndTime = new Date(endtime * 1000);
+  var startDay = EndTime.getDate();
+  var yearNum = EndTime.getFullYear();
+  var monthNum = EndTime.getMonth();
+  if (flag === 1) {//将年转换成月
+    //年
+    yearNum += value;
+  } else {
+    //月
+    if (monthNum + value > 11) {
+      monthNum = monthNum + value - 12;
+      yearNum++
+    } else {
+      monthNum += value
+    }
+  }
+  //获取当月最后一天
+  var lastDay = new Date(yearNum, monthNum + 1, 0).getDate();
+  if (startDay < lastDay) {
+    return new Date(yearNum, monthNum, startDay, 23, 59, 59).getTime() / 1000;
+  } else {
+    return new Date(yearNum, monthNum, lastDay, 23, 59, 59).getTime() / 1000;
+  }
+}
+// 格式化金钱的函数
+// s: 金额(number) 必传
+// n: 保留小数的位数(int:0-100)
+function formatMoney (s, n) {
+  if (n === undefined) {
+    n = -1
+  } else {
+    n = n > 0 && n <= 20 ? n : 2;
+  }
+  var intS = parseInt(s)
+  var point = '.'
+  var left;
+  var right;
+  s = parseFloat((s + '').replace(/[^\d\.-]/g, ''))
+  // 没传n,默认(如果为整数,则不保留小数。如果为浮点数,则保留两位小数)
+  if (n === -1) {
+    if (s === intS) {
+      n = 0
+      right = ''
+      point = ''
+    } else {
+      n = 2
+      s = s.toFixed(n);
+      right = s.split('.')[1];
+    }
+    s = s + ''
+    left = s.split('.')[0].split("").reverse();
+  } else {
+    s = parseFloat((s + '').replace(/[^\d\.-]/g, '')).toFixed(n) + '';
+    left = s.split('.')[0].split('').reverse();
+    right = s.split('.')[1];
+  }
+
+  t = "";
+  for (i = 0; i < left.length; i++) {
+    t += left[i] + ((i + 1) % 3 == 0 && (i + 1) != left.length ? ',' : '');
+  }
+
+  var money = t.split('').reverse().join('') + point + right;
+  return money;
+}

+ 1024 - 0
src/web/staticres/common-module/history-push/js/historypush.js

@@ -0,0 +1,1024 @@
+var vm = new Vue({
+  el: '#select-meau',
+  delimiters: ['${', '}'],
+  components: {
+    dateComponent: dateComponent,
+    areaCityMobile: areaCityMobileComponent,
+    industryComponent: industryComponent,
+    cateComponent: cateComponent,
+    keywordComponent: keywordComponent,
+    noticeComponent: noticeComponent,
+    rootComponent: rootComponent,
+    moneyComponent: moneyComponent
+  },
+  data: function() {
+    return {
+      sessStorageKey: '$data-historypush',
+      // 时间参数
+      time:'',
+      // 选择的时间数据
+      selectDate: {
+        startDate: '',
+        endDate: '',
+        exact: ''
+      },
+      // 地区参数
+      area: '',
+      // 城市
+      city: '',
+      // 行业参数
+      subscopeclass: '',
+      // 采购单位
+      buyerclass: '',
+      // 关键词
+      key: '',
+      // 公告类型
+      subtype: '',
+      screenShow: false,
+      tagText: {
+        timeText: '时间',
+        areaText: '地区',
+        industryText: '行业',
+        cateText: '采购单位',
+        keywordText: '关键词',
+        noticeText: '公告类型'
+      },
+      hasNextPage: false, // 是否有下一页
+      selectCateList: [], // 选择的采购单位类型列表
+      selectAreaList: {}, // 选择的地区列表
+      selectIndustryList: [], // 选择的行业列表
+      selectKeyWordList: [], // 选择的行业列表
+      selectNoticeList: [], // 选择的公告类型列表
+      setTimer: {
+        datetimer: '',
+        areatimer: '',
+        catetimer: '',
+        industrytimer: '',
+        keytimer: '',
+        noticetimer: ''
+      },
+      // 选择项value显示内容
+      moreFiltersText: {
+        cateItem: '',
+        keywordItem: '',
+        noticeItem: ''
+      },
+      moreFiltersTextCache: {
+        cateItem: '',
+        keywordItem: '',
+        noticeItem: ''
+      },
+      moreFiltersShow: {
+        cateItem: false, // 采购单位类型
+        keywordItem: false, // 关键词
+        noticeItem: false, // 公告类型
+      },
+      iosMeauStyle: false,
+      goUpText: '',
+      rootInfo: {},
+      bigSubShow: false,
+      selectPro: 1, // 1:超级订阅 2:大会员 3:商机管理
+      // ajaxUrl: '/publicapply/subscribe/historyPush?t=' + new Date().getTime(),
+      iconbm: '/common-module/history-push/images/icon-gaojihy.png',
+      // iconbm: '/jyapp/big-member/image/icon-biaozhunhy.png'
+      // iconbm: '/jyapp/big-member/image/icon-putonghy.png'
+      showPopover: false,
+      protype: 'vip', // 关键词接口动态修改
+      entinfo: {},
+      isEntniche: false,// 是否是商机管理
+      address: '', // 商机管理订阅管理跳转地址
+      moneyTags: [
+        {
+          name: '全部',
+          value: '',
+          selected: true
+        }
+      ],
+      fileTags: [
+        {
+          key: '',
+          label: '全部'
+        },
+        {
+          key: '1',
+          label: '有附件'
+        },
+        {
+          key: '-1',
+          label: '无附件'
+        },
+      ],
+      selectFile: '',
+      selectMoney: ''
+    }
+  },
+  computed: {
+    selectedMoreCancelDisabled: function () {
+      return !(this.buyerclass || this.key || this.subtype || this.selectFile || this.selectMoney)
+    },
+    selectedMoreProduct: function () {
+      return !!(this.rootInfo.vipStatus > 0 && this.rootInfo.memberStatus > 0) || !!(this.rootInfo.vipStatus > 0 && this.isEntniche) || !!(this.rootInfo.memberStatus > 0 && this.isEntniche)
+    }
+  },
+  created () {
+    // 离开时缓存页面数据
+    document.addEventListener('visibilitychange',function(){
+      var isHidden = document.hidden;
+      if(isHidden){
+        sessionStorage.setItem(vm.sessStorageKey, JSON.stringify(vm.$data))
+      }
+    });
+    this.getHasWeekMonthData()
+    // @tip[big-member] 微信端暂不支持商机管理功能使用
+    if (utils.isWeiXinBrowser) {
+      this.getUserRoot()
+    } else {
+      this.getEntniche()
+    }
+    this.subPageMove()
+    if(firstTime) {
+      firstTime = firstTime / 1000 +'_'+ firstTime / 1000;
+      this.time = firstTime
+      this.setPushTime(firstTime)
+    }else {
+      firstTime = this.time
+    }
+    // console.log(this.selectPro, '用户身份');
+  },
+  mounted () {
+    var recover = this.recover()
+    // 判断是否推送消息进入,清空缓存值,显示底部导航
+    try {
+      if (pushUrlTime) {
+        this.setPushTime(pushUrlTime + '_' + pushUrlTime)
+        this.revorceOtherData()
+        JyObj.hiddenBottom("1")
+      }
+    } catch (e) {
+      console.log(e)
+    }
+    if (!recover) {
+      setTimeout(() => {
+        // 如果订阅消息进来时间不为空
+        if(this.time !== '') {
+          this.setPushTime(this.time)
+          this.revorceOtherData()
+        }else{
+          // 清空筛选数据
+          this.revorceData()
+        }
+      })
+    }
+    this.addEventListerWeb()
+  },
+  methods: {
+    // 搬家提示弹窗
+    subPageMove(data) {
+      let _this = this
+      $.ajax({
+        type: 'POST',
+        url: '/bigmember/subPageMove/tip?t=' + new Date().getTime(),
+        data: {
+          doType: data
+        },
+        success: function(res) {
+          // console.log(res)
+          if(res) {
+            if(!data) {
+              if(res.flag) {
+                _this.showPopover = true
+              } else {
+                _this.showPopover = false
+              }
+            } else {
+              if(res.flag) {
+                _this.showPopover = false
+              } else {
+                _this.showPopover = true
+              }
+            }
+          }
+        }
+      })
+    },
+    doTypeKnow: function() {
+      this.subPageMove('know')
+    },
+    // 产品切换
+    SwitchPro: function() {
+      // 超级订阅和大会员
+      // this.rootInfo.memberStatus = 0
+      if(this.selectedMoreProduct) {
+        this.bigSubShow = true
+        if(this.rootInfo.memberStatus == 1 || this.rootInfo.memberStatus == 7) {
+          this.iconbm = '/common-module/history-push/images/icon-gaojihy.png'
+        } else if(this.rootInfo.memberStatus == 2) {
+          this.iconbm = '/common-module/history-push/images/icon-biaozhunhy.png'
+        } else if(this.rootInfo.memberStatus == 3 || this.rootInfo.memberStatus == 6) {
+          this.iconbm = '/common-module/history-push/images/icon-putonghy.png'
+        } else {
+          this.iconbm = '/common-module/history-push/images/icon-gaojihy.png'
+        }
+      } else if(this.rootInfo.vipStatus > 0) {
+        // 仅超级订阅
+        if((!this.rootInfo.memberStatus || this.rootInfo.memberStatus <=0) && !this.isEntniche) {
+          tosetpage()
+        }
+      } else if(this.rootInfo.memberStatus > 0) {
+        // 仅大会员
+        if((!this.rootInfo.vipStatus || this.rootInfo.vipStatus == 0) && !this.isEntniche) {
+          // @tip[big-member] 微信端暂不支持大会员其他功能使用
+          if (!utils.isWeiXinBrowser) {
+            location.href = '/jyapp/big/page/main_root?type=subscribe'
+          }
+        }
+      }
+    },
+    proClick: function(data) {
+      if(data == 'big') {
+        productType = 2
+        historyVt = 'm'
+        this.switchVip('m')
+        sessionStorage.setItem('switch-product', 'bigmember')
+        this.selectPro = 2
+        // this.ajaxUrl = '/publicapply/subscribe/historyPush?t=' + new Date().getTime()
+        this.RemoveClass('big')
+        this.getBmStatus(this.rootInfo)
+        // initpage()
+      } else if(data == 'vip') {
+        productType = 1
+        historyVt = 'v'
+        this.switchVip('v')
+        sessionStorage.setItem('switch-product', 'supervip')
+        this.RemoveClass('vip')
+        $(".switch").addClass('only-vip')
+        $(".switch .user_pro").text("超级订阅")
+        $(".switch_right").addClass('right_zh')
+        $('.user_pro').css('color', '#D69E55')
+        $(".switch .switch_icon").addClass('icon_vip')
+        this.selectPro = 1
+        // initpage()
+        // this.ajaxUrl = '/publicapply/subscribe/historyPush?t=' + new Date().getTime()
+      } else if(data == 'ent') {
+        productType = 3
+        historyVt = 's'
+        this.switchVip('s')
+        sessionStorage.setItem('switch-product', 'entniche')
+        this.RemoveClass('ent')
+        $(".switch").addClass('only-vip')
+        $(".switch .user_pro").text("商机管理")
+        $(".switch_right").addClass('right_zj')
+        $('.user_pro').css('color', '#171826')
+        $(".switch .switch_icon").addClass('icon_ent')
+        this.selectPro = 3
+        // this.ajaxUrl = '/publicapply/subscribe/historyPush?t=' + new Date().getTime()
+      }
+      firstTime = ''
+        this.time = ''
+        this.tagText.timeText = '时间'
+      this.bigSubShow = false
+      ajaxFun(this.time, this.area, this.city, this.subscopeclass, this.buyerclass, this.key, this.subtype, this.selectFile, this.selectMoney)
+    },
+    RemoveClass: function(data) {
+      if(data == 'vip') {
+        $(".switch").removeClass('switch_zj')
+        $(".switch").removeClass('switch_zh')
+        $(".switch").removeClass('switch_sj')
+        $(".switch_right").removeClass('right_zj')
+        $(".switch_right").removeClass('right_zh')
+        $(".switch_right").removeClass('right_sj')
+        $(".switch .switch_icon").removeClass('icon_zj')
+        $(".switch .switch_icon").removeClass('icon_zh')
+        $(".switch .switch_icon").removeClass('icon_sj')
+      } else {
+        if(data == 'ent') {
+          $(".switch .switch_icon").removeClass('icon_zj')
+          $(".switch .switch_icon").removeClass('icon_zh')
+          $(".switch .switch_icon").removeClass('icon_sj')
+        }
+        $(".switch").removeClass('switch_zh')
+        $(".switch_right").removeClass('right_zh')
+        $(".switch .switch_icon").removeClass('icon_zh')
+        $(".switch").removeClass('only-vip')
+        $(".switch .switch_icon").removeClass('icon_vip')
+      }
+    },
+    showDialog: function (conf) {
+      var defaultConf = {
+        title: '提示',
+        message: 'message',
+        className: 'j-confirm-dialog',
+        overlayClass: 'j-overlay',
+        showConfirmButton: true,
+        showCancelButton: true,
+        confirmButtonText: '确定',
+        confirmButtonColor: '#2abed1'
+      }
+      if (conf) {
+        Object.assign(defaultConf, conf)
+      }
+      return this.$dialog.confirm(defaultConf)
+    },
+    // 显示去开通超级订阅弹框
+    showSuperVipDialog: function () {
+      this.showDialog({
+        title: '开通超级订阅',
+        message: '立享更多搜索权限\n寻找商机更精准',
+        confirmButtonText: '去开通',
+        className: 'j-confirm-dialog text-center super-vip-dialog',
+      }).then(function () {
+        topay()
+      }).catch(function() {})
+    },
+    addEventListerWeb: function() {
+      let _this = this
+      //监听浏览器tab切换,以便在tab切换之后,页面隐藏的时候,把弹幕停止
+        document.addEventListener('visibilitychange', function() {
+          var isHidden = document.hidden;
+          if (isHidden) {
+        //页面已隐藏
+            _this.setToggle()
+          } else {
+              //页面显示
+          }
+      }, false);
+    },
+    recover: function () {
+      var skipRecover = sessionStorage.getItem('need-clear-' + + goTemplateData.params.userId) === 'true'
+      if (skipRecover) {
+        sessionStorage.removeItem('need-clear-' + + goTemplateData.params.userId)
+        sessionStorage.removeItem(this.sessStorageKey)
+      }
+      var excludeKey = ['sessStorageKey', 'moreFiltersShow']
+      var $data = sessionStorage.getItem(this.sessStorageKey)
+      if ($data) {
+          $data = JSON.parse($data)
+          for (var key in $data) {
+              if (excludeKey.indexOf(key) !== -1) {
+                  continue
+              }
+              this.$data[key] = $data[key]
+          }
+          const res = $data
+          // 时间
+          if(res.time != '') {
+            this.selectDate.startDate = res.time.split('_')[0] * 1000
+            this.selectDate.endDate= res.time.split('_')[1] * 1000
+            firstTime = res.time.split('_')[0]+ '_' + res.time.split('_')[1]
+          }
+          // 地区
+          if(res.area || res.city) {
+            // this.$nextTick(() => {
+            //   this.$refs.areaCitySelector.setState(this.selectAreaList)
+            //   $('.areaText').html(res.tagText.areaText)
+            // })
+            setTimeout(() => {
+              this.$refs.areaCitySelector.setState(this.selectAreaList)
+              $('.areaText').html(res.tagText.areaText)
+            }, 0)
+          }
+          // 采购单位类型
+          if(res.buyerclass != '') {
+            this.selectCateList = res.buyerclass.split(',')
+            this.moreFiltersText.cateItem = this.selectCateList.length
+          }
+          // 行业
+          if(res.subscopeclass != '') {
+            setTimeout(() => {
+              $('.industryText').html(res.tagText.industryText)
+            })
+            this.selectIndustryList = res.subscopeclass.split(',')
+          }
+          // 关键词
+          if(res.key != '') {
+            this.selectKeyWordList = res.key.split(',')
+            this.moreFiltersText.keywordItem = this.selectKeyWordList.length
+          }
+          // 公告类型
+          if(res.subtype != '') {
+            this.selectNoticeList = res.subtype.split(',')
+            this.moreFiltersText.noticeItem = this.selectNoticeList.length
+          }
+          // 金额
+          if(res.selectMoney) {
+            this.selectMoney = res.selectMoney
+            var moneyStr = JSON.parse(JSON.stringify(res.selectMoney))
+            var moneyArr = moneyStr.split('-')
+            this.$refs.moneyComponent.resetSelected(false)
+            this.$refs.moneyComponent.inputSelected = true
+            this.$refs.moneyComponent.inputMap.start = moneyArr[0]
+            this.$refs.moneyComponent.inputMap.end = moneyArr[1]
+          }
+          // 附件
+          this.selectFile = res.selectFile
+          sessionStorage.removeItem(this.sessStorageKey)
+      }
+      return !!$data
+    },
+    // 清空筛选数据
+    revorceData: function() {
+      this.time = ''
+      this.area = ''
+      this.city = ''
+      this.subtype = ''
+      this.subscopeclass = ''
+      this.key = ''
+      this.buyerclass = ''
+      this.selectFile = ''
+      this.selectMoney = ''
+      this.selectIndustryList = []
+    },
+    revorceOtherData: function() {
+      this.area = ''
+      this.city = ''
+      this.subtype = ''
+      this.subscopeclass = ''
+      this.key = ''
+      this.buyerclass = ''
+      this.selectFile = ''
+      this.selectMoney = ''
+      this.selectIndustryList = []
+    },
+    open: function(name) {
+      this.goUpText = name
+      // @tip[big-member] 微信端 ios z-index问题处理
+      if (utils.isWeiXinBrowser) {
+        if (this.goUpText === '更多筛选') {
+          $("#tabMesg").hide()
+        }
+      }
+    },
+    close: function() {
+      this.iosMeauStyle = false
+      // @tip[big-member] 微信端 ios z-index问题处理
+      if (utils.isWeiXinBrowser) {
+        $("#tabMesg").show()
+      }
+    },
+    calcSelected: function (which) {
+      return this.moreFiltersText[which] || '全部'
+    },
+    moreFiltersItemShow: function (which, text) {
+      this.goUpText = text
+      if (this.screenShow) {
+        this.moreFiltersShow[which] = true
+      } else {
+        this.showSuperVipDialog()
+      }
+    },
+    // 订阅推送消息展示数据
+    setPushTime: function(time) {
+      // console.log(time)
+      let pushtime = {
+        start: parseInt(time.split('_')[0] * 1000),
+        end: parseInt(time.split('_')[0] * 1000),
+      }
+      this.tagText.timeText = new Date(pushtime.end).pattern('yyyy.MM.dd')
+      this.selectDate.startDate = pushtime.start
+      this.selectDate.endDate= pushtime.end
+      this.selectDate.exact = 'exact'
+    },
+    // 判断是否显示免费用户体验报告入口
+    checkShowFreeLink () {
+      if (window.isFreeUserStatus && window.isUserWeekMonthStatus) {
+        $(".vip_report").show();
+      }
+    },
+    // 判断是否有周报月报数据
+    getHasWeekMonthData: function () {
+      var _this = this
+      $.ajax({
+        url: '/subscribepay/report/starttime?type=free',
+        type: 'POST',
+        success: function(res) {
+          // 如果是商机管理、大会员、超级订阅会员有筛选权限
+          if (res != 0) {
+            window.isUserWeekMonthStatus = true
+            _this.checkShowFreeLink()
+          }
+        }
+      })
+    },
+    // 判断是否是新版商机管理
+    getEntniche: function () {
+      var _this = this
+      $.ajax({
+          url: '/entnicheNew/buy/whetherbuy',
+          type: 'POST',
+          success:function(res){
+              if (res.data) {
+                _this.isEntniche = res.data.isNew
+              }
+          }
+      })
+      _this.getUserRoot()
+  },
+    // 会员切换
+    switchVip: function(name) {
+      let _this = this
+      let param = {}
+      if(name) {
+        param = {
+          vt: name
+        }
+      }
+      $.ajax({
+        url: '/publicapply/subscribe/vipSwitch',
+        type: 'POST',
+        async: false,
+        data: param,
+        success: function(res) {
+          // @tip[big-member]  微信端需支持URL参数设置切换用户身份,切换失败时特殊处理为免费用户
+          if (res.error_code !== 0 && !res.data) {
+            res.data = {
+              flag: false,
+              vt: ''
+            }
+          } else if (res.data.vt === 's') {
+            // @tip[big-member]  微信端暂无商机管理权益,同免费用户权益
+            // if (utils.isWeiXinBrowser) {
+            //   res.data.vt = 'f'
+            // }
+          }
+          if(res.data) {
+        	var switchProduct = null;
+            // @tip 多角色身份用户返回需清除缓存
+            var oldType = sessionStorage.getItem('save-user-type-' + goTemplateData.params.userId)
+            sessionStorage.setItem('save-user-type-' + goTemplateData.params.userId, res.data.vt)
+            if (res.data.vt != oldType) {
+              removeSessionStorage()
+              sessionStorage.setItem('need-clear-' + + goTemplateData.params.userId, 'true')
+              location.reload()
+              return
+            }
+
+            if(res.data.vt == 'm') {
+              if(_this.rootInfo.power.indexOf(10) != -1) {
+                $(".vip_report").show();
+              } else {
+                $(".vip_report").hide();
+              }
+              _this.RemoveClass('big')
+              _this.getBmStatus(_this.rootInfo)
+              productType = 2
+              historyVt = 'm'
+              switchProduct = 'bigmember'
+              _this.protype = 'bigmember'
+              // @tip[big-member]  微信端暂不支持大会员报告功能使用
+              if (!utils.isWeiXinBrowser) {
+                $.post("/subscribepay/report/tip?t=" + new Date().getTime(), {type:"member"}, function (r) {
+                  reportHtml(r);
+                });
+              }
+
+               if(_this.rootInfo.isSubCount) {
+                 $('.set_keyword').hide()
+                 $('#toKeySet').hide()
+               } else {
+                $('#toKeySet').show()
+               }
+            } else if(res.data.vt == 'v') {
+              $(".vip_report").show();
+              _this.RemoveClass('vip')
+              productType = 1
+              $(".switch").addClass('only-vip')
+              $(".switch .user_pro").text("超级订阅")
+              $(".switch .switch_icon").addClass('icon_vip')
+              $(".switch").show()
+              $(".switch_right").addClass('right_zh')
+              _this.selectPro = 1
+              historyVt = 'v'
+              switchProduct = 'supervip'
+              $.post("/subscribepay/report/tip?t=" + new Date().getTime(), {type:"vip"}, function (r) {
+              	reportHtml(r);
+           	  });
+            } else if (res.data.vt == 's') {
+              productType = 3
+              historyVt = 's'
+              sessionStorage.setItem('switch-product', 'entniche')
+              _this.RemoveClass('ent')
+              $(".switch").addClass('only-vip is-ent')
+              $(".switch .user_pro").text("商机管理")
+              $(".switch_right").addClass('right_zj')
+              $('.user_pro').css('color', '#171826')
+              $(".switch .switch_icon").addClass('icon_ent')
+              $(".switch").show()
+              _this.protype = 'entniche'
+              _this.selectPro = 3
+              $('.vip_report').hide()
+              _this.getEntInfo()
+            } else {
+              $(".switch_icon").hide()
+              $('.app-layout-header .switch').css({'padding': '0 0.1rem'})
+            }
+            if(switchProduct == 'bigmember' && _this.rootInfo.isSubCount) {
+            	$('#sub_manager').hide();
+				      $('.vip_report').addClass('vip_report_only');
+            } else {
+                $('#sub_manager').show()
+                $('.vip_report').removeClass('vip_report_only');
+            }
+            if(switchProduct!=null){
+	            sessionStorage.setItem('switch-product', switchProduct)
+            }
+          }
+        }
+      })
+    },
+    // 获取商机管理权限
+    getEntInfo: function () {
+      let _this = this
+      $.ajax({
+        type: 'post',
+        url: '/entbase/ent/entinfo',
+        success: function(res) {
+          // console.log(res)
+          if(res.error_code === 0) {
+            _this.entinfo = res.data
+            if(res.data.admin_department || res.data.admin_system) {
+              _this.address = '/page_entniche_new/page/sub_management/sub_management_system.html'
+            } else {
+              _this.address = '/page_entniche_new/page/subsetting/sub_entrance.html'
+            }
+            $("#sub_manager").click(function() {
+              setSessionStorage();
+              sessionStorage.setItem(_this.sessStorageKey, JSON.stringify(_this.$data))
+              // @tip[big-member] 微信端暂不开放商机管理相关功能,权限同免费用户
+              if (utils.isWeiXinBrowser) {
+                location.href = getPowerPageLink('订阅管理')
+              } else {
+                location.href = _this.address
+              }
+            })
+          }
+        }
+      })
+    },
+    // 判断是否是有筛选条件
+    getUserRoot: function() {
+      var _this = this
+      $.ajax({
+        url: '/publicapply/bidcoll/power',
+        type: 'POST',
+        success: function(res) {
+          // @tip[big-member] 微信端暂不开放商机管理相关功能,权限同免费用户
+          if (utils.isWeiXinBrowser) {
+            // if (res.data.entniche) {
+            //   res.data.entniche = false
+            // }
+          }
+          // 如果是商机管理、大会员、超级订阅会员有筛选权限
+          if (!res.data.member && res.data.vip <= 0) {
+            $('.app-layout-header .switch').css({'padding': '0'})
+            window.isFreeUserStatus = true
+            _this.checkShowFreeLink()
+          }
+          if(res.data.entniche || res.data.member || res.data.vip > 0) {
+            _this.screenShow = true
+          } else {
+            _this.screenShow = false
+          }
+          // 从页面移植来的
+          if(!res.data.entniche && !res.data.member && res.data.vip <= 0) {
+            sessionStorage.removeItem('switch-product')
+            setTimeout(function() {
+                (window.slotbydup = window.slotbydup || []).push({
+                    id: "u6603902",
+                    container: "_36y1d8lbx9n",
+                    async: true
+                });
+                (window.slotbydup = window.slotbydup || []).push({
+                    id: "u6603902",
+                    container: "_061vbh43quq3",
+                    async: true
+                });
+            },1000)
+            _this.getAjaxAdv()
+          }
+        }
+      })
+      $.ajax({
+          type: 'post',
+          url: '/bigmember/use/isAdd',
+          dataType: "json",
+          success: function (res) {
+              if (res.data) {
+                // @tip[big-member] 微信端暂不开放商机管理相关功能,权限同免费用户
+                // if (utils.isWeiXinBrowser) {
+                //   if (res.data.entniche) {
+                //     res.data.entniche = false
+                //     if (!res.data.isFree && res.data.memberStatus <= 0 && res.data.vipStatus <= 0) {
+                //       res.data.isFree = true
+                //       sessionStorage.setItem('history-set-user-type', 'free')
+                //     }
+                //   }
+                // }
+
+                window.isFree = res.data.isFree
+                window.userNewType = res.data.isUpgrade // 原页面里的用户版本 变量赋值
+                _this.rootInfo = res.data
+                let switchProduct = sessionStorage.getItem('switch-product')
+                // res.data.memberStatus = 3
+                // res.data.vipStatus = 0
+                sessionStorage.setItem('big_member_status', res.data.memberStatus)
+                if(res.data.power.indexOf(10) != -1) {
+                  $('.vip_report').show()
+                }
+                if(res.data.vipStatus > 0 && res.data.memberStatus > 0) {
+                  if(switchProduct) {
+                    if(switchProduct == 'bigmember') {
+                      _this.getBmStatus(res.data)
+                    }else{
+                      $(".switch").addClass('only-vip')
+                      $(".switch .user_pro").text("超级订阅")
+                      $(".switch .switch_icon").addClass('icon_vip')
+                      $(".switch_right").addClass('right_zh')
+                      _this.selectPro = 1
+                    }
+                  } else {
+                    $(".switch").addClass('only-vip')
+                    $(".switch .user_pro").text("超级订阅")
+                    $(".switch .switch_icon").addClass('icon_vip')
+                    $(".switch").show()
+                    $(".switch_right").addClass('right_zh')
+                    _this.selectPro = 1
+                  }
+                  $(".switch").show()
+                } else if(res.data.vipStatus > 0) {
+                  // 仅超级订阅
+                  $(".switch").show()
+                  if((!res.data.memberStatus || res.data.memberStatus <=0) && !_this.isEntniche) {
+                    $(".switch").addClass('only-vip')
+                    $(".switch .user_pro").text("超级订阅")
+                    $(".switch .switch_icon").addClass('icon_vip')
+                    _this.selectPro = 1
+                  }
+                } else if(res.data.memberStatus > 0) {
+                  // 仅大会员
+                  if((!res.data.vipStatus || res.data.vipStatus == 0) && !_this.isEntniche) {
+                    _this.getBmStatus(res.data)
+                  }
+                } else if(_this.isEntniche) {
+                  // 仅商机管理
+                  if(!res.data.vipStatus || res.data.vipStatus == 0 && res.data.memberStatus <= 0) {
+                    $(".switch .switch_icon").addClass('icon_zj')
+                    _this.selectPro = 3
+                  }
+                }
+                // @tip[big-member] 微信端大会员默认选中逻辑(从链接从获取参数选中用户身份并选中)
+                if (utils.isWeiXinBrowser) {
+                  var cacheMemberType = sessionStorage.getItem('history-set-user-type')
+                  var canSelectMember = cacheMemberType === 'bigmember'
+                  var setUserType = ''
+                  // if (_this.rootInfo.vipStatus > 0) {
+                  //   setUserType = 'v'
+                  // }
+                  if (canSelectMember) {
+                    setUserType = 'm'
+                  }
+                  _this.switchVip(setUserType)
+                } else {
+                  _this.switchVip()
+                }
+              }
+          }
+      })
+    },
+    // 判断会员状态
+    getBmStatus: function(res) {
+      this.selectPro = 2
+      sessionStorage.setItem('switch-product', 'bigmember')
+      if(res.memberStatus == 1 || res.memberStatus == 7) {
+        $(".switch").addClass('switch_zj')
+        $(".switch_right").addClass('right_zj')
+        $(".switch .switch_icon").addClass('icon_zj')
+        $('.user_pro').css('color', '#171826')
+      } else if(res.memberStatus == 2 ) {
+        $(".switch").addClass('switch_zh')
+        $(".switch_right").addClass('right_zh')
+        $(".switch .switch_icon").addClass('icon_zh')
+        $('.user_pro').css('color', '#d69e55')
+      } else if(res.memberStatus == 3 || res.memberStatus == 6) {
+        $(".switch").addClass('switch_sj')
+        $(".switch_right").addClass('right_sj')
+        $(".switch .switch_icon").addClass('icon_sj')
+        $('.user_pro').css('color', '#2abed1')
+      } else {
+        $(".switch").addClass('switch_zj')
+        $(".switch_right").addClass('right_zj')
+        $(".switch .switch_icon").addClass('icon_zj')
+        $('.user_pro').css('color', '#171826')
+      }
+      $(".switch .user_pro").text("大会员")
+      $(".switch").show()
+    },
+    selectedMoreConfirmed: function () {
+      this.$refs.moreDropdownItems.toggle(false)
+      if (this.screenShow) {
+        this.buyerclass = this.moreFiltersTextCache.cateItem
+        this.key = this.moreFiltersTextCache.keywordItem
+        this.subtype = this.moreFiltersTextCache.noticeItem
+        this.selectMoney = this.$refs.moneyComponent.getState()
+        console.log('金额:', this.selectMoney, '有无附件:', this.selectFile);
+        this.doSearch()
+      }
+    },
+    selectedMoreCancel: function () {
+      this.cancel({ name: 'cateItem' })
+      this.cancel({ name: 'keywordItem' })
+      this.cancel({ name: 'noticeItem' })
+      this.$refs.moreDropdownItems.toggle(false)
+      this.$refs.moneyComponent.resetAll()
+      this.selectFile = ''
+      this.selectMoney = ''
+      if (this.screenShow) {
+        this.buyerclass = ''
+        this.key = ''
+        this.subtype = ''
+        this.selectFile = ''
+        this.selectMoney = ''
+        this.doSearch()
+      }
+    },
+    confirm: function(data){
+      if(data.name === 'dateItem'){
+        const timeRange = {
+          start: (data.data.start / 1000).toFixed(0),
+          end: (data.data.end / 1000).toFixed(0)
+        }
+        if (timeRange.start == 0 && timeRange.end == 0) {
+          this.time = ''
+          this.tagText.timeText = '时间'
+        } else if(timeRange.start == 0 && timeRange.end != 0) {
+          this.time = '_' + timeRange.end
+        } else if(timeRange.start != 0 && timeRange.end == 0) {
+          this.time = timeRange.start + '_'
+        } else {
+          this.time = timeRange.start + '_' + timeRange.end
+        }
+        this.selectDate.exact = data.data.exact
+        switch (data.data.exact) {
+          case 'all': {
+            this.tagText.timeText = '时间'
+            break
+          }
+          case 'lately7': {
+            this.tagText.timeText = '最近7天'
+            break
+          }
+          case 'lately30': {
+            this.tagText.timeText = '最近30天'
+            break
+          }
+          case 'lastYear': {
+            this.tagText.timeText = '去年'
+            break
+          }
+          case 'exact': {
+            this.tagText.timeText = new Date(timeRange.end*1000).pattern('yyyy.MM.dd')
+            break
+          }
+        }
+
+        this.setToggle()
+        this.doSearch()
+      } else if(data.name === 'areaCityItem'){
+        var areaCityRes = data.data
+        var count = data.count
+        this.selectAreaList = areaCityRes
+        if (!areaCityRes || Object.keys(areaCityRes).length === 0) {
+          this.area = ''
+          this.city = ''
+          $('.areaText').html('地区')
+        } else {
+          var obj = {
+            p: [], // 省份全选
+            c: [] // 所有的市
+          }
+          for (var key in areaCityRes) {
+            if (areaCityRes[key].length === 0) {
+              obj.p.push(key)
+            } else {
+              obj.c = obj.c.concat(areaCityRes[key])
+            }
+          }
+          $('.areaText').text('地区 ' + count)
+          this.tagText.areaText = '地区 ' + count
+          this.area = obj.p.join(',')
+          this.city = obj.c.join(',')
+        }
+
+        this.setToggle()
+        this.doSearch()
+      } else if(data.name === 'industryItem'){
+        $('.industryText').html(data.t)
+        this.tagText.industryText = data.t
+        this.subscopeclass = data.data.join(',')
+
+        this.setToggle()
+        this.doSearch()
+      } else if(data.name === 'cateItem'){
+        this.moreFiltersText.cateItem = data.t
+        this.moreFiltersTextCache.cateItem = data.data.join(',')
+        this.moreFiltersShow.cateItem = false
+      } else if(data.name === 'keywordItem'){
+        this.moreFiltersText.keywordItem = data.t.replace('关键词', '')
+        this.moreFiltersTextCache.keywordItem = data.data.join(',')
+        this.moreFiltersShow.keywordItem = false
+      } else if(data.name === 'noticeItem'){
+        this.moreFiltersText.noticeItem = data.t.replace('公告类型', '')
+        this.moreFiltersTextCache.noticeItem = data.data.join(',')
+        this.moreFiltersShow.noticeItem = false
+      } else if(data.name === 'rootItem'){
+        try {
+          _hmt.push(['_trackEvent','超级订阅-app', 'click', '推送列表页' + this.goUpText + '-去开通']);
+        } catch (e) {
+          console.log('未初始化百度统计')
+        }
+        topay()
+      } else {
+        return console.log('暂无数据')
+      }
+    },
+    cancel: function(data){
+      if(data.name === 'dateItem'){
+        this.time = ''
+        this.tagText.timeText = '时间'
+        this.selectDate.start = ''
+        this.selectDate.end = ''
+        this.selectDate.exact = 'all'
+        this.setTimer.datetimer = new Date().getTime()
+
+        this.setToggle()
+        this.doSearch()
+      } else if(data.name === 'areaCityItem'){
+        this.area = ''
+        this.city = ''
+        $('.areaText').html('地区')
+        this.setTimer.areatimer = new Date().getTime()
+
+        this.setToggle()
+        this.doSearch()
+      } else if(data.name === 'industryItem'){
+        this.subscopeclass = ''
+        $('.industryText').html('行业')
+        this.setTimer.industrytimer = new Date().getTime()
+        this.selectIndustryList = []
+        this.setToggle()
+        this.doSearch()
+      } else if(data.name === 'cateItem'){
+        this.selectCateList = []
+        this.moreFiltersTextCache.cateItem = ''
+        this.moreFiltersText.cateItem = ''
+        this.setTimer.catetimer = new Date().getTime()
+        this.moreFiltersShow.cateItem = false
+      } else if(data.name === 'keywordItem'){
+        this.selectKeyWordList = []
+        this.moreFiltersTextCache.keywordItem = ''
+        this.moreFiltersText.keywordItem = ''
+        this.setTimer.keytimer = new Date().getTime()
+        this.moreFiltersShow.keywordItem = false
+      } else if(data.name === 'noticeItem'){
+        this.selectNoticeList = []
+        this.moreFiltersTextCache.noticeItem = ''
+        this.moreFiltersText.noticeItem = ''
+        this.setTimer.noticetimer = new Date().getTime()
+        this.moreFiltersShow.noticeItem = false
+      } else if(data.name === 'rootItem') {
+        this.setToggle()
+      }
+    },
+    doSearch: function (delay) {
+      delay = delay || 500
+      setTimeout(this.getAjaXParams, delay)
+    },
+    getAjaXParams: function() {
+      ajaxFun(this.time, this.area, this.city, this.subscopeclass, this.buyerclass, this.key, this.subtype,this.selectFile, this.selectMoney)
+    },
+    setToggle: function() {
+      this.$refs.dateItem.toggle(false)
+      this.$refs.areaCityItem.toggle(false)
+      this.$refs.industryItem.toggle(false)
+      this.$refs.moreDropdownItems.toggle(false)
+    },
+    getAjaxAdv: function () {
+      $.ajax({
+        type: 'POST',
+        url: '/publicapply/adLeague/exposure',
+        data: {
+            client: 'APP',
+            id: 'ad6',
+            position: '订阅推送列表页'
+        },
+        success: function(res) {
+            // console.log(res)
+        }
+      })
+    },
+    // 选择附件
+    selectFileFn: function(item) {
+      if (!this.screenShow) return
+      this.selectFile = item.key
+    }
+  }
+})

+ 1777 - 0
src/web/staticres/common-module/history-push/js/old-page-script.js

@@ -0,0 +1,1777 @@
+/**
+ * 根据描述获取当前平台页面链接
+ * @param type
+ * @returns {string|*}
+ */
+function getPowerPageLink (type) {
+  var pageLinks = {
+    '订阅管理': {
+      app: '/jyapp/vipsubscribe/toSubVipSetPage',
+      wx: '/front/vipsubscribe/toSubVipSetPage'
+    },
+    '大会员-订阅管理': {
+      app: '/jyapp/vipsubscribe/toSubVipSetPage?vSwitch=m',
+      wx: '/front/vipsubscribe/toSubVipSetPage?vSwitch=m'
+    },
+    '超级订阅-订阅管理': {
+      app: '/jyapp/vipsubscribe/toSubVipSetPage?vSwitch=v',
+      wx: '/front/vipsubscribe/toSubVipSetPage?vSwitch=v'
+    },
+    '订阅': {
+      app: '/jyapp/swordfish/historypush',
+      wx: '/swordfish/newhistorypush'
+    },
+    '关键词设置': {
+      app: '/jyapp/vipsubscribe/toSetKeyWordPage',
+      wx: '/front/vipsubscribe/toSetKeyWordPage'
+    },
+    '旧版-关键词设置': {
+      app: '/jyapp/wxkeyset/keyset/index',
+      wx: '/wxkeyset/keyset/index'
+    },
+    '省份订阅包-设置省份': {
+      app: '/jyapp/areaPack/page/set_area',
+      wx: '/areaPack/wx/page/set_area'
+    },
+    '超级订阅-落地页': {
+      app: '/jyapp/vipsubscribe/introducePage',
+      wx: '/front/vipsubscribe/introducePage'
+    }
+  }
+  if (Object.hasOwnProperty.call(pageLinks, type)) {
+    return pageLinks[type][utils.isWeiXinBrowser ? 'wx': 'app']
+  }
+  return ''
+}
+
+// 双11活动文案修改
+$.get('/jyactive/doubleEleven/isActiving?t=' + new Date().getTime(), function (r) {
+  if (r && r.data) {
+    if (r.data.isActiving) {
+      $('*[data-name="doubleEleven_title"]').text('买超级订阅,买多久送多久!')
+      $('*[data-name="doubleEleven_button"]').text('去抢')
+    }
+  }
+})
+
+
+addEventListener('focus', function () {
+  if (document.activeElement = document.getElementById('iframeu6603902_0')) {
+    $.ajax({
+      type: 'POST',
+      url: '/publicapply/adLeague/click',
+      data: {
+        client: 'APP',
+        id: 'ad6',
+        position: '订阅推送列表页'
+      },
+      success: function (res) {
+        console.log(res)
+      }
+    })
+  }
+});
+
+
+function hiddenTips() {
+  $('#UserTips').hide()
+}
+
+function gotoPay() {
+  $('#UserTips').hide()
+  location.href = '/jy_mobile/common/order/create/areapack?type=buy'
+}
+
+// 得到用户是否需要提醒省份订阅包过期
+function getUserSubscribe() {
+  $.ajax({
+    url: '/publicapply/free/areapack/tip',
+    type: 'POST',
+    success: function (res) {
+      if (res.data.tip) {
+        $('#UserTips').show()
+        $('#freeArea').text(res.data.area)
+        tipsClose()
+      } else {
+        $('#UserTips').hide()
+      }
+    }
+  })
+}
+
+getUserSubscribe()
+
+function tipsClose() {
+  $.ajax({
+    url: '/publicapply/free/areapack/update',
+    type: 'POST',
+    success: function (res) {
+
+    }
+  })
+}
+
+// @手机号绑定及账号合并 2021/1/25
+$("#toKeySet").on('click', tokeyset)
+
+function receivePushMessageHandle(type, url) {
+  if (type == "vipreport" || type == "memberreport") {
+    if (type == "memberreport" && productType != 2) {
+      return
+    } else if (type == "vipreport" && productType != 1) {
+      return
+    }
+    if ((type == "vipreport" || type == "memberreport") && $(".vip_report").is(":visible")) {
+      $(".vip_report>a").show();
+    }
+  }
+}
+
+function closeadv(obj) {
+  closeAdvert = true;
+  $(obj).parent().prev().css("border-bottom", "1px solid #e5e6e9");
+  $(obj).parent().remove();
+  if (wxflag != "" && wxflag != null) {
+    wxflag.resetload();
+  }
+}
+
+function AdClick(e, isExternal, link, title) {
+  if (utils.isWeiXinBrowser) {
+    return window.location.href = link;
+  }
+  var ce = $(e).parent();
+  adv_statistics(ce);
+  if (isExternal) {
+    if (!title) {
+      title = "剑鱼标讯"
+    }
+    JyObj.openExternalLink(link, title)
+  } else {
+    window.location.href = link;
+  }
+}
+
+if (sessionStorage && sessionStorage.reloadSubPage) {
+  sessionStorage.removeItem("reloadSubPage");
+  removeSessionStorage();
+  window.location.reload();
+}
+var firstPage = null;
+var scrollTop = 0;
+var dataCache = new Array();
+var lasttime = 0;
+var count = 0;
+var wxflag = "";
+var hasNextPage = false;
+var pageIndex = 1;
+var closeAdvert = false//是否关闭广告
+var isread = goTemplateData.params.isread
+var isPageShow = localStorage.getItem('hideBottom')
+// '/jyapp/myinfo'这个接口的返回值(同步请求,放心使用)
+// 有无关键词同意用这个myInfo中的内容判断
+var myInfo = {}
+var isInTSguide = null
+
+/**
+ * 判断是否推送列表进入 (保留旧版app逻辑)
+ */
+function canChangePushTime () {
+  if (utils.isWeiXinBrowser) {
+    var selectTime = getUrlParam("times")
+    if (selectTime) {
+      removeSessionStorage()
+      vm.setPushTime(selectTime +'_'+ selectTime)
+      if (getUrlParam("t") === 'member') {
+        sessionStorage.setItem('history-set-user-type', 'bigmember')
+      } else {
+        sessionStorage.removeItem('history-set-user-type')
+      }
+      history.replaceState(null, null, getPowerPageLink('订阅'))
+    }
+  } else {
+    if (getUrlParam("f") == "push") {
+      removeSessionStorage();
+      if (history) {
+        var selectTime = getUrlParam("selectTime")
+        sessionStorage.setItem(sessionStorage.userId + "_searchTime", selectTime);
+        history.replaceState(null, null, getPowerPageLink('订阅'));
+      }
+    }
+  }
+}
+
+// 是否推送列表进入
+canChangePushTime()
+
+// 是否需要留资
+function isNeedSales(callback) {
+  $.ajax({
+    type: 'GET',
+    url: '/salesLeads/retainedCapital',
+    data: {source: 'jypush_see10_plus_app'},
+    async: false,
+    success: function (res) {
+      callback(res)
+    }
+  })
+}
+
+function checkFreeList(data) {
+  if (window.isFree) {
+    if (data.data.length > 10) {
+      // sessionStorage.setItem('isNeedSalesStatus', isNeedSalesStatus)
+      isNeedSales(function (res) {
+        // 推送列表 免费是否需要留资判断
+        var result = checkRequiredKeys(['name', 'phone', 'position', 'branch', 'company', 'companyType'], res.info)
+        if (!result && res.data && res.data.retainedCapital) {
+          data.data = data.data.slice(0, 10)
+          data.hasNextPage = false
+          $(".seeMore").show()
+          $(".seeMore-btn").on('click', function () {
+            location.href = (utils.isWeiXinBrowser ? '/weixin' : '/jyapp') + '/frontPage/bigmember/free/perfect_info?source=jypush_see10_plus_app'
+          })
+        }
+      })
+    }
+  }
+}
+
+$(function () {
+  FastClick.attach(document.body)
+  var alert_other;
+  alert_other = setInterval(function () {
+    if (localStorage.canshowother && localStorage.getItem(goTemplateData.params.userId + "_otherFlag") && localStorage.getItem(goTemplateData.params.userId + "_alert") == null) {
+      $(".jy-alert-other").show();
+      localStorage.setItem(goTemplateData.params.userId + "_alert", "1")
+      clearInterval(alert_other);
+    }
+  }, 1000)
+
+  //到期提醒页面
+  var vipSubtips = goTemplateData.params.vipSubtips
+
+  // @tip[big-member] app端到期提醒逻辑
+  if (!utils.isWeiXinBrowser) {
+    if (Number(vipSubtips) === 0 && sessionStorage.vipSubtips == undefined) {
+      history.pushState({}, "", "");
+      sessionStorage.vipSubtips = "t";
+      window.location.replace("/jyapp/vipsubscribe/renewPage/exprie");
+      return
+    }
+  }
+
+  //===================
+  var isinitpage = false;
+  $(window).bind("pageshow", function (event) {
+    if (event.originalEvent.persisted) {
+      //返回不加载  导致菜单不出来
+      try {
+        JyObj.hiddenBottom("1");
+      } catch (e) {}
+      count = 0;
+      initpage();
+      isinitpage = true;
+    }
+  });
+  if (!isinitpage) {
+    initpage();
+    isinitpage = true;
+  }
+  $(".vip_report").click(function () {
+    sessionStorage.setItem(vm.sessStorageKey, JSON.stringify(vm.$data))
+    setSessionStorage();
+
+    var tempUrl = "/vipreport/page/subreport.html"
+    if (window.isFreeUserStatus && window.isUserWeekMonthStatus) {
+      tempUrl += '?type=free'
+    } else if (productType == 2) {
+      tempUrl += '?type=member'
+    } else if (productType == 1) {
+      tempUrl += '?type=vip'
+    }
+    window.location.href = tempUrl;
+  });
+});
+
+var userId = "";
+var selectArea = vm.area; // 地区
+var selectCity = vm.city; // 城市
+var selectIndustry = vm.subscopeclass // 行业
+var selectCate = vm.buyerclass // 采购单位
+var selectKeyword = vm.key // 关键词
+var selectNotice = vm.subtype // 公告类型
+var selectMoney = vm.selectMoney
+var selectFile = vm.selectFile
+//获取当前时间
+var date = (function () {
+  var date = new Date();
+  var year = date.getFullYear();
+  var month = date.getMonth() + 1;
+  var day = date.getDate();
+  month = month < 10 ? '0' + month : month;
+  day = day < 10 ? '0' + day : day;
+  return year + '-' + month + '-' + day;
+})();
+
+let listparams = {
+  pageNum: 1
+}
+var listnum = 0
+$.ajax({
+  url: '/publicapply/bidcoll/list',
+  type: "POST",
+  contentType: 'application/json;charset=utf-8',
+  data: JSON.stringify(listparams),
+  success: function (res) {
+    if (res.error_code == 0) {
+      if (res.data && res.data.res) {
+        listnum = res.data.res.length
+      }
+    }
+  }
+})
+
+function initpage() {
+  console.log(selectMoney, selectFile, 'sessionstorage');
+  afterJyObjInit();
+  var thisClass = this;
+
+  $(".listcontent").scroll(function () {
+    scrollTop = $(this).scrollTop();
+  });
+  this.isCanSwitch = true;
+  this.InitPersonal = function (r) {
+    $("#sub_manager").click(function () {
+      setSessionStorage();
+      sessionStorage.setItem(vm.sessStorageKey, JSON.stringify(vm.$data))
+      if (historyVt == 's') {
+        // @tip[big-member] 微信端暂不开放商机管理相关功能,权限同免费用户
+        if (utils.isWeiXinBrowser) {
+          location.href = getPowerPageLink('订阅管理')
+          return
+        }
+        if (vm.entinfo.admin_department || vm.entinfo.admin_system) {
+          location.href = '/page_entniche_new/page/sub_management/sub_management_system.html'
+        } else {
+          location.href = '/page_entniche_new/page/subsetting/sub_entrance.html'
+        }
+        return
+      }
+      let thisType = sessionStorage.getItem('userIsNew')
+      if (window.userNewType || thisType) {
+        location.href = getPowerPageLink('订阅管理')
+      } else {
+        if (vm.rootInfo.memberStatus > 0) {
+          location.href = getPowerPageLink('大会员-订阅管理')
+        } else {
+          tokeyset()
+        }
+      }
+
+    });
+    $(".tab_left .area").hide();
+    if (r.isPassCount) {
+      if (vm.rootInfo.memberStatus > 0) {
+        $(".open_remind").hide();
+      } else {
+        $(".open_remind").show();
+      }
+    }
+    // 商机管理隐藏弹窗
+    if (r.userType == 'entniche') {
+      $(".open_remind").hide();
+    }
+    if (r.isExpire < 0 && r.vipStatus == -1) {
+      if (localStorage.getItem("nv_vip_" + userId) == null) {
+        // $(".nv_renew_toast").show();
+      }
+    }
+    thisClass.LoadDatas(r);
+  }
+  this.InitVip = function (r) {
+    $("#sub_manager").click(function () {
+      setSessionStorage();
+      // console.log(vm.rootInfo, 'vmrootInfo')
+      sessionStorage.setItem(vm.sessStorageKey, JSON.stringify(vm.$data))
+      if (historyVt == 's') {
+        // @tip[big-member] 微信端暂不开放商机管理相关功能,权限同免费用户
+        if (utils.isWeiXinBrowser) {
+          location.href = getPowerPageLink('订阅管理')
+          return
+        }
+        if (vm.entinfo.admin_department || vm.entinfo.admin_system) {
+          location.href = '/page_entniche_new/page/sub_management/sub_management_system.html'
+        } else {
+          location.href = '/page_entniche_new/page/subsetting/sub_entrance.html'
+        }
+        return
+      } else if (historyVt == 'm') {
+        location.href = getPowerPageLink('大会员-订阅管理')
+      } else if (historyVt == 'v') {
+        location.href = getPowerPageLink('超级订阅-订阅管理')
+      } else {
+        tosetpage()
+      }
+
+    });
+    if (productType == 0) {
+      $(".vip_report").show();
+    }
+    $(".tab_left .area").show();
+    if (!r.haskey) {
+      if (historyVt == 'm' && vm.rootInfo.isSubCount) {
+        $(".set_keyword").hide();
+      } else if (historyVt == 's') {
+        $(".set_keyword").hide();
+      } else {
+        $(".set_keyword").show();
+      }
+      if (r.isPassCount && (localStorage.isPassCount == null || localStorage.isPassCount != date.split("-")[2])) {
+        localStorage.isPassCount = date.split("-")[2]
+        // weuiDialog(); // liumiao让去掉
+      }
+    }
+    if (r.vipStatus != 1) {
+      if (r.isExpire > 1) {
+        $(".renew_toast .isExpire").text(r.isExpire);
+        $(".renew_toast").show();
+      } else if (r.isExpire > 0) {
+        $(".renew_toast").find(".other").hide();
+        $(".renew_toast").find(".today").show();
+        $(".renew_toast").show();
+      }
+    } else {
+      if (r.isExpire > 1) {
+        $("._renew_toast .isExpire").text(r.isExpire);
+        $("._renew_toast").show();
+      } else if (r.isExpire > 0) {
+        $("._renew_toast").find(".other").hide();
+        $("._renew_toast").find(".today").show();
+        $("._renew_toast").show();
+      }
+    }
+    thisClass.LoadDatas(r);
+  }
+  this.LoadDatas = function (r) {
+    if (isPageShow == '1') {
+      localStorage.removeItem('hideBottom')
+      try {
+        JyObj.hiddenBottom("0");
+      } catch (e) {}
+    }
+    $(".app-content").css("display", "flex");
+    if (r.reLoad) {
+      removeSessionStorage();
+    }
+    if (sessionStorage && sessionStorage.historypushScrollTop && sessionStorage.historypushDataCache) {
+      if (sessionStorage.closeAdvert == "true") {
+        closeAdvert = true;
+      }
+      pageIndex = sessionStorage.historypushPageIndexCache;
+      hasNextPage = sessionStorage.historypushHasNextPage == "true" ? true : false;
+      scrollTop = sessionStorage.historypushScrollTop;
+      dataCache = JSON.parse(sessionStorage.historypushDataCache);
+      userId = sessionStorage.userId;
+      firstTime = sessionStorage.getItem(userId + "_searchTime");
+      selectArea = sessionStorage.getItem(userId + "_selectArea");
+      selectCity = sessionStorage.getItem(userId + "_selectCity");
+      selectIndustry = sessionStorage.getItem(userId + "_selectIndustry");
+      selectCate = sessionStorage.getItem(userId + "_selectCate");
+      selectKeyword = sessionStorage.getItem(userId + "_selectKeyword");
+      selectNotice = sessionStorage.getItem(userId + "_selectNotice");
+      selectMoney = sessionStorage.getItem(userId + "_selectMoney");
+      selectFile = sessionStorage.getItem(userId + "_selectFile");
+
+      // 判断是否需要修改某个收藏的状态
+      var listCollSessionId = sessionStorage.getItem('listCollSessionId')
+      if (listCollSessionId) {
+        var listCollSessionBool = sessionStorage.getItem('listCollSessionBool')
+        if (dataCache && $.isArray(dataCache)) {
+          dataCache.forEach(function (item) {
+            if (item._id == listCollSessionId) {
+              item.collection = listCollSessionBool
+            }
+          })
+          sessionStorage.removeItem('listCollSessionId')
+          sessionStorage.removeItem('listCollSessionBool')
+        }
+      }
+
+      $("#list>*").remove();
+      firstPage = dataCache;
+      if (dataCache.length == 0) {
+        hasNoData();
+      } else {
+        structureHtml(dataCache, true);
+      }
+      //appendList($(listCache),$(tableCache));
+      $(".listcontent").scrollTop(scrollTop);
+      if (sessionStorage.getItem('hasFreeMore') === 'true') {
+        isNeedSales(function (res) {
+          var result = checkRequiredKeys(['name', 'phone', 'position', 'branch', 'company'], res.info)
+          if (!result && res.data && res.data.retainedCapital) {
+            $(".seeMore").show()
+            $(".seeMore-btn").on('click', function () {
+              location.href = (utils.isWeiXinBrowser ? '/weixin' : '/jyapp') + '/frontPage/bigmember/free/perfect_info?source=jypush_see10_plus_app'
+            })
+          } else {
+            location.reload()
+          }
+        })
+      }
+      removeSessionStorage();
+    } else {
+      if (historyVt == 's') {
+        $(".set_keyword").hide();
+      }
+      userId = sessionStorage.userId;
+      // var isNeedSalesStatus = false
+      // var isNeedSalesStatus = true
+      console.log('load-ajax', selectFile, selectMoney, vm.selectFile, vm.selectMoney);
+      $.ajax({
+        type: 'post',
+        url: '/publicapply/subscribe/historyPush?t=' + new Date().getTime(),
+        data: {
+          selectTime: firstTime,
+          pageNum: 1,
+          area: selectArea,
+          city: selectCity,
+          subscopeclass: selectIndustry,
+          buyerclass: selectCate,
+          key: selectKeyword,
+          subtype: selectNotice,
+          vt: historyVt,
+          fileExists: vm.selectFile,
+          price: vm.selectMoney
+        },
+        async: false,
+        dataType: 'json',
+        success: function (data) {
+          if (!data.data) {
+            data.data = []
+          }
+          checkFreeList(data)
+
+
+          checkmerge(data.industry)
+          if (data.otherFlag) {
+            localStorage.setItem(goTemplateData.params.userId + "_otherFlag", data.otherFlag)
+          }
+          firstPage = data.data;
+          isInTSguide = data.isInTSguide
+          if (r.userType == "free" && firstPage.length <= 0 && !r.haskey && isInTSguide) {
+            (function () {
+              if (sessionStorage && (sessionStorage.keysetindexToHistory == "1" || sessionStorage.keysetindexToHistory == "2" || sessionStorage.keysetindexToHistory == "3")) {
+                sessionStorage.removeItem("keysetindexToHistory");
+                return
+              }
+              if (firstTime) {
+                return
+              }
+              history.pushState({}, "", "");
+              window.location.href = getPowerPageLink('旧版-关键词设置');
+            })();
+          }
+
+          // 非vip的新用户
+          if (myInfo.userType !== 'vip') {
+            if (myInfo.userType == 'entniche') {
+              if (data.data) {
+                if (data.data.length === 0) {
+                  $('.findnull_').show().siblings('.empty').hide()
+                }
+              } else {
+                $('.findnull_').show().siblings('.empty').hide()
+              }
+
+              $('.header_header').hide()
+            } else {
+              // 如果是新用户(没有推送历史数据,没有关键词),直接就显示空页面
+              if (data.data.length === 0 && myInfo.haskey === false && !firstTime) {
+                if (vm.rootInfo.memberStatus > 0) {
+                  $('.header_header').hide()
+                } else {
+                  $('.filter_tab').hide()
+                  $('.header_header').hide()
+                  $('.findnull-no-key').css({"display": 'block'}).siblings('.empty').hide()
+                }
+                return
+              } else {
+                if (vm.rootInfo.memberStatus > 0 || myInfo.userType == 'entniche') {
+                  $('.header_header').hide()
+                } else {
+                  $('.header_header').show()
+                }
+              }
+            }
+          } else {
+            if (data.data.length === 0) {
+              $('.findnull_').show().siblings('.empty').hide()
+            }
+
+            $('.header_header').hide()
+          }
+
+          pageIndex = 2;
+          lasttime = data.thistime;
+          hasNextPage = data.hasNextPage;
+          vm.hasNextPage = data.hasNextPage
+          userId = data.userId;
+          sessionStorage.userId = userId;
+          sessionStorage.setItem(userId + "_searchTime", firstTime);
+        },
+        error: function (xhr, type) {
+          hasNoData();
+        }
+      });
+      // firstPage.length = 0
+      if (firstPage.length == 0) {
+        //sessionStorage.removeItem("search_starttime");
+        sessionStorage.removeItem(sessionStorage.userId + "_searchTime");
+        hasNoData();
+        return;
+      }
+      dataCache = dataCache.concat(firstPage);
+      structureHtml(firstPage, true);
+
+      setTimeout(function () {
+        $(".listcontent").scrollTop(0);
+      }, 300);
+    }
+    setTimeout(() => {
+      $('#select-meau').css({'visibility': 'initial'})
+      $('#select-meau').css({'display': 'flex'})
+    }, 500)
+    if (hasNextPage) {
+      setTimeout(function () {
+        wxflag = $('.listcontent').dropload({
+          scrollArea: $(".listcontent"),
+          // loadUpFn: function (me) {
+          //     //loadDatas(me,-1);
+          //     reloadFirstPage(me);//下拉刷新更新订阅词
+          // },
+          loadDownFn: function (me) {
+            loadDatas(me, lasttime);
+          }
+        });
+      }, 1000);
+    } else {
+      setTimeout(function () {
+        wxflag = $('.listcontent').dropload({
+          scrollArea: $(".listcontent"),
+          // loadUpFn: function (me) {
+          //     loadDatas(me, -1);
+          // },
+          loadDownFn: function (me) {
+            loadDatas(me, lasttime);
+          }
+        });
+        noMoreData(wxflag);
+      }, 1000);
+    }
+  }
+  //
+  $.post("/publicapply/myinfo?t=" + new Date().getTime(), null, function (r) {
+    // @tip[big-member] 微信端暂不开放商机管理相关功能,权限同免费用户
+    // if (utils.isWeiXinBrowser) {
+    //   if (r.userType === 'entniche') {
+    //     r.userType = 'free'
+    //   }
+    // }
+    myInfo = r
+    if (r.vipStatus > 0) {
+      // $(".switch").addClass("only-vip");
+      // $(".switch").text("超级订阅").show();
+      // $(".switch").click(tosetpage);
+      thisClass.InitVip(r);
+      extend(1);
+    } else {
+      if (vm.rootInfo.memberStatus <= 0) {
+        if (myInfo.userType == 'entniche') {
+          $('.header_header').hide()
+          $(".switch").addClass('switch_zj is-ent')
+          // $(".switch_right").hide()
+          $(".switch .switch_icon").addClass('icon_ent')
+          $(".switch .user_pro").text("商机管理").css('margin-right', '.08rem')
+          $(".switch").show()
+          thisClass.InitPersonal(r);
+          if (historyVt === 's') {
+            $(".switch").click(toEntNichePage);
+          }
+          extend(1)
+          return
+        }
+        setTimeout(function () {
+          if (scrollTop == 0 && r.haskey) {
+            $(".header_header").show();
+          }
+        }, 200)
+
+        // 获取一下cache的列表数据
+        var listString = sessionStorage.getItem('historypushDataCache')
+        if (listString) {
+          listString = JSON.parse(listString)
+        }
+
+        // 非vip
+        if (myInfo.userType !== 'vip') {
+          if (listString) {
+            $('.header_header').show()
+          }
+        }
+        $(".app-content").css("justify-content", "flex-start");
+        $(".switch").addClass("only-personal");
+        $(".switch .user_pro").text("立即使用 超级订阅");
+        $(".switch").click(tointroducepage);
+        $(".switch_ext").click(tointroducepage);
+        thisClass.InitPersonal(r);
+        extend(0);
+        // 免费用户删除类名
+        vm.RemoveClass('vip')
+        vm.RemoveClass('big')
+      } else {
+        thisClass.InitPersonal(r);
+        extend(1)
+      }
+    }
+  });
+}
+
+// 是否有未读的周报月报
+function reportHtml(r) {
+  if (r.unread > 0) {
+    $(".vip_report>a").show();
+  } else {
+    $(".vip_report>a").hide();
+  }
+  if (r.tip) {
+    if (r.tip.type == 2) {
+      $(".vip_report_tip .weekly>span").text("周");
+    } else {
+      $(".vip_report_tip .weekly>span").text("月");
+    }
+    $(".vip_report_tip .term").text(new Date(Number(r.tip.startdate + "000")).pattern("yyyy年M月d日") + "-" + new Date(Number(r.tip.enddate + "000")).pattern("yyyy年M月d日"));
+    $('.vip_report_tip').fadeIn();
+    $('.vip_report_todetail').on('click', function () {
+      $('.vip_report_tip').fadeOut();
+      localStorage.removeItem("reportTipTime");
+      localStorage.removeItem("reportData");
+      updateReportStatus(r.tip);
+    });
+    $('.weui-dialog img.vip_report_tip_close').click(function () {
+      $('.vip_report_tip').fadeOut();
+      localStorage.removeItem("reportTipTime");
+      localStorage.removeItem("reportData");
+      updateReportStatus();
+    });
+  }
+}
+
+function extend(i) {
+  window.listScroll = function () {
+    if (i == 0) {
+      var nowT = $(".listcontent").scrollTop()
+      if (nowT > 0) {
+        if (nowT > 50) {
+          // 修复非超级订阅用户,但是大会员会用户。在筛选结果只有4条数据时候滚动产生的无限循环
+          // 无限循环触发条件:nowT<50,设置高度,触发scroll事件,nowT<50 ...以此无限循环触发
+          $(".header_header").css({height: (60 - nowT) + 'px'})
+          $(".header_header").hide();
+          $(".switch").fadeIn();
+        } else {
+          $(".header_header").show();
+          $(".switch").fadeOut();
+        }
+      } else {
+        $(".header_header").css({height: (60) + 'px'})
+        $(".header_header").show()
+        $(".switch").fadeOut();
+      }
+    }
+  }
+}
+
+//下拉刷新
+function reloadFirstPage(me) {
+  if ($(".vip_report").is(":hidden") || $(".vip_report>a").is(":hidden")) {
+    afterJyObjInit();
+  }
+  selectArea = vm.area; // 地区
+  selectCity = vm.city; // 城市
+  selectIndustry = vm.subscopeclass // 行业
+  selectCate = vm.buyerclass // 采购单位
+  selectKeyword = vm.key // 关键词
+  selectNotice = vm.subtype // 公告类型
+  selectFile = vm.selectFile
+  selectMoney = vm.selectMoney
+  console.log('刷新-ajax', selectFile, selectMoney);
+  $.ajax({
+    type: 'post',
+    url: '/publicapply/subscribe/historyPush?t=' + new Date().getTime(),
+    data: {
+      selectTime: firstTime || vm.time,
+      pageNum: 1,
+      area: selectArea,
+      city: selectCity,
+      subscopeclass: selectIndustry,
+      buyerclass: selectCate,
+      key: selectKeyword,
+      subtype: selectNotice,
+      fileExists: selectFile,
+      price: selectMoney
+    },
+    async: false,
+    dataType: 'json',
+    success: function (data) {
+      pageIndex = 1;
+      lasttime = data.thistime;
+      firstPage = data.data;
+      hasNextPage = data.hasNextPage;
+      words = data.matchkeys;
+      count = 0;
+      dataCache = new Array();
+      $("#list>*").remove();
+      hasNextPage = true;
+      me.$domDown.html(me.opts.domDown.domLoad);
+      me.isData = true;
+      me.isLockUp = false;
+      me.isLockDown = false;
+      if (data.data.length == 0) {
+        noMoreData(me);
+      } else {
+        pageIndex++;
+        lasttime = data["thistime"];
+        dataCache = dataCache.concat(data["data"]);
+        structureHtml(data["data"], true);
+        if (data.hasNextPage) {
+          // 每次数据插入,必须重置
+          me.resetload();
+        } else {
+          noMoreData(me);
+        }
+      }
+    },
+    error: function (xhr, type) {
+      hasNoData(me);
+    }
+  });
+}
+
+function loadDatas(me, le) {
+  wxflag = me;
+  selectArea = vm.area; // 地区
+  selectCity = vm.city; // 城市
+  selectIndustry = vm.subscopeclass // 行业
+  selectCate = vm.buyerclass // 采购单位
+  selectKeyword = vm.key // 关键词
+  selectNotice = vm.subtype // 公告类型
+  selectFile = vm.selectFile
+  selectMoney = vm.selectMoney
+  if (vm.hasNextPage) {
+    $.ajax({
+      type: 'post',
+      url: '/publicapply/subscribe/historyPaging',
+      data: {
+        pageNum: pageIndex,
+        selectTime: firstTime || vm.time,
+        area: selectArea,
+        city: selectCity,
+        subscopeclass: selectIndustry,
+        buyerclass: selectCate,
+        key: selectKeyword,
+        subtype: selectNotice,
+        vt: historyVt,
+        fileExists: selectFile,
+        price: selectMoney
+      },
+      dataType: 'json',
+      success: function (data) {
+        //没有数据
+        if (data.data.length == 0) {
+          noMoreData(me);
+        } else {
+          pageIndex++;
+          lasttime = data["thistime"];
+          dataCache = dataCache.concat(data["data"]);
+          structureHtml(data["data"], false);
+          if (data.hasNextPage) {
+            // 每次数据插入,必须重置
+            me.resetload();
+          } else {
+            noMoreData(me);
+          }
+        }
+      },
+      error: function (xhr, type) {
+        noMoreData(me);
+      }
+    });
+  }
+}
+
+function noMoreData(me) {
+  if (me == null) {
+    return;
+  }
+  wxflag = me;
+  hasNextPage = false;
+  // 锁定
+  me.lock();
+  // 无数据
+  me.noData();
+  // 即使加载出错,也得重置
+  me.resetload();
+}
+
+function hasNoData() {
+  var nokeyNoDataShow = $('.findnull-no-key').is(':visible')
+  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
+  if (!nokeyNoDataShow || !NoDataShow) {
+    $(".findnull_").css("display", "block")
+    $('.findnull_').siblings('.empty').hide()
+  } else {
+    $(".findnull_").css("display", "none")
+  }
+  if (!NoDataShow) {
+    if (!myInfo.haskey) {
+      if (myInfo.userType == 'entniche') {
+        $(".findnull_").css("display", "block").siblings('.empty').hide()
+      } else {
+        $('.findnull-no-key').css("display", "block").siblings('.empty').hide()
+      }
+    } else {
+      $(".findnull_").css("display", "block").siblings('.empty').hide()
+    }
+  }
+}
+
+function structureHtml(object, showAd) {
+  $('.findnull').hide()
+  $('.findnull_').hide()
+  $('.findnull-no-key').hide()
+  var listhtml = '';
+  var ad = $("#advertscript").html();
+  for (var index in object) {
+    var obj = object[index];
+    //标题(需要高亮)
+    var title = obj.title;
+    if (title == "" || title == undefined) {
+      continue
+    }
+    count++;
+    var mWords = "";
+    var _words = "";
+    if (obj.matchkeys != undefined && obj.matchkeys != null) {
+      _words = obj.matchkeys;
+    }
+    if (_words != null && _words.length > 0) {
+      for (var n = 0; n < _words.length; n++) {
+        var keysTemp = _words[n].split("+");
+        for (var m = 0; m < keysTemp.length; m++) {
+          title = keyWordHighlight(title, keysTemp[m], '<font class="keyword">$1</font>');
+        }
+      }
+      mWords = _words.join("_");
+    }
+    //地区
+    var area = obj.area;
+    var areaList = "";
+    if (area != "") {
+      area = $.trim(area);
+      area = area == "A" ? "全国" : area;
+      areaList = '<span class="location">' + area + '</span>';
+    }
+    //类型
+    var datatype = obj.type;
+    var datatypeList = "";
+    var datatypeTable = "";
+    if (datatype != "") {
+      datatypeList = '<span class="type">' + datatype + '</span>'
+      datatypeTable = datatype + "公告"
+    }
+    //行业
+    var ca_isvip = obj.ca_isvip
+    var industryname = "";
+    var industryListname = "";
+    if (ca_isvip) {
+      if (obj.buyerclass != null && obj.buyerclass != "") {
+        industryname = obj.buyerclass
+        industryListname = '<span class="buyerclass">' + industryname + '</span>';
+      }
+    } else {
+      if (obj.s_subscopeclass != null && obj.s_subscopeclass != "") {
+        industryname = obj.s_subscopeclass
+        industryListname = '<span class="industry">' + industryname + '</span>';
+      }
+    }
+    // 预算:budget;中标:bidamount
+    var moneyList = "";
+    if (obj.budget != null && obj.budget != "") {
+      moneyList = '<span class="bidamount">' + utils.moneyUnit(obj.budget) + '</span>';
+    }
+    if (obj.bidamount != null && obj.bidamount != "") {
+      moneyList = '<span class="bidamount">' + utils.moneyUnit(obj.bidamount) + '</span>';
+    }
+    //时间
+    var showdateList = ""
+    var showdateTable = ""
+
+    if (obj.publishtime) {
+      showdateList = utils.dateFromNow(obj.publishtime * 1000);
+      showdateTable = formatDate(obj.publishtime)
+      if (showdateList != null) {
+        showdateList = '<span><i class="jyapp-icon jyapp-icon-bofangjilu" style="color:#7a7a7a;margin-right:2px;"></i>' + showdateList + '</span>'
+      }
+    }
+    //
+    var projectM = obj.ca_type;
+    var projectMList = "";
+    if (projectM == 1) {
+      projectMList = '<span class="projectM">项目匹配</span>'
+    } else {
+      projectMList = areaList + industryListname + datatypeList + moneyList
+    }
+    //序号位置
+    var paddingLeft = 20
+    var countLength = count.toString().length;
+    if (countLength > 1) {
+      paddingLeft = (countLength + 1) * 9;
+    }
+    //是否浏览过
+    var visited = "";
+    if (obj.ca_isvisit == 1) {
+      visited = "visited"
+    }
+    // 是否有附件
+    var fileText = ''
+    if (obj.ca_fileExists) {
+      fileText = '<font class="keyword" style="margin-right:4px;">[有附件]</font>'
+    }
+    if (showAd && index == 3 && !closeAdvert) {//广告位
+      var ad = $("#advertscript").html()
+      if (ad != "" && ad.length > 20) {
+        listhtml += '<div class="tslist ' + visited + '" style="border-bottom: none;" words="' + mWords + '">'
+        if (obj.site == '剑鱼信息发布平台') {
+          listhtml += '<div class="userPublish">用户发布</div>'
+        }
+        listhtml += '<div class="resnumb">'
+          + '<div class="one">'
+          + '<span class="xh ' + visited + '">' + count + '.</span>'
+          + '</div>'
+          + '<div class="two bt-parent" style="display: flex;justify-content: space-between;padding-left:' + paddingLeft + 'px;">'
+          + '<a class="bt ' + visited + '" eid="' + obj["_id"] + '"  push_date="' + obj["ca_date"] + '" list_index="' + obj["ca_index"] + '" projectM="' + obj["ca_type"] + '">' + fileText + title + '</a>'
+          + '<div class="collec_star" collecnum="' + obj["collection"] + '" data-id="' + obj["_id"] + '">'
+          + '<span class="shoucang"></span>'
+          + '<span class="weishoucang"></span>'
+          + '</div>'
+          + '</div>'
+          + '</div>'
+          + '<div style="clear:both;">'
+          + '</div>'
+          + '<div class="restime time-diff">' + projectMList + showdateList + '</div>'
+          + '<div style="clear:both;"></div>'
+          + '</div>'
+          + '<div class="adv-wxpush-center" adv_name="APP推送历史页-中部" id="E1">' + ad + '</div>'
+        continue
+      }
+    }
+    listhtml += '<div class="tslist ' + visited + '" words="' + mWords + '">'
+    if (obj.site == '剑鱼信息发布平台') {
+      listhtml += '<div class="userPublish">用户发布</div>'
+    }
+    listhtml += '<div class="resnumb">'
+      + '<div class="one">'
+      + '<span class="xh ' + visited + '">' + count + '.</span>'
+      + '</div>'
+      + '<div class="two bt-parent" style="display: flex;justify-content: space-between;padding-left:' + paddingLeft + 'px;">'
+      + '<a class="bt ' + visited + '" eid="' + obj["_id"] + '"  push_date="' + obj["ca_date"] + '" list_index="' + obj["ca_index"] + '" projectM="' + obj["ca_type"] + '">' + fileText + title + '</a>'
+      + '<div class="collec_star" collecnum="' + obj["collection"] + '" data-id="' + obj["_id"] + '">'
+      + '<span class="shoucang"></span>'
+      + '<span class="weishoucang"></span>'
+      + '</div>'
+      + '</div>'
+      + '</div>'
+      + '<div style="clear:both;">'
+      + '</div>'
+      + '<div class="restime time-diff">' + projectMList + showdateList + '</div>'
+      + '<div style="clear:both;"></div>'
+      + '</div>'
+  }
+  if (object.length <= 3 && ad != undefined && ad != "" && !closeAdvert && showAd) {
+    appendList($("<div>" + listhtml + "<div class='adv-wxpush-center' id='E1'>" + ad + "</div></div>"));
+  } else {
+    appendList($("<div>" + listhtml + "</div>"));
+  }
+  if (object.length <= 4 && ad != undefined && ad != "") {
+    $(".closeadv").css("display", "none");
+    $(".closeadv-bg").css("display", "none");
+  } else {
+    $(".closeadv").css("display", "");
+    $(".closeadv-bg").css("display", "");
+  }
+  //   控制收藏五角星显示隐藏
+  $('.collec_star').each(function (item, index) {
+    // console.log($('.collec_star').eq(item)[0])
+    let collecnum = $('.collec_star').eq(item).attr('collecnum')
+    if (collecnum == 1) {
+      $('.collec_star').eq(item).find('.shoucang').show()
+      $('.collec_star').eq(item).find('.weishoucang').hide()
+    } else {
+      $('.collec_star').eq(item).find('.shoucang').hide()
+      $('.collec_star').eq(item).find('.weishoucang').show()
+    }
+  })
+
+  // 收藏或取消收藏
+  $('.collec_star').on('click', function (e) {
+    const _this = this
+    e.stopPropagation()
+    const id = $(this).attr('data-id')
+    var shoucang = $(_this).find('.weishoucang').is(':hidden')
+    // 说明未收藏,点击收藏
+    if (vKeepComponent) {
+      vKeepComponent.changeBid(id, !shoucang)
+      // if(listnum < 100) {
+      //     vKeepComponent.changeKeepStatus(!shoucang, _this)
+      // }
+    }
+  })
+}
+
+var vKeepComponent = new Vue({
+  delimiters: ['${', '}'],
+  el: '#jyKeepComponent',
+  data: {
+    nowOpenBid: ''
+  },
+  methods: {
+    changeBid(id, type) {
+      this.nowOpenBid = id
+      this.$refs.vKeepComponent.ajaxAddKeep(id, type)
+    },
+    changeKeepStatus(type, that) {
+      if (!that) {
+        that = $('*[data-id="' + this.nowOpenBid + '"]')
+      }
+      changeCollectStatus(type, that)
+      changeCollectDataStatus(type, this.nowOpenBid)
+    }
+  }
+})
+
+function changeCollectDataStatus(type, id) {
+  if (dataCache && $.isArray(dataCache)) {
+    dataCache.forEach(function (item) {
+      if (item._id == id) {
+        item.collection = type ? 1 : 0
+      }
+    })
+  }
+}
+
+function changeCollectStatus(type, that) {
+  if (type) {
+    $(that).find('.shoucang').show()
+    $(that).find('.weishoucang').hide()
+    listnum++
+  } else {
+    $(that).find('.shoucang').hide()
+    $(that).find('.weishoucang').show()
+    listnum--
+  }
+}
+
+//
+function formatDate(date, sl) {
+  var myDate = new Date(date * 1000);
+  var year = myDate.getFullYear();
+  var month = myDate.getMonth() + 1;
+  if (month < 10 && sl != "1") {
+    month = "0" + month
+  }
+  var date = myDate.getDate();
+  if (date < 10 && sl != "1") {
+    date = "0" + date
+  }
+  var hour = myDate.getHours()
+  var min = myDate.getMinutes()
+  if (sl == "1") {
+    if (hour < 10) {
+      hour = "0" + hour
+    }
+    if (min < 10) {
+      min = "0" + min
+    }
+    return year + "-" + month + "-" + date;
+  } else if (sl == "2") {
+    return year + "." + month + "." + date;
+  } else {
+    return year + "<br>" + month + "" + date;
+  }
+}
+
+function hiddenTips2() {
+  $('#tipsType').hide()
+}
+
+function updateJump2() {
+  $('#tipsType').hide()
+  location.href = getPowerPageLink('省份订阅包-设置省份')
+}
+
+//
+function appendList(content) {
+  content.children(".tslist").on("click", function (event) {
+    if (!window.userNewType && !(vm.rootInfo.vipStatus > 0 || vm.rootInfo.memberStatus > 0 || myInfo.userType == 'entniche')) {
+      $('#tipsType').show()
+    } else {
+      $('#tipsType').hide()
+      var isv = $(this).find("a.bt").hasClass("visited");//是否为已读
+      setVisitedIndex($(this), "");
+      var sds = $(this).attr("words");
+      var h = $(this).find("a.bt").attr("s");
+      var eid = $(this).find("a.bt").attr("eid");
+      var index = $(this).find("a.bt").attr("projectm");
+      var pdate = $(this).find("a.bt").attr("push_date");
+      beforeJump(eid, h, sds, index, pdate, isv);
+      sessionStorage.setItem(vm.sessStorageKey, JSON.stringify(vm.$data))
+    }
+  })
+  $("#list").append(content);
+  $(".findnull").hide();
+  $(".listcontent").show();
+  setTimeout(function () {
+    $("#loading").hide();
+  }, 500)
+}
+
+function beforeJump(eid, h, sds, index, pd, vis) {
+  if (!vis) {
+    for (var i = 0; i < dataCache.length; i++) {
+      if (dataCache[i]._id == eid && dataCache[i].ca_date == pd) {
+        dataCache[i].ca_isvisit = 1;
+        break
+      }
+    }
+  }
+  setSessionStorage();
+  newredirect("", h, eid, "subkey_" + sds, index);
+}
+
+function setSessionStorage() {
+  if (sessionStorage && dataCache.length >= 0) {
+    sessionStorage.closeAdvert = closeAdvert;
+    sessionStorage.historypushScrollTop = scrollTop;
+    sessionStorage.historypushDataCache = JSON.stringify(dataCache);
+    sessionStorage.historypushPageIndexCache = pageIndex;
+    sessionStorage.historypushHasNextPage = hasNextPage;
+    sessionStorage.superSearch_iosNoRefresh = 'detail'
+    sessionStorage.hasFreeMore = $(".seeMore").is(":visible").toString()
+  }
+}
+
+function removeSessionStorage() {
+  sessionStorage.removeItem("historypushDataCache");
+  sessionStorage.removeItem("historypushPageIndexCache");
+  sessionStorage.removeItem("historypushScrollTop");
+  sessionStorage.removeItem("historypushHasNextPage");
+  sessionStorage.removeItem("closeAdvert");
+  sessionStorage.removeItem("hasFreeMore");
+}
+
+function setVisitedIndex(obj, eid) {
+  if (obj.find("a.bt").hasClass("visited") || obj.hasClass("visited")) {
+    return;
+  }
+  obj.find("a.bt").addClass("visited");
+  obj.find("span.xh").addClass("visited");
+  var vsid = obj.find("a.bt").attr("list_index");
+  if (vsid) {
+    $.ajax({
+      type: 'post',
+      url: '/publicapply/subscribe/setRead?t=' + new Date().getTime(),
+      data: {vsid: vsid},
+      async: false
+    });
+  }
+}
+
+//
+var ajaxFlag = true;
+
+function ajaxFun(time, area, city, subscopeclass, buyerclass, key, subtype, file, price) {
+  if (historyVt == 's') {
+    $(".set_keyword").hide();
+  }
+  if (!ajaxFlag) {
+    return
+  }
+  ajaxFlag = false;
+  $("#loading").show();
+  if (!time && !area && !city && !subscopeclass && !buyerclass && !key && !subtype) {
+    afterJyObjInit();
+  }
+  if (isPageShow == '1') {
+    localStorage.removeItem('hideBottom')
+    try {
+      JyObj.hiddenBottom("0");
+    } catch (e) {}
+  }
+  // console.log(historyVt, 'historyVt');
+  console.log('ajaxFun-ajax', file, price);
+  $.ajax({
+    type: 'post',
+    url: '/publicapply/subscribe/historyPush?t=' + new Date().getTime(),
+    data: {
+      selectTime: time,
+      area: area,
+      city: city,
+      subscopeclass: subscopeclass,
+      pageNum: 1,
+      buyerclass: buyerclass,
+      key: key.replace(/\s/g, ','),
+      subtype: subtype,
+      vt: historyVt,
+      fileExists: file,
+      price: price
+    },
+    async: false,
+    dataType: 'json',
+    success: function (data) {
+      if (!data.data) {
+        hasNoData
+        return
+      }
+      pageIndex = 2;
+      lasttime = data.thistime;
+      firstPage = data.data;
+      hasNextPage = data.hasNextPage;
+      vm.hasNextPage = data.hasNextPage
+      userId = data.userId;
+      ajaxFlag = true;
+      if (!data.haskey) {
+        if (historyVt == 'm' && vm.rootInfo.isSubCount) {
+          $(".set_keyword").hide();
+        } else if (historyVt == 's') {
+          $(".set_keyword").hide();
+        } else {
+          $(".set_keyword").show();
+        }
+      } else {
+        $(".set_keyword").hide();
+      }
+      if (time == undefined || time == "") {
+        sessionStorage.removeItem(userId + "_searchTime");
+      } else {
+        sessionStorage.setItem(userId + "_searchTime", time);
+      }
+      if (!area) {
+        sessionStorage.removeItem(userId + "_selectArea");
+      }
+      if (!city) {
+        sessionStorage.removeItem(userId + "_selectCity");
+      }
+      if (!selectFile) {
+        sessionStorage.removeItem(userId + "_selectFile");
+      }
+      if (!selectMoney) {
+        sessionStorage.removeItem(userId + "selectMoney");
+      }
+    },
+    error: function (xhr, type) {
+      ajaxFlag = true;
+      hasNoData();
+    }
+  });
+  dataCache = firstPage;
+  if (firstPage.length == 0) {
+    if ($(".findnull").css("display") == "block") {
+      $(".findnull").css("display", "none");
+    }
+    hasNoData();
+    return;
+  }
+  $("#list").html("");
+  count = 0;
+  structureHtml(firstPage, true);
+  setTimeout(function () {
+    $(".listcontent").scrollTop(0);
+  }, 300);
+  //================================
+  if (hasNextPage) {
+    setTimeout(function () {
+      wxflag = $('.listcontent').dropload({
+        scrollArea: $(".listcontent"),
+        //   loadUpFn: function (me) {
+        //       //loadDatas(me,-1);
+        //       reloadFirstPage(me);//下拉刷新更新订阅词
+        //   },
+        loadDownFn: function (me) {
+          loadDatas(me, lasttime);
+        }
+      });
+    }, 800);
+  } else {
+    wxflag = $('.listcontent').dropload({
+      scrollArea: $(".listcontent"),
+      //   loadUpFn: function (me) {
+      //       loadDatas(me, -1);
+      //   },
+      loadDownFn: function (me) {
+        loadDatas(me, lasttime);
+      }
+    });
+    noMoreData(wxflag);
+  }
+}
+
+//免费用户关键词设置
+function tokeyset() {
+  setSessionStorage()
+  // 如果没有订阅过,先去引导页(keyset/index会被重定向到引导页)
+  // 判断当前世大会员还是超级订阅
+  let switchProduct = sessionStorage.getItem('switch-product')
+  if (switchProduct) {
+    if (switchProduct == 'bigmember') {
+      window.location.href = getPowerPageLink('关键词设置') + '?vSwitch=m';
+    } else if (switchProduct == 'entniche') {
+      window.location.href = '/page_entniche_new/page/subsetting/keyWord.html'
+    } else {
+      if (isInTSguide) {
+        window.location.href = getPowerPageLink('旧版-关键词设置');
+      } else {
+        if (myInfo.haskey) {
+          window.location.href = getPowerPageLink('旧版-关键词设置');
+        } else {
+          if (myInfo.userType == "vip") {
+            window.location.href = getPowerPageLink('关键词设置')
+          } else {
+            location.href = getPowerPageLink('订阅管理')
+          }
+        }
+      }
+    }
+  } else {
+    if (isInTSguide) {
+      window.location.href = getPowerPageLink('旧版-关键词设置')
+    } else {
+      if (myInfo.haskey) {
+        window.location.href = getPowerPageLink('旧版-关键词设置')
+      } else {
+        if (myInfo.userType == "vip") {
+          window.location.href = getPowerPageLink('关键词设置')
+        } else {
+          location.href = getPowerPageLink('订阅管理')
+        }
+      }
+    }
+  }
+
+}
+
+// 清除超级订阅购买、续费、升级页面相关的优惠券、商品规格缓存
+sessionStorage.removeItem('vip-cur-select-coupon')
+sessionStorage.removeItem('$select-coupon')
+sessionStorage.removeItem('vip-cur-select-size')
+
+//介绍页
+function tointroducepage() {
+  setSessionStorage();
+  window.location.href = getPowerPageLink('超级订阅-落地页');
+}
+
+//我的企业列表
+function toEntNichePage() {
+  setSessionStorage();
+  window.location.href = "/page_entniche_new/home";
+}
+
+//vip设置
+function tosetpage() {
+  setSessionStorage();
+  location.href = getPowerPageLink('超级订阅-订阅管理')
+}
+
+//vip关键词设置
+function tosetkeyspage() {
+  setSessionStorage();
+  window.location.href = getPowerPageLink('关键词设置')
+}
+
+//续费
+function torepay() {
+  setSessionStorage();
+  // window.location.href = "/jyapp/vipsubscribe/vipsubscribe_renew";
+  window.location.href = "/jy_mobile/common/order/create/svip?type=renew";
+}
+
+//购买
+function topay() {
+  setSessionStorage();
+  // window.location.href = "/jyapp/vipsubscribe/vipsubscribe_new";
+  window.location.href = "/jy_mobile/common/order/create/svip?type=buy";
+}
+
+function updateReportStatus(tip) {
+  $.post("/subscribepay/report/tipover?t=" + new Date().getTime(), {type: productType == 2 ? "member" : "vip"}, function (r) {
+    if (tip) {
+      if (productType == 2) {//大会员
+        // @tip[big-member] 微信端暂未开放大会员 周报/月报功能
+        if (!utils.isWeiXinBrowser) {
+          if (tip.type == 2) { //周
+            window.location.href = "/jyapp/big/page/report_detail_week?start=" + tip.startdate + "&end=" + tip.enddate + "&pushcount=" + tip.pushcount + "&type=member";
+          } else {//月
+            window.location.href = "/jyapp/big/page/report_detail_month?start=" + tip.startdate + "&end=" + tip.enddate + "&pushcount=" + tip.pushcount + "&type=member";
+          }
+        }
+      } else {//超级订阅
+        window.location.href = "/vipreport/page/reportdetail.html?start=" + tip.startdate + "&end=" + tip.enddate + "&pushcount=" + tip.pushcount + "&type=vip";
+      }
+    }
+  });
+}
+
+function afterJyObjInit() {
+  try {
+    JyObj.hideRedSpotOnMenu("subscribe");
+  } catch (e) {
+  }
+}
+
+function iphoneXInit() {
+  $(".app-layout-content-b").css("top", "89px");
+}
+
+
+function weuiDialog() {
+  weui.dialog({
+    title: '提示信息',
+    content: '您未设置关键词<br/>设置后接收信息更精确',
+    className: 'jymobile-setting-dialog',// 设置弹框的类名
+    buttons: [
+      {
+        label: '去设置',
+        type: 'primary',
+        onClick: function () {
+          // console.log('确定')
+          tosetkeyspage();
+        }
+      },
+      {
+        label: '取消',
+        type: 'default',
+        onClick: function () {
+          console.log('取消')
+        }
+      }
+    ]
+  });
+}
+
+$('.open_remind .icon-chahao').on('click', function () {
+  $('.open_remind').hide()
+})
+
+//禁止默认行为方法
+function stopScroll(e) {
+  e.preventDefault()
+}
+
+//用户合并
+$(".dialog_alert .close").on("click", function () {
+  localStorage.canshowother = true
+  $(".dialog_alert").hide()
+})
+$(".dialog_alert .dialog_ft").on("click", function () {
+  localStorage.canshowother = true
+  window.location.href = '/page_entniche/page/user/account_merge.html'
+})
+
+//关闭 其他采购单位行业 弹窗
+function close_other() {
+  $(".jy-alert-other").hide();
+}
+
+//
+$(function () {
+  $('#list').on('tap longTap', '.tslist', function (e) {
+    var tempS = $(this).addClass("hover")
+    setTimeout(function () {
+      tempS.removeClass('hover')
+    }, 50)
+  })
+  try {
+    document.querySelector('.screen').addEventListener('touchmove', stopScroll, {passive: false});
+    document.querySelector('.tab_left').addEventListener('touchmove', stopScroll, {passive: false});
+    document.querySelector('.tab_right').addEventListener('touchmove', stopScroll, {passive: false});
+    document.querySelector('.handle_menu').addEventListener('touchmove', stopScroll, {passive: false});
+  } catch (e) {
+  }
+  if (firstTime != "" && firstTime != null) {
+    date = formatDate(firstTime / 1000, "1");
+  }
+
+  // 关闭设置弹窗
+  $('#close_set').on('click', function () {
+    $('.set_keyword').hide()
+  })
+  $('#close_renew').on('click', function () {
+    $('.renew_toast').hide()
+  })
+  $('#_close_renew').on('click', function () {
+    $('._renew_toast').hide()
+  })
+  $('#nv_close_renew').on('click', function () {
+    localStorage.setItem("nv_vip_" + userId, "T");
+    $('.nv_renew_toast').hide()
+  })
+
+})
+var mergedlist = []
+var merge_industry = ["国土", "林业", "环保", "卫生", "工商", "质监", "食药", "安监", "地震", "公安", "文化", "旅游", "银监", "保监"]
+
+function checkmerge(state) {
+  if (checkindustry(state)) {
+    var tips = "<span style='font-size:15px;font-family:PingFang SC;font-weight:bold;color:rgba(29,29,29,1);opacity:1;'>随着政府机构改革和职能转变工作深入推进,部分采购单位行业与现实不一致,为了提高订阅推送数据的准确性,剑鱼标讯需要针对采购单位行业名称进行优化。</span><br><span style='font-size:13px;font-family:PingFang SC;font-weight:400;color:rgba(104,104,104,1);opacity:1;'>采购单位名称的调整不影响所购买的采购单位数量,您仍可按需调整。<br><br>您订阅的:<br></span>"
+    var hasMerged = isread
+    var s_count = h_count = m_count = p_count = cultural_count = CBRC_count = t_count = 0
+    var nature_source = ["国土", "林业"];
+    var health_commission = ["卫生"]
+    var market_supervision = ["工商", "质监", "食药"]
+    var contingency_management = ["安监", "地震", "公安"]
+    var cultural_tourism = ["文化", "旅游"]
+    var CBRC = ["银监", "保监"]
+    var ecological_environment = ["环保"]
+
+    state.forEach(function (item, index) {
+      if (merge_industry.indexOf(item) > -1) {
+        if (item == "国土" || item == "林业") {
+          mergedlist.push("自然资源")
+          // hasMerged = true
+          nature_source = Highlight(nature_source, item)
+          s_count++
+        } else if (item == "环保") {
+          mergedlist.push("生态环境")
+          // hasMerged = true
+          ecological_environment = Highlight(ecological_environment, item)
+          h_count++
+
+        } else if (item == "卫生") {
+          mergedlist.push("卫健委")
+          // hasMerged = true
+          health_commission = Highlight(health_commission, item)
+          p_count++
+        } else if (item == "工商" || item == "质监" || item == "食药") {
+          mergedlist.push("市场监管")
+          // hasMerged = true
+
+          market_supervision = Highlight(market_supervision, item)
+          m_count++
+        } else if (item == "地震" || item == "安监" || item == "公安") {
+          if (item !== "公安") {
+            mergedlist.push("应急管理")
+          } else {
+            mergedlist.push("公安")
+          }
+          // hasMerged = true
+          contingency_management = Highlight(contingency_management, item)
+          t_count++
+        } else if (item == "文化" || item == "旅游") {
+          mergedlist.push("文旅")
+          // hasMerged = true
+          cultural_tourism = Highlight(cultural_tourism, item)
+          cultural_count++
+        } else if (item == "银监" || item == "保监") {
+          mergedlist.push("银保监")
+          // hasMerged = true
+          CBRC = Highlight(CBRC, item)
+          CBRC_count++
+        }
+      } else {
+        mergedlist.push(item)
+      }
+    })
+    if (s_count >= 1) {
+      tips += nature_source.join('、') + " 合并为 【自然资源】<br>"
+    }
+    if (h_count >= 1) {
+      tips += ecological_environment.join('、') + " 整合其他部门部分职能后更改为 【生态环境】<br>"
+    }
+    if (p_count >= 1) {
+      tips += health_commission.join('、') + " 变更为 【卫健委】<br>"
+    }
+    if (m_count >= 1) {
+      tips += market_supervision.join('、') + " 合并为 【市场监管】<br>"
+    }
+    if (t_count >= 1) {
+      tips += contingency_management.join('、') + "中的消防 合并为 【应急管理】<br>"
+    }
+    if (cultural_count >= 1) {
+      tips += cultural_tourism.join('、') + " 合并为 【文旅】<br>"
+    }
+    if (CBRC_count >= 1) {
+      tips += CBRC.join('、') + " 合并为 【银保监】<br>"
+    }
+    if (!hasMerged) {
+      $("#merge_content").html(tips)
+      $("#merge_dialog").show()
+    }
+  }
+
+}
+
+function acceptchange() {
+  var q = removeDuplicatedItem(mergedlist)
+  $.post("/subscribepay/vipsubscribe/mergeIndustry", {"industry": q.toString(), "isread": true}, function (r) {
+    if (r.success) {
+      console.log("行业合并成功")
+    } else {
+      console.log("行业合并失败")
+    }
+  })
+  $("#merge_dialog").hide()
+}
+
+function Highlight(a_list, key) {
+  a_list.forEach(function (item, index) {
+    if (item == key) {
+      var m = "<span style='color:red'>" + item + "</span>"
+      a_list[index] = m
+
+    }
+  })
+  return a_list
+}
+
+function removeDuplicatedItem(ar) {
+  var ret = [];
+
+  for (var i = 0, j = ar.length; i < j; i++) {
+    if (ret.indexOf(ar[i]) === -1) {
+      ret.push(ar[i]);
+    }
+  }
+
+  return ret;
+}
+
+function checkindustry(industry) {
+  var isinclude = false
+  if (!industry) {
+    return isinclude
+  }
+  industry.forEach(function (item, index) {
+    if (merge_industry.indexOf(item) > -1) {
+      isinclude = true
+      return
+    }
+  })
+  return isinclude
+}

+ 338 - 0
src/web/staticres/common-module/history-push/local/dropload.js

@@ -0,0 +1,338 @@
+/**
+ * dropload
+ * 西门(http://ons.me/526.html)
+ * 0.9.1(161205)
+ */
+
+;(function($){
+    'use strict';
+    var win = window;
+    var doc = document;
+    var $win = $(win);
+    var $doc = $(doc);
+    $.fn.dropload = function(options){
+		if(options.scrollArea == window.top){
+			win = window.top;
+			$win = $(win);
+			doc = window.top.document;
+		    $doc = $(doc);
+		}
+        return new MyDropLoad(this, options);
+    };
+    var MyDropLoad = function(element, options){
+        var me = this;
+        me.$element = element;
+        // 上方是否插入DOM
+        me.upInsertDOM = false;
+        // loading状态
+        me.loading = false;
+        // 是否锁定
+        me.isLockUp = false;
+        me.isLockDown = false;
+        // 是否有数据
+        me.isData = true;
+        me._scrollTop = 0;
+        me._threshold = 0;
+		//默认加载下方
+		me.direction = 'up';
+        me.init(options);
+    };
+
+    // 初始化
+    MyDropLoad.prototype.init = function(options){
+        var me = this;
+        me.opts = $.extend(true, {}, {
+            scrollArea : me.$element,                                            // 滑动区域
+            domUp : {                                                            // 上方DOM
+                domClass   : 'dropload-up',
+                domRefresh : '<div class="dropload-refresh">↓下拉刷新</div>',
+                domUpdate  : '<div class="dropload-update">↑释放更新</div>',
+                domLoad    : '<div class="dropload-load"><span class="loading"></span>加载中...</div>'
+            },
+            domDown : {                                                          // 下方DOM
+                domClass   : 'dropload-down',
+                domRefresh : '<div class="dropload-refresh">↑上拉加载更多</div>',
+                domLoad    : '<div class="dropload-load"><span class="loading"></span>加载中...</div>',
+                domNoData  : '<div class="dropload-noData">没有更多了</div>'
+            },
+            autoLoad : true,                                                     // 自动加载
+            distance : 50,                                                       // 拉动距离
+            threshold : '',                                                      // 提前加载距离
+            loadUpFn : '',                                                       // 上方function
+            loadDownFn : ''                                                      // 下方function
+        }, options);
+		//先移除
+		me.$element.find('.'+me.opts.domUp.domClass).remove();
+		me.$element.find('.'+me.opts.domDown.domClass).remove();
+        // 如果加载下方,事先在下方插入DOM
+        if(me.opts.loadDownFn != ''){
+            me.$element.append('<div class="'+me.opts.domDown.domClass+'">'+me.opts.domDown.domRefresh+'</div>');
+            me.$domDown = $('.'+me.opts.domDown.domClass);
+        }
+
+        // 计算提前加载距离
+        if(!!me.$domDown && me.opts.threshold === ''){
+            // 默认滑到加载区2/3处时加载
+            me._threshold = Math.floor(me.$domDown.height()*1/3);
+        }else{
+            me._threshold = me.opts.threshold;
+        }
+
+        // 判断滚动区域
+        if(me.opts.scrollArea == win){
+            me.$scrollArea = $win;
+            // 获取文档高度
+            me._scrollContentHeight = $doc.height();
+            // 获取win显示区高度  —— 这里有坑
+            me._scrollWindowHeight = doc.body.clientHeight;
+			//alert(me._scrollContentHeight+"---"+me._scrollWindowHeight)
+        }else{
+            me.$scrollArea = me.opts.scrollArea;
+            me._scrollContentHeight = me.$element[0].scrollHeight;
+            me._scrollWindowHeight = doc.body.clientHeight;
+        }
+        fnAutoLoad(me);
+
+        // 窗口调整
+        $win.off('resize').on('resize',function(){
+			//移动端数据导出改 --> 软键盘弹起改变窗口高度问题
+			return;
+			if(win != window){
+				return;
+			}
+            clearTimeout(me.timer);
+            me.timer = setTimeout(function(){
+                if(me.opts.scrollArea == win){
+                // 重新获取win显示区高度
+                me._scrollWindowHeight = win.innerHeight;
+                }else{
+                    me._scrollWindowHeight = me.$element.height();
+                }
+                fnAutoLoad(me);
+            },150);
+            
+        });
+
+        // 绑定触摸
+        me.$element.off('touchstart').on('touchstart',function(e){
+            if(!me.loading){
+                fnTouches(e);
+                fnTouchstart(e, me);
+            }
+        });
+        me.$element.off('touchmove').on('touchmove',function(e){
+            if(!me.loading){
+                fnTouches(e, me);
+                fnTouchmove(e, me);
+            }
+        });
+        me.$element.off('touchend').on('touchend',function(){
+            if(!me.loading){
+                fnTouchend(me);
+            }
+        });
+
+        // 加载下方
+        me.$scrollArea.off('scroll').on('scroll',function(){
+			if(typeof(window.top.scrollTop) != "undefined"){
+				window.top.scrollTop = $(this).scrollTop();
+			}
+            me._scrollTop = me.$scrollArea.scrollTop();
+
+            // 滚动页面触发加载数据
+			//console.info(me._scrollContentHeight +"--"+ me._threshold+"--"+me._scrollWindowHeight +"--"+ me._scrollTop)
+            if(me.opts.loadDownFn != '' && !me.loading && !me.isLockDown && (me._scrollContentHeight - me._threshold) <= (me._scrollWindowHeight + me._scrollTop)){
+                loadDown(me);
+            }
+        });
+    };
+
+    // touches
+    function fnTouches(e){
+        if(!e.touches){
+            e.touches = e.originalEvent.touches;
+        }
+    }
+
+    // touchstart
+    function fnTouchstart(e, me){
+        me._startY = e.touches[0].pageY;
+        // 记住触摸时的scrolltop值
+        me.touchScrollTop = me.$scrollArea.scrollTop();
+    }
+
+    // touchmove
+    function fnTouchmove(e, me){
+        me._curY = e.touches[0].pageY;
+        me._moveY = me._curY - me._startY;
+
+        if(me._moveY > 0){
+            me.direction = 'down';
+        }else if(me._moveY < 0){
+            me.direction = 'up';
+        }
+
+        var _absMoveY = Math.abs(me._moveY);
+
+        // 加载上方
+        if(me.opts.loadUpFn != '' && me.touchScrollTop <= 0 && me.direction == 'down' && !me.isLockUp){
+            e.preventDefault();
+
+            me.$domUp = $('.'+me.opts.domUp.domClass);
+            // 如果加载区没有DOM
+            if(!me.upInsertDOM){
+                me.$element.prepend('<div class="'+me.opts.domUp.domClass+'"></div>');
+                me.upInsertDOM = true;
+            }
+            
+            fnTransition(me.$domUp,0);
+
+            // 下拉
+            if(_absMoveY <= me.opts.distance){
+                me._offsetY = _absMoveY;
+                // todo:move时会不断清空、增加dom,有可能影响性能,下同
+                me.$domUp.html(me.opts.domUp.domRefresh);
+            // 指定距离 < 下拉距离 < 指定距离*2
+            }else if(_absMoveY > me.opts.distance && _absMoveY <= me.opts.distance*2){
+                me._offsetY = me.opts.distance+(_absMoveY-me.opts.distance)*0.5;
+                me.$domUp.html(me.opts.domUp.domUpdate);
+            // 下拉距离 > 指定距离*2
+            }else{
+                me._offsetY = me.opts.distance+me.opts.distance*0.5+(_absMoveY-me.opts.distance*2)*0.2;
+            }
+
+            me.$domUp.css({'height': me._offsetY});
+        }
+    }
+
+    // touchend
+    function fnTouchend(me){
+        var _absMoveY = Math.abs(me._moveY);
+        if(me.opts.loadUpFn != '' && me.touchScrollTop <= 0 && me.direction == 'down' && !me.isLockUp){
+            fnTransition(me.$domUp,300);
+
+            if(_absMoveY > me.opts.distance){
+                me.$domUp.css({'height':me.$domUp.children().height()});
+                me.$domUp.html(me.opts.domUp.domLoad);
+                me.loading = true;
+                me.opts.loadUpFn(me);
+            }else{
+                me.$domUp.css({'height':'0'}).on('webkitTransitionEnd mozTransitionEnd transitionend',function(){
+                    me.upInsertDOM = false;
+                    $(this).remove();
+                });
+            }
+            me._moveY = 0;
+        }
+    }
+
+    // 如果文档高度不大于窗口高度,数据较少,自动加载下方数据
+    function fnAutoLoad(me){
+        if(me.opts.loadDownFn != '' && me.opts.autoLoad){
+			//alert(me._scrollContentHeight +"----"+  me._threshold+"----"+ me._scrollWindowHeight)
+            if((me._scrollContentHeight - me._threshold) <= me._scrollWindowHeight){
+                loadDown(me);
+            }
+        }
+    }
+
+    // 重新获取文档高度
+    function fnRecoverContentHeight(me){
+        if(me.opts.scrollArea == win){
+            me._scrollContentHeight = $doc.height();
+			//alert(me._scrollContentHeight +"----"+  me._threshold+"----"+ me._scrollWindowHeight)
+        }else{
+            me._scrollContentHeight = me.$element[0].scrollHeight;
+        }
+    }
+
+    // 加载下方
+    function loadDown(me){
+        me.direction = 'up';
+        me.$domDown.html(me.opts.domDown.domLoad);
+        me.loading = true;
+        me.opts.loadDownFn(me);
+    }
+
+    // 锁定
+    MyDropLoad.prototype.lock = function(direction){
+        var me = this;
+        // 如果不指定方向
+        if(direction === undefined){
+            // 如果操作方向向上
+            if(me.direction == 'up'){
+                me.isLockDown = true;
+            // 如果操作方向向下
+            }else if(me.direction == 'down'){
+                me.isLockUp = true;
+            }else{
+                me.isLockUp = true;
+                me.isLockDown = true;
+            }
+        // 如果指定锁上方
+        }else if(direction == 'up'){
+            me.isLockUp = true;
+        // 如果指定锁下方
+        }else if(direction == 'down'){
+            me.isLockDown = true;
+            // 为了解决DEMO5中tab效果bug,因为滑动到下面,再滑上去点tab,direction=down,所以有bug
+            me.direction = 'up';
+        }
+    };
+
+    // 解锁
+    MyDropLoad.prototype.unlock = function(){
+        var me = this;
+        // 简单粗暴解锁
+        me.isLockUp = false;
+        me.isLockDown = false;
+        // 为了解决DEMO5中tab效果bug,因为滑动到下面,再滑上去点tab,direction=down,所以有bug
+        me.direction = 'up';
+    };
+
+    // 无数据
+    MyDropLoad.prototype.noData = function(flag){
+        var me = this;
+        if(flag === undefined || flag == true){
+            me.isData = false;
+        }else if(flag == false){
+            me.isData = true;
+        }
+    };
+
+    // 重置
+    MyDropLoad.prototype.resetload = function(){
+        var me = this;
+		if(!me.upInsertDOM){
+			me.direction = 'up';
+		}
+        if(me.direction == 'down' && me.upInsertDOM){
+            me.$domUp.css({'height':'0'}).on('webkitTransitionEnd mozTransitionEnd transitionend',function(){
+                me.loading = false;
+                me.upInsertDOM = false;
+                $(this).remove();
+                fnRecoverContentHeight(me);
+            });
+        }else if(me.direction == 'up'){
+            me.loading = false;
+            // 如果有数据
+            if(me.isData){
+                // 加载区修改样式
+                me.$domDown.html(me.opts.domDown.domRefresh);
+                fnRecoverContentHeight(me);
+                fnAutoLoad(me);
+            }else{
+                // 如果没数据
+                me.$domDown.html(me.opts.domDown.domNoData);
+            }
+        }
+    };
+
+    // css过渡
+    function fnTransition(dom,num){
+        dom.css({
+            '-webkit-transition':'all '+num+'ms',
+            'transition':'all '+num+'ms'
+        });
+    }
+})(window.Zepto || window.jQuery);

+ 360 - 0
src/web/staticres/common-module/history-push/local/layout.css

@@ -0,0 +1,360 @@
+* {
+  -webkit-touch-callout:none;
+  -khtml-user-select:none;
+  -moz-user-select:none;
+  -ms-user-select:none;
+  user-select:none;
+}
+a,input,button{
+	outline: none !important;
+	-webkit-tap-highlight-color: rgba(255, 255, 255, 0) !important;
+	-webkit-focus-ring-color: rgba(0, 0, 0, 0) !important;
+}
+/*****app 第一版 布局*****/
+.app-layout-header{
+	line-height: 44px;
+    background-color: #FFFFFF;
+    text-align: center;
+    border-bottom: 1px solid #E6E6E6;
+    font-size: 17px;
+    position: absolute;
+    padding-top: 20px;
+    z-index: 99999;
+    left: 0;
+    right: 0;
+    top: 0;
+	color: #444444;
+}
+.app-layout-header>.app-back{
+	position: absolute;
+    font-size: 19px;
+    padding-top: 20px;
+    padding-left: 11px;
+	padding-right: 40px;
+    padding-bottom: 7px;
+    left: 0px;
+    top: 18px;
+	color: #444444;
+}
+.app-layout-content-a,.app-layout-content-b{
+    position: absolute;
+    top: 44px;
+    padding-top: 20px;
+    overflow-y: auto;
+    bottom: 0px;
+    left: 0px;
+    right:0px;
+    -webkit-overflow-scrolling:touch;
+}
+.app-layout-content-a{
+    bottom: 65px;
+}
+.app-layout-footer {
+  width: 100%;
+  background: #fff;
+  position: fixed;
+  left: 0;
+  bottom: 0;
+  z-index: 99;
+  border-top: 1px solid #E6E6E6;
+  box-sizing: border-box;
+}
+.app-layout-footer ul {
+  width: 100%;
+}
+
+.app-layout-footer ul li {
+  width: 25%;
+  float: left;
+  text-align: center;
+  color: #888888;
+  height: 49px;
+  position: relative;
+}
+
+.app-layout-footer ul li span {
+  font-size: 21px;
+  display: block;
+  width: 100%;
+  text-align: center;
+  margin-top: 10px;
+}
+
+.app-layout-footer ul li p {
+  	margin: 0;
+  	font-size: 10px;
+    position: absolute;
+    left: 0px;
+    right: 0px;
+    text-align: center;
+    bottom: 2px;
+	line-height: initial;
+}
+
+.app-layout-footer ul li.active span {
+  color: #2CB7CA;
+}
+
+.app-layout-footer ul li.active p {
+  color: #2CB7CA;
+}
+.easyalert{
+	position: fixed;
+	background-color: rgba(0,0,0,0.7);
+	top: 50%;
+	color: #fff;
+	z-index: 999;
+	border-radius: 6px;
+	padding: 17px 20px;
+    font-size: 15px;
+	line-height: 22px;
+	max-width: 260px;
+	text-align: center;
+	display: none;
+}
+.easyalert-icon{
+	font-size: 13px;
+	border-radius: 5px;
+	width: 120px;
+	height: 120px;
+	padding: 0px;
+	left: 50%;
+	right: 50%;
+	margin-top: -60px;
+	margin-left: -60px;
+	margin-right: -60px;
+}
+.jyapp-li-active{
+	background-color: #e5e5e8 !important;
+}
+.app-layout-footer .jyapp-icon-sousuo{
+	font-size: 42px;
+    top: -17px;
+    left: -10.5px;
+}
+/******************/
+.easypopup{
+	background-color: rgba(0,0,0,0.7);
+	position: fixed;
+	left: 0px;
+	right: 0px;
+	top: 0px;
+	bottom: 0px;
+	display: none;
+	z-index: 999;
+	letter-spacing: 1px;
+}
+.easypopup>div{
+	background-color: #fff;
+	position: fixed;
+	left: 50%;
+	top: 50%;
+	margin-left: -140px;
+    border-radius: 4px;
+	overflow: hidden;
+	width: 280px;
+}
+.easypopup .easypopup-edit{
+	width: 300px;
+	margin-left: -150px;
+}
+.easypopup .easypopup-header{
+	padding-top: 29px;
+	padding-bottom: 16px;
+	text-align: center;
+	font-size: 17px;
+	color: #1d1d1d;
+}
+.easypopup .easypopup-main .easypopup-content{
+	padding: 0px 20px 18px 20px;
+	color: #686868;
+}
+.easypopup .easypopup-edit .easypopup-content{
+	padding: 0px 15px 18px 15px;
+	color: #686868;
+}
+.easypopup .easypopup-alert .easypopup-content{
+	padding: 38px 20px 24px 20px;
+}
+.easypopup .easypopup-content{
+	text-align: center;
+	font-size: 15px;
+}
+.easypopup .easypopup-edit [type='text']{
+	height: 37px;
+	border-radius: 3px;
+	font-size: 16px;
+	color: #1d1d1d;
+	padding-left: 10px;
+	width: 100%;
+}
+.easypopup .easypopup-edit ::-webkit-input-placeholder {
+    color: #686868;
+}
+.easypopup .easypopup-footer{
+	text-align: center;
+	border-top: 1px solid #E0E0E0;
+	display: table;
+	width: 100%;
+	font-size: 18px;
+}
+.easypopup .easypopup-footer>span{
+	height: 50px;
+	line-height: 50px;
+	display: table-cell;
+	background-color: #fff;
+}
+.easypopup .easypopup-footer>span:last-child{
+	color: #2cb7ca;
+	border-left: 1px solid #E0E0E0;
+}
+.easypopup .easypopup-footer>span:first-child{
+	border-left: none;
+}
+.easypopup .easypopup-alert .easypopup-footer>span{
+	width: 100%;
+}
+
+/*分享好友弹窗*/
+.share {
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background: rgba(0, 0, 0, 0.6);
+  z-index: 99999;
+  display: none;
+}
+
+.share .shareMain {
+  width: 100%;
+  background: #f4f4f9;
+  position: absolute;
+  left: 0;
+  bottom: 0;
+}
+.share .shareMain ul{
+	background-color: #f4f4f9;
+	height: 120px;
+	padding-top: 32px;
+	box-sizing: border-box;
+}
+.share .shareMain ul li {
+  float: left;
+  text-align: center;
+  margin: 0px 15px;
+}
+
+.share .shareMain ul li span {
+    font-size: 50px;
+}
+
+.share .shareMain ul li span.jyapp-icon-weixin {
+  color: #0ab70e;
+}
+
+.share .shareMain ul li span.jyapp-icon-qq {
+  color: #4cafe9;
+}
+
+.share .shareMain ul li span.jyapp-icon-pengyouquan {
+  color: #a5e537;
+}
+
+.share .shareMain ul li p {
+  font-size: 14px;
+  color: #1D1D1D;
+margin:0px;
+}
+
+.share .shareMain a.shareQx {
+  display: block;
+  height: 50px;
+  line-height: 50px;
+  text-align: center;
+  background: #fff;
+  font-size: 17px;
+color:#1d1d1d;
+}
+.clearfix::after, .clearfix::before {
+    content: "";
+    display: block;
+    height: 0;
+    clear: both;
+    overflow: hidden;
+}
+ul, li, ol {
+    list-style: none;
+}
+.clearfix a, .clearfix strong {
+    color: #1d1d1d;
+}
+.jyapp-icon-weixin:before {
+    content: "\AC";
+}
+.redspot{
+	position: absolute;
+    width: 8px;
+    height: 8px;
+    background: #f12c20;
+    border-radius: 100%;
+}
+/* 统一头部 */
+.jy-app-header.app-layout-header .app-layout-content-a, .app-layout-content-b{
+    top: 21.33333vw;
+    padding-top: 0;
+}
+.jy-app-header.app-layout-header {
+    display: flex;
+    width: 100%;
+    justify-content: space-between;
+    align-items: center;
+}
+.jy-app-header.app-layout-header + .paddingtop {
+    padding-top: 21.33333vw;
+}
+.jy-app-header.app-layout-header >.app-back,.jy-app-header.app-layout-header >.app-back_,.jy-app-header.app-layout-header > .header-share {
+    top: auto;
+    bottom: 0;
+    position: unset;
+    padding: 16px 0;
+    position: relative;
+}
+.jy-app-header.app-layout-header span.app-back.jyapp-icon.jyapp-icon-zuojiantou::after {
+    content: "";
+    display: inline-block;
+    width: 4em;
+    height: 100%;
+    position: absolute;
+    top: 0;
+    left: 0;
+}
+.j-header.jy-app-header {
+    height: 21.33333vw;
+    padding: 10.66667vw 3.2vw 0 3.2vw;
+    font-family: inherit;
+    background: inherit;
+}
+
+.jy-app-header {
+    height: 21.33333vw;
+    padding: 10.66667vw 3.2vw 0 3.2vw;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    background: #fff;
+    font-family: Avenir,Helvetica,Arial,sans-serif;
+}
+.jy-app-header .icon-left {}
+.badge-number {
+    font-size: 11px;
+    line-height: 15px;
+    min-width: 15px;
+    color: #fff;
+    background: #FB483D;
+    padding: 0 4px;
+    display: inline-block;
+    text-align: center;
+    white-space: nowrap;
+    border-radius: 40px;
+}

+ 19 - 0
src/web/staticres/common-module/history-push/local/rem.js

@@ -0,0 +1,19 @@
+(function(doc, win) {
+	var docEl = doc.documentElement,
+		resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
+		recalc = function() {
+			var fontSize = RootNodeFontSize();
+			if(fontSize == 0) return;
+			docEl.style.fontSize = fontSize + 'px';
+		};
+	if(!doc.addEventListener) return;
+	win.addEventListener(resizeEvt, recalc, false);
+	doc.addEventListener('DOMContentLoaded', recalc, false);
+})(document, window);
+//获取根节点的font-size
+function RootNodeFontSize(){
+	var clientWidth = document.documentElement.clientWidth;
+	if(!clientWidth) return 0;
+	if(clientWidth > 750) clientWidth = 750;
+	return clientWidth / 7.5;
+}

+ 1 - 15
src/web/staticres/common-module/order-list/js/order-list.js

@@ -530,20 +530,6 @@ var vm = new Vue({
             stateText = '未收到转账'
           }
         }
-      } else if (orderStatus === 1) {
-        if (customPayProduction.indexOf(productType) !== -1) {
-          var customIsAll = 0
-          if (filterInfo.isAll) {
-            customIsAll = filterInfo.isAll
-          }
-          if (customIsAll === 2 || order.return_status === 0) {
-            stateText = '待付款'
-            className = 'notpay'
-          } else if (customIsAll === 3 || order.return_status === 2) {
-            stateText = '待付完'
-            className = 'notpay'
-          }
-        }
       }
 
       return {
@@ -1447,7 +1433,7 @@ var vm = new Vue({
         publishTime = '全部'
       } else {
         if (publishTime.indexOf('_') !== -1) {
-          var pbt = publishTime.join('_')
+          var pbt = publishTime.split('_')
           if (pbt[0] && !pbt[1]) {
             publishTime = new Date(pbt[0] * 1000).pattern('yyyy.MM.dd')
             publishTime = publishTime + '-'

+ 686 - 659
src/web/staticres/common-module/public/js/utils.js

@@ -21,44 +21,44 @@
    *  参考: https://www.cnblogs.com/mr-wuxiansheng/p/6296646.html
    */
 Date.prototype.pattern = function (fmt) {
-    if (!fmt) return ''
-    var o = {
-        'y+': this.getFullYear(),
-        'M+': this.getMonth() + 1, // 月份
-        'd+': this.getDate(), // 日
-        // 12小时制
-        'h+': this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, // 小时
-        // 24小时制
-        'H+': this.getHours(), // 小时
-        'm+': this.getMinutes(), // 分
-        's+': this.getSeconds(), // 秒
-        'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
-        'S': this.getMilliseconds(), // 毫秒
-        'E+': this.getDay(), // 周
-    };
-    var week = {
-        '0': '日',
-        '1': '一',
-        '2': '二',
-        '3': '三',
-        '4': '四',
-        '5': '五',
-        '6': '六'
-    };
-    if (/(y+)/.test(fmt)) {
-        fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
-    }
-    if (/(E+)/.test(fmt)) {
-        fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? '星期' : '周') : '') + week[
-            this.getDay() + '']);
-    }
-    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)));
-        }
+  if (!fmt) return ''
+  var o = {
+    'y+': this.getFullYear(),
+    'M+': this.getMonth() + 1, // 月份
+    'd+': this.getDate(), // 日
+    // 12小时制
+    'h+': this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, // 小时
+    // 24小时制
+    'H+': this.getHours(), // 小时
+    'm+': this.getMinutes(), // 分
+    's+': this.getSeconds(), // 秒
+    'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
+    'S': this.getMilliseconds(), // 毫秒
+    'E+': this.getDay(), // 周
+  };
+  var week = {
+    '0': '日',
+    '1': '一',
+    '2': '二',
+    '3': '三',
+    '4': '四',
+    '5': '五',
+    '6': '六'
+  };
+  if (/(y+)/.test(fmt)) {
+    fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
+  }
+  if (/(E+)/.test(fmt)) {
+    fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? '星期' : '周') : '') + week[
+    this.getDay() + '']);
+  }
+  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;
 }
 /*  挂载到Number原型上,格式化小数用tofixed会造成位数不够补零的情况(处理不让自动补零)
     栗子: 不是number类型的需要转一下
@@ -69,670 +69,697 @@ Date.prototype.pattern = function (fmt) {
         1234.152354.fixed(10)
 */
 Number.prototype.fixed = function(len){
-    len = isNaN(len)?  0 : len
-    var num = Math.pow(10,len)
-    return Math.round(this*num) / num
+  len = isNaN(len)?  0 : len
+  var num = Math.pow(10,len)
+  return Math.round(this*num) / num
 }
 
 var popupTip = {
-    setAlert: function (obj) {
-        var html =  `<p class="shiyong_text">试用功能数额已超限,请购买剑鱼大会员正式版</p><button onClick="location.href='/jyapp/big/page/landingPage'" class="shiyong_buy">立即购买</button>`
-        obj.$dialog.alert({
-            className: 'shiyong_common',
-            title: '温馨提醒',
-            message: html,
-            theme: 'round-button',
-            confirmButtonText:'取消,暂不使用',
-            confirmButtonColor:'#2ABED1'
-        }).then(() => {
-            // on close
-        });
-    }
+  setAlert: function (obj) {
+    var html =  `<p class="shiyong_text">试用功能数额已超限,请购买剑鱼大会员正式版</p><button onClick="location.href='/jyapp/big/page/landingPage'" class="shiyong_buy">立即购买</button>`
+    obj.$dialog.alert({
+      className: 'shiyong_common',
+      title: '温馨提醒',
+      message: html,
+      theme: 'round-button',
+      confirmButtonText:'取消,暂不使用',
+      confirmButtonColor:'#2ABED1'
+    }).then(() => {
+      // on close
+    });
+  }
 }
 
 var versionChangeLog = {
-    '0.0.1': 'init',
-    '0.0.2': 'utils.dateFromNow 函数逻辑修改,具体修改内容查看函数注释'
+  '0.0.1': ['init'],
+  '0.0.2': ['utils.dateFromNow 函数逻辑修改,具体修改内容查看函数注释'],
+  '0.0.3': ['utils.formatMoney 新增不使用,分割返回值的选项'],
 }
 
-var utils = {
-    // utils版本号
-    version: '0.0.2',
-    isWeiXinBrowser: navigator.userAgent.toLowerCase().indexOf('micromessenger') !== -1,
-    isAndroid: navigator.userAgent.toLowerCase().indexOf('android') !== -1,
-    isIos: /iphone|ipod|ipad|ios/.test(navigator.userAgent.toLowerCase()),
-    // 传入你要获取的参数的名字
-    getParam: function (name) {
-        var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
-        var r = window.location.search.substr(1).match(reg); //获取url中'?'符后的字符串并正则匹配
-
-        var context = '';
-        if (r != null) context = r[2];
-        // 释放变量
-        reg = null;
-        r = null;
-        return context == null || context == '' || context == 'undefined' ? '' : context;
-    },
-    // 取[m, n]随机数
-    getRandomNumber: function (min, max) {
-        return Math.floor(Math.random() * (max - min + 1) + min);
-    },
-    // 获取唯一的uuid
-    // https://www.kancloud.cn/ifeng/js100/622666
-    getRandomUuid: function () {
-        var s = [];
-        var hexDigits = "0123456789abcdef";
-        for (var i = 0; i < 36; i++) {
-            s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
-        }
-        s[14] = "4";  // bits 12-15 of the time_hi_and_version field to 0010
-        s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);  // bits 6-7 of the clock_seq_hi_and_reserved to 01
-        s[8] = s[13] = s[18] = s[23] = "-";
-
-        var uuid = s.join("");
-        return uuid;
-    },
-    // 获取随机字符串
-    // 不传参数则获取长度不固定的字符串
-    getRandomString: function (len) {
-        var randomString = '';
-        if (len) {
-            /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
-            var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
-            var maxPos = $chars.length;
-            for (i = 0; i < len; i++) {
-                randomString += $chars.charAt(Math.floor(Math.random() * maxPos));
-            }
-        } else {
-            // Math.random()  生成随机数字, eg: 0.123456
-            // .toString(36)  转化成36进制 : "0.4fzyo82mvyr"
-            // .substring(2)  去掉前面两位 : "yo82mvyr"
-            // .slice(-8)  截取最后八位 : "yo82mvyr"
-            randomString = Math.random().toString(36).substring(2)
-        }
-        return randomString;
-    },
-    // FROM: https://www.jianshu.com/p/90ed8b728975
-    // 比较两个对象是否相等
-    // 返回true为相等,返回false为不相等
-    deepCompare: function (x, y) {
-        var i, l, leftChain, rightChain;
-        function compare2Objects(x, y) {
-            var p;
-            // remember that NaN === NaN returns false
-            // and isNaN(undefined) returns true
-            if (isNaN(x) && isNaN(y) && typeof x === 'number' && typeof y === 'number') {
-                return true;
-            }
 
-            // Compare primitives and functions.
-            // Check if both arguments link to the same object.
-            // Especially useful on the step where we compare prototypes
-            if (x === y) {
-                return true;
-            }
+var utils = {
+  // utils版本号
+  version: '0.0.3',
+  isWeiXinBrowser: navigator.userAgent.toLowerCase().indexOf('micromessenger') !== -1,
+  isAndroid: navigator.userAgent.toLowerCase().indexOf('android') !== -1,
+  isIos: /iphone|ipod|ipad|ios/.test(navigator.userAgent.toLowerCase()),
+  // 传入你要获取的参数的名字
+  getParam: function (name) {
+    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
+    var r = window.location.search.substr(1).match(reg); //获取url中'?'符后的字符串并正则匹配
+
+    var context = '';
+    if (r != null) context = r[2];
+    // 释放变量
+    reg = null;
+    r = null;
+    return context == null || context == '' || context == 'undefined' ? '' : context;
+  },
+  // 取[m, n]随机数
+  getRandomNumber: function (min, max) {
+    return Math.floor(Math.random() * (max - min + 1) + min);
+  },
+  // 获取唯一的uuid
+  // https://www.kancloud.cn/ifeng/js100/622666
+  getRandomUuid: function () {
+    var s = [];
+    var hexDigits = "0123456789abcdef";
+    for (var i = 0; i < 36; i++) {
+      s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
+    }
+    s[14] = "4";  // bits 12-15 of the time_hi_and_version field to 0010
+    s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);  // bits 6-7 of the clock_seq_hi_and_reserved to 01
+    s[8] = s[13] = s[18] = s[23] = "-";
+
+    var uuid = s.join("");
+    return uuid;
+  },
+  // 获取随机字符串
+  // 不传参数则获取长度不固定的字符串
+  getRandomString: function (len) {
+    var randomString = '';
+    if (len) {
+      /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
+      var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
+      var maxPos = $chars.length;
+      for (i = 0; i < len; i++) {
+        randomString += $chars.charAt(Math.floor(Math.random() * maxPos));
+      }
+    } else {
+      // Math.random()  生成随机数字, eg: 0.123456
+      // .toString(36)  转化成36进制 : "0.4fzyo82mvyr"
+      // .substring(2)  去掉前面两位 : "yo82mvyr"
+      // .slice(-8)  截取最后八位 : "yo82mvyr"
+      randomString = Math.random().toString(36).substring(2)
+    }
+    return randomString;
+  },
+  // FROM: https://www.jianshu.com/p/90ed8b728975
+  // 比较两个对象是否相等
+  // 返回true为相等,返回false为不相等
+  deepCompare: function (x, y) {
+    var i, l, leftChain, rightChain;
+    function compare2Objects(x, y) {
+      var p;
+      // remember that NaN === NaN returns false
+      // and isNaN(undefined) returns true
+      if (isNaN(x) && isNaN(y) && typeof x === 'number' && typeof y === 'number') {
+        return true;
+      }
 
-            // Works in case when functions are created in constructor.
-            // Comparing dates is a common scenario. Another built-ins?
-            // We can even handle functions passed across iframes
-            if ((typeof x === 'function' && typeof y === 'function') ||
-                (x instanceof Date && y instanceof Date) ||
-                (x instanceof RegExp && y instanceof RegExp) ||
-                (x instanceof String && y instanceof String) ||
-                (x instanceof Number && y instanceof Number)) {
-                return x.toString() === y.toString();
+      // Compare primitives and functions.
+      // Check if both arguments link to the same object.
+      // Especially useful on the step where we compare prototypes
+      if (x === y) {
+        return true;
+      }
+
+      // Works in case when functions are created in constructor.
+      // Comparing dates is a common scenario. Another built-ins?
+      // We can even handle functions passed across iframes
+      if ((typeof x === 'function' && typeof y === 'function') ||
+        (x instanceof Date && y instanceof Date) ||
+        (x instanceof RegExp && y instanceof RegExp) ||
+        (x instanceof String && y instanceof String) ||
+        (x instanceof Number && y instanceof Number)) {
+        return x.toString() === y.toString();
+      }
+
+      // At last checking prototypes as good as we can
+      if (!(x instanceof Object && y instanceof Object)) {
+        return false;
+      }
+
+      if (x.isPrototypeOf(y) || y.isPrototypeOf(x)) {
+        return false;
+      }
+
+      if (x.constructor !== y.constructor) {
+        return false;
+      }
+
+      if (x.prototype !== y.prototype) {
+        return false;
+      }
+
+      // Check for infinitive linking loops
+      if (leftChain.indexOf(x) > -1 || rightChain.indexOf(y) > -1) {
+        return false;
+      }
+
+      // Quick checking of one object being a subset of another.
+      // todo: cache the structure of arguments[0] for performance
+      for (p in y) {
+        if (y.hasOwnProperty(p) !== x.hasOwnProperty(p)) {
+          return false;
+        } else if (typeof y[p] !== typeof x[p]) {
+          return false;
+        }
+      }
+
+      for (p in x) {
+        if (y.hasOwnProperty(p) !== x.hasOwnProperty(p)) {
+          return false;
+        } else if (typeof y[p] !== typeof x[p]) {
+          return false;
+        }
+
+        switch (typeof (x[p])) {
+          case 'object':
+          case 'function':
+
+            leftChain.push(x);
+            rightChain.push(y);
+
+            if (!compare2Objects(x[p], y[p])) {
+              return false;
             }
 
-            // At last checking prototypes as good as we can
-            if (!(x instanceof Object && y instanceof Object)) {
-                return false;
-            }
+            leftChain.pop();
+            rightChain.pop();
+            break;
 
-            if (x.isPrototypeOf(y) || y.isPrototypeOf(x)) {
-                return false;
+          default:
+            if (x[p] !== y[p]) {
+              return false;
             }
+            break;
+        }
+      }
 
-            if (x.constructor !== y.constructor) {
-                return false;
-            }
+      return true;
+    }
 
-            if (x.prototype !== y.prototype) {
-                return false;
-            }
+    if (arguments.length < 1) {
+      return true; //Die silently? Don't know how to handle such case, please help...
+      // throw "Need two or more arguments to compare";
+    }
 
-            // Check for infinitive linking loops
-            if (leftChain.indexOf(x) > -1 || rightChain.indexOf(y) > -1) {
-                return false;
-            }
+    for (i = 1, l = arguments.length; i < l; i++) {
 
-            // Quick checking of one object being a subset of another.
-            // todo: cache the structure of arguments[0] for performance
-            for (p in y) {
-                if (y.hasOwnProperty(p) !== x.hasOwnProperty(p)) {
-                    return false;
-                } else if (typeof y[p] !== typeof x[p]) {
-                    return false;
-                }
-            }
+      leftChain = []; //Todo: this can be cached
+      rightChain = [];
 
-            for (p in x) {
-                if (y.hasOwnProperty(p) !== x.hasOwnProperty(p)) {
-                    return false;
-                } else if (typeof y[p] !== typeof x[p]) {
-                    return false;
-                }
-
-                switch (typeof (x[p])) {
-                    case 'object':
-                    case 'function':
-
-                        leftChain.push(x);
-                        rightChain.push(y);
-
-                        if (!compare2Objects(x[p], y[p])) {
-                            return false;
-                        }
-
-                        leftChain.pop();
-                        rightChain.pop();
-                        break;
-
-                    default:
-                        if (x[p] !== y[p]) {
-                            return false;
-                        }
-                        break;
-                }
-            }
+      if (!compare2Objects(arguments[0], arguments[i])) {
+        return false;
+      }
+    }
 
-            return true;
-        }
+    return true;
+  },
+  // 判断变量是否是数组
+  isArray: function (o){
+    return Object.prototype.toString.call(o) == '[object Array]';
+  },
+  // 数组对象根据某一个值进行从小到大冒泡排序
+  // arr 数组
+  // value 字符串
+  bSort: function (arr, value) {
+    var len = arr.length;
+    for (var i = 0; i < len - 1; i++) {
+      for (var j = 0; j < len - 1 - i; j++) {
+        // 相邻元素两两对比,元素交换,大的元素交换到后面
+        if (arr[j][value] > arr[j + 1][value]) {
+          var temp = arr[j];
+          arr[j] = arr[j + 1];
+          arr[j + 1] = temp;
+        }
+      }
+    }
+    return arr;
+  },
+  // 数组去重
+  unique: function (arr) {
+    if (!this.isArray(arr)) {
+      console.log('type error!')
+      return
+    }
+    var array = [];
+    for (var i = 0; i < arr.length; i++) {
+      if (array .indexOf(arr[i]) === -1) {
+        array .push(arr[i])
+      }
+    }
+    return array
+  },
+  // 数组乱序
+  shuffle: function (arr) {
+    var targetArr = JSON.parse(JSON.stringify(arr || []))
+    var hitArr = []
+    var len = targetArr.length
+    for (var i = 0; i < len; i++) {
+      // 获取随机下标
+      var index = Math.floor(Math.random() * targetArr.length)
+      hitArr.push(targetArr[index])
+      targetArr.splice(index, 1)
+    }
+    return hitArr.concat(targetArr)
+  },
+  // 解决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 () {
+      isPageHide = true;
+    });
+  },
+  // ios返回调用函数
+  iosBackInvoke: function (callback) {
+    var isPageHide = false;
+    window.addEventListener('pageshow', function () {
+      if (isPageHide) {
+        callback && callback();
+      }
+    });
+    window.addEventListener('pagehide', function () {
+      isPageHide = true;
+    });
+  },
+  /**
+   * 格式化金钱的函数
+   * @param {number} s 金额必传
+   * @param {int:0-100} n 保留小数的位数(int:0-100)
+   * @param {Boolean} withoutComma 传true则表示不使用,分割返回值
+   */
+  formatMoney: function (s, n, withoutComma) {
+    // 如果不传s或者s为空,则直接返回0
+    if (!s) return 0
+
+    if (n === undefined || n === null) {
+      n = -1
+    } else {
+      n = n > 0 && n <= 20 ? n : 2;
+    }
+    var intS = parseInt(s)
+    var point = '.'
+    var left;
+    var right;
+    s = parseFloat((s + '').replace(/[^\d\.-]/g, ''))
+    // 没传n,默认(如果为整数,则不保留小数。如果为浮点数,则保留两位小数)
+    if (n === -1) {
+      if (s === intS) {
+        n = 0
+        right = ''
+        point = ''
+      } else {
+        n = 2
+        s = s.toFixed(n);
+        right = s.split('.')[1];
+      }
+      s = s + ''
+      left = s.split('.')[0].split('').reverse();
+    } else {
+      s = parseFloat((s + '').replace(/[^\d\.-]/g, '')).toFixed(n) + '';
+      left = s.split('.')[0].split('').reverse();
+      right = s.split('.')[1];
+    }
 
-        if (arguments.length < 1) {
-            return true; //Die silently? Don't know how to handle such case, please help...
-            // throw "Need two or more arguments to compare";
-        }
+    // 默认进行,拼接
+    if (!withoutComma) {
+      t = '';
+      for (i = 0; i < left.length; i++) {
+        t += left[i] + ((i + 1) % 3 == 0 && (i + 1) != left.length ? ',' : '');
+      }
+      return t.split('').reverse().join('') + point + right;
+    }
 
-        for (i = 1, l = arguments.length; i < l; i++) {
+    return left.reverse().join('') + point + right;;
+  },
+  // 金额大写,链接:https://juejin.im/post/5a2a7a5051882535cd4abfce
+  // upDigit(1682) result:"人民币壹仟陆佰捌拾贰元整"
+  // upDigit(-1693) result:"欠壹仟陆佰玖拾叁元整"
+  upPrice: function (n) {
+    var fraction = ['角', '分', '厘']
+    var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
+    var unit = [
+      ['元', '万', '亿'],
+      ['', '拾', '佰', '仟']
+    ]
+    // var head = n < 0 ? '欠人民币' : '人民币'
+    var head = ''
+    n = Math.abs(n)
+    var s = ''
+    for (var i = 0; i < fraction.length; i++) {
+      s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '')
+    }
+    s = s || '整'
+    n = Math.floor(n)
+    for (var i = 0; i < unit[0].length && n > 0; i++) {
+      var p = ''
+      for (var j = 0; j < unit[1].length && n > 0; j++) {
+        p = digit[n % 10] + unit[1][j] + p
+        n = Math.floor(n / 10)
+      }
+      s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s
+      // s = p + unit[0][i] + s;
+    }
+    return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整')
+  },
+  // 手机号中间4位加*
+  addConfusionForTel: function (tel) {
+    var reg = /^(\d{3})\d{4}(\d{4})$/
+    return tel.replace(reg, '$1****$2')
+  },
+  // 手机号加空格
+  addSpaceForTel: function (tel) {
+    var regMap = {
+      isConfuse: /^(\d{3})\*{4}(\d{4})$/,
+      addSpace: /^(\d{3})(\d{4})(\d{4})$/
+    }
+    var confusion = regMap.isConfuse.test(tel)
+    if (confusion) {
+      return tel.replace(regMap.isConfuse, '$1 **** $2')
+    } else {
+      return tel.replace(regMap.addSpace, '$1 $2 $3')
+    }
+  },
+  /**
+   * 时间戳转换 多少秒、多少分、多少小时前  昨天以及昨天之前的显示年月日(今年的时间不显示年份)
+   * @param {Date} originTime 要转换的时间对象(或者时间戳)
+   */
+  dateFromNow: function (originTime, useOld) {
+    if (!originTime) return
+    // 原始时间 - 传入的时间戳
+    var originTimeStamp = +new Date(originTime)
+    // 当前时间戳
+    var nowTimeStamp = +new Date()
+    // 时间戳相差多少
+    var diffTimeStamp = nowTimeStamp - originTimeStamp
+
+    var postfix = diffTimeStamp > 0 ? '前' : '后'
+    // 求绝对值 ms(毫秒)
+    var diffTimeStampAbsMs = Math.abs(diffTimeStamp)
+    var diffTimeStampAbsS = Math.round(diffTimeStampAbsMs / 1000)
+
+    // 10天的秒数
+    var days11 = 11 * 24 * 60 * 60
+    // var dataMap = {
+    //     zh: ['年', '个月', '星期', '天', '小时', '分钟', '秒'],
+    //     number: [365*24*60*60, 30*24*60*60, 7*24*60*60, 24*60*60, 60*60, 60, 1]
+    // }
+    var dataMap = {
+      zh: ['天', '小时', '分钟', '秒'],
+      number: [24 * 60 * 60, 60 * 60, 60, 1]
+    }
 
-            leftChain = []; //Todo: this can be cached
-            rightChain = [];
+    var timeString = ''
+    // 10天前
+    var tenDaysAgo = diffTimeStampAbsS > days11
+    // 是否是当天
+    var isCurrentDay = new Date(originTimeStamp).pattern('yyyy.MM.dd') === new Date().pattern('yyyy.MM.dd')
 
-            if (!compare2Objects(arguments[0], arguments[i])) {
-                return false;
-            }
-        }
+    var condition = !isCurrentDay
+    if (useOld) {
+      condition = tenDaysAgo
+    }
 
-        return true;
-    },
-    // 判断变量是否是数组
-    isArray: function (o){
-        return Object.prototype.toString.call(o) == '[object Array]';
-    },
-    // 数组对象根据某一个值进行从小到大冒泡排序
-    // arr 数组
-    // value 字符串
-    bSort: function (arr, value) {
-        var len = arr.length;
-        for (var i = 0; i < len - 1; i++) {
-            for (var j = 0; j < len - 1 - i; j++) {
-                // 相邻元素两两对比,元素交换,大的元素交换到后面
-                if (arr[j][value] > arr[j + 1][value]) {
-                    var temp = arr[j];
-                    arr[j] = arr[j + 1];
-                    arr[j + 1] = temp;
-                }
-            }
-        }
-        return arr;
-    },
-    // 数组去重
-    unique: function (arr) {
-        if (!this.isArray(arr)) {
-            console.log('type error!')
-            return
-        }
-        var array = [];
-        for (var i = 0; i < arr.length; i++) {
-            if (array .indexOf(arr[i]) === -1) {
-                array .push(arr[i])
-            }
-        }
-        return array
-    },
-    // 数组乱序
-    shuffle: function (arr) {
-        var targetArr = JSON.parse(JSON.stringify(arr || []))
-        var hitArr = []
-        var len = targetArr.length
-        for (var i = 0; i < len; i++) {
-            // 获取随机下标
-            var index = Math.floor(Math.random() * targetArr.length)
-            hitArr.push(targetArr[index])
-            targetArr.splice(index, 1)
-        }
-        return hitArr.concat(targetArr)
-    },
-    // 解决ios返回不刷新页面的问题
-    iosBackRefresh: 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 () {
-            isPageHide = true;
-        });
-    },
-    // ios返回调用函数
-    iosBackInvoke: function (callback) {
-        var isPageHide = false;
-        window.addEventListener('pageshow', function () {
-            if (isPageHide) {
-                callback && callback();
-            }
-        });
-        window.addEventListener('pagehide', function () {
-            isPageHide = true;
-        });
-    },
-    /**
-     * 格式化金钱的函数
-     * @param {number} s 金额必传
-     * @param {int:0-100} n 保留小数的位数(int:0-100)
-     */
-    formatMoney: function (s, n) {
-        if (n === undefined) {
-            n = -1
-        } else {
-            n = n > 0 && n <= 20 ? n : 2;
-        }
-        var intS = parseInt(s)
-        var point = '.'
-        var left;
-        var right;
-        s = parseFloat((s + '').replace(/[^\d\.-]/g, ''))
-        // 没传n,默认(如果为整数,则不保留小数。如果为浮点数,则保留两位小数)
-        if (n === -1) {
-            if (s === intS) {
-                n = 0
-                right = ''
-                point = ''
-            } else {
-                n = 2
-                s = s.toFixed(n);
-                right = s.split('.')[1];
-            }
-            s = s + ''
-            left = s.split('.')[0].split('').reverse();
-        } else {
-            s = parseFloat((s + '').replace(/[^\d\.-]/g, '')).toFixed(n) + '';
-            left = s.split('.')[0].split('').reverse();
-            right = s.split('.')[1];
-        }
+    if (condition) {
+      // 不是当天,则使用正常日期显示
+      var originDate = new Date(originTimeStamp)
+      var nowDate = new Date()
+      // 是否同年
+      var sameYear = originDate.getFullYear() === nowDate.getFullYear()
+      // 如果是当年,则不显示年
+      var patternString = sameYear ? 'MM-dd' : 'yyyy-MM-dd'
+      timeString = originDate.pattern(patternString)
+    } else {
+      for (var i = 0; i < dataMap.number.length; i++) {
+        var inm = Math.floor(diffTimeStampAbsS / dataMap.number[i])
+        if (inm != 0) {
+          timeString = inm + dataMap.zh[i] + postfix
+          break
+        }
+      }
+    }
+    return timeString
+  },
+  /**
+   * 输入框获取焦点,隐藏底部固定按钮方法
+   * @param {Array} inputs 传入输入框的DOM对象
+   * @param {Object} footer 按键弹起要隐藏的footer的 DOM对象
+   */
+  inputFocusHideFooter: function (inputs, footer) {
+    var isShowBtn = function (f) {
+      if (f) {
+        footer.style.display = ''
+      } else {
+        footer.style.display = 'none'
+      }
+    }
 
-        t = '';
-        for (i = 0; i < left.length; i++) {
-            t += left[i] + ((i + 1) % 3 == 0 && (i + 1) != left.length ? ',' : '');
-        }
+    // ios监听输入框的软键盘弹起和收起事件
+    if (this.isIos) {
+      inputs.forEach(function (item) {
+        item.addEventListener('focus', function () {
+          console.log('IOS 键盘弹出')
+          // IOS 键盘弹起后操作
+          isShowBtn(false)
+        }, false)
+
+        // IOS 键盘收起:IOS 点击输入框以外区域或点击收起按钮,输入框都会失去焦点,键盘会收起,
+        item.addEventListener('blur', function () {
+          console.log('IOS 键盘收起')
+          // IOS 键盘收起后操作
+          isShowBtn(true)
+        })
+      })
+    }
 
-        var money = t.split('').reverse().join('') + point + right;
-        return money;
-    },
-    // 金额大写,链接:https://juejin.im/post/5a2a7a5051882535cd4abfce
-    // upDigit(1682) result:"人民币壹仟陆佰捌拾贰元整"
-    // upDigit(-1693) result:"欠壹仟陆佰玖拾叁元整"
-    upPrice: function (n) {
-        var fraction = ['角', '分', '厘']
-        var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
-        var unit = [
-            ['元', '万', '亿'],
-            ['', '拾', '佰', '仟']
-        ]
-        // var head = n < 0 ? '欠人民币' : '人民币'
-        var head = ''
-        n = Math.abs(n)
-        var s = ''
-        for (var i = 0; i < fraction.length; i++) {
-            s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '')
-        }
-        s = s || '整'
-        n = Math.floor(n)
-        for (var i = 0; i < unit[0].length && n > 0; i++) {
-            var p = ''
-            for (var j = 0; j < unit[1].length && n > 0; j++) {
-                p = digit[n % 10] + unit[1][j] + p
-                n = Math.floor(n / 10)
-            }
-            s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s
-            // s = p + unit[0][i] + s;
-        }
-        return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整')
-    },
-    // 手机号中间4位加*
-    addConfusionForTel: function (tel) {
-        var reg = /^(\d{3})\d{4}(\d{4})$/
-        return tel.replace(reg, '$1****$2')
-    },
-    // 手机号加空格
-    addSpaceForTel: function (tel) {
-        var regMap = {
-            isConfuse: /^(\d{3})\*{4}(\d{4})$/,
-            addSpace: /^(\d{3})(\d{4})(\d{4})$/
-        }
-        var confusion = regMap.isConfuse.test(tel)
-        if (confusion) {
-            return tel.replace(regMap.isConfuse, '$1 **** $2')
+    // Android 键盘收起:Android 键盘弹起或收起页面高度会发生变化,以此为依据获知键盘收起
+    if (this.isAndroid) {
+      var clientHeight = document.documentElement.clientHeight || document.body.clientHeight
+      window.addEventListener('resize', function () {
+        var nowClientHeight = document.documentElement.clientHeight || document.body.clientHeight
+        if (clientHeight > nowClientHeight) {
+          // 键盘弹出的事件处理
+          console.log('Android 键盘弹出')
+          isShowBtn(false)
         } else {
-            return tel.replace(regMap.addSpace, '$1 $2 $3')
-        }
-    },
-    /**
-     * 时间戳转换 多少秒、多少分、多少小时前  昨天以及昨天之前的显示年月日(今年的时间不显示年份)
-     * @param {Date} originTime 要转换的时间对象(或者时间戳)
-     */
-    dateFromNow: function (originTime, useOld) {
-        if (!originTime) return
-        // 原始时间 - 传入的时间戳
-        var originTimeStamp = +new Date(originTime)
-        // 当前时间戳
-        var nowTimeStamp = +new Date()
-        // 时间戳相差多少
-        var diffTimeStamp = nowTimeStamp - originTimeStamp
-
-        var postfix = diffTimeStamp > 0 ? '前' : '后'
-        // 求绝对值 ms(毫秒)
-        var diffTimeStampAbsMs = Math.abs(diffTimeStamp)
-        var diffTimeStampAbsS = Math.round(diffTimeStampAbsMs / 1000)
-
-        // 10天的秒数
-        var days11 = 11 * 24 * 60 * 60
-        // var dataMap = {
-        //     zh: ['年', '个月', '星期', '天', '小时', '分钟', '秒'],
-        //     number: [365*24*60*60, 30*24*60*60, 7*24*60*60, 24*60*60, 60*60, 60, 1]
-        // }
-        var dataMap = {
-            zh: ['天', '小时', '分钟', '秒'],
-            number: [24 * 60 * 60, 60 * 60, 60, 1]
-        }
-
-        var timeString = ''
-        // 10天前
-        var tenDaysAgo = diffTimeStampAbsS > days11
-        // 是否是当天
-        var isCurrentDay = new Date(originTimeStamp).pattern('yyyy.MM.dd') === new Date().pattern('yyyy.MM.dd')
-
-        var condition = !isCurrentDay
-        if (useOld) {
-            condition = tenDaysAgo
+          console.log('Android 键盘收起')
+          // 键盘收起的事件处理
+          isShowBtn(true)
         }
+      }, false)
+    }
+  },
+  /**
+   * 通用关键字高亮替换
+   * @param {String} value 要高亮的字符串
+   * @param {String|Array} oldChar 要被替换的字符串(或数组)
+   * @param {String|Array} newChar 要替换成的字符串(或数组)
+   *
+   * 比如:要将 - `剑鱼标讯工具函数` 字符串中的 `工具` 高亮
+   * 则此时 value -> `剑鱼标讯工具函数`
+   *        oldChar -> `工具`
+   *        newChar -> `<span class="highlight-text">工具</span>`
+   *
+   * 批量高亮-----
+   * 比如:要将 - `剑鱼标讯工具函数` 字符串中的 `工具` `剑鱼` 高亮
+   * 则此时 value -> `剑鱼标讯工具函数批量高亮`
+   *        oldChar -> ['工具', '剑鱼']
+   *        newChar -> ['<span class="highlight-text">', '</span>']
+   *
+   *   注意:此时newChar为一个长度为2的数组,数组中为高亮标签的起始标签和结束标签
+   *
+   */
+  replaceKeyword: function (value, oldChar, newChar) {
+    var _this = this
+    if (!oldChar || !newChar) return value
+    // oldChar的字符串数组,用来循环替换
+    var oldCharArr = []
+
+    if (this.isArray(oldChar)) {
+      oldCharArr = oldChar.concat()
+    } else {
+      oldCharArr.push(oldChar)
+    }
 
-        if (condition) {
-            // 不是当天/10天前,则使用正常日期显示
-            var originDate = new Date(originTimeStamp)
-            var nowDate = new Date()
-            // 是否同年
-            var sameYear = originDate.getFullYear() === nowDate.getFullYear()
-            // 如果是当年,则不显示年
-            var patternString = sameYear ? 'MM-dd' : 'yyyy-MM-dd'
-            timeString = originDate.pattern(patternString)
-        } else {
-            for (var i = 0; i < dataMap.number.length; i++) {
-                var inm = Math.floor(diffTimeStampAbsS / dataMap.number[i])
-                if (inm != 0) {
-                    timeString = inm + dataMap.zh[i] + postfix
-                    break
-                }
-            }
-        }
-        return timeString
-    },
-    /**
-     * 输入框获取焦点,隐藏底部固定按钮方法
-     * @param {Array} inputs 传入输入框的DOM对象
-     * @param {Object} footer 按键弹起要隐藏的footer的 DOM对象
-     */
-    inputFocusHideFooter: function (inputs, footer) {
-        var isShowBtn = function (f) {
-            if (f) {
-                footer.style.display = ''
-            } else {
-                footer.style.display = 'none'
+    // 数组去重
+    oldCharArr = this.unique(oldCharArr)
+
+    try {
+      oldCharArr.forEach(function (item) {
+        // 去空格之后为空字符串,则直接跳过当前替换
+        if (item.replace(/\s+/g, '')) {
+          var oc = item
+          oc = oc.replace(/\$/g, '\\$')
+            .replace(/\(/g, '\\(')
+            .replace(/\)/g, '\\)')
+            .replace(/\*/g, '\\*')
+            .replace(/\+/g, '\\+')
+            .replace(/\./g, '\\.')
+            .replace(/\[/g, '\\[')
+            .replace(/\]/g, '\\]')
+            .replace(/\?/g, '\\?')
+            .replace(/\\/g, '\\')
+            .replace(/\//g, '\\/')
+            .replace(/\^/g, '\\^')
+            .replace(/\{/g, '\\{')
+            .replace(/\}/g, '\\}')
+            .replace(/\|/g, '\\|')
+
+          if (_this.isArray(newChar)) {
+            // 批量高亮
+            var tempV = value
+            value = value.replace(new RegExp('(' + oc + ')', 'gmi'), newChar[0] + oc + newChar[1])
+            if (value === tempV && oc.indexOf('+') !== -1) {
+              var splitReg = oc.split('\\+')
+              splitReg.map(function (v) {
+                value = value.replace(new RegExp('('+v+')', 'gmi'), newChar[0] + v + newChar[1])
+              })
             }
-        }
-
-        // ios监听输入框的软键盘弹起和收起事件
-        if (this.isIos) {
-            inputs.forEach(function (item) {
-                item.addEventListener('focus', function () {
-                    console.log('IOS 键盘弹出')
-                    // IOS 键盘弹起后操作
-                    isShowBtn(false)
-                }, false)
-
-                // IOS 键盘收起:IOS 点击输入框以外区域或点击收起按钮,输入框都会失去焦点,键盘会收起,
-                item.addEventListener('blur', function () {
-                    console.log('IOS 键盘收起')
-                    // IOS 键盘收起后操作
-                    isShowBtn(true)
-                })
-            })
-        }
+          } else {
+            // 普通单个高亮
+            value = value.replace(new RegExp('(' + oc + ')', 'gmi'), newChar)
+          }
+        }
+      })
+    } catch (e) {
+      console.log(e)
+      return value
+    }
+    return value
+  },
+  /**
+   * 批量删除sessionStorage中的数据
+   * @param {RegExp} reg 传入一个要匹配的正则表达式
+   */
+  clearBatchSessionStorage: function (reg) {
+    if (sessionStorage) {
+      var sessKeys = Object.keys(sessionStorage)
+      sessKeys.forEach(function (item) {
+        if (reg.test(item)) {
+          sessionStorage.removeItem(item)
+        }
+      })
+    }
+  },
+  /**
+   * 获取图片原始宽高
+   * @param {Image/Object} img
+   * @param {Function} callback
+   */
+  getImgNaturalDimensions: function (img, callback) {
+    var naturalSize = {}
+    if (img.naturalWidth && img.naturalHeight) { // 现代浏览器
+      naturalSize.with = img.naturalWidth
+      naturalSize.height = img.naturalHeight
+    } else { // IE6/7/8
+      var image = new Image()
+      image.src = img.src
+      image.onload = function() {
+        naturalSize.with = image.width
+        naturalSize.height = image.height
+        callback && callback(naturalSize)
+      }
+    }
+    return naturalSize
+  },
+  moneyUnit: function (num, type, lv) {
+    if (num === '' || num == null || num == undefined || isNaN(num)) return ''
+    var levelArr = ['元', '万元', '亿元', '万亿元']
+    if (type === void 0) {
+      type = 'string';
+    }
 
-        // Android 键盘收起:Android 键盘弹起或收起页面高度会发生变化,以此为依据获知键盘收起
-        if (this.isAndroid) {
-            var clientHeight = document.documentElement.clientHeight || document.body.clientHeight
-            window.addEventListener('resize', function () {
-                var nowClientHeight = document.documentElement.clientHeight || document.body.clientHeight
-                if (clientHeight > nowClientHeight) {
-                    // 键盘弹出的事件处理
-                    console.log('Android 键盘弹出')
-                    isShowBtn(false)
-                } else {
-                    console.log('Android 键盘收起')
-                    // 键盘收起的事件处理
-                    isShowBtn(true)
-                }
-            }, false)
-        }
-    },
-    /**
-     * 通用关键字高亮替换
-     * @param {String} value 要高亮的字符串
-     * @param {String|Array} oldChar 要被替换的字符串(或数组)
-     * @param {String|Array} newChar 要替换成的字符串(或数组)
-     *
-     * 比如:要将 - `剑鱼标讯工具函数` 字符串中的 `工具` 高亮
-     * 则此时 value -> `剑鱼标讯工具函数`
-     *        oldChar -> `工具`
-     *        newChar -> `<span class="highlight-text">工具</span>`
-     *
-     * 批量高亮-----
-     * 比如:要将 - `剑鱼标讯工具函数` 字符串中的 `工具` `剑鱼` 高亮
-     * 则此时 value -> `剑鱼标讯工具函数批量高亮`
-     *        oldChar -> ['工具', '剑鱼']
-     *        newChar -> ['<span class="highlight-text">', '</span>']
-     *
-     *   注意:此时newChar为一个长度为2的数组,数组中为高亮标签的起始标签和结束标签
-     *
-     */
-    replaceKeyword: function (value, oldChar, newChar) {
-        var _this = this
-        if (!oldChar || !newChar) return value
-        // oldChar的字符串数组,用来循环替换
-        var oldCharArr = []
-
-        if (this.isArray(oldChar)) {
-            oldCharArr = oldChar.concat()
-        } else {
-            oldCharArr.push(oldChar)
-        }
+    if (lv === void 0) {
+      lv = 0;
+    }
 
-        // 数组去重
-        oldCharArr = this.unique(oldCharArr)
-
-        try {
-            oldCharArr.forEach(function (item) {
-                // 去空格之后为空字符串,则直接跳过当前替换
-                if (item.replace(/\s+/g, '')) {
-                    var oc = item
-                    oc = oc.replace(/\$/g, '\\$')
-                        .replace(/\(/g, '\\(')
-                        .replace(/\)/g, '\\)')
-                        .replace(/\*/g, '\\*')
-                        .replace(/\+/g, '\\+')
-                        .replace(/\./g, '\\.')
-                        .replace(/\[/g, '\\[')
-                        .replace(/\]/g, '\\]')
-                        .replace(/\?/g, '\\?')
-                        .replace(/\\/g, '\\')
-                        .replace(/\//g, '\\/')
-                        .replace(/\^/g, '\\^')
-                        .replace(/\{/g, '\\{')
-                        .replace(/\}/g, '\\}')
-                        .replace(/\|/g, '\\|')
-
-                    if (_this.isArray(newChar)) {
-                        // 批量高亮
-                        var tempV = value
-                        value = value.replace(new RegExp('(' + oc + ')', 'gmi'), newChar[0] + oc + newChar[1])
-                        if (value === tempV && oc.indexOf('+') !== -1) {
-                          var splitReg = oc.split('\\+')
-                          splitReg.map(function (v) {
-                            value = value.replace(new RegExp('('+v+')', 'gmi'), newChar[0] + v + newChar[1])
-                          })
-                        }
-                    } else {
-                        // 普通单个高亮
-                        value = value.replace(new RegExp('(' + oc + ')', 'gmi'), newChar)
-                    }
-                }
-            })
-        } catch (e) {
-            console.log(e)
-            return value
-        }
-        return value
-    },
-    /**
-     * 批量删除sessionStorage中的数据
-     * @param {RegExp} reg 传入一个要匹配的正则表达式
-     */
-    clearBatchSessionStorage: function (reg) {
-        if (sessionStorage) {
-            var sessKeys = Object.keys(sessionStorage)
-            sessKeys.forEach(function (item) {
-                if (reg.test(item)) {
-                    sessionStorage.removeItem(item)
-                }
-            })
-        }
-    },
-    /**
-     * 获取图片原始宽高
-     * @param {Image/Object} img
-     * @param {Function} callback
-     */
-    getImgNaturalDimensions: function (img, callback) {
-        var naturalSize = {}
-        if (img.naturalWidth && img.naturalHeight) { // 现代浏览器
-            naturalSize.with = img.naturalWidth
-            naturalSize.height = img.naturalHeight
-        } else { // IE6/7/8
-            var image = new Image()
-            image.src = img.src
-            image.onload = function() {
-                naturalSize.with = image.width
-                naturalSize.height = image.height
-                callback && callback(naturalSize)
-            }
-        }
-        return naturalSize
-    },
-    moneyUnit: function (num, type, lv) {
-        if (num === '' || num == null || num == undefined || isNaN(num)) return ''
-        var levelArr = ['元', '万元', '亿元', '万亿元']
-        if (type === void 0) {
-            type = 'string';
-        }
+    if (num === 0) {
+      if (type === 'string') {
+        return '0';
+      }
 
-        if (lv === void 0) {
-            lv = 0;
-        }
+      if (type === 'lv') {
+        return levelArr[lv];
+      }
 
-        if (num === 0) {
-            if (type === 'string') {
-                return '0';
-            }
+      if (type === 'number') {
+        return 0;
+      }
 
-            if (type === 'lv') {
-                return levelArr[lv];
-            }
+      if (type === 'index') {
+        return lv;
+      }
+    }
 
-            if (type === 'number') {
-                return 0;
-            }
+    // 需要传入固定的lv(此时lv为 levelArr 中的一个)
+    function transfer (num, lvString) {
+      var index = levelArr.indexOf(lvString)
+      if (index === -1 || index === 0) {
+        return num
+      } else {
+        return (num / Math.pow(10000, index)).toFixed(2) + lvString
+      }
+    }
 
-            if (type === 'index') {
-                return lv;
-            }
-        }
+    if (type === 'transfer') {
+      return transfer(num, lv)
+    }
 
-        var result = num / Math.pow(10000, lv);
+    var result = num / Math.pow(10000, lv);
 
-        if (result > 10000 && lv < 2) {
-            return this.moneyUnit(num, type, lv + 1)
-        } else {
-            if (type === 'string') {
-                return String(Math.floor(result * 100) / 100).replace('.00', '') + levelArr[lv];
-            }
+    if (result > 10000 && lv < 2) {
+      return this.moneyUnit(num, type, lv + 1)
+    } else {
+      if (type === 'string') {
+        return String(Math.floor(result * 100) / 100).replace('.00', '') + levelArr[lv];
+      }
 
-            if (type === 'lv') {
-                return levelArr[lv];
-            }
+      if (type === 'lv') {
+        return levelArr[lv];
+      }
 
-            if (type === 'index') {
-                return lv;
-            }
+      if (type === 'index') {
+        return lv;
+      }
 
-            if (type === 'number') {
-                return String(Math.floor(result * 100) / 100).replace('.00', '');
-            }
-        }
-    },
-    /**
-     * 防抖
-     * @param {Function} func 函数
-     * @param {Number} delay 延时间隔 默认 200ms
-     * @param {Boolean} immediate 是否首次执行
-     */
-    debounce: function (func, delay, immediate){
-        var timer = null;
-        delay = delay || 200
-        return function() {
-            var context = this;
-            var args = arguments;
-            if(timer) clearTimeout(timer);
-            if(immediate){
-                var doNow = !timer;
-                timer = setTimeout(function(){
-                    timer = null;
-                },delay);
-                if(doNow){
-                    func.apply(context,args);
-                }
-            }else{
-                timer = setTimeout(function(){
-                    func.apply(context,args);
-                },delay);
-            }
-        }
+      if (type === 'number') {
+        return String(Math.floor(result * 100) / 100).replace('.00', '');
+      }
+    }
+  },
+  /**
+   * 防抖
+   * @param {Function} func 函数
+   * @param {Number} delay 延时间隔 默认 200ms
+   * @param {Boolean} immediate 是否首次执行
+   */
+  debounce: function (func, delay, immediate){
+    var timer = null;
+    delay = delay || 200
+    return function() {
+      var context = this;
+      var args = arguments;
+      if(timer) clearTimeout(timer);
+      if(immediate){
+        var doNow = !timer;
+        timer = setTimeout(function(){
+          timer = null;
+        },delay);
+        if(doNow){
+          func.apply(context,args);
+        }
+      }else{
+        timer = setTimeout(function(){
+          func.apply(context,args);
+        },delay);
+      }
     }
+  }
 }

+ 26 - 24
src/web/staticres/common-module/vipsubscribe/js/vip-subscribe-set-template.js

@@ -286,13 +286,11 @@ var subComponent = {
     }
   },
   mounted () {
-    let switchpro = sessionStorage.getItem('switch-product')
-    if(switchpro) {
-      if(switchpro == 'bigmember') {
-        this.accStatus = 2
-      } else if(switchpro == 'supervip') {
-        this.accStatus = 1
-      }
+    let pro = getParam('vSwitch')
+    if(pro === 'm') {
+      this.accStatus = 2
+    } else if (pro === 'v') {
+      this.accStatus = 1
     }
     this.getData()
     this.$emit('mounted')
@@ -308,11 +306,13 @@ var subComponent = {
         }
       }
     },
-    // vSwitch: function (val) {
-    //   if (val === 'f') {
-    //     this.getUserSubscribe()
-    //   }
-    // }
+    vSwitch: function (val) {
+      if(val == 'm') {
+        this.accStatus = 2
+      } else if(val == 'v') {
+        this.accStatus = 1
+      }
+    }
   },
   methods: {
     goToActive: function () {
@@ -392,7 +392,7 @@ var subComponent = {
     setArea: function() {
       let _this = this
       if(this.initdata.area) {
-        if(_this.accStatus == 2) {
+        if(_this.accStatus == 2 || _this.accStatus == 1) {
           sessionStorage.setItem('big-setArea', JSON.stringify(this.initdata.area))
         }
         if(JSON.stringify(this.initdata.area) === '{}') {
@@ -702,7 +702,12 @@ var subComponent = {
     },
     // 项目匹配问号点击事件
     projectNotice: function () {
-      var str = '开启后,系统将根据你订阅的关键词自动匹配出相关联的项目,并将相关联项目的后续动态在超级订阅内一并推送。'
+      if (this.vSwitch == 'm') {
+        this.accStatus = 2
+      } else if(this.vSwitch == 'v') {
+        this.accStatus = 1
+      }
+      var str = `开启后,系统将根据你订阅的关键词自动匹配出相关联的项目,并将相关联项目的后续动态在${this.accStatus==2 ? '大会员':'超级订阅'}内一并推送。`
       weui.alert(str, {
           title: '项目匹配',
           className: 'jy-alert',
@@ -915,15 +920,12 @@ var subComponent = {
       let keyArr = []
       let notKeyArr = []
       let matchway = this.initdata.matchway
-      let vt = 'v'
-      let switchpro = sessionStorage.getItem('switch-product')
-      if(switchpro) {
-        if(switchpro == 'bigmember') {
-          vt = 'm'
-        } else if(switchpro == 'supervip') {
-          vt = 'v'
-        }
-      }
+      // let vt = ''
+      // if (getParam('vSwitch')) {
+      //   vt = getParam('vSwitch')
+      // } else {
+      //   vt = 'f'
+      // }
       if (this.initdata.items) {
         this.initdata.items.forEach(function(item) {
           item.a_key.forEach(function(r) {
@@ -943,7 +945,7 @@ var subComponent = {
         data: {
           item: '',
           index: -1,
-          vt: vt
+          vt: _this.vSwitch
         },
         success: function(res) {
           if(_this.type == 'introduce') {

+ 110 - 0
src/web/staticres/js/common.js

@@ -702,3 +702,113 @@ function echoRequiredValues (target, now, keys) {
     return {}
   }
 }
+
+/**
+ *   ----S 金额转换 ---
+  *  @desc 同步金额转换函数-与PC、MOBILE 端其他项目保持一致,经过 babel 转化,原始代码参照其他项目
+  *  @date 2022-10-08 目前用于表格中预算、中标金额字段展示格式化
+ */
+
+/**
+ * 金额转换
+ * @param money 金额
+ * @param config
+ * @param config.type 类型 full | number | unit
+ * @param config.level 初始单位索引
+ * @param config.levelArr 单位数组 ['元', '万', '亿', '万亿']
+ * @param config.unit 计算单位 10000
+ * @param config.digit 精度,保留小数位数 2
+ * @param config.degrade 指定单位索引时,所需精度不够是否降级单位 false
+ * @returns {*|string|string|number}
+ */
+function recursiveCalculationMoney(money, config, start) {
+  if (config === void 0) {
+    config = {};
+  }
+
+  if (start === void 0) {
+    start = false;
+  }
+
+  var _Object$assign = Object.assign({
+      type: 'full',
+      level: 0,
+      levelArr: ['元', '万元', '亿元', '万亿元'],
+      digit: 2,
+      degrade: false,
+      unit: 10000
+    }, config),
+    type = _Object$assign.type,
+    level = _Object$assign.level,
+    levelArr = _Object$assign.levelArr,
+    unit = _Object$assign.unit,
+    digit = _Object$assign.digit,
+    degrade = _Object$assign.degrade; // 提取纯数字
+
+
+  var computMoney = String(money).match(/^\d+(\.\d+)?/g) || [0];
+  computMoney = Number(computMoney[0]); // 是否指定单位索引
+
+  var lockUnit = start && level > 0; // 判断是否需要递归单位
+
+  if (!lockUnit) {
+    var canNext = computMoney / Math.pow(unit, level + 1) >= 1 && level + 1 < levelArr.length;
+
+    if (canNext) {
+      return recursiveCalculationMoney(computMoney, {
+        type: type,
+        level: level + 1,
+        levelArr: levelArr,
+        digit: digit,
+        degrade: degrade,
+        unit: unit
+      });
+    }
+  } // 浮点数精度
+
+
+  var digitNumber = Math.pow(10, digit); // 指定单位索引时,如不满足精度要求,是否需要降级单位处理
+
+  var computLevel = level;
+  var needDegrade = degrade && computMoney * digitNumber < Math.pow(unit, level);
+
+  if (lockUnit && needDegrade) {
+    computLevel--;
+  } // 计算金额
+
+
+  computMoney = Number(String(Math.floor(computMoney / Math.pow(unit, computLevel) * digitNumber) / digitNumber)); // 返回结果
+
+  switch (type) {
+    case 'full':
+    {
+      if (computMoney === 0) {
+        return '';
+      } else {
+        return computMoney + levelArr[computLevel];
+      }
+    }
+
+    case 'unit':
+    {
+      return levelArr[computLevel];
+    }
+
+    case 'number':
+    {
+      return computMoney;
+    }
+  }
+}
+
+function tableFormatMoney(money, config) {
+  if (config === void 0) {
+    config = {};
+  }
+
+  return recursiveCalculationMoney(money, config, true);
+}
+
+/**
+ *   ----E 金额转换 ---
+ */

+ 10 - 16
src/web/staticres/js/superSearch.js

@@ -521,14 +521,11 @@ function appendDatas(datas,flag,isNew,onlyUpdateTable){
 		}
 
 		if(typeof(datas[i].budget) != "undefined" && datas[i].budget != null && datas[i].budget != ""){
-			var budget =parseInt(datas[i].budget)/10000
-			if(budget.toString().length>6){
-				if(budget.toString().indexOf(".")==5){
-					budget=budget.toString().substr(0,7)
-				}else{
-					budget=budget.toString().substr(0,6)
-				}
-			}
+      var budget = tableFormatMoney(datas[i].budget, {
+        type: 'number',
+        digit: 2,
+        level: 1
+      })
 			tableHtml += '<td class="tt-r" width="73"><div>'+budget+'</div></td>';
 		}else{
 			tableHtml += '<td class="tt-r" width="73"><div></div></td>';
@@ -550,14 +547,11 @@ function appendDatas(datas,flag,isNew,onlyUpdateTable){
 			tableHtml += '<td class="tt-l" width="174"><div></div></td>';
 		}
 		if(typeof(datas[i].bidamount) != "undefined" && datas[i].bidamount != null && datas[i].bidamount != ""){
-			var bidamount = parseInt(datas[i].bidamount)/10000;
-			if(bidamount.toString().length>6){
-				if(bidamount.toString().indexOf(".")==5){
-					bidamount=bidamount.toString().substr(0,7);
-				}else{
-					bidamount=bidamount.toString().substr(0,6);
-				}
-			}
+      var bidamount = tableFormatMoney(datas[i].bidamount, {
+        type: 'number',
+        digit: 2,
+        level: 1
+      })
 			tableHtml += '<td class="tt-r" width="76"><div>'+bidamount+'</div></td>';
 		}else{
 			tableHtml += '<td class="tt-r" width="76"><div></div></td>';

+ 1 - 1
src/web/staticres/me/js/mine.js

@@ -143,7 +143,7 @@ var mine = {
 
         // vipSub
         if (info.subscribeVip > 0) {
-            $('#vip-sub').attr('data-href', '/front/vipsubscribe/toSubVipSetPage')
+            $('#vip-sub').attr('data-href', '/front/vipsubscribe/toSubVipSetPage?vSwitch=v')
             $('.u-i-vip-logo').show()
         } else {
             $('#vip-sub').attr('data-href', '/front/vipsubscribe/introducePage')

+ 93 - 16
src/web/staticres/me/js/push_setting.js

@@ -49,6 +49,20 @@ var pushSettingConf = [
             pushMethod: true,
         },
     },
+    {
+
+      title: '大会员',
+      name: '大会员订阅',
+      field: 'member_subscribe',
+      pushState: 1,
+      show: false,
+      detailSettingsShow: {
+          rateMode: true,
+          pushMethod: true,
+          // 如果此参数是true,则需要在详情页data中额外配置同名参数进行使用(按需要自行配置)
+          detailsModuleOne: true,
+      }
+    },
 ]
 
 var pushSettingVueConf = {
@@ -157,6 +171,13 @@ var pushSettingVueConf = {
                     _this.settingList[0].show = true
                     _this.settingList[1].show = false
                 }
+                if (_this.userInfo.bigmemberVip > 0) {
+                  _this.settingList[0].show = false
+                  _this.settingList[4].show = true
+                } else {
+                  _this.settingList[0].show = true
+                  _this.settingList[4].show = false
+                }
             })
         },
         toSettingDetail: function (item) {
@@ -292,7 +313,7 @@ var pushDetailSettingConf = {
                     break
                 }
             }
-            if(this.type === 'super_subscribe') {
+            if(this.type === 'super_subscribe' || this.type === 'member_subscribe' ) {
                 this.rateModeList = [
                     {
                         value: 1,
@@ -382,11 +403,41 @@ var pushDetailSettingConf = {
                 }
             })
         },
+        getMemBerSubSettings: function () {
+          var _this = this
+          var loading = this.showLoading()
+          this.getRequestLoading = true
+          $.ajax({
+              type: 'GET',
+              url: '/bigmember/pushset/detail',
+              data: { item: _this.type },
+              success: function (res) {
+                if(res && res.error_code === 0) {
+                  _this.settingConf.ratemode = res.data.ratemode
+                  _this.settingConf.wxpush = !!res.data_wxpush
+                  _this.settingConf.mailpush = !!res.data.mailpush
+                  _this.settingConf.mail = res.data.mail
+                  // 转换并设置数据
+                  _this.setDataToPage(res.data)
+                }
+                  _this.$nextTick(function () {
+                      loading.clear()
+                      _this.getRequestLoading = false
+                  })
+              },
+              error: function (error) {
+                  console.log(error)
+                  _this.$toast('请求失败')
+              }
+          })
+      },
         getPushSettings: function () {
             if (this.type == 'free_subscribe') {
                 this.getFreeSubSettings()
             } else if (this.type == 'super_subscribe') {
                 this.getSuperSubSettings()
+            } else if (this.type == 'member_subscribe') {
+                this.getMemBerSubSettings()
             } else {
                 console.warn('未定义的type字段')
             }
@@ -408,21 +459,22 @@ var pushDetailSettingConf = {
                 if(power.indexOf(1) > -1) {
                     this.$set(this.detailsModuleOneConf, 'subscribe', !!r.subscribe)  // 订阅开关
                 }
-                if(power.indexOf(14) > -1) {
-                    this.$set(this.detailsModuleOneConf, 'follow_project', !!r.follow_project)  // 项目关注
-                }
-                if(power.indexOf(13) > -1) {//power.indexOf(4) > -1 || power.indexOf(12) > -1 || 
-                    this.$set(this.detailsModuleOneConf, 'follow_ent', !!r.follow_ent)  // 企业关注
-                }
-                if(power.indexOf(9) > -1) {
-                    this.$set(this.detailsModuleOneConf, 'newproject_forecast', !!r.newproject_forecast)  // 潜在项目预测
-                }
-                if(power.indexOf(10) > -1) {
-                    this.$set(this.detailsModuleOneConf, 'analy_report', !!r.analy_report)  // 周报月报
-                }
-                if (power.indexOf(12) > -1) {
-                    this.$set(this.detailsModuleOneConf, 'entinfo', !!r.entinfo)  // 企业情报
-                }
+                // 微信端没有以下功能,先不展示
+                // if(power.indexOf(14) > -1) {
+                //     this.$set(this.detailsModuleOneConf, 'follow_project', !!r.follow_project)  // 项目关注
+                // }
+                // if(power.indexOf(13) > -1) {//power.indexOf(4) > -1 || power.indexOf(12) > -1 || 
+                //     this.$set(this.detailsModuleOneConf, 'follow_ent', !!r.follow_ent)  // 企业关注
+                // }
+                // if(power.indexOf(9) > -1) {
+                //     this.$set(this.detailsModuleOneConf, 'newproject_forecast', !!r.newproject_forecast)  // 潜在项目预测
+                // }
+                // if(power.indexOf(10) > -1) {
+                //     this.$set(this.detailsModuleOneConf, 'analy_report', !!r.analy_report)  // 周报月报
+                // }
+                // if (power.indexOf(12) > -1) {
+                //     this.$set(this.detailsModuleOneConf, 'entinfo', !!r.entinfo)  // 企业情报
+                // }
             }
         },
         // 根据页面参数,获取应该发送的参数
@@ -538,6 +590,8 @@ var pushDetailSettingConf = {
                 this.saveFreeSubChange()
             } else if (this.type == 'super_subscribe') {
                 this.saveSuperSubChange()
+            } else if (this.type == 'member_subscribe') {
+                this.saveMemberSubChange()
             } else {
                 console.warn('未定义的type字段')
             }
@@ -606,5 +660,28 @@ var pushDetailSettingConf = {
                 }
             })
         },
+        saveMemberSubChange: function () {
+          var _this = this
+          var loading = this.showLoading()
+          var info = this.getNeedInfo()
+          $.ajax({
+              type: 'POST',
+              url: '/bigmember/pushset/update',
+              contentType: 'application/json;charset=utf-8',
+              data: JSON.stringify(info),
+              success: function (res) {
+                  loading.clear()
+                  if (res.error_code == 0 && res.data && res.data.status == 1) {
+                      
+                  } else {
+                      _this.$toast(res.error_msg)
+                  }
+              },
+              error: function (error) {
+                  console.log(error)
+                  _this.$toast('请求失败')
+              }
+          })
+        }
     }
 }

+ 8 - 1
src/web/staticres/public-pc/js/pc-bottom.js

@@ -2,9 +2,16 @@
  * 获取用户信息 (用于兼用旧页面使用 ajaxUserInfo)
  */
 function getNowUserInfo () {
+  if (!window.ajaxUserInfo) {
+    window.ajaxUserInfo = {
+      headImage: '',
+      nickName: '',
+      userId: '',
+    }
+  }
   $.post("/jypay/user/getSimpleData?t="+new Date().getTime(),{},function(r) {
     if (r) {
-      Object.keys(ajaxUserInfo).forEach(function (v) {
+      Object.keys(r).forEach(function (v) {
         if (r[v] && r[v] !== '') {
           ajaxUserInfo[v] = r[v]
         }

Різницю між файлами не показано, бо вона завелика
+ 1 - 0
src/web/staticres/vipsubscribe/css/vip_index_new.css


+ 143 - 39
src/web/staticres/vipsubscribe/js/keyWord.js

@@ -31,13 +31,6 @@ var vm = new Vue({
     scrollTop: 0 // 记录滚动高度
   },
   computed: {
-    getInfoUrl: function () {
-      if (this.vSwitch === 'v') {
-        return '/subscribepay/afterPay/getUserInfo'
-      } else {
-        return '/publicapply/free/subscribe'
-      }
-    },
     // 关键词是否达到上限
     fullKeys: function () {
       return this.filter.allKeywordsList.length >= this.conf.keywordMax
@@ -50,6 +43,18 @@ var vm = new Vue({
         return '新增关键词组'
       }
     },
+    getInfoUrl: function () {
+      // 超级订阅v/大会员m
+      if (this.vSwitch === 'm') {
+        return '/bigmember/use/info'
+      } else if (this.vSwitch === 'v') {
+        return '/subscribepay/afterPay/getUserInfo'
+      } else if (this.vSwitch === 's') {
+        return '/entnicheNew/subscribe/key/get'
+      } else {
+        return '/publicapply/free/subscribe'
+      }
+    },
     keyListSorted: function () {
       return this.filter.keywordsList.sort(function (a, b) {
         return b.updatetime - a.updatetime
@@ -78,7 +83,10 @@ var vm = new Vue({
     this.getSwitchType()
     this.getKeywordsGroupList(true)
   },
-  mounted: function () {},
+  mounted: function () {
+    // 清除大会员初始化缓存
+    localStorage.removeItem('big_member_save_init_big_data_nov')
+  },
   methods: {
     showLoading: function () {
       return this.$toast.loading({
@@ -125,21 +133,41 @@ var vm = new Vue({
       }
     },
     getSwitchType: function () {
+      var vSwitch = utils.getParam('vSwitch')
+      if (vSwitch) {
+        this.vSwitch = vSwitch
+      } else {
+        this.ajaxSwitchFun()
+      }
+      // 微信端无商机管理订阅
+      if (this.vSwitch !== 's') {
+        this.ajaxSwitchFun(vSwitch)
+      } else {
+        this.vSwitch = 'f'
+      }
+    },
+    ajaxSwitchFun: function (n) {
+      let dataS = ''
+      if(n) {
+        dataS = n
+      }
       $.ajax({
         type: 'POST',
         url: '/publicapply/subscribe/vipSwitch',
         async: false,
+        data: {
+          vt: dataS
+        },
         success: function (res) {
-          this.vSwitch = res.data.vt || 'f'
-          if (this.vSwitch === 'm') {
-            this.vSwitch = 'f'
+          if (res && res.data) {
+            this.vSwitch = res.data.vt || 'f'
           }
         }.bind(this)
       })
     },
     getKeywordsGroupList: function (needLoading) {
       var _this = this
-      if (needLoading)  {
+      if (needLoading) {
         var loading = this.showLoading()
       }
       $.ajax({
@@ -150,14 +178,29 @@ var vm = new Vue({
             loading && loading.clear()
           }
           if (res) {
+            // 关键词组数组
             var kList = []
-            if (_this.vSwitch === 'v') {
+
+            // 初始化一些数据,并取出kList的值
+            if (_this.vSwitch === 'm') {
+              _this.userData = res.data
+              if (res.data && res.data.member_jy) {
+                var memberConf = res.data.member_jy
+                if (memberConf) {
+                  kList = res.data.member_jy.a_items || []
+                  // 关键词弹窗提醒 fasle:需要弹窗 true:不需要弹窗
+                  if (!memberConf.b_keytip) {
+                    _this.dialog.upgrade = true
+                  }
+                }
+              }
+            } else if (_this.vSwitch === 'v') {
               _this.userData = res.userData
               if (res.userData) {
-                _this.tip.i_vip_fastimport = res.userData.i_vip_fastimport
+                _this.tip.i_vip_fastimport = res.userData.i_vip_fastimport // 是否显示快速导入
                 _this.tip.ordinarykc = res.userData.ordinarykc
                 // 关键词弹窗提醒 fasle:需要弹窗 true:不需要弹窗
-                 if (res.userData && !res.userData.b_keytip) {
+                if (res.userData && !res.userData.b_keytip) {
                   _this.dialog.upgrade = true
                 }
               }
@@ -165,6 +208,27 @@ var vm = new Vue({
               if (res.userData && res.userData.o_vipjy) {
                 kList = res.userData.o_vipjy.a_items || []
               }
+            } else if (_this.vSwitch === 's') {
+              _this.userData = res.data.data
+              if (res.data.data) {
+                if (res.data.data.length !== 0) {
+                  res.data.data.forEach(function (item, index) {
+                    item.groupIndex = index
+                  })
+                }
+                _this.userData = res.data.data
+                // _this.tip.i_vip_fastimport = res.userData.i_vip_fastimport // 是否显示快速导入
+                // _this.tip.ordinarykc = res.userData.ordinarykc
+                // 关键词弹窗提醒 fasle:需要弹窗 true:不需要弹窗
+                // if (res.data.data) {
+                //   _this.dialog.upgrade = true
+                // }
+                _this.dialog.upgrade = false
+              }
+              // 关键词赋值
+              if (res.data.data) {
+                kList = res.data.data || []
+              }
             } else {
               // 免费用户
               _this.conf.keywordMax = 10
@@ -333,12 +397,22 @@ var vm = new Vue({
         // gIndex: groupIndex 该关键词所在分类 在分类列表中的索引
         // kIndex: keyIndex 该关键词在其所在分类中的索引
         this.savePageState()
-        location.href = `/front/vipsubscribe/toSetinfoPage?type=edit&gIndex=${item.groupIndex}&kIndex=${item.keyIndex}`
+        var vSwitch = this.vSwitch
+        var href = `/front/vipsubscribe/toSetinfoPage?type=edit&gIndex=${item.groupIndex}&kIndex=${item.keyIndex}`
+        if (vSwitch) {
+          href += `&vSwitch=${vSwitch}`
+        }
+        location.href = href
       }
     },
     batchDeleteStateChange: function () {
       this.batchDeleteState = !this.batchDeleteState
     },
+    changeCheckState: function (f) {
+      this.filter.keywordsList.forEach(function (item) {
+        item.checked = f
+      })
+    },
     batchDelete: function () {
       var _this = this
       if (this.selectedCount <= 0) return
@@ -350,9 +424,9 @@ var vm = new Vue({
         console.log('确认批量删除关键词')
         _this.batchDeleteConfirmed()
       })
-      .catch(function() {
-        console.log('取消批量删除关键词')
-      })
+        .catch(function () {
+          console.log('取消批量删除关键词')
+        })
     },
     getSelectedArr: function () {
       var selectedArr = []
@@ -390,23 +464,56 @@ var vm = new Vue({
       if (Object.keys(deleteKey).length === 0) return
       var loading = this.showLoading()
       var _this = this
+      let data = {
+        vSwitch: this.vSwitch,
+        pageType: 'keyWords',
+        actionType: 'DK',
+        delete_key: JSON.stringify(deleteKey)
+      }
+      let delUrl = '/publicapply/subscribe/setUserInfo'
+      if (this.vSwitch == 's') {
+        delUrl = '/entnicheNew/subscribe/key/update'
+        Object.keys(deleteKey).forEach(function (r, index) {
+          _this.userData.forEach(function (uitem, i) {
+            if (r == i) {
+              if (deleteKey[r].indexOf(',') != -1) {
+                let keyiList = deleteKey[r].split(',')
+                keyiList = keyiList.sort((a, b) => {
+                  return b - a
+                })
+                keyiList.forEach(function (de, dindex) {
+                  console.log(de)
+                  uitem.a_key.splice(de, 1)
+                })
+              } else {
+                uitem.a_key.splice(deleteKey[r], 1)
+              }
+            }
+          })
+        })
+        data = {
+          a_items: _this.userData,
+          update_item: {
+            after: '',
+            before: ''
+          }
+        }
+        data = JSON.stringify(data)
+      }
       $.ajax({
-        url: '/publicapply/subscribe/setUserInfo',
+        url: delUrl,
         type: 'POST',
-        data: {
-          vSwitch: this.vSwitch,
-          pageType: 'keyWords',
-          actionType: 'DK',
-          delete_key: JSON.stringify(deleteKey)
-        },
+        data: data,
+        contentType: this.vSwitch == 's' ? 'application/json' : 'application/x-www-form-urlencoded',
         success: function (res) {
           loading && loading.clear()
-          if (res.flag) {
+          if (res.flag || res.data.status == 1) {
             _this.showToast('删除成功')
-            _this.getKeywordsGroupList()
+            // _this.getKeywordsGroupList(true)
             _this.batchDeleteState = false
+            location.reload()
           } else {
-            _this.showToast(res.msg ? res.msg : '删除失败' )
+            _this.showToast(res.msg ? res.msg : '删除失败')
           }
         },
         error: function () {
@@ -474,6 +581,8 @@ var vm = new Vue({
         confirmButtonText: '删除',
         className: 'j-confirm-dialog text-center'
       }).then(function () {
+        // 其他选中全部取消
+        _this.changeCheckState(false)
         // 点击确定,将当前关键词在批量选选择中,选中
         key.checked = true
         _this.batchDeleteConfirmed()
@@ -484,7 +593,7 @@ var vm = new Vue({
     // 根据分类名,得到分类索引
     getGroupIndexWithGroupName: function (gn) {
       var groupIndex = -1
-      this.keywordsGroupList.forEach(function(item) {
+      this.keywordsGroupList.forEach(function (item) {
         if (gn === item.s_item) {
           groupIndex = item.groupIndex
         }
@@ -512,12 +621,12 @@ var vm = new Vue({
 
       this.savePageState()
       var queryString = this.qsStringify(query)
-      location.href = '/front/vipsubscribe/toSetinfoPage' + '?' + queryString
+      location.href = '/front/vipsubscribe/toSetinfoPage' + '?' + queryString + '&vSwitch=' + this.vSwitch
     },
     toKeyManagePage: function () {
       this.filter.pickerShow = false
       this.savePageState()
-      location.href = '/front/vipsubscribe/toSetmanagePage'
+      location.href = '/front/vipsubscribe/toSetmanagePage?vSwitch=' + this.vSwitch
     },
     toBuyVIPService: function () {
       this.savePageState()
@@ -531,6 +640,7 @@ var vm = new Vue({
     fastImport: function () {
       var _this = this
       var loading = this.showLoading()
+      // 超级订阅快速导入
       $.ajax({
         type: 'POST',
         url: '/subscribepay/afterPay/fastImport',
@@ -546,11 +656,6 @@ var vm = new Vue({
           } else {
             _this.showToast('导入失败')
           }
-          try {
-            JyObj.checkLab(); //刷新搜索首页和订阅首页
-            sessionStorage.reloadHomePage = true;
-            sessionStorage.reloadSubPage = true;
-          } catch (e) {}
         },
         error: function () {
           loading && loading.clear()
@@ -562,13 +667,12 @@ var vm = new Vue({
         type: 'POST',
         url: '/publicapply/subscribe/setUserInfo',
         data: {
-          vSwitch: this.vSwitch,
           pageType: 'keytip'
         }
       })
     },
     completeToEdit: function () {
-      location.href = '/front/vipsubscribe/toSubVipSetPage'
+      history.back()
     },
     // 恢复数据
     restoreState: function () {

+ 250 - 83
src/web/staticres/vipsubscribe/js/keyword-info.js

@@ -55,8 +55,12 @@ var vm = new Vue({
   },
   computed: {
     getInfoUrl: function () {
-      if (this.vSwitch === 'v') {
+      if (this.vSwitch === 'm') {
+        return '/bigmember/use/info'
+      } else if (this.vSwitch === 'v') {
         return '/subscribepay/afterPay/getUserInfo'
+      } else if (this.vSwitch === 's') {
+        return '/entnicheNew/subscribe/key/get'
       } else {
         return '/publicapply/free/subscribe'
       }
@@ -167,24 +171,28 @@ var vm = new Vue({
       return this.$dialog.confirm(defaultConf)
     },
     getSwitchType: function () {
-      $.ajax({
-        type: 'POST',
-        url: '/publicapply/subscribe/vipSwitch',
-        async: false,
-        success: function (res) {
-          this.vSwitch = res.data.vt || 'f'
-          if (this.vSwitch === 'm') {
-            this.vSwitch = 'f'
-          }
-        }.bind(this)
-      })
+      var vSwitch = utils.getParam('vSwitch')
+      if (vSwitch) {
+        this.vSwitch = vSwitch
+      } else{
+        $.ajax({
+          type: 'POST',
+          url: '/publicapply/subscribe/vipSwitch',
+          async: false,
+          success: function (res) {
+            if (res && res.data) {
+              this.vSwitch = res.data.vt || 'f'
+            }
+          }.bind(this)
+        })
+      }
     },
     getPushCount: function () {
       var _this = this
       // 全部关键词-推送结果预览总数参数:item值为空 index值为-1
       // 某个关键词组-推送结果预览总数参数:item值不为空 index值大于等于0
       $.ajax({
-        url: '/subscribepay/afterPay/keyset/getPushCount',
+        url: '/publicapply/subscribe/keyset/getPushCount',
         type: 'POST',
         data: {
           key: this.keyInfo.key.trim().replace(/\s+/g, ' '),
@@ -213,52 +221,72 @@ var vm = new Vue({
       }
       $.ajax({
         type: 'POST',
-        url: this.getInfoUrl + '?t=' + Date.now(),
+        url: _this.getInfoUrl + '?t=' + Date.now(),
         async: defaultOptions.async,
         success: function (res) {
           if (defaultOptions.needLoading) {
             loading && loading.clear()
           }
-
-          var kList = []
-          if (_this.vSwitch === 'v') {
-            // 关键词赋值
-            if (res.userData && res.userData.o_vipjy) {
-              kList = res.userData.o_vipjy.a_items || []
-            }
-          } else {
-            // 免费用户
-            _this.conf.keywordMax = 10
-            _this.userData = res.data
-            // 关键词赋值
-            if (res.data && res.data.keys) {
-              try {
-                var a_key = res.data.keys || []
-                kList = [
-                  {
-                    a_key: a_key,
-                    s_item: '未分类'
-                  }
-                ]
-              } catch (error) {
-                kList = []
-                console.log(error)
+          if (res) {
+            // 关键词组数组
+            var kList = []
+            // 初始化一些数据,并取出kList的值
+            if (_this.vSwitch === 'm') {
+              _this.userData = res.data
+              if (res.data && res.data.member_jy) {
+                kList = res.data.member_jy.a_items || []
+              }
+            } else if (_this.vSwitch === 'v') {
+              _this.userData = res.userData
+              // 关键词赋值
+              if (res.userData && res.userData.o_vipjy) {
+                kList = res.userData.o_vipjy.a_items || []
+              }
+            } else if (_this.vSwitch === 's') {
+              _this.userData = res.data
+              // 关键词赋值
+              if (res.data && res.data.data) {
+                res.data.data.forEach(function(item, index) {
+                  item.a_key.forEach(function(sum, i) {
+                    sum.groupIndex = i
+                  })
+                })
+                _this.userData = res.data
+                kList = res.data.data || []
+              }
+            } else {
+              // 免费用户
+              _this.conf.keywordMax = 10
+              _this.userData = res.data
+              // 关键词赋值
+              if (res.data && res.data.keys) {
+                try {
+                  var a_key = res.data.keys || []
+                  kList = [
+                    {
+                      a_key: a_key,
+                      s_item: '未分类'
+                    }
+                  ]
+                } catch (error) {
+                  kList = []
+                  console.log(error)
+                }
               }
             }
-          }
 
-          if (kList.length) {
-            // 整理数据
-            var groupList = _this.addInfoToKeyItem(kList)
-            var groupNameList = _this.getGroupNameList(groupList)
-            _this.keywordsGroupList = groupList
-            _this.groupNameList = groupNameList
-            _this.allKeywordsList = _this.filterKeywordsList()
-            // 整理数据
-            if (_this.pInfo.editType === 'edit') {
-              _this.getKeyInfoFromIndex()
+            if (kList.length) {
+              // 整理数据
+              var groupList = _this.addInfoToKeyItem(kList)
+              var groupNameList = _this.getGroupNameList(groupList)
+              _this.keywordsGroupList = groupList
+              _this.groupNameList = groupNameList
+              _this.allKeywordsList = _this.filterKeywordsList()
+              if (_this.pInfo.editType === 'edit') {
+                _this.getKeyInfoFromIndex()
+              }
+              defaultOptions.callback && defaultOptions.callback()
             }
-            defaultOptions.callback && defaultOptions.callback()
           }
         },
         error: function () {
@@ -408,18 +436,30 @@ var vm = new Vue({
       var deleteKey = {
         [this.pInfo.gIndex]: this.pInfo.kIndex
       }
+      let delUrl = '/publicapply/subscribe/setUserInfo'
+      let data = {
+        vSwitch: this.vSwitch,
+        pageType: 'keyWords',
+        actionType: 'DK',
+        delete_key: JSON.stringify(deleteKey)
+      }
+      if(this.vSwitch == 's') {
+        delUrl = '/entnicheNew/subscribe/key/update'
+        this.pInfo.gIndex = Number(this.pInfo.gIndex)
+        let ad = this.userData.data[this.pInfo.gIndex]
+        this.userData.data[this.pInfo.gIndex].a_key.splice(this.pInfo.kIndex, 1)
+        data = JSON.stringify({
+          a_items: this.userData.data,
+        })
+      }
       $.ajax({
-        url: '/publicapply/subscribe/setUserInfo',
+        url: delUrl,
         type: 'POST',
-        data: {
-          vSwitch: this.vSwitch,
-          pageType: 'keyWords',
-          actionType: 'DK',
-          delete_key: JSON.stringify(deleteKey)
-        },
+        data: data,
+        contentType: this.vSwitch == 's' ? 'application/json' : 'application/x-www-form-urlencoded',
         success: function (res) {
           loading && loading.clear()
-          if (res.flag) {
+          if (res.flag || res.data.status == 1) {
             _this.showToast('删除成功')
             setTimeout(function () {
               history.back()
@@ -479,7 +519,6 @@ var vm = new Vue({
         url: '/publicapply/subscribe/setUserInfo',
         async: false,
         data: {
-          vSwitch: this.vSwitch,
           pageType: 'keyWords',
           actionType: 'SC',
           classify_name: groupName
@@ -546,39 +585,165 @@ var vm = new Vue({
       }
 
       var loading = this.showLoading()
-
+      var upUrl = '/publicapply/subscribe/setUserInfo'
+      if(this.vSwitch == 's') {
+        if(!this.userData.data) {
+          this.userData.data = []
+        }
+        if($.isArray(this.userData.data) && this.userData.data.length == 0) {
+          var objinit = {
+            "a_key": [],
+            "s_item": "未分类",
+            groupIndex: 0,
+            updatetime: 0
+          }
+          this.userData.data.push(objinit)
+        }
+        var iscopybool = false
+        this.userData.data.map((item) => {
+          if(item.groupIndex == utils.getParam('gIndex')) {
+            var keylist = _this.keyInfo.key.trim().replace(/\s+/g, ' ')
+            if(keylist) {
+
+              keylist = _this.keyInfo.key.trim().replace(/\s+/g, ' ').split(' ')
+              for(var i=0;i<keylist.length;i++){
+                if (keylist[i]==keylist[i+1]){
+                  _this.showDialog({
+                    title: '',
+                    message: '该组关键词已存在,请勿重复添加',
+                    className: 'j-confirm-dialog text-center',
+                    showConfirmButton: true,
+                    showCancelButton: false,
+                    confirmButtonText: '我知道了'
+                  })
+                  return
+                }
+              }
+            }
+            const entparam = {
+              appendkey: [],
+              groupName: this.userData.data[item.groupIndex].s_item,
+              key: [_this.keyInfo.key.trim().replace(/\s+/g, ' ')],
+              matchway: _this.keyInfo.matchWay,
+              notkey: [_this.keyInfo.notKey?_this.keyInfo.notKey.trim().replace(/\s+/g, ' '): ''],
+              updatetime: 0
+            }
+            item.a_key.forEach(function(a) {
+              let iscopy = _this.isObjectValueEqual(a, entparam)
+              if(!iscopy) {
+                _this.showDialog({
+                  title: '',
+                  message: '该组关键词已存在,请勿重复添加',
+                  className: 'j-confirm-dialog text-center',
+                  showConfirmButton: true,
+                  showCancelButton: false,
+                  confirmButtonText: '我知道了'
+                })
+                iscopybool = true
+              }
+            })
+            if(this.pInfo.editType == 'add') {
+              item.a_key.unshift(entparam)
+            } else {
+              item.a_key[this.pInfo.kIndex] = entparam
+            }
+          } else if(this.userData.data.length == 0) {
+            const entparam = {
+              appendkey: [],
+              groupName: this.userData.data[0].s_item,
+              key: [_this.keyInfo.key.trim().replace(/\s+/g, ' ')],
+              matchway: _this.keyInfo.matchWay,
+              notkey: [_this.keyInfo.notKey?_this.keyInfo.notKey.trim().replace(/\s+/g, ' '): ''],
+              updatetime: 0
+            }
+            if(this.pInfo.editType == 'add') {
+              item.a_key.unshift(entparam)
+            } else {
+              item.a_key[this.pInfo.kIndex] = entparam
+            }
+          }
+        })
+        params = {
+          a_items: this.userData.data
+        }
+        params = JSON.stringify(params)
+        upUrl = '/entnicheNew/subscribe/key/update'
+      }
+      if(iscopybool) {
+        loading && loading.clear()
+        return
+      }
       $.ajax({
-        url: '/publicapply/subscribe/setUserInfo',
+        url: upUrl,
         type: 'POST',
         traditional: true,
+        contentType: this.vSwitch == 's'?'application/json' : 'application/x-www-form-urlencoded',
         data: params,
         success: function (res) {
           loading && loading.clear()
-          if (res.flag) {
-            _this.showToast('保存成功')
-            setTimeout(function () {
-              history.back()
-            }, 1500)
+          if(_this.vSwitch == 's') {
+            if(res.error_code === 0) {
+              if(res.data.status == 1) {
+                _this.showToast('保存成功')
+                setTimeout(function () {
+                  history.back()
+                }, 1500)
+              } else {
+
+              }
+            }
           } else {
-            if (res.msg.indexOf('存在') !== -1) {
-              _this.showDialog({
-                title: '',
-                message: '该组关键词已存在,请勿重复添加',
-                className: 'j-confirm-dialog text-center',
-                showConfirmButton: true,
-                showCancelButton: false,
-                confirmButtonText: '我知道了'
-              })
+            if (res.flag) {
+              _this.showToast('保存成功')
+              setTimeout(function () {
+                history.back()
+              }, 1500)
             } else {
-              _this.showToast(res.msg ? res.msg : '保存失败')
+              if (res.msg.indexOf('存在') !== -1) {
+                _this.showDialog({
+                  title: '',
+                  message: '该组关键词已存在,请勿重复添加',
+                  className: 'j-confirm-dialog text-center',
+                  showConfirmButton: true,
+                  showCancelButton: false,
+                  confirmButtonText: '我知道了'
+                })
+              } else {
+                _this.showToast(res.msg ? res.msg : '保存失败')
+              }
             }
           }
         },
-        error: function () {
+        error: function (error) {
           loading && loading.clear()
         }
       })
     },
+    // 判断关键词是否重复
+    isObjectValueEqual(a, b) {
+      let keyCopyArr = []
+      if(a.groupName == b.groupName) {
+        keyCopyArr.push(true)
+      } else {
+        keyCopyArr.push(false)
+      }
+      if(a.matchway == b.matchway) {
+        keyCopyArr.push(true)
+      } else {
+        keyCopyArr.push(false)
+      }
+      if(a.key.length==b.key.length && a.key.every(function(v,i) { return v === b.key[i]})) {
+        keyCopyArr.push(true)
+      } else {
+        keyCopyArr.push(false)
+      }
+      if(a.notkey.length == b.notkey.length && a.notkey.every(function(v,i) { return v === b.notkey[i]})) {
+        keyCopyArr.push(true)
+      } else {
+        keyCopyArr.push(false)
+      }
+      return keyCopyArr.includes(false)
+     },
     // 获取关键词推荐
     getKeyRecommend: function () {
       var _this = this
@@ -628,16 +793,19 @@ var vm = new Vue({
 
       if (keysArr.length === 0) return
 
+      if (this.recListState.loading) return
+      this.recListState.loading = true
+
       var fetchData = {
         count: 20, // 最少需要多少条数据
         value: utils.unique(keysArr).join(' ')
       }
-
-      if (this.recListState.loading) return
-      this.recListState.loading = true
-
+      var kurl = '/member/getRecomKWs'
+      if(this.vSwitch == 's') {
+        kurl = '/entnicheNew/customer/getRecomKWs'
+      }
       $.ajax({
-        url: '/member/getRecomKWs',
+        url: kurl,
         type: 'POST',
         data: fetchData,
         success: function (r) {
@@ -657,7 +825,6 @@ var vm = new Vue({
       this.recListState.total = 0
 
       var afterFilterArr = this.filterKeyRecommend(list)
-      this.recommendTags = afterFilterArr.slice(0, this.conf.recommendTagsCount)
 
       this.recListState.listAll = afterFilterArr
       this.recListState.count = afterFilterArr.length

+ 141 - 24
src/web/staticres/vipsubscribe/js/keyword-manage.js

@@ -2,10 +2,11 @@ var vm = new Vue({
   delimiters: ['${', '}'],
   el: '#app',
   data: {
+    vSwitch: 'v', // 超级订阅v/大会员m
     batchDeleteState: false, // 是否在批量删除状态
     userData: {}, // getUserInfo接口用户原始数据
-    groupNameList: [],
     keywordsGroupList: [],
+    groupNameList: [],
     listState: {
       loaded: false
     },
@@ -19,6 +20,16 @@ var vm = new Vue({
     },
   },
   computed: {
+    getInfoUrl: function () {
+      // 超级订阅v/大会员m
+      var url = '/subscribepay/afterPay/getUserInfo'
+      if (this.vSwitch === 'm') {
+        url = '/bigmember/use/info'
+      } else if(this.vSwitch === 's') {
+        url = '/entnicheNew/subscribe/key/get'
+      }
+      return url
+    },
     groupNameListSorted: function () {
       return this.groupNameList.sort(function (a, b) {
         return b.updatetime - a.updatetime
@@ -45,6 +56,7 @@ var vm = new Vue({
     }
   },
   created: function () {
+    this.getSwitchType()
     this.getKeywordsGroupList(true)
   },
   mounted: function () {},
@@ -77,6 +89,23 @@ var vm = new Vue({
       }
       return this.$dialog.confirm(defaultConf)
     },
+    getSwitchType: function () {
+      var vSwitch = utils.getParam('vSwitch')
+      if (vSwitch) {
+        this.vSwitch = vSwitch
+      } else{
+        $.ajax({
+          type: 'POST',
+          url: '/publicapply/subscribe/vipSwitch',
+          async: false,
+          success: function (res) {
+            if (res && res.data) {
+              this.vSwitch = res.data.vt || 'f'
+            }
+          }.bind(this)
+        })
+      }
+    },
     getKeywordsGroupList: function (needLoading) {
       var _this = this
       if (needLoading) {
@@ -84,20 +113,47 @@ var vm = new Vue({
       }
       $.ajax({
         type: 'POST',
-        url: '/subscribepay/afterPay/getUserInfo?t=' + Date.now(),
+        url: this.getInfoUrl + '?t=' + Date.now(),
         success: function (res) {
           if (needLoading) {
             loading && loading.clear()
           }
-          if (res && res.userData) {
-            _this.userData = res.userData
-            if (res.userData && res.userData.o_vipjy) {
-              // 整理数据
-              var groupList = _this.addInfoToKeyItem(res.userData.o_vipjy.a_items)
-              var groupNameList = _this.getGroupNameList(groupList)
-              _this.keywordsGroupList = groupList
-              _this.groupNameList = groupNameList
+          if (res) {
+            // 关键词组数组
+            var kList = []
+
+            // 初始化一些数据,并取出kList的值
+            if (_this.vSwitch === 'm') {
+              _this.userData = res.data
+              if (res.data && res.data.member_jy) {
+                kList = res.data.member_jy.a_items || []
+              }
+            } else if (_this.vSwitch === 'v') {
+              _this.userData = res.userData
+              // 关键词赋值
+              if (res.userData && res.userData.o_vipjy) {
+                kList = res.userData.o_vipjy.a_items || []
+              }
+            } else if(_this.vSwitch === 's') {
+              // 关键词赋值
+              if (res.data.data) {
+                if(res.data.data.length !==0 ) {
+                  res.data.data.forEach(function(item, index) {
+                    item.groupIndex = index
+                  })
+                }
+                _this.userData = res.data.data
+                kList = res.data.data || []
+              } else {
+                this.userData = []
+              }
             }
+
+            // 整理数据
+            var groupList = _this.addInfoToKeyItem(kList)
+            var groupNameList = _this.getGroupNameList(groupList)
+            _this.keywordsGroupList = groupList
+            _this.groupNameList = groupNameList
           }
         },
         error: function () {
@@ -230,17 +286,41 @@ var vm = new Vue({
       var selectedIndexArr = this.getSelectIndexArr()
       var loading = this.showLoading()
       var _this = this
+      let delUrl = '/publicapply/subscribe/setUserInfo'
+      let data = {
+        pageType: 'keyWords',
+        actionType: 'DC',
+        classify_index: selectedIndexArr.join(',')
+      }
+      if(this.vSwitch == 's') {
+        selectedIndexArr.sort((a, b) => {
+          return b - a
+        })
+        delUrl = '/entnicheNew/subscribe/key/update'
+        for( let i=0; i<= selectedIndexArr.length; i++) {
+          _this.userData.forEach(function(item, index) {
+            if(selectedIndexArr[i] == item.groupIndex) {
+              _this.userData.splice(item.groupIndex, 1)
+            }
+          })
+        }
+        data = {
+          a_items: this.userData,
+          update_item: {
+            after: '',
+            before: ''
+          }
+        }
+        data = JSON.stringify(data)
+      }
       $.ajax({
-        url: '/subscribepay/afterPay/setUserInfo',
+        url: delUrl,
         type: 'POST',
-        data: {
-          pageType: 'keyWords',
-          actionType: 'DC',
-          classify_index: selectedIndexArr.join(',')
-        },
+        data: data,
+        contentType:  this.vSwitch == 's'?'application/json' : 'application/x-www-form-urlencoded',
         success: function (res) {
           loading && loading.clear()
-          if (res.flag) {
+          if (res.flag || res.data.status == 1) {
             _this.showToast('删除成功')
             _this.getKeywordsGroupList()
             _this.batchDeleteState = false
@@ -399,19 +479,56 @@ var vm = new Vue({
       } else {
         return
       }
-
+      let editUrl = '/publicapply/subscribe/setUserInfo'
+      if(this.vSwitch == 's') {
+        editUrl = '/entnicheNew/subscribe/key/update'
+        console.log(this.editGroupNameDialog.gIndex)
+        if(JSON.stringify(this.userData) == '{}') {
+          this.userData = []
+        }
+        if(toastType == '新建') {
+          const keyItem = {
+            a_key: [],
+            s_item: this.editGroupNameDialog.value,
+            groupIndex: this.userData.length,
+            updatetime: 0
+          }
+          this.userData.push(keyItem)
+        } else {
+          this.userData[this.editGroupNameDialog.gIndex].s_item = this.editGroupNameDialog.value
+        }
+        data = {
+          a_items: _this.userData,
+          update_item: {
+            after: this.editGroupNameDialog.value,
+            before: this.editGroupNameDialog.valueBackup
+          }
+        }
+        data = JSON.stringify(data)
+      }
       $.ajax({
         type: 'POST',
-        url: '/subscribepay/afterPay/setUserInfo',
+        url: editUrl,
         data: data,
+        contentType:  this.vSwitch == 's'?'application/json' : 'application/x-www-form-urlencoded',
         success: function (res) {
           done && done()
-          if (res.flag) {
-            _this.showToast(toastType + '分类成功')
-            _this.getKeywordsGroupList()
-            _this.batchDeleteState = false
+          if(_this.vSwitch == 's') {
+            if(res.data.status == 1) {
+              _this.showToast(toastType + '分类成功')
+              _this.batchDeleteState = false
+              _this.getKeywordsGroupList()
+            } else {
+              _this.showToast(res.msg ? res.msg : toastType + '失败')
+            }
           } else {
-            _this.showToast(res.msg ? res.msg : toastType + '失败')
+            if (res.flag) {
+              _this.showToast(toastType + '分类成功')
+              _this.getKeywordsGroupList()
+              _this.batchDeleteState = false
+            } else {
+              _this.showToast(res.msg ? res.msg : toastType + '失败')
+            }
           }
         },
         error: function () {

+ 162 - 48
src/web/staticres/vipsubscribe/js/vip_index_new.js

@@ -23,11 +23,15 @@ var subNode = new Vue({
             vSwitch:'', // 用户版本权限
             freeUserArea: {}, // 购买省份订阅包的用户所选择的地区
             isNewVip: 0,
-            vipStatus: 0
+            infoRoot: {}
         }
     },
     created () {
-      
+      if(getParam('vSwitch')) {
+        this.vSwitch = getParam('vSwitch')
+      } else {
+        this.vSwitch = ''
+      }
     },
     mounted () {
         this.getUserStatus()
@@ -42,34 +46,19 @@ var subNode = new Vue({
           $.ajax({
             url: '/bigmember/use/isAdd?t=' + Date.now(),
             type: 'POST',
+            async: false,
             success: function (res) {
               console.log(res)
               if (res) {
-                _this.vipStatus = res.data.vipStatus
+                _this.infoRoot = res.data
+                // 多个身份才显示切换按钮
+                if(res.data.memberStatus > 0 && res.data.vipStatus > 0) {
+                  $('.switchicon').show()
+                }
                 // 微信端暂无大会员订阅设置
                 // 暂无切换用户身份(大会员or超级订阅)
                 // 现只需判断用户身份是不是超级订阅(同时是超级订阅、大会员),是显示超级订阅设置,非则显示免费用户订阅设置
                 // 下版本微信端完成大会员功能后 再判断切换的是哪个身份
-                if (res.data.vipStatus > 0) {
-                    _this.vSwitch = 'v'
-                    document.title = '订阅管理-超级订阅'
-                    $('.update_renew').show()
-                    $('.super-title').show();
-                    try {
-                      window.getDataWitXHR()
-                    } catch (error) {
-                      console.log(error);
-                    }
-                } else {
-                    _this.vSwitch = 'f'
-                    _this.linkObj.pushsetting = _this.linkObj.freepush
-                    _this.linkObj.resultview = '/front/vipsubscribe/toVIPViewPage?vSwitch=f',
-                    document.title = '订阅管理-免费订阅'
-                    $('.update_renew').hide()
-                    $('.super-title').text('订阅管理-免费订阅');
-                    $('.super-title').css('background', 'none')
-                    _this.getUserSubscribe()
-                }
               }
             }
           })
@@ -77,10 +66,14 @@ var subNode = new Vue({
         // 点击订阅周期事件
         toSubCycle () {
           // 如果是老超级订阅者用户提示升级到新版超级订阅再续费
-          if (this.vSwitch == 'v' && this.isNewVip != 1) {
-            $('[data-update-tips]').show()
-          } else {
-            location.href = '/jy_mobile/common/order/create/svip?type=renew'
+          if(this.vSwitch === 'v') {
+            if (this.isNewVip != 1) {
+              $('[data-update-tips]').show()
+            } else {
+              location.href = '/jy_mobile/common/order/create/svip?type=renew'
+            }
+          } else if(this.vSwitch === 'm') {
+            location.href = 'javascript:;'
           }
         },
         superOrderTemplateMounted () {
@@ -88,7 +81,7 @@ var subNode = new Vue({
         },
         // 点击广告跳转超级订阅落地页
         toPaySupSub: function() {
-            if (this.vSwitch !== 'v') {
+            if (this.vSwitch !== 'v' && this.vSwitch !== 'm') {
                 var href = '/front/vipsubscribe/introducePage'
                 location.href = href
             }
@@ -135,12 +128,103 @@ var subNode = new Vue({
                 type: 'POST',
                 url: '/publicapply/subscribe/vipSwitch',
                 success: function(res) {
-                    console.log('微信端不能切换用户身份,该处的逻辑先放到isAdd接口回调里');
+                  if(res.error_code === 0) {
+                    _this.vSwitch = res.data.vt
+                    if (_this.vSwitch === 'v') {
+                      sessionStorage.setItem('switch-product', 'supervip')
+                      document.title = '订阅管理-超级订阅'
+                      $('.super-title').text('订阅管理-超级订阅');
+                      $('.update_renew').show()
+                      $('.super-title').show();
+                      $DoPost('/subscribepay/vipsubscribe/getSubBuyMsg', {}, function (sum) {
+                        if(sum.success) {
+                          getDataWitXHR(sum)
+                        }
+                      })
+                      // try {
+                      //   window.getDataWitXHR()
+                      // } catch (error) {
+                      //   console.log(error);
+                      // }
+                    } else if (_this.vSwitch === 'm') {
+                      sessionStorage.setItem('switch-product', 'bigmember')
+                      const memberLink = {
+                        area: '/big/wx/page/set_area?callback=setting_save',
+                        industry: ' /big/wx/page/set_cate?header=采购单位类型&callback=setting_save',
+                        keyword: '/front/vipsubscribe/toSetKeyWordPage?vSwitch=m',
+                        infotype: '/big/wx/page/set_infotype?callback=setting_save',
+                        resultview: '/front/vipsubscribe/toVIPViewPage?vSwitch=m',
+                        pushsetting: '/front/setting/push_detail?header=大会员推送设置&type=member_subscribe'
+                      }
+                      let member_pro = ''
+                      switch (_this.infoRoot.memberStatus) {
+                        case 1:
+                          member_pro = 'm_zj'
+                          break;
+                        case 2:
+                          member_pro = 'm_zh'
+                          break;
+                        case 3:
+                          member_pro = 'm_sj'
+                          break;
+                        case 5:
+                          member_pro = 'm_zj'
+                          break;
+                        case 6:
+                          member_pro = 'm_sj'
+                          break;
+                        case 7:
+                          member_pro = 'm_zj'
+                          break;
+                        default:
+                          break;
+                      }
+                      $('.super-title').addClass(member_pro);
+                      Object.assign(_this.linkObj, memberLink)
+                      document.title = '订阅管理-大会员'
+                      $('.super-title').text('订阅管理-大会员');
+                      // $('.update_renew').show()
+                      $('.super-title').show();
+                      $DoPost('/subscribepay/vipsubscribe/getSubBuyMsg', {}, function (sum) {
+                        if(sum.success) {
+                          getDataWitXHR(sum, 'm')
+                        }
+                      })
+                      // try {
+                      //   window.getDataWitXHR('m')
+                      // } catch (error) {
+                      //   console.log(error);
+                      // }
+                    } else {
+                        _this.vSwitch = 'f'
+                        _this.linkObj.keyword = '/front/vipsubscribe/toSetKeyWordPage?vSwitch=f',
+                        _this.linkObj.pushsetting = _this.linkObj.freepush
+                        _this.linkObj.resultview = '/front/vipsubscribe/toVIPViewPage?vSwitch=f',
+                        sessionStorage.setItem('switch-product', 'free')
+                        document.title = '订阅管理-免费订阅'
+                        $('.update_renew').hide()
+                        $('.super-title').text('订阅管理-免费订阅');
+                        $('.super-title').css('background', 'none')
+                        _this.getUserSubscribe()
+                    }
+                  }
                 }
             })
         }
     }
 })
+
+// 产品切换
+$('.switchicon').click(function () {
+  if (subNode.vSwitch === 'v') {
+    location.replace('/front/vipsubscribe/toSubVipSetPage?vSwitch=m')
+  } else if(subNode.vSwitch === 'm') {
+    location.replace('/front/vipsubscribe/toSubVipSetPage?vSwitch=v')
+  } else {
+    subNode.switehAjax('v')
+    location.replace('/front/vipsubscribe/toSubVipSetPage?vSwitch=v')
+  }
+})
 function showGiveStatus (t) {
     if (t) {
       $(".banner-ad-box").hide()
@@ -391,25 +475,53 @@ $(function () {
         $(".list-content").html(returnHtml);
     }
 
-    window.getDataWitXHR = function () {
-        $DoPost('/subscribepay/vipsubscribe/getSubBuyMsg', {}, function (res) {
-            if (!res.success) return;
-            if(!res.data.industry) {
-                res.data.industry = []
+    window.getDataWitXHR = function (res, type) {
+      if(type) {
+        $DoPost('/bigmember/use/info?t=' + new Date().getTime(), {}, function(r) {
+          if(r.error_code === 0) {
+            let bigres = r.data.member_jy
+            if (bigres) {
+              res.data.area = bigres.o_area
+              res.data.industry = bigres.a_buyerclass
+              res.data.items = bigres.a_items
+              res.data.matchway = bigres.i_matchway
+              res.data.infotype = bigres.a_infotype
+              res.data.projectmatch = bigres.i_projectmatch
+              res.data.ratemode = bigres.i_ratemode
+            } else {
+              res.data.area = {}
+              res.data.industry = null
+              res.data.items = []
+              res.data.matchway = null
+              res.data.infotype = null
+              res.data.projectmatch = null
+              res.data.ratemode = null
             }
-            res.data.oldArea = res.data.area;
-            res.data.oldIndustry = res.data.industry;
-
-            var globalStateStr = JSON.stringify(res.data);
-            sessionStorage.setItem('sub_vip_state', globalStateStr);
-            sessionStorage.setItem('vip_index_read', true);
-            globalState = JSON.parse(globalStateStr);
-            reqData = JSON.parse(globalStateStr);
-            sessionStorage.removeItem('industryNull')
-            sessionStorage.removeItem('areaNull')
-            subNode.initData = res.data
-            init(res.data)
-        })
+            res.data.startTime = r.data.member_starttime
+            res.data.endTime = r.data.member_endtime
+          } else {
+            weui.toast(r.error_msg, {
+                duration: 1500,
+                className: 'jy-toast',
+            });
+          }
+        },false)
+      }
+      if(!res.data.industry) {
+          res.data.industry = []
+      }
+      res.data.oldArea = res.data.area;
+      res.data.oldIndustry = res.data.industry;
+
+      var globalStateStr = JSON.stringify(res.data);
+      sessionStorage.setItem('sub_vip_state', globalStateStr);
+      sessionStorage.setItem('vip_index_read', true);
+      globalState = JSON.parse(globalStateStr);
+      reqData = JSON.parse(globalStateStr);
+      sessionStorage.removeItem('industryNull')
+      sessionStorage.removeItem('areaNull')
+      subNode.initData = res.data
+      init(res.data)
     }
 
 
@@ -854,7 +966,9 @@ $(function () {
         // 初始化,已购买的城市和行业
         // setBuyAreaAndInd(state.buyset);
         //是否提示即将到期
-        showTimeOut(state.endTime, state.isTrial);
+        if(subNode.vSwitch == 'v') {
+          showTimeOut(state.endTime, state.isTrial);
+        }
         selectTime = sessionStorage.getItem("vip_change_time");
         var endflag = state.endTime;
         var stratFlag = state.startTime;

+ 1 - 1
src/web/templates/areaPack/wx/page_set_area.html

@@ -336,7 +336,7 @@
                                 }
                                 var wlh = window.location.href
                                 if (wlh.indexOf("url=")>-1){
-                                  window.location.href= "/front/vipsubscribe/toSubVipSetPage";
+                                  window.location.href= "/front/vipsubscribe/toSubVipSetPage?vSwitch=v";
                                   return
                                 }
                                 history.back()

+ 18 - 1
src/web/templates/big-member/wx/component_set_cate.html

@@ -5,6 +5,7 @@
 <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/reset-css/5.0.1/reset.min.css />
 <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/index.css />
 <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/icon/local.css />
+<link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/weui/2.0.1/weui.min.css />
 <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/big-member/css/vant-reset.css?v={{Msg "seo" "version"}}' />
 <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/big-member/css/set_area_industry_cate.css?v={{Msg "seo" "version"}}' />
 
@@ -41,12 +42,27 @@
                             <button v-for="(cate, i) in item" :key="999-i"
                                 class="j-button-item"
                                 :class="cate.selected ? 'active': ''"
-                                @click="changeCateState($event,cate)">${cate.name}</button>
+                                @click="changeCateState($event,cate)">${cate.name}
+                            </button>
+                            <span class="j-icon base-icon icon-helps" v-if="key == '#'" @click="showMatchDialog"></span>
                             <span class="j-icon base-icon icon-helps" v-if="key == 'G'" @click="showGDialog"></span>
                         </div>
                     </li>
                 </ul>
             </div>
+            <div class="js_dialog custom-dialog" id="match_dialog" style="opacity: 1;display: none;">
+                <div class="weui-mask"></div>
+                <div class="weui-dialog">
+                  <div class="weui-dialog__hd">匹配未分类类型</div>
+                  <div class="weui-dialog__bd">
+                    <span>每条信息的采购单位类型属性由机器自动识别,会存在少数无法识别进行分类的情况。</span><br/>
+                    <span class="match_notice">注:选择全部时,未分类类型默认被选中,关闭无效</span>
+                  </div>
+                  <div class="weui-dialog__ft">
+                      <a href="javascript:" class="weui-dialog__btn weui-dialog__btn_primary know" @click="myKnow">我知道了</a>
+                  </div>
+                </div>
+            </div>
             <div class="index-bar__sidebar">
                 <span
                     :data-index="item"
@@ -75,5 +91,6 @@
 <script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js></script>
 <script src=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js></script>
 <script src=//cdn-common.jianyu360.com/cdn/lib/zepto/1.2.0/zepto.min.js></script>
+<script src=//cdn-common.jianyu360.com/cdn/lib/weui.js/1.2.1/weui.min.js></script>
 {{include "/big-member/wx/commonjs.html"}}
 <script src='{{Msg "seo" "cdn"}}/big-member/js/set_cate.js?v={{Msg "seo" "version"}}'></script>

+ 2 - 2
src/web/templates/big-member/wx/component_set_infotype.html

@@ -11,7 +11,7 @@
 <!-- 采购单位行业 -->
 <div class="j-container">
     {{include "/big-member/wx/header.html"}}
-    <div id="set-header"></div>
+    <div id="set-header" v-cloak></div>
     <div id="set-info-type" class="j-main" v-cloak>
         <div class="j-container">
             <div class="j-header"></div>
@@ -32,7 +32,7 @@
                             <span
                                 v-if="item.showHelp"
                                 class="j-icon base-icon icon-helps"
-                                @click="showNjHelpDialog"
+                                @click="showNjHelpDialog(item.name)"
                             ></span>
                         </div>
                         <div class="info-type-item-main">

+ 9 - 8
src/web/templates/big-member/wx/page_set_cate.html

@@ -59,19 +59,20 @@
         // 其他页面自定义方法
         var custom = {
             _setting_save: function (setdata) {
-                var data = {
-                    buyerclass: setdata
-                }
+                setdata = setdata.join(',')
                 $.ajax({
                     type:'POST',
-                    url:'/bigmember/subscribe/buyerclass/update',
-                    contentType: 'Application/json;charset=utf-8',
-                    data: JSON.stringify(data),
+                    url:'/publicapply/subscribe/update',
+                    data: {
+                        area: JSON.stringify(vNode.data.bigArea),
+                        industry: setdata,
+                        vSwitch: 'm'
+                    },
                     success:function(res){
-                        if(res.data.status == 1){
+                        if(res.success){
                             history.back()
                             sessionStorage.removeItem('big-setCate')
-                        }else if(res.data.status == -1){
+                        }else{
                             vueComponent.$toast(res.data.error_msg)
                         }
                     }

+ 34 - 8
src/web/templates/big-member/wx/page_set_infotype.html

@@ -58,21 +58,47 @@
         }
 
         // 其他页面自定义方法
+        // var custom = {
+        //     _setting_save: function (setdata) {
+        //         var data = {
+        //             infotype: setdata
+        //         }
+        //         $.ajax({
+        //             type:'POST',
+        //             url:'/bigmember/subscribe/infotype/update',
+        //             contentType: 'application/json;charset=utf-8',
+        //             data: JSON.stringify(data),
+        //             success:function(res){
+        //                 if(res.data.status == 1){
+        //                     history.back()
+        //                     sessionStorage.removeItem('big-setInfoType')
+        //                 }else if(res.data.status == -1){
+        //                     vueComponent.$toast(res.data.error_msg)
+        //                 }
+        //             }
+        //         })
+        //     }
+        // }
         var custom = {
             _setting_save: function (setdata) {
-                var data = {
-                    infotype: setdata
+                if(setdata.length == 0) {
+                    setdata = ''
+                } else {
+                    setdata = setdata.join(',')
                 }
                 $.ajax({
                     type:'POST',
-                    url:'/bigmember/subscribe/infotype/update',
-                    contentType: 'application/json;charset=utf-8',
-                    data: JSON.stringify(data),
+                    url:'/publicapply/subscribe/setUserInfo',
+                    data: {
+                        pageType: 'infoType',
+                        infoTypeArr: setdata,
+                        vSwitch: 'm'
+                    },
                     success:function(res){
-                        if(res.data.status == 1){
-                            history.back()
+                        if(res.flag) {
                             sessionStorage.removeItem('big-setInfoType')
-                        }else if(res.data.status == -1){
+                            history.back()
+                        } else {
                             vueComponent.$toast(res.data.error_msg)
                         }
                     }

+ 10 - 0
src/web/templates/frontRouter/pc/solution/free/test.html

@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <title>$Title$</title>
+</head>
+<body>
+$END$
+</body>
+</html>

+ 2 - 13
src/web/templates/frontRouter/wx/vipIntro/free/order_detail.html

@@ -694,19 +694,8 @@
                     }
                     $(".payPrice").text("¥ " + formatMoney(parseFloat(r.data.order.pay_money || r.data.order.order_money) / 100) + "元");
                     $("#card-header-bg").addClass("bg finish-bg")
-
-
-                    if (r.data.order.return_status === 0||r.data.order.return_status === 2){
-                        $("#card-header-bg").addClass("bg nopay-bg")
-                        if (r.data.order.return_status === 0){
-                            $("#pageTitle").text("待付款");
-                        }else if (r.data.order.return_status === 2){
-                            $("#pageTitle").text("待付完");
-                        }
-                    }else{
-                        $("#card-header-bg").addClass("bg finish-bg")
-                        $("#pageTitle").text("已完成");
-                    }
+                    $("#card-header-bg").addClass("bg finish-bg")
+                    $("#pageTitle").text("已完成");
                     $("#pageTitle").addClass("status")
 
                     //支付时间

+ 1 - 13
src/web/templates/pc/aiPack_orderDetail.html

@@ -193,19 +193,7 @@
                     $(".price").text("¥ " + formatMoney(r.data.order_money / 100) + "元");
                     $(".real_cycle").text(member_endtime+"到期");
                     if (r.data.order_status === 1) {
-                        var customIsAll = 0
-                        if (filterObj.isAll){
-                          customIsAll=filterObj.isAll
-                        }
-                        if (customIsAll == 2){
-                          $("#status_wait_pay").removeClass("hide").text("待付款");
-                          $("#bg").addClass("yellowBg").removeClass("greenBg");
-                        }else if (customIsAll == 3){
-                          $("#status_wait_pay").removeClass("hide").text("待付完");
-                          $("#bg").addClass("yellowBg").removeClass("greenBg");
-                        }else{
-                          $("#status_success").removeClass("hide");
-                        }
+                        $("#status_success").removeClass("hide");
                         if (r.data.pay_time){
                             $(".pay_time_p").css("display", "");
                             $(".pay_time").text(r.data.pay_time.replace("-", ".").replace("-", "."));

+ 1552 - 1558
src/web/templates/pc/biddingsearch_enterprise.html

@@ -1,1558 +1,1552 @@
-
-<html lang="zh-cn">
-	<head>
-		<title>招标搜索结果_{{Msg "seo" "qfw.swordfishsl.title"}}</title>
-		<meta name="Keywords" content="{{Msg "seo" "qfw.swordfishsl.key"}}"/>
-		<meta name="Description" content="{{Msg "seo" "qfw.swordfishsl.description"}}"/>
-		<meta name="renderer" content="webkit">
-		<meta content="telephone=no" name="format-detection"/>
-        <meta content="招标搜索" theme="light" name="enable-header"/>
-		{{include "/common/pnc.html"}}
-		<link href="{{Msg "seo" "cdn"}}/css/pc.css?v={{Msg "seo" "version"}}" rel="stylesheet">
-		<link href="{{Msg "seo" "cdn"}}/css/dev2/reset_pc.css?v={{Msg "seo" "version"}}" rel="stylesheet">
-		<link href="{{Msg "seo" "cdn"}}/css/dev2/biddingSearch.css?v={{Msg "seo" "version"}}" rel="stylesheet">
-		<link href="{{Msg "seo" "cdn"}}/css/dev2/superSearch.css?v={{Msg "seo" "version"}}" rel="stylesheet">
-		<script src="{{Msg "seo" "cdn"}}/js/jquery.cookie.js"></script>
-		<script src="{{Msg "seo" "cdn"}}/js/biddingSearch.js?v={{Msg "seo" "version"}}"></script>
-		<script language="javascript" type="text/javascript" src="{{Msg "seo" "cdn"}}/My97DatePicker/WdatePicker.js"></script>
-		<link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/pccss/public-nav-1200.css?v={{Msg "seo" "version"}}" />
-		<script type="text/javascript" src="{{Msg "seo" "cdn"}}/js/public-nav.js?v={{Msg "seo" "version"}}"></script>
-
-		<style type="text/css">
-			#searchInner .pagination a:hover{
-				color:#97310e !important;
-			}
-			#searchInner .pagination a.disabled{
-				color: #aea79f !important;
-				background-color: #fff ;
-				border-color: #ddd;
-				cursor: not-allowed;
-			}
-			#searchInner .pagination a:visited{
-				color:#1d1d1d;
-			}
-
-			/*j-wx-code Start*/
-			.j-wx-code{
-				width: 335px;
-				height: 355px;
-				background-color: #fff;
-				-webkit-border-radius: 6px;
-				   -moz-border-radius: 6px;
-				        border-radius: 6px;
-				position: relative;
-				/*margin: 100px auto;*/
-			}
-			.j-wx-code>.code-close{
-				width: 40px;
-				height: 40px;
-				position: absolute;
-				right: -20px;
-				top: -20px;
-				cursor: pointer;
-				-webkit-transition: all 1s;
-				-o-transition: all 1s;
-				-moz-transition: all 1s;
-				transition: all 1s;
-			}
-			.j-wx-code>.code-close:hover{
-				-webkit-transform: scale(1.2);
-				   -moz-transform: scale(1.2);
-				    -ms-transform: scale(1.2);
-				     -o-transform: scale(1.2);
-				        transform: scale(1.2);
-			}
-			.j-wx-code>.code-title{
-				height: 82px;
-				background:url(/images/j-wx-code-title.png) center center no-repeat;
-				-webkit-animation: moveYun 15s infinite linear both;
-				   -moz-animation: moveYun 15s infinite linear both;
-				     -o-animation: moveYun 15s infinite linear both;
-				        animation: moveYun 15s infinite linear both;
-			}
-			.j-wx-code>.code-wxm{
-				text-align: center;
-				margin-bottom: -6px;
-				margin-top: -16px;
-
-			}
-			.j-wx-code>.code-wxm>img{
-				width: 200px;
-				height: 200px;
-				margin-top: -5px;
-			}
-			.j-wx-code>.code-text{
-				font: 16px "microsoft yahei";
-				text-align: center;
-				color: #252627;
-			}
-			.j-wx-code>.code-bottom{
-				width: 470px;
-				height: 211px;
-				position: absolute;
-				bottom: -113px;
-				left: -73px;
-				background: url(/images/j-wx-code-bottom.png) 0 0 no-repeat;
-			}
-			.j-wx-code>.code-bottom>img{
-				position: absolute;
-				left: 280px;
-				top: 88px;
-				-webkit-animation: codeWxMove 10s linear both;
-				   -moz-animation: codeWxMove 10s linear both;
-				     -o-animation: codeWxMove 10s linear both;
-				        animation: codeWxMove 10s linear both;
-				-webkit-animation-fill-mode:forwards;
-				   -moz-animation-fill-mode:forwards;
-				     -o-animation-fill-mode:forwards;
-				        animation-fill-mode:forwards;
-			}
-			#keyImg{
-				width:198px;
-			}
-			/*
-			#layerImg{
-				position:absolute;
-				width: 150px !important;
-			    height: 150px !important;
-			    left: 198px;
-			    top: 148px;
-			}*/
-			#labmodalbody .code-close{
-				width: 40px;
-			    height: 40px;
-			    position: absolute;
-			    right: 40px;
-			    top: -20px;
-			    cursor: pointer;
-			    -webkit-transition: all 1s;
-			    -o-transition: all 1s;
-			    -moz-transition: all 1s;
-			    transition: all 1s;
-			}
-			#labmodalbody .code-close:hover{
-				-webkit-transform: scale(1.2);
-				   -moz-transform: scale(1.2);
-				    -ms-transform: scale(1.2);
-				     -o-transform: scale(1.2);
-				        transform: scale(1.2);
-			}
-			.layheader{
-				position: absolute;
-			    color: #fff;
-			    left: 138px;
-			    top: 40px;
-			    line-height: 32px;
-			    font-family: 微软雅黑;
-			    font-weight: bold;
-			}
-
-			.layheader div:nth-child(1){
-				font-size:20px;
-				width:272px;
-			}
-			.layheader div:nth-child(2){
-				font-size:16px;
-				margin-top:10px;
-				width:272px;
-			}
-			.modal-footer{
-				text-align: center;
-			    position: absolute;
-			    bottom: 65px;
-			    left: 110px;
-			    font-size: 14px;
-			    line-height: 22px;
-			    color: #686868;
-			}
-			.modal-dialog{
-				width:500px;
-			}
-			/*add*/
-			.searchSlideText ul li{
-				float: none;
-			}
-			/*功能提示*/
-			#labwelcomebody .welcomeImg{
-				width: 335px;
-    			height: 402px;
-			}
-			#labwelcomebody .code-close{
-				width: 40px;
-			    height: 40px;
-			    position: absolute;
-			    right: 63px;
-			    top: -20px;
-			    cursor: pointer;
-				-webkit-transition: all 1s;
-   				-o-transition: all 1s;
-   				-moz-transition: all 1s;
-    			transition: all 1s;
-			}
-			.modal-footer-welcome{
-				width:273px;
-				margin:auto;
-			    font-size: 16px;
-			    line-height: 26px;
-				margin-top: -133px;
-			}
-
-			#labwelcomebody .code-close:hover{
-				 -webkit-transform: scale(1.2);
-	   				-moz-transform: scale(1.2);
-	   				 -ms-transform: scale(1.2);
-	     			  -o-transform: scale(1.2);
-	        			 transform: scale(1.2);
-			}
-			/*价格*/
-			.minwy{
-				position: absolute;
-			    left: 124px;
-			    top: 7.5px;
-			    color: #ccc;
-			}
-			.maxwy{
-				position: absolute;
-			    right: 8px;
-			    top: 7.5px;
-			    color: #ccc;
-			}
-			.PriceInput{
-				position:relative;
-			}
-			.j-clearicon {
-			    right: 118px !important;
-			}
-			.lucene-table tr{
-				cursor: pointer;
-			}
-			#labImg {
-			    position: absolute;
-			    width: 150px !important;
-			    height: 150px !important;
-			    left: 198px;
-			    top: 148px;
-			}
-			#searchInner .searchControl .seaTender-inner .tabContainer .lucene-table.entlist table{
-				width: 1200px;
-			}
-			.working{
-				border: 1px solid #e0e0e0 !important;
-			}
-		</style>
-	</head>
-    <!-- 中标企业搜索页面 -->
-	<body>
-	{{include "/common/pchead.html"}}
-		<div class="modal fade" id="labModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
-		    <div class="modal-dialog">
-		        <div class="modal-content" id="labmodalcont">
-		            <div class="modal-body" id="labmodalbody">
-					<img class="code-close" src="{{Msg "seo" "cdn"}}/images/j-wx-code-close.png" alt="" onclick="labClose();">
-						<div class="layheader">
-							<div>超级搜索</div>
-							<div>按行业、金额搜索,结果可按表格显示</div>
-						</div>
-						<img src="{{Msg "seo" "cdn"}}/images/biddingSearch/labbkimg.png"/>
-						<img id="labImg" src=""/>
-					</div>
-		            <div class="modal-footer">
-		                此功能尚处在实验阶段,请扫码进入<br>剑鱼标讯实验室,打开相应开关后,即可体验!
-		            </div>
-		        </div><!-- /.modal-content -->
-		    </div><!-- /.modal -->
-		</div>
-		<div class="modal fade" id="myModal"  tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" >
-			<div class="modal-dialog" style="width:400px;border:0px;" >
-				<div class="j-wx-code" id="myModal-div">
-					<img class="code-close" src="{{Msg "seo" "cdn"}}/images/j-wx-code-close.png" alt="" onclick="layerClose();"/>
-					<div class="code-title"></div>
-					<div class="code-wxm"><img id="layerImg" src="/front/share/{{.T.shareid}}"/></div>
-					<div class="code-text">
-						<span><img id="wxpng" src="{{Msg "seo" "cdn"}}/images/wx1.png"/>微信扫码登录</span>
-						<br/>
-						<span id="freetext">立即免费使用</span>
-					</div>
-					<div class="code-bottom">
-						<img src="{{Msg "seo" "cdn"}}/images/j-wx-cose-move.png" alt=""/>
-					</div>
-				</div>
-			</div>
-		</div>
-		<div class="modal fade" id="welcome" tabindex="-1" role="dialog" aria-labelledby="welcome" aria-hidden="false">
-		    <div class="modal-dialog">
-		        <div class="modal-content" id="labmodalcont">
-		            <div class="modal-body" id="labwelcomebody">
-					<img class="code-close" src="{{Msg "seo" "cdn"}}/images/j-wx-code-close.png" alt="" onclick="labWelClose();">
-					<img class="welcomeImg" src="{{Msg "seo" "cdn"}}/images/biddingSearch/welcomeusejylab.png"/>
-		           		<div class="modal-footer-welcome">
-							欢迎体验剑鱼标讯实验室—中标企业搜索功能。实验随时可能结束,或者进行调整,请密切关注剑鱼标讯通知。
-		           		</div>
-					</div>
-		        </div><!-- /.modal-content -->
-		    </div><!-- /.modal -->
-		</div>
-		<section id="searchInner">
-			<!--搜索头部 START-->
-			<div class="searchHeader">
-				<div class="w searchHeader-container">
-					<!--搜索-->
-					<div class="searchInput clearfix">
-						<form action="/jylab/bidsearchforent/index.html" method="post" id="zbSeatchT" class="clearfix">
-							<input class="searchname" autocomplete="off" type="search" name="keywords" id="searchinput" value="{{.T.searchvalue}}" placeholder="中标企业搜索" />
-
-							<input type="submit" class="searchBtn" value="搜索"/>
-							<img src="{{Msg "seo" "cdn"}}/images/pc_20.png" id="t-clear" class="j-clearicon" style="display:none;">
-							<div class="searchSlideText">
-								<ul>
-								</ul>
-							</div>
-							<input type="hidden" name="searchvalue" value="{{.T.searchvalue}}">
-							<input type="hidden" name="area" value="{{.T.area}}">
-							<input type="hidden" name="minprice" value="{{.T.minprice}}">
-							<input type="hidden" name="maxprice" value="{{.T.maxprice}}">
-							<input type="hidden" name="pricetype" value="{{.T.pricetype}}">
-						</form>
-						<!--筛选-->
-						<div id="screenBtn" class="screen down">
-							筛选
-						</div>
-						<!--二维码-->
-						<div class="search-right-wx">
-							<img src="{{Msg "seo" "cdn"}}/images/biddingSearch/sea-right-wx.png" />
-							<div class="search-right-wx-inner">
-								<div class="wx-inner-title">
-									扫码关注剑鱼标讯
-								</div>
-								<div class="wx-inner-ewm">
-									<img  id="keyImg" src="/front/share/{{.T.shareid}}"/>
-								</div>
-								<div class="wx-inner-bottom"  style="font-size:14px">
-									微信扫一扫<br>随时随地掌握招标信息
-		<!--						微信扫一扫,及时获取及时获取<i>"1"</i>相关招标信息-->
-								</div>
-							</div>
-						</div>
-					</div>
-
-					<!--整体页面切换tab-->
-					<div class="control-tabBtn">
-						<span class="bidbutdir" style="left:187px;"></span>
-						<a class="supbtn" left="50" href="javascript:void(0)">
-							<i></i><font>招标搜索</font>
-						</a>
-						<a href="#" class="on" left="187"><i></i>中标企业搜索</a>
-						<a href="{{Msg "seo" "url.portrait_winner"}}"{{if not .T.portraitpower}} class="hidden"{{end}} left="335"><i></i>中标企业画像</a>
-						<a href="{{Msg "seo" "url.portrait_buyer"}}"{{if not .T.portraitpower}} class="hidden"{{end}} left="485"><i></i>采购单位画像</a>
-					</div>
-				</div>
-			</div>
-
-	<!--招标搜索页面 START-->
-	<div class="searchControl">
-		<!--头部功能-->
-		<div class="searchTender w" style="display:none;">
-			<!--价格区间-->
-			<div class="Price clearfix">
-				<div class="leftTitle">
-					价格区间:
-				</div>
-				<div class="Price-content clearfix">
-					<span class="active">全部</span>
-					<div class="pricefat">
-						<div class="PriceInput">
-							<input type="text" name="minprice" id="minprice" value="{{.T.minprice}}" placeholder="" />
-							<font class="minwy">万元</font>
-							<span></span>
-							<font class="maxwy">万元</font>
-							<input type="text" name="maxprice" id="maxprice" value="{{.T.maxprice}}" placeholder="" />
-						</div>
-						<button class="pricebut" style="display:none;">确定</button>
-					</div>
-				</div>
-			</div>
-			<!--项目地区-->
-			<div class="region clearfix" style="border: none;">
-				<div class="leftTitle">
-					项目地区:
-				</div>
-				<div class="region-content">
-					<span id="regionBtn" class=" active">全国</span>
-					<i class="diver">A</i>
-					<font>安徽</font>
-					<font>澳门</font>
-					<i class="diver">B</i>
-					<font>北京</font>
-					<i class="diver">C</i>
-					<font>重庆</font>
-					<i class="diver">F</i>
-					<font>福建</font>
-					<i class="diver">G</i>
-					<font>广东</font>
-					<font>广西</font>
-					<font>贵州</font>
-					<font>甘肃</font>
-					<i class="diver">H</i>
-					<font>河北</font>
-					<font>湖北</font>
-					<font>黑龙江</font>
-					<font>海南</font>
-					<font>河南</font>
-					<font  style="margin-right: 45px;">湖南</font>
-					<i class="diver">J</i>
-					<font>吉林</font>
-					<br>
-					<font>江苏</font>
-					<font>江西</font>
-					<i class="diver">L</i>
-					<font>辽宁</font>
-					<i class="diver">N</i>
-					<font>内蒙古</font>
-					<font>宁夏</font>
-					<i class="diver">Q</i>
-					<font>青海</font>
-					<i class="diver">S</i>
-					<font>山西</font>
-					<font>陕西</font>
-					<font>上海</font>
-					<font>山东</font>
-					<font>四川</font>
-					<i class="diver">T</i>
-					<font>天津</font>
-					<font>台湾</font>
-					<i class="diver">X</i>
-					<font>西藏</font>
-					<font>新疆</font>
-					<font>香港</font>
-					<i class="diver">Y</i>
-					<font>云南</font>
-					<i class="diver">Z</i>
-					<font>浙江</font>
-				</div>
-			</div>
-		</div>
-		<!--招标搜索列表内容-->
-		<div class="seaTender-inner w">
-			<!--招标tab切换-->
-			<div class="tabTitle clearfix">
-				<ul>
-					<li>
-						<a class="active" href="javascript:;" style="width:100px;">最新招标信息</a>
-					</li>
-				</ul>
-				<div class="right-tabBtn">
-					<button id="right-list" class="active">列表</button>
-					<button id="right-table">表格</button>
-				</div>
-			</div>
-			<!--tab切换内容-->
-			<div class="tabContainer tabContainer-2"  id="allnews">
-				<!--全文搜索 列表-->
-				<div class="lucene">
-					<ul id="ul_list">
-
-					</ul>
-				</div>
-				<!--全文搜索 表格 展示中标企业搜索数据-->
-				<div class="lucene-table" style="display: none;">
-					<table>
-						<thead>
-						<tr>
-						{{if .T.searchvalue}}
-							<td width="45">序号</td>
-							<td width="150" style="border-top: 4px solid #2C90CB;">中标日期</td>
-							<td width="854">项目名称</td>
-							<td width="150" style="border-top: 4px solid #2C90CB;">中标金额(万元)</td>
-						{{else}}
-							<td width="48">序号</td>
-							<td width="315" style="border-top: 3px solid #2C90CB;">项目名称</td>
-							<td width="84">公告类型</td>
-							<td width="73" style="border-top: 3px solid #2C90CB;">预算<br>(万元)</td>
-							<td width="181">招标单位</td>
-							<td width="103" style="border-top: 3px solid #2C90CB;">开标时间</td>
-							<td width="174">中标单位</td>
-							<td width="76" style="border-top: 3px solid #2C90CB;">中标金额<br>(万元)</td>
-							<td width="103">发布时间</td>
-						{{end}}
-						</tr>
-						</thead>
-					</table>
-					<table>
-						<tbody class="formTable" id="formTable">
-
-						</tbody>
-					</table>
-          <div class="shade_table" style="">
-            <div class="more" data-need-bind-phone>
-              查看更多&gt;
-            </div>
-          </div>
-				</div>
-			</div>
-			<div class="hasNoData" style="display: none;">
-				<img style="width: 216px;margin: 45px auto;" src="{{Msg "seo" "cdn"}}/images/pc_12.png" id="hasNoData">
-				<div style="color:#2cb7ca;">没有找到与该关键词匹配的信息</div>
-			</div>
-			<div class="working" style="display: none;">
-				<img style="width: 216px;margin: 45px auto;" src="{{Msg "seo" "cdn"}}/images/wx/working.gif">
-				<div style="color:#2cb7ca;">剑鱼标讯正在努力工作中···</div>
-			</div>
-		</div>
-		<!--分页-->
-		<div class="pagination clearfix w" style="display:none;">
-			<div class="pagination-inner fr">
-				<a class="nbprev disabled" href="#"><i><</i>上一页</a>
-				<span class="currentPage">1</span>
-				<a class="nbnext" href="#">下一页<i>></i></a>
-			</div>
-		</div>
-	</div>
-	<!--招标搜索页面 END-->
-</section>
-
-    {{include "/common/pcbottom.html"}}
-    {{include "/common/baiducc.html"}}
-
-    <script>
-    $(".shade_table .more").on('click', toPaydataExport)
-	var searchVal = ""
-    $(function() {
-		$(".control-tabBtn>a").hover(function(){
-			$(".control-tabBtn>a").removeClass("on");
-			$(this).addClass("on");
-			$(".control-tabBtn>.bidbutdir").css("left",$(this).attr("left"));
-		},function(){
-			$(".control-tabBtn>a").removeClass("on");
-			$(".control-tabBtn>a:eq(1)").addClass("on");
-			$(".control-tabBtn>.bidbutdir").css("left",$(".control-tabBtn>a:eq(1)").attr("left"));
-		});
-		var oInput=document.getElementById("searchinput");
-		moveEnd(oInput)
-		priceTime();
-		$(".searchname").focus();
-		new JyWebScoket.qrToLab();
-		var recList = "";
-		var len = "";
-        $("#searchinput").on("input propertychange",function(){
-			var searchInput = $("#searchinput").val().trim();
-            if(searchInput == searchVal){
-                return false;
-            }
-            searchVal = searchInput;
-            if($.trim(searchInput).length > 0){
-				$("#t-clear").show();
-                getRecList(searchInput);
-            }else{
-				$("#t-clear").hide();
-                $(".searchSlideText").hide();
-            }
-        });
-
-		$("#t-clear").click(function(){
-			$("#t-clear").hide();
-			$("#searchinput").val("").focus();
-		})
-        //隐藏企业推荐列表
-        $("body").on("click",function (e) {
-            if(e.target.id != "searchinput") {
-                $(".searchSlideText").hide();
-            }
-        });
-    });
-	var scIndex = "";
-	var selected = false;
-	var prevDiff = null;
-	var firstItem = 0;
-	var index = -1;
-	var con = 10;
-	var backbottomFlag = false;
-    //企业推荐列表
-   	 function getRecList(entName_key) {
-		prevDiff = null;
-		firstItem = 0;
-		index = -1;
-		con = 10;
-		backbottomFlag = false;
-        $(".searchSlideText ul").html("");
-        $.post("/jylab/bidsearchforent/recList",{entName:entName_key},function(r){
-            if(r){
-                if(typeof (r.recList)!="undefined"){
-                    recList = r.recList;
-					len = recList.length;
-					var html = "";
-                    for(var i=0;i<recList.length;i++){
-                        var entName = recList[i].name;
-                        if(entName!="" && entName.length>36){
-                            entName = entName.substr(0,36)+"...";
-                        }
-                        html += "<li>"+entName.replace(entName_key,"<i>"+entName_key+"</i>")+"</li>";
-                    }
-					var htmlObj = $(html);
-					htmlObj.mouseover(function(){
-						var currentDiff = $(this).index() - firstItem;
-						if(prevDiff != null && backbottomFlag){
-							backbottomFlag = false;
-							prevDiff = $(this).index() - firstItem;
-							return;
-						}
-						if(prevDiff != null && currentDiff == prevDiff){
-							return;
-						}
-						index = $(this).index();
-						prevDiff = $(this).index() - firstItem;
-						$(".searchSlideText").find("li").css("background-color","")
-						$(this).css("background-color","#f4f4f7");
-					});
-					$(".searchSlideText ul").append(htmlObj);
-                }
-            }
-            if($(".searchSlideText ul li").length>=10){
-                $(".searchSlideText").css("height","400px");
-            }else{
-                $(".searchSlideText").css("height","auto");
-            }
-            $(".searchSlideText").show();
-
-            $(".searchSlideText ul li").click(function(){
-                if($(this).text()!=""){
-                    $("#searchinput").val($(this).text());
-                    $(".searchSlideText").hide();
-                    $(".searchBtn").click();
-                }
-            });
-        });
-    }
-
-	$(".searchSlideText").scroll(function(){
-		var d = $(this).scrollTop() / 40;
-		var s = parseInt(d);
-		if(d-s == 0){
-			con = 10;
-			firstItem = s;
-		}else if(d-s >= 0.5){
-			con = 9;
-			firstItem = s + 1;
-		}else{
-			con = 10;
-			firstItem = s;
-		}
-	});
-
-	//方向键选择
-	$(".searchname").keydown(function(event){
-		var key = event.keyCode;
-		var $scrollTop = $(".searchSlideText").scrollTop();
-		if($.trim($(this).val()).length == 0){
-			return;
-		}
-		if(key == 38){ //向上按钮
-			event.preventDefault();
-			if(index < firstItem && index != -1){
-				index = firstItem+1;
-			}else if(index > firstItem+con){
-				index = firstItem+con;
-				if(index > len-1){
-					index = len-1;
-				}
-			}
-			index--;
-			if(index < 0){
-				index = len-1;
-				$(".searchSlideText").scrollTop(len*40);
-				backbottomFlag = true;
-			}else{
-				if(index == 0){ //到顶了
-					$(".searchSlideText").scrollTop(0);
-				}else if(index == firstItem - 1){
-					$scrollTop -= 40;
-					$(".searchSlideText").scrollTop($scrollTop);
-				}
-			}
-			selected = true;
-			scIndex = index;
-		}else if(key == 40){ //向下按钮
-			event.preventDefault();
-			index++;
-			//处理滚动滑轮淹没上次选中li情况
-			if(index < firstItem){
-				index = firstItem;
-			}else if(index > firstItem+con){
-				index = firstItem+con-1;
-				if(index > len-1){
-					index = len-1;
-				}
-			}
-			if(index-firstItem == con){
-				$scrollTop += 40;
-				$(".searchSlideText").scrollTop($scrollTop);
-			}
-			if(index == len-1){
-				if(prevDiff != null){
-					backbottomFlag = true;
-				}
-			}
-			if(index == len){ //到底了
-				index = 0;
-				$(".searchSlideText").scrollTop(0);
-			}
-			selected = true;
-			scIndex = index;
-		}
-
-		$(".searchSlideText li").css("background", "");
-		$(".searchSlideText").find("li:eq("+index+")").css("background", "#f4f4f7");
-	})
-	</script>
-
-	<script>
-		var mainList = {{.T.list}};
-		var totalPage = {{.T.totalPage}};
-		var submitflag = true;
-		var pricetype = "";
-		var areas = {{.T.area}};
-		var searchvalue = {{.T.searchvalue}};
-		var currentPage = 1;//当前页
-		var pageSize = 50;
-		var tabularflag = "Y";
-		var dataId="";
-		$(function(){
-			new TableHeadFixed("tabContainer-2",searchvalue=="",false);
-			haslogin({{.T.logid}});
-			if(mainList != "" && mainList != null){
-				getSearchTable(mainList);
-			}
-			$(".j-nav .j-nav-link:eq(2)").addClass("active");
-			$(window).scroll(function(){
-				if($(this).scrollTop() > 0){
-				$("#backTop").show();
-				}else{
-					$("#backTop").hide();
-				}
-			});
-
-			//判断用户是否搜索中标企业,调整二维码样式
-			if(searchvalue != "" && searchvalue.length > 0){
-				$("#t-clear").show();
-				$(".wx-inner-title").html("扫码关注企业");
-				$(".wx-inner-bottom").html('扫码即可实时接收<span style="color:#2cb7ca">'+'"'+searchvalue+'"'+'</span>的中标信息!');
-			}
-
-			//地区回显样式设置
-			if(areas != ""){
-				$("#regionBtn").removeClass("active");
-				areas = areas.split(",");
-				for(var i=0;i<areas.length;i++){
-					$(".region-content>font:not('.parent-node')").each(function(){
-						if($(this).text() == areas[i]){
-							$(this).addClass("active");
-							return false;
-						}
-					});
-				}
-			}
-			//地区回显样式设置
-			$(".region-content .parent-node").each(function(){
-				var fontLen = $(this).nextUntil(".parent-node").filter("font").length;
-				var activeLen = $(this).nextUntil(".parent-node").filter(".active").length;
-				if(fontLen == activeLen){
-					$(this).addClass("active");
-				}
-				if(activeLen >0 && activeLen < fontLen){
-					$(this).addClass("secondActice");
-				}
-			});
-
-			//点击搜索 数据回显页面样式设置
-			if(mainList != "" && mainList != null && searchvalue != "" && searchvalue != null){
-				$(".seaTender-inner").css({'border':'0'});
-				$(".lucene-table").css({'padding':'0px','border-bottom':'0px','display':'block'});
-				$(".tabTitle").addClass("hidden");
-				$("#searchInner .searchControl .seaTender-inner .tabContainer .lucene-table table thead tr").css('border-top','4px solid #2cb7ca');
-				$(".lucene").attr("style","display:none");
-				$(".tabContainer").show(); //表格信息
-				$(".pagination").show();   //上、下页
-				$(".hasNoData").hide();    //数据为空图片
-			}
-			if(mainList == null || mainList.length == 0){
-				$(".tabTitle").addClass("hidden");
-				$(".tabContainer").hide();
-				$(".pagination").hide();
-				$(".hasNoData").show();
-			}
-
-
-			//价格回显样式设置
-			if({{.T.pricetype}} == "y"){
-				$(".Price-content").find("span:first-child").removeClass("active");
-				$(".pricefat").addClass("active");
-				$("#minprice").css({"border-color":"#2cb7ca"});
-				$("#maxprice").css({"border-color":"#2cb7ca"});
-			}
-
-			//筛选关闭和打开
-			//根据cookie值设置筛选是否显示
-			var rsw = localStorage.getItem("entstore");
-			if(rsw=="U"){
-				$("#screenBtn").addClass("down");
-				$(".searchTender").show();
-			}else{
-				$("#screenBtn").removeClass("down");
-				$(".searchTender").hide();
-			}
-
-			//记录用户刷选按钮状态
-			$("#screenBtn").click(function(){
-				if($(this).attr("class").indexOf("down")>0){
-					localStorage.setItem("entstore", "U");
-				}else{
-					localStorage.setItem("entstore", "D");
-				}
-			})
-
-			//价格
-			$("#minprice").click(function(){
-				$(".pricebut").show();
-				$(".pricefat").addClass("customtime-active");
-			})
-			$("#maxprice").click(function(){
-				$(".pricebut").show();
-				$(".pricefat").addClass("customtime-active");
-			})
-			//价格的全部按钮
-			$(".Price-content").find("span:first-child").click(function(){
-				priceshow=false;
-				$("#minprice").css({"border-color":""});
-				$("#maxprice").css({"border-color":""});
-				$(".pricebut").hide();
-				$(".pricefat").removeClass("customtime-active");
-				$(this).addClass("active");
-				$(".pricefat").removeClass("active");
-				pricetype = "n"
-				$("#zbSeatchT input[name='pricetype']").val(pricetype);
-				beforeSubmit();
-			})
-			//价格的确定按钮
-			$(".pricebut").click(function(){
-				var min = $("#minprice").val();
-				var max = $("#maxprice").val();
-				priceCss();
-				beforeSubmit();
-			})
-
-			//设置输入价格的格式
-			var reg = /^[\u4e00-\u9fa5]+$/;
-			var minnum = {{.T.minprice}};
-			$("#minprice").on("input propertychange",function(){
-				var minp = $.trim($(this).val()).replace(/\s/g,"");
-				$(this).val(minp)
-				if(!/^[\d]{1,9}([.][\d]{0,2})?$/.test(minp)){
-					$("#minprice").blur();
-					if((reg.test(minp)||isNaN(minp)||minp.indexOf("e")>0)&&minp.indexOf(".")<0){
-						$(this).val(minnum)
-					}else{
-						//minp = minp.substr(0,minp.length-1);
-						if(reg.test(minp)||isNaN(minp)||minp.indexOf("e")>0){
-							$(this).val(minnum)
-						}else{
-							if(minp.indexOf(".")>0){
-								var offront = minp.split(".")[0];
-								var ofafter = minp.split(".")[1];
-								if(offront.length>9||ofafter.length>2){
-									//if(offront.length>9){
-										$(this).val(minnum)
-									//}else{
-									//	$(this).val(offront.substr(0,9)+"."+ofafter.substr(0,2))
-									//	minnum = offront.substr(0,9)+"."+ofafter.substr(0,2);
-									//}
-								}else{
-									$(this).val(minp)
-									minnum = minp;
-								}
-							}else{
-								if(minp.length>9){
-									$(this).val(minnum)
-								}else{
-									$(this).val(minp)
-									minnum = minp;
-								}
-							}
-
-						}
-					}
-				}else{
-					minnum = minp;
-				}
-
-			})
-
-			//
-			var maxnum = {{.T.maxprice}};
-			$("#maxprice").on("input propertychange",function(){
-				var maxp = $.trim($(this).val()).replace(/\s/g,"");
-				$(this).val(maxp)
-				if(!/^[\d]{1,9}([.][\d]{0,2})?$/.test(maxp)){
-					$("#maxprice").blur();
-					if((reg.test(maxp)||isNaN(maxp)||maxp.indexOf("e")>0)&&maxp.indexOf(".")<0){
-						$(this).val(maxnum)
-					}else{
-						//maxp = maxp.substr(0,maxp.length-1);
-						if(reg.test(maxp)||isNaN(maxp)||maxp.indexOf("e")>0){
-							$(this).val(maxnum)
-						}else{
-							if(maxp.indexOf(".")>0){
-								var offront = maxp.split(".")[0];
-								var ofafter = maxp.split(".")[1];
-								if(offront.length>9||ofafter.length>2){
-									//if(offront.length>9){
-										$(this).val(maxnum);
-									//}else{
-									//	$(this).val(offront.substr(0,9)+"."+ofafter.substr(0,2))
-									//	maxnum = offront.substr(0,9)+"."+ofafter.substr(0,2);
-									//}
-								}else{
-									$(this).val(maxp)
-									maxnum = maxp;
-								}
-							}else{
-								if(maxp.length>9){
-									$(this).val(maxnum)
-								}else{
-									$(this).val(maxp)
-									maxnum = maxp;
-								}
-
-							}
-
-						}
-					}
-				}else{
-					maxnum = maxp;
-				}
-			})
-
-			//搜索按钮
-			$(".searchBtn").click(function(r){
-				preSearchJd(r);
-
-			})
-
-			//招标搜索页面跳转
-			$(".bidbtn").click(function(){
-				window.location.href = "/jylab/supsearch/index.html";
-			})
-
-			//
-			$(".bidbut").click(function(){
-				window.location.href = "/jylab/supsearch/index.html";
-			})
-			//点击搜索框上方显示超级搜索
-			$(".supbtn").click(function(){
-					window.location.href = "/jylab/supsearch/index.html";
-			})
-
-			//下一页
-			$(".nbnext").click(function(){
-            	$(window).scrollTop(0);
-          		next();
-        	})
-			//上一页
-       		$(".nbprev").click(function(){
-           		$(window).scrollTop(0);
-           		prev();
-        	})
-        });
-
-		$(function(){
-			$(document).keydown(function(e){
-			    if(e.keyCode == "13"){
-					if($("#bidLogin").is(":visible")){
-						return;
-					}
-					if(selected){
-						var selecteSearch  = $(".searchSlideText").find("li").eq(scIndex).text();
-						$(".searchname").val(selecteSearch);
-					}
-					preSearchJd(e);
-
-				};
-			});
-		})
-
-		function preSearchJd(r){
-			var searchname = $("#zbSeatchT input[name='keywords']").val();
-			$("#zbSeatchT input[name='searchvalue']").val($.trim(searchname));
-			$("#zbSeatchT").submit();
-		}
-
-		function priceCss(){
-			priceshow=false;
-			var minp = $("#minprice").val();
-			var maxp = $("#maxprice").val();
-			if(minp!=""&&isNaN(minp)){
-				$("#minprice").val("")
-			}
-			if(maxp!=""&&isNaN(maxp)){
-				$("#maxprice").val("")
-			}
-			if ($("#minprice").val()==""&&$("#maxprice").val()==""){
-				$(".pricefat").removeClass("active");
-				$(".Price-content").find("span:first-child").addClass("active");
-				$("#minprice").css({"border-color":""})
-				$("#maxprice").css({"border-color":""})
-				$(".pricefat").removeClass("customtime-active");
-				$(".pricebut").hide();
-				pricetype = "n";
-				$("#zbSeatchT input[name='pricetype']").val(pricetype);
-				return false;
-			}
-			if (parseInt(minp)>parseInt(maxp)){
-				$("#minprice").val(maxp);
-				$("#maxprice").val(minp);
-			}
-			$(".pricebut").hide();
-			$(".pricefat").addClass("active");
-			$(".Price-content").find("span:first-child").removeClass("active");
-			$(".pricefat").removeClass("customtime-active");
-			pricetype = "y";
-			$("#zbSeatchT input[name='pricetype']").val(pricetype);
-			return true;
-		}
-
-		//取redis里的数据
-		function getNewBids(pnum){
-			$.post("/jylab/supsearch/getNewBids",{pageNumber:pnum},function(r){
-				if(r.list == null || r.list.length == 0){
-					$(".seaTender-inner").css({'border':''});
-	                $(".tabContainer").hide();
-	                $(".pagination").hide();
-	                $(".hasNoData").show();
-	            }else{
-	                $(".tabContainer").show();
-	                $(".pagination").show();
-	                $(".hasNoData").hide();
-	                getSearchTable(r.list);
-	            }
-			})
-		}
-		//---取VIP数据---
-		function getVIPData(){
-			if(!$(".tabTitle").hasClass("hidden")){
-				return true;
-			}
-			if($("#zbSeatchT [name='keywords']").val()==""&&$("#zbSeatchT [name='searchvalue']").val()==""){
-				$(".working").hide();
-				return true;
-			}
-			var tabflag = false;
-			if(currentPage==1){
-				$(".nbprev").addClass("disabled");
-			}
-			var param = {
-						currentPage: currentPage,
-			            searchvalue: $("#zbSeatchT [name='searchvalue']").val(),
-			            area: $("#zbSeatchT [name='area']").val(),
-			            minprice: $("#zbSeatchT [name='minprice']").val(),
-			            maxprice: $("#zbSeatchT [name='maxprice']").val(),
-			            pricetype: $("#zbSeatchT [name='pricetype']").val(),
-						tabularflag : tabularflag,
-					};
-			$.ajax({
-		       type:'post',
-		       url:'/jylab/pcSearchZbqyAjax',
-		       async:false,
-			   data:param,
-		       dataType:'json',
-		       success:function(r){
-					if(currentPage == 1){
-						totalPage = r.totalPage;
-					}
-					if(r.list == null || r.list.length == 0){
-						$(".seaTender-inner").css({'border':''});
-		                $(".tabContainer").hide();
-		                $(".pagination").hide();
-		                $(".hasNoData").show();
-		            }else{
-		                $(".tabContainer").show();
-		                $(".pagination").show();
-		                $(".hasNoData").hide();
-		                getSearchTable(r.list);
-		            }
-					tabflag = true;
-				}
-			})
-			return tabflag
-		}
-		//
-		function beforeSubmit(){
-			$(".seaTender-inner").css({'border':''});
-			$(".hasNoData").hide();
-			$(".tabContainer").hide();
-			$(".pagination").hide();
-			$(".working").show();
-			$(".tabContainer-2 .lucene ul").html("");
-			$(".tabContainer-2 .lucene-table table tbody").html("");
-			$("#right-list").addClass("active").siblings().removeClass("active");
-			$(".tabContainer .lucene").show().siblings().hide();
-			if(submitflag){
-				//地区
-				var selectAreas = "";
-				$(".region-content .active:not(.parent-node)").each(function(){
-					var thisText = $(this).text();
-					if(thisText != "全国"){
-						if(selectAreas != ""){
-							selectAreas += ",";
-						}
-						selectAreas += thisText;
-					}
-				});
-				$("#zbSeatchT [name='area']").val(selectAreas);
-
-				//价格
-				var selectMinPrices = $(".PriceInput [name='minprice']").val();
-				var selectMaxPrices =  $(".PriceInput [name='maxprice']").val();
-				$("#zbSeatchT [name='minprice']").val(selectMinPrices);
-				$("#zbSeatchT [name='maxprice']").val(selectMaxPrices);
-
-				//搜索关键词
-        var searchname = "";
-				searchname = searchvalue;
-				$("#zbSeatchT input[name='searchvalue']").val($.trim(searchname));
-
-
-				currentPage=1;
-				if(currentPage==1){
-					$(".nbprev").addClass("disabled");
-				}
-				if($("#zbSeatchT [name='searchvalue']").val()==""){
-					getNewBids(currentPage)
-				}else{
-					if($.trim(searchname) != ""){
-						getTableInfo();
-					}else{
-						$(".tabTitle").removeClass("hidden");
-						//$(".lucene").attr("style","display:block");
-						//$(".lucene-table").attr("style","display:none");
-						$(".wx-inner-title").html("扫码关注剑鱼标讯");
-						$(".wx-inner-bottom").html("微信扫一扫<br>随时随地掌握招标信息");
-            currentPage = 1;
-            $(".currentPage").text(currentPage);
-            $(".nbprev").addClass("disabled");
-						searchOnsubmit();
-					}
-				}
-				submitflag=false;
-			}
-			setTimeout(function(){
-				submitflag=true
-			},200);
-			return true
-		}
-
-    function getTableInfo(){
-        //$(".seaTender-inner").css({'border':'0'});
-        $(".lucene-table").css({'padding':'0px','border-bottom':'0px','display':'block'});
-        $(".tabTitle").addClass("hidden");
-        $(".lucene").attr("style","display:none");
-		//判断用户是否搜索中标企业,调整二维码样式
-		$(".wx-inner-title").html("扫码关注企业");
-		$(".wx-inner-bottom").html('扫码即可实时接收<span style="color:#2cb7ca">'+'"'+searchvalue+'"'+'</span>的中标信息!');
-        currentPage = 1;
-        $(".currentPage").text(currentPage);
-        $(".nbprev").addClass("disabled");
-		searchOnsubmit();
-    }
-
-	function reStyle(){
-		$("#bidLogin .code-text").html('<span class="reStyle_c"><img id="wxpng" style="width:24px;margin-right:5px;" src="{{Msg "seo" "cdn"}}/images/wx1.png"/>请先微信扫码登录</span>')
-		$(".reStyle_c").css({
-			'color':'#252627',
-			'font':'22px microsoft yahei',
-			'display': 'inline-block',
-			'margin-top':'10px'
-		})
-	}
-
-    //页面跳转相关
-    function next(){
-        if($(".nbnext").hasClass("disabled")){
-            return false;
-        }
-		$(".tabContainer").hide();
-		$(".hasNoData").hide();
-		$(".pagination").hide();
-		$(".working").show();
-        if(currentPage<10){
-            currentPage++;
-		}
-        //currentPage = parseInt($(".pagination-inner").find("span").text())+parseInt(1)
-        if(currentPage==10){
-            $(".nbnext").addClass("disabled");
-        }else if(currentPage==2){
-            $(".nbprev").removeClass("disabled");
-        }
-        $(".currentPage").text(currentPage);
-		if(!$(".tabTitle").hasClass("hidden") || $("#zbSeatchT [name='searchvalue']").val()==""){
-			getNewBids(currentPage)
-		}else{
-			if($("#right-table").hasClass("active")){
-				getVIPData();
-			}else{
-	        	searchOnsubmit();
-			}
-		}
-    }
-
-    function prev(){
-        if($(".nbprev").hasClass("disabled")){
-            return false;
-        }
-		$(".tabContainer").hide();
-		$(".hasNoData").hide();
-		$(".pagination").hide();
-		$(".working").show();
-        if(currentPage>1){
-            currentPage--;
-		}
-        //currentPage = parseInt($(".pagination-inner").find("span").text())-parseInt(1)
-        if(currentPage==1){
-            $(".nbprev").addClass("disabled");
-        }else if(currentPage<10){
-            $(".nbnext").removeClass("disabled");
-        }
-        $(".currentPage").text(currentPage);
-		if(!$(".tabTitle").hasClass("hidden") || $("#zbSeatchT [name='searchvalue']").val()==""){
-			getNewBids(currentPage)
-		}else{
-			if($("#right-table").hasClass("active")){
-				getVIPData();
-			}else{
-				searchOnsubmit();
-			}
-		}
-    }
-
-    function searchOnsubmit(){
-        var param = {
-            searchvalue: $("#zbSeatchT [name='searchvalue']").val(),
-            area: $("#zbSeatchT [name='area']").val(),
-            minprice: $("#zbSeatchT [name='minprice']").val(),
-            maxprice: $("#zbSeatchT [name='maxprice']").val(),
-            pricetype: $("#zbSeatchT [name='pricetype']").val(),
-            currentPage: currentPage
-        };
-        $.post("/jylab/pcSearchZbqyAjax",param,function(r){
-			if(currentPage == 1){
-				totalPage = r.totalPage;
-			}
-            if(r.list == null || r.list.length == 0){
-				$(".seaTender-inner").css({'border':''});
-                $(".tabContainer").hide();
-                $(".pagination").hide();
-                $(".working").hide();
-                $(".hasNoData").show();
-            }else{
-                //$(".pagination").show();
-                $(".hasNoData").hide();
-				setTimeout(function(){
-					getSearchTable(r.list);
-				},3000)
-
-            }
-        });
-    }
-
-    function getSearchTable(datas) {
-		$(".tabContainer-2 .entlist").removeClass("tabfixed");
-		$(".tabContainer-2 .entlist").removeClass("tababsolute");
-		$(".tabContainer-2 .entlist").children("table").eq(0).css("top","");
-		$(".working").hide();
-		$(".hasNoData").hide();
-		$(".pagination").show();
-		$(".tabContainer").show();
-		if(searchvalue==""){
-			if(currentPage == 10 || datas.length < pageSize){
-				$(".nbnext").addClass("disabled");
-			}else{
-				$(".nbnext").removeClass("disabled");
-			}
-		}else{
-			if(currentPage == totalPage){
-				$(".nbnext").addClass("disabled");
-			}else{
-				$(".nbnext").removeClass("disabled");
-			}
-		}
-        var listItem = "";
-        var formItem = "";
-		var tableHtml = "";
-		$(".currentPage").text(currentPage);
-		listItem += '<ul>';
-		for(var i=0; i<datas.length; i++){
-			var index = (currentPage - 1) * pageSize + i + 1;
-			if(searchvalue==""){
-				listItem +='<li>'
-							+'<div class="liLuceneList">'
-							+'<div class="luce-left">'
-							+'<div class="left-title">'
-							+'<em>'+index+'.</em>'
-							+'<a onclick="noIn(this)" dataid="'+datas[i]._id+'" target="_blank">'+datas[i].title+'</a>'
-							+'</div>'
-							+'</div>'
-							+'<div class="luce-right">'
-				if(typeof(datas[i].area) != "undefined" &&datas[i].area != "" && datas[i].area != null&&datas[i].area != "A" ){
-					listItem +='<a href="/list/area/'+datas[i].areaadd+'.html">'+datas[i].area+'</a>'
-				}else{
-					listItem +='<a href="javascript:volid(0);" style="display:none;"></a>'
-				}
-				//
-				var stype = datas[i].subtype
-				if(stype==""){
-					stype==datas[i].toptype
-				}
-				if(stype==""){
-					if(datas[i].bidtype == "bid"){
-						stype = "中标";
-						datas[i].stypeadd="ZHB"
-					}else if(datas[i].bidtype == "tender"){
-						datas[i].stypeadd="ZB"
-						stype = "招标";
-					}else{
-						stype = "";
-					}
-				}
-				if(typeof(stype) != "undefined" &&stype != "" && stype != null){
-					listItem +='<a href="/list/stype/'+datas[i].stypeadd+'.html">'+stype+'</a>'
-				}else{
-					listItem +='<a href="javascript:volid(0);" style="display:none;"></a>'
-				}
-				//
-				if(typeof(datas[i].industry) != "undefined" && datas[i].industry != null && datas[i].industry != ""){
-					listItem += '<a href="/list/industry/'+datas[i].indadd+'.html">'+datas[i].industry+'</a>';
-				}else{
-					listItem += '<a href="javascript:volid(0);" style="display:none;"></a>';
-				}
-        //
-        var amount= getacount(datas[i].bidamount,datas[i].budget)
-  			if(amount!=""){
-  				listItem += '<a>'+conversionMoeny(amount)+'</a>';
-  			}else{
-  				listItem += '<a href="javascript:volid(0);" style="display:none;"></a>';
-  			}
-				//
-				if(typeof(datas[i].publishtime) != "undefined" && datas[i].publishtime != null && datas[i].publishtime != ""){
-					var diff = timeDiff(new Date(Number(datas[i].publishtime+"000")));
-					if(diff != null){
-						listItem += '<span class="com-time">'+diff+'</span>';
-					}
-				}
-				listItem+='</div></div></li>'
-        if (i >= 20||currentPage!=1){
-    			continue
-    		}
-				tableHtml +='<tr onclick="noIn(this)" dataid="'+datas[i]._id+'" dataindustry="'+datas[i].industry+'" target="_blank">'
-						+'<td width="48"><div>'+index+'</div></td>'
-
-				if(typeof(datas[i].projectname) != "undefined" && datas[i].projectname != null && datas[i].projectname != ""){
-					tableHtml += '<td class="tt-l" width="315"><div>'+datas[i].projectname+'</div></td>';
-				}else{
-					tableHtml += '<td class="tt-l" width="315"><div>'+datas[i].title+'</div></td>';
-				}
-
-				if(typeof(stype) != "undefined" && stype != null && stype != ""){
-					tableHtml += '<td width="84"><div>'+stype+'公告</div></td>';
-				}else{
-					tableHtml += '<td width="84"><div></div></td>';
-				}
-
-				if(typeof(datas[i].budget) != "undefined" && datas[i].budget != null && datas[i].budget != ""){
-					var budget =parseInt(datas[i].budget)/10000
-					if(budget.toString().length>6){
-						if(budget.toString().indexOf(".")==5){
-							budget=budget.toString().substr(0,7)
-						}else{
-							budget=budget.toString().substr(0,6)
-						}
-					}
-					tableHtml += '<td class="tt-r" width="73"><div>'+budget+'</div></td>';
-				}else{
-					tableHtml += '<td class="tt-r" width="73"><div></div></td>';
-				}
-				if(typeof(datas[i].buyer) != "undefined" && datas[i].buyer != null && datas[i].buyer != ""){
-					tableHtml += '<td class="tt-l" width="181"><div>'+datas[i].buyer+'</div></td>';
-				}else{
-					tableHtml += '<td class="tt-l" width="181"><div></div></td>';
-				}
-				if(typeof(datas[i].bidopentime) != "undefined" && datas[i].bidopentime != null && datas[i].bidopentime != ""){
-					var diff = formatDate(Number(datas[i].bidopentime),"l");
-					tableHtml += '<td width="103"><div>'+diff+'</div></td>';
-				}else{
-					tableHtml += '<td width="103"><div></div></td>';
-				}
-				if(typeof(datas[i].winner) != "undefined" && datas[i].winner != null && datas[i].winner != ""){
-					tableHtml += '<td class="tt-l" width="174"><div>'+datas[i].winner+'</div></td>';
-				}else{
-					tableHtml += '<td class="tt-l" width="174"><div></div></td>';
-				}
-				if(typeof(datas[i].bidamount) != "undefined" && datas[i].bidamount != null && datas[i].bidamount != ""){
-					var bidamount = parseInt(datas[i].bidamount)/10000;
-					if(bidamount.toString().length>6){
-						if(bidamount.toString().indexOf(".")==5){
-							bidamount=bidamount.toString().substr(0,7);
-						}else{
-							bidamount=bidamount.toString().substr(0,6);
-						}
-					}
-					tableHtml += '<td class="tt-r" width="76"><div>'+bidamount+'</div></td>';
-				}else{
-					tableHtml += '<td class="tt-r" width="76"><div></div></td>';
-				}
-
-				if(typeof(datas[i].publishtime) != "undefined" && datas[i].publishtime != null && datas[i].publishtime != ""){
-					var diff = formatDate(Number(datas[i].publishtime),"s");
-					if(diff != null){
-						tableHtml += '<td width="103"><div>'+diff+'</div></td>';
-					}
-				}else{
-					tableHtml += '<td width="103"><div></div></td>';
-				}
-					tableHtml+='</tr>'
-			}else{
-				 formItem += '<tr onclick="noIn(this)" dataid="'+datas[i].linkid+'">'+
-							'<td width="45">'+index+'</td>'
-				//
-				var bidtime = datas[i].jgtime||datas[i].zbtime;
-				var diff = bidtime&&formatDate(Number(bidtime),"s");
-				if(diff){
-					formItem += '<td width="150">'+diff+'</td>';
-				}else{
-					formItem += '<td width="150"></td>';
-				}
-				formItem +='<td class="tt-l" width="854">'+datas[i].projectname+'</td>'
-				//
-				if(typeof(datas[i].bidamount) != "undefined" && datas[i].bidamount != null && datas[i].bidamount != ""){
-					var bidamount = parseInt(datas[i].bidamount)/10000;
-					formItem += '<td class="tt-r" width="150">'+bidamount+'</td>';
-				}else{
-					formItem += '<td width="150"></td>';
-				}
-				formItem +='</tr>'
-			}
-		}
-		listItem += '</ul>';
-		$(".lucene").html(listItem);
-		if(searchvalue==""){
-			$(".lucene-table").removeClass("entlist");
-      if(currentPage==1){
-  			$(".formTable").html(tableHtml);
-      }
-      $(".shade_table").show();
-      $(".lucene-table").css({"margin-bottom":"60px"});
-		}else{
-			$(".lucene-table").addClass("entlist");
-			$(".formTable").html(formItem);
-      $(".shade_table").hide();
-      //$(".tabContainer").css({"margin-bottom":"30px"});
-		}
-    }
-
-    //关闭超级搜索遮罩层
-    function labClose(){
-        $("#labModal").modal("hide");
-    }
-
-	//关闭实验室功能弹框提示
-	function labWelClose(){
-		$("#welcome").modal("hide");
-	}
-	//
-	function formatDate(date,sl)   {
-		var myDate = new Date(date*1000);
-	    var   year=myDate.getFullYear();
-	    var   month=myDate.getMonth()+1;
-	    var   date=myDate.getDate();
-		var hour = myDate.getHours()
-		var min = myDate.getMinutes()
-		if(sl=="l"){
-			if(hour<10){
-				hour="0"+hour
-			}
-			if(min<10){
-				min="0"+min
-			}
-			return   year+"-"+month+"-"+date+"<br>"+hour+":"+min;
-		}else{
-			return   year+"-"+month+"-"+date;
-		}
-	}
-	//未登录
-	function noIn(p){
-		var thisId = $(p).attr("dataId");
-		var dataindustry = $(p).attr("dataindustry");
-		dataId = thisId;
-		if(loginflag){
-			var aHref = "";
-			if(searchvalue != ""){
-				if(dataindustry!=""&&dataindustry!=undefined){
-					aHref += '.html?kds='+searchvalue+'&industry='+dataindustry;
-				}else{
-					aHref += '.html?kds='+searchvalue;
-				}
-			}else{
-				if(dataindustry!=""&&dataindustry!=undefined){
-					aHref += '.html?industry='+dataindustry;
-				}else{
-					aHref += '.html';
-				}
-			}
-			window.open("/article/content/"+thisId+aHref);
-		}else{
-			$('#bidLogin').modal("show");
-		}
-	}
-
-	//关闭遮罩层
-	function layerClose(){
-		$("#myModal").modal("hide");
-	}
-
-  function getacount(bidamount,budget){
-  	if(typeof(bidamount) != "undefined" && bidamount != null && bidamount != ""){
-  		return bidamount
-  	}
-  	if(typeof(budget) != "undefined" && budget != null && budget != ""){
-  		return budget
-  	}
-  	return ""
-  }
-
-  //金额转化   金额:0-万元以下单位为元  ,万元以上至亿元以下单位为万元 ,亿元以上单位为亿元。保留 小数点后 2 位,不进行四舍五入。
-  function conversionMoeny(money){
-  	var m = ""+money;
-  	var m_arr = m.split(".")
-  	var m_1 = m_arr[0]
-  	var len_m1 = m_1.length;
-  	if (len_m1 >= 9 ){
-  		m = m_1.substring(0,len_m1-8) + "." + m_1.substring(len_m1-8,len_m1-6) + "亿元"
-  	} else if (len_m1 >= 5) {
-  		m =m_1.substring(0,len_m1-4) + "." + m_1.substring(len_m1-4,len_m1-2) + "万元"
-  	} else {
-  		if(m_arr.length == 1) {
-  			return m + ".00元"
-  		}
-  		var m_2 = m_arr[1]
-  		if (m_2.length > 1) {
-  			m_2 = m_2.substring(0,2)
-  		} else {
-  			m_2 = m_2.substring(0,1) + "0"
-  		}
-  		m = m_1 + "." + m_2 + "元"
-  	}
-  	return m
-  }
-
-</script>
-
-</body>
-
-</html>
-
+
+<html lang="zh-cn">
+	<head>
+		<title>招标搜索结果_{{Msg "seo" "qfw.swordfishsl.title"}}</title>
+		<meta name="Keywords" content="{{Msg "seo" "qfw.swordfishsl.key"}}"/>
+		<meta name="Description" content="{{Msg "seo" "qfw.swordfishsl.description"}}"/>
+		<meta name="renderer" content="webkit">
+		<meta content="telephone=no" name="format-detection"/>
+        <meta content="招标搜索" theme="light" name="enable-header"/>
+		{{include "/common/pnc.html"}}
+		<link href="{{Msg "seo" "cdn"}}/css/pc.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+		<link href="{{Msg "seo" "cdn"}}/css/dev2/reset_pc.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+		<link href="{{Msg "seo" "cdn"}}/css/dev2/biddingSearch.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+		<link href="{{Msg "seo" "cdn"}}/css/dev2/superSearch.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+		<script src="{{Msg "seo" "cdn"}}/js/jquery.cookie.js"></script>
+		<script src="{{Msg "seo" "cdn"}}/js/biddingSearch.js?v={{Msg "seo" "version"}}"></script>
+		<script language="javascript" type="text/javascript" src="{{Msg "seo" "cdn"}}/My97DatePicker/WdatePicker.js"></script>
+		<link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/pccss/public-nav-1200.css?v={{Msg "seo" "version"}}" />
+		<script type="text/javascript" src="{{Msg "seo" "cdn"}}/js/public-nav.js?v={{Msg "seo" "version"}}"></script>
+
+		<style type="text/css">
+			#searchInner .pagination a:hover{
+				color:#97310e !important;
+			}
+			#searchInner .pagination a.disabled{
+				color: #aea79f !important;
+				background-color: #fff ;
+				border-color: #ddd;
+				cursor: not-allowed;
+			}
+			#searchInner .pagination a:visited{
+				color:#1d1d1d;
+			}
+
+			/*j-wx-code Start*/
+			.j-wx-code{
+				width: 335px;
+				height: 355px;
+				background-color: #fff;
+				-webkit-border-radius: 6px;
+				   -moz-border-radius: 6px;
+				        border-radius: 6px;
+				position: relative;
+				/*margin: 100px auto;*/
+			}
+			.j-wx-code>.code-close{
+				width: 40px;
+				height: 40px;
+				position: absolute;
+				right: -20px;
+				top: -20px;
+				cursor: pointer;
+				-webkit-transition: all 1s;
+				-o-transition: all 1s;
+				-moz-transition: all 1s;
+				transition: all 1s;
+			}
+			.j-wx-code>.code-close:hover{
+				-webkit-transform: scale(1.2);
+				   -moz-transform: scale(1.2);
+				    -ms-transform: scale(1.2);
+				     -o-transform: scale(1.2);
+				        transform: scale(1.2);
+			}
+			.j-wx-code>.code-title{
+				height: 82px;
+				background:url(/images/j-wx-code-title.png) center center no-repeat;
+				-webkit-animation: moveYun 15s infinite linear both;
+				   -moz-animation: moveYun 15s infinite linear both;
+				     -o-animation: moveYun 15s infinite linear both;
+				        animation: moveYun 15s infinite linear both;
+			}
+			.j-wx-code>.code-wxm{
+				text-align: center;
+				margin-bottom: -6px;
+				margin-top: -16px;
+
+			}
+			.j-wx-code>.code-wxm>img{
+				width: 200px;
+				height: 200px;
+				margin-top: -5px;
+			}
+			.j-wx-code>.code-text{
+				font: 16px "microsoft yahei";
+				text-align: center;
+				color: #252627;
+			}
+			.j-wx-code>.code-bottom{
+				width: 470px;
+				height: 211px;
+				position: absolute;
+				bottom: -113px;
+				left: -73px;
+				background: url(/images/j-wx-code-bottom.png) 0 0 no-repeat;
+			}
+			.j-wx-code>.code-bottom>img{
+				position: absolute;
+				left: 280px;
+				top: 88px;
+				-webkit-animation: codeWxMove 10s linear both;
+				   -moz-animation: codeWxMove 10s linear both;
+				     -o-animation: codeWxMove 10s linear both;
+				        animation: codeWxMove 10s linear both;
+				-webkit-animation-fill-mode:forwards;
+				   -moz-animation-fill-mode:forwards;
+				     -o-animation-fill-mode:forwards;
+				        animation-fill-mode:forwards;
+			}
+			#keyImg{
+				width:198px;
+			}
+			/*
+			#layerImg{
+				position:absolute;
+				width: 150px !important;
+			    height: 150px !important;
+			    left: 198px;
+			    top: 148px;
+			}*/
+			#labmodalbody .code-close{
+				width: 40px;
+			    height: 40px;
+			    position: absolute;
+			    right: 40px;
+			    top: -20px;
+			    cursor: pointer;
+			    -webkit-transition: all 1s;
+			    -o-transition: all 1s;
+			    -moz-transition: all 1s;
+			    transition: all 1s;
+			}
+			#labmodalbody .code-close:hover{
+				-webkit-transform: scale(1.2);
+				   -moz-transform: scale(1.2);
+				    -ms-transform: scale(1.2);
+				     -o-transform: scale(1.2);
+				        transform: scale(1.2);
+			}
+			.layheader{
+				position: absolute;
+			    color: #fff;
+			    left: 138px;
+			    top: 40px;
+			    line-height: 32px;
+			    font-family: 微软雅黑;
+			    font-weight: bold;
+			}
+
+			.layheader div:nth-child(1){
+				font-size:20px;
+				width:272px;
+			}
+			.layheader div:nth-child(2){
+				font-size:16px;
+				margin-top:10px;
+				width:272px;
+			}
+			.modal-footer{
+				text-align: center;
+			    position: absolute;
+			    bottom: 65px;
+			    left: 110px;
+			    font-size: 14px;
+			    line-height: 22px;
+			    color: #686868;
+			}
+			.modal-dialog{
+				width:500px;
+			}
+			/*add*/
+			.searchSlideText ul li{
+				float: none;
+			}
+			/*功能提示*/
+			#labwelcomebody .welcomeImg{
+				width: 335px;
+    			height: 402px;
+			}
+			#labwelcomebody .code-close{
+				width: 40px;
+			    height: 40px;
+			    position: absolute;
+			    right: 63px;
+			    top: -20px;
+			    cursor: pointer;
+				-webkit-transition: all 1s;
+   				-o-transition: all 1s;
+   				-moz-transition: all 1s;
+    			transition: all 1s;
+			}
+			.modal-footer-welcome{
+				width:273px;
+				margin:auto;
+			    font-size: 16px;
+			    line-height: 26px;
+				margin-top: -133px;
+			}
+
+			#labwelcomebody .code-close:hover{
+				 -webkit-transform: scale(1.2);
+	   				-moz-transform: scale(1.2);
+	   				 -ms-transform: scale(1.2);
+	     			  -o-transform: scale(1.2);
+	        			 transform: scale(1.2);
+			}
+			/*价格*/
+			.minwy{
+				position: absolute;
+			    left: 124px;
+			    top: 7.5px;
+			    color: #ccc;
+			}
+			.maxwy{
+				position: absolute;
+			    right: 8px;
+			    top: 7.5px;
+			    color: #ccc;
+			}
+			.PriceInput{
+				position:relative;
+			}
+			.j-clearicon {
+			    right: 118px !important;
+			}
+			.lucene-table tr{
+				cursor: pointer;
+			}
+			#labImg {
+			    position: absolute;
+			    width: 150px !important;
+			    height: 150px !important;
+			    left: 198px;
+			    top: 148px;
+			}
+			#searchInner .searchControl .seaTender-inner .tabContainer .lucene-table.entlist table{
+				width: 1200px;
+			}
+			.working{
+				border: 1px solid #e0e0e0 !important;
+			}
+		</style>
+	</head>
+    <!-- 中标企业搜索页面 -->
+	<body>
+	{{include "/common/pchead.html"}}
+		<div class="modal fade" id="labModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
+		    <div class="modal-dialog">
+		        <div class="modal-content" id="labmodalcont">
+		            <div class="modal-body" id="labmodalbody">
+					<img class="code-close" src="{{Msg "seo" "cdn"}}/images/j-wx-code-close.png" alt="" onclick="labClose();">
+						<div class="layheader">
+							<div>超级搜索</div>
+							<div>按行业、金额搜索,结果可按表格显示</div>
+						</div>
+						<img src="{{Msg "seo" "cdn"}}/images/biddingSearch/labbkimg.png"/>
+						<img id="labImg" src=""/>
+					</div>
+		            <div class="modal-footer">
+		                此功能尚处在实验阶段,请扫码进入<br>剑鱼标讯实验室,打开相应开关后,即可体验!
+		            </div>
+		        </div><!-- /.modal-content -->
+		    </div><!-- /.modal -->
+		</div>
+		<div class="modal fade" id="myModal"  tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" >
+			<div class="modal-dialog" style="width:400px;border:0px;" >
+				<div class="j-wx-code" id="myModal-div">
+					<img class="code-close" src="{{Msg "seo" "cdn"}}/images/j-wx-code-close.png" alt="" onclick="layerClose();"/>
+					<div class="code-title"></div>
+					<div class="code-wxm"><img id="layerImg" src="/front/share/{{.T.shareid}}"/></div>
+					<div class="code-text">
+						<span><img id="wxpng" src="{{Msg "seo" "cdn"}}/images/wx1.png"/>微信扫码登录</span>
+						<br/>
+						<span id="freetext">立即免费使用</span>
+					</div>
+					<div class="code-bottom">
+						<img src="{{Msg "seo" "cdn"}}/images/j-wx-cose-move.png" alt=""/>
+					</div>
+				</div>
+			</div>
+		</div>
+		<div class="modal fade" id="welcome" tabindex="-1" role="dialog" aria-labelledby="welcome" aria-hidden="false">
+		    <div class="modal-dialog">
+		        <div class="modal-content" id="labmodalcont">
+		            <div class="modal-body" id="labwelcomebody">
+					<img class="code-close" src="{{Msg "seo" "cdn"}}/images/j-wx-code-close.png" alt="" onclick="labWelClose();">
+					<img class="welcomeImg" src="{{Msg "seo" "cdn"}}/images/biddingSearch/welcomeusejylab.png"/>
+		           		<div class="modal-footer-welcome">
+							欢迎体验剑鱼标讯实验室—中标企业搜索功能。实验随时可能结束,或者进行调整,请密切关注剑鱼标讯通知。
+		           		</div>
+					</div>
+		        </div><!-- /.modal-content -->
+		    </div><!-- /.modal -->
+		</div>
+		<section id="searchInner">
+			<!--搜索头部 START-->
+			<div class="searchHeader">
+				<div class="w searchHeader-container">
+					<!--搜索-->
+					<div class="searchInput clearfix">
+						<form action="/jylab/bidsearchforent/index.html" method="post" id="zbSeatchT" class="clearfix">
+							<input class="searchname" autocomplete="off" type="search" name="keywords" id="searchinput" value="{{.T.searchvalue}}" placeholder="中标企业搜索" />
+
+							<input type="submit" class="searchBtn" value="搜索"/>
+							<img src="{{Msg "seo" "cdn"}}/images/pc_20.png" id="t-clear" class="j-clearicon" style="display:none;">
+							<div class="searchSlideText">
+								<ul>
+								</ul>
+							</div>
+							<input type="hidden" name="searchvalue" value="{{.T.searchvalue}}">
+							<input type="hidden" name="area" value="{{.T.area}}">
+							<input type="hidden" name="minprice" value="{{.T.minprice}}">
+							<input type="hidden" name="maxprice" value="{{.T.maxprice}}">
+							<input type="hidden" name="pricetype" value="{{.T.pricetype}}">
+						</form>
+						<!--筛选-->
+						<div id="screenBtn" class="screen down">
+							筛选
+						</div>
+						<!--二维码-->
+						<div class="search-right-wx">
+							<img src="{{Msg "seo" "cdn"}}/images/biddingSearch/sea-right-wx.png" />
+							<div class="search-right-wx-inner">
+								<div class="wx-inner-title">
+									扫码关注剑鱼标讯
+								</div>
+								<div class="wx-inner-ewm">
+									<img  id="keyImg" src="/front/share/{{.T.shareid}}"/>
+								</div>
+								<div class="wx-inner-bottom"  style="font-size:14px">
+									微信扫一扫<br>随时随地掌握招标信息
+		<!--						微信扫一扫,及时获取及时获取<i>"1"</i>相关招标信息-->
+								</div>
+							</div>
+						</div>
+					</div>
+
+					<!--整体页面切换tab-->
+					<div class="control-tabBtn">
+						<span class="bidbutdir" style="left:187px;"></span>
+						<a class="supbtn" left="50" href="javascript:void(0)">
+							<i></i><font>招标搜索</font>
+						</a>
+						<a href="#" class="on" left="187"><i></i>中标企业搜索</a>
+						<a href="{{Msg "seo" "url.portrait_winner"}}"{{if not .T.portraitpower}} class="hidden"{{end}} left="335"><i></i>中标企业画像</a>
+						<a href="{{Msg "seo" "url.portrait_buyer"}}"{{if not .T.portraitpower}} class="hidden"{{end}} left="485"><i></i>采购单位画像</a>
+					</div>
+				</div>
+			</div>
+
+	<!--招标搜索页面 START-->
+	<div class="searchControl">
+		<!--头部功能-->
+		<div class="searchTender w" style="display:none;">
+			<!--价格区间-->
+			<div class="Price clearfix">
+				<div class="leftTitle">
+					价格区间:
+				</div>
+				<div class="Price-content clearfix">
+					<span class="active">全部</span>
+					<div class="pricefat">
+						<div class="PriceInput">
+							<input type="text" name="minprice" id="minprice" value="{{.T.minprice}}" placeholder="" />
+							<font class="minwy">万元</font>
+							<span></span>
+							<font class="maxwy">万元</font>
+							<input type="text" name="maxprice" id="maxprice" value="{{.T.maxprice}}" placeholder="" />
+						</div>
+						<button class="pricebut" style="display:none;">确定</button>
+					</div>
+				</div>
+			</div>
+			<!--项目地区-->
+			<div class="region clearfix" style="border: none;">
+				<div class="leftTitle">
+					项目地区:
+				</div>
+				<div class="region-content">
+					<span id="regionBtn" class=" active">全国</span>
+					<i class="diver">A</i>
+					<font>安徽</font>
+					<font>澳门</font>
+					<i class="diver">B</i>
+					<font>北京</font>
+					<i class="diver">C</i>
+					<font>重庆</font>
+					<i class="diver">F</i>
+					<font>福建</font>
+					<i class="diver">G</i>
+					<font>广东</font>
+					<font>广西</font>
+					<font>贵州</font>
+					<font>甘肃</font>
+					<i class="diver">H</i>
+					<font>河北</font>
+					<font>湖北</font>
+					<font>黑龙江</font>
+					<font>海南</font>
+					<font>河南</font>
+					<font  style="margin-right: 45px;">湖南</font>
+					<i class="diver">J</i>
+					<font>吉林</font>
+					<br>
+					<font>江苏</font>
+					<font>江西</font>
+					<i class="diver">L</i>
+					<font>辽宁</font>
+					<i class="diver">N</i>
+					<font>内蒙古</font>
+					<font>宁夏</font>
+					<i class="diver">Q</i>
+					<font>青海</font>
+					<i class="diver">S</i>
+					<font>山西</font>
+					<font>陕西</font>
+					<font>上海</font>
+					<font>山东</font>
+					<font>四川</font>
+					<i class="diver">T</i>
+					<font>天津</font>
+					<font>台湾</font>
+					<i class="diver">X</i>
+					<font>西藏</font>
+					<font>新疆</font>
+					<font>香港</font>
+					<i class="diver">Y</i>
+					<font>云南</font>
+					<i class="diver">Z</i>
+					<font>浙江</font>
+				</div>
+			</div>
+		</div>
+		<!--招标搜索列表内容-->
+		<div class="seaTender-inner w">
+			<!--招标tab切换-->
+			<div class="tabTitle clearfix">
+				<ul>
+					<li>
+						<a class="active" href="javascript:;" style="width:100px;">最新招标信息</a>
+					</li>
+				</ul>
+				<div class="right-tabBtn">
+					<button id="right-list" class="active">列表</button>
+					<button id="right-table">表格</button>
+				</div>
+			</div>
+			<!--tab切换内容-->
+			<div class="tabContainer tabContainer-2"  id="allnews">
+				<!--全文搜索 列表-->
+				<div class="lucene">
+					<ul id="ul_list">
+
+					</ul>
+				</div>
+				<!--全文搜索 表格 展示中标企业搜索数据-->
+				<div class="lucene-table" style="display: none;">
+					<table>
+						<thead>
+						<tr>
+						{{if .T.searchvalue}}
+							<td width="45">序号</td>
+							<td width="150" style="border-top: 4px solid #2C90CB;">中标日期</td>
+							<td width="854">项目名称</td>
+							<td width="150" style="border-top: 4px solid #2C90CB;">中标金额(万元)</td>
+						{{else}}
+							<td width="48">序号</td>
+							<td width="315" style="border-top: 3px solid #2C90CB;">项目名称</td>
+							<td width="84">公告类型</td>
+							<td width="73" style="border-top: 3px solid #2C90CB;">预算<br>(万元)</td>
+							<td width="181">招标单位</td>
+							<td width="103" style="border-top: 3px solid #2C90CB;">开标时间</td>
+							<td width="174">中标单位</td>
+							<td width="76" style="border-top: 3px solid #2C90CB;">中标金额<br>(万元)</td>
+							<td width="103">发布时间</td>
+						{{end}}
+						</tr>
+						</thead>
+					</table>
+					<table>
+						<tbody class="formTable" id="formTable">
+
+						</tbody>
+					</table>
+          <div class="shade_table" style="">
+            <div class="more" data-need-bind-phone>
+              查看更多&gt;
+            </div>
+          </div>
+				</div>
+			</div>
+			<div class="hasNoData" style="display: none;">
+				<img style="width: 216px;margin: 45px auto;" src="{{Msg "seo" "cdn"}}/images/pc_12.png" id="hasNoData">
+				<div style="color:#2cb7ca;">没有找到与该关键词匹配的信息</div>
+			</div>
+			<div class="working" style="display: none;">
+				<img style="width: 216px;margin: 45px auto;" src="{{Msg "seo" "cdn"}}/images/wx/working.gif">
+				<div style="color:#2cb7ca;">剑鱼标讯正在努力工作中···</div>
+			</div>
+		</div>
+		<!--分页-->
+		<div class="pagination clearfix w" style="display:none;">
+			<div class="pagination-inner fr">
+				<a class="nbprev disabled" href="#"><i><</i>上一页</a>
+				<span class="currentPage">1</span>
+				<a class="nbnext" href="#">下一页<i>></i></a>
+			</div>
+		</div>
+	</div>
+	<!--招标搜索页面 END-->
+</section>
+
+    {{include "/common/pcbottom.html"}}
+    {{include "/common/baiducc.html"}}
+
+    <script>
+    $(".shade_table .more").on('click', toPaydataExport)
+	var searchVal = ""
+    $(function() {
+		$(".control-tabBtn>a").hover(function(){
+			$(".control-tabBtn>a").removeClass("on");
+			$(this).addClass("on");
+			$(".control-tabBtn>.bidbutdir").css("left",$(this).attr("left"));
+		},function(){
+			$(".control-tabBtn>a").removeClass("on");
+			$(".control-tabBtn>a:eq(1)").addClass("on");
+			$(".control-tabBtn>.bidbutdir").css("left",$(".control-tabBtn>a:eq(1)").attr("left"));
+		});
+		var oInput=document.getElementById("searchinput");
+		moveEnd(oInput)
+		priceTime();
+		$(".searchname").focus();
+		new JyWebScoket.qrToLab();
+		var recList = "";
+		var len = "";
+        $("#searchinput").on("input propertychange",function(){
+			var searchInput = $("#searchinput").val().trim();
+            if(searchInput == searchVal){
+                return false;
+            }
+            searchVal = searchInput;
+            if($.trim(searchInput).length > 0){
+				$("#t-clear").show();
+                getRecList(searchInput);
+            }else{
+				$("#t-clear").hide();
+                $(".searchSlideText").hide();
+            }
+        });
+
+		$("#t-clear").click(function(){
+			$("#t-clear").hide();
+			$("#searchinput").val("").focus();
+		})
+        //隐藏企业推荐列表
+        $("body").on("click",function (e) {
+            if(e.target.id != "searchinput") {
+                $(".searchSlideText").hide();
+            }
+        });
+    });
+	var scIndex = "";
+	var selected = false;
+	var prevDiff = null;
+	var firstItem = 0;
+	var index = -1;
+	var con = 10;
+	var backbottomFlag = false;
+    //企业推荐列表
+   	 function getRecList(entName_key) {
+		prevDiff = null;
+		firstItem = 0;
+		index = -1;
+		con = 10;
+		backbottomFlag = false;
+        $(".searchSlideText ul").html("");
+        $.post("/jylab/bidsearchforent/recList",{entName:entName_key},function(r){
+            if(r){
+                if(typeof (r.recList)!="undefined"){
+                    recList = r.recList;
+					len = recList.length;
+					var html = "";
+                    for(var i=0;i<recList.length;i++){
+                        var entName = recList[i].name;
+                        if(entName!="" && entName.length>36){
+                            entName = entName.substr(0,36)+"...";
+                        }
+                        html += "<li>"+entName.replace(entName_key,"<i>"+entName_key+"</i>")+"</li>";
+                    }
+					var htmlObj = $(html);
+					htmlObj.mouseover(function(){
+						var currentDiff = $(this).index() - firstItem;
+						if(prevDiff != null && backbottomFlag){
+							backbottomFlag = false;
+							prevDiff = $(this).index() - firstItem;
+							return;
+						}
+						if(prevDiff != null && currentDiff == prevDiff){
+							return;
+						}
+						index = $(this).index();
+						prevDiff = $(this).index() - firstItem;
+						$(".searchSlideText").find("li").css("background-color","")
+						$(this).css("background-color","#f4f4f7");
+					});
+					$(".searchSlideText ul").append(htmlObj);
+                }
+            }
+            if($(".searchSlideText ul li").length>=10){
+                $(".searchSlideText").css("height","400px");
+            }else{
+                $(".searchSlideText").css("height","auto");
+            }
+            $(".searchSlideText").show();
+
+            $(".searchSlideText ul li").click(function(){
+                if($(this).text()!=""){
+                    $("#searchinput").val($(this).text());
+                    $(".searchSlideText").hide();
+                    $(".searchBtn").click();
+                }
+            });
+        });
+    }
+
+	$(".searchSlideText").scroll(function(){
+		var d = $(this).scrollTop() / 40;
+		var s = parseInt(d);
+		if(d-s == 0){
+			con = 10;
+			firstItem = s;
+		}else if(d-s >= 0.5){
+			con = 9;
+			firstItem = s + 1;
+		}else{
+			con = 10;
+			firstItem = s;
+		}
+	});
+
+	//方向键选择
+	$(".searchname").keydown(function(event){
+		var key = event.keyCode;
+		var $scrollTop = $(".searchSlideText").scrollTop();
+		if($.trim($(this).val()).length == 0){
+			return;
+		}
+		if(key == 38){ //向上按钮
+			event.preventDefault();
+			if(index < firstItem && index != -1){
+				index = firstItem+1;
+			}else if(index > firstItem+con){
+				index = firstItem+con;
+				if(index > len-1){
+					index = len-1;
+				}
+			}
+			index--;
+			if(index < 0){
+				index = len-1;
+				$(".searchSlideText").scrollTop(len*40);
+				backbottomFlag = true;
+			}else{
+				if(index == 0){ //到顶了
+					$(".searchSlideText").scrollTop(0);
+				}else if(index == firstItem - 1){
+					$scrollTop -= 40;
+					$(".searchSlideText").scrollTop($scrollTop);
+				}
+			}
+			selected = true;
+			scIndex = index;
+		}else if(key == 40){ //向下按钮
+			event.preventDefault();
+			index++;
+			//处理滚动滑轮淹没上次选中li情况
+			if(index < firstItem){
+				index = firstItem;
+			}else if(index > firstItem+con){
+				index = firstItem+con-1;
+				if(index > len-1){
+					index = len-1;
+				}
+			}
+			if(index-firstItem == con){
+				$scrollTop += 40;
+				$(".searchSlideText").scrollTop($scrollTop);
+			}
+			if(index == len-1){
+				if(prevDiff != null){
+					backbottomFlag = true;
+				}
+			}
+			if(index == len){ //到底了
+				index = 0;
+				$(".searchSlideText").scrollTop(0);
+			}
+			selected = true;
+			scIndex = index;
+		}
+
+		$(".searchSlideText li").css("background", "");
+		$(".searchSlideText").find("li:eq("+index+")").css("background", "#f4f4f7");
+	})
+	</script>
+
+	<script>
+		var mainList = {{.T.list}};
+		var totalPage = {{.T.totalPage}};
+		var submitflag = true;
+		var pricetype = "";
+		var areas = {{.T.area}};
+		var searchvalue = {{.T.searchvalue}};
+		var currentPage = 1;//当前页
+		var pageSize = 50;
+		var tabularflag = "Y";
+		var dataId="";
+		$(function(){
+			new TableHeadFixed("tabContainer-2",searchvalue=="",false);
+			haslogin({{.T.logid}});
+			if(mainList != "" && mainList != null){
+				getSearchTable(mainList);
+			}
+			$(".j-nav .j-nav-link:eq(2)").addClass("active");
+			$(window).scroll(function(){
+				if($(this).scrollTop() > 0){
+				$("#backTop").show();
+				}else{
+					$("#backTop").hide();
+				}
+			});
+
+			//判断用户是否搜索中标企业,调整二维码样式
+			if(searchvalue != "" && searchvalue.length > 0){
+				$("#t-clear").show();
+				$(".wx-inner-title").html("扫码关注企业");
+				$(".wx-inner-bottom").html('扫码即可实时接收<span style="color:#2cb7ca">'+'"'+searchvalue+'"'+'</span>的中标信息!');
+			}
+
+			//地区回显样式设置
+			if(areas != ""){
+				$("#regionBtn").removeClass("active");
+				areas = areas.split(",");
+				for(var i=0;i<areas.length;i++){
+					$(".region-content>font:not('.parent-node')").each(function(){
+						if($(this).text() == areas[i]){
+							$(this).addClass("active");
+							return false;
+						}
+					});
+				}
+			}
+			//地区回显样式设置
+			$(".region-content .parent-node").each(function(){
+				var fontLen = $(this).nextUntil(".parent-node").filter("font").length;
+				var activeLen = $(this).nextUntil(".parent-node").filter(".active").length;
+				if(fontLen == activeLen){
+					$(this).addClass("active");
+				}
+				if(activeLen >0 && activeLen < fontLen){
+					$(this).addClass("secondActice");
+				}
+			});
+
+			//点击搜索 数据回显页面样式设置
+			if(mainList != "" && mainList != null && searchvalue != "" && searchvalue != null){
+				$(".seaTender-inner").css({'border':'0'});
+				$(".lucene-table").css({'padding':'0px','border-bottom':'0px','display':'block'});
+				$(".tabTitle").addClass("hidden");
+				$("#searchInner .searchControl .seaTender-inner .tabContainer .lucene-table table thead tr").css('border-top','4px solid #2cb7ca');
+				$(".lucene").attr("style","display:none");
+				$(".tabContainer").show(); //表格信息
+				$(".pagination").show();   //上、下页
+				$(".hasNoData").hide();    //数据为空图片
+			}
+			if(mainList == null || mainList.length == 0){
+				$(".tabTitle").addClass("hidden");
+				$(".tabContainer").hide();
+				$(".pagination").hide();
+				$(".hasNoData").show();
+			}
+
+
+			//价格回显样式设置
+			if({{.T.pricetype}} == "y"){
+				$(".Price-content").find("span:first-child").removeClass("active");
+				$(".pricefat").addClass("active");
+				$("#minprice").css({"border-color":"#2cb7ca"});
+				$("#maxprice").css({"border-color":"#2cb7ca"});
+			}
+
+			//筛选关闭和打开
+			//根据cookie值设置筛选是否显示
+			var rsw = localStorage.getItem("entstore");
+			if(rsw=="U"){
+				$("#screenBtn").addClass("down");
+				$(".searchTender").show();
+			}else{
+				$("#screenBtn").removeClass("down");
+				$(".searchTender").hide();
+			}
+
+			//记录用户刷选按钮状态
+			$("#screenBtn").click(function(){
+				if($(this).attr("class").indexOf("down")>0){
+					localStorage.setItem("entstore", "U");
+				}else{
+					localStorage.setItem("entstore", "D");
+				}
+			})
+
+			//价格
+			$("#minprice").click(function(){
+				$(".pricebut").show();
+				$(".pricefat").addClass("customtime-active");
+			})
+			$("#maxprice").click(function(){
+				$(".pricebut").show();
+				$(".pricefat").addClass("customtime-active");
+			})
+			//价格的全部按钮
+			$(".Price-content").find("span:first-child").click(function(){
+				priceshow=false;
+				$("#minprice").css({"border-color":""});
+				$("#maxprice").css({"border-color":""});
+				$(".pricebut").hide();
+				$(".pricefat").removeClass("customtime-active");
+				$(this).addClass("active");
+				$(".pricefat").removeClass("active");
+				pricetype = "n"
+				$("#zbSeatchT input[name='pricetype']").val(pricetype);
+				beforeSubmit();
+			})
+			//价格的确定按钮
+			$(".pricebut").click(function(){
+				var min = $("#minprice").val();
+				var max = $("#maxprice").val();
+				priceCss();
+				beforeSubmit();
+			})
+
+			//设置输入价格的格式
+			var reg = /^[\u4e00-\u9fa5]+$/;
+			var minnum = {{.T.minprice}};
+			$("#minprice").on("input propertychange",function(){
+				var minp = $.trim($(this).val()).replace(/\s/g,"");
+				$(this).val(minp)
+				if(!/^[\d]{1,9}([.][\d]{0,2})?$/.test(minp)){
+					$("#minprice").blur();
+					if((reg.test(minp)||isNaN(minp)||minp.indexOf("e")>0)&&minp.indexOf(".")<0){
+						$(this).val(minnum)
+					}else{
+						//minp = minp.substr(0,minp.length-1);
+						if(reg.test(minp)||isNaN(minp)||minp.indexOf("e")>0){
+							$(this).val(minnum)
+						}else{
+							if(minp.indexOf(".")>0){
+								var offront = minp.split(".")[0];
+								var ofafter = minp.split(".")[1];
+								if(offront.length>9||ofafter.length>2){
+									//if(offront.length>9){
+										$(this).val(minnum)
+									//}else{
+									//	$(this).val(offront.substr(0,9)+"."+ofafter.substr(0,2))
+									//	minnum = offront.substr(0,9)+"."+ofafter.substr(0,2);
+									//}
+								}else{
+									$(this).val(minp)
+									minnum = minp;
+								}
+							}else{
+								if(minp.length>9){
+									$(this).val(minnum)
+								}else{
+									$(this).val(minp)
+									minnum = minp;
+								}
+							}
+
+						}
+					}
+				}else{
+					minnum = minp;
+				}
+
+			})
+
+			//
+			var maxnum = {{.T.maxprice}};
+			$("#maxprice").on("input propertychange",function(){
+				var maxp = $.trim($(this).val()).replace(/\s/g,"");
+				$(this).val(maxp)
+				if(!/^[\d]{1,9}([.][\d]{0,2})?$/.test(maxp)){
+					$("#maxprice").blur();
+					if((reg.test(maxp)||isNaN(maxp)||maxp.indexOf("e")>0)&&maxp.indexOf(".")<0){
+						$(this).val(maxnum)
+					}else{
+						//maxp = maxp.substr(0,maxp.length-1);
+						if(reg.test(maxp)||isNaN(maxp)||maxp.indexOf("e")>0){
+							$(this).val(maxnum)
+						}else{
+							if(maxp.indexOf(".")>0){
+								var offront = maxp.split(".")[0];
+								var ofafter = maxp.split(".")[1];
+								if(offront.length>9||ofafter.length>2){
+									//if(offront.length>9){
+										$(this).val(maxnum);
+									//}else{
+									//	$(this).val(offront.substr(0,9)+"."+ofafter.substr(0,2))
+									//	maxnum = offront.substr(0,9)+"."+ofafter.substr(0,2);
+									//}
+								}else{
+									$(this).val(maxp)
+									maxnum = maxp;
+								}
+							}else{
+								if(maxp.length>9){
+									$(this).val(maxnum)
+								}else{
+									$(this).val(maxp)
+									maxnum = maxp;
+								}
+
+							}
+
+						}
+					}
+				}else{
+					maxnum = maxp;
+				}
+			})
+
+			//搜索按钮
+			$(".searchBtn").click(function(r){
+				preSearchJd(r);
+
+			})
+
+			//招标搜索页面跳转
+			$(".bidbtn").click(function(){
+				window.location.href = "/jylab/supsearch/index.html";
+			})
+
+			//
+			$(".bidbut").click(function(){
+				window.location.href = "/jylab/supsearch/index.html";
+			})
+			//点击搜索框上方显示超级搜索
+			$(".supbtn").click(function(){
+					window.location.href = "/jylab/supsearch/index.html";
+			})
+
+			//下一页
+			$(".nbnext").click(function(){
+            	$(window).scrollTop(0);
+          		next();
+        	})
+			//上一页
+       		$(".nbprev").click(function(){
+           		$(window).scrollTop(0);
+           		prev();
+        	})
+        });
+
+		$(function(){
+			$(document).keydown(function(e){
+			    if(e.keyCode == "13"){
+					if($("#bidLogin").is(":visible")){
+						return;
+					}
+					if(selected){
+						var selecteSearch  = $(".searchSlideText").find("li").eq(scIndex).text();
+						$(".searchname").val(selecteSearch);
+					}
+					preSearchJd(e);
+
+				};
+			});
+		})
+
+		function preSearchJd(r){
+			var searchname = $("#zbSeatchT input[name='keywords']").val();
+			$("#zbSeatchT input[name='searchvalue']").val($.trim(searchname));
+			$("#zbSeatchT").submit();
+		}
+
+		function priceCss(){
+			priceshow=false;
+			var minp = $("#minprice").val();
+			var maxp = $("#maxprice").val();
+			if(minp!=""&&isNaN(minp)){
+				$("#minprice").val("")
+			}
+			if(maxp!=""&&isNaN(maxp)){
+				$("#maxprice").val("")
+			}
+			if ($("#minprice").val()==""&&$("#maxprice").val()==""){
+				$(".pricefat").removeClass("active");
+				$(".Price-content").find("span:first-child").addClass("active");
+				$("#minprice").css({"border-color":""})
+				$("#maxprice").css({"border-color":""})
+				$(".pricefat").removeClass("customtime-active");
+				$(".pricebut").hide();
+				pricetype = "n";
+				$("#zbSeatchT input[name='pricetype']").val(pricetype);
+				return false;
+			}
+			if (parseInt(minp)>parseInt(maxp)){
+				$("#minprice").val(maxp);
+				$("#maxprice").val(minp);
+			}
+			$(".pricebut").hide();
+			$(".pricefat").addClass("active");
+			$(".Price-content").find("span:first-child").removeClass("active");
+			$(".pricefat").removeClass("customtime-active");
+			pricetype = "y";
+			$("#zbSeatchT input[name='pricetype']").val(pricetype);
+			return true;
+		}
+
+		//取redis里的数据
+		function getNewBids(pnum){
+			$.post("/jylab/supsearch/getNewBids",{pageNumber:pnum},function(r){
+				if(r.list == null || r.list.length == 0){
+					$(".seaTender-inner").css({'border':''});
+	                $(".tabContainer").hide();
+	                $(".pagination").hide();
+	                $(".hasNoData").show();
+	            }else{
+	                $(".tabContainer").show();
+	                $(".pagination").show();
+	                $(".hasNoData").hide();
+	                getSearchTable(r.list);
+	            }
+			})
+		}
+		//---取VIP数据---
+		function getVIPData(){
+			if(!$(".tabTitle").hasClass("hidden")){
+				return true;
+			}
+			if($("#zbSeatchT [name='keywords']").val()==""&&$("#zbSeatchT [name='searchvalue']").val()==""){
+				$(".working").hide();
+				return true;
+			}
+			var tabflag = false;
+			if(currentPage==1){
+				$(".nbprev").addClass("disabled");
+			}
+			var param = {
+						currentPage: currentPage,
+			            searchvalue: $("#zbSeatchT [name='searchvalue']").val(),
+			            area: $("#zbSeatchT [name='area']").val(),
+			            minprice: $("#zbSeatchT [name='minprice']").val(),
+			            maxprice: $("#zbSeatchT [name='maxprice']").val(),
+			            pricetype: $("#zbSeatchT [name='pricetype']").val(),
+						tabularflag : tabularflag,
+					};
+			$.ajax({
+		       type:'post',
+		       url:'/jylab/pcSearchZbqyAjax',
+		       async:false,
+			   data:param,
+		       dataType:'json',
+		       success:function(r){
+					if(currentPage == 1){
+						totalPage = r.totalPage;
+					}
+					if(r.list == null || r.list.length == 0){
+						$(".seaTender-inner").css({'border':''});
+		                $(".tabContainer").hide();
+		                $(".pagination").hide();
+		                $(".hasNoData").show();
+		            }else{
+		                $(".tabContainer").show();
+		                $(".pagination").show();
+		                $(".hasNoData").hide();
+		                getSearchTable(r.list);
+		            }
+					tabflag = true;
+				}
+			})
+			return tabflag
+		}
+		//
+		function beforeSubmit(){
+			$(".seaTender-inner").css({'border':''});
+			$(".hasNoData").hide();
+			$(".tabContainer").hide();
+			$(".pagination").hide();
+			$(".working").show();
+			$(".tabContainer-2 .lucene ul").html("");
+			$(".tabContainer-2 .lucene-table table tbody").html("");
+			$("#right-list").addClass("active").siblings().removeClass("active");
+			$(".tabContainer .lucene").show().siblings().hide();
+			if(submitflag){
+				//地区
+				var selectAreas = "";
+				$(".region-content .active:not(.parent-node)").each(function(){
+					var thisText = $(this).text();
+					if(thisText != "全国"){
+						if(selectAreas != ""){
+							selectAreas += ",";
+						}
+						selectAreas += thisText;
+					}
+				});
+				$("#zbSeatchT [name='area']").val(selectAreas);
+
+				//价格
+				var selectMinPrices = $(".PriceInput [name='minprice']").val();
+				var selectMaxPrices =  $(".PriceInput [name='maxprice']").val();
+				$("#zbSeatchT [name='minprice']").val(selectMinPrices);
+				$("#zbSeatchT [name='maxprice']").val(selectMaxPrices);
+
+				//搜索关键词
+        var searchname = "";
+				searchname = searchvalue;
+				$("#zbSeatchT input[name='searchvalue']").val($.trim(searchname));
+
+
+				currentPage=1;
+				if(currentPage==1){
+					$(".nbprev").addClass("disabled");
+				}
+				if($("#zbSeatchT [name='searchvalue']").val()==""){
+					getNewBids(currentPage)
+				}else{
+					if($.trim(searchname) != ""){
+						getTableInfo();
+					}else{
+						$(".tabTitle").removeClass("hidden");
+						//$(".lucene").attr("style","display:block");
+						//$(".lucene-table").attr("style","display:none");
+						$(".wx-inner-title").html("扫码关注剑鱼标讯");
+						$(".wx-inner-bottom").html("微信扫一扫<br>随时随地掌握招标信息");
+            currentPage = 1;
+            $(".currentPage").text(currentPage);
+            $(".nbprev").addClass("disabled");
+						searchOnsubmit();
+					}
+				}
+				submitflag=false;
+			}
+			setTimeout(function(){
+				submitflag=true
+			},200);
+			return true
+		}
+
+    function getTableInfo(){
+        //$(".seaTender-inner").css({'border':'0'});
+        $(".lucene-table").css({'padding':'0px','border-bottom':'0px','display':'block'});
+        $(".tabTitle").addClass("hidden");
+        $(".lucene").attr("style","display:none");
+		//判断用户是否搜索中标企业,调整二维码样式
+		$(".wx-inner-title").html("扫码关注企业");
+		$(".wx-inner-bottom").html('扫码即可实时接收<span style="color:#2cb7ca">'+'"'+searchvalue+'"'+'</span>的中标信息!');
+        currentPage = 1;
+        $(".currentPage").text(currentPage);
+        $(".nbprev").addClass("disabled");
+		searchOnsubmit();
+    }
+
+	function reStyle(){
+		$("#bidLogin .code-text").html('<span class="reStyle_c"><img id="wxpng" style="width:24px;margin-right:5px;" src="{{Msg "seo" "cdn"}}/images/wx1.png"/>请先微信扫码登录</span>')
+		$(".reStyle_c").css({
+			'color':'#252627',
+			'font':'22px microsoft yahei',
+			'display': 'inline-block',
+			'margin-top':'10px'
+		})
+	}
+
+    //页面跳转相关
+    function next(){
+        if($(".nbnext").hasClass("disabled")){
+            return false;
+        }
+		$(".tabContainer").hide();
+		$(".hasNoData").hide();
+		$(".pagination").hide();
+		$(".working").show();
+        if(currentPage<10){
+            currentPage++;
+		}
+        //currentPage = parseInt($(".pagination-inner").find("span").text())+parseInt(1)
+        if(currentPage==10){
+            $(".nbnext").addClass("disabled");
+        }else if(currentPage==2){
+            $(".nbprev").removeClass("disabled");
+        }
+        $(".currentPage").text(currentPage);
+		if(!$(".tabTitle").hasClass("hidden") || $("#zbSeatchT [name='searchvalue']").val()==""){
+			getNewBids(currentPage)
+		}else{
+			if($("#right-table").hasClass("active")){
+				getVIPData();
+			}else{
+	        	searchOnsubmit();
+			}
+		}
+    }
+
+    function prev(){
+        if($(".nbprev").hasClass("disabled")){
+            return false;
+        }
+		$(".tabContainer").hide();
+		$(".hasNoData").hide();
+		$(".pagination").hide();
+		$(".working").show();
+        if(currentPage>1){
+            currentPage--;
+		}
+        //currentPage = parseInt($(".pagination-inner").find("span").text())-parseInt(1)
+        if(currentPage==1){
+            $(".nbprev").addClass("disabled");
+        }else if(currentPage<10){
+            $(".nbnext").removeClass("disabled");
+        }
+        $(".currentPage").text(currentPage);
+		if(!$(".tabTitle").hasClass("hidden") || $("#zbSeatchT [name='searchvalue']").val()==""){
+			getNewBids(currentPage)
+		}else{
+			if($("#right-table").hasClass("active")){
+				getVIPData();
+			}else{
+				searchOnsubmit();
+			}
+		}
+    }
+
+    function searchOnsubmit(){
+        var param = {
+            searchvalue: $("#zbSeatchT [name='searchvalue']").val(),
+            area: $("#zbSeatchT [name='area']").val(),
+            minprice: $("#zbSeatchT [name='minprice']").val(),
+            maxprice: $("#zbSeatchT [name='maxprice']").val(),
+            pricetype: $("#zbSeatchT [name='pricetype']").val(),
+            currentPage: currentPage
+        };
+        $.post("/jylab/pcSearchZbqyAjax",param,function(r){
+			if(currentPage == 1){
+				totalPage = r.totalPage;
+			}
+            if(r.list == null || r.list.length == 0){
+				$(".seaTender-inner").css({'border':''});
+                $(".tabContainer").hide();
+                $(".pagination").hide();
+                $(".working").hide();
+                $(".hasNoData").show();
+            }else{
+                //$(".pagination").show();
+                $(".hasNoData").hide();
+				setTimeout(function(){
+					getSearchTable(r.list);
+				},3000)
+
+            }
+        });
+    }
+
+    function getSearchTable(datas) {
+		$(".tabContainer-2 .entlist").removeClass("tabfixed");
+		$(".tabContainer-2 .entlist").removeClass("tababsolute");
+		$(".tabContainer-2 .entlist").children("table").eq(0).css("top","");
+		$(".working").hide();
+		$(".hasNoData").hide();
+		$(".pagination").show();
+		$(".tabContainer").show();
+		if(searchvalue==""){
+			if(currentPage == 10 || datas.length < pageSize){
+				$(".nbnext").addClass("disabled");
+			}else{
+				$(".nbnext").removeClass("disabled");
+			}
+		}else{
+			if(currentPage == totalPage){
+				$(".nbnext").addClass("disabled");
+			}else{
+				$(".nbnext").removeClass("disabled");
+			}
+		}
+        var listItem = "";
+        var formItem = "";
+		var tableHtml = "";
+		$(".currentPage").text(currentPage);
+		listItem += '<ul>';
+		for(var i=0; i<datas.length; i++){
+			var index = (currentPage - 1) * pageSize + i + 1;
+			if(searchvalue==""){
+				listItem +='<li>'
+							+'<div class="liLuceneList">'
+							+'<div class="luce-left">'
+							+'<div class="left-title">'
+							+'<em>'+index+'.</em>'
+							+'<a onclick="noIn(this)" dataid="'+datas[i]._id+'" target="_blank">'+datas[i].title+'</a>'
+							+'</div>'
+							+'</div>'
+							+'<div class="luce-right">'
+				if(typeof(datas[i].area) != "undefined" &&datas[i].area != "" && datas[i].area != null&&datas[i].area != "A" ){
+					listItem +='<a href="/list/area/'+datas[i].areaadd+'.html">'+datas[i].area+'</a>'
+				}else{
+					listItem +='<a href="javascript:volid(0);" style="display:none;"></a>'
+				}
+				//
+				var stype = datas[i].subtype
+				if(stype==""){
+					stype==datas[i].toptype
+				}
+				if(stype==""){
+					if(datas[i].bidtype == "bid"){
+						stype = "中标";
+						datas[i].stypeadd="ZHB"
+					}else if(datas[i].bidtype == "tender"){
+						datas[i].stypeadd="ZB"
+						stype = "招标";
+					}else{
+						stype = "";
+					}
+				}
+				if(typeof(stype) != "undefined" &&stype != "" && stype != null){
+					listItem +='<a href="/list/stype/'+datas[i].stypeadd+'.html">'+stype+'</a>'
+				}else{
+					listItem +='<a href="javascript:volid(0);" style="display:none;"></a>'
+				}
+				//
+				if(typeof(datas[i].industry) != "undefined" && datas[i].industry != null && datas[i].industry != ""){
+					listItem += '<a href="/list/industry/'+datas[i].indadd+'.html">'+datas[i].industry+'</a>';
+				}else{
+					listItem += '<a href="javascript:volid(0);" style="display:none;"></a>';
+				}
+        //
+        var amount= getacount(datas[i].bidamount,datas[i].budget)
+  			if(amount!=""){
+  				listItem += '<a>'+conversionMoeny(amount)+'</a>';
+  			}else{
+  				listItem += '<a href="javascript:volid(0);" style="display:none;"></a>';
+  			}
+				//
+				if(typeof(datas[i].publishtime) != "undefined" && datas[i].publishtime != null && datas[i].publishtime != ""){
+					var diff = timeDiff(new Date(Number(datas[i].publishtime+"000")));
+					if(diff != null){
+						listItem += '<span class="com-time">'+diff+'</span>';
+					}
+				}
+				listItem+='</div></div></li>'
+        if (i >= 20||currentPage!=1){
+    			continue
+    		}
+				tableHtml +='<tr onclick="noIn(this)" dataid="'+datas[i]._id+'" dataindustry="'+datas[i].industry+'" target="_blank">'
+						+'<td width="48"><div>'+index+'</div></td>'
+
+				if(typeof(datas[i].projectname) != "undefined" && datas[i].projectname != null && datas[i].projectname != ""){
+					tableHtml += '<td class="tt-l" width="315"><div>'+datas[i].projectname+'</div></td>';
+				}else{
+					tableHtml += '<td class="tt-l" width="315"><div>'+datas[i].title+'</div></td>';
+				}
+
+				if(typeof(stype) != "undefined" && stype != null && stype != ""){
+					tableHtml += '<td width="84"><div>'+stype+'公告</div></td>';
+				}else{
+					tableHtml += '<td width="84"><div></div></td>';
+				}
+
+				if(typeof(datas[i].budget) != "undefined" && datas[i].budget != null && datas[i].budget != ""){
+          var budget = tableFormatMoney(datas[i].budget, {
+            type: 'number',
+            digit: 2,
+            level: 1
+          })
+					tableHtml += '<td class="tt-r" width="73"><div>'+budget+'</div></td>';
+				}else{
+					tableHtml += '<td class="tt-r" width="73"><div></div></td>';
+				}
+				if(typeof(datas[i].buyer) != "undefined" && datas[i].buyer != null && datas[i].buyer != ""){
+					tableHtml += '<td class="tt-l" width="181"><div>'+datas[i].buyer+'</div></td>';
+				}else{
+					tableHtml += '<td class="tt-l" width="181"><div></div></td>';
+				}
+				if(typeof(datas[i].bidopentime) != "undefined" && datas[i].bidopentime != null && datas[i].bidopentime != ""){
+					var diff = formatDate(Number(datas[i].bidopentime),"l");
+					tableHtml += '<td width="103"><div>'+diff+'</div></td>';
+				}else{
+					tableHtml += '<td width="103"><div></div></td>';
+				}
+				if(typeof(datas[i].winner) != "undefined" && datas[i].winner != null && datas[i].winner != ""){
+					tableHtml += '<td class="tt-l" width="174"><div>'+datas[i].winner+'</div></td>';
+				}else{
+					tableHtml += '<td class="tt-l" width="174"><div></div></td>';
+				}
+				if(typeof(datas[i].bidamount) != "undefined" && datas[i].bidamount != null && datas[i].bidamount != ""){
+          var bidamount = tableFormatMoney(datas[i].bidamount, {
+            type: 'number',
+            digit: 2,
+            level: 1
+          })
+					tableHtml += '<td class="tt-r" width="76"><div>'+bidamount+'</div></td>';
+				}else{
+					tableHtml += '<td class="tt-r" width="76"><div></div></td>';
+				}
+
+				if(typeof(datas[i].publishtime) != "undefined" && datas[i].publishtime != null && datas[i].publishtime != ""){
+					var diff = formatDate(Number(datas[i].publishtime),"s");
+					if(diff != null){
+						tableHtml += '<td width="103"><div>'+diff+'</div></td>';
+					}
+				}else{
+					tableHtml += '<td width="103"><div></div></td>';
+				}
+					tableHtml+='</tr>'
+			}else{
+				 formItem += '<tr onclick="noIn(this)" dataid="'+datas[i].linkid+'">'+
+							'<td width="45">'+index+'</td>'
+				//
+				var bidtime = datas[i].jgtime||datas[i].zbtime;
+				var diff = bidtime&&formatDate(Number(bidtime),"s");
+				if(diff){
+					formItem += '<td width="150">'+diff+'</td>';
+				}else{
+					formItem += '<td width="150"></td>';
+				}
+				formItem +='<td class="tt-l" width="854">'+datas[i].projectname+'</td>'
+				//
+				if(typeof(datas[i].bidamount) != "undefined" && datas[i].bidamount != null && datas[i].bidamount != ""){
+					var bidamount = parseInt(datas[i].bidamount)/10000;
+					formItem += '<td class="tt-r" width="150">'+bidamount+'</td>';
+				}else{
+					formItem += '<td width="150"></td>';
+				}
+				formItem +='</tr>'
+			}
+		}
+		listItem += '</ul>';
+		$(".lucene").html(listItem);
+		if(searchvalue==""){
+			$(".lucene-table").removeClass("entlist");
+      if(currentPage==1){
+  			$(".formTable").html(tableHtml);
+      }
+      $(".shade_table").show();
+      $(".lucene-table").css({"margin-bottom":"60px"});
+		}else{
+			$(".lucene-table").addClass("entlist");
+			$(".formTable").html(formItem);
+      $(".shade_table").hide();
+      //$(".tabContainer").css({"margin-bottom":"30px"});
+		}
+    }
+
+    //关闭超级搜索遮罩层
+    function labClose(){
+        $("#labModal").modal("hide");
+    }
+
+	//关闭实验室功能弹框提示
+	function labWelClose(){
+		$("#welcome").modal("hide");
+	}
+	//
+	function formatDate(date,sl)   {
+		var myDate = new Date(date*1000);
+	    var   year=myDate.getFullYear();
+	    var   month=myDate.getMonth()+1;
+	    var   date=myDate.getDate();
+		var hour = myDate.getHours()
+		var min = myDate.getMinutes()
+		if(sl=="l"){
+			if(hour<10){
+				hour="0"+hour
+			}
+			if(min<10){
+				min="0"+min
+			}
+			return   year+"-"+month+"-"+date+"<br>"+hour+":"+min;
+		}else{
+			return   year+"-"+month+"-"+date;
+		}
+	}
+	//未登录
+	function noIn(p){
+		var thisId = $(p).attr("dataId");
+		var dataindustry = $(p).attr("dataindustry");
+		dataId = thisId;
+		if(loginflag){
+			var aHref = "";
+			if(searchvalue != ""){
+				if(dataindustry!=""&&dataindustry!=undefined){
+					aHref += '.html?kds='+searchvalue+'&industry='+dataindustry;
+				}else{
+					aHref += '.html?kds='+searchvalue;
+				}
+			}else{
+				if(dataindustry!=""&&dataindustry!=undefined){
+					aHref += '.html?industry='+dataindustry;
+				}else{
+					aHref += '.html';
+				}
+			}
+			window.open("/article/content/"+thisId+aHref);
+		}else{
+			$('#bidLogin').modal("show");
+		}
+	}
+
+	//关闭遮罩层
+	function layerClose(){
+		$("#myModal").modal("hide");
+	}
+
+  function getacount(bidamount,budget){
+  	if(typeof(bidamount) != "undefined" && bidamount != null && bidamount != ""){
+  		return bidamount
+  	}
+  	if(typeof(budget) != "undefined" && budget != null && budget != ""){
+  		return budget
+  	}
+  	return ""
+  }
+
+  //金额转化   金额:0-万元以下单位为元  ,万元以上至亿元以下单位为万元 ,亿元以上单位为亿元。保留 小数点后 2 位,不进行四舍五入。
+  function conversionMoeny(money){
+  	var m = ""+money;
+  	var m_arr = m.split(".")
+  	var m_1 = m_arr[0]
+  	var len_m1 = m_1.length;
+  	if (len_m1 >= 9 ){
+  		m = m_1.substring(0,len_m1-8) + "." + m_1.substring(len_m1-8,len_m1-6) + "亿元"
+  	} else if (len_m1 >= 5) {
+  		m =m_1.substring(0,len_m1-4) + "." + m_1.substring(len_m1-4,len_m1-2) + "万元"
+  	} else {
+  		if(m_arr.length == 1) {
+  			return m + ".00元"
+  		}
+  		var m_2 = m_arr[1]
+  		if (m_2.length > 1) {
+  			m_2 = m_2.substring(0,2)
+  		} else {
+  			m_2 = m_2.substring(0,1) + "0"
+  		}
+  		m = m_1 + "." + m_2 + "元"
+  	}
+  	return m
+  }
+
+</script>
+
+</body>
+
+</html>
+

+ 10 - 16
src/web/templates/pc/classifylist.html

@@ -1026,14 +1026,11 @@ function appendDatas(datas){
 		}
 
 		if(typeof(datas[i].budget) != "undefined" && datas[i].budget != null && datas[i].budget != ""){
-			var budget =parseInt(datas[i].budget)/10000
-			if(budget.toString().length>6){
-				if(budget.toString().indexOf(".")==5){
-					budget=budget.toString().substr(0,7)
-				}else{
-					budget=budget.toString().substr(0,6)
-				}
-			}
+      var budget = tableFormatMoney(datas[i].budget, {
+        type: 'number',
+        digit: 2,
+        level: 1
+      })
 			tableHtml += '<td class="tt-r" width="73"><div>'+budget+'</div></td>';
 		}else{
 			tableHtml += '<td class="tt-r" width="73"><div></div></td>';
@@ -1055,14 +1052,11 @@ function appendDatas(datas){
 			tableHtml += '<td class="tt-l" width="174"><div></div></td>';
 		}
 		if(typeof(datas[i].bidamount) != "undefined" && datas[i].bidamount != null && datas[i].bidamount != ""){
-			var bidamount = parseInt(datas[i].bidamount)/10000;
-			if(bidamount.toString().length>6){
-				if(bidamount.toString().indexOf(".")==5){
-					bidamount=bidamount.toString().substr(0,7);
-				}else{
-					bidamount=bidamount.toString().substr(0,6);
-				}
-			}
+      var bidamount = tableFormatMoney(datas[i].bidamount, {
+        type: 'number',
+        digit: 2,
+        level: 1
+      })
 			tableHtml += '<td class="tt-r" width="76"><div>'+bidamount+'</div></td>';
 		}else{
 			tableHtml += '<td class="tt-r" width="76"><div></div></td>';

Деякі файли не було показано, через те що забагато файлів було змінено