wangshan 5 rokov pred
rodič
commit
c828f88a0c
55 zmenil súbory, kde vykonal 2882 pridanie a 1114 odobranie
  1. 0 7
      src/jfw/front/swordfish.go
  2. 70 35
      src/jfw/modules/app/src/app/front/swordfish.go
  3. 8 0
      src/jfw/modules/app/src/config.json
  4. 102 0
      src/jfw/modules/app/src/web/staticres/jyapp/css/wx/base.css
  5. 249 0
      src/jfw/modules/app/src/web/staticres/jyapp/css/wx/home.css
  6. 165 0
      src/jfw/modules/app/src/web/staticres/jyapp/css/wx/personal.css
  7. 115 0
      src/jfw/modules/app/src/web/staticres/jyapp/css/wx/treasure_box.css
  8. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/images/search/banner_1.png
  9. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/images/search/banner_2.png
  10. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/images/search/banner_3.png
  11. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/images/search/dataExport.png
  12. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/images/search/dataexportAd.png
  13. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/images/search/home_question.png
  14. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/images/search/home_search.png
  15. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/images/search/home_tab_1.png
  16. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/images/search/home_tab_2.png
  17. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/images/search/home_tab_3.png
  18. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/images/search/home_tab_4.png
  19. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/images/search/laba.png
  20. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/images/search/nothing.png
  21. BIN
      src/jfw/modules/app/src/web/staticres/jyapp/images/search/popup.png
  22. 8 4
      src/jfw/modules/app/src/web/staticres/jyapp/js/common.js
  23. 162 0
      src/jfw/modules/app/src/web/staticres/jyapp/js/wxSupersearch.js
  24. 0 0
      src/jfw/modules/app/src/web/staticres/jyapp/swiper/maps/swiper.jquery.min.js.map
  25. 0 0
      src/jfw/modules/app/src/web/staticres/jyapp/swiper/maps/swiper.min.js.map
  26. 14 0
      src/jfw/modules/app/src/web/staticres/jyapp/swiper/swiper.min.css
  27. 14 0
      src/jfw/modules/app/src/web/staticres/jyapp/swiper/swiper.min.js
  28. 1 13
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/addition_exclusive_word.css
  29. 4 4
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/choose_area.css
  30. 6 5
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/choose_area_new.css
  31. 3 4
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/choose_industry.css
  32. 147 13
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/keyWord.css
  33. 3 1
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/messageType.css
  34. 28 38
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/subscribe_list.css
  35. 108 109
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/trial_info.css
  36. 9 15
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/vip_index.css
  37. 1 0
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/vip_introduce.css
  38. 13 8
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/vip_purchase.css
  39. 4 3
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/vip_update.css
  40. 192 193
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/common.js
  41. 1 1
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/editArea.js
  42. 93 0
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/keyWord.js
  43. 73 0
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/mapArea.js
  44. 1 1
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/personal_info.js
  45. 114 0
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/share.js
  46. 188 26
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/updateArea.js
  47. 7 1
      src/jfw/modules/app/src/web/templates/vipsubscribe/additionWord.html
  48. 7 1
      src/jfw/modules/app/src/web/templates/vipsubscribe/exclusiveWord.html
  49. 165 116
      src/jfw/modules/app/src/web/templates/vipsubscribe/keyWord.html
  50. 15 9
      src/jfw/modules/app/src/web/templates/vipsubscribe/messageType.html
  51. 179 155
      src/jfw/modules/app/src/web/templates/vipsubscribe/vip_index.html
  52. 1 1
      src/jfw/modules/app/src/web/templates/vipsubscribe/vip_seniorset.html
  53. 5 16
      src/jfw/modules/app/src/web/templates/vipsubscribe/vip_viewPage.html
  54. 496 330
      src/jfw/modules/app/src/web/templates/weixin/historypush.html
  55. 111 5
      src/jfw/modules/app/src/web/templates/weixin/search/mainSearch.html

+ 0 - 7
src/jfw/front/swordfish.go

@@ -2498,12 +2498,7 @@ func (f *Front) Historypush() error {
 				return f.Redirect("/front/vipsubscribe/renewPage/exprie")
 			}
 		}
-		//
-		o_jy, _ = (*data)["o_jy"].(map[string]interface{})
-		a_key, _ := o_jy["a_key"]
-		f.SetSession("a_key", a_key)
 	}
-	a_key := f.GetSession("a_key")
 	f.T["forceShareFlag"] = public.CheckUserNeedForceShare(myopenid, public.ShareType_push)
 	mynickname, _ := f.Session().Get("s_nickname").(string)
 	myavatar, _ := f.Session().Get("s_avatar").(string)
@@ -2511,8 +2506,6 @@ func (f *Front) Historypush() error {
 	f.T["avatar"] = myavatar
 	f.T["signature"] = wx.SignJSSDK(f.Site() + f.Url())
 	f.T["openid"] = se.EncodeString(myopenid)
-	f.T["a_key"] = a_key
-	f.T["i_applystatus"] = i_applystatus
 	f.T["stime"] = times
 	return f.Render("/weixin/historypush.html", &f.T)
 }

+ 70 - 35
src/jfw/modules/app/src/app/front/swordfish.go

@@ -2,6 +2,7 @@ package front
 
 import (
 	"app/filter"
+	"encoding/json"
 	"fmt"
 	"jfw/config"
 	"jfw/public"
@@ -643,39 +644,54 @@ func (f *Front) HasPushHistory() {
 	tedayNum := time.Unix(time.Now().Unix(), 1).Format("20060102")
 	isOnTail := 0
 
-	if util.IntAll((*user)["i_vip_status"]) == 1 || util.IntAll((*user)["i_vip_status"]) == 2 {
-		//
-		var threeRemind = int64(3 * 24 * 60 * 60)
-		var twoRemind = int64(2 * 24 * 60 * 60)
-		var oneRemind = int64(1 * 24 * 60 * 60)
-		var o_vipjy map[string]interface{}
-		o_vipjy, _ = (*user)["o_vipjy"].(map[string]interface{})
-		if o_vipjy["a_items"] != nil {
-			a_itmes := util.ObjArrToMapArr(o_vipjy["a_items"].([]interface{}))
-			hasKeyFlag = len(a_itmes) > 0
-		}
-		isVipFlag = true
-		isPassCount = redis.GetInt("pushcache_2_a", "oncecount_"+tedayNum+"_"+userId) > 2000
-		isOnTail = util.IntAll((*user)["i_vip_status"])
-		_endtime := (*user)["l_vip_endtime"]
-		//是否到期
-		if util.Int64All(_endtime)-time.Now().Unix() < threeRemind && util.Int64All(_endtime)-time.Now().Unix() >= twoRemind {
-			isExpire = 3 //即将到期
-		} else if util.Int64All(_endtime)-time.Now().Unix() < twoRemind && util.Int64All(_endtime)-time.Now().Unix() >= oneRemind {
-			isExpire = 2 //即将到期
-		} else if util.Int64All(_endtime)-time.Now().Unix() < oneRemind && util.Int64All(_endtime)-time.Now().Unix() >= 0 {
-			isExpire = 1 //即将到期
-		}
-	} else {
-		var o_jy map[string]interface{}
-		if user != nil {
-			o_jy, _ = (*user)["o_jy"].(map[string]interface{})
-		}
+	var o_jy map[string]interface{}
+	var keys []string
+	if user != nil {
+		o_jy, _ = (*user)["o_jy"].(map[string]interface{})
 		if o_jy != nil || len(o_jy) == 0 {
 			a_key, _ := o_jy["a_key"].([]interface{})
-			hasKeyFlag = len(a_key) > 0
+			if a_key != nil {
+				for _, v := range a_key {
+					kv := util.ObjToMap(v)
+					keys = append(keys, util.ObjArrToStringArr((*kv)["key"].([]interface{}))...)
+				}
+			}
+		}
+		if util.IntAll((*user)["i_vip_status"]) == 1 || util.IntAll((*user)["i_vip_status"]) == 2 {
+			//
+			var threeRemind = int64(3 * 24 * 60 * 60)
+			var twoRemind = int64(2 * 24 * 60 * 60)
+			var oneRemind = int64(1 * 24 * 60 * 60)
+			var o_vipjy map[string]interface{}
+			o_vipjy, _ = (*user)["o_vipjy"].(map[string]interface{})
+			if o_vipjy["a_items"] != nil {
+				a_itmes := util.ObjArrToMapArr(o_vipjy["a_items"].([]interface{}))
+				hasKeyFlag = len(a_itmes) > 0
+			}
+			isVipFlag = true
+			isPassCount = redis.GetInt("pushcache_2_a", "oncecount_"+tedayNum+"_"+userId) > 2000
+			isOnTail = util.IntAll((*user)["i_vip_status"])
+			_endtime := (*user)["l_vip_endtime"]
+			//是否到期
+			if util.Int64All(_endtime)-time.Now().Unix() < threeRemind && util.Int64All(_endtime)-time.Now().Unix() >= twoRemind {
+				isExpire = 3 //即将到期
+			} else if util.Int64All(_endtime)-time.Now().Unix() < twoRemind && util.Int64All(_endtime)-time.Now().Unix() >= oneRemind {
+				isExpire = 2 //即将到期
+			} else if util.Int64All(_endtime)-time.Now().Unix() < oneRemind && util.Int64All(_endtime)-time.Now().Unix() >= 0 {
+				isExpire = 1 //即将到期
+			}
+		} else {
+			if (*user)["i_vip_status"] == nil {
+				isExpire = 0
+			} else {
+				isOnTail = util.IntAll((*user)["i_vip_status"])
+			}
+			if o_jy != nil || len(o_jy) == 0 {
+				a_key, _ := o_jy["a_key"].([]interface{})
+				hasKeyFlag = len(a_key) > 0
+			}
+			isPassCount = redis.GetInt("pushcache_2_a", "oncecount_"+tedayNum+"_"+userId) > 50
 		}
-		isPassCount = redis.GetInt("pushcache_2_a", "oncecount_"+tedayNum+"_"+userId) > 50
 	}
 	pageNum, _ := f.GetInteger("pageNum")
 	if pageNum == 0 {
@@ -686,10 +702,14 @@ func (f *Front) HasPushHistory() {
 	if len(list) > 0 {
 		go updateUserApppushunread(userId)
 		//formatTime
-	} else if hasKeyFlag && len(list) == 0 && formatTime == "" && !isVipFlag {
+	} else if hasKeyFlag && len(list) == 0 && formatTime == "" && area == "" && !isVipFlag {
 		flag, data := jy.SubscribePush.MakeHistoryDatas(public.MQFW, public.PushMysql, userId, public.PushView)
 		if flag && data != nil {
-			list = data
+			jsonBytes, err := json.Marshal(data)
+			err = json.Unmarshal(jsonBytes, &list)
+			if err != nil {
+				log.Println("err:", err)
+			}
 		}
 	}
 	//
@@ -702,14 +722,29 @@ func (f *Front) HasPushHistory() {
 		"isPassCount": isPassCount,
 		"isExpire":    isExpire,
 		"isOnTail":    isOnTail,
-		"userId":      userId,
+		"userId":      util.EncodeArticleId(userId),
+		"keys":        keys,
 	})
 }
 
 //历史推送
 func (f *Front) Historypush() error {
-	selectTime := f.GetString("selectTime")
-	f.T["selectTime"] = selectTime
+	userId := util.ObjToString(f.GetSession("userId"))
+	if userId != "" {
+		selectTime := f.GetString("selectTime")
+		f.T["selectTime"] = selectTime
+		// 打开推送
+		data, ok := mongodb.FindById("user", userId, nil)
+		if ok && data != nil && len(*data) > 0 {
+			//VIP服务到期
+			vipSubtips := (*data)["i_vip_subtips"]
+			if vipSubtips == 0 {
+				if mongodb.UpdateById("user", userId, bson.M{"$set": bson.M{"i_vip_subtips": 1}}) {
+					return f.Redirect("/front/vipsubscribe/renewPage/exprie")
+				}
+			}
+		}
+	}
 	return f.Render("/weixin/historypush.html", &f.T)
 }
 func (f *Front) HistorypushPaging() error {

+ 8 - 0
src/jfw/modules/app/src/config.json

@@ -31,6 +31,14 @@
         "address": "192.168.3.11:3366",
         "userName": "root",
         "passWord": "Topnet123"
+    },
+	"pushMysql": {
+        "dbName": "jianyu",
+        "address": "192.168.3.11:3366",
+        "userName": "root",
+        "passWord": "Topnet123",
+		"maxOpenConns":2000,
+		"maxIdleConns":1000
     },
     "agreement": "http",
     "webdomain": "http://web-jydev-ws.jianyu360.cn",

+ 102 - 0
src/jfw/modules/app/src/web/staticres/jyapp/css/wx/base.css

@@ -0,0 +1,102 @@
+* {
+    -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;
+}
+body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td, hr, button, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, sumary {
+    margin: 0;
+    padding: 0;
+}
+html,body {
+    /* max-width: 750px; */
+    -webkit-text-size-adjust: 100%;
+    margin: 0 auto;
+    height: 100%;
+    overflow-x: hidden;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    font-size: .24rem;
+    background:rgba(245,244,249,1);;
+    color: #3d3d3d;
+    font-family:  "Microsoft YaHei","Helvetica Neue", "Roboto", "Segoe UI", "PingFang SC", "Hiragino Sans GB", sans-serif;
+}
+
+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;
+}
+em,i{
+	font-style: normal;
+}
+/*兼容ios调取h5页面的头部*/
+.ios-head {
+    display: none;
+    position: fixed;
+    top: 0;
+    padding-top: 15px;
+    background: #18974b;
+    width: 100%;
+    z-index: 100;
+}
+/*base*/
+.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;
+}
+.show{
+	display: block;
+}
+.hide{
+	display: none;
+}

+ 249 - 0
src/jfw/modules/app/src/web/staticres/jyapp/css/wx/home.css

@@ -0,0 +1,249 @@
+.home {
+  min-height: 100%;
+  background: #F4F4F9;
+}
+
+.home .top {
+  width: 100%;
+  height: 5.06rem;
+  padding-top: .99rem;
+  background: linear-gradient(#31cbe0, white);
+}
+
+.home .top .home_search {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  height: .96rem;
+  margin: 0 .2rem;
+  padding: 0 .2rem 0 .24rem;
+  background: #fff;
+  border-radius: 0.06rem;
+}
+
+.home .top .home_search .home_search_left {
+  display: flex;
+  align-items: center;
+width: 100%;
+}
+
+.home .top .home_search .home_search_left span {
+  font-size: .32rem;
+  color: #888888;
+  margin-left: .16rem;
+}
+
+.home .top .home_search .home_search_right {
+  position: relative;
+  padding-left: .2rem;
+}
+
+.home .top .home_search .home_search_right:before {
+  position: absolute;
+  content: '';
+  top: 0;
+  left: 0;
+  width: 1px;
+  height: 100%;
+  background: #E0E0E0;
+  transform-origin: 0 0;
+  transform: scaleX(0.5);
+}
+
+.home .top .home_search .icon_search, .home .top .home_search .icon_question {
+  width: .58rem;
+/*  height: .48rem;*/
+}
+
+.home .top .home_banner {
+  margin-top: .36rem;
+  padding: 0 .3rem;
+}
+
+.home .top .home_banner .lunbo {
+  width: 100%;
+  height: 2.75rem;
+}
+
+.home .top .home_banner .lunbo .swiper-slide a {
+  display: block;
+  width: 100%;
+}
+
+.home .top .home_banner .lunbo .swiper-slide a img {
+  display: block;
+  margin: 0 auto;
+}
+
+.home .top .home_banner .lunbo .custorm_dot {
+  bottom: 0;
+}
+
+.home .top .home_banner .lunbo .custorm_dot .swiper-pagination-bullet {
+  width: 0.08rem;
+  height: 0.08rem;
+  background: #fff;
+  opacity: 0.6;
+}
+
+.home .top .home_banner .lunbo .custorm_dot .swiper-pagination-bullet-active {
+  background: #fff;
+  opacity: 1;
+}
+
+.home .home_tab {
+  padding: .5rem 0 .56rem;
+  border-bottom: 1px solid #F2F2F2;
+  background: #fff;
+}
+
+.home .home_tab .tab_container {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+
+.home .home_tab .tab_container .tab_item {
+  flex: 1;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  text-align: center;
+}
+
+.home .home_tab .tab_container .tab_item img {
+  width: .96rem;
+  height: .96rem;
+}
+
+.home .home_tab .tab_container .tab_item span {
+  margin-top: .16rem;
+  font-size: .26rem;
+  color: #1D1D1D;
+}
+
+.home .home_data {
+  background: #fff;
+}
+
+.home .home_data .data_nav {
+  padding: .32rem .3rem 0.08rem;
+  font-size: .4rem;
+  color: #1D1D1D;
+font-weight: bold;
+}
+
+.home .home_data .data_list {
+  padding: 0 .3rem;
+}
+
+.home .home_data .data_list .list_item {
+  padding: .3rem 0 .36rem;
+  border-bottom: 1px solid #F2F2F2;
+}
+
+.home .home_data .data_list .list_title {
+  display: flex;
+  font-size: .32rem;
+/*  text-align: justify;*/
+}
+.home .home_data .data_list .list_title p{
+	word-break: break-all;
+	overflow: hidden;
+    text-overflow: ellipsis;
+    display: -webkit-box;
+    -webkit-line-clamp: 2;
+    line-clamp: 2;
+    -webkit-box-orient: vertical;
+}
+.home .home_data .data_list .list_info {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  margin-top: .36rem;
+}
+
+.home .home_data .data_list .tags {
+  display: flex;
+  align-items: center;
+  padding-left: .4rem;
+}
+
+.home .home_data .data_list .tags > div {
+  padding: 0 0.08rem;
+  height: .36rem;
+  line-height: .36rem;
+  text-align: center;
+  margin-right: .1rem;
+  border-radius: 0.04rem;
+  background: #F4F4F9;
+  color: #686868;
+  font-size: .24rem;
+}
+
+.home .home_data .data_list .timer {
+  color: #888888;
+  font-size: .24rem;
+}
+
+.home .no_data {
+  padding: .16rem 0;
+  text-align: center;
+}
+
+.home .no_data img {
+  width: 1.96rem;
+  height: 1.96rem;
+}
+
+.home .no_data p {
+  padding: .43rem 0 .24rem;
+  color: #686868;
+  font-size: .26rem;
+}
+
+.home .no_data a {
+  display: inline-block;
+  padding: 0 .32rem;
+  height: .64rem;
+  line-height: .64rem;
+  background: #2CB7CA;
+  color: #fff !important;
+  font-size: .28rem;
+  border-radius: 0.06rem;
+}
+
+.home .tips .tips_text {
+  padding: .48rem 0 .24rem;
+  color: #686868;
+  font-size: .26rem;
+  text-align: center;
+}
+
+.home .tips .tips_all {
+  padding: .26rem 0;
+  text-align: center;
+}
+
+.home .tips .tips_all a {
+  color: #2CB7CA !important;
+}
+
+.home .tips .tips_btn {
+  margin-bottom: .48rem;
+  text-align: center;
+}
+
+.home .tips .tips_btn a {
+  display: inline-block;
+  padding: 0 .32rem;
+  height: .64rem;
+  line-height: .64rem;
+  background: #2CB7CA;
+  color: #fff !important;
+  font-size: .28rem;
+  border-radius: 0.06rem;
+}
+.home .keyword {
+    color: #2cb7ca;
+}

+ 165 - 0
src/jfw/modules/app/src/web/staticres/jyapp/css/wx/personal.css

@@ -0,0 +1,165 @@
+.personal {
+/*  padding-top: .88rem;*/
+}
+
+.personal .navbar {
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: .88rem;
+  padding: 0 .32rem;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  background: #fff;
+  z-index: 999;
+}
+
+.personal .navbar .navbar_left {
+  font-size: .4rem;
+  font-weight: bold;
+  color: #1D1D1D;
+}
+
+.personal .navbar .navbar_right {
+  display: flex;
+  align-items: center;
+}
+
+.personal .navbar .navbar_right img {
+  width: .48rem;
+  height: .48rem;
+  margin-left: .4rem;
+}
+
+.personal .user {
+  display: flex;
+  align-items: center;
+  padding: .4rem .42rem .56rem;
+  background: #fff;
+}
+
+.personal .user .user_img {
+  width: 1.2rem;
+  height: 1.2rem;
+  margin-right: .32rem;
+  border-radius: 50%;
+  border: 1px solid #2FC4D9;
+  overflow: hidden;
+  opacity: 0.8;
+}
+
+.personal .user .user_img img {
+  width: 100%;
+  height: 100%;
+}
+
+.personal .user .user_info {
+  display: flex;
+  flex-direction: column;
+}
+
+.personal .user .user_info .user_name {
+  font-size: .32rem;
+  color: #1D1D1D;
+}
+
+.personal .user .user_info .set_email, .personal .user .user_info .user_email {
+  width: auto;
+  height: .48rem;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  padding: 0 .2rem;
+  margin-top: .22rem;
+  background: #F5F4F9;
+  color: #686868;
+  font-size: .26rem;
+  border-radius: .24rem;
+  box-sizing: border-box;
+}
+
+.personal .user .user_info .set_email .icon-arrow, .personal .user .user_info .user_email .icon-arrow {
+  margin-left: .2rem;
+  color: #686868;
+  font-size: .14rem;
+}
+
+.personal .order {
+  padding: 0 .32rem;
+  background: #fff;
+}
+
+.personal .order .order_tab {
+  position: relative;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+
+.personal .order .order_tab .tab_list {
+  flex: 1;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  padding: .32rem 0;
+}
+
+.personal .order .order_tab .tab_list img {
+  width: .72rem;
+  height: .72rem;
+}
+
+.personal .order .order_tab .tab_list span {
+  margin-top: 0.08rem;
+  font-size: .26rem;
+  color: #686868;
+}
+
+.personal .order .order_tab:before {
+  position: absolute;
+  content: '';
+  left: 0;
+  top: 0;
+  width: 100%;
+  height: 1px;
+  background-color: #E0E0E0;
+  transform-origin: 0 0;
+  transform: scaleY(0.5);
+}
+
+.personal .mgTop20 {
+  margin-top: .2rem;
+}
+
+.personal .menu {
+  margin-top: .2rem;
+}
+
+.personal .menu .menu_list {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  height: 1.1rem;
+  padding: 0 .2rem 0 .32rem;
+  background: #fff;
+}
+
+.personal .menu .menu_list .menu_list_left {
+  display: flex;
+  align-items: center;
+  font-size: .32rem;
+  color: #1D1D1D;
+}
+
+.personal .menu .menu_list .menu_list_left img {
+  width: .48rem;
+  height: .48rem;
+  margin-right: .32rem;
+}
+
+.personal .menu .menu_list .arrow_right {
+  width: .48rem;
+  height: .48rem;
+}

+ 115 - 0
src/jfw/modules/app/src/web/staticres/jyapp/css/wx/treasure_box.css

@@ -0,0 +1,115 @@
+.treasure .top {
+  width: 100%;
+  height: 4.15rem;
+  background: url(/images/syzindex/treasure_bg.png) no-repeat center center;
+  background-size: 100% 100%;
+}
+
+.treasure .top h2 {
+  padding-top: 1.12rem;
+  color: #fff;
+  text-align: center;
+  font-size: .44rem;
+}
+
+.treasure .top p {
+  padding-top: 0.08rem;
+  color: #fff;
+  font-size: .26rem;
+  opacity: 0.8;
+  text-align: center;
+}
+
+.treasure .main {
+  margin-top: -1.49rem;
+  padding: 0 .3rem;
+}
+
+.treasure .vip_subscribe, .treasure .data_export {
+  padding: 0 .3rem;
+  background: #fff;
+  box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.08);
+  border-radius: 0.06rem;
+}
+
+.treasure .vip_subscribe .title, .treasure .data_export .title {
+  display: flex;
+  align-items: center;
+  padding: .28rem 0 .28rem;
+  border-bottom: 1px solid #EEEEEE;
+}
+
+.treasure .vip_subscribe .title img, .treasure .data_export .title img {
+  width: .56rem;
+  height: .56rem;
+  margin-right: .2rem;
+}
+
+.treasure .vip_subscribe .title a, .treasure .data_export .title a {
+  position: relative;
+  display: block;
+  width: 100%;
+}
+
+.treasure .vip_subscribe .title a h7, .treasure .data_export .title a h7 {
+ 	font-size: .34rem;
+    font-weight: 600;
+    color: #1D1D1D;
+    font-family: 微软雅黑;
+}
+
+.treasure .vip_subscribe .title a p, .treasure .data_export .title a p {
+  padding-top: 0.06rem;
+  color: #686868;
+  font-size: .28rem;
+}
+
+.treasure .vip_subscribe .title a:after, .treasure .data_export .title a:after {
+  content: "";
+  display: inline-block;
+  height: 8px;
+  width: 8px;
+  border-width: 1px 1px 0 0;
+  border-color: #C5C5C5;
+  border-style: solid;
+  -webkit-transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);
+  transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);
+  position: absolute;
+  top: 50%;
+  margin-top: -3px;
+  right: .14rem;
+}
+
+.treasure .vip_subscribe .info, .treasure .data_export .info {
+  padding: .1rem 0 .32rem;
+}
+
+.treasure .vip_subscribe .info .info_list, .treasure .data_export .info .info_list {
+  display: flex;
+  align-items: center;
+  padding-top: .18rem;
+}
+
+.treasure .vip_subscribe .info .info_list .info_list_left, .treasure .data_export .info .info_list .info_list_left {
+  width: 1.12rem;
+  height: .3rem;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  margin-right: .18rem;
+  font-size: .2rem;
+  color: #2CB7CA;
+  text-align: center;
+  border: 1px solid #2CB7CA;
+  border-radius: 0.06rem;
+  box-sizing: border-box;
+}
+
+.treasure .vip_subscribe .info .info_list .info_list_right, .treasure .data_export .info .info_list .info_list_right {
+  font-size: .24rem;
+  color:#9E9E9E;
+}
+
+.treasure .data_export {
+  margin-top: .26rem;
+}

BIN
src/jfw/modules/app/src/web/staticres/jyapp/images/search/banner_1.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/images/search/banner_2.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/images/search/banner_3.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/images/search/dataExport.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/images/search/dataexportAd.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/images/search/home_question.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/images/search/home_search.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/images/search/home_tab_1.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/images/search/home_tab_2.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/images/search/home_tab_3.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/images/search/home_tab_4.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/images/search/laba.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/images/search/nothing.png


BIN
src/jfw/modules/app/src/web/staticres/jyapp/images/search/popup.png


+ 8 - 4
src/jfw/modules/app/src/web/staticres/jyapp/js/common.js

@@ -30,7 +30,7 @@ $(function(){
 		}
 		$target.trigger("tap",e);
     });
-	$(".app-layout-header .app-back").unbind("tap").on("tap",function(){
+	$(".app-layout-header .app-back").unbind("click").on("click",function(){
 		if(typeof(clickBack)=="function"){
 			clickBack();
 		}else{
@@ -168,17 +168,21 @@ function timeDiff(date){
 	}
 	return td;
 }
-function newredirect(zbadd,link,sid,sds){
+function newredirect(zbadd,link,sid,sds,index){
 	if(link != null && typeof(link) != "undefined"){
 		link = link.replace(/\n/g,"");
 		if(!/^http/.test(link)){
 			link="http://"+link
 		}
 	}
+	var pt = ""
+	if (index==1){
+		pt="projectMatch=项目匹配"
+	}
 	if(sds){
-		window.location.href=zbadd+"/jyapp/article/content/"+sid+".html?keywords="+encodeURIComponent(sds);
+		window.location.href=zbadd+"/jyapp/article/content/"+sid+".html?keywords="+encodeURIComponent(sds)+pt;
 	}else{
-		window.location.href=zbadd+"/jyapp/article/content/"+sid+".html?";
+		window.location.href=zbadd+"/jyapp/article/content/"+sid+".html?"+pt;
 	}
 }
 function pcredirect(link,sid){

+ 162 - 0
src/jfw/modules/app/src/web/staticres/jyapp/js/wxSupersearch.js

@@ -2035,5 +2035,167 @@ var SuperSearch = {
 		}else{
 			$('#supersearchPage .searchinput').removeClass("nocaret");
 		}
+	},
+	getHomeList:function(locationCity,nReq){
+		SuperSearch.locationCity = locationCity;
+		SuperSearch.initHomePage();
+		$.ajax({
+			type: "post",
+			url: "/subscribepay/index/getIndexMessage",
+			data: {city:SuperSearch.locationCity,nReq:nReq},
+			dataType: "json",
+			async: false,
+			success: function(r){
+				if(r.success){
+					SuperSearch.homePageShow(r.data);
+				}
+			},error: function(){
+				console.log("请求报错...")
+			}
+		});
+	},
+	locationHomeData:function(){
+		SuperSearch.locationCount=1;//定位只查一次  app 客户端获取定位
+        var addComp = {};
+        //alert('您现在所处位置:'+addComp.province + ", "+addComp.city + ", "+addComp.district + ", "+addComp.street + ", "+addComp.streetNumber);
+		SuperSearch.getHomeList("",2);
+	},
+	homePageShow:function(r){
+		SuperSearch.hasHistory = r["hasHistory"]
+		SuperSearch.hasSubscribe = r["hasSubscribe"]
+		SuperSearch.isVip = r["isVip"]
+		SuperSearch.listLength =  r["listLength"]
+		SuperSearch.myHistory = r["history"]
+		var list = r["list"]
+		var homeListHtml = '';
+		if(list!=null&&list.length>0){
+			for(var i=0;i<list.length;i++){
+				var _list = list[i];
+				var title = _list["title"];
+				if(SuperSearch.hasSubscribe){
+					if(_list["matchkeys"]!=null&&typeof(_list["matchkeys"])!="undefined"){
+						for(var n=0;n<_list["matchkeys"].length;n++){
+							var matchkeys = _list["matchkeys"][n].split("+");
+							for(var nn=0;nn<matchkeys.length;nn++){
+								title = keyWordHighlight(title,matchkeys[nn],'<font class="keyword">$1</font>');
+							}
+						}
+					}
+				}else if(SuperSearch.myHistory!=null&&SuperSearch.myHistory.length>0){
+					title = keyWordHighlight(title,SuperSearch.myHistory,'<font class="keyword">$1</font>');
+				}
+				homeListHtml +='<div class="list_item" onclick="SuperSearch.HomeToDetails(\''+_list["_id"]+'\')">'
+									+'<div class="list_title">'
+									+'<span class="serial_number">'+(i+1)+'. &nbsp;</span>'
+									+'<p>'+title+'</p>'
+									+'</div>'
+									+'<div class="list_info">'
+									+'<div class="tags">'
+				var area = _list["area"];
+				if(area==undefined||area==""){
+					area='全国'
+				}
+				homeListHtml +='<div class="area">'+area+'</div>'
+				var industry = _list["industry"];
+				var subtype = _list["subtype"];
+				if(SuperSearch.hasSubscribe||SuperSearch.isVip){
+					industry = _list["s_subscopeclass"];
+					subtype = _list["type"];
+				}
+				if(industry==undefined){
+					industry=""
+				}
+				if(subtype==undefined){
+					subtype = ""
+				}
+				if (industry!=""){
+					homeListHtml +='<div class="industry">'+industry+'</div>'
+				}
+				if(subtype!=""){
+					homeListHtml +='<div class="course">'+subtype+'</div>'
+				}
+				//时间
+				var publishtime = _list["publishtime"];
+				if(publishtime){
+					publishtime = timeDiff(new Date(Number(publishtime+"000")));
+				}
+				homeListHtml +='<div class="price hide"></div>'
+									+'</div>'
+									+'<div class="timer">'+publishtime+'</div>'
+									+'</div>'
+									+'</div>'
+			}
+		}else{
+			if(!SuperSearch.isVip&&!SuperSearch.hasSubscribe&&SuperSearch.locationCount==0){
+				 var locatInterval = setInterval(function(){
+					if(SuperSearch.localFalg){
+						clearInterval(locatInterval);
+                        SuperSearch.locationHomeData();
+					}
+                },500)
+				return
+			}
+		}
+		SuperSearch.showHomeList(homeListHtml);
+	},
+	HomeToDetails:function(id){
+		if(id!=""){
+			window.location.href="/jyapp/article/content/"+id+".html"
+		}
+	},
+	showHomeList:function(hh){
+		SuperSearch.initHomeTip();
+		if(hh!=""){
+			$(".home_data .data_list").html(hh);
+		}
+	},
+	initHomePage:function(){
+		$(".home_toset").click(function(){
+			if(SuperSearch.isVip){
+				window.location.href="/jyapp/front/vipsubscribe/toSetPage"
+			}else{
+				sessionStorage.removeItem("keysetindexToHistory");
+				window.location.href="/jyapp/swordfish/historypush"
+			}
+		})
+		$(".tips_all .GetAll").click(function(){
+			sessionStorage.removeItem("keysetindexToHistory");
+			window.location.href="/jyapp/swordfish/historypush"
+		})
+		$(".home_todetails").click(function(){
+			window.location.href="/jyapp/front/vipsubscribe/introducePage"
+		})
+	},
+	initHomeTip:function(){
+		if(SuperSearch.listLength>0){
+			if(!SuperSearch.isVip){
+				if(SuperSearch.hasSubscribe){
+					if(SuperSearch.listLength>=50){
+						$(".home_4").show();
+						$(".home_todetails").show();
+					}else if(SuperSearch.listLength>0){
+						$(".home_2").show();
+						$(".home_toset").show();
+					}
+				}else{
+					$(".home_1").show();
+					$(".home_toset a").text("去订阅");
+					$(".home_toset").show();
+				}
+			}else{
+				if(SuperSearch.listLength>=50){
+					$(".tips .tips_all").show();
+				}else if(SuperSearch.listLength>0){
+					if(!SuperSearch.hasSubscribe){
+						$(".home_3").show();
+					}else{
+						$(".home_2").show();
+					}
+					$(".home_toset").show();
+				}
+			}
+		}else{
+			$(".no_data").show();
+		}
 	}
 };

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/jfw/modules/app/src/web/staticres/jyapp/swiper/maps/swiper.jquery.min.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
src/jfw/modules/app/src/web/staticres/jyapp/swiper/maps/swiper.min.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 14 - 0
src/jfw/modules/app/src/web/staticres/jyapp/swiper/swiper.min.css


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 14 - 0
src/jfw/modules/app/src/web/staticres/jyapp/swiper/swiper.min.js


+ 1 - 13
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/addition_exclusive_word.css

@@ -3,7 +3,7 @@
   display: flex;
   flex-direction: column;
   justify-content: space-between;
-  width: 100;
+/*  width: 100;*/
   height: 100%;
   overflow: hidden;
 }
@@ -73,7 +73,6 @@
 .addition-word .showKeyWord ul li {
   margin-bottom: 0.16rem;
   overflow: hidden;
-width: 100%;
 }
 
 .exclusive-word .showKeyWord ul li .one,
@@ -349,15 +348,4 @@ width: 100%;
 }
 .addkeyWord{
 	margin-bottom:.2rem;
-}
-[type='text'] {
-	border: 0px solid #ccc; 
-/*    border-radius: 4px; 
-    padding-left: 10px; 
-    padding-right: 0px;*/
-}
-.btn{
-	background: rgba(245,244,249,1);
-	padding:0px;
-	border:0px;
 }

+ 4 - 4
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/choose_area.css

@@ -516,25 +516,25 @@
 
 #choose_area .select-area-box .tab .province .checkbox:checked {
   border: 0;
-  background: url(/jyapp/vipsubscribe/image/xuanzhong.png) no-repeat center center;
+  background: url(/vipsubscribe/image/xuanzhong.png) no-repeat center center;
   background-size: 100% 100%;
 }
 
 #choose_area .select-area-box .tab .province .checkbox:checked[disabled] {
   border: 0;
-  background: url(/jyapp/vipsubscribe/image/active_disabled.png) no-repeat center center;
+  background: url(/vipsubscribe/image/active_disabled.png) no-repeat center center;
   background-size: 100% 100%;
 }
 
 #choose_area .select-area-box .tab .province .checkbox.half {
   border: 0 !important;
-  background: url(/jyapp/vipsubscribe/image/banxuan.png) no-repeat center center !important;
+  background: url(/vipsubscribe/image/banxuan.png) no-repeat center center !important;
   background-size: cover !important;
 }
 
 #choose_area .select-area-box .tab .province .checkbox.half[disabled] {
   border: 0 !important;
-  background: url(/jyapp/vipsubscribe/image/banxuan.png) no-repeat center center;
+  background: url(/vipsubscribe/image/banxuan.png) no-repeat center center;
   background-size: cover !important;
 }
 

+ 6 - 5
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/choose_area_new.css

@@ -515,26 +515,26 @@
 
 #choose_area .select-area-box .tab .province .checkbox:checked {
     border: 0;
-    background: url(/jyapp/vipsubscribe/image/xuanzhong.png) no-repeat center center;
+    background: url(/vipsubscribe/image/xuanzhong.png) no-repeat center center;
     background-size: 100% 100%;
 }
 
 #choose_area .select-area-box .tab .province .checkbox[disabled] {
     border: 0;
-    background: url(/jyapp/vipsubscribe/image/active_disabled.png) no-repeat center center;
+    background: url(/vipsubscribe/image/active_disabled.png) no-repeat center center;
     background-size: 100% 100%;
     opacity: 1;
 }
 
 #choose_area .select-area-box .tab .province .checkbox.half {
     border: 0 !important;
-    background: url(/jyapp/vipsubscribe/image/banxuan.png) no-repeat center center !important;
+    background: url(/vipsubscribe/image/banxuan.png) no-repeat center center !important;
     background-size: cover !important;
 }
 
 #choose_area .select-area-box .tab .province .checkbox.half[disabled] {
     border: 0 !important;
-    background: url(/jyapp/vipsubscribe/image/banxuan.png) no-repeat center center !important;
+    background: url(/vipsubscribe/image/banxuan.png) no-repeat center center !important;
     background-size: cover !important;
     opacity: 1 !important;
 }
@@ -616,4 +616,5 @@
 .icon.iconfont.up {
     display: inline-block;
     transform: rotate(-180deg);
-}
+}
+

+ 3 - 4
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/choose_industry.css

@@ -1,7 +1,6 @@
 @charset "UTF-8";
 .main {
   width: 100%;
-  overflow: scroll;
 }
 
 .main::-webkit-scrollbar {
@@ -383,7 +382,6 @@
 }
 
 .choose_industry {
-  position: relative;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
@@ -407,8 +405,8 @@
   padding: .2rem .3rem;
   background:rgba(245,244,249,1);
   z-index:999;
-  /* position: fixed; */
-  width:100%;
+  position: fixed;
+  width:100%;	 
 }
 
 .choose_industry .form {
@@ -424,6 +422,7 @@
   flex-direction: column;
   width: 0.3rem;
   transform: translateY(-50%);
+  z-index:9999;
 }
 
 .choose_industry .slide a {

+ 147 - 13
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/keyWord.css

@@ -3,7 +3,7 @@
   flex-direction: column;
   justify-content: space-between;
   width: 100%;
-/*  height: 100vh;*/
+  height: 100%;
   overflow: hidden;
 }
 
@@ -46,7 +46,7 @@
 }
 
 .keyWord .add-keyword-container .classify-tips {
-  padding: .1rem .3rem .3rem;
+  padding: .1rem .3rem .2rem;
   font-size: .26rem;
   color: #888;
   line-height: .38rem;
@@ -304,8 +304,6 @@
   background-color: #fff;
   font-size: .28rem;
   color: #888;
-    position: fixed;
-    bottom: 0px;
 }
 
 .keyWord .problem {
@@ -474,14 +472,150 @@
 .enter.addkeyWord{
 	margin-bottom: .2rem;
 }
-[type='text'] {
-	border: 0px solid #ccc; 
-/*    border-radius: 4px; 
-    padding-left: 10px; 
-    padding-right: 0px;*/
+
+.ios-user-select {
+    -webkit-user-select: text;
+}
+.opacity6{
+    opacity: 0.6;
+}
+.keysexplain{
+    position: fixed;
+height: .8rem;
+background: rgba(245,244,249,1);
+width: 100%;
+    font-size: .3rem;
+    padding-top: .18rem;
+    padding-left: .3rem;
+    color: #888;
+}
+.classifyKeysShow{
+    font-size: .25rem;
+    color: #686868;
+    margin-top: 0.1rem;
+    text-overflow: ellipsis;
+    overflow: hidden;
+    display: -webkit-box;
+    -webkit-line-clamp: 1;
+    -webkit-box-orient: vertical;
 }
-.btn{
-	background: rgba(245,244,249,1);
-	padding:0px;
-	border:0px;
+.addClassify{
+    height: 1rem;
+    text-align: center;
+    background: #2CB7CA;
+    width: 100%;
+    line-height: 1rem;
+    color:#FFFFFF;
+    font-size: .32rem;
+position:fixed;
+bottom:0px;
+}
+.classify-show-pop .weui-dialog .weui-dialog__hd {
+ padding: 0;
+ text-align: center;
+ font-size: .34rem;
+}
+.classify-show-pop .weui-dialog .weui-dialog__hd {
+    padding-left: .3rem;
+    height: .88rem;
+    line-height: .88rem;
+    background-color: #F4F4F9;
+}
+.classify-show-pop .weui-dialog .weui-dialog__bd {
+    padding: .38rem .1rem;
+    text-align: center;
+    font-size: .32rem;
+    color: #1d1d1d;
+    line-height: .6rem;
+}
+.classify-show-pop .weui-dialog .weui-dialog__bd .classify-keyword {
+    padding: 0 .17rem;
+    height: 0.8rem;
+    width: 100%;
+    font-size: .32rem;
+    border: 1px solid #CECECE;
+}
+
+.classify-show-pop .weui-dialog .weui-dialog__ft {
+    margin-top: .1rem;
+    margin-bottom: .3rem;
+    justify-content: space-around;
+}
+.classify-show-pop .weui-dialog .weui-dialog__ft .dialog__btn {
+    display: inline-block;
+    width: 1.72rem;
+    height: .72rem;
+    line-height: .72rem;
+    color: #fff;
+    font-size: .32rem;
+}
+.classify-show-pop .weui-dialog .weui-dialog__ft .dialog__btn_confirm {
+      background-color: #2CB7CA;
+}
+.classify-show-pop .weui-dialog .weui-dialog__ft .dialog__btn_cancel {
+      background-color: #BFBFC3;
+}
+.classify-show-pop .weui-dialog .weui-dialog__ft:after {
+      border: none;
+}
+.all-classify-column{
+      position: relative;
+      padding-bottom: 1rem;
+}
+.classify-fast{
+    width: 1.7rem;
+    text-align: center;
+    color: #2CB7CA;
+    font-size: 0.26rem;
+    padding: 0rem 0rem 0.1rem;
+    float: right;
+}
+
+.classify-fast-pop .weui-dialog .weui-dialog__hd {
+ padding: 0;
+ text-align: center;
+ font-size: .34rem;
+}
+.classify-fast-pop .weui-dialog .weui-dialog__hd {
+    padding-left: .3rem;
+    height: .88rem;
+    line-height: .88rem;
+    background-color: #F4F4F9;
+}
+.classify-fast-pop .weui-dialog .weui-dialog__bd {
+        padding: .38rem .4rem;
+    text-align: left;
+    font-size: .32rem;
+    color: #1d1d1d;
+    line-height: .45rem;
+    letter-spacing: 0.01rem
+}
+.classify-fast-pop .weui-dialog .weui-dialog__bd p {
+        color: #888;
+    font-size: .26rem;
+    margin-top: .2rem;
+    letter-spacing: 0.01rem;
+}
+
+.classify-fast-pop .weui-dialog .weui-dialog__ft {
+    margin-top: .1rem;
+    margin-bottom: .3rem;
+    justify-content: space-around;
+}
+.classify-fast-pop .weui-dialog .weui-dialog__ft .dialog__btn {
+    display: inline-block;
+    width: 1.72rem;
+    height: .72rem;
+    line-height: .72rem;
+    color: #fff;
+    font-size: .32rem;
+}
+.classify-fast-pop .weui-dialog .weui-dialog__ft .dialog__btn_confirm {
+      background-color: #2CB7CA;
+}
+.classify-fast-pop .weui-dialog .weui-dialog__ft .dialog__btn_cancel {
+      background-color: #BFBFC3;
+}
+.classify-fast-pop .weui-dialog .weui-dialog__ft:after {
+      border: none;
 }

+ 3 - 1
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/messageType.css

@@ -10,6 +10,7 @@ body .industry {
   width: 100%;
   height: 100%;
   overflow: hidden;
+background: #fff;
 }
 
 body .industry .content {
@@ -43,6 +44,7 @@ body .industry .list ul li {
   margin: 0 0.3rem;
   padding: 0.3rem 0;
   border-bottom: 1px solid #E0E0E0;
+    width: 100%;
 }
 
 body .industry .list ul li dt {
@@ -127,5 +129,5 @@ body .industry .resetOne button:first-child {
     width: 100%;
     background: rgba(245,244,249,1);
     z-index: 999;
-	    top: 0px;
+	    top: 1.3rem;
 }

+ 28 - 38
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/subscribe_list.css

@@ -6,7 +6,7 @@
   align-items: center;
 }
 
-.flex_alginC_justB, .vip_banner .box, .filter_tab, .filter_tab .area_container .area_wrap .handle_menu, .set_keyword > div, .renew_toast > div,.nv_renew_toast > div, .open_remind .remind_box {
+.flex_alginC_justB, .vip_banner .box, .filter_tab, .filter_tab .area_container .area_wrap .handle_menu, .set_keyword > div, .renew_toast > div,.nv_renew_toast > div,._renew_toast > div, .open_remind .remind_box {
   display: flex;
   align-items: center;
   justify-content: space-between;
@@ -149,6 +149,7 @@
 .vip_banner .box .left h4 {
   font-size: .32rem;
   color: #FFDAB1;
+font-weight: bold;
 }
 
 .vip_banner .box .right {
@@ -163,7 +164,6 @@
   padding: 0 .3rem;
   background: #fff;
       border-bottom: 1px solid #E6E6E6;
-z-index:999;
 }
 
 /*.filter_tab:after {
@@ -274,6 +274,8 @@ text-decoration: none;
   height: .88rem;
   line-height: .88rem;
   padding: 0 .3rem;
+display: flex;
+    align-items: center;
 }
 
 .filter_tab .area_container .area_wrap .area_data .p_item .city-count {
@@ -308,6 +310,7 @@ text-decoration: none;
   margin-right: .2rem;
   -webkit-appearance: none;
   background: #fff;
+    margin-top: -0.05rem !important;
 }
 
 .filter_tab .area_container .area_wrap .area_data .checkbox:checked {
@@ -467,6 +470,7 @@ text-decoration: none;
   background: transparent;
   border: 1px solid white;
   border-radius: .32rem;
+    text-decoration: none;
 }
 
 .set_keyword > div {
@@ -523,41 +527,27 @@ text-decoration: none;
 .nv_renew_toast > div {
   background-color: #FE737A;
 }
+/*‘’*/
+._renew_toast > div {
+  padding: .15rem .3rem;
+  color: #fff;
+  font-size: .26rem;
+}
 
-/*2.8.5 new*/
-.city-name{
-    text-overflow: ellipsis;
-    overflow: hidden;
-    display: -webkit-box;
-    -webkit-line-clamp: 1;
-    -webkit-box-orient: vertical;
-}
-.overClass{
-/*	overflow: hidden;
-	height:100vh;*/
-}
-.buyerclass {
-    border: 1px solid #CFAD89;
-    background: #CFAD89;
-    border-radius: 3px;
-    margin: 0px 5px;
-    padding: 1px 3px;
-    color: #fff;
-    font-size: 14px;
-}
-._header{
-	position: fixed;
-	top: 0;
-	width: 100%;
-	z-index: 999;
-	    margin-top: 65px;
-}
-.listcontent{
-	margin-top: 1rem;
-}
-.province_city p:last-child{
-	margin-bottom:1rem;
-}
-.province p:last-child{
-	margin-bottom:1rem;
+._renew_toast > div i {
+  font-size: .32rem;
+}
+
+._renew_toast > div a {
+  width: 1.24rem;
+  height: .64rem;
+  line-height: .64rem;
+  color: #fff;
+  text-align: center;
+  background: transparent;
+  border: 1px solid white;
+  border-radius: .32rem;
+}
+._renew_toast > div {
+  background-color: #FE737A;
 }

+ 108 - 109
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/trial_info.css

@@ -1,190 +1,189 @@
 
 .trial_info {
-    display: flex;
-    flex-direction: column;
-    align-items: center;
-    justify-content: space-between;
-    width: 100%;
-    height: 100%;
-    overflow-x: hidden;
-    background: #34355A;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: space-between;
+  width: 100%;
+  height: 100%;
+  overflow-x: hidden;
 }
 
 .trial_info .form {
-    flex: 1;
-    width: 100%;
-    overflow-y: scroll;
+  flex: 1;
+  width: 100%;
+  overflow-y: scroll;
 }
 
 .trial_info .trial_body {
-    background: #34355A;
+  background: #34355A;
 }
 
 .trial_info .trial_body .banner {
-    display: flex;
-    flex-direction: column;
-    justify-content: flex-end;
-    width: 100%;
-    height: 4.24rem;
-    background: url(../image/trial_banner.png) no-repeat center center;
-    background-size: 100% 100%;
+  display: flex;
+  flex-direction: column;
+  justify-content: flex-end;
+  width: 100%;
+  height: 4.24rem;
+  background: url(../image/trial_banner.png) no-repeat center center;
+  background-size: 100% 100%;
 }
 
 .trial_info .trial_body .banner .shadow {
-    width: 100%;
-    height: 1.4rem;
-    background: linear-gradient(180deg, rgba(52, 53, 90, 0) 0%, #34355a 100%);
+  width: 100%;
+  height: 1.4rem;
+  background: linear-gradient(180deg, rgba(52, 53, 90, 0) 0%, #34355a 100%);
 }
 
 .trial_info .trial_body .form_title {
-    width: 100%;
-    background: transparent;
-    margin-top: -0.72rem;
-    margin-bottom: .26rem;
-    color: #CFAD89;
-    text-align: center;
-    font-size: .3rem;
+  width: 100%;
+  background: transparent;
+  margin-top: -0.72rem;
+  margin-bottom: .26rem;
+  color: #CFAD89;
+  text-align: center;
+  font-size: .3rem;
 }
 
 .trial_info .trial_body .perfect {
-    width: 100%;
-    text-align: center;
-    font-size: .3rem;
-    color: #fff;
-    margin-top: -0.72rem;
-    margin-bottom: 0.32rem;
+  width: 100%;
+  text-align: center;
+  font-size: .3rem;
+  color: #fff;
+  margin-top: -0.72rem;
+  margin-bottom: 0.32rem;
 }
 
 .trial_info .trial_body .form_info {
-    padding: 0 .3rem;
+  padding: 0 .3rem;
 }
 
 .trial_info .trial_body .form_info .form_top, .trial_info .trial_body .form_info .form_bottom {
-    padding: 0.08rem 0;
-    background: #fff;
-    border-radius: 0.06rem;
+  padding: 0.08rem 0;
+  background: #fff;
+  border-radius: 0.06rem;
 }
 
 .trial_info .trial_body .form_info .form_item {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    padding: 0.26rem .3rem;
-    position: relative;
-    height: 1rem;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  padding: 0.26rem .3rem;
+  position: relative;    
+  height: 1rem;
 }
 
 .trial_info .trial_body .form_info .form_item input {
-    flex: 1;
-    font-size: .32rem;
+  flex: 1;
+  font-size: .32rem;
 }
 
 .trial_info .trial_body .form_info .form_item input::placeholder {
-    color: #888;
-    font-size: .32rem;
+  color: #888;
+  font-size: .32rem;
 }
 
 .trial_info .trial_body .form_info .form_item .code_btn {
-    color: #888;
-    font-size: .32rem;
-    background: transparent;
+  color: #888;
+  font-size: .32rem;
+  background: transparent;
 }
 
 .trial_info .trial_body .form_info .form-item-textarea {
-    display: flex;
-    align-items: center;
-    padding: 0.06rem .3rem;
-    position: relative;
-    line-height: normal;
-    height: auto;
-    min-height: .94rem;
-    height: 1rem;
+  display: flex;
+  align-items: center;
+  padding: 0.06rem .3rem;
+  position: relative;
+  line-height: normal;
+  height: auto;
+  min-height: .94rem;
+  height: 1rem;
 }
 
 .trial_info .trial_body .form_info .form-item-textarea textarea {
-    width: 100%;
-    resize: none;
-    font-size: .32rem;
+  width: 100%;
+  resize: none;
+  font-size: .32rem;
 }
 
 .trial_info .trial_body .form_info .form-item-textarea textarea::placeholder {
-    color: #888;
-    font-size: .32rem;
-    line-height: 1.3;
+  color: #888;
+  font-size: .32rem;
+  line-height: 1.3;
 }
 
 .trial_info .trial_body .form_info .form_item_line:after,
 .trial_info .trial_body .form_info .form-item-textarea:after {
-    position: absolute;
-    content: '';
-    left: 0;
-    bottom: 0;
-    width: calc(100% - 0.3rem);
-    height: 1px;
-    margin-left: .3rem;
-    background-color: #E0E0E0;
-    transform-origin: 0 0;
-    transform: scaleY(0.8);
+  position: absolute;
+  content: '';
+  left: 0;
+  bottom: 0;
+  width: calc(100% - 0.3rem);
+  height: 1px;
+  margin-left: .3rem;
+  background-color: #E0E0E0;
+  transform-origin: 0 0;
+  transform: scaleY(0.8);
 }
 
 .trial_info .trial_body .form_info .form_bottom {
-    margin-top: .26rem;
+  margin-top: .26rem;
 }
 
 .trial_info .trial_body .explain {
-    color: #CFAD89;
+  color: #CFAD89;
 }
 
 .trial_info .trial_body .explain .explain_title {
-    padding: .56rem .3rem .24rem;
-    font-size: .3rem;
-    text-align: center;
+  padding: .56rem .3rem .24rem;
+  font-size: .3rem;
+  text-align: center;
 }
 
 .trial_info .trial_body .explain .explain_item {
-    padding: 0 .3rem;
-    font-size: .24rem;
+  padding: 0 .3rem;
+  font-size: .24rem;
 }
 
 .trial_info .trial_btn > button {
-    width: 100%;
-    height: .94rem;
-    line-height: .94rem;
-    text-align: center;
-    font-size: .36rem;
-    background: #2CB7CA;
-    color: #fff;
+  width: 100%;
+  height: .94rem;
+  line-height: .94rem;
+  text-align: center;
+  font-size: .36rem;
+  background: #2CB7CA;
+  color: #fff;
 }
 
 .trial_info .trial_btn > button:disabled {
-    opacity: 0.4;
+  opacity: 0.4;
 }
 
 .custom-toast .weui-toast {
-    font-size: .3rem;
-    padding: 0.2rem;
-    width: auto;
-    max-width: 6rem;
-    min-height: 0;
-    height: auto;
-    top: 50%;
-    left: 50%;
-    margin-left: 0;
-    margin-top: -0.47rem;
-    transform: translateX(-50%) translateY(-50%);
+  font-size: .3rem;
+  padding: 0.2rem;
+  width: auto;
+  max-width: 6rem;
+  min-height: 0;
+  height: auto;
+  top: 50%;
+  left: 50%;
+  margin-left: 0;
+  margin-top: -0.47rem;
+  transform: translateX(-50%) translateY(-50%);
 }
 
 .custom-toast .weui-icon_toast {
-    display: none;
+  display: none;
 }
 
 .custom-toast .weui-toast__content {
-    margin: 0;
+  margin: 0;
 }
 
-.trial_info .trial_btn {
-    /*position: fixed;*/
-    /*bottom: 0;*/
-    width: 100%;
-    background: #fff;
+.trial_info .trial_btn{
+	/*position: fixed;*/
+	/*bottom: 0;*/
+	width: 100%;
+	background: #fff;
 }

+ 9 - 15
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/vip_index.css

@@ -409,13 +409,12 @@
   flex-direction: column;
   flex-wrap: nowrap;
   width: 100%;
-/*  height: 100vh;*/
+  height: 100%;
   padding-top: constant(safe-area-inset-top);
   padding-top: env(safe-area-inset-top);
   padding-bottom: constant(safe-area-inset-bottom);
   padding-bottom: env(safe-area-inset-bottom);
   box-sizing: border-box;
-margin-bottom:.5rem;
 }
 
 .vip_index .header {
@@ -619,14 +618,14 @@ margin-bottom:.5rem;
 }
 
 .vip_index .content .subscribe_info .s_info_top .s_i_item .expand-box .icon-arrow {
-    position: absolute;
-    width: 1.14rem;
-    bottom: -0.08rem;
-    right: .05rem;
-    text-align: right;
-    font-size: .26rem;
-    background: linear-gradient(90deg, rgba(255, 218, 177, 0) 0%, #ffdab1 100%);
-    transition: height 0.5s ease;
+  position: absolute;
+  width: 1.14rem;
+  bottom: -0.08rem;
+  right: .05rem;
+  text-align: right;
+  font-size: .26rem;
+  background: linear-gradient(90deg, rgba(255, 218, 177, 0) 0%, #ffdab1 100%);
+  transition: height 0.5s ease;
 }
 
 .vip_index .content .subscribe_info .s_info_top .s_i_item .expand-box .icon-arrow::before {
@@ -798,9 +797,4 @@ i.icon-wenhao{
   background: transparent;
   border: 1px solid white;
   border-radius: .32rem;
-}
-.footer{
-	position: fixed;
-    bottom: 0;
-    width: 100%;
 }

+ 1 - 0
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/vip_introduce.css

@@ -29,6 +29,7 @@
 
 .vip_introduce {
   width: 100%;
+  height: 100%;
   overflow: hidden;
   display: flex;
   flex-direction: column;

+ 13 - 8
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/vip_purchase.css

@@ -405,7 +405,8 @@
 }
 
 .radio-form .weui-check + .weui-icon-checked:before {
-  font-size: .42rem;
+  font-size: 16px;
+  margin-top: -3px;
 }
 
 .radio-form .weui-check:checked + .weui-icon-checked:before {
@@ -482,6 +483,10 @@
   color: #000;
 }
 
+.choose_item input:disabled, .choose_item input[disabled]{
+  opacity: 1;
+}
+
 .vip_purchase .choose_condition .chooseList .choose_item a i.iconfont,
 .vip_purchase .choose_condition .pay_mode .choose_item a i.iconfont {
   float: right;
@@ -510,7 +515,7 @@
 .vip_purchase .choose_condition .chooseList .free-7day .info,
 .vip_purchase .choose_condition .pay_mode .free-7day .info {
   margin-right: .2rem;
-  color: #000;
+  color: #686868;
 }
 
 .vip_purchase .choose_condition .chooseList {
@@ -783,9 +788,9 @@
 }
 
 .choose_item .show_time{
-  display:block;
-  width: 5rem;
-  text-align: right;
-  padding-right: .2rem;
-  color: #000;
-}
+	display:block;
+	width: 5rem;
+	text-align: right;
+	padding-right: .2rem;
+	color: #000;
+}

+ 4 - 3
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/vip_update.css

@@ -425,9 +425,9 @@
   padding: 0;
 }
 
-.radio-form .weui-cell__hd {
+/* .radio-form .weui-cell__hd {
   transform: scale(0.8);
-}
+} */
 
 .radio-form .read {
   font-size: .26rem;
@@ -438,7 +438,8 @@
 }
 
 .radio-form .weui-check + .weui-icon-checked:before {
-  font-size: 21px;
+  font-size: 16px;
+  margin-top: -3px;
 }
 
 .radio-form .weui-check:checked + .weui-icon-checked:before {

+ 192 - 193
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/common.js

@@ -1,109 +1,109 @@
 //请求同意调用
 function $DoPost(url, param = {}, callback, async = true) {
-	$.ajax({
-		url: url + "?t=" + new Date().getTime(),
-		type: "POST",
-		data: param,
-		async: async,
-		dataType: "json",
-		success: function (r) {
-			callback(r)
-			if (r.error || r.errMsg) {
-				var errTip = r.error || r.errMsg;
-				weui.toast(errTip, {
-					duration: 2000,
-					className: 'custom-toast',
-				});
-			}
-		}
-	})
+    $.ajax({
+        url: url + "?t=" + new Date().getTime(),
+        type: "POST",
+        data: param,
+        async: async,
+        dataType: "json",
+        success: function (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;
+    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) {
-	let cityArr = [];//城市
-	let provinceArr = [];//省份
-	for (var i in area) {
-		let 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)
+    let cityArr = [];//城市
+    let provinceArr = [];//省份
+    for (var i in area) {
+        let 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) {
-	let cityArr = [];//城市
-	let provinceArr = [];//省份
-	for (var i in area) {
-		let citys = area[i]
-		if (citys.length > 0) {
-			cityArr = cityArr.concat(citys);
-		} else {
-			if (i == "全国") {
-				continue
-			}
-			provinceArr.push(i)
-		}
-	}
-	return [SortArr(provinceArr), SortArr(cityArr)]
+    let cityArr = [];//城市
+    let provinceArr = [];//省份
+    for (var i in area) {
+        let 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
+    arr = arr.sort(function compareFunction(item1, item2) {
+        return item1.localeCompare(item2);
+    });
+    return arr
 }
 
 //购买设置
 function getBuySet(area, industry) {
-	if (industry[0] === "全部行业") industry = [];
-	if (area["全国"]) 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) {
-			let citys = area[i];
-			if (citys.length === 0) {
-				buyset.areacount++
-			} else {
-				buyset.citys[i] = citys.length
-			}
-		}
-	}
-	return buyset
+    if (industry[0] === "全部行业") industry = [];
+    if (area["全国"]) 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) {
+            let citys = area[i];
+            if (citys.length === 0) {
+                buyset.areacount++
+            } else {
+                buyset.citys[i] = citys.length
+            }
+        }
+    }
+    return buyset
 }
 
 /* vip订阅价格
@@ -114,32 +114,32 @@ function getBuySet(area, industry) {
    return 价格(单位:分)
 */
 function getsubVipOrderPrice(area, industry, t, price) {
-	return getsubVipOrderPriceBybuyset(getBuySet(area, industry), t, price)
+    return getsubVipOrderPriceBybuyset(getBuySet(area, industry), t, price)
 }
 
 var priceData;
 
 //根据购买设置 获取支付金额
 function getsubVipOrderPriceBybuyset(buyset, t, price) {
-	if (!price) {
-		if (priceData) {
-			price = priceData
-		} else {
-			$DoPost("/subscribepay/vipsubscribe/getPrice", {}, function (r) {
-				if (r) {
-					price = r;
-					priceData = price;
-				} else {
-					weui.toast("加载价格异常", {
-						duration: 2000,
-						className: 'custom-toast',
-					});
-				}
-			}, false)
-		}
-	}
+    if (!price) {
+        if (priceData) {
+            price = priceData
+        } else {
+            $DoPost("/subscribepay/vipsubscribe/getPrice", {}, function (r) {
+                if (r) {
+                    price = r;
+                    priceData = price;
+                } else {
+                    weui.toast("加载价格异常", {
+                        duration: 2000,
+                        className: 'custom-toast',
+                    });
+                }
+            }, false)
+        }
+    }
 	var vipbuyset = JSON.parse(JSON.stringify(buyset));
-
+	
 	if (!$.isEmptyObject(vipbuyset.citys)) {
 		for (var i in vipbuyset.citys) {
 			if(vipbuyset.citys[i]>price.cityMaxCount){
@@ -148,52 +148,51 @@ function getsubVipOrderPriceBybuyset(buyset, t, price) {
 			}
 		}
 	}
+    //当省份数量大于price.ProvinceMaxCount 按照全国计算
+    if (vipbuyset.areacount > price.provinceMaxCount) {
+        vipbuyset.areacount = -1
+    }
+    //当行业数量大于price.buyerClassMaxCount按照全行业
+    if (vipbuyset.buyerclasscount > price.buyerClassMaxCount) {
+        vipbuyset.buyerclasscount = -1
+    }
+    if (t[0] > price.monthMaxCount && t[1] === 2) t[0] = 10;//月份十个月以上价格一样
 
-	//当省份数量大于price.ProvinceMaxCount 按照全国计算
-	if (vipbuyset.areacount > price.provinceMaxCount) {
-		vipbuyset.areacount = -1
-	}
-	//当行业数量大于price.buyerClassMaxCount按照全行业
-	if (vipbuyset.buyerclasscount > price.buyerClassMaxCount) {
-		vipbuyset.buyerclasscount = -1
-	}
-	if (t[0] > price.monthMaxCount && t[1] === 2) t[0] = 10;//月份十个月以上价格一样
-
-	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 //全国多行业套餐
-	}
+    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;//计算省份价格
+    //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 {
+    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]
+                //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]
 	return final_price / 100
 }
 
@@ -202,58 +201,58 @@ function getsubVipOrderPriceBybuyset(buyset, t, price) {
 //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个行业
-			}
-	}
+    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个行业
+            }
+    }
 }
 
 //查看用户是否有未执行的订单
 function checkOrder(wz) {
-	var flag = false;
-	$.ajax({
-		type: 'post',
-		url: '/subscribepay/afterPay/checkOrder?t=' + new Date().getTime(),
-		data: {},
-		async: false,
-		dataType: 'json',
-		success: function (r) {
-			flag = r.flag;
-			if (r.flag) {
-				if (wz != 1) {
-					weui.toast('订单尚未到期', {
-						duration: 3000,
-						className: 'custom-toast',
-						callback: function () {
-							console.log('close')
-						}
-					});
-				}
-			}
-		}
-	});
-	return flag
+    var flag = false;
+    $.ajax({
+        type: 'post',
+        url: '/subscribepay/afterPay/checkOrder?t=' + new Date().getTime(),
+        data: {},
+        async: false,
+        dataType: 'json',
+        success: function (r) {
+            flag = r.flag;
+            if (r.flag) {
+                if (wz != 1) {
+                    weui.toast('订单尚未到期', {
+                        duration: 3000,
+                        className: 'custom-toast',
+                        callback: function () {
+                            console.log('close')
+                        }
+                    });
+                }
+            }
+        }
+    });
+    return flag
 }

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

@@ -251,7 +251,7 @@ function initResult() {
 
         }
     }
-    $('ul.area-list .province[data-count]').parent().on('click',  function(){
+	$('ul.area-list .province[data-count]').parent().on('click',  function(){
         slideFun($(this));
     })
     //$('.result_name').append(getAreaClassArr_index(areaData.data.area).join("、"));

+ 93 - 0
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/keyWord.js

@@ -268,6 +268,99 @@ var reloadFunc = function(){
     $('.classify-r').on('click', function(){
 		modalOne();
     })
+    // 显示快速导入弹框
+    $('.classify-fast').on('click', function(){
+		modalTwo();
+    })
+    // 关键词分类 - 去设置按钮点击事件
+    $('.classify-fast-pop .dialog__btn_confirm').on('click', function() {
+		$.ajax({
+            type: "POST",
+            url: "/subscribepay/afterPay/fastImport",
+            data: {c_index:classify_index,k_index:$(".showKeyWord li").length,c_name:$(".classify-detail").text()},
+            dataType: "json",
+            async: false,
+            traditional: true,
+            success: function(r){
+				$('.classify-fast-pop').hide();
+                if(r.flagInt==1){
+					sessionStorage.fastimport = r.flagInt;
+					$(".classify-fast").hide();
+					var kwcount = r.kwMap.length;
+					var newCount = parseInt($(".addNewKeyword .kws_count").text())+parseInt(kwcount);
+					$(".kws_count").text(newCount);
+					weui.toast('成功导入'+kwcount+'个关键词', {
+		                duration: 2000,
+		                className: 'custom-toast',
+		                callback: function () { console.log('close') }
+		            });
+					//if($(".classify .classify-detail").text()=="未分类"){
+					var _keyArr = r.kwMap;
+					var p = $(".showKeyWord li").length;
+					if($(".showKeyWord li").length==0){
+                    	var classifyArr = {"s_item":"未分类","a_key":[]}
+                        a_items.push(classifyArr);
+					}else{
+						a_items[classify_index]["s_item"]="未分类";
+					}
+	                for (var i = 0; i< _keyArr.length; i++) {
+						a_items[classify_index]["a_key"].push(_keyArr[i]);
+						kws_arr[_keyArr[i]["key"].join(" ")] = p+"-"+classify_index
+           				var kwsHtml = '';
+	                    var nk_showClass = 'hide';//是否显示排除词个数
+	                    var nk_remark = '添加';
+	                    var notkeylth = 0;
+	                    kwsHtml +='<li>'
+	                    kwsHtml +='<div class="one" style="">'
+	                    kwsHtml +='<div>'
+	                                +'<span><strong> 关键词:</strong>'
+	                                +'<p class="key">'+_keyArr[i]["key"].join(" ")+'</p></span>'
+	                    if (_keyArr[i]["notkey"]!=undefined&&_keyArr[i]["notkey"].length>0){
+	                        nk_showClass = "";
+	                        nk_remark = '编辑';
+	                        notkeylth = _keyArr[i]["notkey"].length;
+	                        kwsHtml +='<span>'
+	                                    +'<strong> 排除词:</strong>'
+	                                    +'<p class="notkey">'+_keyArr[i]["notkey"].join(" ")+'</p>'
+	                                    +'</span>'
+	                    }
+	                    kwsHtml +='</div>'
+	                                +'<button class="editKeyWord" dataIndex="'+p+'"><i class="iconfont icon-xiugai"></i> 修改</button>'
+	                                +'</div>'
+	                     
+	                    if(modifyFlag&&i==kws_index){
+	                        kwsHtml +='<div class="modify" style="display:block;">'
+	                        if(not_kws.length>0){
+	                            notkeylth = not_kws.length;
+	                        }
+	                    }else{
+	                        kwsHtml +='<div class="modify" style="display: none;">'
+	                    }
+	                    kwsHtml +='<textarea name="" rows="1" placeholder="" maxlength="20">'+_keyArr[i]["key"].join(" ")+'</textarea>'
+	                                +'<button class="addAdjunctWord" onclick="toappendkey(this)">添加 附加词 <i class="appendkey hide">(0)</i></button>'
+	                                +'<button class="addExclusion" onclick="tonotkey(this)">'+nk_remark+' 排除词 <i class="notkey '+nk_showClass+'">('+notkeylth+')</i></button>'
+	                                +'<button class="deleteKey">删除</button>'
+	                                +'<button class="ascertainKey" dataIndex="'+p+'" onclick="saveK(this)">确定</button>'
+	                                +'</div>'
+	                                +'</li>'
+						$(kwsHtml).prependTo(".showKeyWord ul");
+						p = parseInt(p) + 1;
+	                }
+					//}
+				}else{
+					weui.toast('导入失败', {
+		                duration: 2000,
+		                className: 'custom-toast',
+		                callback: function () { console.log('close') }
+		            });
+				}
+            }
+        });
+    })
+    // 关键词分类 - 取消按钮点击事件
+    $('.classify-fast-pop .dialog__btn_cancel').on('click', function() {
+        $('.classify-fast-pop').hide();
+    })
     //
 
     $('.classify-edit-pop .classify-keyword').bind('input propertychange', function() {

+ 73 - 0
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/mapArea.js

@@ -0,0 +1,73 @@
+/**
+ * @file china-map.json
+ * @author wangshan 简易版2019-11-21
+ */
+var chinaMapJSON = [{
+	"安徽": ["合肥市", "芜湖市", "蚌埠市", "淮南市", "马鞍山市", "淮北市", "铜陵市", "安庆市", "黄山市", "滁州市", "阜阳市", "宿州市", "巢湖市", "六安市", "亳州市", "池州市", "宣城市"]
+}, {
+	"澳门": ["澳门"]
+}, {
+	"北京": ["北京市"]
+}, {
+	"重庆": ["重庆市"]
+}, {
+	"福建": ["福州市", "厦门市", "宁德市", "莆田市", "泉州市", "漳州市", "龙岩市", "三明市", "南平市"]
+}, {
+	"广东": ["广州市", "汕尾市", "阳江市", "揭阳市", "茂名市", "惠州市", "江门市", "韶关市", "梅州市", "汕头市", "深圳市", "珠海市", "佛山市", "肇庆市", "湛江市", "中山市", "河源市", "清远市", "云浮市", "潮州市", "东莞市"]
+}, {
+	"广西": ["防城港市", "南宁市", "崇左市", "来宾市", "柳州市", "桂林市", "梧州市", "贺州市", "贵港市", "玉林市", "百色市", "钦州市", "河池市", "北海市"]
+}, {
+	"贵州": ["贵阳市", "遵义市", "安顺市", "黔南布依族苗族自治州", "黔东南苗族侗族自治州", "铜仁市", "毕节市", "六盘水市", "黔西南布依族苗族自治州"]
+}, {
+	"甘肃": ["兰州市", "金昌市", "白银市", "天水市", "嘉峪关市", "武威市", "张掖市", "平凉市", "酒泉市", "庆阳市", "定西市", "陇南市", "临夏回族自治州", "甘南藏族自治州"]
+}, {
+	"河北": ["邯郸市", "石家庄市", "秦皇岛市", "保定市", "张家口市", "承德市", "唐山市", "廊坊市", "沧州市", "衡水市", "邢台市"]
+}, {
+	"湖北": ["武汉市", "襄阳市", "鄂州市", "孝感市", "黄冈市", "黄石市", "咸宁市", "荆州市", "宜昌市", "恩施土家族苗族自治州", "神农架林区", "十堰市", "随州市", "荆门市", "仙桃市", "天门市", "潜江市"]
+}, {
+	"黑龙江": ["哈尔滨市", "齐齐哈尔市", "鸡西市", "牡丹江市", "七台河市", "佳木斯市", "鹤岗市", "双鸭山市", "绥化市", "黑河市", "大兴安岭地区", "伊春市", "大庆市"]
+}, {
+	"海南": ["海口市", "三亚市", "五指山市", "琼海市", "儋州市", "文昌市", "万宁市", "东方市", "澄迈县", "定安县", "屯昌县", "临高县", "白沙黎族自治县", "昌江黎族自治县", "乐东黎族自治县", "陵水黎族自治县", "保亭黎族苗族自治县", "琼中黎族苗族自治县", "三沙市"]
+}, {
+	"河南": ["商丘市", "郑州市", "安阳市", "新乡市", "许昌市", "平顶山市", "信阳市", "南阳市", "开封市", "洛阳市", "济源市", "焦作市", "鹤壁市", "濮阳市", "周口市", "漯河市", "驻马店市", "三门峡市"]
+}, {
+	"湖南": ["岳阳市", "长沙市", "湘潭市", "株洲市", "衡阳市", "郴州市", "常德市", "益阳市", "娄底市", "邵阳市", "湘西土家族苗族自治州", "张家界市", "怀化市", "永州市"]
+}, {
+	"吉林": ["长春市", "吉林市", "延边朝鲜族自治州", "四平市", "通化市", "白城市", "辽源市", "松原市", "白山市"]
+}, {
+	"江苏": ["南京市", "无锡市", "镇江市", "苏州市", "南通市", "扬州市", "盐城市", "徐州市", "淮安市", "连云港市", "常州市", "泰州市", "宿迁市"]
+}, {
+	"江西": ["鹰潭市", "新余市", "南昌市", "九江市", "上饶市", "抚州市", "宜春市", "吉安市", "赣州市", "景德镇市", "萍乡市"]
+}, {
+	"辽宁": ["沈阳市", "铁岭市", "大连市", "鞍山市", "抚顺市", "本溪市", "丹东市", "锦州市", "营口市", "阜新市", "辽阳市", "朝阳市", "盘锦市", "葫芦岛市"]
+}, {
+	"内蒙古": ["呼伦贝尔市", "呼和浩特市", "包头市", "乌海市", "乌兰察布市", "通辽市", "赤峰市", "鄂尔多斯市", "巴彦淖尔市", "锡林郭勒盟", "兴安盟", "阿拉善盟"]
+}, {
+	"宁夏": ["银川市", "石嘴山市", "吴忠市", "固原市", "中卫市"]
+}, {
+	"青海": ["海北藏族自治州", "西宁市", "海东市", "黄南藏族自治州", "海南藏族自治州", "果洛藏族自治州", "玉树藏族自治州", "海西蒙古族藏族自治州"]
+}, {
+	"山西": ["朔州市", "忻州市", "太原市", "大同市", "阳泉市", "晋中市", "长治市", "晋城市", "临汾市", "吕梁市", "运城市"]
+}, {
+	"陕西": ["西安市", "咸阳市", "延安市", "榆林市", "渭南市", "商洛市", "安康市", "汉中市", "宝鸡市", "铜川市"]
+}, {
+	"上海": ["上海市"]
+}, {
+	"山东": ["菏泽市", "济南市", "青岛市", "淄博市", "德州市", "烟台市", "潍坊市", "济宁市", "泰安市", "临沂市", "滨州市", "东营市", "威海市", "枣庄市", "日照市", "莱芜市", "聊城市"]
+}, {
+	"四川": ["成都市", "攀枝花市", "自贡市", "绵阳市", "南充市", "达州市", "遂宁市", "广安市", "巴中市", "泸州市", "宜宾市", "资阳市", "内江市", "乐山市", "眉山市", "凉山彝族自治州", "雅安市", "甘孜藏族自治州", "阿坝藏族羌族自治州", "德阳市", "广元市"]
+}, {
+	"天津": ["天津市"]
+}, {
+	"台湾": ["台湾省"]
+}, {
+	"西藏": ["拉萨市", "日喀则市", "山南市", "林芝市", "昌都市", "那曲地区", "阿里地区"]
+}, {
+	"新疆": ["塔城地区", "哈密地区", "和田地区", "阿勒泰地区", "克孜勒苏柯尔克孜自治州", "博尔塔拉蒙古自治州", "克拉玛依市", "乌鲁木齐市", "石河子市", "昌吉回族自治州", "五家渠市", "吐鲁番市", "巴音郭楞蒙古自治州", "阿克苏地区", "阿拉尔市", "喀什地区", "图木舒克市", "伊犁哈萨克自治州"]
+}, {
+	"香港": ["香港"]
+}, {
+	"云南": ["西双版纳傣族自治州", "德宏傣族景颇族自治州", "昭通市", "昆明市", "大理白族自治州", "红河哈尼族彝族自治州", "曲靖市", "保山市", "文山壮族苗族自治州", "玉溪市", "楚雄彝族自治州", "普洱市", "临沧市", "怒江傈僳族自治州", "迪庆藏族自治州", "丽江市"]
+}, {
+	"浙江": ["舟山市", "衢州市", "杭州市", "湖州市", "嘉兴市", "宁波市", "绍兴市", "温州市", "丽水市", "金华市", "台州市"]
+}]

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

@@ -30,7 +30,7 @@
 var flags = [false, false, false, false, false];
 function checkAll() {
     for (f in flags) {
-        if (f==2) continue
+        //if (f==2) continue
         if (!flags[f]) {
             isDisabled(false);
             return;

+ 114 - 0
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/share.js

@@ -0,0 +1,114 @@
+function initShare(signature){
+	var myloc = window.location.host;
+	var ors = "";
+	if("https:"==document.location.protocol){
+		ors = "s"
+	}
+	myloc="http"+ors+"://"+myloc;
+	if(typeof(signature) != "undefined" && signature != null && signature.length == 4){
+		wx.config({
+		    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
+		    appId: signature[0], // 必填,公众号的唯一标识
+		    timestamp:signature[1], // 必填,生成签名的时间戳
+		    nonceStr: signature[2], // 必填,生成签名的随机串
+		    signature: signature[3],// 必填,签名,见附录1
+		    jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage','onMenuShareQQ','onMenuShareQZone','closeWindow'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
+		});
+		var randShareTitle = getShareText();
+
+		var link = myloc+"/swordfish/about";
+
+		var otherLink = link;
+		var desc = "全国招标信息免费看,不遮挡";
+		var otherDesc = desc;
+		var url = "/wxswordfish/images/small_log_new.jpg";
+		var encryptid = "";
+		var subhref = window.location.href;
+		
+		wx.ready(function () {
+			var triggerFlag = false;
+	        wx.onMenuShareTimeline({
+			    title: randShareTitle, // 分享标题
+			    link: otherLink, // 分享链接
+			    imgUrl: myloc+'/wxswordfish/images/small_log_new.jpg', // 分享图标
+				trigger: function (res) {
+					try{
+						triggerFlag = true;
+						afterShareTimeline("trigger");
+					}catch(e){}
+                },
+			    success: function () {
+					if(!triggerFlag){
+						try{
+							afterShareTimeline("success");
+						}catch(e){}
+					}
+			       //alert('分享成功');
+			    },
+			    cancel: function () {
+					if(!triggerFlag){
+						try{
+							afterShareTimeline("cancel");
+						}catch(e){}
+					}
+			       //alert('分享失败,或用户取消了');
+			    }
+			});
+			wx.onMenuShareAppMessage({
+			    title: randShareTitle, // 分享标题
+			    desc: desc, // 分享描述
+			    link: link, // 分享链接
+			    imgUrl: myloc+url, // 分享图标
+			    type: 'link', // 分享类型,music、video或link,不填默认为link'
+			    dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
+			    success: function () {
+			        //alert('分享成功');
+			    },
+			    cancel: function () {
+					//alert('分享失败,或用户取消了');
+			    }
+			});
+			wx.onMenuShareQQ({
+				title: randShareTitle, // 分享标题
+				desc: otherDesc, // 分享描述
+				link: otherLink, // 分享链接
+				imgUrl: myloc+url, // 分享图标
+				success: function () {
+					// 用户确认分享后执行的回调函数
+				},
+				cancel: function () {
+					// 用户取消分享后执行的回调函数
+				}
+			});
+			wx.onMenuShareQZone({
+			    title: randShareTitle, // 分享标题
+				desc: otherDesc, // 分享描述
+				link: otherLink, // 分享链接
+				imgUrl: myloc+url, // 分享图标
+				success: function () {
+					// 用户确认分享后执行的回调函数
+				},
+				cancel: function () {
+					// 用户取消分享后执行的回调函数
+				}
+			});
+	    });
+		wx.error(function(res){
+		    // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
+			//alert("error auth");
+		});
+	}
+}
+//随机获取分享文案
+var ShareText = [
+	"我和投标伙伴都在用剑鱼标讯找项目,推荐你也试试",
+	"我用剑鱼标讯免费查到超多招标信息,推荐你也试试",
+	"我收到了剑鱼标讯免费推送的招标信息,推荐你也试试",
+	"发现了一个投标神器,推荐你也试试"
+]
+function getShareText(){
+	var Range = ShareText.length-1;
+	var Rand = Math.random();  
+	var num = Math.round(Rand * Range);
+	return ShareText[num];
+}

+ 188 - 26
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/updateArea.js

@@ -73,7 +73,7 @@ $(function () {
     }
 
     // 新增求值 ---- 统计数量,不做视图操作
-    function getResult(callback) {
+    function getResult0(callback) {
         if (areaData.data.buyset.areacount === -1) {
             $('.result_text.add_new .added-info').hide()
             return
@@ -86,7 +86,7 @@ $(function () {
         
         // 已购买省份改变的数量
         let dBuySetProvinceCount = 0
-        // 已购买省份改变的数量
+        // 新增省份改变的数量
         let dAddedProvinceCount = 0
         
         // 已购买城市改变的数量
@@ -192,21 +192,165 @@ $(function () {
             isLockedTipButtons(false)
         }
     }
+	
+	
+	
+	// 新增求值 ---- 统计数量,不做视图操作
+	function getResult(callback) {
+	    if (areaData.data.buyset.areacount === -1) {
+	        $('.result_text.add_new .added-info').hide()
+	        return
+	    }
+	    // 升级新增清空
+	    $('.result_text.add_new .added-info').text('')
+	
+	    let isWholeSelected = $('.tab.whole input').is(':checked')
+	    let isWholeDisabled = $('.tab.whole input').prop('disabled')
+	    
+	    // 已购买省份改变的数量
+	    let dBuySetProvinceCount = 0
+	    // 新增省份改变的数量
+	    let dAddedProvinceCount = 0
+	    
+	    // 已购买城市改变的数量
+	    let dBuySetCityCount = 0
+	    // 新增城市的数量
+	    let dAddedCityCount = 0
+	    $('.area-list li:not(.index)').each(function(i, dom){
+	        if ($(dom).children('.tab').hasClass('whole')) return true
+	        // 统计非全国的数量
+	        // 没有'data-buy-city-count'属性的 $(dom).attr('data-buy-city-count') 为undefined
+	        if ($(dom).attr('data-buy-city-count')) {
+	            /********  此处判断的是已购买的城市下的  ********************/
+	            // 获取购买城市的数量
+	            let buyCount = $(dom).attr('data-buy-city-count') - 0   // 隐式转换成Number
+	            // 获取城市不可点击的数量
+	            let alreadySelectedCount = $(dom).find('button[disabled]').length
+	            // 选择城市的数量(包括不可点击的)
+	            let hasActiveCount = $(dom).find('button.active').length
+				let allCitylength = $(dom).find('button').length
+	
+	            if (hasActiveCount > buyCount) {
+					if (alreadySelectedCount - hasActiveCount === 0) {
+						dBuySetCityCount += buyCount
+						dBuySetProvinceCount ++
+					} else if (allCitylength === hasActiveCount) {
+						// 如果选中全省,则多修改
+						dBuySetCityCount += buyCount
+						dAddedProvinceCount ++
+					} else {
+						dBuySetCityCount += buyCount
+						dAddedCityCount += (hasActiveCount - buyCount)
+					}
+	            } else {
+	                // 操作已购买的数量
+	                dBuySetCityCount += hasActiveCount
+	            }
+	        } else {
+	            // 是不是直辖市或自治区,在有data-buy-count没必要判断
+	            let hasCities = $(dom).find('.tab').hasClass('municipality')
+	            // 是否购买过该省份(还需要判断该省份下面的城市是否全部disabled --- 同时满足才算购买过全省)
+	            let provinceInput = $(dom).find('input')
+	            // 循环着的当前的省份是否可选 和 是否被选中
+	            let isBoughtProvince = provinceInput.prop('disabled')
+	            let isChecked = provinceInput.is(':checked')
+	
+	            // 可得到已经购买的省份的数量(循环完成后可得到,循环过程中的值可能不全)
+	
+	            // 判断是否为购买过的城市
+	            if (isBoughtProvince) {
+	                // 将已购买(选中但不能单击的)城市选中
+	                if (isChecked) {
+	                    dBuySetProvinceCount ++
+	                }
+	            } else {
+	                // 判断是否是直辖市或自治区(省份下面没有城市的和有城市的分开计算)
+	                if (hasCities) {
+	                    // 直辖市、自治区 -----直接进行省份的操作
+	                    // 并且没有购买过该省的,并且选中的
+	                    if (isChecked) {
+	                        dAddedProvinceCount ++
+	                    }
+	                } else {
+	                    // 带有市的省份城市(该省份下以前没有购买过任何城市)
+	                    // 两种情况:1. 全选    2. 不全选
+	                    let allCityLength = $(dom).find('button').length
+	                    let otherTotalAddCount = $(dom).find('button.active').length
+	
+	                    if (allCityLength === otherTotalAddCount && isChecked) {
+	                        // 选中了省份下的所有城市
+	                        dAddedProvinceCount ++
+	                    } else {
+	                        // 对城市做新增操作
+	                        dAddedCityCount += otherTotalAddCount
+	                    }
+	                }
+	            }
+	        }
+	    })
+	
+	    // 循环完成判断已经选择的省份数量 是否 大于购买过的数量
+	    if (dBuySetProvinceCount + dAddedProvinceCount > alreadyBuy.province.totalCount) {
+	        // 如果已选择的数量和新增的数量大于已购买过的数量,说明我有购买新的城市
+	        dAddedProvinceCount -= (alreadyBuy.province.totalCount - dBuySetProvinceCount)
+	        dBuySetProvinceCount = alreadyBuy.province.totalCount
+	    } else {
+	        dBuySetProvinceCount += dAddedProvinceCount
+	        dAddedProvinceCount = 0
+	    }
+	
+	    // 已购买城市下选项改变,状态更新
+	    alreadyBuy.city.selectedCount = dBuySetCityCount
+	    newlyAdded.city = dAddedCityCount
+	
+	    alreadyBuy.province.selectedCount = dBuySetProvinceCount
+	    newlyAdded.province = dAddedProvinceCount
+	
+	    callback && callback()
+	
+	    setDataInResult()
+	
+	    // 全国被选中了
+	    if (isWholeSelected && !isWholeDisabled) {
+	        $('.result_text.add_new .added-info').text('全国')
+	        $('.result_text.add_new').show()
+	        isLockedTipButtons(false)
+	    }
+	}
+	
+	
 
     function setDataInResult() {
         let buySetInfo = {
-            p: `省级区域${alreadyBuy.province.selectedCount}/${alreadyBuy.province.totalCount}、`,
+            p: `省级区域${alreadyBuy.province.selectedCount}/${alreadyBuy.province.totalCount}`,
             c: `地市${alreadyBuy.city.selectedCount}/${alreadyBuy.city.totalCount}`
         }
         let addedInfo = {
-            p: `省级区域 ${newlyAdded.province}、`,
+            p: `省级区域 ${newlyAdded.province}`,
             c: `地市 ${newlyAdded.city}`
         }
 
         // 修改数量并进行重新赋值
-        $('.result_text.already .buy-set-info').text(buySetInfo.p + buySetInfo.c)
+		if (alreadyBuy.city.totalCount === 0) {
+			// 只买了省级区域
+			$('.result_text.already .buy-set-info').text(buySetInfo.p)
+		} else if (alreadyBuy.province.totalCount === 0){
+			// 只买了市
+			$('.result_text.already .buy-set-info').text(buySetInfo.c)
+		} else {
+			$('.result_text.already .buy-set-info').text(`${buySetInfo.p}、${buySetInfo.c}`)
+		}
+        
         // 升级新增赋值
-        $('.result_text.add_new .added-info').text(addedInfo.p + addedInfo.c)
+		if (newlyAdded.city === 0) {
+			// 只买了省级区域
+			$('.result_text.add_new .added-info').text(`${addedInfo.p}`)
+		} else if (newlyAdded.province === 0){
+			// 只买了市
+			$('.result_text.add_new .added-info').text(`${addedInfo.c}`)
+		} else {
+			$('.result_text.add_new .added-info').text(`${addedInfo.p}、${addedInfo.c}`)
+		}
 
         if (newlyAdded.province !== 0 || newlyAdded.city !== 0) {
             $('.result_text.add_new').show()
@@ -228,6 +372,7 @@ $(function () {
                 // '吉林': 1
             }
         }
+		let allDisabledButHasCityCount = {}
         // 购买过的省份数量
         let buySetProvinceCount = $('.area-list').attr('data-buy-province-count') - 0  // 隐式转换成Number
         
@@ -245,6 +390,7 @@ $(function () {
                 let pName = $(dom).find('.province').text().replace(/\s+ | [\r\n]/g, '')
                 // 获取当前dom下有几个按钮有active样式(点亮和灰色按钮的总数)
                 let activeButtonLength = $(dom).find('button.active').length
+				let allCitylength = $(dom).find('button').length
 
                 // 判断该省是否有购买过的城市
                 if ($(dom).attr('data-buy-city-count')) {
@@ -258,6 +404,12 @@ $(function () {
 						// 说明有购买的城市
 						if (activeButtonLength - alreadySelectedCount === 0) {
 							added.province ++
+							allDisabledButHasCityCount[pName] = buyCityCount
+						} else if (activeButtonLength === allCitylength) {
+							// if(alreadySelectedCount < activeButtonLength){
+							// 	allDisabledButHasCityCount[pName] = buyCityCount
+							// }
+							added.province ++
 						} else {
 							added.city[pName] = aCityCount
 						}
@@ -291,7 +443,7 @@ $(function () {
         } else {
             added.province = 0
         }
-        return added
+        return { added, allDisabledButHasCityCount }
     }
 
     // 点亮的城市数量详情(需要省和城市名称)
@@ -322,23 +474,12 @@ $(function () {
                 } else {
                     let allCitylength = $(dom).find('button').length
 
-                    if (state === 'disabled') {
+                    if (state === 'notDisabled') {
                         // 判断是否全省被选中
-                        if ($(dom).find('button.active').length === allCitylength) {
-                            // 判断省下有没有不可点击的按钮
-                            if ($(dom).attr('data-buy-city-count')) {
-                                $(dom).find('button.active').each(function(c, dom) {
-                                    let cName = $(dom).text().replace(/\s+ | [\r\n]/g, '')
-                                    selectedObj.children.push(cName)
-                                })
-                                if (selectedObj.children.length) {
-                                    arr.push(selectedObj)
-                                }
-                            } else {
-                                arr.push(selectedObj)
-                            }
+                        if ($(dom).find('button.active:not([disabled])').length === allCitylength) {
+                            arr.push(selectedObj)
                         } else {
-                            $(dom).find('button.active').each(function(c, dom) {
+                            $(dom).find('button.active:not([disabled])').each(function(c, dom) {
                                 let cName = $(dom).text().replace(/\s+ | [\r\n]/g, '')
                                 selectedObj.children.push(cName)
                             })
@@ -348,10 +489,10 @@ $(function () {
                         }
                     } else {
                         // 判断是否全省被选中
-                        if ($(dom).find('button.active:not([disabled])').length === allCitylength) {
+                        if ($(dom).find('button.active').length === allCitylength) {
                             arr.push(selectedObj)
                         } else {
-                            $(dom).find('button.active:not([disabled])').each(function(c, dom) {
+                            $(dom).find('button.active').each(function(c, dom) {
                                 let cName = $(dom).text().replace(/\s+ | [\r\n]/g, '')
                                 selectedObj.children.push(cName)
                             })
@@ -443,7 +584,7 @@ $(function () {
         }
         getResult()
     }
-
+	
     function isLockedTipButtons(f) {
         $('.tips_btn button').prop('disabled', f)
     }
@@ -760,7 +901,8 @@ $(function () {
     $('.save-btn').on('click', function(){
         // 获取added城市详情
         var activeCityDetail = getActiveCityDetail()
-        let areaCount = getResultWithMCount()
+        let areaCount = getResultWithMCount().added
+		let lastSet = getResultWithMCount().allDisabledButHasCityCount
 //      console.log("111",areaCount)
 //      console.log(JSON.stringify(activeCityDetail))
 //      console.log(activeCityDetail)
@@ -770,8 +912,28 @@ $(function () {
         sessionStorage.vipSubSelectCity = newlyAdded.city;
         sessionStorage.vipSubSelectAreaUpgrade = JSON.stringify(activeCityDetail);
         sessionStorage.vipSubSelectAreaAdd = JSON.stringify(areaCount);
+		sessionStorage.vipallDisabledButHasCityCount = JSON.stringify(lastSet);
+		//
+		if(areaCount.country === 0){
+			if(areaCount.province === 0 && checkObj(areaCount.city)){
+				sessionStorage.removeItem("vipSubSelectAreaUpgrade");
+			}
+		}
+				
         history.go(-1);
     })
+	
+	function checkObj(obj) {
+	    //检验数组
+	    if (Array.prototype.isPrototypeOf(obj) && obj.length === 0) {
+	        return true;
+	    }
+	    //检验对象
+	    if (Object.prototype.isPrototypeOf(obj) && Object.keys(obj).length === 0) {
+	        return true;
+	    }
+	    return false;
+	}
 	//
 	if(sessionStorage.vipSubSelectAreaUpgrade!==undefined&&sessionStorage.vipSubSelectAreaUpgrade!==""){
 		let areaObj = JSON.parse(sessionStorage.vipSubSelectAreaUpgrade);

+ 7 - 1
src/jfw/modules/app/src/web/templates/vipsubscribe/additionWord.html

@@ -4,7 +4,8 @@
 <head>
 	{{include "/common/meta.html"}}
     <title>附加词</title>
-	{{include "/common/nnc.html"}}
+	<link href="{{Msg "seo" "cdn"}}/jyapp/css/layout.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+	<link href="{{Msg "seo" "cdn"}}/jyapp/css/font.css?v={{Msg "seo" "version"}}" rel="stylesheet">
     <script src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
     <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}">
     <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}">
@@ -73,12 +74,17 @@
 	<script src="{{Msg "seo" "cdn"}}/jyapp/js/jquery-3.2.1.min.js?v=1412"></script>
     <script src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/js/weui.min.js"></script>
     <script src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/js/additionWord.js?v={{Msg "seo" "version"}}"></script>
+	{{include "/common/js.html"}}
     <script>
         var addition_kws = []//附加词
         var _addkws = "";
         var _addindex = -1;
 		var addkws_arr = {}
         $(function() {
+			(/iphone|ipod|ipad/i.test(navigator.appVersion)) && document.addEventListener('blur', function(e) {
+				// 这里加了个类型判断,因为a等元素也会触发blur事件
+				['input', 'textarea'].includes(e.target.localName) && document.body.scrollIntoView(true)
+			}, true)
             if(sessionStorage&&sessionStorage.addition_kws!=undefined){
                 addition_kws = JSON.parse(sessionStorage.addition_kws);
                 appendHtml(addition_kws);

+ 7 - 1
src/jfw/modules/app/src/web/templates/vipsubscribe/exclusiveWord.html

@@ -4,7 +4,8 @@
 <head>
 	{{include "/common/meta.html"}}
     <title>排除词</title>
-	{{include "/common/nnc.html"}}
+	<link href="{{Msg "seo" "cdn"}}/jyapp/css/layout.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+	<link href="{{Msg "seo" "cdn"}}/jyapp/css/font.css?v={{Msg "seo" "version"}}" rel="stylesheet">
     <script src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
     <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}">
     <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}">
@@ -72,12 +73,17 @@
 	<script src="{{Msg "seo" "cdn"}}/jyapp/js/jquery-3.2.1.min.js?v={{Msg "seo" "version"}}"></script>
     <script src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
     <script src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/js/exclusiveWord.js?v={{Msg "seo" "version"}}"></script>
+	{{include "/common/js.html"}}
     <script>
         var not_kws = []//排除词
         var _notkws = "";
         var _notindex = -1;
 		var notkws_arr = {}
         $(function() {
+			(/iphone|ipod|ipad/i.test(navigator.appVersion)) && document.addEventListener('blur', function(e) {
+				// 这里加了个类型判断,因为a等元素也会触发blur事件
+				['input', 'textarea'].includes(e.target.localName) && document.body.scrollIntoView(true)
+			}, true)
             if(sessionStorage&&sessionStorage.not_kws!=undefined){
                 not_kws = JSON.parse(sessionStorage.not_kws);
                 appendHtml(not_kws);

+ 165 - 116
src/jfw/modules/app/src/web/templates/vipsubscribe/keyWord.html

@@ -4,7 +4,8 @@
 <head>
 	{{include "/common/meta.html"}}
     <title>关键词</title>
-	<link href="{{Msg "seo" "cdn"}}/jyapp/css/common.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+	<link href="{{Msg "seo" "cdn"}}/jyapp/css/layout.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+	<link href="{{Msg "seo" "cdn"}}/jyapp/css/font.css?v={{Msg "seo" "version"}}" rel="stylesheet">
     <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}">
     <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}">
     <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
@@ -118,122 +119,142 @@
 	</div>
 	
 	<div class="app-layout-content-b">
-	    <div class="keyWord">
-	        <section class="add-keyword-container" style="display: none;">
-	            <div>
-	                <div class="classify">
-	                    <span class="classify-l">关键词分类</span>
-	                    <span class="classify-r">
-	                        <span class="classify-detail">未分类</span>
-	                        <span class="iconfont icon-arrow"></span>
-	                    </span>
-	                </div>
-	                <p class="classify-tips">
-	                    关键词分类便于对同类别关键词做整合管理
-	                </p>
-	            </div>
-	            <section class="content">
-	                <!-- 添加关键词 -->
-	                <div class="enter addkeyWord" style="display: none;">
-	                    <input type="text" class="enterOne" placeholder="请输入关键词" maxlength="20" />
-	                    <!-- <textarea style="resize:none;" rows="1"  class="enterOne" name="" id=""  placeholder="请输入关键词" maxlength="100"></textarea> -->
-	                    <div class="btnChoose" style="display:none;">
-	                        <button onclick="toappendkey(this)">添加 附加词</button>
-	                        <button onclick="tonotkey(this)">添加 排除词</button>
-	                    </div>
-	                    <div class="btn">
-	                        <button onclick="Cancel()" style="width:49%;background:#fff;color:#2cb7ca;opacity: 1;">取消</button>
-	                        <button disabled>确认</button>
-	                    </div>
-	                </div>
-	
-	                <!-- 添加关键词显示列表 -->
-	                <div class="showKeyWord">
-	                    <ul>
-	                    </ul>
-	                </div>
-	
-	                <div class="problem">
-	                    疑问解答 <i class="iconfont icon-wenhao"></i>
-	                </div>
-	            </section>
-	
-	            <div class="addKeyWord addNewKeyword">
-	                <i class="iconfont icon-tianjia"  style="display:none;"></i>
-	                <p> 关键词添加数量:<em style="color: #2cb7ca;" class="kws_count">0 </em>/ 300</p>
-	            </div>
-	        </section>
-	        <section class="all-classify-column" style="display: none;">
-	            <div class="keysexplain"><p> 关键词添加数量:<em style="color: #2cb7ca;" class="kws_count">0 </em> / 300</p></div>
-	            <ul class="classify-list">
-	                
-	            </ul>
-	
-	            <div class="addKeyWord addNewKeyword"><div class="addClassify">新增关键词分类</div></div>
-	        </section>
-	
-	        <!-- 疑难问题弹窗 -->
-	        <div class="problemPop dialog-container">
-	            <div class="problemPopContent">
-	                <h3>疑问解答</h3>
-	                <ul>
-	                    <li>
-	                        <p>例:某公司主营业务为软件系统开发</p>
-	                    </li>
-	                    <li>
-	                        <h4>关键词:</h4>
-	                        <p>目标信息中的关键性词语,如“软件系统”</p>
-	                    </li>
-	                    <li>
-	                        <h4>附加词:</h4>
-	                        <p>与关键词形成一体/组合,便于查找准确信息,如“开发”</p>
-	                    </li>
-	                    <li>
-	                        <h4>排除词:</h4>
-	                        <p>与关键词互斥,可排除一部分非目标信息,如“运维”</p>
-	                    </li>
-	                </ul>
-	                <button class="knowBtn">我知道了</button>
-	            </div>
-	        </div>
-	        <!-- 关键词分类弹框 -->
-	        <div class="classify-edit-pop dialog-container">
-	            <!-- <div class="weui-mask weui-animate-fade-in"></div> -->
-	            <div class="weui-dialog weui-animate-fade-in">
-	                <div class="weui-dialog__hd">
-	                    <strong class="weui-dialog__title">关键词分类</strong>
-	                </div>
-	                <div class="weui-dialog__bd">
-	                    <input type="text" class="classify-keyword" maxlength="20" placeholder="输入分类名称">
-	                </div>
-	                <div class="weui-dialog__ft">
-	                    <a href="javascript:;" class="dialog__btn dialog__btn_confirm opacity6">确定</a> 
-	                    <a href="javascript:;" class="dialog__btn dialog__btn_cancel">取消</a>
-	                </div>
-	            </div>
-	        </div>
-	
-	        <!-- 关键词分类说明 -->
-	        <div class="classify-show-pop dialog-container">
-	            <!-- <div class="weui-mask weui-animate-fade-in"></div> -->
-	            <div class="weui-dialog weui-animate-fade-in">
-	                <div class="weui-dialog__hd">
-	                    <strong class="weui-dialog__title">提示信息</strong>
-	                </div>
-	                <div class="weui-dialog__bd">
-	                    关键词分类有利于关键词做整合管理<br>工作更为高效!
-	                </div>
-	                <div class="weui-dialog__ft">
-	                    <a href="javascript:;" class="dialog__btn dialog__btn_confirm">去设置</a> 
-	                    <a href="javascript:;" class="dialog__btn dialog__btn_cancel">取消</a>
-	                </div>
-	            </div>
-	        </div>
-	    </div>
+    <div class="keyWord">
+        <section class="add-keyword-container" style="display: none;">
+            <div>
+                <div class="classify">
+                    <span class="classify-l">关键词分类</span>
+                    <span class="classify-r">
+                        <span class="classify-detail">未分类</span>
+                        <span class="iconfont icon-arrow"></span>
+                    </span>
+                </div>
+                <p class="classify-tips">
+                    关键词分类便于对同类别关键词做整合管理
+                </p>
+                <p class="classify-fast" style="display:none;">
+                    快速导入
+                </p>
+            </div>
+            <section class="content">
+                <!-- 添加关键词 -->
+                <div class="enter addkeyWord" style="display: none;">
+                    <input type="text" class="enterOne" placeholder="请输入关键词" maxlength="20" />
+                    <!-- <textarea style="resize:none;" rows="1"  class="enterOne" name="" id=""  placeholder="请输入关键词" maxlength="100"></textarea> -->
+                    <div class="btnChoose" style="display:none;">
+                        <button onclick="toappendkey(this)">添加 附加词</button>
+                        <button onclick="tonotkey(this)">添加 排除词</button>
+                    </div>
+                    <div class="btn">
+                        <button onclick="Cancel()" style="width:49%;background:#fff;color:#2cb7ca;opacity: 1;">取消</button>
+                        <button disabled>确认</button>
+                    </div>
+                </div>
+
+                <!-- 添加关键词显示列表 -->
+                <div class="showKeyWord">
+                    <ul>
+                    </ul>
+                </div>
+
+                <div class="problem">
+                    疑问解答 <i class="iconfont icon-wenhao"></i>
+                </div>
+            </section>
+
+            <div class="addKeyWord addNewKeyword">
+                <i class="iconfont icon-tianjia"  style="display:none;"></i>
+                <p> 关键词添加数量:<em style="color: #2cb7ca;" class="kws_count">0 </em>/ 300</p>
+            </div>
+        </section>
+        <section class="all-classify-column" style="display: none;">
+            <div class="keysexplain"><p> 关键词添加数量:<em style="color: #2cb7ca;" class="kws_count">0 </em> / 300</p></div>
+            <ul class="classify-list">
+                
+            </ul>
+
+            <div class="addKeyWord addNewKeyword"><div class="addClassify">新增关键词分类</div></div>
+        </section>
+
+        <!-- 疑难问题弹窗 -->
+        <div class="problemPop dialog-container">
+            <div class="problemPopContent">
+                <h3>疑问解答</h3>
+                <ul>
+                    <li>
+                        <p>例:某公司主营业务为软件系统开发</p>
+                    </li>
+                    <li>
+                        <h4>关键词:</h4>
+                        <p>目标信息中的关键性词语,如“软件系统”</p>
+                    </li>
+                    <li>
+                        <h4>附加词:</h4>
+                        <p>与关键词形成一体/组合,便于查找准确信息,如“开发”</p>
+                    </li>
+                    <li>
+                        <h4>排除词:</h4>
+                        <p>与关键词互斥,可排除一部分非目标信息,如“运维”</p>
+                    </li>
+                </ul>
+                <button class="knowBtn">我知道了</button>
+            </div>
+        </div>
+        <!-- 关键词分类弹框 -->
+        <div class="classify-edit-pop dialog-container">
+            <!-- <div class="weui-mask weui-animate-fade-in"></div> -->
+            <div class="weui-dialog weui-animate-fade-in">
+                <div class="weui-dialog__hd">
+                    <strong class="weui-dialog__title">关键词分类</strong>
+                </div>
+                <div class="weui-dialog__bd">
+                    <input type="text" class="classify-keyword" maxlength="20" placeholder="输入分类名称">
+                </div>
+                <div class="weui-dialog__ft">
+                    <a href="javascript:;" class="dialog__btn dialog__btn_confirm opacity6">确定</a> 
+                    <a href="javascript:;" class="dialog__btn dialog__btn_cancel">取消</a>
+                </div>
+            </div>
+        </div>
+
+        <!-- 关键词分类说明 -->
+        <div class="classify-show-pop dialog-container">
+            <!-- <div class="weui-mask weui-animate-fade-in"></div> -->
+            <div class="weui-dialog weui-animate-fade-in">
+                <div class="weui-dialog__hd">
+                    <strong class="weui-dialog__title">提示信息</strong>
+                </div>
+                <div class="weui-dialog__bd">
+                    关键词分类有利于关键词做整合管理<br>工作更为高效!
+                </div>
+                <div class="weui-dialog__ft">
+                    <a href="javascript:;" class="dialog__btn dialog__btn_confirm">去设置</a> 
+                    <a href="javascript:;" class="dialog__btn dialog__btn_cancel">取消</a>
+                </div>
+            </div>
+        </div>
+        <!-- 快速导入说明 -->
+        <div class="classify-fast-pop dialog-container">
+            <!-- <div class="weui-mask weui-animate-fade-in"></div> -->
+            <div class="weui-dialog weui-animate-fade-in">
+                <div class="weui-dialog__hd">
+                    <strong class="weui-dialog__title">快速导入</strong>
+                </div>
+                <div class="weui-dialog__bd">
+                    快速导入可将免费版招标订阅内所设置的关键词及其排除词一并导入至“<span class="fastICName">未分类</span>”关键词分类内,无需再次手动输入,简化您的订阅过程。
+					<p style="color:#888;">注:地区与行业分类以VIP订阅设置内为准,不做导入。</p>
+                </div>
+                <div class="weui-dialog__ft">
+                    <a href="javascript:;" class="dialog__btn dialog__btn_confirm">确定</a> 
+                    <a href="javascript:;" class="dialog__btn dialog__btn_cancel">取消</a>
+                </div>
+            </div>
+        </div>
     </div>
     <script src="{{Msg "seo" "cdn"}}/jyapp/js/jquery-3.2.1.min.js?v={{Msg "seo" "version"}}"></script>
     <script src="{{Msg "seo" "cdn"}}/jyapp/js/jquery.cookie.js?v={{Msg "seo" "version"}}"></script>
     <script src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
+	{{include "/common/js.html"}}
     <script>        
         var a_items = [];//全部数据
         var classify_name = "";//分类名称
@@ -247,6 +268,7 @@
         var classify_arr = [];//分类对象
         var kws_arr = {};//所有关键词对象
         var kws_tips = 0;
+		var fastimport = 0;//快速导入功能
         // 页面状态
         var pageState = {
             //是否第一次设置关键词
@@ -267,7 +289,7 @@
 	        setTimeout(function(){
 	            weui.loading().hide();
 	            if(window.location.search.indexOf("page=2")>-1){
-					history.replaceState("{id:1}","","/jyapp/vipsubscribe/toSetKeyWordPage")
+					history.replaceState("{id:1}","","/front/vipsubscribe/toSetKeyWordPage")
 	            }else if(history.state){
 	                window.history.go(-1)
 				}
@@ -348,6 +370,12 @@
                 kws_index = sessionStorage.kws_index;
                 modifyFlag = true;
                 kws_count = sessionStorage.kws_count;
+				fastimport = parseInt(sessionStorage.fastimport);
+				if(fastimport==0){
+					$(".classify-fast").show();
+				}else{
+					$(".classify-fast").hide();
+				}
                 $(".kws_count").text(kws_count);
                $(".add-keyword-container .addNewKeyword i").hide();
                 toSetKws();
@@ -357,6 +385,15 @@
                     if(r.userData){
                         var _userData = r.userData;
                         var _vipData = _userData["o_vipjy"];
+						var ordinarykc = parseInt(_userData["ordinarykc"])
+						fastimport = parseInt(_userData["i_vip_fastimport"]);
+						if(fastimport==0&&ordinarykc>0){
+							sessionStorage.fastimport = fastimport;
+							$(".classify-fast").show();
+						}else{
+							sessionStorage.fastimport = 1;
+							$(".classify-fast").hide();
+						}
                         modifyFlag = false;
                         if (_vipData["a_items"]!=undefined&&_vipData["a_items"].length>0){
                             a_items = _vipData["a_items"]
@@ -687,7 +724,6 @@
         //保存数据
         function saveData(actionType){
             var _flag = false;
-            var kwscount = $(".content .showKeyWord li").length;
             var param = {};
             param.pageType = "keyWords";
             param.classify_index = classify_index;
@@ -695,9 +731,9 @@
             param.kws_index = kws_index;
             param.kws_name = kws_name;
             param.actionType = actionType;
-            param.kwscount = kwscount;
             param.addition_kws = addition_kws;
             param.not_kws = not_kws;
+			 param.kwscount = $(".content .showKeyWord li").length;
             $.ajax({
                 type: "POST",
                 url: "/subscribepay/afterPay/setUserInfo",
@@ -778,6 +814,19 @@
 		    }
 		    $('input.classify-keyword').val(currentClassifyName).focus()
 		}
+		//
+		function modalTwo(){
+			$(".fastICName").text($(".classify-detail").text());
+		    // 如果是苹果手机,打开时候要设置top
+		    var agent = navigator.userAgent.toLowerCase();
+		    var dialog = $('.classify-fast-pop .weui-dialog')
+		    if( /iphone|ipod|ipad|ios/.test(agent) ){
+		        dialog.css({ 'top': '40%' })
+		    } else {
+		        dialog.css({ 'top': '50%' })
+		    }
+		    $('.classify-fast-pop').show();
+		}
     </script>
     <script src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/js/keyWord.js?v={{Msg "seo" "version"}}23"></script>
     <script>

+ 15 - 9
src/jfw/modules/app/src/web/templates/vipsubscribe/messageType.html

@@ -6,7 +6,7 @@
 	{{include "/common/nnc.html"}}
     <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}">
     <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}">
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/css/messageType.css?v={{Msg "seo" "version"}}">    
+    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/css/messageType.css?v={{Msg "seo" "version"}}1">    
 	<link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
     <script src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
     <style type="text/css">
@@ -101,7 +101,7 @@
     </div>
 	<script src="{{Msg "seo" "cdn"}}/jyapp/js/jquery-3.2.1.min.js?v=1412"></script>
     <script src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
-    <script src="{{Msg "seo" "cdn"}}/jyapp/js/common.js?v={{Msg "seo" "version"}}"></script>
+    <script src="{{Msg "seo" "cdn"}}/jyapp/js/common.js?v={{Msg "seo" "version"}}21"></script>
     <script>      
 		var hasZBGG = ""
 		var hasZBJG = ""
@@ -141,7 +141,7 @@
                     arr = arr + "," + $(this).attr("dataValue")
 					if($(this).text()=="招标预告"||$(this).text()=="拟建项目"){
 						if (hasStr!=""){
-							hasStr += " "
+							hasStr += ""
 						}
 						hasStr += $(this).text();
 					}
@@ -174,17 +174,23 @@
 		function getChecked(){
 			hasActive();
 			if (hasZBGG!=""||hasZBJG!=""|hasZBXYXX!=""){
-				if(hasStr != ""){
-					hasStr +=" "
-				}
 				if(hasZBGG!=""){
-					hasStr+=" 招标公告 ("+hasZBGG+")"
+					if(hasStr != ""){
+						hasStr +="、"
+					}
+					hasStr+="招标公告 ("+hasZBGG+")"
 				}
 				if(hasZBJG!=""){
-					hasStr+=" 招标结果 ("+hasZBJG+")"
+					if(hasStr != ""){
+						hasStr +="、"
+					}
+					hasStr+="招标结果 ("+hasZBJG+")"
 				}
 				if(hasZBXYXX!=""){
-					hasStr+=" 招标信用信息 ("+hasZBXYXX+")"
+					if(hasStr != ""){
+						hasStr +="、"
+					}
+					hasStr+="招标信用信息 ("+hasZBXYXX+")"
 				}
 			}
 			if(hasStr!=""){

+ 179 - 155
src/jfw/modules/app/src/web/templates/vipsubscribe/vip_index.html

@@ -4,8 +4,6 @@
 	{{include "/common/meta.html"}}
     <title>VIP订阅首页</title>
 	{{include "/common/nnc.html"}}
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
     <script src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
     <script src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}"></script>
     <link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}" />
@@ -22,145 +20,143 @@
 	</div>
 	
 	<div class="app-layout-content-b">
-	    <div class="vip_index">
-	        <div class="header" style="display: none;">
-	            <img class="header_left" src="/jyapp/vipsubscribe/image/left.png?v={{Msg "seo" "version"}}" alt="" onclick="javascript:history.back(-1);">
-	            <h3 class="header_title">VIP订阅</h3>
-	            <span class="header_right"></span>
-	        </div>
-	        <div class="content">
-	            <div class="vip_info">
-	                <div class="service">
-	                    <div class="s_left">
-	                        <span class="free7days_pic"></span>
-	                        <!-- <div class="already">
-	                            <img src="/vipsubscribe/image/v.png?v={{Msg "seo" "version"}}" alt="">
-	                            <h4>已开通VIP订阅服务</h4>
-	                        </div> -->
-	                    </div>
-	                </div>
-	            </div>
-	            <div class="subscribe_info">
-	                <div class="s_info_top">
-	                    <p class="s_i_item" style="margin-bottom: .1rem;">
-	                        <label>已购买区域:</label>
-							<span class="expand-box area expanded">
-	                            <span class="_area"></span>
-	                            <span class="iconfont icon-arrow"></span>
-	                        </span>
-	<!--                        <span class="_area"></span>-->
-	                    </p>
-	                    <p class="s_i_item" style="margin-bottom: .1rem;">
-	                        <label>已购买行业:</label>
-	                        <span class="expand-box trade expanded">
-	                            <span class="_buyerClass"></span>
-	                            <span class="iconfont icon-arrow"></span>
-	                        </span>
-	<!--                        <span class="_buyerClass"></span>-->
-	                    </p>
-	                    <p class="s_i_item" style="margin-bottom: .1rem;">
-	                        <label>订阅周期:</label>
-	                        <span class="_cycleCount"></span>
-	                    </p>
-	                    <p class="s_i_item">
-	                        <label>有效日期:</label>
-	                        <span class="_activeDate"></span>
-	                    </p>
-	                    <div class="to_expired" style="display: none;">
-	                        <div class="e_circle">即将到期</div>
-	                    </div>
-	                </div>
-	                <!-- 如果用户同时购买全国和全行业 则隐藏修改功能 -->
-	                <div class="s_info_bottom">
-	                    <span onclick="window.location.href='/jyapp/vipsubscribe/toEditSubPage'">修改</span>
-	                    <i class="iconfont icon-arrow"></i>
-	                </div>
-	            </div>
-	            <div class="panel">
-	                <div class="media">
-	                    <div class="media_list">
-	                        <div class="media_left">
-	                            <img src="/jyapp/vipsubscribe/image/keyword.png?v={{Msg "seo" "version"}}" alt="">
-	                            <span>关键词</span>
-	                        </div>
-	                        <a href="/jyapp/vipsubscribe/toSetKeyWordPage" class="media_right" id="keywords">
-	                            
-	                        </a>
-	                    </div>
-	                    <div class="media_list">
-	                        <div class="media_left">
-	                            <img src="/jyapp/vipsubscribe/image/type.png?v={{Msg "seo" "version"}}" alt="">
-	                            <span>信息类型</span>
-	                        </div>
-	                        <a href="/jyapp/vipsubscribe/toSetInfoTypePage" class="media_right" id="infoType"></a>
-	                    </div>
-	                    <div class="media_list">
-	                        <div class="media_left">
-	                            <img src="/jyapp/vipsubscribe/image/set.png?v={{Msg "seo" "version"}}" alt="">
-	                            <span>推送设置</span>
-	                        </div>
-	                        <a href="/jyapp/vipsubscribe/toSetPushSetPage" class="media_right" id="pushSet"></a>
-	                    </div>
-	                    <div class="media_list" style="margin-top:.2rem;margin-bottom: .2rem;" id="auto_renew">
-	                        <div class="media_left">
-	                            <img src="/jyapp/vipsubscribe/image/frame.png?v={{Msg "seo" "version"}}" alt="">
-	                            <span>项目匹配</span>
-								<i class="iconfont icon-wenhao "></i>
-	                        </div>
-	                        <div class="media_switch">
-	                            <div class="weui-cell__ft">
-	                                <button class="custom-switch switch"></button>
-	                            </div>
-	                        </div>
-	                    </div>
-	                    <div class="media_list" style="margin-top:.2rem;margin-bottom: .98rem;display: none;">
-	                        <div class="media_left">
-	                            <img src="/jyapp/vipsubscribe/image/data.png?v={{Msg "seo" "version"}}" alt="">
-	                            <span>数据报告</span>
-	                        </div>
-	                        <a href="#" class="media_right">
-	                            <span class="weui-badge">2</span>
-	                        </a>
-	                    </div>
-	                </div>
-	            </div>
-	        </div>
-	        <div class="footer">
-	            <!-- 续费提醒 -->
-	            <div class="renew_toast" style="display: none;">
-	                <div>
-	                    <i class="icon iconfont" id="close_renew">&#xe61a;</i>
-	                    <span>VIP订阅服务还有 <span class="renew_day"></span> 天到期,请及时续费!</span>
-	                    <a href="/weixin/pay/renewPayPage">去续费</a>
-	                </div>
-	            </div>
-	            <!-- 试用用户-去购买提醒 -->
-	            <div class="nv_renew_toast" style="display: none;">
-	                <div>
-	                    <i class="icon iconfont" id="nv_close_renew">&#xe61a;</i>
-	                    <span>VIP订阅服务试用即将过期,请及时购买!</span>
-	                    <a href="/weixin/pay/vipsubscribe_new">去购买</a>
-	                </div>
-	            </div>
-	            <!-- 升级 续费 -->
-	            <div class="tabbar">
-	                <a href="/weixin/pay/toUpgradePage" class="update_btn">升级</a>
-	                <a href="/weixin/pay/renewPayPage" class="renew_btn">续费</a>
-	            </div>
-	        </div>
-	        <!-- 项目匹配提醒 -->
-	        <div class="custom-dialog" style="display: none;">
-	            <div class="weui-mask weui-animate-fade-in"></div>
-	            <div class="weui-dialog weui-animate-fade-in">
-	                <div class="weui-dialog__hd"><strong class="weui-dialog__title" style="font-weight: bold;">项目匹配</strong></div>
-	                <div class="weui-dialog__bd" style="line-height: .4rem;padding: .37rem .45rem;font-size: 14px;text-align: left;color: #686868;">开启后,系统将根据你订阅的关键词自动匹配出相关联的项目,并将相关联项目的后续动态在VIP订阅内一并推送。</div>
-	                <div class="weui-dialog__ft" style="border-top: 1px solid #eee;padding-bottom: .2rem;padding-top: .2rem;"> 
-	                    <a href="javascript:;" class="weui-dialog__btn weui-dialog__btn_primary" style="background: #fff;color: #2CB7CA;text-align: center;margin-right: unset;">我知道了</a>
-	                </div>
-	            </div>
-	        </div>
-	    </div>
-    </div>
+	  <div class="vip_index">
+        <div class="header" style="display: none;">
+            <img class="header_left" src="/jyapp/vipsubscribe/image/left.png?v={{Msg "seo" "version"}}" alt="" onclick="javascript:history.back(-1);">
+            <h3 class="header_title">VIP订阅</h3>
+            <span class="header_right"></span>
+        </div>
+        <div class="content">
+            <div class="vip_info">
+                <div class="service">
+                    <div class="s_left">
+                        <span class="free7days_pic"></span>
+                    </div>
+                </div>
+            </div>
+            <div class="subscribe_info">
+                <div class="s_info_top">
+                    <p class="s_i_item" style="margin-bottom: .1rem;">
+                        <label>已购买区域:</label>
+						<span class="expand-box area expanded">
+                            <span class="_area"></span>
+                            <span class="iconfont icon-arrow"></span>
+                        </span>
+<!--                        <span class="_area"></span>-->
+                    </p>
+                    <p class="s_i_item" style="margin-bottom: .1rem;">
+                        <label>已购买行业:</label>
+                        <span class="expand-box trade expanded">
+                            <span class="_buyerClass"></span>
+                            <span class="iconfont icon-arrow"></span>
+                        </span>
+<!--                        <span class="_buyerClass"></span>-->
+                    </p>
+                    <p class="s_i_item" style="margin-bottom: .1rem;">
+                        <label>订阅周期:</label>
+                        <span class="_cycleCount"></span>
+                    </p>
+                    <p class="s_i_item">
+                        <label>有效日期:</label>
+                        <span class="_activeDate"></span>
+                    </p>
+                    <div class="to_expired" style="display: none;">
+                        <div class="e_circle">即将到期</div>
+                    </div>
+                </div>
+                <!-- 如果用户同时购买全国和全行业 则隐藏修改功能 -->
+                <div class="s_info_bottom">
+                    <span onclick="window.location.href='/jyapp/vipsubscribe/toEditSubPage'">修改</span>
+                    <i class="iconfont icon-arrow"></i>
+                </div>
+            </div>
+            <div class="panel">
+                <div class="media">
+                    <div class="media_list">
+                        <div class="media_left">
+                            <img src="/jyapp/vipsubscribe/image/keyword.png?v={{Msg "seo" "version"}}" alt="">
+                            <span>关键词</span>
+                        </div>
+                        <a href="/jyapp/vipsubscribe/toSetKeyWordPage" class="media_right" id="keywords">
+                            
+                        </a>
+                    </div>
+                    <div class="media_list">
+                        <div class="media_left">
+                            <img src="/jyapp/vipsubscribe/image/type.png?v={{Msg "seo" "version"}}" alt="">
+                            <span>信息类型</span>
+                        </div>
+                        <a href="/jyapp/vipsubscribe/toSetInfoTypePage" class="media_right" id="infoType"></a>
+                    </div>
+                    <div class="media_list">
+                        <div class="media_left">
+                            <img src="/jyapp/vipsubscribe/image/set.png?v={{Msg "seo" "version"}}" alt="">
+                            <span>推送设置</span>
+                        </div>
+                        <a href="/jyapp/vipsubscribe/toSetPushSetPage" class="media_right" id="pushSet"></a>
+                    </div>
+                    <div class="media_list" style="margin-top:.2rem;margin-bottom: .2rem;" id="auto_renew">
+                        <div class="media_left">
+                            <img src="/jyapp/vipsubscribe/image/frame.png?v={{Msg "seo" "version"}}" alt="">
+                            <span>项目匹配</span>
+							<i class="iconfont icon-wenhao "></i>
+                        </div>
+                        <div class="media_switch">
+                            <div class="weui-cell__ft">
+                                <button class="custom-switch switch"></button>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="media_list" style="margin-top:.2rem;margin-bottom: .98rem;display: none;">
+                        <div class="media_left">
+                            <img src="/jyapp/vipsubscribe/image/data.png?v={{Msg "seo" "version"}}" alt="">
+                            <span>数据报告</span>
+                        </div>
+                        <a href="#" class="media_right">
+                            <span class="weui-badge">2</span>
+                        </a>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="footer">
+            <!-- 续费提醒 -->
+            <div class="renew_toast" style="display: none;">
+                <div>
+                    <i class="icon iconfont" id="close_renew">&#xe61a;</i>
+                    <span class="other">VIP订阅服务还有 <span class="renew_day"></span> 天到期,请及时续费!</span>
+      				<span class="today" style="display:none;">VIP订阅服务今天到期,请及时续费!</span>
+                    <a onclick="rebuy()">去续费</a>
+                </div>
+            </div>
+            <!-- 试用用户-去购买提醒 -->
+            <div class="nv_renew_toast" style="display: none;">
+                <div>
+                    <i class="icon iconfont" id="nv_close_renew">&#xe61a;</i>
+	      			<span class="other">VIP订阅服务还有 <span class="renew_day"></span> 天到期,请及时购买!</span>
+	      			<span class="today" style="display:none;">VIP订阅服务今天到期,请及时购买!</span>
+                    <a href="/jyapp/vipsubscribe/vipsubscribe_new">去购买</a>
+                </div>
+            </div>
+            <!-- 升级 续费 -->
+            <div class="tabbar">
+                <a onclick="upgrade()" class="update_btn">升级</a>
+                <a onclick="rebuy()" class="renew_btn">续费</a>
+            </div>
+        </div>
+        <!-- 项目匹配提醒 -->
+        <div class="custom-dialog" style="display: none;">
+            <div class="weui-mask weui-animate-fade-in"></div>
+            <div class="weui-dialog weui-animate-fade-in">
+                <div class="weui-dialog__hd"><strong class="weui-dialog__title" style="font-weight: bold;">项目匹配</strong></div>
+                <div class="weui-dialog__bd" style="line-height: .4rem;padding: .37rem .45rem;font-size: 14px;text-align: left;color: #686868;">开启后,系统将根据你订阅的关键词自动匹配出相关联的项目,并将相关联项目的后续动态在VIP订阅内一并推送。</div>
+                <div class="weui-dialog__ft" style="border-top: 1px solid #eee;padding-bottom: .2rem;padding-top: .2rem;"> 
+                    <a href="javascript:;" class="weui-dialog__btn weui-dialog__btn_primary" style="background: #fff;color: #2CB7CA;text-align: center;margin-right: unset;">我知道了</a>
+                </div>
+            </div>
+        </div>
+    </div>  
+	</div>
 	<script src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/js/jquery-2.1.4.js?v={{Msg "seo" "version"}}"></script>
 <!--    <script src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/js/fastclick.js?v={{Msg "seo" "version"}}"></script>-->
     <script src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
@@ -192,7 +188,7 @@
                 if (hasChecked == false) {
                     $(that).addClass('checked');
                     weui.toast('项目匹配已开启',{
-                        duration: 3000,
+                        duration: 1000,
                         className: 'custom-toast',
                     })
 					setprojectmatch(1);
@@ -201,7 +197,7 @@
                     $('.custom-dialog').hide()
                     // $('#auto_renew').hide(500);
                     weui.toast('项目匹配已关闭',{
-                        duration: 3000,
+                        duration: 1000,
                         className: 'custom-toast',
                     })
 					setprojectmatch(0);
@@ -213,7 +209,7 @@
             })
             $('#nv_close_renew').on('click', () => {
                 $('.nv_renew_toast').hide();
-				$(".tabbar").html('<a style="width: 100%;color: #fff;background: #2CB7CA;" href="/weixin/pay/vipsubscribe_new" class="update_btn">去购买</a>');
+				$(".tabbar").html('<a style="width: 100%;color: #fff;background: #2CB7CA;" href="/jyapp/vipsubscribe/vipsubscribe_new" class="update_btn">去购买</a>');
 				$(".tabbar").show();
             })
 			// 点击扩大
@@ -261,25 +257,41 @@
                    		var _vipstatus = _userData["i_vip_status"];
                    		// console.log(_userData)
 	                   if(_vipstatus&&_vipstatus=="1"){
-							if(parseInt(_vipData["expRemind"])>0){
+							if(parseInt(_vipData["expRemind"])>1){
+	                            $(".to_expired").show();
+								$(".renew_day").text(_vipData["expRemind"]);
+	                            $(".nv_renew_toast").show();
+								$(".tabbar").hide();
+	                        }else if(parseInt(_vipData["expRemind"])>0){
 	                            $(".to_expired").show();
+								$(".nv_renew_toast").find(".other").hide();
+								$(".nv_renew_toast").find(".today").show();
 	                            $(".nv_renew_toast").show();
 								$(".tabbar").hide();
 	                        }else{
 	                            $(".to_expired").hide();
-								$(".tabbar").html('<a style="width: 100%;color: #fff;background: #2CB7CA;" href="/weixin/pay/vipsubscribe_new" class="update_btn">去购买</a>')
+								$(".tabbar").html('<a style="width: 100%;color: #fff;background: #2CB7CA;" href="/jyapp/vipsubscribe/vipsubscribe_new" class="update_btn">去购买</a>')
 	                        }
 							$('.free7days_pic').text("VIP订阅服务");
 	                        $('.free7days_pic').append("<style>.free7days_pic::after{display:inline-block}</style>");
 	                   }else{
-							if(parseInt(_vipData["expRemind"])>0){
-	                            $(".to_expired").show();
-	                            $(".renew_day").text(parseInt(_vipData["expRemind"]))
-	                            $(".renew_toast").show();
-	                        }else{
+							if(!checkOrder(1)){
+								if(parseInt(_vipData["expRemind"])>1){
+		                            $(".to_expired").show();
+		                            $(".renew_day").text(parseInt(_vipData["expRemind"]))
+		                            $(".renew_toast").show();
+		                        }else if(parseInt(_vipData["expRemind"])>0){
+		                            $(".to_expired").show();
+									$(".renew_toast").find(".other").hide();
+									$(".renew_toast").find(".today").show();
+		                            $(".renew_toast").show();
+		                        }else{
+		                            $(".to_expired").hide();
+		                        }
+							}else{
 	                            $(".to_expired").hide();
 	                        }
-							$(".tabbar").html('<a href="/weixin/pay/toUpgradePage" class="update_btn">升级</a><a href="/weixin/pay/renewPayPage" class="renew_btn">续费</a>')
+							$(".tabbar").html('<a onclick="upgrade()" class="update_btn">升级</a><a onclick="rebuy()" class="renew_btn">续费</a>')
 							$('.free7days_pic').text("已开通VIP订阅服务");
 	                        $('.free7days_pic').append("<style>.free7days_pic::after{display:none}</style>");
 	                   }
@@ -293,9 +305,9 @@
 							var area = _vipData["o_area"];
 	                        $("._area").text(area);
 							//行业
-							var buyerclass =  SortArr(_vipData["a_buyerclass"]);
-							if (buyerclass.length>0){
-	                        	$("._buyerClass").text(buyerclass.length+"个行业");
+							var buyerclass =  _vipData["a_buyerclass"];
+							if (buyerclass >0){
+	                        	$("._buyerClass").text(buyerclass+"个行业");
 							}else{
 	                        	$("._buyerClass").text("全部行业");
 							}
@@ -344,6 +356,18 @@
 	            })
 			}
 		}
+		//
+		function upgrade(){
+			if(!checkOrder()){
+				window.location.href="/jyapp/vipsubscribe/toUpgradePage"
+			}
+		}
+		//
+		function rebuy(){
+			if(!checkOrder()){
+				window.location.href="/jyapp/vipsubscribe/renewPayPage"
+			}
+		}
     </script>
 	{{include "/common/baiducc.html"}}
 </body>

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

@@ -240,7 +240,7 @@
 <body class="seniorsetpage">
 	<div class="app-layout-header">
 		<span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
-		VIP订阅
+		推送设置
 	</div>
 	
 	<div class="app-layout-content-b">

+ 5 - 16
src/jfw/modules/app/src/web/templates/vipsubscribe/vip_viewPage.html

@@ -7,7 +7,7 @@
 	<link href="{{Msg "seo" "cdn"}}/jyapp/css/wxlist.css?v={{Msg "seo" "version"}}" rel="stylesheet">
     <script src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
 	<script src="{{Msg "seo" "cdn"}}/jyapp/js/jquery.js"></script>
-	<script src="{{Msg "seo" "cdn"}}/jyapp/js/dropload.js?v={{Msg "seo" "version"}}"></script>
+	<script src="{{Msg "seo" "cdn"}}/jyapp/js/dropload.js?v={{Msg "seo" "version"}}1"></script>
 	<script src="{{Msg "seo" "cdn"}}/jyapp/js/fastclick.js?v={{Msg "seo" "version"}}"></script>
     <script>
 		var zbadd = {{Msg "seo" "ZBADDRESS"}};
@@ -34,7 +34,7 @@
 				appendListHtml([sessionStorage.resultpreviewListCache],pageNum);
 				if(noMore == "true"){
 					wxflag = $('.listcontent').dropload({
-						scrollArea : window,
+						scrollArea : $(".app-layout-content-b"),
 						loadDownFn : function(me){
 							if(wxflag == null){
 								wxflag = me;
@@ -59,7 +59,7 @@
 			}
 			setTimeout(function(){
 				reloadData();
-			},500);
+			},1000);
 		});
 		//
 		function getData(){
@@ -81,17 +81,6 @@
 						hasNextPage = data["hasNextPage"]
 						var html = getHtml(data["list"],reqParam["pageNum"]);
 						appendListHtml(html,pageNum);
-						if (pageNum==1){
-							wxflag = $('.listcontent').dropload({
-								scrollArea : window,
-								loadDownFn : function(me){
-									if(wxflag == null){
-										wxflag = me;
-									}
-									noMoreData(me);
-								}
-							});
-						}
 					}
 				},
 				error: function(xhr, type){
@@ -103,7 +92,7 @@
 		function reloadData(){
 			if (hasNextPage){
 				wxflag = $('.listcontent').dropload({
-					scrollArea : window,
+					scrollArea : $(".app-layout-content-b"),
 					loadDownFn : function(me){
 						if(wxflag == null){
 							wxflag = me;
@@ -142,7 +131,7 @@
 				});
 			}else{
 				wxflag = $('.main').dropload({
-			        scrollArea : window,
+			        scrollArea : $(".app-layout-content-b"),
 			        loadDownFn : function(me){
 						if(wxflag == null){
 							wxflag = me;

+ 496 - 330
src/jfw/modules/app/src/web/templates/weixin/historypush.html

@@ -9,7 +9,7 @@
 <link href="/jyapp/css/wxlist.css?v={{Msg "seo" "version"}}" rel="stylesheet">
 <link href="{{Msg "seo" "cdn"}}/jyapp/followent/mobiscroll/mobiscroll.min.css" rel="stylesheet">
 <script src="/jyapp/js/jquery.js"></script>
-<script src="/jyapp/js/dropload.js?v={{Msg "seo" "version"}}"></script>
+<script src="/jyapp/js/dropload.js?v={{Msg "seo" "version"}}111"></script>
 <script src="/jyapp/js/fastclick.js?v={{Msg "seo" "version"}}"></script>
 <script src="{{Msg "seo" "cdn"}}/jyapp/followent/mobiscroll/mobiscroll.min.js"></script>
 <!-- 2.8.5 -->
@@ -30,7 +30,6 @@ var hasNextPage=false;
 var pageIndex=1;
 var closeAdvert=false//是否关闭广告
 //
-var selectCity = "";
 if(getUrlParam("f")=="push"){
 	removeSessionStorage();
 	if(history){
@@ -52,6 +51,7 @@ $(function(){
 	}
 });
 
+var words = ""
 var isInTSguide=false;//订阅向导
 var isVipSub=false;//是不是VIP
 var firstTime = {{.T.selectTime}};
@@ -80,7 +80,6 @@ function afterJyObjInit(){
 	redSpotOnMenu();
 }
 function initpage(){
-	var ttt ={{.T.selectTime}};
 	new FastClick(document.body);
 	//TO DO
 	$(".normal_set").click(function(){
@@ -97,11 +96,6 @@ function initpage(){
 
 	//
 	if(sessionStorage && sessionStorage.historypushScrollTop && sessionStorage.historypushDataCache){
-		if(sessionStorage.historypushDataCache.length==2){
-			removeSessionStorage();
-			hasNoDataByTime();
-			return
-		}
 	    if(sessionStorage.closeAdvert=="true"){
 	      closeAdvert=true;
 	    }
@@ -194,22 +188,24 @@ function initpage(){
 		    });
 		},1000);
 	}else{
-		wxflag = $('.listcontent').dropload({
-	        scrollArea : $(".app-layout-content-b"),
-			loadUpFn : function(me){
-				loadDatas(me,-1);
-			},
-	        loadDownFn : function(me){
-				loadDatas(me,lasttime);
-	        }
-	    });
-		noMoreData(wxflag);
+		setTimeout(function(){
+			wxflag = $('.listcontent').dropload({
+		        scrollArea : $(".app-layout-content-b"),
+				loadUpFn : function(me){
+					loadDatas(me,-1);
+				},
+		        loadDownFn : function(me){
+					loadDatas(me,lasttime);
+		        }
+		    });
+			noMoreData(wxflag);
+		},1000);
 	}
-
 }
+//页面渲染处理
 function showPage(){
-	//
-	if(firstTime!=""){
+	//时间渲染
+	if(firstTime!=null&&firstTime!=""&&firstTime.length>=10){
 		var _formatDate = formatDate(firstTime/1000,"2");
 		date = formatDate(firstTime/1000,"1");
 		$('#showDatePicker .time_result').html(_formatDate).addClass('current');
@@ -217,54 +213,70 @@ function showPage(){
 	$(".tab_left .time").show();
 	//地区渲染
 	mapData();
-	if(isVipSub){
+	//
+	if(!isVipSub){
+		$(".normal_set").show();
+		$(".tab_left .area").hide();
+		$(".vip_banner").show();
+		$(".subscribe").css("margin-top","2rem");
+		if(isPassCount){
+			$(".open_remind").show();
+		}
+		if(parseInt(isExpire)<0&&parseInt(isOnTail)==-1){
+			if(localStorage.getItem("nv_vip_"+userId)==null){
+				$(".nv_renew_toast").show();
+			}
+		}
+		if(!firstPage.length>0 && !haskey){
+			if(sessionStorage&&(sessionStorage.keysetindexToHistory=="1"||sessionStorage.keysetindexToHistory=="2"||sessionStorage.keysetindexToHistory=="3")){
+				sessionStorage.removeItem("keysetindexToHistory");
+				setTimeout(function(){
+					wx.closeWindow();
+				},2000);
+				return
+			}
+			history.pushState({},"","");
+			if(isInTSguide){
+				if(localStorage){
+					localStorage.removeItem("tsGuide_status");
+				}
+				window.location.href='/front/tenderSubscribe/guide';
+			}else{
+				window.location.href='/wxkeyset/keyset/index';
+			}
+		}
+	}else{
 		if(!haskey){
 			$(".set_keyword").show();
-			if(isPassCount){
+			if(isPassCount&&(localStorage.isPassCount==null||localStorage.isPassCount!=date.split("-")[2])){
+				localStorage.isPassCount=date.split("-")[2]
 				weuiDialog();
 			}
 		}
 		if(parseInt(isOnTail)!=1){
 			$('.free7days_pic').append("<style>.free7days_pic:after{display:none}</style>");
-			if(parseInt(isExpire)!=0){
-				$(".isExpire").text(parseInt(isExpire));
-				$(".renew_toast").show();
+			if(!checkOrder(1)){
+				if(parseInt(isExpire)>1){
+					$(".renew_toast .isExpire").text(parseInt(isExpire));
+					$(".renew_toast").show();
+				}else if (parseInt(isExpire)>0){
+					$(".renew_toast").find(".other").hide();
+					$(".renew_toast").find(".today").show();
+					$(".renew_toast").show();
+				}
 			}
 		}else{
-			if(parseInt(isExpire)!=0){
-				$(".nv_renew_toast").show();
+			if(parseInt(isExpire)>1){
+				$("._renew_toast .isExpire").text(parseInt(isExpire));
+				$("._renew_toast").show();
+			}else if (parseInt(isExpire)>0){
+				$("._renew_toast").find(".other").hide();
+				$("._renew_toast").find(".today").show();
+				$("._renew_toast").show();
 			}
 		}
 		$(".vip_set").show();
 		$(".tab_left .area").show();
-	}else{
-		$(".vip_banner").show();
-		$(".app-layout-content-b").css("margin-top",".8rem");
-		if(isPassCount){
-			$(".open_remind").show();
-		}
-		$(".normal_set").show();
-		$(".tab_left .area").hide();
-		if(!firstPage.length>0 && !data.haskey){
-			if(sessionStorage&&(sessionStorage.keysetindexToHistory=="1"||sessionStorage.keysetindexToHistory=="2"||sessionStorage.keysetindexToHistory=="3")){
-          sessionStorage.removeItem("keysetindexToHistory");
-			}else{
-				if(!isVipSub){
-					history.pushState({},"","");
-					if(data.isInTSguide){
-						if(localStorage){
-							localStorage.removeItem("tsGuide_status");
-						}
-						window.location.href='/jyapp/tenderSubscribe/guide';
-					}else{
-						window.location.href='/jyapp/wxkeyset/keyset/index';
-					}
-					return
-				}
-			}
-		}else{
-          	sessionStorage.removeItem("keysetindexToHistory");
-        }
 	}
 }
 //下拉刷新
@@ -281,14 +293,14 @@ function reloadFirstPage(me){
 			firstPage = data.data;
 			hasNextPage=data.hasNextPage;
 			words=data.matchkeys;
-      			count=0;
+      		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;
+      		me.isLockDown = false;
 			JyObj.hideRedSpotOnMenu("subscribe");       
 	        if(data.data.length==0){
 	  			noMoreData(me);
@@ -311,6 +323,7 @@ function reloadFirstPage(me){
 	});
 }
 function loadDatas(me,le){
+	console.log("--------------"+pageIndex)
 	wxflag = me;
 	$.ajax({
 		type: 'post',
@@ -353,12 +366,6 @@ function noMoreData(me){
 	me.resetload();
 }
 function hasNoData(){
-	$(".listcontent").hide();
-	$(".findnull").css("display","block");
-	$("#loading").hide();
-}
-//具体日期没有数据
-function hasNoDataByTime(){
 	$(".listcontent").hide();
 	$(".findnull_").css("display","block");
 	$("#loading").hide();
@@ -371,15 +378,18 @@ function structureHtml(object,showAd){
 		//标题(需要高亮)
 		var title=obj.title;
 		var mWords="";
-		var words = obj.matchkeys;
-		if(words.length>0){
-			for(var n=0;n<words.length;n++){
-				var keysTemp = words[n].split("+");
+		var _words = words;
+		if(obj.matchkeys!=undefined&&obj.matchkeys!=null&&obj.matchkeys!=""){
+			_words = obj.matchkeys;
+		}
+		if(_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("_");
+			mWords=_words.join("_");
 		}
 		//地区
 		var area=obj.area;
@@ -398,9 +408,10 @@ function structureHtml(object,showAd){
 			datatypeTable=datatype+"公告"
 		}
 		//行业
+		var ca_isvip = obj.ca_isvip
 		var	industryname = "";
 		var industryListname ="";
-		if(isVipSub){
+		if(ca_isvip){
 			if(obj.ca_buyerclass!=null&&obj.ca_buyerclass!=""){
 				industryname=obj.ca_buyerclass
 				industryListname='<span class="buyerclass">'+industryname+'</span>';
@@ -438,7 +449,7 @@ function structureHtml(object,showAd){
 		}
 		//是否浏览过
 		var visited="";
-		if(obj.ca_visit==1){
+		if(obj.ca_isvisit==1){
 			visited="visited"
 		}		
     if(showAd&&index==3&&!closeAdvert){//广告位
@@ -450,7 +461,7 @@ function structureHtml(object,showAd){
 								+'<span class="xh '+visited+'">'+count+'.</span>'
 							+'</div>'
 							+'<div class="two bt-parent" style="padding-left:'+paddingLeft+'px;">'
-								+'<a class="bt '+visited+'" eid="'+obj["_id"]+'"  push_date="'+obj["ca_date"]+'" openlist_index="'+obj["ca_openlist_index"]+'" projectM="'+obj["ca_type"]+'">'+title+'</a>'
+								+'<a class="bt '+visited+'" eid="'+obj["_id"]+'"  push_date="'+obj["ca_date"]+'" list_index="'+obj["ca_index"]+'" projectM="'+obj["ca_type"]+'">'+title+'</a>'
 							+'</div>'
 						+'</div>'
 						+'<div style="clear:both;">'
@@ -468,7 +479,7 @@ function structureHtml(object,showAd){
 								+'<span class="xh '+visited+'">'+count+'.</span>'
 							+'</div>'
 							+'<div class="two bt-parent" style="padding-left:'+paddingLeft+'px;">'
-								+'<a class="bt '+visited+'" eid="'+obj["_id"]+'"  push_date="'+obj["ca_date"]+'" openlist_index="'+obj["ca_openlist_index"]+'" projectM="'+obj["ca_type"]+'">'+title+'</a>'
+								+'<a class="bt '+visited+'" eid="'+obj["_id"]+'"  push_date="'+obj["ca_date"]+'" list_index="'+obj["ca_index"]+'" projectM="'+obj["ca_type"]+'">'+title+'</a>'
 							+'</div>'
 						+'</div>'
 						+'<div style="clear:both;">'
@@ -528,7 +539,7 @@ function appendList(content){
 		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("openlist_index");
+		var index=$(this).find("a.bt").attr("projectm");
 		var pdate=$(this).find("a.bt").attr("push_date");
 		beforeJump(eid,h,sds,index,pdate,isv);
 	});
@@ -544,7 +555,7 @@ 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_visit=1;
+				dataCache[i].ca_isvisit=1;
 				break
 			}
 		}
@@ -573,17 +584,12 @@ function removeSessionStorage(){
 }
 
 function setVisitedIndex(obj,eid){
-	var searchTime_ = sessionStorage.getItem(sessionStorage.userId+"_searchTime")
 	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("eid");
-	if (eid != ""){
-		obj.addClass("visited");
-		vsid = eid;
-	}
+	var vsid=obj.find("a.bt").attr("list_index");
 	if(vsid){
 		$.post("/jyapp/wxpush/bid/ajaxReq",{vsid:vsid});
 	}
@@ -623,7 +629,7 @@ function ajaxFun(time,area){
 			}
 		},
 		error: function(xhr, type){
-			hasNoDataByTime();
+			hasNoData();
 		}
 	});
 	if(firstPage.length==0){
@@ -631,7 +637,7 @@ function ajaxFun(time,area){
 			$(".findnull").css("display","none");
 		}		
 		dataCache = firstPage;
-		hasNoDataByTime();
+		hasNoData();
 		return;
 	}else{
 		$(".findnull_").css("display","none");
@@ -800,6 +806,49 @@ body .loading_ p span {
     text-align: center;
     position: relative;
 }
+/*2.8.5 new*/
+.city-name{
+    text-overflow: ellipsis;
+    overflow: hidden;
+    white-space: nowrap;
+}
+.overClass{
+	/**/
+	overflow: hidden;
+	height:100vh;
+	overflow-y:scroll;
+}
+.buyerclass {
+    border: 1px solid #CFAD89;
+    background: #CFAD89;
+    border-radius: 3px;
+    margin: 0px 5px;
+    color: #fff;
+	font-size: 14px;
+    height: 0.40rem;
+	display: inline-block;
+  		padding: 0 3px;
+ 			line-height: .39rem;
+}
+.restime span.location,.restime span.type,.restime span.industry {
+    padding: 0 3px;
+    line-height: .39rem;
+}
+._header{
+	position: fixed;
+	top: 1.3rem;
+	width: 100%;
+	z-index: 999;
+}
+.listcontent{
+	margin-top: 1rem;
+}
+.province_city p:last-child{
+	margin-bottom:1rem;
+}
+.province p:last-child{
+	margin-bottom:1rem;
+}
 </style>
 </head>
 <body>
@@ -881,6 +930,55 @@ body .loading_ p span {
 			<img style="width: 150px;margin-bottom: 30px;" src="/jyapp/images/wxkeyset/nopush.png">
 			<br><span style="font-size:14px;">暂时无历史推送记录<br></span>
 		</span>
+		
+      <!-- 推送消息--设置关键词 -->
+      <div class="msg_alert">
+      	<!-- 开通vip提醒 -->
+      	<div class="open_remind" style="display: none;">
+      		<div class="remind_box">
+      			<div class="remind_text">
+      				本次推送已达50条信息上限!开通VIP订阅,支持每天最多推送2000条信息
+      			</div>
+      			<a  onclick="tointroducepage()" class="remind_btn"  style="text-decoration: none;">了解详情</a>
+      		</div>
+      	</div>
+      	<!-- 推送 -->
+      	<!-- <div class="push">尊贵的VIP,已为您推送 260 条最新数据</div> -->
+      	<!-- 续费提醒 -->
+      	<div class="renew_toast" style="display: none;">
+      		<div>
+      			<i class="icon iconfont" id="close_renew">&#xe61a;</i>
+      			<span class="other">VIP订阅服务还有 <span class="isExpire"></span> 天到期,请及时续费!</span>
+      			<span class="today" style="display:none;">VIP订阅服务今天到期,请及时续费!</span>
+      			<a onclick="torepay()">去续费</a>
+      		</div>
+      	</div>
+		<!--试用用户-->
+      	<div class="_renew_toast" style="display: none;">
+      		<div>
+      			<i class="icon iconfont" id="_close_renew">&#xe61a;</i>
+      			<span class="other">VIP订阅服务还有 <span class="isExpire"></span> 天到期,请及时购买!</span>
+      			<span class="today" style="display:none;">VIP订阅服务今天到期,请及时购买!</span>
+      			<a onclick="topay()">去购买</a>
+      		</div>
+      	</div>
+      	<!-- 试用用户 到期 去购买 提醒 -->
+      	<div class="nv_renew_toast" style="display: none;">
+      		<div>
+      			<i class="icon iconfont" id="nv_close_renew">&#xe61a;</i>
+      			<span>VIP订阅服务试用已过期,请及时购买!</span>
+      			<a onclick="topay()">去购买</a>
+      		</div>
+      	</div>
+      	<!-- 设置关键词 -->
+      	<div class="set_keyword" style="display: none;">
+      		<div>
+      			<i class="icon iconfont" id="close_set">&#xe61a;</i>
+      			<span>您未设置关键词,设置后接收信息更精准!</span>
+      			<a onclick="tosetkeyspage()"  style="text-decoration: none;">去设置</a>
+      		</div>
+      	</div>
+      </div>
 	</div>
 <!--	<img src="/jyapp/images/gotosetpage.png" id="gotosetpage">-->
 {{include "/common/baiducc.html"}}
@@ -939,268 +1037,336 @@ function AdClick(e,isExternal,link,title){
 }
 </script>
 <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
-<script src="{{Msg "seo" "cdn"}}/dataExport/js/mapJSON.js?v={{Msg "seo" "version"}}"></script>
 <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/mapArea.js?v={{Msg "seo" "version"}}"></script>
 <script type="text/javascript" charset="UTF-8">
-function mapData(){
-	var _citySessionData = null
-	var _provinceArr = {}
-	var _cityMap = []
-	if (sessionStorage&&sessionStorage.getItem(userId+"_selectCityName")!=null){
-		_citySessionData  = JSON.parse(sessionStorage.getItem(userId+"_selectCityName"));
-		for(var k=0;k<_citySessionData.length;k++){
-			_provinceArr[_citySessionData[k]["province"]] = _citySessionData[k]["selectCity"].length
-			_cityMap = _cityMap.concat(_citySessionData[k]["selectCity"])
+ 	function mapData(){
+ 		var _citySessionData = null
+ 		var _provinceArr = {}//选择的省份对应的城市
+		var allCityNum = 0;//选择全部省份的个数
+		var cityNumArr = {};//单个省份下的城市个数
+		if (sessionStorage&&sessionStorage.getItem(userId+"_selectCityName")!=null){
+			_citySessionData  = JSON.parse(sessionStorage.getItem(userId+"_selectCityName"));
+			for(var k=0;k<_citySessionData.length;k++){
+		if (_citySessionData[k]["selectCity"]["0"]=="全部"){
+			cityNumArr[_citySessionData[k]["province"]] = _citySessionData[k]["selectCity"].length - 1;
+		}else{
+					cityNumArr[_citySessionData[k]["province"]] = _citySessionData[k]["selectCity"].length;
 		}
-		if(_cityMap.length>0){
-			 $('#showArea .jymobile-tab-triangle').addClass('current').text(`地区 ${_cityMap.length}`);
+		allCityNum += cityNumArr[_citySessionData[k]["province"]]
+				_provinceArr[_citySessionData[k]["province"]] = _citySessionData[k]["selectCity"]
+			}
+			//所选地级市的数量
+			if(allCityNum>0){
+				 $('#showArea .jymobile-tab-triangle').addClass('current').text(`地区 ${allCityNum}`);
+			}
+			//sessionStorage.removeItem("selectCityName");
 		}
-//sessionStorage.removeItem("selectCityName");
-	}
-	var provinceArr = ["安徽","澳门","北京","重庆","福建","广东","广西","贵州","甘肃","河北","湖北","黑龙江","海南","河南","湖南","吉林","江苏","江西","辽宁","内蒙古","宁夏","青海","山西","陕西","上海","山东","四川","天津","台湾","西藏","新疆","香港","云南","浙江"]
-	var provinceHtml = '<div class="province">';
-	var cityHtml = '<div class="city" >';
-	for (var j = 0;  j <  provinceArr.length;j++) {
-		var shwohide = 'none'
-		var _active = "";
-		for (var i = chinaMapJSON.length - 1; i >= 0; i--) {
-			_chinaMap = chinaMapJSON[i]
-			if(_chinaMap["name"].indexOf(provinceArr[j])>-1){
-				if (j==0){
-					shwohide = "";
-					_active = "active";
-				}
-				var provinceFlag = true;
-				if(_provinceArr[provinceArr[j]]!=undefined&&_provinceArr[provinceArr[j]]>0){
-				provinceHtml +='<p class="p_item '+_active+'"><span class="province-name">'+provinceArr[j]+'</span><span class="city-count" style="display: inline;">('+_provinceArr[provinceArr[j]]+')</span></p>'
-				//
-				cityHtml +='<div class="province_city" data-id="'+provinceArr[j]+'" style="display:'+shwohide+'">';
-				provinceFlag = false;
+  		var provinceHtml = '<div class="province">';
+  		var cityHtml = '<div class="city" >';
+  		for (var j = 0;  j <  chinaMapJSON.length;j++) {
+  			var shwohide = 'none'
+  			var _active = "";
+			var thisArea = chinaMapJSON[j]
+  			for (var i in thisArea) {
+				//首先显示安徽省和其地级市 其他隐藏
+ 					if (i=="安徽"){
+ 						shwohide = "";
+ 						_active = "active";
+ 					}
+ 					var provinceFlag = true;
+ 					if(_provinceArr[i]!=undefined&&_provinceArr[i].length>0){
+						provinceHtml +='<p class="p_item '+_active+'"><span class="province-name">'+i+'</span><span class="city-count" style="display: inline;">('+cityNumArr[i]+')</span></p>'
+						//
+						cityHtml +='<div class="province_city" data-id="'+i+'" style="display:'+shwohide+'">';
+						provinceFlag = false;
+ 					}
+ 					if(provinceFlag){
+ 						provinceHtml +='<p class="p_item '+_active+'"><span class="province-name">'+i+'</span><span class="city-count"></span></p>'
+ 					
+ 						cityHtml +='<div class="province_city" data-id="'+i+'" style="display:'+shwohide+'">'
+ 					}
+ 					var cityArr = thisArea[i]//每个省份下的地市
+				var allSH = "";
+				if(cityArr.length==1){
+					allSH = "hide";
 				}
-				if(provinceFlag){
-					provinceHtml +='<p class="p_item '+_active+'"><span class="province-name">'+provinceArr[j]+'</span><span class="city-count"></span></p>'
-				
-					cityHtml +='<div class="province_city" data-id="'+provinceArr[j]+'" style="display:'+shwohide+'">'
+				var _cityMap = _provinceArr[i]
+				if(_cityMap!=undefined&&_cityMap[0]=="全部"){
+					cityHtml +='<p class="c_item cityAll '+allSH+'"><input type="checkbox" class="checkbox" checked><span class="city-name">全部</span></p>';
+				}else{
+					cityHtml +='<p class="c_item cityAll '+allSH+'"><input type="checkbox" class="checkbox"><span class="city-name">全部</span></p>';
 				}
-				var cityArr = _chinaMap["city"]
-				for(var m = 0;m < cityArr.length;m++){
-					var cityFlag = true;
-					if(_cityMap.length>0){
- 					for(var k=0;k<_cityMap.length;k++){
- 						if(_cityMap[k]==cityArr[m]["name"]){
- 							cityHtml +='<p class="c_item"><input type="checkbox" class="checkbox"  checked><span class="city-name">'+cityArr[m]["name"]+'</span></p>';
- 							cityFlag = false;
- 							break;
+ 					for(var m = 0;m < cityArr.length;m++){
+ 						var cityFlag = true;
+  					if(_cityMap!=undefined&&_cityMap.length>0){
+	  					for(var k=0;k<_cityMap.length;k++){
+	  						if(_cityMap[k]==cityArr[m]){
+	  							cityHtml +='<p class="c_item"><input type="checkbox" class="checkbox"  checked><span class="city-name">'+cityArr[m]+'</span></p>';
+	  							cityFlag = false;
+	  							break;
+	  						}
+	  					}
+	  				}
+	  				if(cityFlag){
+ 							cityHtml +='<p class="c_item"><input type="checkbox" class="checkbox"><span class="city-name">'+cityArr[m]+'</span></p>'
  						}
  					}
- 				}
- 				if(cityFlag){
-						cityHtml +='<p class="c_item"><input type="checkbox" class="checkbox"><span class="city-name">'+cityArr[m]["name"]+'</span></p>'
-					}
+ 					cityHtml +='</div>'
+  			}
+  		}
+  		provinceHtml += '</div>'
+  		cityHtml += '</div>'
+  		$(".area_data").html(provinceHtml+cityHtml)
+		// 地区省份选择的操作
+        $('.province .p_item').click(function(){
+        var i = $(this).index();
+        $(this).addClass('active').siblings().removeClass('active');
+        $('.city div').eq(i).show().siblings().hide();
+    })
+        // 每次选择框变化,更新城市计数
+        $('.area_wrap .c_item input[type="checkbox"]').on('change',function () {
+		if($(this).parent("p").hasClass("cityAll")){
+			if ($(this).is(':checked')){
+				$(this).parent("p").nextAll("p").find('input[type="checkbox"]').prop('checked', true);
+			}else{
+				$(this).parent("p").nextAll("p").find('input[type="checkbox"]').prop('checked', false);
+			}
+		}else{
+			if ($(this).is(':checked')){
+				if($(this).parent().parent().find('input:checked').length == ($(this).parent().parent().find('p').length-1)){
+					$(this).parent().parent().find('.cityAll  input[type="checkbox"]').prop('checked', true);
 				}
-				cityHtml +='</div>'
+			}else{
+				$(this).parent().parent().find('.cityAll  input[type="checkbox"]').prop('checked', false);
 			}
 		}
+        var i = $(this).parent().parent().index()
+        // 找到该省份下所有被选中的input,统计有几个
+        var checkedCityNum = $(this).parent().parent().find('input:checked').length;
+		if(checkedCityNum>0&&$(this).parent().parent().find('.cityAll  input[type="checkbox"]').is(':checked')){
+			//判断全选是否
+			checkedCityNum = checkedCityNum -1;
+		}
+        var cityCountDOM = $('.province .p_item').eq(i).children('.city-count')
+        if (checkedCityNum) {
+            cityCountDOM.show().text(`(${checkedCityNum})`)
+        } else {
+            cityCountDOM.show().text('')
+            cityCountDOM.hide()
+            }
+        })
 	}
-	provinceHtml += '</div>'
-	cityHtml += '</div>'
-	$(".area_data").html(provinceHtml+cityHtml)
-}
-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('取消')
-	      	}
-	      }
-	    ]
-	});
-}
-//
-function FTAGData(time){
-  	if(time!=undefined&&time.toString()!=""){
-		var Time = new Date(time);
-		var timestemp = Time.getTime();
-		firstTime = timestemp.toString();
-		ajaxFun(firstTime,selectCity);
-  	}else{
-		firstTime = "";
-  		ajaxFun("",selectCity);
-  	}
-}
-//
-$(function () { 
-	if(firstTime!=""&&firstTime!=null){
-		date = formatDate(firstTime/1000,"1");
-   	}
-    // 点击选择时间
-    $('#showDatePicker').on('click', function () {
-    var that = this
-    $(that).find('.time_result').addClass('current')
-    weui.datePicker({
-  		id: '1',
-  		start: 2000,
-  		end: new Date(),
-  		defaultValue:date.split('-'),
-  		className: 'jymobile-datePicker',
-  		onChange: function (result) {},
-  		onConfirm: function (result) {
-  			let year = result[0].value;
-  			let month = result[1].value < 10 ? '0' + result[1].value : result[1].value;
-  			let day = result[2].value < 10 ? '0' + result[2].value:result[2].value;
-  			let time_result = year + '.' + month + '.' + day;
-  			FTAGData(year + '-' + month + '-' + day)
-  			$('.time_result').html(time_result)
-  		}
-  	});
-
-    // 日期选择器样式修改--start---------------------
-    // 修改标题
-    // $('.jymobile-datePicker .weui-picker__hd a[data-action=cancel]')
-    $('.jymobile-datePicker .weui-picker__hd a:first').removeClass('weui-picker__action').addClass('jymobile-picker__action').text('选择时间')
-	$("#weui-picker-confirm").css("text-decoration","none");
-    // 如果没有选择,不会出现 '查看全部时间'
-    var timeResultBox = $(that).find('.time_result')
-    var timeResult = timeResultBox.text()
-   	if (timeResult !== '时间') {
-       // 给日期选择器添加footer
-       var footerHTML = `<div class="weui-picker__ft">
-       <div class="reset-time weui-picker__action" data-action="cancel">查看全部时间</div></div>`
-       $('.jymobile-datePicker .weui-picker').append(footerHTML)
-       // 日期选择器样式添加--end---------------------
-       $('.jymobile-datePicker .weui-picker__ft').on('click', function(){
-       	FTAGData();
-       	$('.weui-mask.weui-animate-fade-in').trigger('click');
-       	$(that).find('.time_result').removeClass('current').text('时间')
-       })
-   	}
-    // 给取遮罩绑定点击事件
-    $('.weui-mask.weui-animate-fade-in').on('click', function(){
-    	var timeResultBox = $(that).find('.time_result')
-    	var timeResult = timeResultBox.text()
-        // 点击取消或者空白处,时间选择器消失。判断#showDatePicker是否高亮
-        if (timeResult === '时间') {
-        	$(that).find('.time_result').toggleClass('current')
-        }
-    })
-});
-       // 选择地区
-       $('#showArea').on('click', function (){
-       	$(".subscribe").toggleClass('overClass');
-		if(sessionStorage.getItem(userId+"_selectCityName")==""||sessionStorage.getItem(userId+"_selectCityName")==undefined){
-			$(this).find("span").toggleClass("current");
+ 	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('取消')
+	        	}
+	        }
+	        ]
+	    });
+	}
+       //
+    function FTAGData(time){
+       	if(time!=undefined&&time.toString()!=""){
+			var Time = new Date(time);
+			var timestemp = Time.getTime();
+			firstTime = timestemp.toString();
+			ajaxFun(firstTime,selectCity);
+       	}else{
+			firstTime = "";
+       		ajaxFun("",selectCity);
+       	}
+    }
+	//
+	var _scrollTop = 0;
+	function scrollHtml(){
+		if($(".subscribe").hasClass('overClass')){
+			$(".subscribe").scrollTop(_scrollTop);
+		}else{
+			$("body").scrollTop(_scrollTop);
+			_scrollTop =0;
 		}
-       	$('.area_container').slideToggle();
-       	$('.screen').toggle();
-       })
-       // 地区省份选择的操作
-       $('.province .p_item').click(function(){
-       	var i = $(this).index();
-       	$(this).addClass('active').siblings().removeClass('active');
-       	$('.city div').eq(i).show().siblings().hide();
-       })
-
-       // 扩大点击区域(点击城市名字也能选中)
-       $('.area_wrap .c_item .city-name').on('click', function(){
-       	$(this).parent().children('input').trigger('click')
-       })
-       // 每次选择框变化,更新城市计数
-       $('.area_wrap .c_item input[type="checkbox"]').on('change',function () { 
-       	var i = $(this).parent().parent().index()
-           // 找到该省份下所有被选中的input,统计有几个
-           var checkedCityNum = $(this).parent().parent().find('input:checked').length;
-           var cityCountDOM = $('.province .p_item').eq(i).children('.city-count')
-           if (checkedCityNum) {
-           	cityCountDOM.show().text(`(${checkedCityNum})`)
-           } else {
-           	cityCountDOM.show().text('')
-           	cityCountDOM.hide()
-           }
-       })
+	}
+	//禁止默认行为方法
+	function stopScroll(e) {
+	    e.preventDefault()
+	}
     //
-    $('.screen').click(function(){
-       	$(".subscribe").toggleClass('overClass');
-		$('#showArea').find("span").toggleClass("current");
-       	$('.area_container').slideUp();
-       	$('.screen').hide();
-    })
-       // 地区选择确认按钮
-    $('.enter_btn').click(function (){
-       	$(".subscribe").toggleClass('overClass');
-       	let cityCount = $('.area_wrap .city input:checked').length;
-       	$('.area_container').slideUp();
-       	$('.screen').hide()
-        selectCity = "" //重新选择 初始化地区 参数
-       	if(!cityCount){
-       		$('#showArea .jymobile-tab-triangle').removeClass('current').text(`地区`);
-       		 ajaxFun(firstTime,selectCity);
-       		return
+    $(function () { 
+		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});
+		if(firstTime!=""&&firstTime!=null){
+			date = formatDate(firstTime/1000,"1");
        	}
-        // cityName对象
-        let selectCityName = []
-        // 判断省份后面的数字是否隐藏来确定该省份下的城市有没有被选择
-        $('.area_wrap .province .p_item').each(function(i, dom){
-	        var f = $(dom).find('.city-count').is(':hidden')
-	        // 如果隐藏说明该省份下没有被选中的城市
-	        if (f) {
-	         	// 结束当前循环,进入下个循环
-	            return true
-	        }
-	        // 省份名称
-	        var provinceName = $(dom).children('.province-name').text()
-	        var citiesBox = $('.area_wrap .city .province_city').eq(i)
-	        var selectedCities = citiesBox.find('input:checked').parent().children('.city-name')
-	        // 城市数组
-	        var cityArr = []
-	        selectedCities.each(function(i, dom){
-	        	// 对获取到的城市名字符串去空格处理
-	        	cityArr.push($(dom).text().replace(/\s+/g, ''));
-	       	})
-	        for(var i=0;i<cityArr.length;i++){
-	            if(selectCity!=""){
-	            	selectCity += ","
-	            }
-	            selectCity += cityArr[i];
-	        }
-	        selectCityName.push({
-	        	province: provinceName,
-	        	selectCity: cityArr
-	        });
-	        sessionStorage.setItem(userId+"_selectCityName", JSON.stringify(selectCityName));
-	        ajaxFun(firstTime,selectCity);
+           // 点击选择时间
+           $('#showDatePicker').on('click', function () {
+           	var that = this
+           	$(that).find('.time_result').addClass('current')
+           	weui.datePicker({
+           		id: '1',
+           		start: 2000,
+           		end: new Date(),
+           		defaultValue:date.split('-'),
+           		className: 'jymobile-datePicker',
+           		onChange: function (result) {},
+           		onConfirm: function (result) {
+           			let year = result[0].value;
+           			let month = result[1].value < 10 ? '0' + result[1].value : result[1].value;
+           			let day = result[2].value < 10 ? '0' + result[2].value:result[2].value;
+           			let time_result = year + '.' + month + '.' + day;
+           			FTAGData(year + '-' + month + '-' + day)
+           			$('.time_result').html(time_result)
+           		}
+           	});
+
+               // 日期选择器样式修改--start---------------------
+               // 修改标题
+               // $('.jymobile-datePicker .weui-picker__hd a[data-action=cancel]')
+               $('.jymobile-datePicker .weui-picker__hd a:first').removeClass('weui-picker__action').addClass('jymobile-picker__action').text('选择时间')
+			$("#weui-picker-confirm").css("text-decoration","none");
+               // 如果没有选择,不会出现 '查看全部时间'
+               var timeResultBox = $(that).find('.time_result')
+               var timeResult = timeResultBox.text()
+               if (timeResult !== '时间') {
+                   // 给日期选择器添加footer
+                   var footerHTML = `<div class="weui-picker__ft">
+                   <div class="reset-time weui-picker__action" data-action="cancel">查看全部时间</div></div>`
+                   $('.jymobile-datePicker .weui-picker').append(footerHTML)
+                   // 日期选择器样式添加--end---------------------
+                   $('.jymobile-datePicker .weui-picker__ft').on('click', function(){
+                   	FTAGData();
+                   	$('.weui-mask.weui-animate-fade-in').trigger('click');
+                   	$(that).find('.time_result').removeClass('current').text('时间')
+                   })
+               }
+
+               // 给取遮罩绑定点击事件
+               $('.weui-mask.weui-animate-fade-in').on('click', function(){
+               	var timeResultBox = $(that).find('.time_result')
+               	var timeResult = timeResultBox.text()
+                   // 点击取消或者空白处,时间选择器消失。判断#showDatePicker是否高亮
+                   if (timeResult === '时间') {
+                   	$(that).find('.time_result').toggleClass('current')
+                   }
+               })
+           });
+           // 选择地区
+           $('#showArea').on('click', function (){
+			if(_scrollTop==0){
+				_scrollTop = scrollTop;
+			}
+           	$(".subscribe").toggleClass('overClass');
+			scrollHtml();
+			if(sessionStorage.getItem(userId+"_selectCityName")==""||sessionStorage.getItem(userId+"_selectCityName")==undefined){
+				$(this).find("span").toggleClass("current");
+			}
+           	$('.area_container').slideToggle();
+           	$('.screen').toggle();
+           })
+           
+           // 扩大点击区域(点击城市名字也能选中)
+           $('.area_wrap .c_item .city-name').on('click', function(){
+           	//$(this).parent().children('input').trigger('click')
+           })
+           //
+           $('.screen').click(function(){
+           	$(".subscribe").toggleClass('overClass');
+			scrollHtml();
+			if(sessionStorage.getItem(userId+"_selectCityName")==""||sessionStorage.getItem(userId+"_selectCityName")==undefined){
+				$('#showArea').find("span").toggleClass("current");
+			}
+           	$('.area_container').slideUp();
+           	$('.screen').hide();
+           })
+           // 地区选择确认按钮
+           $('.enter_btn').click(function (){
+           	$(".subscribe").toggleClass('overClass');
+           	let cityCount = $('.area_wrap .city input:checked').length-$('.area_wrap .city .cityAll input:checked').length;
+           	$('.area_container').slideUp();
+           	$('.screen').hide()
+               selectCity = "" //重新选择 初始化地区 参数
+
+           	if(!cityCount){
+           		$('#showArea .jymobile-tab-triangle').removeClass('current').text(`地区`);
+           		 ajaxFun(firstTime,selectCity);
+           		return
+           	}
+
+               // cityName对象
+            let selectCityName = []
+               // 判断省份后面的数字是否隐藏来确定该省份下的城市有没有被选择
+            $('.area_wrap .province .p_item').each(function(i, dom){
+            	var f = $(dom).find('.city-count').is(':hidden')
+
+                // 如果隐藏说明该省份下没有被选中的城市
+                if (f) {
+                    // 结束当前循环,进入下个循环
+                    return true
+                }
+                // 省份名称
+                var provinceName = $(dom).children('.province-name').text()
+                var citiesBox = $('.area_wrap .city .province_city').eq(i)
+                var selectedCities = citiesBox.find('input:checked').parent().children('.city-name')
+                // 城市数组
+                var cityArr = []
+                selectedCities.each(function(i, dom){
+                    // 对获取到的城市名字符串去空格处理
+                    cityArr.push($(dom).text().replace(/\s+/g, ''));
+                })
+                for(var i=0;i<cityArr.length;i++){
+                    if(selectCity!=""){
+                    	selectCity += ","
+                    }
+                    selectCity += cityArr[i];
+                }
+                selectCityName.push({
+                	province: provinceName,
+                	selectCity: cityArr
+                });
+            })
+            sessionStorage.setItem(userId+"_selectCityName", JSON.stringify(selectCityName));
+            ajaxFun(firstTime,selectCity);
+            // 重写地区text
+            $('#showArea .jymobile-tab-triangle').addClass('current').text(`地区 ${cityCount}`);
+               
         })
-        // 重写地区text
-       	$('#showArea .jymobile-tab-triangle').addClass('current').text(`地区 ${cityCount}`); 
-    })
-    $('.reset_btn').click(function (){
-       	$('#showArea .jymobile-tab-triangle').text(`地区`);
-       	$('.area_wrap .province .city-count').hide().text('')
-       	$('.c_item input[type="checkbox"]').prop('checked', false)
-    })
-       // 关闭设置弹窗
-    $('#close_set').on('click',() =>{
-       	$('.set_keyword').hide()
-    })
-    $('#close_renew').on('click',() =>{
-       	$('.renew_toast').hide()
-    })
-    $('#nv_close_renew').on('click',() =>{
-       	$('.nv_renew_toast').hide()
+        $('.reset_btn').click(function (){
+           	$('#showArea .jymobile-tab-triangle').text(`地区`);
+           	$('.area_wrap .province .city-count').hide().text('')
+           	$('.c_item input[type="checkbox"]').prop('checked', false)
+        })
+        // 关闭设置弹窗
+        $('#close_set').on('click',() =>{
+           	$('.set_keyword').hide()
+        })
+        $('#close_renew').on('click',() =>{
+           	$('.renew_toast').hide()
+        })
+        $('#_close_renew').on('click',() =>{
+           	$('._renew_toast').hide()
+        })
+        $('#nv_close_renew').on('click',() =>{
+			localStorage.setItem("nv_vip_"+userId,"T");
+           	$('.nv_renew_toast').hide()
+        })
+           
     })
-})
- </script>
+   </script>
 </html>

+ 111 - 5
src/jfw/modules/app/src/web/templates/weixin/search/mainSearch.html

@@ -22,6 +22,11 @@
 <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/css/myorder/iconfont.css?v={{Msg "seo" "version"}}">
 <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/css/myorder/search_tab.css?v={{Msg "seo" "version"}}">
 <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/css/myorder/weui.min.css?v={{Msg "seo" "version"}}">
+<!--2.8.5-->
+<link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/jyapp/css/wx/base.css?v={{Msg "seo" "version"}}" />
+<link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/swiper/swiper.min.css?v={{Msg "seo" "version"}}">
+<link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/css/wx/home.css?v={{Msg "seo" "version"}}">
+<script src="{{Msg "seo" "cdn"}}/jyapp/swiper/swiper.min.js"></script>
 <title>搜索</title>
 <script type="text/javascript">
 	var userId = {{session "userId"}};
@@ -180,8 +185,96 @@
 </style>
 <!--主题内容-->
 <section id="searchIndex" class="hidden">
+	<!--2.8.5 start-->
+	<div class="home">
+        <div class="top">
+            <div class="home_search">
+                <div class="home_search_left inp-search">
+                    <img class="icon_search" src="/jyapp/images/search/home_search.png" alt="">
+                    <span>示例:税务局 软件</span>
+                </div>
+                <div class="home_search_right">
+                    <img class="icon_question" src="/jyapp/images/search/home_question.png" alt="">
+                </div>
+            </div>
+            <div class="home_banner">
+                <div class="swiper-container lunbo" id="swiper1">
+                    <div class="swiper-wrapper">
+						<!--轮播广告-->
+                    </div>
+                    <div class="swiper-pagination custorm_dot"></div>
+                </div>
+            </div>
+        </div>
+		{{$s_top:=(Ad "jy-appsearch-home-top" -1)}}
+		<script>
+			var ADTopList={{$s_top}}
+			if (ADTopList!=null){
+				var adhtml = '';
+				for(var i=0;i<ADTopList.length;i++){
+					adhtml+='<div class="swiper-slide">'
+						+'<a href="'+ADTopList[i]["s_link"]+'">'
+						+'<img src="'+ADTopList[i]["s_pic"]+'" alt="">'
+						+'</a></div>'
+				}
+				if(ADTopList.length==1){
+					$(".swiper-pagination").hide();
+				}
+				if(adhtml!=""){
+					$(".home_banner .swiper-wrapper").html(adhtml);
+				}
+			}
+		</script>
+        <!-- 导航菜单 -->
+        <div class="home_tab">
+            <div class="tab_container">
+                <a class="tab_item">
+                    <img src="/jyapp/images/search/home_tab_1.png" alt="">
+                    <span>搜中标企业</span>
+                </a>
+                <a class="tab_item">
+                    <img src="/jyapp/images/search/home_tab_2.png" alt="">
+                    <span>数据导出</span>
+                </a>
+                <a class="tab_item">
+                    <img src="/jyapp/images/search/home_tab_3.png" alt="">
+                    <span>标讯订阅</span>
+                </a>
+                <!-- 微信端展示APP下载 
+                <a class="tab_item">
+                    <img src="/jyapp/images/search/home_tab_4.png" alt="">
+                    <span>APP下载</span>
+                </a> -->
+            </div>
+        </div>
+        <!-- 最新标讯 -->
+        <div class="home_data">
+            <h3 class="data_nav">最新标讯</h3>
+            <div class="data_list">
+				<!--首页列表-->
+            </div>
+            <div class="no_data" style="display: none;">
+                <img src="/jyapp/images/search/nothing.png" alt="">
+                <p>为了使您接收更多信息,可对关键词进行新增或修改。</p>
+                <a class="home_toset">去设置</a>
+            </div>
+        </div>
+        <div class="tips">
+            <p class="tips_text home_1" style="display: none;">设置订阅关键词,随时接收最新招标信息</p>
+            <p class="tips_text home_2" style="display: none;">为了使您接收更多信息,可对关键词进行新增或修改。</p>
+            <p class="tips_text home_3" style="display: none;">您未设置关键词,设置后接收信息更精准!</p>
+            <p class="tips_text home_4" style="display: none;">开通VIP订阅,获取更多订阅信息。</p>
+            <p class="tips_all" style="display: none;"><a class="GetAll">查看全部</a></p>
+            <div class="tips_btn home_toset" style="display: none;">
+                <a class="home_toset" >去设置</a>
+            </div>
+            <div class="tips_btn home_todetails" style="display: none;">
+                <a class="home_todetails" >了解详情</a>
+            </div>
+        </div>
+    </div>
 	<!--头部-->
-	<div class="search-header">
+	<div class="search-header hide">
 		<!--<center style="color:#fff;line-height:50px;font-size: 16px;">招标搜索</center>-->
 		<div class="app-layout-header">
 			招标搜索
@@ -198,7 +291,7 @@
 			</a>
 		</div>
 	</div>
-	<section class="content">
+	<section class="content hide">
 		<ul>
 			<li>
 				<a>
@@ -782,6 +875,7 @@
 {{end}}
 <script src="/jyapp/js/fastclick.js?v={{Msg "seo" "version"}}"></script>
 <script type="text/javascript">
+	SuperSearch.getHomeList("",1);//获取数据
 	$(function() {
 	    // 解决ios系统click 事件300毫秒的延迟
 	    FastClick.attach(document.body);
@@ -835,8 +929,8 @@
 		$("#searchIndex").removeClass("hidden");
 		checkIsOpen();
 		backThisPage();
-		//历史数据导出
-	    $(".content ul li a:eq(1)").unbind("tap").on("tap",function(event){
+	    //数据导出页面
+	    $(".tab_container  a:eq(1)").on('click', function () {
 			event.stopPropagation();
 			setTimeout(function(){
 				if(userId==""){
@@ -846,6 +940,18 @@
 				}
 			},300);
 	    });
+	    //剑鱼标讯
+	    $(".tab_container a:eq(2)").on('click', function () {
+			sessionStorage.removeItem("keysetindexToHistory");
+			event.stopPropagation();
+			setTimeout(function(){
+				if(userId==""){
+					window.location.href='/jyapp/free/login?back=index';
+				}else{
+					window.location.href='/jyapp/swordfish/historypush';
+				}
+			},300);
+	    });
 	});
 	function checkIsOpen(){
 		//点击帮助
@@ -882,7 +988,7 @@
 			userId = result.userId;
 			SuperSearch.openTablepro=result.tablepro;
 			//中标企业搜索跳转
-		    $(".content ul li a:eq(0)").unbind("tap").on("tap",function(){
+		    $(".tab_container a:eq(0)").unbind("tap").on("tap",function(){
 					EntSearch.clearSessionStorage();
 					EntSearch.init(true,true,true);
 		    });

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