Forráskód Böngészése

Merge branch 'dev2.8.5' of ssh://192.168.3.207:10022/qmx/jy into dev2.8.5

wcj 5 éve
szülő
commit
34d645c6cc
55 módosított fájl, 4096 hozzáadás és 4176 törlés
  1. 4 16
      src/jfw/front/vipsubscribe.go
  2. 1 0
      src/jfw/modules/app/src/app/front/shorturl.go
  3. 2 2
      src/jfw/modules/app/src/app/front/swordfish.go
  4. 26 26
      src/jfw/modules/app/src/web/staticres/jyapp/js/wxSupersearch.js
  5. 16 1
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/addition_exclusive_word.css
  6. 18 2
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/keyWord.css
  7. 2 2
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/subscribe_list.css
  8. 15 9
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/css/vip_index.css
  9. 42 25
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/additionWord.js
  10. 18 0
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/common.js
  11. 38 21
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/exclusiveWord.js
  12. 131 118
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/keyWord.js
  13. 11 0
      src/jfw/modules/app/src/web/templates/common/nnc.html
  14. 93 72
      src/jfw/modules/app/src/web/templates/vipsubscribe/additionWord.html
  15. 7 6
      src/jfw/modules/app/src/web/templates/vipsubscribe/choose_area.html
  16. 93 71
      src/jfw/modules/app/src/web/templates/vipsubscribe/exclusiveWord.html
  17. 254 206
      src/jfw/modules/app/src/web/templates/vipsubscribe/keyWord.html
  18. 17 12
      src/jfw/modules/app/src/web/templates/vipsubscribe/messageType.html
  19. 166 157
      src/jfw/modules/app/src/web/templates/vipsubscribe/vip_index.html
  20. 96 94
      src/jfw/modules/app/src/web/templates/vipsubscribe/vip_seniorset.html
  21. 28 25
      src/jfw/modules/app/src/web/templates/vipsubscribe/vip_viewPage.html
  22. 360 361
      src/jfw/modules/app/src/web/templates/weixin/historypush.html
  23. 2 2
      src/jfw/modules/app/src/web/templates/weixin/search/mainSearch.html
  24. 0 0
      src/jfw/modules/subscribepay/src/dataexport.json
  25. 34 7
      src/jfw/modules/subscribepay/src/entity/dataexport.go
  26. 6 7
      src/jfw/modules/subscribepay/src/entity/subscribeVip.go
  27. 21 17
      src/jfw/modules/subscribepay/src/service/afterPay.go
  28. 1 1
      src/jfw/modules/subscribepay/src/service/commonAction.go
  29. 4 8
      src/jfw/modules/subscribepay/src/service/orderListDetails.go
  30. 5 4
      src/jfw/modules/subscribepay/src/service/payCallback.go
  31. 107 61
      src/jfw/modules/subscribepay/src/service/vipRenewUpgrade.go
  32. 4 1
      src/jfw/modules/subscribepay/src/service/vipSubscribeEdit.go
  33. 609 0
      src/web/staticres/vipsubscribe/css/choose_area_new.css
  34. 5 11
      src/web/staticres/vipsubscribe/css/vip_subscribe_edit.css
  35. BIN
      src/web/staticres/vipsubscribe/image/banxuan.png
  36. 86 86
      src/web/staticres/vipsubscribe/js/common.js
  37. 345 0
      src/web/staticres/vipsubscribe/js/editArea.js
  38. 7 3
      src/web/templates/weixin/dataExport/dataExport_invoiceSuccess.html
  39. 1 1
      src/web/templates/weixin/historypush.html
  40. 623 622
      src/web/templates/weixin/vipsubscribe/choose_area.html
  41. 6 4
      src/web/templates/weixin/vipsubscribe/choose_area_upgrade.html
  42. 381 381
      src/web/templates/weixin/vipsubscribe/choose_industry.html
  43. 46 172
      src/web/templates/weixin/vipsubscribe/edit_city_new.html
  44. 25 42
      src/web/templates/weixin/vipsubscribe/edit_subscribe.html
  45. 0 712
      src/web/templates/weixin/vipsubscribe/edit_subscribe_allArea.html
  46. 0 686
      src/web/templates/weixin/vipsubscribe/edit_subscribe_city.html
  47. 1 2
      src/web/templates/weixin/vipsubscribe/keyWord.html
  48. 4 1
      src/web/templates/weixin/vipsubscribe/messageType.html
  49. 29 19
      src/web/templates/weixin/vipsubscribe/renew_notice.html
  50. 1 1
      src/web/templates/weixin/vipsubscribe/renew_pay.html
  51. 3 8
      src/web/templates/weixin/vipsubscribe/vip_index.html
  52. 27 10
      src/web/templates/weixin/vipsubscribe/vip_order_detail.html
  53. 32 33
      src/web/templates/weixin/vipsubscribe/vip_purchase.html
  54. 243 47
      src/web/templates/weixin/vipsubscribe/vip_upgrade.html
  55. 0 1
      src/web/templates/weixin/vipsubscribe/vip_viewPage.html

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

@@ -27,9 +27,7 @@ type Subscribepay struct {
 
 	//修改
 	toEditSubPage       xweb.Mapper `xweb:"/front/vipsubscribe/toEditSubPage"`       //订阅收费修改页面
-	toEditSubProvPage   xweb.Mapper `xweb:"/front/vipsubscribe/toEditSubProvPage"`   //订阅收费修改省份
-	toEditSubAllArea    xweb.Mapper `xweb:"/front/vipsubscribe/toEditSubAllArea"`    //订阅收费全国修改
-	toEditSubCityPage   xweb.Mapper `xweb:"/front/vipsubscribe/toEditSubCityPage"`   //订阅收费修改城市
+	toEditSubAreaPage   xweb.Mapper `xweb:"/front/vipsubscribe/toEditSubAreaPage"`   //订阅收费修改地区
 	toEditSubInduPage   xweb.Mapper `xweb:"/front/vipsubscribe/toEditSubInduPage"`   //订阅收费修改行业
 	submitEditSubFinish xweb.Mapper `xweb:"/front/vipsubscribe/submitEditSubFinish"` //订阅收费修改成功
 
@@ -199,19 +197,9 @@ func (s *Subscribepay) ToEditSubPage() {
 	s.Render("/weixin/vipsubscribe/edit_subscribe.html")
 }
 
-//修改订阅省份
-func (s *Subscribepay) ToEditSubProvPage() {
-	s.Render("/weixin/vipsubscribe/edit_subscribe_province.html")
-}
-
-//修改订阅城市
-func (s *Subscribepay) ToEditSubCityPage() {
-	s.Render("/weixin/vipsubscribe/edit_subscribe_city.html")
-}
-
-//购买全国修改
-func (s *Subscribepay) ToEditSubAllArea() {
-	s.Render("/weixin/vipsubscribe/edit_subscribe_allArea.html")
+//合并后修改地区
+func (s *Subscribepay) ToEditSubAreaPage() {
+	s.Render("/weixin/vipsubscribe/edit_city_new.html")
 }
 
 //修改订阅行业

+ 1 - 0
src/jfw/modules/app/src/app/front/shorturl.go

@@ -10,6 +10,7 @@ import (
 	//"time"
 
 	"github.com/go-xweb/xweb"
+	"gopkg.in/mgo.v2/bson"
 )
 
 type Short struct {

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

@@ -520,8 +520,8 @@ func (m *Front) WxsearchlistPaging() {
 				}
 			}
 			arrs = append(arrs, searchvalue)
-			if len(arrs) > 5 {
-				arrs = arrs[1:6]
+			if len(arrs) > 10 {
+				arrs = arrs[1:11]
 			}
 			redis.Del("other", "s_"+userid.(string))
 			redis.Put("other", "s_"+userid.(string), strings.Join(arrs, ","), -1)

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

@@ -242,7 +242,7 @@ var SuperSearch = {
 			}
 			$("#supersearchPage .inputDiv .history").find("li").remove();
 			$("#supersearchPage .inputDiv .inpTitle_history").addClass("hidden");
-			$("#supersearchPage .inputDiv .inpTitle_msgset").css("border-top-right-radius","5px").css("border-top-left-radius","5px");
+//			$("#supersearchPage .inputDiv .inpTitle_msgset").css("border-top-right-radius","5px").css("border-top-left-radius","5px");
 		});
 		////
 		SuperSearch.njTipEasyPopup = new EasyPopup("nijianTip");
@@ -1364,37 +1364,37 @@ var SuperSearch = {
 			$("#supersearchPage .inputDiv .inpTitle_history").removeClass("hidden");
 		}
 		//订阅信息
-		msgsetHtml="";
-		if(msgset != null){
-			for(var n=0;n<msgset.length;n++){
-				var  mymsgset="";
-				for(var m=0;m<msgset[n].length;m++){
-					mymsgset+=msgset[n][m]+" "
-				}
-				var mt = $.trim(mymsgset);
-				if(mt == ""){
-					continue
-				}
-				msgsetHtml+="<li>"+mt+"</li>";
-			}
-		}
-		$("#supersearchPage .inputDiv .myMsgset").html(msgsetHtml);
-		if(msgsetHtml == ""){
-			$("#supersearchPage .inputDiv .inpTitle_msgset").addClass("hidden");
-		}else{
-			$("#supersearchPage .inputDiv .inpTitle_msgset").removeClass("hidden");
-		}
+//		msgsetHtml="";
+//		if(msgset != null){
+//			for(var n=0;n<msgset.length;n++){
+//				var  mymsgset="";
+//				for(var m=0;m<msgset[n].length;m++){
+//					mymsgset+=msgset[n][m]+" "
+//				}
+//				var mt = $.trim(mymsgset);
+//				if(mt == ""){
+//					continue
+//				}
+//				msgsetHtml+="<li>"+mt+"</li>";
+//			}
+//		}
+//		$("#supersearchPage .inputDiv .myMsgset").html(msgsetHtml);
+//		if(msgsetHtml == ""){
+//			$("#supersearchPage .inputDiv .inpTitle_msgset").addClass("hidden");
+//		}else{
+//			$("#supersearchPage .inputDiv .inpTitle_msgset").removeClass("hidden");
+//		}
 		//样式控制
 		if(historyHtml != ""){
 			$("#supersearchPage .inputDiv .inpTitle_history").css({"border-top-right-radius":"5px","border-top-left-radius":"5px"});
-		}else if(historyHtml == "" && msgsetHtml != ""){
-			$("#supersearchPage .inputDiv .inpTitle_msgset").css({"border-top-right-radius":"5px","border-top-left-radius":"5px"});
+//		}else if(historyHtml == "" && msgsetHtml != ""){
+//			$("#supersearchPage .inputDiv .inpTitle_msgset").css({"border-top-right-radius":"5px","border-top-left-radius":"5px"});
 		}
 		//
-		if(historyHtml == "" && msgsetHtml == ""){
+		if(historyHtml == ""){
 			$("#supersearchPage .inputDiv").css("border-top-width","0px");
-		}else{
-			$("#supersearchPage .inputDiv").css("border-top-width","1px");
+//		}else{
+//			$("#supersearchPage .inputDiv").css("border-top-width","1px");
 		}
 		//		
 		var len=$("#supersearchPage .inputDiv ul li").length;

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

@@ -61,7 +61,7 @@
 
 .exclusive-word .enter .btn button,
 .addition-word .enter .btn button {
-  width: 100%;
+  width: 50%;
   height: 0.94rem;
   background: #2cb7ca;
   color: #fff;
@@ -73,6 +73,7 @@
 .addition-word .showKeyWord ul li {
   margin-bottom: 0.16rem;
   overflow: hidden;
+width: 100%;
 }
 
 .exclusive-word .showKeyWord ul li .one,
@@ -345,4 +346,18 @@
     left: 50%;
     margin-left: -25px;
     width: 50px;
+}
+.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;
 }

+ 18 - 2
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: 100vh;*/
   overflow: hidden;
 }
 
@@ -90,7 +90,7 @@
 }
 
 .keyWord .add-keyword-container .content .enter .btn button {
-  width: 100%;
+  width: 50%;
   height: 0.94rem;
   background: #2cb7ca;
   color: #fff;
@@ -304,6 +304,8 @@
   background-color: #fff;
   font-size: .28rem;
   color: #888;
+    position: fixed;
+    bottom: 0px;
 }
 
 .keyWord .problem {
@@ -468,4 +470,18 @@
     left: 50%;
     margin-left: -25px;
     width: 50px;
+}
+.enter.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;
 }

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

@@ -533,8 +533,8 @@ text-decoration: none;
     -webkit-box-orient: vertical;
 }
 .overClass{
-	overflow: hidden;
-	height:100vh;
+/*	overflow: hidden;
+	height:100vh;*/
 }
 .buyerclass {
     border: 1px solid #CFAD89;

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

@@ -409,12 +409,13 @@
   flex-direction: column;
   flex-wrap: nowrap;
   width: 100%;
-  height: 100vh;
+/*  height: 100vh;*/
   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 {
@@ -618,14 +619,14 @@
 }
 
 .vip_index .content .subscribe_info .s_info_top .s_i_item .expand-box .icon-arrow {
-  position: absolute;
-  width: 1.14rem;
-  bottom: 0;
-  right: .1rem;
-  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 {
@@ -797,4 +798,9 @@ i.icon-wenhao{
   background: transparent;
   border: 1px solid white;
   border-radius: .32rem;
+}
+.footer{
+	position: fixed;
+    bottom: 0;
+    width: 100%;
 }

+ 42 - 25
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/additionWord.js

@@ -11,18 +11,21 @@ $(function(){
         var showKeyWordLength = $(".showKeyWord ul").find('li').length;
         if(showKeyWordLength === 0){
             $(".addkeyWord").show();
+            $('.addKeyWord').hide();
         } else {
             $(".addkeyWord").hide();
+            $('.addKeyWord').show();
         }
     }
     hasWords()
     
     // 添加按钮
     $(".addKeyWord i").on('click',function(){
-        $(".addkeyWord").show()
-        $(".addkeyWord input").focus()
-        $('.showKeyWord').find('.one').show()
-        $('.showKeyWord').find('.modify').hide()
+        $(".addkeyWord").show();
+        $(".addKeyWord").hide();
+        $(".addkeyWord input").focus();
+        $('.showKeyWord').find('.one').show();
+        $('.showKeyWord').find('.modify').hide();
     })
     // 输入框自适应高度
     $('textarea').each(function(i,dom){
@@ -35,8 +38,8 @@ $(function(){
     })
     // 添加keyWords检查输入框内是否有文字,如果有才能点击添加按钮
     $('.addkeyWord input.enterOne').on('input', function() {
-        var buttonDOM = $(this).siblings().find('button')[0]
-        if ($(this).val().length >= 1) {
+        var buttonDOM = $(this).siblings().find('button')[1]
+        if ($.trim($(this).val()).length >= 1) {
             buttonDOM.style.opacity = 1
             buttonDOM.removeAttribute("disabled")
         } else {
@@ -46,10 +49,21 @@ $(function(){
     })
     
     // 添加 按钮的点击事件
-    $('.addkeyWord .btn button').on('click', function(){
+    $('.addkeyWord .btn button:nth-child(2)').on('click', function(){
         var timestamp = new Date().getTime();//动态生成不同的id,因为id唯一不能重复,所以 用时间戳 代替  防止重复
-        var keyWord = $('.addkeyWord input.enterOne').val();
-        _addindex = -1;
+        var keyWord = $.trim($('.addkeyWord input.enterOne').val());
+		if(keyWord==""&&keyWord.length==0){
+            weui.toast('附加词不能为空', {
+                duration: 2000,
+                className: 'custom-toast',
+                callback: function () { console.log('close') }
+            });
+			return
+		}
+		_addindex = 0;
+		if($(".showKeyWord li").length>0){
+        	_addindex =  Number($(".showKeyWord li:first").find(".editKeyWord").attr("dataIndex")) + Number(1);
+		}
 		if(addkws_arr[keyWord]!=undefined){
             weui.toast('您设置的附加词已存在,请调整后再添加。', {
                 duration: 2000,
@@ -60,7 +74,7 @@ $(function(){
 		}
         //保存新附加词
         _addkws = keyWord;
-        saveSession();
+        saveSession("",_addindex);
         var html = `<li>
                         <div class="one">
                             <div>
@@ -68,7 +82,7 @@ $(function(){
                                     <p class="key">${ keyWord }</p>
                                 </span>
                             </div>
-                            <button class="editKeyWord"><i class="iconfont icon-xiugai"></i> 修改</button>
+                            <button class="editKeyWord" dataindex="`+_addindex+`"><i class="iconfont icon-xiugai"></i> 修改</button>
                         </div>
                         <div class="modify">
                             <textarea  name=""  rows="1"  placeholder="" maxlength="20">${ keyWord}</textarea>
@@ -80,8 +94,9 @@ $(function(){
         // 隐藏
         $(".addkeyWord").hide();
         $('.showKeyWord').show();
+        $('.addKeyWord').show();
         $('.enter.addkeyWord > input').val('')
-        var buttonDOM = $('.enter.addkeyWord .btn button')[0]
+        var buttonDOM = $('.enter.addkeyWord .btn button')[1]
         buttonDOM.style.opacity = .5
         buttonDOM.setAttribute("disabled", true)
 
@@ -89,6 +104,7 @@ $(function(){
 
     // 编辑
     $(".showKeyWord").on('click', '.editKeyWord',function(e){
+        _addindex = Number($(this).attr("dataindex"));
         $('.enter.addkeyWord').hide()
         $('.addKeyWord').hide()
 
@@ -103,8 +119,8 @@ $(function(){
     // 编辑 删除
     $('.showKeyWord').on('click', '.deleteKey', function(e) {
         var jQueryDOM = $(this).parents('li');
-        _addkws = $(this).siblings('textarea').val();
-        _addindex = $(".showKeyWord li").length - $(this).parent().parent('li').index() - 1;
+        _addkws = $.trim($(this).siblings('textarea').val());
+		var _index =  $('.showKeyWord li').length - $(this).parent().parent("li").index() -1;
         weui.confirm('确定要删除附加词?', {
             buttons: [{
                 label: '取消',
@@ -116,24 +132,28 @@ $(function(){
                 onClick: function () {
                     jQueryDOM.remove();
                     hasWords();
-                    $('.addKeyWord').show();
-                    saveSession("D");
+                    saveSession("D",_addindex,_index);
                 }
             }]
         });
     })
     // 编辑 确定
     $('.showKeyWord').on('click', '.ascertainKey', function(e) {
-        $('.addKeyWord').show()
-        var keyWord = $(this).siblings('textarea').val();
-        if(keyWord.length > 20){
+        var keyWord = $.trim($(this).siblings('textarea').val());
+		var _index =  $('.showKeyWord li').length - $(this).parent().parent("li").index() -1;
+		if(keyWord.length==0){
+            weui.toast('附加词不能为空', {
+                duration: 2000,
+                className: 'custom-toast',
+                callback: function () { console.log('close') }
+            });
+		}else if(keyWord.length > 20){
             weui.toast('每组附加词不能超过20字', {
                 duration: 2000,
                 className: 'custom-toast',
                 callback: function () { console.log('close') }
             });
         }else{
-            _addindex = $(".showKeyWord li").length - $(this).parent().parent('li').index() - 1;
 			if(addkws_arr[keyWord]!=undefined&&addkws_arr[keyWord]!=_addindex){
 	            weui.toast('您设置的附加词已存在,请调整后再添加。', {
 	                duration: 2000,
@@ -142,8 +162,9 @@ $(function(){
 	            });
 				return
 			}
+        	$('.addKeyWord').show()
             _addkws = keyWord;
-            saveSession();
+            saveSession("",_addindex,_index);
             $(this).parent().siblings().find('.key').text(keyWord)
             $(this).parent().hide().siblings().show()
         }
@@ -164,8 +185,4 @@ $(function(){
 	        }
 	    })
 	}
-	(/iphone|ipod|ipad/i.test(navigator.appVersion)) && document.addEventListener('blur', (e) => {
-	    // 这里加了个类型判断,因为a等元素也会触发blur事件
-	    ['input', 'textarea'].includes(e.target.localName) && document.body.scrollIntoView(false)
-	}, true)
 })

+ 18 - 0
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/common.js

@@ -31,6 +31,24 @@ function getParam(name) {
   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)
+}
 
 //省份 城市 分类
 function getAreaClassArr(area){

+ 38 - 21
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/exclusiveWord.js

@@ -11,8 +11,10 @@ $(function(){
         var showKeyWordLength = $(".showKeyWord ul").find('li').length;
         if(showKeyWordLength === 0){
             $(".addkeyWord").show();
+            $('.addKeyWord').hide();
         } else {
             $(".addkeyWord").hide();
+            $('.addKeyWord').show();
         }
     }
     hasWords()
@@ -20,6 +22,7 @@ $(function(){
     // 添加按钮
     $(".addKeyWord i").on('click',function(){
         $(".addkeyWord").show()
+        $(".addKeyWord").hide();
         $(".addkeyWord input").focus()
         $('.showKeyWord').find('.one').show()
         $('.showKeyWord').find('.modify').hide()
@@ -39,8 +42,8 @@ $(function(){
             return
         }
 
-        var buttonDOM = $(this).siblings().find('button')[0]
-        if ($(this).val().length >= 1) {
+        var buttonDOM = $(this).siblings().find('button')[1]
+        if ($.trim($(this).val()).length >= 1) {
             buttonDOM.style.opacity = 1
             buttonDOM.removeAttribute("disabled")
         } else {
@@ -59,9 +62,20 @@ $(function(){
     })
     // 添加 按钮的点击事件
    
-    $('.addkeyWord .btn button').on('click', function(){
-        var keyWord = $('.addkeyWord input.enterOne').val()
-        _notindex = -1;
+    $('.addkeyWord .btn button:nth-child(2)').on('click', function(){
+        var keyWord = $.trim($('.addkeyWord input.enterOne').val());
+		if (keyWord==""){
+            weui.toast('排除词不能为空', {
+                duration: 2000,
+                className: 'custom-toast',
+                callback: function () { console.log('close') }
+            });
+			return
+		}
+		_notindex = 0;
+		if($(".showKeyWord li").length>0){
+        	_notindex = Number($(".showKeyWord li:first").find(".editKeyWord").attr("dataIndex")) + Number(1);
+		}
         //保存新附加词
         _notkws = keyWord;
 		if(notkws_arr[keyWord]!=undefined){
@@ -72,7 +86,7 @@ $(function(){
             });
 			return
 		}
-        saveSession();
+        saveSession("",_notindex);
         var html = `<li>
                         <div class="one">
                             <div>
@@ -80,7 +94,7 @@ $(function(){
                                     <p class="key">${ keyWord }</p>
                                 </span>
                             </div>
-                            <button class="editKeyWord"><i class="iconfont icon-xiugai"></i> 修改</button>
+                            <button class="editKeyWord" dataindex="`+_notindex+`"><i class="iconfont icon-xiugai"></i> 修改</button>
                         </div>
                         <div class="modify">
                             <textarea  name=""  rows="1"  placeholder="">${ keyWord}</textarea>
@@ -93,8 +107,9 @@ $(function(){
         // 隐藏
         $(".addkeyWord").hide();
         $('.showKeyWord').show();
+        $('.addKeyWord').show();
         $('.enter.addkeyWord > input').val('')
-        var buttonDOM = $('.enter.addkeyWord .btn button')[0]
+        var buttonDOM = $('.enter.addkeyWord .btn button')[1]
         buttonDOM.style.opacity = .5
         buttonDOM.setAttribute("disabled", true)
 
@@ -102,6 +117,7 @@ $(function(){
 
     // 编辑
     $(".showKeyWord").on('click', '.editKeyWord', function(e){
+        _notindex = Number($(this).attr("dataindex"));
         $('.enter.addkeyWord').hide()
         $('.addKeyWord').hide()
 
@@ -115,9 +131,9 @@ $(function(){
     // 编辑 删除
     $('.showKeyWord').on('click', '.deleteKey', function(e) {
         var jQueryDOM = $(this).parents('li');
-        _notkws = $(this).siblings('textarea').val();
-        _notindex = $(".showKeyWord li").length - $(this).parent().parent('li').index() - 1;
-        weui.confirm('确定要删除关键词?', {
+        _notkws = $.trim($(this).siblings('textarea').val());
+		var _index =  $('.showKeyWord li').length - $(this).parent().parent("li").index() -1;
+        weui.confirm('确定要删除排除词?', {
             buttons: [{
                 label: '取消',
                 type: 'default',
@@ -128,8 +144,7 @@ $(function(){
                 onClick: function () {
                     jQueryDOM.remove()
                     hasWords()
-                    $('.addKeyWord').show();
-                    saveSession("D");
+                    saveSession("D",_notindex,_index);
                 }
             }]
         });
@@ -138,8 +153,15 @@ $(function(){
     // 编辑 确定
     $('.showKeyWord').on('click', '.ascertainKey', function(e) {
         var $this = $(this);
-        var keyWord = $(this).siblings('textarea').val();
-        if(keyWord.length > 20){
+        var keyWord = $.trim($(this).siblings('textarea').val());
+		var _index =  $('.showKeyWord li').length - $(this).parent().parent("li").index() -1;
+		if(keyWord.length ==0){
+            weui.toast('排除词不能为空', {
+                duration: 2000,
+                className: 'custom-toast',
+                callback: function () { console.log('close') }
+            });
+        }else if(keyWord.length > 20){
             weui.toast('每组排除词不能超过20字', {
                 duration: 2000,
                 className: 'custom-toast',
@@ -157,9 +179,8 @@ $(function(){
             $this.parent().siblings().find('.key').text(keyWord);
             $this.parent().hide().siblings().show();
             $('.addKeyWord').show();
-            _notindex = $(".showKeyWord li").length - $(this).parent().parent('li').index() - 1;
             _notkws = keyWord;
-            saveSession();
+            saveSession("",_notindex,_index);
         }
     })
 
@@ -178,8 +199,4 @@ $(function(){
 	        }
 	    })
 	}
-	(/iphone|ipod|ipad/i.test(navigator.appVersion)) && document.addEventListener('blur', (e) => {
-	    // 这里加了个类型判断,因为a等元素也会触发blur事件
-	    ['input', 'textarea'].includes(e.target.localName) && document.body.scrollIntoView(false)
-	}, true)
 })

+ 131 - 118
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/keyWord.js

@@ -29,8 +29,8 @@ var reloadFunc = function(){
 
     // 添加keyWords检查输入框内是否有文字,如果有才能点击添加按钮
     $('.content .addkeyWord input.enterOne').on('input', function () {
-        var buttonDOM = $(this).siblings()[1].children[0]
-        if ($(this).val().length >= 1) {
+        var buttonDOM = $(this).siblings()[1].children[1]
+        if ($.trim($(this).val()).length >= 1) {
             buttonDOM.style.opacity = 1
             buttonDOM.removeAttribute("disabled")
         } else {
@@ -40,120 +40,129 @@ var reloadFunc = function(){
     })
 
     // 添加 确认按钮的点击事件
-    $('.content .addkeyWord .btn button').on('click', function () {
-        var keyWord = $('.addkeyWord input.enterOne').val();
-		if(kws_arr[keyWord]!=undefined){
-            weui.toast('您设置的关键词已存在,请调整后再添加。', {
-                duration: 2000,
-                className: 'custom-toast',
-                callback: function () { console.log('close') }
-            });
-			return
-		}
-        if(kws_name.length > 20){
-            weui.toast('关键词不能超过20字', {
-                duration: 2000,
-                className: 'custom-toast',
-                callback: function () { console.log('close') }
-            });
-        }
-        kws_name = keyWord;
-        kws_index = $(".showKeyWord li").length;
-        if(kws_index==0){
-            //分类首次添加关键词需重新获取分类索引
-            classify_index = a_items.length;
-        }
-        classify_name = $('.classify-r .classify-detail').text();
-        //保存关键词
-        kws_count = parseInt(kws_count) + 1;
-        if(kws_count>300){
-            weui.toast('您设置的关键词已超出最高上限,请调整后再添加。', {
-                duration: 2000,
-                className: 'custom-toast',
-                callback: function () { console.log('close') }
-            });
-        }else if (saveData("SK")){
-            // 设置状态 首次添加关键词
-            if(a_items.length==0){
-                setEmptyHistory();
-            }
-            //
-            doSessionData();
-            $(".add-keyword-container .addNewKeyword").show();
-            //点击保存关键词,查看缓存中存的附加词 和排除词。
-            $(".kws_count").text(kws_count);
-            var html = `<li><div class="one"><div>
-                            <span>
-                                <strong> 关键词:</strong>
-                                <p class="key">${keyWord}</p>
-                            </span>`
-                if (addition_kws.length>0){
-                    html +='<span>'
-                                +'<strong> 附加词:</strong>'
-                                +'<p class="addition">'+addition_kws.join(" ")+'</p>'
-                                +'</span>'
-                }
-                if (not_kws.length>0){
-                    html +='<span>'
-                                +'<strong> 排除词:</strong>'
-                                +'<p class="notkey">'+not_kws.join(" ")+'</p>'
-                                +'</span>'
-                }
-                html +=`</div>
-                        <button class="editKeyWord"  dataIndex=`+kws_index+`><i class="iconfont icon-xiugai"></i> 修改</button>
-                        </div>
-                        <div class="modify">
-                        <textarea  name=""  rows="1"  placeholder="" maxlength="20">${keyWord}</textarea>`
-            if (addition_kws.length>0){
-                html +=`<button class="addAdjunctWord" onClick="toappendkey(this)">编辑 附加词<i>(`+addition_kws.length+`)</i></button>`
-            }else{
-                html +=`<button class="addAdjunctWord" onClick="toappendkey(this)">添加 附加词</button>`
-            }
-            if (not_kws.length>0){
-                html +=`<button class="addAdjunctWord" onClick="tonotkey(this)">编辑 排除词<i>(`+not_kws.length+`)</i></button>`
-            }else{
-                html +=`<button class="addAdjunctWord" onClick="tonotkey(this)">添加 排除词</button>`
-            }
-                html +=`<button class="deleteKey">删除</button><button class="ascertainKey" dataIndex=`+kws_index+` onclick="saveK(this)">确定</button></div></li>`
-            $('.showKeyWord > ul').prepend(html);
-            // 添加完成隐藏输入框
-            $(".enter.addkeyWord").hide();
-            // 还原状态
-            $('.enter.addkeyWord > input').val('')
-            //把kws_name,kws_index,addition_kws,not_kws初始化
-            kws_index = 0;
-            kws_name = "";
-            addition_kws = [];
-            not_kws = [];
-			//
-            var buttonDOM = $('.enter.addkeyWord .btn button')[0]
-            buttonDOM.style.opacity = .5
-            buttonDOM.setAttribute("disabled", true)
-            //保存关键词 查看关键词数量 未分类 超过20 100提示
-            if(classify_name.indexOf("未分类")>-1){
-                if((kws_tips==0&&$(".showKeyWord li").length>=20)||(kws_tips==20&&$(".showKeyWord li").length>=100)){
-                    //未分类 20个关键词提示,100个关键词提示
-                    showMeg();
-                    var param = {};
-                    param.classify_index = classify_index;
-                    if(kws_tips==0){
-                        param.kws_tips = 20;
-                    }else if(kws_tips==20){
-                        param.kws_tips = 100;
-                    }
-                    $.post("/subscribepay/afterPay/updateUserTips",param,function(r){
-                        if(r.flag){
-                            kws_tips = param.kws_tips;
-                            $(".classify").attr("tips",kws_tips);
-                        }
-                    })
-                }
-            }
-        }
+    $('.content .addkeyWord .btn button:nth-child(2)').on('click', function () {
+		setTimeout(function(){
+	        var keyWord = $.trim($('.addkeyWord input.enterOne').val());
+			if(keyWord==""){
+				return
+			}
+			if(kws_arr[keyWord]!=undefined){
+	            weui.toast('您设置的关键词已存在,请调整后再添加。', {
+	                duration: 2000,
+	                className: 'custom-toast',
+	                callback: function () { console.log('close') }
+	            });
+				return
+			}
+	        if(kws_name.length > 20){
+	            weui.toast('关键词不能超过20字', {
+	                duration: 2000,
+	                className: 'custom-toast',
+	                callback: function () { console.log('close') }
+	            });
+	        }
+	        kws_name = keyWord;
+			kws_index = $(".showKeyWord li").length;
+	        if(kws_index==0){
+	            //分类首次添加关键词需重新获取分类索引
+	            classify_index = a_items.length;
+	        }
+			var _index = 0;
+			if($(".showKeyWord li").length>0){
+	        	_index =  Number($(".showKeyWord li:first").find(".editKeyWord").attr("dataIndex")) + Number(1);
+			}
+	        classify_name = $.trim($('.classify-r .classify-detail').text());
+	        //保存关键词
+	        kws_count = parseInt(kws_count) + 1;
+	        if(kws_count>300){
+	            weui.toast('您设置的关键词已超出最高上限,请调整后再添加。', {
+	                duration: 2000,
+	                className: 'custom-toast',
+	                callback: function () { console.log('close') }
+	            });
+	        }else if (saveData("SK")){
+	            // 设置状态 首次添加关键词
+	            if(a_items.length==0){
+	                setEmptyHistory();
+	            }
+	            //
+	            doSessionData("",_index);
+	            $(".add-keyword-container .addNewKeyword i").show();
+	            //点击保存关键词,查看缓存中存的附加词 和排除词。
+	            $(".kws_count").text(kws_count);
+	            var html = `<li><div class="one"><div>
+	                            <span>
+	                                <strong> 关键词:</strong>
+	                                <p class="key">${keyWord}</p>
+	                            </span>`
+	                if (addition_kws.length>0){
+	                    html +='<span>'
+	                                +'<strong> 附加词:</strong>'
+	                                +'<p class="addition">'+addition_kws.join(" ")+'</p>'
+	                                +'</span>'
+	                }
+	                if (not_kws.length>0){
+	                    html +='<span>'
+	                                +'<strong> 排除词:</strong>'
+	                                +'<p class="notkey">'+not_kws.join(" ")+'</p>'
+	                                +'</span>'
+	                }
+	                html +=`</div>
+	                        <button class="editKeyWord"  dataIndex=`+_index+`><i class="iconfont icon-xiugai"></i> 修改</button>
+	                        </div>
+	                        <div class="modify">
+	                        <textarea  name=""  rows="1"  placeholder="" maxlength="20">${keyWord}</textarea>`
+	            if (addition_kws.length>0){
+	                html +=`<button class="addAdjunctWord" onClick="toappendkey(this)">编辑 附加词<i>(`+addition_kws.length+`)</i></button>`
+	            }else{
+	                html +=`<button class="addAdjunctWord" onClick="toappendkey(this)">添加 附加词</button>`
+	            }
+	            if (not_kws.length>0){
+	                html +=`<button class="addExclusion" onClick="tonotkey(this)">编辑 排除词<i>(`+not_kws.length+`)</i></button>`
+	            }else{
+	                html +=`<button class="addExclusion" onClick="tonotkey(this)">添加 排除词</button>`
+	            }
+	                html +=`<button class="deleteKey">删除</button><button class="ascertainKey" dataIndex=`+_index+` onclick="saveK(this)">确定</button></div></li>`
+	            $('.showKeyWord > ul').prepend(html);
+	            // 添加完成隐藏输入框
+	            $(".enter.addkeyWord").hide();
+	            // 还原状态
+	            $('.enter.addkeyWord > input').val('')
+	            //把kws_name,kws_index,addition_kws,not_kws初始化
+	            kws_index = 0;
+	            kws_name = "";
+	            addition_kws = [];
+	            not_kws = [];
+				//
+	            var buttonDOM = $('.enter.addkeyWord .btn button')[1]
+	            buttonDOM.style.opacity = .5
+	            buttonDOM.setAttribute("disabled", true)
+	            //保存关键词 查看关键词数量 未分类 超过20 100提示
+	            if(classify_name.indexOf("未分类")>-1){
+	                if((kws_tips==1&&$(".showKeyWord li").length>=20)||(kws_tips==20&&$(".showKeyWord li").length>=100)){
+	                    //未分类 20个关键词提示,100个关键词提示
+	                    showMeg();
+	                    var param = {};
+	                    param.classify_index = classify_index;
+	                    if(kws_tips==1){
+	                        param.kws_tips = 20;
+	                    }else if(kws_tips==20){
+	                        param.kws_tips = 100;
+	                    }
+	                    $.post("/subscribepay/afterPay/updateUserTips",param,function(r){
+	                        if(r.flag){
+	                            kws_tips = param.kws_tips;
+	                            $(".classify").attr("tips",kws_tips);
+	                        }
+	                    })
+	                }
+	            }
+	        }
+		},150)
     })
     // 编辑
     $(".showKeyWord").on('click', '.editKeyWord', function (e) {
-        kws_name = $(this).parent().find('.key').text();
+        kws_name = $.trim($(this).parent().find('.key').text());
         //当前关键词数组的位置 是数组的总长度-当前所在的位置-1 数组正序索引
         kws_index = $('.showKeyWord li').length - $(this).parent().parent("li").index() -1;
         if($(this).prev('div').find(".addition").text()!=""){
@@ -168,15 +177,16 @@ var reloadFunc = function(){
         }
         $('.enter.addkeyWord').hide()
         let oSpan = $(this).parent().siblings().children('textarea');
-        let val = $(oSpan).val()
+        let val =  $.trim($(oSpan).val());
         $(this).parent().hide()
         $(this).parent().siblings().show().parent().siblings().children('.modify').hide().siblings('.one').show()
         $(oSpan).val('').focus().val(val) 
-        $('.addKeyWord').hide()
+        $(".add-keyword-container .addNewKeyword i").hide()
     })
 
     // 编辑删除
     $('.showKeyWord').on('click', '.deleteKey', function (e) {
+		var _index = Number($(this).next(".ascertainKey").attr("dataindex"));
         var jQueryDOM = $(this).parents('li')
         weui.confirm('确定要删除关键词?', {
             buttons: [{
@@ -195,10 +205,11 @@ var reloadFunc = function(){
 			                $(".enter.addkeyWord").find(".btnChoose button").eq(0).html('添加 附加词');
 			                $(".enter.addkeyWord").find(".btnChoose button").eq(1).html('添加 附加词');
 			                $(".enter.addkeyWord").find("input").val("");
+						}else{
+							$(".add-keyword-container .addNewKeyword i").show();
 						}
                         hasWords();
-                        $('.addKeyWord').show();
-                        doSessionData('DK');
+                        doSessionData('DK',_index);
 			            //把kws_name,kws_index,addition_kws,not_kws初始化
 			            kws_index = 0;
 			            kws_name = "";
@@ -271,7 +282,7 @@ var reloadFunc = function(){
     })
     // 关键词分类 - 确定按钮点击事件
     $('.classify-edit-pop .dialog__btn_confirm').on('click', function() {
-        classify_name = $('input.classify-keyword').val();
+        classify_name = $.trim($('input.classify-keyword').val());
         // 去空格
         classify_name = classify_name.trim();
         if (classify_name.length === 0) {
@@ -295,7 +306,9 @@ var reloadFunc = function(){
         $('.classify-edit-pop').hide();
         $('input.classify-keyword').val('');
         if($(".showKeyWord li").length>0){
+			kws_name = classify_name;
             saveData('SC')
+			kws_name = "";
             a_items[classify_index]["s_item"] = classify_name;
         }
     })

+ 11 - 0
src/jfw/modules/app/src/web/templates/common/nnc.html

@@ -0,0 +1,11 @@
+<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,initial-scale=1.0" user-scalable="no" />
+<link href="/jyapp/css/jy.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+<link href="/jyapp/css/common.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+<link href="/jyapp/css/animate.css" rel="stylesheet">
+<link rel="stylesheet" href="/jyapp/css/unicorn.main.css" />
+<link rel="stylesheet" href="/jyapp/css/unicorn.grey.css" />
+<script src="/jyapp/js/jquery-3.2.1.min.js?v={{Msg "seo" "version"}}"></script>
+<script src="/jyapp/js/jquery.cookie.js"></script>
+<script src="/jyapp/js/bootstrap.min.js"></script>
+<script src="/jyapp/js/jy.js?v={{Msg "seo" "version"}}"></script>
+{{include "/common/js.html"}}

+ 93 - 72
src/jfw/modules/app/src/web/templates/vipsubscribe/additionWord.html

@@ -2,76 +2,78 @@
 <html lang="en">
 
 <head>
-    <meta charset="UTF-8">
-    <meta name="viewport"
-        content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
-    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+	{{include "/common/meta.html"}}
     <title>附加词</title>
-    <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}">
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}">
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/addition_exclusive_word.css?v={{Msg "seo" "version"}}">
+	{{include "/common/nnc.html"}}
+    <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"}}">
+    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
+    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/css/addition_exclusive_word.css?v={{Msg "seo" "version"}}">
 </head>
 
 <body>
-
-    <div class="addition-word">
-        <section class="content">
-            <p class="title">示例:开发(附加词)</p>
-            <!-- 添加附加词 -->
-            <div class="enter addkeyWord" style="display: none;">
-                <input type="text" class="enterOne" maxlength="20" placeholder="请输入附加词" />
-                <div class="btn">
-                    <button disabled>确认</button>
-                </div>
-            </div>
-
-            <!-- 添加附加词显示列表 -->
-            <div class="showKeyWord" style="display: none;">
-                <ul>
-                    
-                </ul>
-            </div>
-            <div class="problem">
-                疑问解答 <i class="iconfont icon-wenhao"></i>
-            </div> 
-        </section>
-        <div class="addKeyWord">
-            <i class="iconfont icon-tianjia"></i>
-        </div>
-        <!-- 疑难问题弹窗 -->
-        <div class="problemPop">
-            <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="app-layout-header">
+		<span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
+		附加词
+	</div>
+	
+	<div class="app-layout-content-b">
+	    <div class="addition-word">
+	        <section class="content">
+	            <p class="title">示例:开发(附加词)</p>
+	            <!-- 添加附加词 -->
+	            <div class="enter addkeyWord" style="display: none;">
+	                <input type="text" class="enterOne" maxlength="20" placeholder="请输入附加词" />
+	                <div class="btn">
+	                    <button onclick="Cancel()" style="width:49%;background:#fff;color:#2cb7ca;opacity: 1;">取消</button>
+	                    <button disabled>确认</button>
+	                </div>
+	            </div>
+	
+	            <!-- 添加附加词显示列表 -->
+	            <div class="showKeyWord" style="display: none;">
+	                <ul>
+	                    
+	                </ul>
+	            </div>
+	            <div class="problem">
+	                疑问解答 <i class="iconfont icon-wenhao"></i>
+	            </div> 
+	        </section>
+	        <div class="addKeyWord" style="display:none;">
+	            <i class="iconfont icon-tianjia"></i>
+	        </div>
+	        <!-- 疑难问题弹窗 -->
+	        <div class="problemPop">
+	            <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>
     </div>
-    <script src="{{Msg "seo" "cdn"}}/js/jquery-3.2.1.min.js?v=1412"></script>
-    <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/weui.min.js"></script>
-    <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/additionWord.js"></script>
-	{{include "/common/weixin.html"}}
-	<script src="{{Msg "seo" "cdn"}}/wxswordfish/share.js?v={{Msg "seo" "version"}}"></script>
+	<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>
     <script>
-		initShare({{.T.signature}},{{.T.openid}},2,"jy_extend",{{.T.nickname}},{{.T.avatar}});
         var addition_kws = []//附加词
         var _addkws = "";
         var _addindex = -1;
@@ -85,9 +87,19 @@
                 $(".showKeyWord").hide();
             }
         })
+		//
+		function Cancel(){
+			if($(".showKeyWord li").length==0){
+				window.history.go(-1)
+			}else{
+				$(".content .addkeyWord").hide();
+        		$(".addKeyWord").show();
+			}
+		}
         //
         function appendHtml(data){
             if (data.length>0){
+				$('.addKeyWord').show();
                 var additionHtml = '';
                 for (var i = data.length - 1; i >= 0; i--) {
 					addkws_arr[data[i]]=i
@@ -98,7 +110,7 @@
                                     +'<p class="key">'+data[i]+'</p>'
                                     +'</span>'
                                     +'</div>'
-                                    +'<button class="editKeyWord"><i class="iconfont icon-xiugai"></i> 修改</button>'
+                                    +'<button class="editKeyWord" dataIndex="'+i+'"><i class="iconfont icon-xiugai"></i> 修改</button>'
                                     +'</div>'
                                     +'<div class="modify">'
                                     +'<textarea  name=""  rows="1"  placeholder="" maxlength="20" >'+data[i]+'</textarea>'
@@ -116,19 +128,28 @@
             }
         }
         //
-        function saveSession(t){
+        function saveSession(t,i,index){
             if (_addkws!=""){
                 if(t!="D"){
-                    if(_addindex>=0){
-						addkws_arr[_addkws] = _addindex;
-                        addition_kws[_addindex] = _addkws
+                    if($(".showKeyWord li:first").find(".editKeyWord").attr("dataIndex")!=undefined&&i <= Number($(".showKeyWord li:first").find(".editKeyWord").attr("dataIndex"))){
+						for (var n in addkws_arr){
+							if(addkws_arr[n]==i){
+								delete addkws_arr[n];
+							}
+						}
+						addkws_arr[_addkws] = i;
+                        addition_kws[index] = _addkws
                     }else{
-						addkws_arr[_addkws] = addition_kws.length;
+						addkws_arr[_addkws] = i;
                         addition_kws.push(_addkws)
                     }
                 }else{
-					delete addkws_arr[_addkws];
-                    addition_kws.splice(_addindex,1)
+					for (var n in addkws_arr){
+						if(addkws_arr[n]==i){
+							delete addkws_arr[n];
+						}
+					}
+                    addition_kws.splice(index,1);
                 }
                 sessionStorage.addition_kws = JSON.stringify(addition_kws)
            }

+ 7 - 6
src/jfw/modules/app/src/web/templates/vipsubscribe/choose_area.html

@@ -471,7 +471,7 @@
                 })
             })
         },
-        getResult: function () {   /* 选中结果 */
+        getResult: function (changeCity) {   /* 选中结果 */
             //如果选中所有,则转为全国
             if ($(".city").length == $(".city.active").length) {
                 $(".checkbox.other").trigger("click");
@@ -539,7 +539,8 @@
                 if (children.length > 0) {
                     // 判断每个省份下选中的城市长度,当大于等于4的时候 弹出"选择全省更划算的弹窗"
                     let childrenArr = [];
-                    if (children.length > selectCityMax) {
+                    //判断操作城市省份下城市的数量
+                    if (result[i].name === $.trim(changeCity)) {
                         selectCityMax = children.length;
                     }
                     html += `${result[i].name}(`
@@ -571,11 +572,11 @@
 
             //提示
             if (!this.vipSubisTrial) {
-                if (selectProvince > 9) {
-                    $('.tips_btn .tips_d_text').text("已选择" + selectProvince + "个省,建议购买“全国”更划算哦~").slideDown()
+                if (selectCityMax > 2) {
+                    $('.tips_btn .tips_d_text').text("已选择" + selectCityMax + "个市,建议购买“全省”更划算哦~").slideDown();
                 } else {
-                    if (selectCityMax > 2) {
-                        $('.tips_btn .tips_d_text').text("已选择" + selectCityMax + "个市,建议购买“全省”更划算哦~").slideDown();
+                    if (selectProvince > 9) {
+                        $('.tips_btn .tips_d_text').text("已选择" + selectProvince + "个省,建议购买“全国”更划算哦~").slideDown()
                     } else {
                         $(".tips_d_text").slideUp();
                     }

+ 93 - 71
src/jfw/modules/app/src/web/templates/vipsubscribe/exclusiveWord.html

@@ -2,75 +2,77 @@
 <html lang="en">
 
 <head>
-    <meta charset="UTF-8">
-    <meta name="viewport"
-        content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
-    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+	{{include "/common/meta.html"}}
     <title>排除词</title>
-    <script src="{{Msg "seo" "cdn"}}/vipsubscribe./js/rem.js?v={{Msg "seo" "version"}}"></script>
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}">
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}">
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/addition_exclusive_word.css?v={{Msg "seo" "version"}}">
+	{{include "/common/nnc.html"}}
+    <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"}}">
+    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
+    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/css/addition_exclusive_word.css?v={{Msg "seo" "version"}}">
 </head>
 
 <body>
-
-    <div class="exclusive-word">
-        <section class="content">
-            <p class="title">示例:运维(排除词)</p>
-            <!-- 添加排除词 -->
-            <div class="enter addkeyWord">
-                <input type="text" class="enterOne" maxlength="20" placeholder="请输入排除词" />
-                <div class="btn">
-                    <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">
-            <i class="iconfont icon-tianjia"></i>
-        </div>
-        <!-- 疑难问题弹窗 -->
-        <div class="problemPop">
-            <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="app-layout-header">
+		<span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
+		附加词
+	</div>
+	
+	<div class="app-layout-content-b">
+	    <div class="exclusive-word">
+	        <section class="content">
+	            <p class="title">示例:运维(排除词)</p>
+	            <!-- 添加排除词 -->
+	            <div class="enter addkeyWord">
+	                <input type="text" class="enterOne" maxlength="20" placeholder="请输入排除词" />
+	                <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" style="display:none;">
+	            <i class="iconfont icon-tianjia"></i>
+	        </div>
+	        <!-- 疑难问题弹窗 -->
+	        <div class="problemPop">
+	            <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>
     </div>
-    <script src="{{Msg "seo" "cdn"}}/js/jquery-3.2.1.min.js?v={{Msg "seo" "version"}}"></script>
-    <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
-    <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/exclusiveWord.js?v={{Msg "seo" "version"}}"></script>
-	{{include "/common/weixin.html"}}
-	<script src="{{Msg "seo" "cdn"}}/wxswordfish/share.js?v={{Msg "seo" "version"}}"></script>
+	<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>
     <script>
-		initShare({{.T.signature}},{{.T.openid}},2,"jy_extend",{{.T.nickname}},{{.T.avatar}});
         var not_kws = []//排除词
         var _notkws = "";
         var _notindex = -1;
@@ -84,9 +86,19 @@
                 $(".showKeyWord").hide();
             }
         })
+		//
+		function Cancel(){
+			if($(".showKeyWord li").length==0){
+				window.history.go(-1)
+			}else{
+				$(".content .addkeyWord").hide();
+        		$(".addKeyWord").show();
+			}
+		}
         //
         function appendHtml(data){
             if (data.length>0){
+				$('.addKeyWord').show();
                 var additionHtml = '';
                 for (var i = data.length - 1; i >= 0; i--) {
 					notkws_arr[data[i]]=i
@@ -97,7 +109,7 @@
                                     +'<p class="key">'+data[i]+'</p>'
                                     +'</span>'
                                     +'</div>'
-                                    +'<button class="editKeyWord"><i class="iconfont icon-xiugai"></i> 修改</button>'
+                                    +'<button class="editKeyWord" dataIndex="'+i+'"><i class="iconfont icon-xiugai"></i> 修改</button>'
                                     +'</div>'
                                     +'<div class="modify">'
                                     +'<textarea  name=""  rows="1"  placeholder="" maxlength="20" >'+data[i]+'</textarea>'
@@ -115,19 +127,29 @@
             }
         }
         //
-        function saveSession(t){
+        function saveSession(t,i,index){
             if (_notkws!=""){
                 if(t!="D"){
-                    if(_notindex>0){
-						notkws_arr[_notkws] = _notindex;
-                        not_kws[_notindex] = _notkws
+                    if($(".showKeyWord li:first").find(".editKeyWord").attr("dataIndex")!=undefined&&i <= Number($(".showKeyWord li:first").find(".editKeyWord").attr("dataIndex"))){
+						for (var n in notkws_arr){
+							if(notkws_arr[n]==i){
+								delete notkws_arr[n];
+							}
+						}
+						notkws_arr[_notkws] = i;
+                        not_kws[index] = _notkws
                     }else{
-						notkws_arr[_notkws] = not_kws.length;
+						notkws_arr[_notkws] = i;
                         not_kws.push(_notkws)
                     }
                 }else{
-					delete notkws_arr[_notkws];
-                    not_kws.splice(_notindex,1)
+					for (var n in notkws_arr){
+						console.log(n,i)
+						if(notkws_arr[n]==i){
+							delete notkws_arr[n];
+						}
+					}
+                    not_kws.splice(index,1)
                 }
                 sessionStorage.not_kws = JSON.stringify(not_kws)
            }

+ 254 - 206
src/jfw/modules/app/src/web/templates/vipsubscribe/keyWord.html

@@ -2,16 +2,14 @@
 <html lang="zh-CN">
 
 <head>
-    <meta charset="UTF-8">
-    <meta name="viewport"
-        content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
-    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+	{{include "/common/meta.html"}}
     <title>关键词</title>
-    <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}">
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}">
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/keyWord.css?v={{Msg "seo" "version"}}">
+	<link href="{{Msg "seo" "cdn"}}/jyapp/css/common.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"}}">
+    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/css/keyWord.css?v={{Msg "seo" "version"}}">
+    <script src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
     <style>
         .ios-user-select {
             -webkit-user-select: text;
@@ -114,126 +112,129 @@
 </head>
 
 <body>
-    <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 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" style="display: none;">
-                <i class="iconfont icon-tianjia"></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" style="display: none;"><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="app-layout-header">
+		<span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
+		信息类型
+	</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>
-    
-    <script src="{{Msg "seo" "cdn"}}/js/jquery-3.2.1.min.js?v={{Msg "seo" "version"}}"></script>
-    <script src="{{Msg "seo" "cdn"}}/js/jquery.cookie.js?v={{Msg "seo" "version"}}"></script>
-    <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
-	{{include "/common/weixin.html"}}
-	<script src="{{Msg "seo" "cdn"}}/wxswordfish/share.js?v={{Msg "seo" "version"}}"></script>
-    <script>
-		initShare({{.T.signature}},{{.T.openid}},2,"jy_extend",{{.T.nickname}},{{.T.avatar}});
-        
+    <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>
+    <script>        
         var a_items = [];//全部数据
         var classify_name = "";//分类名称
         var classify_index = 0;//分类索引
@@ -251,13 +252,22 @@
             //是否第一次设置关键词
             isFirstSetKeyword: true
         }
+		//
+		function Cancel(){
+			if($(".showKeyWord li").length==0){
+				window.history.go(-1)
+			}else{
+				$(".content .addkeyWord").hide();
+                $(".add-keyword-container .addNewKeyword i").show();
+			}
+		}
 		//
 		function initSess(){
 			weui.loading();
 	        setTimeout(function(){
 	            weui.loading().hide();
 	            if(window.location.search.indexOf("page=2")>-1){
-					history.replaceState("{id:1}","","/front/vipsubscribe/toSetKeyWordPage")
+					history.replaceState("{id:1}","","/jyapp/vipsubscribe/toSetKeyWordPage")
 	            }else if(history.state){
 	                window.history.go(-1)
 				}
@@ -339,7 +349,7 @@
                 modifyFlag = true;
                 kws_count = sessionStorage.kws_count;
                 $(".kws_count").text(kws_count);
-                $('.addKeyWord').hide();
+               $(".add-keyword-container .addNewKeyword i").hide();
                 toSetKws();
             }else{
                 //获取用户设置信息类型
@@ -380,11 +390,13 @@
             if (state) {
                 $('.add-keyword-container').show()
                 $('.all-classify-column').hide()
+            	$(".addClassify").hide();
             } else {
                 $('.add-keyword-container').hide()
                 $('.all-classify-column').show()
+            	$(".addClassify").show();
+                $(".add-keyword-container .addNewKeyword i").hide();
             }
-            $(".addNewKeyword").show();
         }
         //分类列表
         function appendHtml(kwsdata){
@@ -405,7 +417,7 @@
                     if(keystr!=""){
                         keystr += "、"
                     }
-                    keystr += a_key[j]["key"].join('');
+                    keystr += a_key[j]["key"].join(' ');
 					kws_arr[a_key[j]["key"].join(' ')]=j+"-"+i
                 } 
                 classifyHtml +='<li class="classify-item">'
@@ -428,8 +440,10 @@
             var showKeyWordLength = $(".showKeyWord ul").find('li').length;
             if (showKeyWordLength === 0) {
                 $(".content .addkeyWord").show();
+				$(".add-keyword-container .addNewKeyword i").hide();
             } else {
                 $(".content .addkeyWord").hide();
+				$(".add-keyword-container .addNewKeyword i").show();
             }
         }
         //修改关键词内容
@@ -450,6 +464,7 @@
                 }
                 edhtml +='</div>'
                         +'<div class="btn">'
+						+'<button onclick="Cancel()" style="width:49%;background:#fff;color:#2cb7ca;opacity: 1;">取消</button>'
                         +'<button style="opacity: 1;">确认</button>'
                         +'</div>'
                 $(".enter.addkeyWord").html(edhtml);
@@ -520,8 +535,9 @@
                                     +'<p class="notkey">'+_keyArr[i]["notkey"].join(" ")+'</p>'
                                     +'</span>'
                     }
+					var p = kws_arr[_keyArr[i]["key"].join(" ")].split("-")[0]
                     kwsHtml +='</div>'
-                                +'<button class="editKeyWord" dataIndex="'+i+'"><i class="iconfont icon-xiugai"></i> 修改</button>'
+                                +'<button class="editKeyWord" dataIndex="'+p+'"><i class="iconfont icon-xiugai"></i> 修改</button>'
                                 +'</div>'
                      
                     if(modifyFlag&&i==kws_index){
@@ -535,7 +551,6 @@
                     }else{
                         kwsHtml +='<div class="modify" style="display: none;">'
                     }
-					var p = kws_arr[_keyArr[i]["key"].join(" ")].split("-")[0]
                     kwsHtml +='<textarea name="" rows="1" placeholder="" maxlength="20">'+_keyArr[i]["key"].join(" ")+'</textarea>'
                                 +'<button class="addAdjunctWord" onclick="toappendkey(this)">'+ak_remark+' 附加词 <i class="appendkey '+ak_showClass+'">('+appendkeylth+')</i></button>'
                                 +'<button class="addExclusion" onclick="tonotkey(this)">'+nk_remark+' 排除词 <i class="notkey '+nk_showClass+'">('+notkeylth+')</i></button>'
@@ -554,39 +569,39 @@
         }
         //跳转附加词
         function toappendkey(th){
-			history.replaceState("","","/front/vipsubscribe/toSetKeyWordPage?page=242")
             if(!$('.enter.addkeyWord').is(':hidden')){
-                if($('.addkeyWord input.enterOne').val()==""){
+                if($.trim($('.addkeyWord input.enterOne').val())==""){
                     return
                 }
                 kws_index = -1
-                kws_name = $('.addkeyWord input.enterOne').val();
+                kws_name = $.trim($('.addkeyWord input.enterOne').val());
             }else{
-               if($(th).parent(".modify").find("textarea").val()==""){
+               if($.trim($(th).parent(".modify").find("textarea").val())==""){
                  return
                }
-                kws_name = $(th).parent(".modify").find("textarea").val();
+                kws_name = $.trim($(th).parent(".modify").find("textarea").val());
             }
+			history.replaceState("","","/jyapp/vipsubscribe/toSetKeyWordPage?page=243")
             setSesstion();
-            window.location.href="/front/vipsubscribe/toSetadditionPage";
+            window.location.href="/jyapp/vipsubscribe/toSetadditionPage";
         }
         //
         function tonotkey(th){
-			history.replaceState("","","/front/vipsubscribe/toSetKeyWordPage?page=242")
             if(!$('.enter.addkeyWord').is(':hidden')){
-                if($('.addkeyWord input.enterOne').val()==""){
+                if($.trim($('.addkeyWord input.enterOne').val())==""){
                     return
                 }
                 kws_index = -1
-                kws_name = $('.addkeyWord input.enterOne').val();
+                kws_name = $.trim($('.addkeyWord input.enterOne').val());
             }else{
-               if($(th).parent(".modify").find("textarea").val()==""){
+               if($.trim($(th).parent(".modify").find("textarea").val())==""){
                  return
                }
-                kws_name = $(th).parent(".modify").find("textarea").val();
+                kws_name = $.trim($(th).parent(".modify").find("textarea").val());
             }
+			history.replaceState("","","/jyapp/vipsubscribe/toSetKeyWordPage?page=243")
             setSesstion();
-            window.location.href='/front/vipsubscribe/toSetexclusivePage';
+            window.location.href='/jyapp/vipsubscribe/toSetexclusivePage';
         }
         //保存缓存
         function setSesstion(){
@@ -620,45 +635,54 @@
         }
         //保存关键词
         function saveK(th){
-            var $this = $(th);
-			var yuan_index = $this.attr("dataIndex")
-            kws_name = $(th).siblings('textarea').val();
-			console.log(kws_arr[kws_name])
-			if(kws_arr[kws_name]!=undefined&&kws_arr[kws_name]!=(yuan_index+"-"+classify_index)){
-                weui.toast('您设置的关键词已存在,请调整后再添加。', {
-                    duration: 2000,
-                    className: 'custom-toast',
-                    callback: function () { console.log('close') }
-                });
-				return
-			}
-            if(kws_name.length > 20){
-                weui.toast('关键词不能超过20字', {
-                    duration: 2000,
-                    className: 'custom-toast',
-                    callback: function () { console.log('close') }
-                });
-            }else{
-                if(saveData('SK')){
-					$this.attr("dataindex",kws_index);
-                    $this.parent().siblings().find('.key').text(kws_name)
-                    $this.parent().hide().siblings().show()
-                    $('.addKeyWord').show();
-                    //
-                    doSessionData();
-		            //把kws_name,kws_index,addition_kws,not_kws初始化
-		            kws_index = 0;
-		            kws_name = "";
-		            addition_kws = [];
-		            not_kws = [];
-                }else{
-		            weui.toast('保存出错,稍后再试', {
-		                duration: 2000,
-		                className: 'custom-toast',
-		                callback: function () { console.log('close') }
-		            });
-                }
-            }
+			setTimeout(function(){
+	            var $this = $(th);
+	            kws_name =  $.trim($(th).siblings('textarea').val());
+				if(kws_name==""){
+	                weui.toast('您设置的关键词不能为空,请调整后再添加。', {
+	                    duration: 2000,
+	                    className: 'custom-toast',
+	                    callback: function () { console.log('close') }
+	                });
+					return
+				}
+				var _index =  Number($this.attr("dataindex"));
+				if(kws_arr[kws_name]!=undefined&&kws_arr[kws_name]!=(_index+"-"+classify_index)){
+	                weui.toast('您设置的关键词已存在,请调整后再添加。', {
+	                    duration: 2000,
+	                    className: 'custom-toast',
+	                    callback: function () { console.log('close') }
+	                });
+					return
+				}
+	            if(kws_name.length > 20){
+	                weui.toast('关键词不能超过20字', {
+	                    duration: 2000,
+	                    className: 'custom-toast',
+	                    callback: function () { console.log('close') }
+	                });
+	            }else{
+	                if(saveData('SK')){
+						//$this.attr("dataindex",kws_index);
+	                    $this.parent().siblings().find('.key').text(kws_name)
+	                    $this.parent().hide().siblings().show()
+	                	$(".add-keyword-container .addNewKeyword i").show();
+	                    //
+	                    doSessionData("",_index);
+			            //把kws_name,kws_index,addition_kws,not_kws初始化
+			            kws_index = 0;
+			            kws_name = "";
+			            addition_kws = [];
+			            not_kws = [];
+	                }else{
+			            weui.toast('保存出错,稍后再试', {
+			                duration: 2000,
+			                className: 'custom-toast',
+			                callback: function () { console.log('close') }
+			            });
+	                }
+	            }
+			},150)
         }
         //保存数据
         function saveData(actionType){
@@ -690,29 +714,46 @@
             });
             return _flag
         }
-        //处理缓存数据
-        function doSessionData(t){
+        //处理缓存数据  根据新索引和原索引操作----
+        function doSessionData(t,index){
             //删除关键词
             if(t!="DK"){
-				kws_arr[kws_name] = kws_index+"-"+classify_index
-                if(kws_index == $(".showKeyWord li").length){
-                    //新加
+                if($(".showKeyWord li:first").find(".editKeyWord").attr("dataIndex")!=undefined&&index <= Number($(".showKeyWord li:first").find(".editKeyWord").attr("dataIndex"))){
+					var akws = a_items[classify_index]["a_key"];
+					for (var n in akws){
+						var ky = akws[n]["key"].join(" ");
+						var sy = index+"-"+classify_index
+						if(kws_arr[ky]==sy){
+							delete kws_arr[ky];
+							break;
+						}
+					}
+                    a_items[classify_index]["a_key"][kws_index]["key"]= kws_name.split(' ')
+                    a_items[classify_index]["a_key"][kws_index]["appendkey"]= addition_kws
+                    a_items[classify_index]["a_key"][kws_index]["notkey"]= not_kws
+                }else{
+					//新加
                     var karr = {"key":kws_name.split(" "),"appendkey":addition_kws,"notkey":not_kws}
-                    var keyM = [];
-                    keyM.push(karr);
-                    var classifyArr = {"s_item":classify_name,"a_key":keyM}
-                    if (kws_index==0){
+                    if (index==0){
+                    	var keyM = [];
+                    	keyM.push(karr);
+                    	var classifyArr = {"s_item":classify_name,"a_key":keyM}
                         a_items.push(classifyArr);
                     }else{
                         a_items[classify_index]["a_key"].push(karr);
                     }
-                }else{
-                    a_items[classify_index]["a_key"][kws_index]["key"]= kws_name.split(' ')
-                    a_items[classify_index]["a_key"][kws_index]["appendkey"]= addition_kws
-                    a_items[classify_index]["a_key"][kws_index]["notkey"]= not_kws
                 }
+				kws_arr[kws_name] = index+"-"+classify_index
             }else{
-				delete kws_arr[kws_name];
+				var akws = a_items[classify_index]["a_key"];
+				for (var n in akws){
+					var ky = akws[n]["key"].join(" ");
+					var sy = index+"-"+classify_index
+					if(kws_arr[ky]==sy){
+						delete kws_arr[ky];
+						break;
+					}
+				}
                 if (a_items[classify_index]["a_key"].length==1){
                     a_items.splice(classify_index,1);
                 }else{
@@ -738,7 +779,7 @@
 		    $('input.classify-keyword').val(currentClassifyName).focus()
 		}
     </script>
-    <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/keyWord.js?v={{Msg "seo" "version"}}21"></script>
+    <script src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/js/keyWord.js?v={{Msg "seo" "version"}}23"></script>
     <script>
         // 设置一条空记录,用户第一次进入添加关键词点击确定时候调用
         function setEmptyHistory() {
@@ -778,7 +819,7 @@
                 $(".enter.addkeyWord").find(".btnChoose button").eq(1).html('添加 附加词');
                 $(".enter.addkeyWord").find("input").val("");
                 $(".enter.addkeyWord").show();
-                $(".add-keyword-container .addNewKeyword").hide();
+                $(".add-keyword-container .addNewKeyword i").hide();
                 setTimeout(function(){
                     modalOne();
                 },200)
@@ -794,15 +835,20 @@
                     // 还原有数据
                     $('.classify .classify-detail').text('未分类');
                     $('.add-keyword-container .showKeyWord ul').html('');
-                    
                 }
-                $(".add-keyword-container .addNewKeyword").hide();
+                $(".add-keyword-container .addNewKeyword i").hide();
                 $('.add-keyword-container').show();
                 $('.all-classify-column').hide();
-                
+                //
+				kws_index = 0;
+				modifyFlag = false;
+				addition_kws = [];
+				not_kws = [];
                 // 显示添加关键词的输入框
                 $(".enter.addkeyWord").find(".btnChoose button").eq(0).html('添加 附加词');
                 $(".enter.addkeyWord").find(".btnChoose button").eq(1).html('添加 排除词');
+            	$(".enter.addkeyWord").find(".btn button").eq(1).css({"opacity":".5"});
+            	$(".enter.addkeyWord").find(".btn button").eq(1).attr("disabled", true);
                 $(".enter.addkeyWord").find("input").val("");
                 $(".enter.addkeyWord").show();
                 $('.enterOne').focus();
@@ -812,9 +858,11 @@
             $('.classify-list').on('click', '.classify-item', function() {
                 // 添加一条空历史记录
                 history.pushState({id:1}, "","");
-                classify_name = $(this).find('.classify-item-l').text();
-                classify_index = $(this).index()
+                classify_name = $.trim($(this).find('.classify-item-l').text());
+                classify_index = $(this).index();
+				kws_index = 0;
                 //展示此关键词信息
+				$(".add-keyword-container .addNewKeyword i").show();
                 toSetKws();
             })
         })

+ 17 - 12
src/jfw/modules/app/src/web/templates/vipsubscribe/messageType.html

@@ -1,16 +1,14 @@
 <!DOCTYPE html>
 <html lang="en">
 <head>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
-    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+	{{include "/common/meta.html"}}
     <title>信息类型</title>
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}">
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}">
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/messageType.css?v={{Msg "seo" "version"}}">    
-	<link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/css/common.css?v={{Msg "seo" "version"}}">
-    <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
+	{{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/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">
         body .industry .resetOne{
             position: fixed;
@@ -26,6 +24,12 @@
     </style>
 </head>
 <body>
+	<div class="app-layout-header">
+		<span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
+		信息类型
+	</div>
+	
+	<div class="app-layout-content-b">
 	<div class="result">
         <p class="result_text line_two">
           已选择:<span class="result_name"></span>
@@ -94,9 +98,10 @@
         </div>
 
     </div>
-    <script src="{{Msg "seo" "cdn"}}/js/jquery-3.2.1.min.js?v=1412"></script>
-    <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
-    <script src="{{Msg "seo" "cdn"}}/js/common.js?v={{Msg "seo" "version"}}"></script>
+    </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>      
 		var hasZBGG = ""
 		var hasZBJG = ""

+ 166 - 157
src/jfw/modules/app/src/web/templates/vipsubscribe/vip_index.html

@@ -1,169 +1,170 @@
 <!DOCTYPE html>
 <html lang="en">
-
 <head>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover">
-    <meta name="apple-mobile-web-app-status-bar-style" content="#34355A" />
-    <meta name="theme-color" content="#34355A">
-    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+	{{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"}}/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
-    <link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}" />
-    <link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}" />
-    <link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}" />
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/public.css?v={{Msg "seo" "version"}}">
-    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/vip_index.css?v={{Msg "seo" "version"}}2">
+    <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"}}" />
+    <link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}" />
+    <link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}" />
+    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/css/public.css?v={{Msg "seo" "version"}}">
+    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/css/vip_index.css?v={{Msg "seo" "version"}}2">
 </head>
 
 <body style="visibility:hidden;">
-    <div class="vip_index">
-        <div class="header" style="display: none;">
-            <img class="header_left" src="/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='/front/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="/vipsubscribe/image/keyword.png?v={{Msg "seo" "version"}}" alt="">
-                            <span>关键词</span>
-                        </div>
-                        <a href="/front/vipsubscribe/toSetKeyWordPage" class="media_right" id="keywords">
-                            
-                        </a>
-                    </div>
-                    <div class="media_list">
-                        <div class="media_left">
-                            <img src="/vipsubscribe/image/type.png?v={{Msg "seo" "version"}}" alt="">
-                            <span>信息类型</span>
-                        </div>
-                        <a href="/front/vipsubscribe/toSetInfoTypePage" class="media_right" id="infoType"></a>
-                    </div>
-                    <div class="media_list">
-                        <div class="media_left">
-                            <img src="/vipsubscribe/image/set.png?v={{Msg "seo" "version"}}" alt="">
-                            <span>推送设置</span>
-                        </div>
-                        <a href="/front/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="/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="/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 class="app-layout-header">
+		<span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
+		VIP订阅
+	</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>
-    <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/jquery-2.1.4.js?v={{Msg "seo" "version"}}"></script>
-<!--    <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/fastclick.js?v={{Msg "seo" "version"}}"></script>-->
-    <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
-	{{include "/common/weixin.html"}}
-	<script src="{{Msg "seo" "cdn"}}/wxswordfish/share.js?v={{Msg "seo" "version"}}11"></script>
+	<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>
     <script>
-		initShare({{.T.signature}},{{.T.openid}},2,"jy_extend",{{.T.nickname}},{{.T.avatar}});
 		var checkedflag = true;
         $(function () {
 			var isinitpage = false;
@@ -288,8 +289,16 @@
 							}else{
 				                $('.switch').removeClass('checked')
 				            }
-	                        $("._area").text(_vipData["o_area"]);
-	                        $("._buyerClass").text(_vipData["a_buyerclass"]);
+							//地区
+							var area = _vipData["o_area"];
+	                        $("._area").text(area);
+							//行业
+							var buyerclass =  SortArr(_vipData["a_buyerclass"]);
+							if (buyerclass.length>0){
+	                        	$("._buyerClass").text(buyerclass.length+"个行业");
+							}else{
+	                        	$("._buyerClass").text("全部行业");
+							}
 	                        $("._cycleCount").text(_vipData["cycle"]);
 	                        $("._activeDate").text(_userData["l_vip_starttime"]+" - "+_userData["l_vip_endtime"]);
 	                        if(_vipData["a_infotype"]==""){

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

@@ -1,18 +1,15 @@
 <html>
 <head>
+	{{include "/common/meta.html"}}
 	<title>推送设置</title>
-	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
-	<link href="{{Msg "seo" "cdn"}}/mobiscroll/mobiscroll.min.css" rel="stylesheet">
-	<link href="{{Msg "seo" "cdn"}}/css/common.css?v={{Msg "seo" "version"}}" rel="stylesheet">
-	<link href="{{Msg "seo" "cdn"}}/css/wxkeyset.css?v={{Msg "seo" "version"}}" rel="stylesheet">
-	{{include "/common/weixin.html"}}
-	<script src="{{Msg "seo" "cdn"}}/js/jquery.js"></script>
-	<script src="{{Msg "seo" "cdn"}}/wxswordfish/share.js?v={{Msg "seo" "version"}}"></script>
-	<script src="{{Msg "seo" "cdn"}}/js/fastclick.js?v={{Msg "seo" "version"}}"></script>
-	<script src="{{Msg "seo" "cdn"}}/js/common.js?v={{Msg "seo" "version"}}"></script>
-	<script src="{{Msg "seo" "cdn"}}/mobiscroll/mobiscroll.min.js"></script>
-	<script src="{{Msg "seo" "cdn"}}/js/rem.js"></script>
-
+	<link href="{{Msg "seo" "cdn"}}/jyapp/mobiscroll/mobiscroll.min.css" rel="stylesheet">
+	<link href="{{Msg "seo" "cdn"}}/jyapp/css/common.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+	<link href="{{Msg "seo" "cdn"}}/jyapp/css/wxkeyset.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+	<script src="{{Msg "seo" "cdn"}}/jyapp/js/jquery.js"></script>
+	<script src="{{Msg "seo" "cdn"}}/jyapp/js/fastclick.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/mobiscroll/mobiscroll.min.js"></script>
+	<script src="{{Msg "seo" "cdn"}}/jyapp/js/rem.js"></script>
 	<style>
 		#pushway ul>li:nth-child(n+2) {
 			/*padding: 8px 0px;*/
@@ -33,9 +30,7 @@
 			color: #686868;
 		}
 	</style>
-	<script src="{{Msg "seo" "cdn"}}/wxswordfish/share.js?v={{Msg "seo" "version"}}1"></script>
     <script>
-		initShare({{.T.signature}},{{.T.openid}},2,"jy_extend",{{.T.nickname}},{{.T.avatar}});
 		var s_email = "";
 		var keepOneTipWayMsg = "请保留一种推送方式,<br>剑鱼标讯还要推送信息给您";
 		var emailSetModal = null;
@@ -103,7 +98,7 @@
 				if(!clickDelayed){
 					return;
 				}
-				window.location.href = "/front/vipsubscribe/toVIPViewPage";
+				window.location.href = "/jyapp/vipsubscribe/toVIPViewPage";
 			});
 			
 			//微信提醒
@@ -243,90 +238,97 @@
 	</script>
 </head>
 <body class="seniorsetpage">
-	<div class="header">
-		推送设置<span class="complate">完成</span>
+	<div class="app-layout-header">
+		<span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
+		VIP订阅
 	</div>
-
-	<div class="content">
-		<div id="pushfrequency">
-			<ul class="navchoose">
-				<li><img src="{{Msg "seo" "cdn"}}/images/wxkeyset/pushfrequency.png">推送时间</li>
-				<li onclick="docheck('1',this)" dataid="1">
-					实时推送
-					<img src="{{Msg "seo" "cdn"}}/images/wxkeyset/checked.png" class="checked-img">
-					<span>8点-20点实时推送</span>
-				</li>
-				<li onclick="docheck('2',this)" dataid="2">
-					每日推送
-					<img src="{{Msg "seo" "cdn"}}/images/wxkeyset/checked.png" class="checked-img">
-					<span>上午9点推送一次</span>
-				</li>
-				<li onclick="docheck('3',this)" dataid="3">
-					每周推送
-					<img src="{{Msg "seo" "cdn"}}/images/wxkeyset/checked.png" class="checked-img">
-					<span>每周五上午9点推送一次</span>
-				</li>
-				<li onclick="docheck('4',this)" dataid="4">
-					每月推送
-					<img src="{{Msg "seo" "cdn"}}/images/wxkeyset/checked.png" class="checked-img">
-					<span>每月28日上午9点推送一次</span>
-				</li>
-			</ul>
+	
+	<div class="app-layout-content-b">
+		<div class="header">
+			推送设置<span class="complate">完成</span>
 		</div>
-		<div id="pushway">
-			<ul class="navchoose">
-				<li><img src="{{Msg "seo" "cdn"}}/images/wxkeyset/pushway.png">推送方式</li>
-				<li id="wxtip">
-					微信提醒
-					<img src="{{Msg "seo" "cdn"}}/images/wxkeyset/turn-on.png" class="turn-on">
-					<img src="{{Msg "seo" "cdn"}}/images/wxkeyset/turn-off.png" class="turn-off">
-				</li>
-				<li id="emailtip">
-					邮件提醒
-					<img src="{{Msg "seo" "cdn"}}/images/wxkeyset/turn-on.png" class="turn-on">
-					<img src="{{Msg "seo" "cdn"}}/images/wxkeyset/turn-off.png" class="turn-off">
-					<div class="emailset">
-						<span></span>
-						<img src="{{Msg "seo" "cdn"}}/images/wx/editemail.png">
-					</div>
-				</li>
-			</ul>
-		</div>
-		<div id="matchType">
-			<ul class="navchoose">
-				<li><img src="{{Msg "seo" "cdn"}}/vipsubscribe/image/matchType.png">关键词匹配方式</li>
-				<li onclick="docheck('5',this)" dataid="5">
-					按标题匹配
-					<img src="{{Msg "seo" "cdn"}}/images/wxkeyset/checked.png" class="checked-img">
-				</li>
-				<li onclick="docheck('6',this)" dataid="6">
-					按全文匹配
-					<img src="{{Msg "seo" "cdn"}}/images/wxkeyset/checked.png" class="checked-img">
-					<span>会产生无效信息,请根据需要选择</span>
-				</li>
-			</ul>
-		</div>
-		<div class="onenavbar" id="resultpreview">
-			<img src="{{Msg "seo" "cdn"}}/images/wxkeyset/resultpreview.png" class="img-left">
-			推送结果预览
-			<img src="{{Msg "seo" "cdn"}}/wxswordfish/images/right.png" class="img-right">
-		</div>
-	</div>
-	<div class="easypopup" id="emailSetModal">
-		<div class="easypopup-edit">
-			<div class="easypopup-header">设置邮件地址</div>
-			<div class="easypopup-content">
-				<input type="text" id="email" placeholder="邮件地址" class="form-control"/>
-				<div class="error hide">您输入的邮箱不正确,请重新输入</div>
+	
+		<div class="content" style="margin-top:0px;">
+			<div id="pushfrequency">
+				<ul class="navchoose">
+					<li><img src="{{Msg "seo" "cdn"}}/jyapp/images/wxkeyset/pushfrequency.png">推送时间</li>
+					<li onclick="docheck('1',this)" dataid="1">
+						实时推送
+						<img src="{{Msg "seo" "cdn"}}/jyapp/images/wxkeyset/checked.png" class="checked-img">
+						<span>8点-20点实时推送</span>
+					</li>
+					<li onclick="docheck('2',this)" dataid="2">
+						每日推送
+						<img src="{{Msg "seo" "cdn"}}/jyapp/images/wxkeyset/checked.png" class="checked-img">
+						<span>上午9点推送一次</span>
+					</li>
+					<li onclick="docheck('3',this)" dataid="3">
+						每周推送
+						<img src="{{Msg "seo" "cdn"}}/jyapp/images/wxkeyset/checked.png" class="checked-img">
+						<span>每周五上午9点推送一次</span>
+					</li>
+					<li onclick="docheck('4',this)" dataid="4">
+						每月推送
+						<img src="{{Msg "seo" "cdn"}}/jyapp/images/wxkeyset/checked.png" class="checked-img">
+						<span>每月28日上午9点推送一次</span>
+					</li>
+				</ul>
+			</div>
+			<div id="pushway">
+				<ul class="navchoose">
+					<li><img src="{{Msg "seo" "cdn"}}/jyapp/images/wxkeyset/pushway.png">推送方式</li>
+					<li id="wxtip">
+						微信提醒
+						<img src="{{Msg "seo" "cdn"}}/jyapp/images/wxkeyset/turn-on.png" class="turn-on">
+						<img src="{{Msg "seo" "cdn"}}/jyapp/images/wxkeyset/turn-off.png" class="turn-off">
+					</li>
+					<li id="emailtip">
+						邮件提醒
+						<img src="{{Msg "seo" "cdn"}}/jyapp/images/wxkeyset/turn-on.png" class="turn-on">
+						<img src="{{Msg "seo" "cdn"}}/jyapp/images/wxkeyset/turn-off.png" class="turn-off">
+						<div class="emailset">
+							<span></span>
+							<img src="{{Msg "seo" "cdn"}}/jyapp/images/wx/editemail.png">
+						</div>
+					</li>
+				</ul>
 			</div>
-			<div class="easypopup-footer">
-				<span onclick="emailSetModal.hide();">取消</span>
-				<span id="sure">确定</span>
+			<div id="matchType">
+				<ul class="navchoose">
+					<li><img src="{{Msg "seo" "cdn"}}/jyapp/vipsubscribe/image/matchType.png">关键词匹配方式</li>
+					<li onclick="docheck('5',this)" dataid="5">
+						按标题匹配
+						<img src="{{Msg "seo" "cdn"}}/jyapp/images/wxkeyset/checked.png" class="checked-img">
+					</li>
+					<li onclick="docheck('6',this)" dataid="6">
+						按全文匹配
+						<img src="{{Msg "seo" "cdn"}}/jyapp/images/wxkeyset/checked.png" class="checked-img">
+						<span>会产生无效信息,请根据需要选择</span>
+					</li>
+				</ul>
+			</div>
+			<div class="onenavbar" id="resultpreview">
+				<img src="{{Msg "seo" "cdn"}}/jyapp/images/wxkeyset/resultpreview.png" class="img-left">
+				推送结果预览
+				<img src="{{Msg "seo" "cdn"}}/jyapp/wxswordfish/images/right.png" class="img-right">
 			</div>
 		</div>
-	</div>
-	<div class="easyalert easyalert-icon" id="setSuccess">
-		<img src='{{Msg "seo" "cdn"}}/images/set-right.png' style='width: 49px;margin-bottom: 15px;margin-top: 25px;'><br>设置成功
+		<div class="easypopup" id="emailSetModal">
+			<div class="easypopup-edit">
+				<div class="easypopup-header">设置邮件地址</div>
+				<div class="easypopup-content">
+					<input type="text" id="email" placeholder="邮件地址" class="form-control"/>
+					<div class="error hide">您输入的邮箱不正确,请重新输入</div>
+				</div>
+				<div class="easypopup-footer">
+					<span onclick="emailSetModal.hide();">取消</span>
+					<span id="sure">确定</span>
+				</div>
+			</div>
+		</div>
+		<div class="easyalert easyalert-icon" id="setSuccess">
+			<img src='{{Msg "seo" "cdn"}}/jyapp/images/set-right.png' style='width: 49px;margin-bottom: 15px;margin-top: 25px;'><br>设置成功
+		</div>
 	</div>
 	{{include "/common/baiducc.html"}}
 </body>

+ 28 - 25
src/jfw/modules/app/src/web/templates/vipsubscribe/vip_viewPage.html

@@ -1,19 +1,15 @@
 <html>
 <head>
-	<meta name="viewport" content="width=device-width,initial-scale=1.0">
+	{{include "/common/meta.html"}}
 	<title>VIP订阅结果预览</title>
-	{{include "/common/inc.html"}}
-	<link href="{{Msg "seo" "cdn"}}/css/dropload.css?v={{Msg "seo" "version"}}" rel="stylesheet">
-	<link href="{{Msg "seo" "cdn"}}/css/wxlist.css?v={{Msg "seo" "version"}}" rel="stylesheet">
-	{{include "/common/weixin.html"}}
-    <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
-	<script src="{{Msg "seo" "cdn"}}/js/jquery.js"></script>
-	<script src="{{Msg "seo" "cdn"}}/wxswordfish/share.js?v={{Msg "seo" "version"}}"></script>
-	<script src="{{Msg "seo" "cdn"}}/js/dropload.js?v={{Msg "seo" "version"}}"></script>
-	<script src="{{Msg "seo" "cdn"}}/js/fastclick.js?v={{Msg "seo" "version"}}"></script>
-	<script src="{{Msg "seo" "cdn"}}/wxswordfish/share.js?v={{Msg "seo" "version"}}1"></script>
+	{{include "/common/nnc.html"}}
+	<link href="{{Msg "seo" "cdn"}}/jyapp/css/dropload.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+	<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/fastclick.js?v={{Msg "seo" "version"}}"></script>
     <script>
-		initShare({{.T.signature}},{{.T.openid}},2,"jy_extend",{{.T.nickname}},{{.T.avatar}});
 		var zbadd = {{Msg "seo" "ZBADDRESS"}};
 		var keys = [];
 		var sds = "";
@@ -344,7 +340,7 @@
 	body{
 		color: #333;
 	}
-	body>div:first-child{
+	body div.tipHeader{
 		background-color: #F8F8F8;
 		padding: 10px 15px;
 		color: #a0a0a0;
@@ -378,20 +374,27 @@
 </style>
 </head>
 <body>
-	<div class="tipHeader">根据您的设置,为您推荐的预览信息,点击标题可查看详情。</div>
-	<div class="listcontent">
-		<div id="list"></div>
+	<div class="app-layout-header">
+		<span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
+		推送结果预览
 	</div>
-
-	<span class="text-center findnull" style="margin-top: 5rem;">
-		<div>
-			<img style="width:150px;margin:50px 0 50px 0;" src="{{Msg "seo" "cdn"}}/images/wx/jysorry_1.png">
+	
+	<div class="app-layout-content-b">
+		<div class="tipHeader">根据您的设置,为您推荐的预览信息,点击标题可查看详情。</div>
+		<div class="listcontent">
+			<div id="list"></div>
 		</div>
-		<span style="color:#1d1d1d;font-size:16px;">没有找到和你订阅设置内容有关的信息<br/></span>
-		<div onClick="window.history.go(-1)" style="width: 200px;position: relative;left: 50%;margin-left: -100px;" class="text-center">
-			<img style="width: 200px;margin-top: 25px;pointer-events: none;" src="{{Msg "seo" "cdn"}}/images/wx/jydyshz.png">
-		</div>
-	</span>
+	
+		<span class="text-center findnull" style="margin-top: 5rem;">
+			<div>
+				<img style="width:150px;margin:50px 0 50px 0;" src="{{Msg "seo" "cdn"}}/jyapp/images/wx/jysorry_1.png">
+			</div>
+			<span style="color:#1d1d1d;font-size:16px;">没有找到和你订阅设置内容有关的信息<br/></span>
+			<div onClick="window.history.go(-1)" style="width: 200px;position: relative;left: 50%;margin-left: -100px;" class="text-center">
+				<img style="width: 200px;margin-top: 25px;pointer-events: none;" src="{{Msg "seo" "cdn"}}/images/wx/jydyshz.png">
+			</div>
+		</span>
+	</div>
 	{{include "/common/baiducc.html"}}
 </body>
 </html>

+ 360 - 361
src/jfw/modules/app/src/web/templates/weixin/historypush.html

@@ -62,6 +62,19 @@ var isPassCount = false; //提示信息
 var haskey = false;//是否有关键词
 var isOnTail = false;//是否在试用
 var isExpire = 0;//到期天数3 2 1 
+var userId = "";
+var selectCity = "";
+
+//获取当前时间
+var date = (function(){
+	var date = new Date();
+	var year = date.getFullYear();
+	var month = date.getMonth() + 1;
+	var day = date.getDate();
+	month = month < 10 ? '0' + month : month;
+	day = day < 10 ? '0' + day : day;
+	return year + '-' + month + '-' + day;
+})();
 //JyObj初始化完成,回调
 function afterJyObjInit(){
 	redSpotOnMenu();
@@ -101,27 +114,32 @@ function initpage(){
 		haskey = sessionStorage.haskey=="true"?true:false;;
 		isOnTail = sessionStorage.isOnTail;
 		isExpire = sessionStorage.isExpire;
+		userId = sessionStorage.userId;
+		firstTime = sessionStorage.getItem(userId+"_searchTime");
+		selectCity = sessionStorage.getItem(userId+"_selectCity");
    		$("#list>*").remove();
-		$(".showType").css("display","flex");
-		structureHtml(dataCache,true);
+		firstPage = dataCache;
+		if(dataCache.length==0){
+			hasNoData();
+		}else{
+			structureHtml(dataCache,true);
+		}
 		//appendList($(listCache),$(tableCache));
 		$(".app-layout-content-b").scrollTop(scrollTop);
 		removeSessionStorage();
+		showPage();
 	}else{
-		if((sessionStorage.getItem(sessionStorage.userId+"_searchTime")!=null&&firstTime=="")||sessionStorage.selectCity){
-			firstTime = sessionStorage.getItem(sessionStorage.userId+"_searchTime")
-			isVipSub = sessionStorage.isVipSub=="true"?true:false;;
-			isPassCount = sessionStorage.isPassCount=="true"?true:false;;
-			haskey = sessionStorage.haskey=="true"?true:false;;
-			isOnTail = sessionStorage.isOnTail;
-			isExpire = sessionStorage.isExpire;
-			ajaxFun(sessionStorage.getItem(sessionStorage.userId+"_searchTime"),sessionStorage.selectCity);
-			return
+		userId = sessionStorage.userId;
+		if(sessionStorage.getItem(userId+"_searchTime")!=null&&sessionStorage.getItem(userId+"_searchTime")!=""){
+			firstTime = sessionStorage.getItem(userId+"_searchTime");
+		}
+		if(sessionStorage.getItem(userId+"_selectCity")!=null&&sessionStorage.getItem(userId+"_selectCity")!=""){
+			selectCity = sessionStorage.getItem(userId+"_selectCity");
 		}
 		$.ajax({
 			type: 'post',
 			url: '/jyapp/front/hasPushHistory?t='+new Date().getTime(),
-			data: {"selectTime":{{.T.selectTime}},"pageNum":pageIndex,"area":selectCity},
+			data: {"selectTime":firstTime,"pageNum":1,"area":selectCity},
 			async: false,
 			dataType: 'json',
 			success: function(data){
@@ -130,32 +148,19 @@ function initpage(){
 				firstPage = data.data;
 				hasNextPage=data.hasNextPage;
 				isVipSub = data.isVipSub;
+				sessionStorage.isVipSub = isVipSub;
+				userId = data.userId;
+				sessionStorage.userId = userId;
 				isPassCount = data.isPassCount;
-				userId=data.userId;
+				sessionStorage.isPassCount = isPassCount;
 				haskey = data.haskey;
+				sessionStorage.haskey = haskey;
 				isOnTail = data.isOnTail;
+				sessionStorage.isOnTail = isOnTail;
 				isExpire = data.isExpire;
-				sessionStorage.userId=userId;
-				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");
-		        }
+				sessionStorage.isExpire = isExpire;
+				sessionStorage.setItem(userId+"_searchTime",firstTime);
+				showPage();
 			},
 			error: function(xhr, type){
 				hasNoData();
@@ -167,6 +172,7 @@ function initpage(){
 			hasNoData();
 			return;
 		}
+		$(".findnull_").hide();
 		dataCache = dataCache.concat(firstPage);
 		structureHtml(firstPage,true);
 		setTimeout(function(){
@@ -174,15 +180,43 @@ function initpage(){
 			//$("#list").css("visibility","visible");
 		},300);
 	}
+	if(hasNextPage){
+		setTimeout(function(){
+			wxflag = $('.listcontent').dropload({
+		        scrollArea : $(".app-layout-content-b"),
+				loadUpFn : function(me){
+					//loadDatas(me,-1);
+          			reloadFirstPage(me);//下拉刷新更新订阅词
+				},
+		        loadDownFn : function(me){
+					loadDatas(me,lasttime);
+		        }
+		    });
+		},1000);
+	}else{
+		wxflag = $('.listcontent').dropload({
+	        scrollArea : $(".app-layout-content-b"),
+			loadUpFn : function(me){
+				loadDatas(me,-1);
+			},
+	        loadDownFn : function(me){
+				loadDatas(me,lasttime);
+	        }
+	    });
+		noMoreData(wxflag);
+	}
+
+}
+function showPage(){
 	//
-	setTimeout(function(){
-		if(firstTime!=""){
-			var _formatDate = formatDate(firstTime/1000,"2");
-			date = formatDate(firstTime/1000,"1");
-			$('#showDatePicker .time_result').html(_formatDate).addClass('current');
-		}
-		$(".tab_left .time").show();
-	},500)
+	if(firstTime!=""){
+		var _formatDate = formatDate(firstTime/1000,"2");
+		date = formatDate(firstTime/1000,"1");
+		$('#showDatePicker .time_result').html(_formatDate).addClass('current');
+	}
+	$(".tab_left .time").show();
+	//地区渲染
+	mapData();
 	if(isVipSub){
 		if(!haskey){
 			$(".set_keyword").show();
@@ -211,40 +245,34 @@ function initpage(){
 		}
 		$(".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");
+        }
 	}
-	if(hasNextPage){
-		setTimeout(function(){
-			wxflag = $('.listcontent').dropload({
-		        scrollArea : $(".app-layout-content-b"),
-				loadUpFn : function(me){
-					//loadDatas(me,-1);
-          			reloadFirstPage(me);//下拉刷新更新订阅词
-				},
-		        loadDownFn : function(me){
-					loadDatas(me,lasttime);
-		        }
-		    });
-		},1000);
-	}else{
-		wxflag = $('.listcontent').dropload({
-	        scrollArea : $(".app-layout-content-b"),
-			loadUpFn : function(me){
-				loadDatas(me,-1);
-			},
-	        loadDownFn : function(me){
-				loadDatas(me,lasttime);
-	        }
-	    });
-		noMoreData(wxflag);
-	}
-
 }
 //下拉刷新
 function reloadFirstPage(me){
   	$.ajax({
 		type: 'post',
 		url: '/jyapp/front/hasPushHistory?t='+new Date().getTime(),
-		data: {"selectTime":sessionStorage.getItem(sessionStorage.userId+"_searchTime"),"pageNum": 1,"area":selectCity},
+		data: {"selectTime":firstTime,"pageNum": 1,"area":selectCity},
 		async: false,
 		dataType: 'json',
 		success: function(data){
@@ -287,7 +315,7 @@ function loadDatas(me,le){
 	$.ajax({
 		type: 'post',
 		url: '/jyapp/swordfish/historypush/paging',
-		data: {"pageNum": pageIndex,"selectTime":sessionStorage.getItem(sessionStorage.userId+"_searchTime"),"area":selectCity},
+		data: {"pageNum": pageIndex,"selectTime":firstTime,"area":selectCity},
 		dataType: 'json',
 		success: function(data){
 			//没有数据
@@ -327,16 +355,12 @@ function noMoreData(me){
 function hasNoData(){
 	$(".listcontent").hide();
 	$(".findnull").css("display","block");
-	$(".showType").hide();
-	$(".showType").next().hide();
 	$("#loading").hide();
 }
 //具体日期没有数据
 function hasNoDataByTime(){
 	$(".listcontent").hide();
 	$(".findnull_").css("display","block");
-	$(".showType").hide();
-	$(".showType").next().hide();
 	$("#loading").hide();
 }
 function structureHtml(object,showAd){
@@ -519,7 +543,7 @@ function appendList(content){
 function beforeJump(eid,h,sds,index,pd,vis){
 	if(!vis){
 		for(var i=0;i<dataCache.length;i++){
-			if(dataCache[i].ca_openlist_index==index&&dataCache[i].ca_date==pd){
+			if(dataCache[i]._id==eid&&dataCache[i].ca_date==pd){
 				dataCache[i].ca_visit=1;
 				break
 			}
@@ -536,13 +560,6 @@ function setSessionStorage(){
 		sessionStorage.historypushPageIndexCache = pageIndex;
 		sessionStorage.historypushHasNextPage = hasNextPage;
 		sessionStorage.historypushCount = count;
-		sessionStorage.selectCity = selectCity;
-		sessionStorage.date = firstTime;
-		sessionStorage.isVipSub = isVipSub;
-		sessionStorage.isPassCount = isPassCount;
-		sessionStorage.haskey = haskey;
-		sessionStorage.isOnTail = isOnTail;
-		sessionStorage.isExpire  = isExpire;
 	}
 }
 
@@ -572,7 +589,12 @@ function setVisitedIndex(obj,eid){
 	}
 }
 //
+var ajaxFlag = true;
 function ajaxFun(time,area){
+	if (!ajaxFlag){
+		return
+	}
+	ajaxFlag = false;
 	$("#loading").show();
 	$.ajax({
 		type: 'post',
@@ -587,6 +609,18 @@ function ajaxFun(time,area){
 			hasNextPage=data.hasNextPage;
 			words=data.keys;
 			userId=data.userId;
+			ajaxFlag = true;
+			if(time==undefined||time==""){
+				sessionStorage.removeItem(userId+"_searchTime");
+			}else{
+				sessionStorage.setItem(userId+"_searchTime",time);
+			}
+			if(area==undefined||area==""){
+				sessionStorage.removeItem(userId+"_selectCity");
+				sessionStorage.removeItem(userId+"_selectCityName");
+			}else{
+				sessionStorage.setItem(userId+"_selectCity",area);
+			}
 		},
 		error: function(xhr, type){
 			hasNoDataByTime();
@@ -600,24 +634,12 @@ function ajaxFun(time,area){
 		hasNoDataByTime();
 		return;
 	}else{
-		$(".showType").css("display","flex");
 		$(".findnull_").css("display","none");
 	}
 	//$("#list").css("visibility","hidden");
 	dataCache = firstPage;
 	$("#list").html("");
 	count=0;
-	if(time!=undefined&&time!=""){
-		firstTime = time;
-	}else{
-		firstTime = ""
-	}
-	if(area!=undefined&&area!=""){
-		sessionStorage.selectCity = area;
-	}else{
-		sessionStorage.removeItem("selectCity");
-		sessionStorage.removeItem("selectedCityName");
-	}
 	structureHtml(firstPage,true);
 	setTimeout(function(){
 		$(".app-layout-content-b").scrollTop(0);
@@ -919,288 +941,265 @@ function AdClick(e,isExternal,link,title){
 <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 type="text/javascript" charset="UTF-8">
-	mapData();
-	function mapData(){
-		var _citySessionData = null
-		var _provinceArr = {}
-		var _cityMap = []
-		if (sessionStorage&&sessionStorage.selectedCityName!=null){
-			_citySessionData  = JSON.parse(sessionStorage.selectedCityName);
-			for(var k=0;k<_citySessionData.length;k++){
-				_provinceArr[_citySessionData[k]["province"]] = _citySessionData[k]["selectCity"].length
-				_cityMap = _cityMap.concat(_citySessionData[k]["selectCity"])
-			}
-			if(_cityMap.length>0){
-				 $('#showArea .jymobile-tab-triangle').addClass('current').text(`地区 ${_cityMap.length}`);
-			}
-	//
-	sessionStorage.removeItem("selectedCityName");
+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"])
 		}
-		// console.log(_provinceArr)
-		// console.log(_cityMap)
-		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;
-					}
-					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 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;
-  						}
-  					}
-  				}
-  				if(cityFlag){
-							cityHtml +='<p class="c_item"><input type="checkbox" class="checkbox"><span class="city-name">'+cityArr[m]["name"]+'</span></p>'
-						}
+		if(_cityMap.length>0){
+			 $('#showArea .jymobile-tab-triangle').addClass('current').text(`地区 ${_cityMap.length}`);
+		}
+//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;
+				}
+				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 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;
+ 						}
+ 					}
+ 				}
+ 				if(cityFlag){
+						cityHtml +='<p class="c_item"><input type="checkbox" class="checkbox"><span class="city-name">'+cityArr[m]["name"]+'</span></p>'
 					}
-					cityHtml +='</div>'
 				}
+				cityHtml +='</div>'
 			}
 		}
-		provinceHtml += '</div>'
-		cityHtml += '</div>'
-		$(".area_data").html(provinceHtml+cityHtml)
 	}
-	function weuiDialog(){
-weui.dialog({
+	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('确定')
+	      className: 'jymobile-setting-dialog',// 设置弹框的类名
+	      buttons: [
+	      {
+	      	label: '去设置',
+	      	type: 'primary',
+	      	onClick: function () {
+	      		console.log('确定')
 			tosetkeyspage();
-       	}
-       },
-       {
-       	label: '取消',
-       	type: 'default',
-       	onClick: function () {
-       		console.log('取消')
-       	}
-       }
-       ]
-   });
+	      	}
+	      },
+	      {
+	      	label: '取消',
+	      	type: 'default',
+	      	onClick: function () {
+	      		console.log('取消')
+	      	}
+	      }
+	    ]
+	});
 }
-    //获取当前时间
-    var date = (function(){
-     	var date = new Date();
-     	var year = date.getFullYear();
-     	var month = date.getMonth() + 1;
-     	var day = date.getDate();
-     	month = month < 10 ? '0' + month : month;
-     	day = day < 10 ? '0' + day : day;
-     	return year + '-' + month + '-' + day;
-     })();
-    //
-    function FTAGData(time){
-     	if(time!=undefined&&time.toString()!=""){
-	var Time = new Date(time);
-	var timestemp = Time.getTime();
-	ajaxFun(timestemp.toString(),selectCity);
-     	}else{
-     		ajaxFun("",selectCity);
-     	}
-     }
-	//禁止默认行为方法
-	function stopScroll(e) {
-	   e.preventDefault()
-	}
-	//
-	$(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!=""){
-			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)
-         		}
-         	});
+//
+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('选择时间')
+    // 日期选择器样式修改--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 (){
+    // 如果没有选择,不会出现 '查看全部时间'
+    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");
-         	$('.area_container').slideToggle();
-         	$('.screen').toggle();
-         	$(".app-layout-content-b").toggleClass('overClass');
-        })
-        // 地区省份选择的操作
-        $('.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()
-            }
-        })
-        //
-        $('.screen').click(function(){
-	 	$('#showArea').find("span").toggleClass("current");
-         	$('.area_container').slideUp();
-         	$(".app-layout-content-b").toggleClass('overClass');
-         	$('.screen').hide();
-        })
-        // 地区选择确认按钮
-        $('.enter_btn').click(function (){
-         	$(".app-layout-content-b").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(`地区`);
-                 sessionStorage.selectedCityName  = JSON.stringify([]);
-         		 ajaxFun(firstTime,selectCity);
-         		return
-         	}
-
-             // cityName对象
-             let selectedCityName = []
-             // 判断省份后面的数字是否隐藏来确定该省份下的城市有没有被选择
-             $('.area_wrap .province .p_item').each(function(i, dom){
-             	var f = $(dom).find('.city-count').is(':hidden')
+		}
+       	$('.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();
+       })
 
-                 // 如果隐藏说明该省份下没有被选中的城市
-                 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];
-                 }
-                 selectedCityName.push({
-                 	province: provinceName,
-                 	selectCity: cityArr
-                 });
-                 sessionStorage.selectedCityName  = JSON.stringify(selectedCityName);
-                 ajaxFun(firstTime,selectCity);
-             })
-             // 重写地区text
-             $('#showArea .jymobile-tab-triangle').addClass('current').text(`地区 ${cityCount}`);
-        })
-        $('.reset_btn').click(function (){
-         	$('#showArea .jymobile-tab-triangle').removeClass('current').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()
+       // 扩大点击区域(点击城市名字也能选中)
+       $('.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()
+           }
+       })
+    //
+    $('.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
+       	}
+        // 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}`); 
+    })
+    $('.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()
     })
+})
  </script>
 </html>

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

@@ -249,10 +249,10 @@
 						<ul class="history"></ul>
 					</div>
 					<div style="clear: both"></div>
-					<div class="inpTitle_msgset"><img src="/jyapp/images/search/msgset.png"><span>我订阅的关键词</span></div>
+<!--					<div class="inpTitle_msgset"><img src="/jyapp/images/search/msgset.png"><span>我订阅的关键词</span></div>
 					<div>
 						<ul class="myMsgset"></ul>
-					</div>
+					</div>-->
 				</div>
 				<span class="screen text-center">筛选</span>
 				<span class="query hidden"><img src="/jyapp/images/wx/jywxjs.png"></span>

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
src/jfw/modules/subscribepay/src/dataexport.json


+ 34 - 7
src/jfw/modules/subscribepay/src/entity/dataexport.go

@@ -340,15 +340,16 @@ func SendMailToBJFinance(order *map[string]interface{}, pay_time, transaction_id
 				}
 			}
 			//vip开发票内容
-			subscription_area, industry, subscription_cycle, effective_date := "", "", "", ""
+			subscription_area, industry, subscription_cycle, effective_date, payment_number := "", "", "", "", ""
 			city_count := 0
 			filter := qutil.ObjToString((*order)["filter"])
 			vip_starttime := qutil.ObjToString((*order)["vip_starttime"])
 			vip_endtime := qutil.ObjToString((*order)["vip_endtime"])
+			payment_number = getPayTransactionId(qutil.ObjToString((*order)["pay_way"]), qutil.ObjToString((*order)["out_trade_no"]))
+			vip_type := qutil.Int64All((*order)["vip_type"]) //判断 续费 升级订单
 			vf := new(VipFilter)
 			err := json.Unmarshal([]byte(filter), &vf)
 			if err == nil && vf != nil {
-				log.Println(vf.Area)
 				vip_area := vf.Area    //区域
 				vip_ind := vf.Industry //行业
 				nbs := JyVipSubStruct.NewBuySet(&vip_area, vip_ind)
@@ -409,19 +410,22 @@ func SendMailToBJFinance(order *map[string]interface{}, pay_time, transaction_id
 						} else if year > 0 && month == 0 {
 							subscription_cycle = fmt.Sprintf("%d年", year)
 						}
-						log.Println(subscription_cycle)
 						//有效日期
 						vip_starttime = strings.Replace(vip_starttime[0:10], "-", ".", -1)
 						vip_endtime = strings.Replace(vip_endtime[0:10], "-", ".", -1)
 						effective_date = fmt.Sprintf("%v-%v", vip_starttime, vip_endtime)
-						log.Println(effective_date)
 					}
 				}
 			}
-			//vip
-			product_type = "VIP订阅"
+			if vip_type == 1 {
+				product_type = "VIP订阅(续费)"
+			} else if vip_type == 2 {
+				product_type = "VIP订阅(升级)"
+			} else {
+				product_type = "VIP订阅"
+			}
 			mail_title = "电子发票申请-[剑鱼标讯]VIP订阅(" + order_code + ")"
-			mailcontent = fmt.Sprintf(ExConf.Mail_vip_invoice_finance_content, bill_title, company_flag, bill_company, taxnum_flag, bill_taxnum, user_email, order_code, create_time, pay_time, pay_way, product_type, pay_money, subscription_area, industry, subscription_cycle, effective_date)
+			mailcontent = fmt.Sprintf(ExConf.Mail_vip_invoice_finance_content, bill_title, company_flag, bill_company, taxnum_flag, bill_taxnum, user_email, order_code, create_time, payment_number, pay_time, pay_way, product_type, pay_money, subscription_area, industry, subscription_cycle, effective_date)
 		}
 	}
 	//发送邮件
@@ -762,3 +766,26 @@ func GetBrforeMsg(userId, openId string) (name, phone, company, email string) {
 	}
 	return
 }
+
+//获取支付单号
+func getPayTransactionId(payWay, tradeNo string) (transaction_id string) {
+	if payWay == "" || tradeNo == "" {
+		return
+	}
+	table := ""
+	if strings.HasPrefix(payWay, "wx") {
+		table = "weixin_pay"
+	} else if strings.HasPrefix(payWay, "ali") {
+		table = "ali_pay"
+	} else {
+		return
+	}
+	query := map[string]interface{}{
+		"out_trade_no": tradeNo,
+	}
+	r := util.Mysql.FindOne(table, query, "transaction_id", "")
+	if r != nil {
+		transaction_id = qutil.ObjToString((*r)["transaction_id"])
+	}
+	return
+}

+ 6 - 7
src/jfw/modules/subscribepay/src/entity/subscribeVip.go

@@ -339,17 +339,19 @@ func (this *vipSubscribeStruct) OrderCheck(userId string, orderType int) (bool,
 
 //获取省份,城市,行业购买内容
 //[省份,城市,行业]
-func (this *vipSubscribeStruct) GetBuySet(userId string) (*SubvipBuySet, error) {
-	mData, ok := util.MQFW.FindById("user", userId, `{"o_vipjy":1}`)
+func (this *vipSubscribeStruct) GetBuySet(userId string) (*SubvipBuySet, bool, error) {
+	mData, ok := util.MQFW.FindById("user", userId, `{"o_vipjy":1,"i_vip_status":1}`)
 	if !ok || len(*mData) == 0 || mData == nil {
-		return nil, errors.New("查询出错")
+		return nil, false, errors.New("查询出错")
 	}
+	//是否处于vip状态
+	vipStatus := qutil.IntAll((*mData)["i_vip_status"])
 	tmp := qutil.ObjToMap((*qutil.ObjToMap((*mData)["o_vipjy"]))["o_buyset"])
 	return &SubvipBuySet{
 		qutil.IntAll((*tmp)["areacount"]),
 		(*qutil.ObjToMap((*tmp)["citys"])),
 		qutil.IntAll((*tmp)["buyerclasscount"]),
-	}, nil
+	}, vipStatus == 1 || vipStatus == 2, nil
 }
 
 //订阅修改校验
@@ -368,9 +370,6 @@ func (this *vipSubscribeStruct) SubEditCheckArea(area *map[string]interface{}, b
 				return false
 			}
 		} else {
-			if _, ok := buySet.Citys[k]; ok { //不能选中购买单个城市的省份
-				return false
-			}
 			pCount++
 		}
 	}

+ 21 - 17
src/jfw/modules/subscribepay/src/service/afterPay.go

@@ -288,24 +288,28 @@ func (a *AfterPay) GetUserInfo() error {
 			data := qutil.ObjToMap((*userData)["o_vipjy"])
 			i_vip_status := qutil.IntAll((*userData)["i_vip_status"])
 			//区域
-			//			_area := qutil.ObjToMap((*data)["o_area"].(interface{}))
-			//			var area = ""
-			//			for k, v := range *_area {
-			//				if len(v.([]interface{})) == 0 {
-			//					area += k + "、"
-			//				} else {
-			//					for _, _v := range v.([]interface{}) {
-			//						area += _v.(string) + "、"
-			//					}
-			//				}
-			//			}
-			//			if area == "" {
-			//				(*data)["o_area"] = "全国"
-			//			} else {
-			//				(*data)["o_area"] = strings.TrimRight(area, "、")
-			//			}
+			_area := qutil.ObjToMap((*data)["o_area"].(interface{}))
+			var area_i = 0
+			var area_j = 0
+			for _, v := range *_area {
+				if len(v.([]interface{})) == 0 {
+					area_i += 1
+				} else {
+
+					area_j += len(v.([]interface{}))
+				}
+			}
+			if area_i != 0 && area_j != 0 {
+				(*data)["o_area"] = strconv.Itoa(area_i) + "个省级区域、" + strconv.Itoa(area_j) + "个地市"
+			} else if area_i == 0 && area_j != 0 {
+				(*data)["o_area"] = strconv.Itoa(area_j) + "个地市"
+			} else if area_i != 0 && area_j == 0 {
+				(*data)["o_area"] = strconv.Itoa(area_i) + "个省级区域"
+			} else {
+				(*data)["o_area"] = "全国"
+			}
 			//采购行业
-			//			_buyClass := (*data)["a_buyerclass"].([]interface{})
+			//_buyClass := (*data)["a_buyerclass"].([]interface{})
 			//			var buyClass = ""
 			//			for _, v := range _buyClass {
 			//				buyClass += v.(string) + "、"

+ 1 - 1
src/jfw/modules/subscribepay/src/service/commonAction.go

@@ -52,7 +52,7 @@ func (d *CommonAction) ApplyInvoice() error {
 		go func() {
 			orderdata := util.Mysql.FindOne("dataexport_order", map[string]interface{}{
 				"order_code": order_code,
-			}, "id,filter,user_mail,user_phone,product_type,data_spec,filter_id,order_code,data_count,order_status,order_money,out_trade_no,applybill_type,applybill_company,applybill_taxnum,user_openid,create_time,pay_time,pay_way,pay_money,vip_starttime,vip_endtime,user_id", "")
+			}, "id,filter,user_mail,user_phone,product_type,data_spec,filter_id,order_code,data_count,order_status,order_money,out_trade_no,applybill_type,applybill_company,applybill_taxnum,user_openid,create_time,pay_time,pay_way,pay_money,vip_starttime,vip_endtime,user_id,vip_type", "")
 			tt := time.Now()
 			pay_time := qutil.FormatDate(&tt, qutil.Date_Full_Layout)
 			entity.SendMailToBJFinance(orderdata, pay_time, "", 2, config.GmailAuth)

+ 4 - 8
src/jfw/modules/subscribepay/src/service/orderListDetails.go

@@ -58,7 +58,6 @@ func (this *OrderListDetails) GetOrderPayAllMsg() {
 			//"order_status": 1,
 		}
 		oData := util.Mysql.FindOne(tableName_order, query, "prepay_time,create_time,pay_time,pay_way,original_price,applybill_status,out_trade_no,filter,product_type,order_status,applybill_type,applybill_taxnum,applybill_company,vip_starttime,vip_endtime,vip_type", "")
-		log.Println("odata:", oData)
 		//查询订单信息
 		if oData == nil || len(*oData) == 0 {
 			return &entity.FuncResult{false, errors.New("未找到此订单"), nil}
@@ -68,12 +67,6 @@ func (this *OrderListDetails) GetOrderPayAllMsg() {
 		if uData == nil || len(*uData) == 0 {
 			return &entity.FuncResult{false, errors.New("数据库查询异常"), nil}
 		}
-		//		//判断用户状态
-		//		uStatus, ok := util.MQFW.FindById("user", userId, `{"i_vip_status":1}`)
-		//		if uStatus == nil || len(*uStatus) == 0 || !ok {
-		//			return &entity.FuncResult{false, errors.New("数据库查询异常"), nil}
-		//		}
-		//		log.Println("udata:", uData)
 		if qutil.IntAll((*oData)["order_status"]) != 1 {
 			return &entity.FuncResult{true, nil, map[string]interface{}{
 				"order": oData,
@@ -433,7 +426,10 @@ func (o *OrderListDetails) SetRes(res []map[string]interface{}, queryM map[strin
 		//创建时间戳
 		create_time, _ := time.ParseInLocation(qutil.Date_Full_Layout, create_time_str, time.Local)
 		//48小时后的时间戳
-		create_time_stamp := create_time.AddDate(0, 0, 2).Unix()
+		//create_time_stamp_48 := create_time.AddDate(0, 0, 2).Unix()
+		//测试暂时改成1h
+		onehour, _ := time.ParseDuration("1h")
+		create_time_stamp := create_time.Add(onehour).Unix()
 		//当前时间时间戳
 		now_time_stamp := time.Now().Unix()
 		if create_time_stamp < now_time_stamp && qutil.ObjToString(v["product_type"]) == "VIP订阅" {

+ 5 - 4
src/jfw/modules/subscribepay/src/service/payCallback.go

@@ -4,13 +4,14 @@ import (
 	"config"
 	"entity"
 	"fmt"
-	"github.com/go-xweb/xweb"
 	"log"
 	"net/url"
 	"pay"
 	qutil "qfw/util"
 	"qfw/util/redis"
 	"strings"
+
+	"github.com/go-xweb/xweb"
 )
 
 type PayCallBackAction struct {
@@ -79,7 +80,7 @@ func (p *PayCallBackAction) WxPayCallback() {
 	}
 
 	ok := func() bool {
-		if ret["return_code"] != "SUCCESS" || !(ret["appid"] == pay.WxStruct.Appid ||ret["appid"] == pay.WxStruct.Appid_app)|| ret["mch_id"] != pay.WxStruct.Mchid {
+		if ret["return_code"] != "SUCCESS" || !(ret["appid"] == pay.WxStruct.Appid || ret["appid"] == pay.WxStruct.Appid_app) || ret["mch_id"] != pay.WxStruct.Mchid {
 			return false
 		}
 		if thisParam.Openid != "" {
@@ -88,7 +89,7 @@ func (p *PayCallBackAction) WxPayCallback() {
 		if ret["sign"] != qutil.CreateWxSign(fmt.Sprintf("&key=%s", pay.WxStruct.Key), ret) {
 			return false
 		}
-		update, insert := false, false;
+		update, insert := false, false
 		if strings.HasPrefix(thisParam.OutTradeno, pay.WX_REWARD_JSAPI) { //打赏
 			if update = entity.JyReWardStruct.PayCallBack(thisParam); !update {
 				log.Printf("微信打赏更新执行出错 %+v\n", thisParam)
@@ -102,7 +103,7 @@ func (p *PayCallBackAction) WxPayCallback() {
 				log.Printf("微信数据报告更新执行出错 %+v\n", thisParam)
 			}
 		} else if strings.HasPrefix(thisParam.OutTradeno, pay.WX_SUBVIP_APP) || strings.HasPrefix(thisParam.OutTradeno, pay.WX_SUBVIP_JSAPI) { //vip订阅
-			if update=entity.JyVipSubStruct.PayCallBack(thisParam);!update{
+			if update = entity.JyVipSubStruct.PayCallBack(thisParam); !update {
 				log.Printf("微信vip订阅更新执行出错 %+v\n", thisParam)
 			}
 		}

+ 107 - 61
src/jfw/modules/subscribepay/src/service/vipRenewUpgrade.go

@@ -16,7 +16,7 @@ import (
 	"util"
 
 	"github.com/go-xweb/xweb"
-	"gopkg.in/mgo.v2/bson"
+	//	"gopkg.in/mgo.v2/bson"
 )
 
 //订阅升级修改相关接口
@@ -43,14 +43,14 @@ func (this *RenewUpgrade) GetBuyMsg() {
 		end := time.Unix(endtime, 0).Format("2006-01-02")
 		now := time.Unix(time.Now().Unix(), 0).Format("2006-01-02")
 		vipStatus := (*data)["i_vip_status"]
-		isvalidOk := true
+		//		isvalidOk := true
 
-		str, oks := util.MQFW.FindOne("vip_upgrade", bson.M{"s_userid": userId, "i_isvalid": 0})
-		if oks && len(*str) > 0 && *str != nil {
-			area = (*str)["o_area"]
-			buyerclass = (*str)["a_buyerclass"]
-			isvalidOk = false
-		}
+		//		str, oks := util.MQFW.FindOne("vip_upgrade", bson.M{"s_userid": userId, "i_isvalid": 0})
+		//		if oks && len(*str) > 0 && *str != nil {
+		//			area = (*str)["o_area"]
+		//			buyerclass = (*str)["a_buyerclass"]
+		//			isvalidOk = false
+		//		}
 
 		dataArr := map[string]interface{}{
 			"area":       area,
@@ -63,7 +63,7 @@ func (this *RenewUpgrade) GetBuyMsg() {
 			"end":        end,
 			"now":        now,
 			"vipStatus":  vipStatus,
-			"isvalidOk":  isvalidOk,
+			//			"isvalidOk":  isvalidOk,
 		}
 		this.ServeJson(dataArr)
 	}
@@ -72,26 +72,50 @@ func (this *RenewUpgrade) GetBuyMsg() {
 //升级续费
 //创建订单返回支付串
 func (this *RenewUpgrade) RenewUpgradeCreateOrder() {
-	area := qutil.ObjToMap(this.GetString("area"))                 //已购买区域+新增区域
-	industry := strings.Split(this.GetString("industry"), ",")     //已购买行业+新增行业
-	areas := qutil.ObjToMap(this.GetString("areas"))               //已购买区域
-	industrys := strings.Split(this.GetString("industryarr"), ",") //已购买行业
-	date := this.GetString("time")                                 //不延长时为空,正常为 年或月
-	payWay := this.GetString("payWay")                             //支付方式
-	effect := this.GetString("effect")                             //升级 生效日期 立即生效-now  下月一号生效-下月一号的时间戳
-	pay_source := this.GetString("pay_source")                     //类型  续费-Renew or 升级-Upgrade
+	areaArr := this.GetString("area")
+	var area *map[string]interface{}
+	if areaArr != "no" {
+		area = qutil.ObjToMap(this.GetString("area")) //新增区域
+	} else {
+		area = &map[string]interface{}{
+			"no": "no",
+		}
+	}
+	industryArr := this.GetString("industry")
+	var industry []string
+	if industryArr != "no" {
+		industry = strings.Split(this.GetString("industry"), ",") //新增行业
+	} else {
+		industry = append(industry, "no")
+	}
+	areas := qutil.ObjToMap(this.GetString("areas"))                 //已购买区域
+	industrys := strings.Split(this.GetString("industryarr"), ",")   //已购买行业
+	allArea := qutil.ObjToMap(this.GetString("allArea"))             //已购+新增区域
+	allIndustry := strings.Split(this.GetString("allIndustry"), ",") //已购+新增行业
+	date := this.GetString("time")                                   //不延长时为空,正常为 年或月
+	payWay := this.GetString("payWay")                               //支付方式
+	log.Println("payWay", payWay)
+	//	effect := this.GetString("effect")         //升级 生效日期 立即生效-now  下月一号生效-下月一号的时间戳
+	pay_source := this.GetString("pay_source") //类型  续费-Renew or 升级-Upgrade
 	userId := qutil.ObjToString(this.GetSession("userId"))
 	openId := qutil.ObjToString(this.GetSession("s_m_openid"))
-	isvalidOk, _ := this.GetBool("isvalidOk")
+	log.Println("area", area)
+	log.Println("industry", industry)
+	//	isvalidOk, _ := this.GetBool("isvalidOk")
 	r := func() *entity.FuncResult {
 		now := time.Now()
 		//数据校验
-		if len(industry) == 1 && industry[0] == "" { //去掉[""]
-			industry = []string{}
+		if (industry[0]) != "no" {
+			if len(industry) == 1 && industry[0] == "" { //去掉[""]
+				industry = []string{}
+			}
 		}
 		if len(industrys) == 1 && industrys[0] == "" { //去掉[""]
 			industrys = []string{}
 		}
+		if len(allIndustry) == 1 && allIndustry[0] == "" { //去掉[""]
+			allIndustry = []string{}
+		}
 		if !(pay_source == "Renew" || pay_source == "Upgrade") {
 			return &entity.FuncResult{false, errors.New("未知操作"), nil}
 		}
@@ -122,19 +146,20 @@ func (this *RenewUpgrade) RenewUpgradeCreateOrder() {
 		isRenew := true
 		if pay_source == "Upgrade" { //计算升级时间
 			isRenew = false
-			if effect == "now" { //立即生效
-				orderType = 3
-				//				startTime = time.Now()
-			} else { //下月生效
-				orderType = 4
-				//				startTime = time.Date(time.Now().Year(), time.Now().Month()+1, 1, 0, 0, 0, 0, time.Local)
-			}
-			if !isvalidOk {
-				orderType = 6
-			}
+			//			if effect == "now" { //立即生效
+			orderType = 3
+			startTime = time.Now()
+			//			} else { //下月生效
+			//				orderType = 4
+			//				startTime = time.Date(time.Now().Year(), time.Now().Month()+1, 1, 0, 0, 0, 0, time.Local)
+			//			}
+			//			if !isvalidOk {
+			//				orderType = 6
+			//			}
 		} else { //续费时间
 			orderType = 2 //续费操作
 			startTime = endTime
+			log.Println("startTime", startTime)
 		}
 		//		if date_unit == 1 { ///延长时间
 		//			endTime = endTime.AddDate(date_count, 0, 0)
@@ -145,15 +170,15 @@ func (this *RenewUpgrade) RenewUpgradeCreateOrder() {
 			endTime = util.GetDATE(date_unit, date_count, end)
 		}
 		log.Println("endend", endTime)
-		if pay_source == "Renew" && now.Unix() > end { //到期后的续费从当前时间往后延长
-			startTime = now
-			//			if date_unit == 1 { ///延长时间
-			//				endTime = startTime.AddDate(date_count, 0, 0)
-			//			} else if date_unit == 2 { //月
-			//				endTime = startTime.AddDate(0, date_count, 0)
-			//			}
-			endTime = util.GetDATE(date_unit, date_count, startTime.Unix())
-		}
+		//		if pay_source == "Renew" && now.Unix() > end { //到期后的续费从当前时间往后延长
+		//			startTime = now
+		//			//			if date_unit == 1 { ///延长时间
+		//			//				endTime = startTime.AddDate(date_count, 0, 0)
+		//			//			} else if date_unit == 2 { //月
+		//			//				endTime = startTime.AddDate(0, date_count, 0)
+		//			//			}
+		//			endTime = util.GetDATE(date_unit, date_count, startTime.Unix())
+		//		}
 		filter := entity.VipSimpleMsg{
 			area,
 			industry,
@@ -170,22 +195,48 @@ func (this *RenewUpgrade) RenewUpgradeCreateOrder() {
 		if pay_source == "Renew" {
 			totalfee = entity.JyVipSubStruct.GetSubVipPrice(area, industry, date_count, date_unit)
 		} else if pay_source == "Upgrade" {
-			upgradeYear, upgradeMonth := MaxUpgradeMonth(end, effect)                     //获取最大升级月数
-			addY := entity.JyVipSubStruct.GetSubVipPrice(area, industry, upgradeYear, 1)  //已购+新增,以年为单位的价格
-			addM := entity.JyVipSubStruct.GetSubVipPrice(area, industry, upgradeMonth, 2) //已购+新增,以月为单位的价格
-			addPrice := addM + addY                                                       //已购+新增总价格
-			log.Println("1", addPrice)
-			nowY := entity.JyVipSubStruct.GetSubVipPrice(areas, industrys, upgradeYear, 1)  //已购,以年为单位的价格
-			nowM := entity.JyVipSubStruct.GetSubVipPrice(areas, industrys, upgradeMonth, 2) //已购,以月为单位的价格
-			nowPrice := nowM + nowY                                                         //已购总价格
-			log.Println("2", nowPrice)
-			totalfee = addPrice - nowPrice //已购+新增的总价格 - 已购总价格 = 升级差价
-			if date_unit == 1 {            //升级中的延长时间
-				lengPrice := entity.JyVipSubStruct.GetSubVipPrice(area, industry, date_count, 1) //单位为年的已购+新增延长时间价格
-				totalfee = totalfee + lengPrice                                                  //已购+新增延长时间价格 + 升级差价 = 最终价格
+			upgradeYear, upgradeMonth := MaxUpgradeMonth(end) //获取最大升级月数
+			log.Println(upgradeYear)
+			log.Println(upgradeMonth)
+			addAreaY := 0
+			addAreaM := 0
+			oldAreaY := 0
+			oldAreaM := 0
+			addIndustryY := 0
+			addIndustryM := 0
+			if (*area)["no"] != "no" && industry[0] != "no" {
+				log.Println("1")
+				addAreaY = entity.JyVipSubStruct.GetSubVipPrice(area, industry, upgradeYear, 1)
+				addAreaM = entity.JyVipSubStruct.GetSubVipPrice(area, industry, upgradeMonth, 2)
+			}
+			if (*area)["no"] != "no" {
+				log.Println("2")
+				oldAreaY = entity.JyVipSubStruct.GetSubVipPrice(area, industrys, upgradeYear, 1)
+				oldAreaM = entity.JyVipSubStruct.GetSubVipPrice(area, industrys, upgradeMonth, 2)
+			}
+			if industry[0] != "no" {
+				log.Println("3")
+				addIndustryY = entity.JyVipSubStruct.GetSubVipPrice(areas, industry, upgradeYear, 1)
+				addIndustryM = entity.JyVipSubStruct.GetSubVipPrice(areas, industry, upgradeMonth, 2)
+			}
+			log.Println("addIndustryY", addIndustryY)
+			log.Println("addIndustryM", addIndustryM)
+			//			addY := entity.JyVipSubStruct.GetSubVipPrice(area, industry, upgradeYear, 1)  //已购+新增,以年为单位的价格
+			//			addM := entity.JyVipSubStruct.GetSubVipPrice(area, industry, upgradeMonth, 2) //已购+新增,以月为单位的价格
+			//			addPrice := addM + addY                                                       //已购+新增总价格
+			//			log.Println("1", addPrice)
+			//			nowY := entity.JyVipSubStruct.GetSubVipPrice(areas, industrys, upgradeYear, 1)  //已购,以年为单位的价格
+			//			nowM := entity.JyVipSubStruct.GetSubVipPrice(areas, industrys, upgradeMonth, 2) //已购,以月为单位的价格
+			//			nowPrice := nowM + nowY                                                         //已购总价格
+			//			log.Println("2", nowPrice)
+			//			totalfee = addPrice - nowPrice //已购+新增的总价格 - 已购总价格 = 升级差价
+			totalfee = addAreaY + addAreaM + oldAreaY + oldAreaM + addIndustryY + addIndustryM
+			if date_unit == 1 { //升级中的延长时间
+				lengPrice := entity.JyVipSubStruct.GetSubVipPrice(allArea, allIndustry, date_count, 1) //单位为年的已购+新增延长时间价格
+				totalfee = totalfee + lengPrice                                                        //已购+新增延长时间价格 + 升级差价 = 最终价格
 			} else if date_unit == 2 {
-				lengPrice := entity.JyVipSubStruct.GetSubVipPrice(area, industry, date_count, 2) //单位为月的已购+新增延长时间价格
-				totalfee = totalfee + lengPrice                                                  //已购+新增延长时间价格 + 升级差价 = 最终价格
+				lengPrice := entity.JyVipSubStruct.GetSubVipPrice(allArea, allIndustry, date_count, 2) //单位为月的已购+新增延长时间价格
+				totalfee = totalfee + lengPrice                                                        //已购+新增延长时间价格 + 升级差价 = 最终价格
 			}
 		}
 		log.Println("price", totalfee)
@@ -224,6 +275,7 @@ func (this *RenewUpgrade) RenewUpgradeCreateOrder() {
 			}
 			prepayid = qutil.ObjToString((*ret)["prepayid"])
 			payStr = pay.WxStruct.GetAppWxPayStr(prepayid)
+			log.Println("tradeno", tradeno)
 		} else { //支付宝支付
 			var err error
 			payStr, tradeno, err = pay.Alipay.GetOrderPayParam((qutil.Float64All(totalfee)), "", pay.ALI_SUBVIP_APP)
@@ -321,7 +373,7 @@ func checkReqDates(dateStr string) (cyclecount, cycleunit int, err error) {
 }
 
 //获取最大升级月数
-func MaxUpgradeMonth(endTime int64, effect string) (int, int) {
+func MaxUpgradeMonth(endTime int64) (int, int) {
 	endYear := time.Unix(endTime, 0).Year()
 	endMonth := int(time.Unix(endTime, 0).Month())
 	endDay := time.Unix(endTime, 0).Day()
@@ -361,12 +413,6 @@ func MaxUpgradeMonth(endTime int64, effect string) (int, int) {
 		}
 	}
 
-	if effect != "now" {
-		nowUpgrade = nowUpgrade - 1
-	}
-	if nowUpgrade == 0 {
-		nowUpgrade = 1
-	}
 	//
 	var nowUpgradeYear = 0
 	if nowUpgrade >= 12 {

+ 4 - 1
src/jfw/modules/subscribepay/src/service/vipSubscribeEdit.go

@@ -67,10 +67,13 @@ func (this *EditSub) SaveSubEdit() {
 	userId := qutil.ObjToString(this.GetSession("userId"))
 	r := func() *editSubResult {
 		//获取购买数量
-		buyset, err := entity.JyVipSubStruct.GetBuySet(userId)
+		buyset, isVip, err := entity.JyVipSubStruct.GetBuySet(userId)
 		if err != nil {
 			return &editSubResult{false, errors.New("查询出错"), nil}
 		}
+		if !isVip {
+			return &editSubResult{false, errors.New("非vip状态"), nil}
+		}
 		switch doType {
 		case "area":
 			areaNew := map[string]interface{}{}

+ 609 - 0
src/web/staticres/vipsubscribe/css/choose_area_new.css

@@ -0,0 +1,609 @@
+@charset "UTF-8";
+.main {
+  width: 100%;
+  overflow: scroll;
+}
+
+.main::-webkit-scrollbar {
+  display: none;
+}
+
+.layout_top-bottom {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  height: 100%;
+}
+
+.layout_top-bottom .layou_top {
+  flex: 1;
+  overflow: scroll;
+}
+
+.bottom_button {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  width: 100%;
+  height: .94rem;
+}
+
+.bottom_button .left_btn,
+.bottom_button .right_btn {
+  flex: 1;
+  height: 100%;
+  font-size: .34rem;
+}
+
+.bottom_button .left_btn {
+  color: #2cb7ca;
+  background-color: #fff;
+  border-top: 1px solid #e0e0e0;
+}
+
+.bottom_button .right_btn {
+  color: #fff;
+  background-color: #2cb7ca;
+  border-top: 1px solid #2cb7ca;
+}
+
+.bottom_button button[disabled] {
+  opacity: .5;
+}
+
+.public_btn {
+  width: 100%;
+  height: .94rem;
+  line-height: .94rem;
+  text-align: center;
+  background: #2CB7CA;
+  color: #fff;
+  border-radius: 0.06rem;
+  font-size: .34rem;
+}
+
+.tips_btn {
+  display: flex;
+  position: relative;
+  flex-direction: column;
+  align-items: center;
+  justify-content: space-between;
+}
+
+.tips_btn .tips_discount {
+  width: 100%;
+}
+
+.tips_btn .tips_discount .tips_d_money {
+  display: none;
+  position: absolute;
+  left: 50%;
+  top: -.2rem;
+  padding: 0 .4rem;
+  height: .64rem;
+  line-height: .64rem;
+  color: #2CB7CA;
+  font-size: .32rem;
+  background-color: #fff;
+  border-radius: .32rem;
+  transform: translate(-50%, -100%);
+  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
+}
+
+.tips_btn .tips_discount .tips_d_text {
+  display: none;
+  height: .72rem;
+  line-height: .72rem;
+  color: #fff;
+  font-size: .28rem;
+  text-align: center;
+  background-color: #FFB901;
+}
+
+.tips_btn .btns {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  width: 100%;
+  height: .94rem;
+  line-height: .94rem;
+  color: #fff;
+  font-size: .34rem;
+}
+
+.tips_btn .btns .save-btn,
+.tips_btn .btns .reset-btn {
+  flex: 1;
+  width: 50%;
+  text-align: center;
+  height: 100%;
+  font-size: .34rem;
+}
+
+.tips_btn .btns .reset-btn {
+  background: #fff;
+  color: #2cb7ca;
+  border-top: 1px solid #e0e0e0;
+}
+
+.tips_btn .btns .save-btn {
+  background: #2cb7ca;
+  color: #fff;
+  border-top: 1px solid #2cb7ca;
+}
+
+.tips_btn .btns button[disabled] {
+  opacity: .5;
+}
+
+.jy_icon {
+  position: relative;
+  width: 100%;
+  height: 100%;
+}
+
+.jy_icon.decrease:before,
+.jy_icon.increase:before,
+.jy_icon.increase:after {
+  position: absolute;
+  left: 50%;
+  top: 50%;
+  content: '';
+  width: 0.4rem;
+  height: 0.04rem;
+  background-color: #686868;
+  transform: translate(-50%, -50%);
+}
+
+.jy_icon.increase:after {
+  transform: translate(-50%, -50%) rotate(90deg);
+}
+
+/*禁止长按复制 加给body*/
+.no-touch {
+  -webkit-touch-callout: none;
+  -webkit-user-select: none;
+  -khtml-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+/* 弹性盒子布局 */
+.flex_alginC {
+  display: flex;
+  align-items: center;
+}
+
+.flex_alginC_justB {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+}
+
+.flex_alginC_justC {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+.flex_column {
+  display: flex;
+  flex-direction: column;
+}
+
+.flex_column_alignC {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+}
+
+/* 自定义弹窗*/
+@-webkit-keyframes c {
+  0% {
+    opacity: 0;
+  }
+  to {
+    opacity: 1;
+  }
+}
+
+@keyframes c {
+  0% {
+    opacity: 0;
+  }
+  to {
+    opacity: 1;
+  }
+}
+
+.custom-dialog .weui-animate-fade-in {
+  -webkit-animation: c ease 0s forwards;
+  animation: c ease 0s forwards;
+}
+
+@-webkit-keyframes d {
+  0% {
+    opacity: 1;
+  }
+  to {
+    opacity: 0;
+  }
+}
+
+@keyframes d {
+  0% {
+    opacity: 1;
+  }
+  to {
+    opacity: 0;
+  }
+}
+
+.custom-dialog .weui-animate-fade-out {
+  -webkit-animation: d ease 0s forwards;
+  animation: d ease 0s forwards;
+}
+
+.custom-dialog .weui-dialog__hd {
+  background: #F5F4F9;
+  padding: .17rem 0;
+  color: #000;
+  font-size: .34rem;
+  text-align: center;
+}
+
+.custom-dialog .weui-dialog__bd {
+  padding: .37rem 0;
+  color: #1D1D1D;
+  font-size: .32rem;
+  text-align: center;
+}
+
+.custom-dialog .weui-dialog__ft:after {
+  border: 0;
+}
+
+.custom-dialog .weui-dialog__btn:after {
+  border: 0;
+}
+
+.custom-dialog .weui-dialog__ft {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  padding-bottom: .38rem;
+  box-sizing: border-box;
+  text-align: center;
+}
+
+.custom-dialog .weui-dialog__btn {
+  display: block;
+  width: 1.72rem;
+  height: .72rem;
+  line-height: .72rem;
+  color: #fff;
+  padding: 0;
+  flex: none;
+  text-align: center;
+  border-radius: 3px;
+}
+
+.custom-dialog .weui-dialog__btn_primary {
+  background-color: #2CB7CA;
+  margin-right: 1rem;
+}
+
+.custom-dialog .weui-dialog__btn_default {
+  background-color: #BFBFC3;
+}
+
+/* 自定义switch按钮 */
+.custom-switch {
+  position: relative;
+  width: 52px;
+  height: 32px;
+  border: 1px solid #dfdfdf;
+  outline: 0;
+  border-radius: 16px;
+  box-sizing: border-box;
+  background-color: #dfdfdf;
+  -webkit-transition: background-color .1s,border .1s;
+  transition: background-color .1s,border .1s;
+  -webkit-appearance: none;
+}
+
+.custom-switch:before {
+  content: " ";
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 50px;
+  height: 30px;
+  border-radius: 15px;
+  background-color: #fdfdfd;
+  -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.45, 1, 0.4, 1);
+  transition: -webkit-transform 0.35s cubic-bezier(0.45, 1, 0.4, 1);
+  transition: transform 0.35s cubic-bezier(0.45, 1, 0.4, 1);
+  transition: transform 0.35s cubic-bezier(0.45, 1, 0.4, 1), -webkit-transform 0.35s cubic-bezier(0.45, 1, 0.4, 1);
+}
+
+.custom-switch:after {
+  content: " ";
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 30px;
+  height: 30px;
+  border-radius: 15px;
+  background-color: #fff;
+  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
+  -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.4, 0.4, 0.25, 1.35);
+  transition: -webkit-transform 0.35s cubic-bezier(0.4, 0.4, 0.25, 1.35);
+  transition: transform 0.35s cubic-bezier(0.4, 0.4, 0.25, 1.35);
+  transition: transform 0.35s cubic-bezier(0.4, 0.4, 0.25, 1.35), -webkit-transform 0.35s cubic-bezier(0.4, 0.4, 0.25, 1.35);
+}
+
+.custom-switch.checked {
+  border-color: #04be02;
+  background-color: #04be02;
+}
+
+.custom-switch.checked:before {
+  transform: scale(0);
+}
+
+.custom-switch.checked:after {
+  transform: translateX(20px);
+}
+
+.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%);
+}
+
+.custom-toast .weui-icon_toast {
+  display: none;
+}
+
+.custom-toast .weui-toast__content {
+  margin: 0;
+}
+
+.jymobile-tab-triangle {
+  position: relative;
+}
+
+.jymobile-tab-triangle:after {
+  content: '';
+  position: absolute;
+  top: 50%;
+  right: 0;
+  width: 0;
+  height: 0;
+  font-size: 0;
+  line-height: 0;
+  border-style: solid;
+  border-width: .1rem;
+  border-color: #aaa transparent transparent transparent;
+  transform: translate(140%, -30%);
+}
+
+.jymobile-tab-triangle.active:after {
+  border-color: transparent transparent #2cb7ca transparent;
+  transform: translate(140%, -70%);
+}
+
+.jymobile-tab-triangle.current {
+  color: #2cb7ca;
+}
+
+.jymobile-tab-triangle.current:after {
+  border-color: #2cb7ca transparent transparent transparent;
+}
+
+#choose_area {
+  display: flex;
+  justify-content: space-between;
+  flex-direction: column;
+  overflow: hidden;
+  height: 100%;
+}
+
+#choose_area .form {
+  flex: 1;
+  overflow-y: scroll;
+}
+
+#choose_area .optional_count, #choose_area .all_area {
+  background: #fff;
+  height: .88rem;
+  line-height: .88rem;
+  padding: 0 .3rem;
+  font-size: .3rem;
+  color: #1d1d1d;
+}
+
+#choose_area .optional_count em, #choose_area .all_area em {
+  color: #2cb7ca;
+}
+
+#choose_area .result {
+  position: relative;
+  padding: .2rem .3rem;
+  font-size: .26rem;
+  text-align: justify;
+}
+
+#choose_area .result .result_text {
+  position: relative;
+  min-height: 19px;
+}
+
+#choose_area .result .line_two {
+  text-overflow: ellipsis;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  display: -webkit-box;
+  -webkit-line-clamp: 2;
+  line-clamp: 2;
+  -webkit-box-orient: vertical;
+}
+
+#choose_area .result .detail, #choose_area .result .packup {
+  display: inline-block;
+  width: 1.5rem;
+  padding-right: 0.1rem;
+  text-align: right;
+  color: #2cb7ca;
+  font-size: .26rem;
+  z-index: 999;
+}
+
+#choose_area .result .detail {
+  position: absolute;
+  right: 0;
+  bottom: 0;
+  background: linear-gradient(90deg, rgba(245, 244, 249, 0) 0%, rgba(245, 244, 249, 0.96) 36%, #f5f4f9 100%);
+}
+
+#choose_area .result .packup {
+  position: absolute;
+  right: 0.3rem;
+  bottom: 0;
+  margin-top: .1rem;
+}
+
+#choose_area .select-area-box {
+  padding-bottom: .94rem;
+}
+
+#choose_area .select-area-box .tab {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  color: #1d1d1d;
+  background: #fff;
+  font-size: .3rem;
+  padding: .2rem .5rem;
+  border-bottom: 1px solid #e0e0e0;
+  box-sizing: border-box;
+}
+
+#choose_area .select-area-box .tab .province {
+  display: flex;
+  align-items: center;
+}
+
+#choose_area .select-area-box .tab .province .checkbox {
+  width: .4rem;
+  height: .4rem;
+  border: 1px solid #ddd;
+  border-radius: 50%;
+  margin-right: .2rem;
+  -webkit-appearance: none;
+  background: #fff;
+}
+
+#choose_area .select-area-box .tab .province .checkbox:checked {
+  border: 0;
+  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(/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(/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(/vipsubscribe/image/banxuan.png) no-repeat center center !important;
+  background-size: cover !important;
+}
+
+#choose_area .select-area-box .tab .optional {
+  color: #2CB7CA;
+  font-size: 0.28rem;
+  margin-left: -2.8rem;
+}
+
+#choose_area .select-area-box label::after {
+  font-size: 14px;
+  float: right;
+  margin-right: 15px;
+}
+
+#choose_area .select-area-box .tab_content {
+  display: none;
+  font-size: .28rem;
+  padding: .1rem .3rem;
+  text-align: center;
+}
+
+#choose_area .select-area-box .tab_content .city {
+  float: left;
+  padding: .1rem .2rem;
+  background: #fff;
+  margin: .1rem 0 .1rem .1rem;
+  border-radius: 0.04rem;
+  font-size: .28rem;
+}
+
+#choose_area .select-area-box .tab_content .active {
+  background: #2cb7ca;
+  color: #fff;
+}
+
+#choose_area .select-area-box .tab_content .active[disabled] {
+  background: #BFBFC3;
+  color: #fff;
+}
+
+#choose_area .select-area-box .tab_content .city[disabled] {
+  background: #BFBFC3;
+  color: #fff;
+}
+
+#choose_area .select-area-box .index {
+  padding: .3rem .3rem .1rem .3rem;
+  font-size: .32rem;
+}
+
+#choose_area .slide {
+  background: transparent;
+  position: fixed;
+  right: 0;
+  top: 50%;
+  height: 8.5rem;
+  width: .4rem;
+  font-size: .26rem;
+  text-align: center;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  padding: .1rem 0;
+  align-items: center;
+  margin-top: -4.25rem;
+  z-index: 9999;
+}
+
+#choose_area .slide a {
+  margin-bottom: .1rem;
+}

+ 5 - 11
src/web/staticres/vipsubscribe/css/vip_subscribe_edit.css

@@ -393,19 +393,10 @@
   position: relative;
   background: #fff;
   padding: .32rem .3rem;
+  border-top: .01rem solid #CECECE;
+  border-bottom: .01rem solid #CECECE;
 }
 
-.vip_subscribe_edit .edit_content .edit_item:after {
-  position: absolute;
-  content: '';
-  left: 0;
-  bottom: 0;
-  width: 100%;
-  height: 1px;
-  background-color: #CECECE;
-  transform-origin: 0 0;
-  transform: scaleY(0.5);
-}
 
 .vip_subscribe_edit .edit_content .edit_item .item_top {
   display: flex;
@@ -426,6 +417,9 @@
 .vip_subscribe_edit .edit_content .edit_item .item_bottom {
   color: #686868;
   font-size: .26rem;
+  flex: 1;
+  text-align: right;
+  padding-right: .2rem;
 }
 
 .vip_subscribe_edit .edit_tips {

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


+ 86 - 86
src/web/staticres/vipsubscribe/js/common.js

@@ -11,9 +11,9 @@ function $DoPost(url,param={},callback,async=true){
 			if(r.error||r.errMsg){
 				var errTip = r.error||r.errMsg;
 				weui.toast(errTip,{
-		          duration: 2000,
-		          className: 'custom-toast',
-		        });
+					duration: 2000,
+					className: 'custom-toast',
+				});
 			}
 		}
 	})
@@ -21,57 +21,57 @@ function $DoPost(url,param={},callback,async=true){
 
 //获取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
+	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)
 		}
-        provinceArr.push(i)
-      }
-    }
-    return SortArr(provinceArr)
+	}
+	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
+	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)
 		}
-        provinceArr.push(i)
-      }
-    }
-    return [SortArr(provinceArr),SortArr(cityArr)]
+	}
+	return [SortArr(provinceArr),SortArr(cityArr)]
 }
 
 //对数组进行排序(拼音)
 function SortArr(arr){
 	arr = arr.sort(function compareFunction(item1, item2) {
-	    return item1.localeCompare(item2);
+		return item1.localeCompare(item2);
 	});
 	return arr
 }
@@ -91,18 +91,18 @@ function getsubVipOrderPrice(area,industry,t,price){
 			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(r){
+					price=r;
+					priceData=price;
+				}else{
+					weui.toast("加载价格异常",{
+						duration: 2000,
+						className: 'custom-toast',
+					});
+				}
+			},false)
 		}
-	}	
+	}
 	if(industry[0] == "全部行业")industry= []
 	if(area["全国"]) area={}
 	//当行业数量大于最大值price.BuyerClassMaxCount 按照全行业计算
@@ -113,7 +113,7 @@ function getsubVipOrderPrice(area,industry,t,price){
 	//计算地区数量
 	var pCount = -1         //省份数量
 	var citysCountMap = {} //购买省份中城市数量
-	
+
 	if(!$.isEmptyObject(area)){
 		pCount=0
 		for(var i in area) {
@@ -124,35 +124,35 @@ function getsubVipOrderPrice(area,industry,t,price){
 				if(citys.length > price.cityMaxCount){
 					pCount++
 				}else{
-					citysCountMap[i]= citys.length 
+					citysCountMap[i]= citys.length
 				}
 			}
-	    }
+		}
 	}
-	
+
 	//当省份数量大于price.ProvinceMaxCount 按照全国计算
 	if (pCount > price.provinceMaxCount) {
 		pCount = -1
 	}
-	
+
 	if(t[0]>price.monthMaxCount&&t[1]==2) t[0]=10 //月份十个月以上价格一样
-	
+
 	if(pCount == -1){//计算全国套餐价格
 		if(industryNum==1) return getSetMealPrice(0,1,t[1],price)*t[0]/100 //全国1行业套餐
 		if(industryNum==0) return getSetMealPrice(0,0,t[1],price)*t[0]/100 //全国全行业套餐
 		return	getSetMealPrice(0,industryNum,t[1],price) * t[0] / 100 //全国多行业套餐
 	}
-	
+
 	var final_price	= pCount*getSetMealPrice(1,industryNum,t[1],price)*t[0];//计算省份价格
-	
+
 	for(var i in citysCountMap) {
-		var thisPrice = 0;	
+		var thisPrice = 0;
 		var citys = area[i]
 		if(citysCountMap[i]==1){//单城市
 			thisPrice = getSetMealPrice(2,industryNum,t[1],price)*t[0];
 		}else{//多城市
 			if(industryNum==0||industryNum==1){//多城市 单行业
-				thisPrice = citysCountMap[i] * getSetMealPrice(2,industryNum,t[1],price) * t[0];	
+				thisPrice = citysCountMap[i] * getSetMealPrice(2,industryNum,t[1],price) * t[0];
 			}else{//多城市 多行业
 				var industry_Price= price.buyerClassPrice  * industryNum;
 				var city_Price = price.cityPrice *citysCountMap[i];
@@ -160,40 +160,40 @@ function getsubVipOrderPrice(area,industry,t,price){
 				if(t[1]==1) thisPrice *= 10 //年的价格是月价格的10倍
 			}
 		}
-    	final_price += thisPrice;
-    }
-    return final_price/100
+		final_price += thisPrice;
+	}
+	return final_price/100
 }
 //获取套餐价格
-//c(city) 全国:0 省:1 市:2 
+//c(city) 全国:0 省:1 市:2
 //iCount(industry) 全行业:0 行业:1 其他:多个行业
 //u(unit) 年:1 月:2
 function getSetMealPrice(c,iCount,u,price){
 	var t = u==2 //是否是月单位
 	switch(c){
-	case 0:
-		if(iCount==0){
-			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==0){
-			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==0){
-			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个行业
-		}
+		case 0:
+			if(iCount==0){
+				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==0){
+				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==0){
+				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个行业
+			}
 	}
 }

+ 345 - 0
src/web/staticres/vipsubscribe/js/editArea.js

@@ -0,0 +1,345 @@
+// 后端数据结构
+var areaData = {
+    "data": {
+        "area": {
+            "北京": [],
+            "河南": [
+                "商丘市",
+                "安阳市",
+                "新乡市",
+                "郑州市"
+            ],
+            "澳门": [],
+            "甘肃": []
+        },
+        "buyset": {
+            "areacount": 4,
+            "buyerclasscount": 11,
+            "citys": {
+                "河南": 4
+            }
+        },
+        "industry": [
+            "党委办",
+            "公共资源交易",
+            "公安",
+            "出版广电",
+            "国资委",
+            "地震",
+            "安监",
+            "工商",
+            "法院",
+            "电信行业",
+            "财政"
+        ]
+    },
+    "errMsg": "",
+    "success": true
+}
+
+
+//加载数据
+function getData() {
+    $DoPost("/subscribepay/editSub/getSubBuyMsg", {}, function (r) {
+        if (r.success) {
+            areaData = r;
+        }
+    }, false);
+}
+
+// 渲染城市方法
+function createMoreCity(arr) {
+    var tempHtml = arr.map(function (v) {
+        return '<button class="city">' + v.name + '</button>'
+    }).join('')
+    return tempHtml
+}
+
+// 省下拉市事件
+function slideFun(obj) {
+    if (obj.next('.tab_content:not(:animated)').css("display") == "block") {
+        obj.children().children('i').css({
+            "display": "inline-block",
+            "transform": "rotate(0)"
+        })
+    } else {
+        obj.children().children('i').css({
+            "display": "inline-block",
+            "transform": "rotate(-180deg)"
+        })
+    }
+    obj.toggleClass('selected').next('.tab_content:not(:animated)').slideToggle(500)
+    obj.parent().siblings().children('.tab').removeClass('selected');
+}
+
+var obj
+
+// 改变选择结果方法
+function getResult() {
+    var data = '';
+    obj = {};
+    $('.result_name').empty();
+    $('.province').each(function () {
+        let provinceText = $(this).text().trim();//省份名称
+        let isChecked = $(this).children('.checkbox').is(':checked');
+        let isHalf = $(this).children('.checkbox').hasClass('half');
+        let arr = [];
+        if (isChecked) {
+            data += provinceText + '、';
+            obj[provinceText] = [];
+        } else if (isHalf && !isChecked) {
+            let $that = $(this);
+            obj[$that.text().trim()] = [];
+            $that.parent().siblings().find('.city').each(function () {
+                let parent = $(this).parent().siblings().find('.province').text().trim();
+                if ($(this).is('.active') && parent == $that.text().trim()) {
+                    arr.push($(this).text().trim())
+                }
+            })
+            obj[$that.text().trim()] = arr
+            data += `${$that.text().trim()}(${arr.join('、')})、`
+        }
+    })
+    $('count').html($('.checkbox:not(.other):checked').length);
+    $('.result_name').append(data.substring(0, data.length - 1));
+    //校验是否修改
+    if (theSameAs(obj)) {
+        $('#enter').attr("disabled", "disabled");
+    } else {
+        $('#enter').removeAttr("disabled");
+    }
+}
+
+// 初始化页面方法
+function init() {
+    let p = areaData.data.area;
+    let count = areaData.data.buyset.citys;
+    var ht = '';
+    // 1.渲染城市列表
+    $(".select-area-box ul li:not('.index')").each(function () {
+        var text = $(this).find(".province").text().trim()
+        var data = null
+        chinaMapJSON.some(function (v) {
+            data = v
+            return v.name.indexOf(text) !== -1
+        })
+        var box = $(this).find('div.tab_content')
+        var html = createMoreCity(data.city)
+        box.html(html)
+    })
+    // 2.当areacount == -1时,全国为选中状态,为正数时为选中的省份数目,全国选项不显示
+    if (areaData.data.buyset.areacount == -1) {
+        // 选中全国
+        // $('.optional_count').html("可选择全部区域")
+        $('.all_area').show()
+        $('.optional_count').hide()
+        $('.total').html('34')
+        $('.count').html('34')
+        $('.tab.whole').parent('li').show();
+        $('.checkbox.other').prop('checked', true);
+        $('.checkbox:not(.other)').attr('disabled', true)
+        ht += `<span>全国</span>`
+    } else {
+        $('.all_area').hide()
+        $('.optional_count').show()
+        $('.total').html(areaData.data.buyset.areacount)
+        $('.tab.whole').parent('li').hide();
+        $('.checkbox.other').attr('disabled', true);
+        // 渲染已选择结果
+        for (const k in p) {
+            console.log(p[k], k)
+            if (p[k].length == 0) {
+                ht += k + '、';
+                $('.province').each(function () {
+                    let t = $(this).text().trim();
+                    if (k == t && p[k].length == 0) {
+                        // 如果购买的是全省,则不可点击下拉事件(不可修改城市)
+                        // $(this).parent('.tab').unbind("click").parent('li').siblings().find('.tab').unbind("click");
+                        $(this).parent().siblings().children('.city').addClass('active').attr('disabled', true);
+                        $(this).children('.checkbox').prop('checked', true)
+                    }
+                })
+            } else {
+                console.log(k, p[k])
+                ht += `${k}( ${p[k].join('、')} )、`;
+                $('.city').each(function () {
+                    let t = $(this).text().trim();
+                    p[k].forEach(v => {
+                        // console.log(v,t)
+                        if (v == t) {
+                            let that = $(this).parents('li').find('.tab:not(.municipality)');
+                            console.log("v==t")
+                            // 如果是可修改城市的省份,则可以进行下拉展示
+                            that.bind('click', function () {
+                                slideFun($(this));
+                            });
+                            $(this).addClass('active').parent().siblings('.tab').find('input').addClass('half');
+                            return;
+                        }
+                    })
+                })
+                for (const c in count) {
+                    if (p[k].length >= count[c]) {
+                        $('.city:not(.active)').attr('disabled', true)
+                    }
+                }
+            }
+        }
+        // 添加可选择城市文字 和自定义属性值
+        for (const c in count) {
+            $('.province').each(function () {
+                let t = $(this).text().trim();
+                if (c == t) {
+                    $(this).attr("data-count", count[c]);
+                    $(this).after(`<em class="optional">可选择 ${count[c]} 个市</em>`)
+                    $(this).parent().bind('click', function () {
+                        slideFun($(this));
+                    })
+                }
+            })
+        }
+        $('.result_name').append(ht.substring(0, ht.length - 1));
+        $('.count').html($('.checkbox:not(.other):checked').length)
+        //$('.city:not(.active)').attr('disabled', true)
+        // 如果选中的省份数量等于购买的省份数量,则将其他未选中的省份禁用
+        if ($('.checkbox:not(.other):checked').length == $('.total').html()) {
+            $('.checkbox:not(:checked)').attr('disabled', true)
+        }
+    }
+    $('#enter').attr("disabled", "disabled");
+}
+
+$(function () {
+    getData();
+    // 初始化
+    init();
+    /**** 点击checkbox实现onchange事件 *****/
+    // 1.点击全国按钮onchange事件;
+    $('.checkbox.other').on('change', function () {
+        let isChecked = $(this).is(':checked');
+        if (isChecked) {
+            $('.count').html('34')
+            $('.checkbox:not(.other)').prop('checked', false).attr('disabled', true).removeClass('half')
+            $('.city').removeClass('active').attr('disabled', true)
+            $('.tab').unbind("click").siblings().slideUp()
+            getResult()
+        } else {
+            // $('.count').html($('.checkbox:not(.other):checked').length)
+            $('.checkbox:not(.other)').removeAttr('disabled')
+            $('.city').removeAttr('disabled')
+            $('.tab:not(.municipality)').on('click', function () {
+                slideFun($(this));
+            });
+            getResult()
+        }
+    })
+    // 2.点击非全国按钮onchange事件;
+    $('.checkbox:not(.other)').on('change', function () {
+        let checkedLength = $('.checkbox:checked').length;
+        let totalLength = $('.total').text();
+        // console.log(checkedLength,totalLength)
+        $('.count').html(checkedLength)
+        if (checkedLength < totalLength) {
+            $('.checkbox:not(.other)').removeAttr('disabled')
+            getResult()
+        } else {
+            $('.checkbox:not(:checked)').attr('disabled', true)
+            getResult()
+        }
+        if ($(this).is(':checked')) {
+            $(this).prop('checked', true).removeClass('half').parent().parent().siblings().find('.city').addClass('active').attr('disabled', true)
+            getResult()
+        } else {
+            $(this).prop('checked', false).removeClass('half').parent().parent().siblings().find('.city').removeClass('active').removeAttr('disabled')
+            getResult()
+        }
+
+    })
+    // 3.点击半选按钮触发的事件
+    $('.checkbox.half').on('change', function () {
+        console.log($(this).is(':checked'))
+        if ($(this).is(':checked')) {
+            $(this).prop('checked', true).removeClass('half');
+            $(this).removeClass('half').parent().parent().siblings().find('.city').addClass('active').attr('disabled', true);
+            $(this).parent().parent().siblings().children('.city').addClass('active');
+            //$(this).parent().siblings('.optional').hide();
+            getResult()
+        } else {
+            $(this).prop('checked', false);
+            $(this).parent().parent().siblings().find('.city').removeClass('active').removeAttr('disabled');
+            $(this).parent().siblings('.optional').show();
+            getResult()
+        }
+    })
+    // 4.点击城市按钮触发的事件
+    $('.tab_content').on('click', '.city', function () {
+        let count = $(this).parent().siblings().find('.province').attr('data-count');
+        $(this).toggleClass('active')
+        var isActive = $(this).parent().find('.city.active').length
+        let cityLength = $(this).parent().find('.city').length
+
+        if (isActive === cityLength) {//当选中的城市数量等于该省下所有城市总数时,即为全选
+            var oInput = $(this).parents('li').find('input.checkbox')
+            oInput.removeClass('half').prop('checked', true)
+            getResult()
+        } else {//半选
+            $(this).parents('li').find('input.checkbox').addClass('half').prop("checked", false)
+            if (isActive > 0 && isActive != count) {
+                $(this).parents('li').find('input.checkbox').addClass('half');
+                $(this).parent('div').find('.city:not(.active)').removeAttr('disabled')
+                getResult()
+            } else if (isActive > 0 && isActive == count) {
+                $(this).parents('li').find('input.checkbox').addClass('half');
+                $(this).parent('div').find('.city:not(.active)').attr('disabled', true)
+                getResult()
+            } else {
+                $(this).parent('div').find('.city:not(.active)').removeAttr('disabled')
+                $(this).parents('li').find('input.checkbox').removeClass('half').prop('checked', false)
+                getResult()
+            }
+        }
+    })
+    // 阻止input checkbox选中取消 触发父元素下拉事件
+    $('.checkbox').click(function (e) {
+        e.stopPropagation();
+    })
+    // 锚点跳转
+    $("body").on('click', '.slide a', function () {
+        var s = $(this).html()
+        if (s == '#') {
+            return;
+        }
+        document.querySelector('#' + s).scrollIntoView({
+            block: 'center'
+        });
+    })
+    // 取消按钮事件 返回上一页
+    $('#cancel').click(function () {
+        // window.history.go(-1)
+        $('.result_name').empty()
+        $('.checkbox').prop('checked', false).removeAttr('disabled');
+        $('.city').removeClass('active');
+        $('.tab_content').slideUp();
+        $('.optional').remove()
+        init();
+    })
+    // 确定修改事件
+    $('#enter').click(function () {
+        $('#enter').attr("disabled", "disabled");
+        $DoPost("/subscribepay/editSub/submit", {
+            "type": "area",
+            "value": JSON.stringify(obj)
+        }, function (r) {
+            if (r.success) {
+                window.location.replace('/front/vipsubscribe/submitEditSubFinish');
+            }
+            $('#enter').removeAttr("disabled");
+        }, false);
+    })
+});
+
+function theSameAs(select) {
+    let tmp1 = getAreaClassArr(select);
+    let tmp2 = getAreaClassArr(areaData.data.area);
+    return (JSON.stringify(tmp1[0].sort()) === JSON.stringify(tmp2[0].sort())) && (JSON.stringify(tmp1[1].sort()) === JSON.stringify(tmp2[1].sort()));
+}

+ 7 - 3
src/web/templates/weixin/dataExport/dataExport_invoiceSuccess.html

@@ -31,18 +31,22 @@
             <a href="javascript:history.go(-1)" class="go_back"></a>
         </div>
         <script>
-        	var i=5;
+        	var i=3;
 			$(function(){
 			 	setTimeout(function(){
 			 	//如果再次进入此页面 不显示 缓存
 				 	window.location.href="javascript:history.go(-1)";
-				},5000);//5秒后返回首页
+				},3000);//3秒后返回首页
 				after();
 			});
 			//自动刷新页面上的时间
 			function after(){
 			 gobackHtml=""
-			 gobackHtml+='<a href="javascript:history.go(-1)" class="go_back">返回('+i+')</a>';
+			 if (i==0){
+			  gobackHtml+='<a href="javascript:history.go(-1)" class="go_back">返回</a>';
+			 }else{
+			  gobackHtml+='<a href="javascript:history.go(-1)" class="go_back">返回('+i+')</a>';
+			 }
 			 $(".go_back").empty().append(gobackHtml);
 			 if(i>0){
 			 	i=i-1;

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

@@ -1193,7 +1193,7 @@
                 
             })
             $('.reset_btn').click(function (){
-            	$('#showArea .jymobile-tab-triangle').removeClass('current').text(`地区`);
+            	$('#showArea .jymobile-tab-triangle').text(`地区`);
             	$('.area_wrap .province .city-count').hide().text('')
             	$('.c_item input[type="checkbox"]').prop('checked', false)
             })

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 623 - 622
src/web/templates/weixin/vipsubscribe/choose_area.html


+ 6 - 4
src/web/templates/weixin/vipsubscribe/choose_area_upgrade.html

@@ -539,7 +539,7 @@
               let arr =[];
               // 判断省份下的城市是否等于选中的城市长度,相等就是全部选中
               if (length == activeLeng) {
-                  $('.tips_btn .tips_d_text.citys').hide()
+                  $('.tips_btn .tips_d_text.citys').slideUp()
                   // data.push($(this).parent('.tab_content').siblings('.tab:not(.whole)').children('.province').text().trim())
                   let province = $(this).parent('.tab_content').siblings('.tab:not(.whole)').children('.province').text().trim();
                   data.push({
@@ -590,10 +590,12 @@
               if( children.length >0){
                   // 判断每个省份下选中的城市长度,当大于等于4的时候 弹出"选择全省更划算的弹窗"
                   let childrenArr=[];
-                  if (children.length >= 4 && !this.vipSubisTrial) {
+                  if (children.length >= 3 && !this.vipSubisTrial) {
                       $('.tips_btn .tips_d_text.citys').text("已选择"+children.length+"个市,建议购买“全省”。");
-                      $('.tips_btn .tips_d_text.citys').show();
-                  } 
+                      $('.tips_btn .tips_d_text.citys').slideDown();
+                  }else{
+                  		$('.tips_btn .tips_d_text.citys').slideUp();
+                  }
                   html += `${result[i].name}(`
                   for(var j = 0;j < children.length;j++){
                       childrenArr.push(children[j].name)

+ 381 - 381
src/web/templates/weixin/vipsubscribe/choose_industry.html

@@ -1,394 +1,394 @@
 <!DOCTYPE html>
 <html>
-    <head>
-        <meta charset="utf-8">
-        <title>行业选择</title>
-        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
-        <meta name="apple-mobile-web-app-capable" content="yes">
-        <meta name="apple-mobile-web-app-status-bar-style" content="black">
-        <script src="/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
-        <link rel="stylesheet" href="/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
-        <link rel="stylesheet" type="text/css" href="/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}" />
-        <link rel="stylesheet" type="text/css" href="/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}" />
-        <link rel="stylesheet" href="/vipsubscribe/css/choose_industry.css?v={{Msg "seo" "version"}}">
-    </head>
-    <body>
-        <main class="choose_industry main">
-            <div class="result">
-                <span class="label">已选择:</span>
-                <span class="result_name">全部行业</span>
-            </div>
-            <div class="form">
-                <div class="select-area-box">
-                    <ul class="list">
-                        <li class="list_item" id="all">
-                            <div class="item_label"></div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">全部行业</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="A">
-                            <div class="item_label">A</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">安监</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="B">
-                            <div class="item_label">B</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">保监</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="C">
-                            <div class="item_label">C</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">财政</button>
-                                <button class="industry_item">传媒</button>
-                                <button class="industry_item">城管</button>
-                                <button class="industry_item">采矿业</button>
-                                <button class="industry_item">出版广电</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="D">
-                            <div class="item_label">D</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">档案</button>
-                                <button class="industry_item">地震</button>
-                                <button class="industry_item">党委办</button>
-                                <button class="industry_item">电信行业</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="F">
-                            <div class="item_label">F</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">法院</button>
-                                <button class="industry_item">发改</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="G">
-                            <div class="item_label">G</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">工商</button>
-                                <button class="industry_item">工信</button>
-                                <button class="industry_item">国土</button>
-                                <button class="industry_item">公安</button>
-                                <button class="industry_item">国资委</button>
-                                <button class="industry_item">公共资源交易</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="H">
-                            <div class="item_label">H</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">环保</button>
-                                <button class="industry_item">海关</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="J">
-                            <div class="item_label">J</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">教育</button>
-                                <button class="industry_item">军队</button>
-                                <button class="industry_item">交通</button>
-                                <button class="industry_item">纪委</button>
-                                <button class="industry_item">金融业</button>
-                                <button class="industry_item">建筑业</button>
-                                <button class="industry_item">检察院</button>
-                                <button class="industry_item">机关事务</button>
-                            </div>
-                        </li>
-                        <li class="list_item"  id="K">
-                            <div class="item_label">K</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">科技</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="L">
-                            <div class="item_label">L</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">林业</button>
-                                <button class="industry_item">旅游</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="M">
-                            <div class="item_label">M</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">民政</button>
-                                <button class="industry_item">民宗</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="N">
-                            <div class="item_label">N</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">农业</button>
-                                <button class="industry_item">能源化工</button>
-                                <button class="industry_item">农林牧渔</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="P">
-                            <div class="item_label">P</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">批发零售</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="Q">
-                            <div class="item_label">Q</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">气象</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="R">
-                            <div class="item_label">R</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">人行</button>
-                                <button class="industry_item">人社</button>
-                                <button class="industry_item">人大</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="S">
-                            <div class="item_label">S</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">食药</button>
-                                <button class="industry_item">税务</button>
-                                <button class="industry_item">水利</button>
-                                <button class="industry_item">市政</button>
-                                <button class="industry_item">审计</button>
-                                <button class="industry_item">商务</button>
-                                <button class="industry_item">司法</button>
-                                <button class="industry_item">社会团体</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="T">
-                            <div class="item_label">T</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">统计</button>
-                                <button class="industry_item">统战</button>
-                                <button class="industry_item">体育</button>
-                            </div>
-                        </li>                    
-                        <li class="list_item" id="W">
-                            <div class="item_label">W</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">文化</button>
-                                <button class="industry_item">卫生</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="X">
-                            <div class="item_label">X</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">学校</button>
-                                <button class="industry_item">宣传</button>
-                                <button class="industry_item">信息技术</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="Y">
-                            <div class="item_label">Y</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">医疗</button>
-                                <button class="industry_item">银监</button>
-                                <button class="industry_item">运输物流</button>
-                            </div>
-                        </li>
-                        <li class="list_item" id="Z">
-                            <div class="item_label">Z</div>
-                            <div class="item_industry_list">
-                                <button class="industry_item">质监</button>
-                                <button class="industry_item">组织</button>
-                                <button class="industry_item">政协</button>
-                                <button class="industry_item">住建</button>
-                                <button class="industry_item">证监</button>
-                                <button class="industry_item">政府办</button>
-                                <button class="industry_item">制造业</button>
-                                <button class="industry_item">政务中心</button>
-                                <button class="industry_item">住宿餐饮</button>
-                            </div>
-                        </li>
-                    </ul>
-                </div>
-            </div>
-            <div class="slide">
-                <a href="javascript:;">#</a>
-                <a href="javascript:;">A</a>
-                <a href="javascript:;">B</a>
-                <a href="javascript:;">C</a>
-                <a href="javascript:;">D</a>
-                <a href="javascript:;">F</a>
-                <a href="javascript:;">G</a>
-                <a href="javascript:;">H</a>
-                <a href="javascript:;">J</a>
-                <a href="javascript:;">K</a>
-                <a href="javascript:;">L</a>
-                <a href="javascript:;">M</a>
-                <a href="javascript:;">N</a>
-                <a href="javascript:;">P</a>
-                <a href="javascript:;">Q</a>
-                <a href="javascript:;">R</a>
-                <a href="javascript:;">S</a>
-                <a href="javascript:;">T</a>
-                <a href="javascript:;">W</a>
-                <a href="javascript:;">X</a>
-                <a href="javascript:;">Y</a>
-                <a href="javascript:;">Z</a>
-            </div>
-            <div class="tips_btn">
-                <div class="tips_discount">
-                    <div class="tips_d_money" style="display: none">&yen;38</div>
-                    <div class="tips_d_text">已选择4个行业,建议购买“全部行业”更划算哦~</div>
-                </div>
-                <div class="btns">
-                    <button class="reset-btn" disabled >重置</button>
-                    <button class="save-btn"  disabled >确认</button>
-                </div>
-            </div>
-        </main>
-        <script src="/vipsubscribe/js/jquery-2.1.4.js?v={{Msg "seo" "version"}}"></script>
-        <script src="/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
-        <script src="/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}"></script>
-        <script>
-              
-           // 点击导航跳转
-            $("body").on('click','.slide a',function(){
-                var s = $(this).html()
-                if(s == '#'){
-                    return;
-                }
-                document.querySelector('#' + s).scrollIntoView({block:'center'});
-            })
-            
-            function insertIndustryItem (letter, industryArr = []) {
-                if (!letter) return
-                var query = `#${letter[0].toUpperCase()} .item_industry_list`
-                var industryItemContainer = $(query)
-                var buttonArr = []
+<head>
+    <meta charset="utf-8">
+    <title>行业选择</title>
+    <meta name="viewport"
+          content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <meta name="apple-mobile-web-app-status-bar-style" content="black">
+    <script src="/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
+    <link rel="stylesheet" href="/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
+    <link rel="stylesheet" type="text/css" href="/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}"/>
+    <link rel="stylesheet" type="text/css" href="/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}"/>
+    <link rel="stylesheet" href="/vipsubscribe/css/choose_industry.css?v={{Msg "seo" "version"}}">
+</head>
+<body>
+<main class="choose_industry main">
+    <div class="result">
+        <span class="label">已选择:</span>
+        <span class="result_name">全部行业</span>
+    </div>
+    <div class="form">
+        <div class="select-area-box">
+            <ul class="list">
+                <li class="list_item" id="all">
+                    <div class="item_label"></div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">全部行业</button>
+                    </div>
+                </li>
+                <li class="list_item" id="A">
+                    <div class="item_label">A</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">安监</button>
+                    </div>
+                </li>
+                <li class="list_item" id="B">
+                    <div class="item_label">B</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">保监</button>
+                    </div>
+                </li>
+                <li class="list_item" id="C">
+                    <div class="item_label">C</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">财政</button>
+                        <button class="industry_item">传媒</button>
+                        <button class="industry_item">城管</button>
+                        <button class="industry_item">采矿业</button>
+                        <button class="industry_item">出版广电</button>
+                    </div>
+                </li>
+                <li class="list_item" id="D">
+                    <div class="item_label">D</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">档案</button>
+                        <button class="industry_item">地震</button>
+                        <button class="industry_item">党委办</button>
+                        <button class="industry_item">电信行业</button>
+                    </div>
+                </li>
+                <li class="list_item" id="F">
+                    <div class="item_label">F</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">法院</button>
+                        <button class="industry_item">发改</button>
+                    </div>
+                </li>
+                <li class="list_item" id="G">
+                    <div class="item_label">G</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">工商</button>
+                        <button class="industry_item">工信</button>
+                        <button class="industry_item">国土</button>
+                        <button class="industry_item">公安</button>
+                        <button class="industry_item">国资委</button>
+                        <button class="industry_item">公共资源交易</button>
+                    </div>
+                </li>
+                <li class="list_item" id="H">
+                    <div class="item_label">H</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">环保</button>
+                        <button class="industry_item">海关</button>
+                    </div>
+                </li>
+                <li class="list_item" id="J">
+                    <div class="item_label">J</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">教育</button>
+                        <button class="industry_item">军队</button>
+                        <button class="industry_item">交通</button>
+                        <button class="industry_item">纪委</button>
+                        <button class="industry_item">金融业</button>
+                        <button class="industry_item">建筑业</button>
+                        <button class="industry_item">检察院</button>
+                        <button class="industry_item">机关事务</button>
+                    </div>
+                </li>
+                <li class="list_item" id="K">
+                    <div class="item_label">K</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">科技</button>
+                    </div>
+                </li>
+                <li class="list_item" id="L">
+                    <div class="item_label">L</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">林业</button>
+                        <button class="industry_item">旅游</button>
+                    </div>
+                </li>
+                <li class="list_item" id="M">
+                    <div class="item_label">M</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">民政</button>
+                        <button class="industry_item">民宗</button>
+                    </div>
+                </li>
+                <li class="list_item" id="N">
+                    <div class="item_label">N</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">农业</button>
+                        <button class="industry_item">能源化工</button>
+                        <button class="industry_item">农林牧渔</button>
+                    </div>
+                </li>
+                <li class="list_item" id="P">
+                    <div class="item_label">P</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">批发零售</button>
+                    </div>
+                </li>
+                <li class="list_item" id="Q">
+                    <div class="item_label">Q</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">气象</button>
+                    </div>
+                </li>
+                <li class="list_item" id="R">
+                    <div class="item_label">R</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">人行</button>
+                        <button class="industry_item">人社</button>
+                        <button class="industry_item">人大</button>
+                    </div>
+                </li>
+                <li class="list_item" id="S">
+                    <div class="item_label">S</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">食药</button>
+                        <button class="industry_item">税务</button>
+                        <button class="industry_item">水利</button>
+                        <button class="industry_item">市政</button>
+                        <button class="industry_item">审计</button>
+                        <button class="industry_item">商务</button>
+                        <button class="industry_item">司法</button>
+                        <button class="industry_item">社会团体</button>
+                    </div>
+                </li>
+                <li class="list_item" id="T">
+                    <div class="item_label">T</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">统计</button>
+                        <button class="industry_item">统战</button>
+                        <button class="industry_item">体育</button>
+                    </div>
+                </li>
+                <li class="list_item" id="W">
+                    <div class="item_label">W</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">文化</button>
+                        <button class="industry_item">卫生</button>
+                    </div>
+                </li>
+                <li class="list_item" id="X">
+                    <div class="item_label">X</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">学校</button>
+                        <button class="industry_item">宣传</button>
+                        <button class="industry_item">信息技术</button>
+                    </div>
+                </li>
+                <li class="list_item" id="Y">
+                    <div class="item_label">Y</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">医疗</button>
+                        <button class="industry_item">银监</button>
+                        <button class="industry_item">运输物流</button>
+                    </div>
+                </li>
+                <li class="list_item" id="Z">
+                    <div class="item_label">Z</div>
+                    <div class="item_industry_list">
+                        <button class="industry_item">质监</button>
+                        <button class="industry_item">组织</button>
+                        <button class="industry_item">政协</button>
+                        <button class="industry_item">住建</button>
+                        <button class="industry_item">证监</button>
+                        <button class="industry_item">政府办</button>
+                        <button class="industry_item">制造业</button>
+                        <button class="industry_item">政务中心</button>
+                        <button class="industry_item">住宿餐饮</button>
+                    </div>
+                </li>
+            </ul>
+        </div>
+    </div>
+    <div class="slide">
+        <a href="javascript:;">#</a>
+        <a href="javascript:;">A</a>
+        <a href="javascript:;">B</a>
+        <a href="javascript:;">C</a>
+        <a href="javascript:;">D</a>
+        <a href="javascript:;">F</a>
+        <a href="javascript:;">G</a>
+        <a href="javascript:;">H</a>
+        <a href="javascript:;">J</a>
+        <a href="javascript:;">K</a>
+        <a href="javascript:;">L</a>
+        <a href="javascript:;">M</a>
+        <a href="javascript:;">N</a>
+        <a href="javascript:;">P</a>
+        <a href="javascript:;">Q</a>
+        <a href="javascript:;">R</a>
+        <a href="javascript:;">S</a>
+        <a href="javascript:;">T</a>
+        <a href="javascript:;">W</a>
+        <a href="javascript:;">X</a>
+        <a href="javascript:;">Y</a>
+        <a href="javascript:;">Z</a>
+    </div>
+    <div class="tips_btn">
+        <div class="tips_discount">
+            <div class="tips_d_money" style="display: none">&yen;38</div>
+            <div class="tips_d_text">已选择4个行业,建议购买“全部行业”更划算哦~</div>
+        </div>
+        <div class="btns">
+            <button class="reset-btn" disabled>重置</button>
+            <button class="save-btn" disabled>确认</button>
+        </div>
+    </div>
+</main>
+<script src="/vipsubscribe/js/jquery-2.1.4.js?v={{Msg "seo" "version"}}"></script>
+<script src="/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
+<script src="/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}"></script>
+<script>
 
-                for (var i = 0; i < industryArr.length; i++) {
-                    buttonArr.push(`<button class="industry_item" ${industryArr[i].disabled ? 'disabled': ''}>${industryArr[i].name}</button>`)
-                }
-                industryItemContainer.html(buttonArr.join(''))
-            }
-            
-            function findSelectedIndustry () {
-                var buttons = $('.select-area-box .list button')
-                // 找到已选择的数组(有active类的数组)
-                var selectedArr = []
-                buttons.each(function(){
-                    if ($(this).hasClass('active')) {
-                        if($(this).attr("disabled")!="disabled"){
-                          selectedArr.push($(this).text())
-                        }
-                    }
-                })
-                              
-                // 显示隐藏优惠tips
-                if (selectedArr.length >= 4 && !vipSubisTrial) {
-                    $('.tips_btn .tips_d_text').text("已选择"+selectedArr.length+"个行业,建议购买“全部行业”更划算哦~").slideDown()
-                } else {
-                    $('.tips_btn .tips_d_text').slideUp()
-                }
-          
-                if(selectedArr.length>0){//是否已选择
-                  selectedIndustryArr = selectedArr
-                  
-                  $(".reset-btn").removeAttr("disabled");
-                  $(".save-btn").removeAttr("disabled");
-                  flushPrice()//刷新价格
-                }
-          
-                
-                var selectedStr = selectedArr.join('、')
-                $('.result .result_name').text(selectedStr)
+    // 点击导航跳转
+    $("body").on('click', '.slide a', function () {
+        var s = $(this).html()
+        if (s == '#') {
+            return;
+        }
+        document.querySelector('#' + s).scrollIntoView({block: 'center'});
+    })
 
-                if (selectedArr.length === 0&&selectedIndustryArr[0]!="一个行业") {
-                    var allButton = $('#all button')
-                    allButton.trigger('click')
-                    $('.result .result_name').text(allButton.text())
-                }
-                if (selectedArr.length === buttons.length - 1) {
-                    // 除全部行业外所有按钮都被选中了
-                    $('#all button').trigger('click');
+    function insertIndustryItem(letter, industryArr = []) {
+        if (!letter) return
+        var query = `#${letter[0].toUpperCase()} .item_industry_list`
+        var industryItemContainer = $(query)
+        var buttonArr = []
+
+        for (var i = 0; i < industryArr.length; i++) {
+            buttonArr.push(`<button class="industry_item" ${industryArr[i].disabled ? 'disabled' : ''}>${industryArr[i].name}</button>`)
+        }
+        industryItemContainer.html(buttonArr.join(''))
+    }
+
+    function findSelectedIndustry(notShowTip) {
+        var buttons = $('.select-area-box .list button')
+        // 找到已选择的数组(有active类的数组)
+        var selectedArr = []
+        buttons.each(function () {
+            if ($(this).hasClass('active')) {
+                if ($(this).attr("disabled") != "disabled") {
+                    selectedArr.push($(this).text())
                 }
-                //调整高度
-                $(".select-area-box .list").css("margin-top",$(".result").height()+20);
-                
-                
-                               
             }
-                      
-            function showSelect(arr,canclick){
-              if(!arr)return
-              arr.forEach(v => {
-                $($('.industry_item')).each(function (index, dom) {
-                    if (canclick&&v!="全部行业"){
-                      $('#all').children().children('button').removeClass('active');
-                    } 
-                    if (v == $(dom).text()) {
-                      $(dom).addClass("active").attr({"disabled":!canclick})
-                    }
-                })
-              })
-            }
-            
-            function flushPrice(){
-              if(!vipSubisTrial){
-                var price=getsubVipOrderPrice(selectedAreaObj,selectedIndustryArr,timeSelect);
-                $('.tips_d_money').css("display","block").text('¥'+price);
-              }
-            }
-            
-            // 每个button的点击事件
-            $('.select-area-box .list').on('click', 'button', function (e) {
-                $('.tips_btn .btns button').removeAttr('disabled')
+        })
 
-                $(this).toggleClass('active')
-                // 如果点击全部行业,则其他所有按钮都取消active
-                if ($(this).parents('li')[0].id === 'all') {
-                    $('.select-area-box .list button').removeClass('active')
-                    $('#all button').addClass('active')
-                } else {
-                    $('#all button').removeClass('active')
-                }
-                
-                findSelectedIndustry()                
-            })
+        // 显示隐藏优惠tips
+        if (selectedArr.length >= 4 && !vipSubisTrial && !notShowTip) {
+            $('.tips_btn .tips_d_text').text("已选择" + selectedArr.length + "个行业,建议购买“全部行业”").slideDown()
+        } else {
+            $('.tips_btn .tips_d_text').slideUp()
+        }
 
-            // 重置按钮事件
-            $('.reset-btn').on('click', function () {
-              $("#all .industry_item").trigger("click");
-            })
-           
-            //=======================
-             
+        if (selectedArr.length > 0) {//是否已选择
+            selectedIndustryArr = selectedArr
 
-             // 确认按钮事件
-            $('.save-btn').on('click', function () {
-                console.log(selectedIndustryArr)
-                sessionStorage.setItem("vipSubSelectIndustry",JSON.stringify(selectedIndustryArr));
-                history.go(-1);
-            })
-                       
-            var selectedIndustryArr =["一个行业"] //已选择行业
-            var selectedAreaObj = {"一个省":["一个市"]} //计算价格临时变量
-            var timeSelect = [1,2]//计算价格临时变量 timeSelect[0]时长  timeSelect[1] 1:年 2:月
-            var vipSubisTrial = false;
-            $(function(){
-              try{
-                if(sessionStorage.getItem("vipSubSelectIndustry")){
-                  selectedIndustryArr=JSON.parse(sessionStorage.getItem("vipSubSelectIndustry"));
-                }
-                if(sessionStorage.getItem("vipSubSelectArea")){
-                  selectedAreaObj=JSON.parse(sessionStorage.getItem("vipSubSelectArea"));
+            $(".reset-btn").removeAttr("disabled");
+            $(".save-btn").removeAttr("disabled");
+            flushPrice()//刷新价格
+        }
+
+
+        var selectedStr = selectedArr.join('、')
+        $('.result .result_name').text(selectedStr)
+
+        if (selectedArr.length === 0 && selectedIndustryArr[0] != "一个行业") {
+            var allButton = $('#all button')
+            allButton.trigger('click')
+            $('.result .result_name').text(allButton.text())
+        }
+        if (selectedArr.length === buttons.length - 1) {
+            // 除全部行业外所有按钮都被选中了
+            $('#all button').trigger('click');
+        }
+        //调整高度
+        $(".select-area-box .list").css("margin-top", $(".result").height() + 20);
+
+
+    }
+
+    function showSelect(arr, canclick) {
+        if (!arr) return
+        arr.forEach(v => {
+            $($('.industry_item')).each(function (index, dom) {
+                if (canclick && v != "全部行业") {
+                    $('#all').children().children('button').removeClass('active');
                 }
-                if(sessionStorage.getItem("vipSubSelectTime")){
-                  timeSelect=JSON.parse(sessionStorage.getItem("vipSubSelectTime"));
+                if (v == $(dom).text()) {
+                    $(dom).addClass("active").attr({"disabled": !canclick})
                 }
-                //是否试用界面
-                if(sessionStorage.getItem("vipSubisTrial")) vipSubisTrial=true;
-              }catch(e){
-                console.log(e)
-              }
-              //已选择
-              showSelect(selectedIndustryArr,true);
-              findSelectedIndustry();
             })
-        </script>
-    </body>
+        })
+    }
+
+    function flushPrice() {
+        if (!vipSubisTrial) {
+            var price = getsubVipOrderPrice(selectedAreaObj, selectedIndustryArr, timeSelect);
+            $('.tips_d_money').css("display", "block").text('¥' + price);
+        }
+    }
+
+    // 每个button的点击事件
+    $('.select-area-box .list').on('click', 'button', function (e) {
+        $('.tips_btn .btns button').removeAttr('disabled')
+
+        $(this).toggleClass('active')
+        // 如果点击全部行业,则其他所有按钮都取消active
+        if ($(this).parents('li')[0].id === 'all') {
+            $('.select-area-box .list button').removeClass('active')
+            $('#all button').addClass('active')
+        } else {
+            $('#all button').removeClass('active')
+        }
+
+        findSelectedIndustry()
+    })
+
+    // 重置按钮事件
+    $('.reset-btn').on('click', function () {
+        $("#all .industry_item").trigger("click");
+    })
+
+    //=======================
+
+
+    // 确认按钮事件
+    $('.save-btn').on('click', function () {
+        console.log(selectedIndustryArr)
+        sessionStorage.setItem("vipSubSelectIndustry", JSON.stringify(selectedIndustryArr));
+        history.go(-1);
+    })
+
+    var selectedIndustryArr = ["一个行业"] //已选择行业
+    var selectedAreaObj = {"一个省": ["一个市"]} //计算价格临时变量
+    var timeSelect = [1, 2]//计算价格临时变量 timeSelect[0]时长  timeSelect[1] 1:年 2:月
+    var vipSubisTrial = false;
+    $(function () {
+        try {
+            if (sessionStorage.getItem("vipSubSelectIndustry")) {
+                selectedIndustryArr = JSON.parse(sessionStorage.getItem("vipSubSelectIndustry"));
+            }
+            if (sessionStorage.getItem("vipSubSelectArea")) {
+                selectedAreaObj = JSON.parse(sessionStorage.getItem("vipSubSelectArea"));
+            }
+            if (sessionStorage.getItem("vipSubSelectTime")) {
+                timeSelect = JSON.parse(sessionStorage.getItem("vipSubSelectTime"));
+            }
+            //是否试用界面
+            if (sessionStorage.getItem("vipSubisTrial")) vipSubisTrial = true;
+        } catch (e) {
+            console.log(e)
+        }
+        //已选择
+        showSelect(selectedIndustryArr, true);
+        findSelectedIndustry(true);
+    })
+</script>
+</body>
 </html>

+ 46 - 172
src/web/templates/weixin/vipsubscribe/edit_subscribe_province.html → src/web/templates/weixin/vipsubscribe/edit_city_new.html

@@ -13,39 +13,44 @@
     <link rel="stylesheet" href="/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
     <link rel="stylesheet" type="text/css" href="/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}"/>
     <link rel="stylesheet" type="text/css" href="/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}"/>
-    <!-- <link rel="stylesheet" href="/vipsubscribe/css/public.css?v={{Msg "seo" "version"}}"> -->
-    <link rel="stylesheet" href="/vipsubscribe/css/choose_area.css?v={{Msg "seo" "version"}}">
+    <!-- <link rel="stylesheet" href="/vipsubscribe/css/public.css"> -->
+    <link rel="stylesheet" href="/vipsubscribe/css/choose_area_new.css?v={{Msg "seo" "version"}}">
     <style>
+        html,body{
+            height: 100%;
+        }
         .checkbox[disabled] {
-            background: none no-repeat center center #eee !important;
+            background: none no-repeat center center #E0E0E0 !important;
         }
     </style>
 </head>
 
 <body>
 <div id="choose_area">
+    <p class="all_area" style="display: none;"> 可选择全部区域</p>
     <p class="optional_count"> 可选择省数量:<em class="count"></em> / <span class="total"></span></p>
-    <div class="result" style="top: .88rem">
+    <div class="result">
         <!-- 首次购买 显示"已选择" -----  升级订阅显示"已新增" -->
 
-        <p>已选择:<span class="result_name">安徽、河南</span></p>
+        <p>已选择:<span class="result_name"></span></p>
     </div>
     <div class="form">
-        <div class="select-area-box">
+        <div class="select-area-box" style="padding-bottom: 0;">
             <ul class="area-list">
-                <!--<li>
-                    <div class="tab whole" style="display:none">
+                <li>
+                    <div class="tab whole">
                         <div class="province">
                             <input type="checkbox" class="checkbox other">全国
                         </div>
                     </div>
-                </li>-->
+                </li>
                 <li class="index" id="A">A</li>
                 <li>
                     <div class="tab">
                         <div class="province">
                             <input type="checkbox" class="checkbox">安徽
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -81,6 +86,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">福建
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -90,6 +96,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">广东
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -98,6 +105,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">广西
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -106,6 +114,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">贵州
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -114,6 +123,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">甘肃
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -123,6 +133,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">河北
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -131,6 +142,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">湖北
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -139,6 +151,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">黑龙江
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -147,6 +160,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">海南
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -155,6 +169,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">河南
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -163,6 +178,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">湖南
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -172,6 +188,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">吉林
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -180,6 +197,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">江苏
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -188,6 +206,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">江西
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -197,6 +216,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">辽宁
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -206,6 +226,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">内蒙古
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -214,6 +235,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">宁夏
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -223,6 +245,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">青海
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -232,6 +255,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">山西
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -240,6 +264,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">陕西
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -256,6 +281,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">山东
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -264,6 +290,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">四川
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -290,6 +317,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">西藏
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -298,6 +326,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">新疆
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -315,6 +344,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">云南
                         </div>
+                        <span><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -324,6 +354,7 @@
                         <div class="province">
                             <input type="checkbox" class="checkbox">浙江
                         </div>
+                        <span class="down-icon"><i class="icon iconfont">&#xe600;</i></span>
                     </div>
                     <div class="tab_content clearfix"></div>
                 </li>
@@ -332,8 +363,8 @@
     </div>
     <div class="tips_btn">
         <div class="btns">
-            <button class="reset-btn" id="cancel">取消</button>
-            <button disabled class="save-btn" id="enter">确认修改</button>
+            <button class="reset-btn" id="cancel">重置</button>
+            <button class="save-btn" id="enter">确认修改</button>
         </div>
     </div>
     <div class="slide">
@@ -356,168 +387,11 @@
     </div>
 </div>
 <script src="/vipsubscribe/js/jquery-2.1.4.js?v={{Msg "seo" "version"}}"></script>
-<script src="/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}"></script>
+<script src="/vipsubscribe/js/fastclick.js?v={{Msg "seo" "version"}}"></script>
 <script src="/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
-<script>
-    //加载数据
-    var EditProvince = {
-        reqData: {},
-        selectlast: [],//上次修改的省份
-        selectedArr: [],//当前选择的省份
-        init: function () {
-            this.getData();
-            this.showData();//初始化页面展示
-            this.initClick();//初始化点击事件
-        },
-        getData: function () {
-            //加载数据
-            $DoPost("/subscribepay/editSub/getSubBuyMsg", {}, function (r) {
-                if (r.success) {
-                    EditProvince.reqData = r.data;
-                }
-            }, false);
-            console.log(EditProvince.reqData);
-        },
-        showData: function () {
-
-            $(".total").text(this.reqData.buyerclasscount);
-            var num = getAreaClassArr(EditProvince.reqData.area);//已选择多少省份
-            $(".select-area-box ul li:not('.index')").each(function () {
-                var text = $(this).find(".province").text().trim();
-                num[0].forEach(v => {
-                    if (v == text) {
-                        $(this).children().children('.province').children('input').prop('checked', true);
-                    }
-                });
-                //不能选中单独购买的城市的省份
-                Object.keys(EditProvince.reqData.buyset.citys).forEach(v => {
-                    if (v == text) {
-                        if (($(this).prev().hasClass("index") && $(this).next().hasClass("index")) || !$(this).next().html()) {
-                            var zimu = $(this).prev().text().trim();
-                            $('.slide a').each(function () {
-                                if (zimu == $(this).text().trim()) {
-                                    $(this).remove();
-                                }
-                            });
-                            $(this).prev().remove();
-                        }
-                        $(this).remove();
-                    }
-                })
-            });
-            EditProvince.selectlast = num[0];
-            $(".count").text(num[0].length);
-            $(".total").text(EditProvince.reqData.buyset.areacount);
-        },
-        initClick: function () {
-            // 锚点跳转
-            $("body").on('click', '.slide a', function () {
-                var s = $(this).html();
-                if (s == '#') {
-                    return;
-                }
-                document.querySelector('#' + s).scrollIntoView({block: 'center'});
-            });
-
-            $('.province .checkbox').on('change', function () {
-                EditProvince.getResult(true);
-            });
-
-            // 取消按钮事件 返回上一页
-            $('#cancel').click(function () {
-                window.history.go(-1)
-            });
-            // 确定修改事件
-            $('#enter').click(function () {
-                $("#enter").attr("disabled", "disabled");
-                //删除所选省份
-                for (var i in EditProvince.reqData.area) {
-                    let citys = EditProvince.reqData.area[i];
-                    if (citys.length == 0) {
-                        if (i == "全国") {
-                            continue
-                        }
-                        delete EditProvince.reqData.area[i];
-                    }
-                }
-                //添加所选省份
-                for (var i in EditProvince.selectedArr) {
-                    EditProvince.reqData.area[EditProvince.selectedArr[i]] = [];
-                }
-
-                $DoPost("/subscribepay/editSub/submit", {
-                    "type": "area",
-                    "value": JSON.stringify(EditProvince.reqData.area)
-                }, function (r) {
-                    if (r.success) {
-                        window.location.replace('/front/vipsubscribe/submitEditSubFinish');
-                    }
-                }, false);
-                $("#enter").removeAttr("disabled");
-            });
-            this.getResult();
-        },
-        getResult: function (showTip) {
-            EditProvince.selectedArr = []; //选中的省份数组
-            $('.result_name').empty();
-            $(".province").find(".checkbox:checked").each(function () {
-                EditProvince.selectedArr.push($(this).parent().text().trim());
-            });
-
-            if (EditProvince.selectedArr.length == $(".province .checkbox").length - 1) {//选中了全部省份
-                $('.checkbox.other').trigger('click');
-                return
-            }
-
-            if (EditProvince.selectedArr[0] == "全国") {
-                $(".count").text("all");
-            } else {
-                $(".count").text(EditProvince.selectedArr.length);
-            }
-
-            //是否还能继续选择
-            if (EditProvince.selectedArr.length >= EditProvince.reqData.buyset.areacount) {
-                if (showTip) {
-                    this.showTip(`<span style="white-space: nowrap;">您只购买了${EditProvince.reqData.buyset.areacount}个省份,如需更多请升级<span></p>`);
-                }
-                $(".province .checkbox:not(:checked)").attr('disabled', 'disabled');
-            } else {
-                $(".province .checkbox:not(:checked)").removeAttr('disabled');
-            }
-
-            // 渲染选择结果
-            console.log(EditProvince.selectedArr);
-            var html = '';
-            for (var i = 0; i < EditProvince.selectedArr.length; i++) {
-                if (i != EditProvince.selectedArr.length - 1) {
-                    html += '<span>' + EditProvince.selectedArr[i] + '、' + '</span>'
-                } else {
-                    html += '<span>' + EditProvince.selectedArr[i] + '</span>'
-                }
-            }
-            $('.result_name').append(html);
-            $('.form').css("margin-top", $(".optional_count").height() + $(".result").height() + 20);
-            //是否提交
-            if (EditProvince.noChange(EditProvince.selectlast, EditProvince.selectedArr) || EditProvince.selectedArr.length == 0) {
-                $('#enter').attr('disabled', 'disabled')
-            } else {
-                $('#enter').removeAttr('disabled')
-            }
-        },
-        noChange: function (arr1, arr2) {
-            return JSON.stringify(arr1.sort()) === JSON.stringify(arr2.sort());
-        },
-        showTip: function (msg) {
-            weui.toast(msg, {
-                duration: 2000,
-                className: 'custom-toast',
-            });
-        }
-    };
-    $(function () {
-        EditProvince.init();
-    })
-</script>
+<script src="/vipsubscribe/js/mapJSON.js?v={{Msg "seo" "version"}}"></script>
+<script src="/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}"></script>
+<script src="/vipsubscribe/js/editArea.js?v={{Msg "seo" "version"}}"></script>
 </body>
 
 </html>

+ 25 - 42
src/web/templates/weixin/vipsubscribe/edit_subscribe.html

@@ -18,36 +18,22 @@
 <div class="vip_subscribe_edit">
     <div class="edit_content">
         <!-- 购买的全国则不显示可修改区域 -->
-        <div class="title">可修改区域</div>
-        <a data_href="/front/vipsubscribe/toEditSubAllArea" class="edit_item allArea" style="display:none">
+        <div class="title"></div>
+        <a data_href="/front/vipsubscribe/toEditSubAreaPage" class="edit_item area">
             <div class="item_top">
-                <span>全国</span>
+                <span>区域</span>
+                <div class="item_bottom"></div>
                 <i class="iconfont icon-arrow"></i>
             </div>
-            <div class="item_bottom"></div>
-        </a>
-        <a data_href="/front/vipsubscribe/toEditSubProvPage" class="edit_item province" style="display:none">
-            <div class="item_top">
-                <span></span>
-                <i class="iconfont icon-arrow"></i>
-            </div>
-            <div class="item_bottom"></div>
-        </a>
-        <a data_href="/front/vipsubscribe/toEditSubCityPage" class="edit_item city" style="display:none">
-            <div class="item_top">
-                <span></span>
-                <i class="iconfont icon-arrow"></i>
-            </div>
-            <div class="item_bottom"></div>
         </a>
         <!-- 购买的全行业则不显示可修改行业 -->
-        <div class="title">可修改行业</div>
+        <div class="title"></div>
         <a data_href="/front/vipsubscribe/toEditSubInduPage" class="edit_item industry">
             <div class="item_top">
-                <span></span>
+                <span>行业</span>
+                <div class="item_bottom"></div>
                 <i class="iconfont icon-arrow"></i>
             </div>
-            <div class="item_bottom"></div>
         </a>
     </div>
     <!--
@@ -80,40 +66,37 @@
             }, false)
         },
         showData: function () {
-            //展示已选择省份 和 城市
-            var area = this.reqData.area;
-            var num = getAreaClassArr(area);
-
             //判断是否可编辑
-            if (this.reqData.buyset.areacount == -1) { //显示编辑全国
-                $(".allArea").css("display", "");
-                var tmpArr = num[0].concat(num[1]);
-                $(".edit_item.allArea .item_bottom").text(tmpArr.join("、"));
+            if (this.reqData.buyset.areacount === -1) { //显示编辑全国
+                $(".edit_item.area .item_bottom").text("已购买全国");
             } else {
-                if (this.reqData.buyset.areacount > 0) { //显示编辑省
-                    $(".province").css("display", "");
-                    $(".edit_item.province span").text(this.reqData.buyset.areacount + "个省");
-                    $(".edit_item.province .item_bottom").text(num[0].join("、"));
-                }
+                //展示已选择省份 和 城市
+                let cityCount = 0;
                 if (!$.isEmptyObject(this.reqData.buyset.citys)) { //显示编辑市
-                    var cityCount = 0
                     for (var i in this.reqData.buyset.citys) {
                         cityCount += this.reqData.buyset.citys[i]
                     }
                     $(".city").css("display", "");
                     $(".edit_item.city span").text(cityCount + "个市");
-                    $(".edit_item.city .item_bottom").text(num[1].join("、"));
                 }
+                let descText = "";
+                if (this.reqData.buyset.areacount > 0) {
+                    descText = "已购买" + this.reqData.buyset.areacount + "个省级区域"
+                }
+                if (cityCount > 0) {
+                    if (this.reqData.buyset.areacount > 0) {
+                        descText += "、"
+                    }
+                    descText += cityCount + "个地级市"
+                }
+                $(".edit_item.area .item_bottom").text(descText);
             }
 
             //行业展示                 
-            if (this.reqData.buyset.buyerclasscount == -1) {
-                $(".edit_item.industry span").text("全部行业");
+            if (this.reqData.buyset.buyerclasscount === -1) {
+                $(".edit_item.industry .item_bottom").text("已购买全国");
             } else {
-                $(".edit_item.industry span").text(this.reqData.buyset.buyerclasscount + "个行业");
-            }
-            if (this.reqData.industry.length > 0) {
-                $(".edit_item.industry .item_bottom").text(SortArr(this.reqData.industry).join("、"));
+                $(".edit_item.industry .item_bottom").text("已购买" + this.reqData.buyset.buyerclasscount + "个行业");
             }
 
         },

+ 0 - 712
src/web/templates/weixin/vipsubscribe/edit_subscribe_allArea.html

@@ -1,712 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
-    <meta charset="utf-8">
-    <title>区域修改</title>
-    <meta name="viewport"
-        content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
-    <meta http-equiv="X-UA-Compatible" content="ie=edge">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <script src="/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
-    <link rel="stylesheet" href="/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
-    <link rel="stylesheet" type="text/css" href="/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}" />
-    <link rel="stylesheet" type="text/css" href="/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}" />
-    <!-- <link rel="stylesheet" href="/vipsubscribe/css/public.css?v={{Msg "seo" "version"}}"> -->
-    <link rel="stylesheet" href="/vipsubscribe/css/choose_area.css?v={{Msg "seo" "version"}}">
-    <style>
-        .checkbox[disabled]{background: none no-repeat center center #eee!important;}
-        .city[disabled]{background: #F4F4F9;color: #1D1D1D;}
-    </style>
-</head>
-
-<body>
-    <div id="choose_area">
-        <!--<p class="optional_count"> 可选择市数量:<em class="count"></em> / <span class="total">11</span></p>-->
-        <div class="result">
-            <p class="result_text line_two">
-              已选择:<span class="result_name"></span>
-              <a href="javascript:;" class="detail">详情</a>
-            </p>
-            <a href="javascript:;" class="packup" style="display: none;">收起</a>
-        </div>
-        <div class="form">
-            <div class="select-area-box">
-                <ul class="area-list">
-                    <li>
-                        <div class="tab whole">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox other">全国
-                            </div>
-                        </div>
-                    </li>
-                    <li class="index" id="A">A</li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">安徽
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li>
-                        <div class="tab municipality">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">澳门
-                            </div>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li class="index" id="B">B</li>
-                     <li>
-                        <div class="tab municipality">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">北京
-                            </div>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li class="index" id="C">C</li>
-                    <li>
-                        <div class="tab municipality">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">重庆
-                            </div>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li class="index" id="F">F</li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">福建
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li class="index" id="G">G</li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">广东
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">广西
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">贵州
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">甘肃
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li class="index" id="H">H</li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">河北
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">湖北
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">黑龙江
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">海南
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">河南
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">湖南
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <p class="index" id="J">J</p>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">吉林
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">江苏
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">江西
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li class="index" id="L">L</li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">辽宁
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li class="index" id="N">N</li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">内蒙古
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">宁夏
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li class="index" id="Q">Q</li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">青海
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li class="index" id="S">S</li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">山西
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">陕西
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li>
-                        <div class="tab municipality">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">上海
-                            </div>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">山东
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">四川
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li class="index" id="T">T</li>
-                    <li>
-                        <div class="tab municipality">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">天津
-                            </div>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li>
-                        <div class="tab municipality">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">台湾
-                            </div>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li class="index" id="X">X</li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">西藏
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">新疆
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <!-- <li>
-                        <div class="tab municipality">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">香港
-                            </div>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li> -->
-                    <li class="index" id="Y">Y</li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">云南
-                            </div>
-                            <span><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                    <li class="index" id="Z">Z</li>
-                    <li>
-                        <div class="tab">
-                            <div class="province">
-                                <input type="checkbox" class="checkbox">浙江
-                            </div>
-                            <span class="down-icon"><i class="icon iconfont">&#xe600;</i></span>
-                        </div>
-                        <div class="tab_content clearfix"></div>
-                    </li>
-                </ul>
-            </div>
-        </div>
-        <div class="tips_btn">
-            <div class="btns">
-                <button class="reset-btn" id="cancel">取消</button>
-                <button disabled class="save-btn" id="enter">确认修改</button>
-            </div>
-        </div>
-        <div class="slide">
-            <a href="javascript:;">#</a>
-            <a href="javascript:;">A</a>
-            <a href="javascript:;">B</a>
-            <a href="javascript:;">C</a>
-            <a href="javascript:;">F</a>
-            <a href="javascript:;">G</a>
-            <a href="javascript:;">H</a>
-            <a href="javascript:;">J</a>
-            <a href="javascript:;">L</a>
-            <a href="javascript:;">N</a>
-            <a href="javascript:;">Q</a>
-            <a href="javascript:;">S</a>
-            <a href="javascript:;">T</a>
-            <a href="javascript:;">X</a>
-            <a href="javascript:;">Y</a>
-            <a href="javascript:;">Z</a>
-        </div>
-    </div>
-    <script src="/vipsubscribe/js/jquery-2.1.4.js?v={{Msg "seo" "version"}}"></script>
-    <script src="/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
-    <script src="/vipsubscribe/js/mapJSON.js?v={{Msg "seo" "version"}}"></script>
-    <script src="/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}"></script>
-    <script>
-        var EditArea={
-          reqData:{},
-          lastSelectObj:{},
-          init:function(){
-            this.getData();
-            this.showData();//初始化页面展示
-            this.initClick();//初始化点击事件
-          },
-          getData:function(){
-            //加载数据
-            $DoPost("/subscribepay/editSub/getSubBuyMsg",{},function(r){
-              if(r.success){
-                EditArea.reqData=r.data;
-              }
-            },false)
-            if($.isEmptyObject(EditArea.reqData.area)&&this.reqData.buyset.areacount==-1){
-              EditArea.reqData.area={"全国":[]};
-            }
-            console.log(EditArea.reqData);
-          },
-          showData:function(){
-            this.lastSelectObj = this.reqData.area;
-           
-            // 渲染城市
-            $(".select-area-box ul li:not('.index')").each(function () {
-                var text = $(this).find(".province").text().trim()
-                var data = null
-                chinaMapJSON.some(function (v) {
-                    data = v
-                    return v.name.indexOf(text) !== -1
-                })
-                var box = $(this).find('div.tab_content');
-                var html = EditArea.createMoreCity(data.city);
-                box.html(html)
-            })
-            
-            if(this.reqData.area["全国"]){
-              $('.result_name').html('全国');
-              $(".checkbox.other").prop('checked', true);
-            }else{
-              var num= getAreaClassArr(this.reqData.area);//已选择多少省份
-              // 初次渲染城市选择结果
-              $('.result_name').html(num[0].concat(num[1]).join('、'));              
-              // 将上一页带来的城市 选中
-              $('.city').each(function () {  
-                let text = $(this).text().trim();
-                num[1].forEach(v =>{
-                    if(v == text){
-                        $(this).addClass('active').parent().siblings('.tab').find('input').prop('checked',true);
-                    }
-                })
-              })
-              $('.province').each(function(){
-                let text = $(this).text().trim();
-                num[0].forEach(v =>{
-                  if(v == text){
-                    $(this).find('input').prop('checked',true).parents("li").find('.city').addClass('active');
-                  }
-                })
-              })    
-            }
-            this.getResult();
-          },
-          initClick:function(){
-            $('.detail').click(function () {  
-                $('.result_text').removeClass('line_two')
-                $(".result").css("padding-bottom","0.3rem")
-                $(this).hide();
-                $('.packup').show()
-                $(".select-area-box .area-list").css("margin-top",$('.result_text').height()+25);
-            })
-            $('.packup').click(function () { 
-                $(".result").css("padding-bottom","0.2rem")
-                $('.result_text').addClass('line_two')
-                $(this).hide();
-                $('.detail').show()
-                $(".select-area-box .area-list").css("margin-top",$('.result_text').height()+25);
-            })
-            // 锚点跳转
-            $("body").on('click', '.slide a', function () {
-                var s = $(this).html()
-                if (s == '#') {
-                    return;
-                }
-                document.querySelector('#' + s).scrollIntoView({
-                    block: 'center'
-                });
-            })
-            // 阻止input checkbox选中取消 触发父元素下拉事件
-            $('.checkbox').click(function (e) {  
-                e.stopPropagation();
-            })
-            //省份点击事件
-            $('.tab .checkbox').on('click',function () {
-                if($(this).hasClass("other")){//点击全国
-                  $(".province input").prop('checked', false);
-                  $(".city").removeClass('active');
-                  $(this).prop('checked', true);
-                } else{
-                  $(".checkbox.other").prop('checked', false);
-                  if($(this).is(':checked') == false){
-                    $(this).parent().parent().siblings('.tab_content').children('.city').removeClass('active');
-                    if($(".province .checkbox:checked").length==0){//若没有省份被选中 则选中全国
-                      $(".checkbox.other").prop('checked', true);
-                    } 
-                  }else{                   
-                    $(this).parent().parent().siblings('.tab_content').children('.city').addClass('active');                    
-                  }
-                } 
-                EditArea.getResult()
-            })
-            // 省下拉市
-            $(".select-area-box .tab:not(.municipality)").on('click', function (event) {
-                if ($(this).next('.tab_content:not(:animated)').css("display") == "block") {
-                    $(this).children().children('i').css({
-                        "display": "inline-block",
-                        "transform": "rotate(0)"
-                    })
-                } else {
-                    $(this).children().children('i').css({
-                        "display": "inline-block",
-                        "transform": "rotate(-180deg)"
-                    })
-                }
-                $(this).toggleClass('selected').next('.tab_content:not(:animated)').slideToggle(500)
-                $(this).parent().siblings().children('.tab').removeClass('selected');                 
-            })
-            //城市点击事件
-            $('.tab_content').on('click', '.city', function () {
-                $(".checkbox.other").prop('checked', false);
-                $(this).toggleClass('active')
-                var isActive = $(this).parent().find('.city.active').length
-                if (isActive) {
-                    var input = $(this).parents('li').find('input.checkbox')
-                    window.input = input
-                    input.prop('checked', true)
-                    EditArea.getResult()
-                } else {
-                    $(this).parent('div').siblings('.tab').children().children('.checkbox').prop(
-                        'checked', false)
-                    if($(".province .checkbox:checked").length==0){//若没有省份被选中 则选中全国
-                      $(".checkbox.other").prop('checked', true);
-                    }    
-                    EditArea.getResult()
-                }
-            })
-            // 取消按钮事件 返回上一页
-            $('#cancel').click(function(){
-                window.history.go(-1)
-            })
-            // 确定修改事件
-            $('#enter').click(function(){
-              $("#enter").attr("disabled","disabled");
-              //提交修改
-              if(EditArea.reqData.area["全国"]){
-                EditArea.reqData.area={}
-              }
-              console.log("final select ",EditArea.reqData.area)
-              $DoPost("/subscribepay/editSub/submit",{"type":"area","value":JSON.stringify(EditArea.reqData.area)},function(r){
-                if(r.success){
-                  window.location.replace('/front/vipsubscribe/submitEditSubFinish');
-                }
-              },false)
-              $("#enter").removeAttr("disabled");  
-            })
-          },
-          createMoreCity:function(arr){
-            var tempHtml = arr.map(function (v) {
-              return '<button class="city">' + v.name + '</button>'
-            }).join('')
-            return tempHtml
-          },
-          showTip:function(msg){
-            weui.toast(msg,{
-              duration: 2000,
-              className: 'custom-toast',
-            });
-          },
-          noChange:function(arr1,arr2){//选择是否改变
-            return JSON.stringify(arr1.sort()) === JSON.stringify(arr2.sort());
-          },
-          getResult:function(){
-            this.reqData.area={};
-            if($('.city.active').length == $('.city').length){//若每个城市都选中 则显示全国
-              $('.province input').prop('checked', false);
-              $('.city').removeClass('active');
-              $('.other').prop('checked', true);
-            }
-            
-            $('.result_name').empty();
-            var data = []; //定义一个总数组
-            var cityArr =[]; //定义一个选中城市数组
-
-            if ($('.other').is(':checked')) {
-              data =[{name:"全国",children:[]}] //全国
-            }
-            $(".tab_content").find(".city.active:not('[disabled]')").each(function () {
-                var length = $(this).parent('.tab_content').find('.city').length; //省份下城市的length
-                var activeLeng = $(this).parent('.tab_content').find('.city.active').length; //省份下选中城市的length
-                let arr =[];
-                // 判断省份下的城市是否等于选中的城市长度,相等就是全部选中
-                if (length == activeLeng) {
-                    $('.tips_btn .tips_d_text').hide()
-                    let province = $(this).parent('.tab_content').siblings('.tab:not(.whole)').children('.province').text().trim();
-                    data.push({
-                        name:province,
-                        children:[]
-                    })
-                } else { 
-                    let province = $(this).parent('.tab_content').siblings('.tab:not(.whole)').children('.province').text().trim();
-                    let city = $(this).html()
-                    arr.push({name:city,parent:province})
-                    for(let i =0;i<arr.length;i++){
-                        let obj ={};
-                        obj.name = arr[i].name;
-                        obj.parent = arr[i].parent;
-                        cityArr.push(obj)
-                    }
-                    data.push({
-                        name:province,
-                        children:cityArr
-                    })
-                }
-            })
-            //数组对象去重
-            let obj = {};
-            data = data.reduce((cur,next) =>{
-                obj[next.name] ? "" : obj[next.name] = true && cur.push(next);
-                return cur
-            },[]) 
-            // 数组筛选
-            let result = data.map(v =>{
-                let filterArr = v.children.filter(s =>{
-                   return s.parent === v.name
-                })
-                return {
-                    name:v.name,
-                    children:filterArr
-                }
-            })
-            var html = '';
-            for (var i = 0; i < result.length; i++) {
-                let children = result[i].children;
-                if( children.length >0){
-                    // 判断每个省份下选中的城市长度,当大于等于4的时候 弹出"选择全省更划算的弹窗"
-                    let childrenArr=[];
-                    if (children.length >= 4) {
-                        $('.tips_btn .tips_d_text').show()
-                    } 
-                    html += `${result[i].name}(`
-                    for(var j = 0;j < children.length;j++){
-                        childrenArr.push(children[j].name)
-                        if (j != children.length - 1) {
-                            html += `${children[j].name}、`
-                        } else {
-                            html += `${children[j].name}`
-                        }
-                    }
-                    if(i !=result.length -1){
-                        html += `)、`
-                    }else{
-                        html += `)`
-                    }
-                    this.reqData.area[result[i].name]=childrenArr;//
-                }else{
-                    if(i !=result.length -1){
-                        html += `${result[i].name}、`
-                    }else{
-                        html += `${result[i].name}`
-                    }
-                    this.reqData.area[result[i].name]=[];//
-                }
-            }
-            $('.result_name').append(html);
-            $(".select-area-box .area-list").css("margin-top",$('.result').height()+25);
-            this.isOpen();
-            if(this.noChange(this.lastSelectObj,this.reqData.area)){
-              $("#enter").attr("disabled","disabled");  
-            }else{
-              $("#enter").removeAttr("disabled");  
-            }
-            console.log(this.reqData.area)
-          },
-          noChange:function(obj1,oj2){
-            var tmp1 = getAreaClassArr(obj1);
-            var tmp2 = getAreaClassArr(oj2);
-            return (JSON.stringify(tmp1[0].sort()) === JSON.stringify(tmp2[0].sort()))&&(JSON.stringify(tmp1[1].sort()) === JSON.stringify(tmp2[1].sort()));
-          },
-          isOpen:function(){
-            let pHeight = $('.result_text').height()
-            let minHeight = $('.result_text').css('min-height')
-            let rows = Math.round(Math.round(pHeight)/ parseFloat(minHeight));
-            $(".select-area-box .area-list").css("margin-top",$('.result_text').height()+25);
-            console.log("高度:"+ pHeight,"最小高度"+ minHeight,"行数:" + rows)
-            if(rows == 1){
-                $('.packup').hide()
-                $('.detail').hide()
-            }else if(rows == 2){
-                console.log($('.result_name').html().trim().length)
-                let length = $('.result_name').html().trim().length;
-                if(length >= 50){
-                    $('.detail').show()
-                    $('.packup').hide()
-                }else{
-                    $('.detail').hide()
-                    $('.packup').hide()
-                }
-                
-            } else{
-                $('.packup').show()
-                $('.detail').hide()
-            }
-          }
-        }
-        $(function(){
-          EditArea.init();
-        })
-   
-    </script>
-</body>
-
-</html>

+ 0 - 686
src/web/templates/weixin/vipsubscribe/edit_subscribe_city.html

@@ -1,686 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
-    <meta charset="utf-8">
-    <title>区域修改</title>
-    <meta name="viewport"
-          content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
-    <meta http-equiv="X-UA-Compatible" content="ie=edge">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <script src="/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
-    <link rel="stylesheet" href="/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
-    <link rel="stylesheet" type="text/css" href="/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}"/>
-    <link rel="stylesheet" type="text/css" href="/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}"/>
-    <!-- <link rel="stylesheet" href="/vipsubscribe/css/public.css?v={{Msg "seo" "version"}}"> -->
-    <link rel="stylesheet" href="/vipsubscribe/css/choose_area.css?v={{Msg "seo" "version"}}">
-    <style>
-        .checkbox[disabled] {
-            background: none no-repeat center center #eee !important;
-        }
-
-        .city[disabled] {
-            background: #F4F4F9;
-            color: #1D1D1D;
-        }
-    </style>
-</head>
-
-<body>
-<div id="choose_area">
-    <p class="optional_count" style="position: fixed;width: 100%;top: 0px;"> 可选择市数量:<em class="count"></em> / <span
-                class="total">11</span></p>
-    <div class="result" style="top:0.88rem">
-        <!-- 首次购买 显示"已选择" -----  升级订阅显示"已新增" -->
-        <p class="result_text line_two">
-            已选择:<span class="result_name"></span>
-            <a href="javascript:;" class="detail">详情</a>
-        </p>
-        <a href="javascript:;" class="packup" style="display: none;">收起</a>
-    </div>
-    <div class="form">
-        <div class="select-area-box">
-            <ul class="area-list">
-                <!-- <li>
-                    <div class="tab whole">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox other">全国
-                        </div>
-                    </div>
-                </li> -->
-                <li class="index" id="A">A</li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">安徽
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <!-- <li>
-                    <div class="tab municipality">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">澳门
-                        </div>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li> -->
-                <!-- <li class="index" id="B">B</li> -->
-                <!-- <li>
-                    <div class="tab municipality">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">北京
-                        </div>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li> -->
-                <!-- <li class="index" id="C">C</li> -->
-                <!-- <li>
-                    <div class="tab municipality">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">重庆
-                        </div>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li> -->
-                <li class="index" id="F">F</li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">福建
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li class="index" id="G">G</li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">广东
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">广西
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">贵州
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">甘肃
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li class="index" id="H">H</li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">河北
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">湖北
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">黑龙江
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">海南
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">河南
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">湖南
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <p class="index" id="J">J</p>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">吉林
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">江苏
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">江西
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li class="index" id="L">L</li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">辽宁
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li class="index" id="N">N</li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">内蒙古
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">宁夏
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li class="index" id="Q">Q</li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">青海
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li class="index" id="S">S</li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">山西
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">陕西
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <!-- <li>
-                    <div class="tab municipality">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">上海
-                        </div>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li> -->
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">山东
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">四川
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <!-- <li class="index" id="T">T</li> -->
-                <!-- <li>
-                    <div class="tab municipality">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">天津
-                        </div>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li> -->
-                <!-- <li>
-                    <div class="tab municipality">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">台湾
-                        </div>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li> -->
-                <li class="index" id="X">X</li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">西藏
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">新疆
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <!-- <li>
-                    <div class="tab municipality">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">香港
-                        </div>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li> -->
-                <li class="index" id="Y">Y</li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">云南
-                        </div>
-                        <span><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-                <li class="index" id="Z">Z</li>
-                <li>
-                    <div class="tab">
-                        <div class="province">
-                            <input type="checkbox" class="checkbox">浙江
-                        </div>
-                        <span class="down-icon"><i class="icon iconfont">&#xe600;</i></span>
-                    </div>
-                    <div class="tab_content clearfix"></div>
-                </li>
-            </ul>
-        </div>
-    </div>
-    <div class="tips_btn">
-        <div class="btns">
-            <button class="reset-btn" id="cancel">取消</button>
-            <button disabled class="save-btn" id="enter">确认修改</button>
-        </div>
-    </div>
-    <div class="slide">
-        <a href="javascript:;">#</a>
-        <a href="javascript:;">A</a>
-        <!--<a href="javascript:;">B</a>
-        <a href="javascript:;">C</a>-->
-        <a href="javascript:;">F</a>
-        <a href="javascript:;">G</a>
-        <a href="javascript:;">H</a>
-        <a href="javascript:;">J</a>
-        <a href="javascript:;">L</a>
-        <a href="javascript:;">N</a>
-        <a href="javascript:;">Q</a>
-        <a href="javascript:;">S</a>
-        <!--<a href="javascript:;">T</a>-->
-        <a href="javascript:;">X</a>
-        <a href="javascript:;">Y</a>
-        <a href="javascript:;">Z</a>
-    </div>
-</div>
-<script src="/vipsubscribe/js/jquery-2.1.4.js?v={{Msg "seo" "version"}}"></script>
-<script src="/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
-<script src="/vipsubscribe/js/mapJSON.js?v={{Msg "seo" "version"}}"></script>
-<script src="/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}"></script>
-<script>
-    var EditCity = {
-        reqData: {},
-        selectObj: {},//上次修改的地区
-        init: function () {
-            this.getData();
-            this.showData();//初始化页面展示
-            this.initClick();//初始化点击事件
-        },
-        getData: function () {
-            //加载数据
-            $DoPost("/subscribepay/editSub/getSubBuyMsg", {}, function (r) {
-                if (r.success) {
-                    EditCity.reqData = r.data;
-                }
-            }, false);
-            console.log(EditCity.reqData);
-        },
-        showData: function () {
-            var num = getAreaClassArr(this.reqData.area);//已选择多少省市
-            var cityCount = 0;
-            for (var i in this.reqData.buyset.citys) {
-                cityCount += this.reqData.buyset.citys[i];
-            }
-            // 渲染可选择城市总数
-            $('.total').html(cityCount);
-            $('.count').html(num[1].length);
-            // 初次渲染城市选择结果
-            $('.result_name').html(num[1].join('、'));
-            // 渲染城市
-            $(".select-area-box ul li:not('.index')").each(function () {
-                var text = $(this).find(".province").text().trim();
-                //只显示购买城市的省份
-                if (EditCity.reqData.buyset.citys[text]) {
-                    var data = null;
-                    chinaMapJSON.some(function (v) {
-                        data = v;
-                        return v.name.indexOf(text) !== -1
-                    });
-                    var box = $(this).find('div.tab_content');
-                    var html = EditCity.createMoreCity(data.city);
-                    box.attr("count", EditCity.reqData.buyset.citys[text]).html(html);
-                    box.prev().find(".checkbox").attr("disabled", "disabled");
-                }
-            });
-
-            //删除其他城市
-            $(".tab_content").each(function () {
-                if (!$(this).attr("count")) {
-                    if (($(this).parents("li").prev().hasClass("index") && $(this).parents("li").next().hasClass("index")) || !$(this).parents("li").next().html()) {
-                        var zimu = $(this).parents("li").prev().text().trim();
-                        $('.slide a').each(function () {
-                            if (zimu == $(this).text().trim()) {
-                                $(this).remove();
-                            }
-                        });
-                        $(this).parents("li").prev().remove();
-                    }
-                    $(this).parents("li").remove();
-                }
-            });
-
-            //选中已选择城市
-            $('.city').each(function () {
-                let text = $(this).text().trim();
-                num[1].forEach(v => {
-                    if (v == text) {
-                        $(this).addClass('active');
-                    }
-                });
-                EditCity.checkFull($(this))
-            });
-            this.getSelectAreaObj();
-        },
-        checkFull: function (obj, showtip) {//该省份下 是否选择满
-            let count = obj.parent().attr("count");
-            let selected = obj.parent().find(".city.active").length;
-            if (selected >= count) {
-                obj.parent().find(".city:not(.active)").attr("disabled", "disabled");
-                if (showtip) {
-                    this.showTip(`<span style="white-space: nowrap;">您只购买了${count}个城市,如需更多请升级<span></p>`)
-                }
-            } else {
-                obj.parent().find(".city:not(.active)").removeAttr("disabled", "disabled");
-            }
-        },
-        initClick: function () {
-            $('.detail').click(function () {
-                $('.result_text').removeClass('line_two');
-                $(".result").css("padding-bottom", "0.3rem");
-                $(this).hide();
-                $('.packup').show();
-                $('.select-area-box').css("margin-top", $(".optional_count").height() + $('.result_text').height() + 25);
-            });
-            $('.packup').click(function () {
-                $(".result").css("padding-bottom", "0.2rem");
-                $('.result_text').addClass('line_two');
-                $(this).hide();
-                $('.detail').show();
-                $('.select-area-box').css("margin-top", $(".optional_count").height() + $('.result_text').height() + 25);
-            });
-            // 锚点跳转
-            $("body").on('click', '.slide a', function () {
-                var s = $(this).html();
-                if (s == '#') {
-                    return;
-                }
-                document.querySelector('#' + s).scrollIntoView({
-                    block: 'center'
-                });
-            });
-            // 阻止input checkbox选中取消 触发父元素下拉事件
-            $('.checkbox').click(function (e) {
-                e.stopPropagation();
-            });
-            // 省下拉市
-            $(".select-area-box .tab:not(.municipality)").on('click', function (event) {
-                if ($(this).next('.tab_content:not(:animated)').css("display") == "block") {
-                    $(this).children().children('i').css({
-                        "display": "inline-block",
-                        "transform": "rotate(0)"
-                    })
-                } else {
-                    $(this).children().children('i').css({
-                        "display": "inline-block",
-                        "transform": "rotate(-180deg)"
-                    })
-                }
-                $(this).toggleClass('selected').next('.tab_content:not(:animated)').slideToggle(500);
-                $(this).parent().siblings().children('.tab').removeClass('selected');
-            });
-            //点击城市            
-            $('.tab_content').on('click', '.city', function () {
-                $(this).toggleClass('active');
-                EditCity.checkFull($(this), true);
-                EditCity.getSelectAreaObj()
-            });
-            // 取消按钮事件 返回上一页
-            $('#cancel').click(function () {
-                window.history.go(-1)
-            });
-            // 确定修改事件
-            $('#enter').click(function () {
-                $("#enter").attr("disabled", "disabled");
-                //更新 reqData.areaSelect
-                for (var i in EditCity.selectObj) {
-                    EditCity.reqData.area[i] = EditCity.selectObj[i];
-                }
-                //提交修改
-                console.log("final select ", EditCity.reqData.area);
-                $DoPost("/subscribepay/editSub/submit", {
-                    "type": "area",
-                    "value": JSON.stringify(EditCity.reqData.area)
-                }, function (r) {
-                    if (r.success) {
-                        window.location.replace('/front/vipsubscribe/submitEditSubFinish');
-                    }
-                }, false);
-                $("#enter").removeAttr("disabled");
-            })
-        },
-        createMoreCity: function (arr) {
-            var tempHtml = arr.map(function (v) {
-                // v.name.replace(/市$/g, '')
-                return '<button class="city">' + v.name + '</button>'
-            }).join('');
-            return tempHtml
-        },
-        showTip: function (msg) {
-            weui.toast(msg, {
-                duration: 2000,
-                className: 'custom-toast',
-            });
-        },
-        getSelectAreaObj: function () {
-            $('.result_name').empty();
-            var selectObj = {};
-            var data = []; //定义一个总数组
-            var cityArr = []; //定义一个选中城市数组
-            $(".tab_content").find(".city.active:not('[disabled]')").each(function () {
-                var length = $(this).parent('.tab_content').find('.city').length; //省份下城市的length
-                let arr = [];
-                // 判断省份下的城市是否等于选中的城市长度,相等就是全部选中
-                let province = $(this).parent('.tab_content').siblings('.tab:not(.whole)').children('.province').text().trim();
-                let city = $(this).html();
-                arr.push({name: city, parent: province});
-                for (let i = 0; i < arr.length; i++) {
-                    let obj = {};
-                    obj.name = arr[i].name;
-                    obj.parent = arr[i].parent;
-                    cityArr.push(obj)
-                }
-                data.push({
-                    name: province,
-                    children: cityArr
-                })
-
-            });
-            //数组对象去重
-            let obj = {};
-            data = data.reduce((cur, next) => {
-                obj[next.name] ? "" : obj[next.name] = true && cur.push(next);
-                return cur
-            }, []);
-            // 数组筛选
-            let result = data.map(v => {
-                let filterArr = v.children.filter(s => {
-                    return s.parent === v.name
-                });
-                return {
-                    name: v.name,
-                    children: filterArr
-                }
-            });
-            var html = '';
-            var cityCount = 0;
-            for (var i = 0; i < result.length; i++) {
-                let children = result[i].children;
-                let childrenArr = [];
-                for (var j = 0; j < children.length; j++) {
-                    childrenArr.push(children[j].name)
-                }
-                selectObj[result[i].name] = childrenArr;//
-                html += result[i].name + "(" + childrenArr.join(",") + ") ";
-                cityCount += childrenArr.length;
-            }
-            this.selectObj = selectObj;
-            $('.count').text(cityCount);
-            $('.result_name').append(html);
-            $('.select-area-box').css("margin-top", $(".optional_count").height() + $(".result").height() + 25);
-            this.isOpen();
-            if (this.noChange(this.selectObj, EditCity.reqData.area) || !this.compareArr(Object.keys(this.selectObj), Object.keys(this.reqData.buyset.citys))) {
-                $("#enter").attr("disabled", "disabled")
-            } else {
-                $("#enter").removeAttr("disabled");
-            }
-        },
-        noChange: function (obj1, obj2) {//选择是否改变
-            for (var i in obj1) {
-                if (!obj1[i] || !obj2[i]) return false;
-                if (this.compareArr(obj1[i], obj2[i])) {
-                    continue
-                } else {
-                    return false
-                }
-            }
-            return true
-        },
-        compareArr: function (arr1, arr2) {
-            return JSON.stringify(arr1.sort()) === JSON.stringify(arr2.sort());
-        },
-        isOpen: function () {
-            let pHeight = $('.result_text').height();
-            let minHeight = $('.result_text').css('min-height');
-            let rows = Math.round(Math.round(pHeight) / parseFloat(minHeight));
-            $('.select-area-box').css("margin-top", $(".optional_count").height() + $('.result_text').height() + 25);
-            if (rows == 1) {
-                $('.packup').hide();
-                $('.detail').hide();
-            } else if (rows == 2) {
-                console.log($('.result_name').html().trim().length);
-                let length = $('.result_name').html().trim().length;
-                if (length >= 50) {
-                    $('.detail').show();
-                    $('.packup').hide()
-                } else {
-                    $('.detail').hide();
-                    $('.packup').hide();
-                }
-
-            } else {
-                $('.packup').show();
-                $('.detail').hide();
-            }
-        },
-        showTip: function (msg) {
-            weui.toast(msg, {
-                duration: 2000,
-                className: 'custom-toast',
-            });
-        }
-    };
-    $(function () {
-        EditCity.init();
-    })
-</script>
-</body>
-
-</html>

+ 1 - 2
src/web/templates/weixin/vipsubscribe/keyWord.html

@@ -3,8 +3,7 @@
 
 <head>
     <meta charset="UTF-8">
-    <meta name="viewport"
-        content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
+    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
     <meta http-equiv="X-UA-Compatible" content="ie=edge">
     <title>关键词</title>
     <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>

+ 4 - 1
src/web/templates/weixin/vipsubscribe/messageType.html

@@ -11,6 +11,7 @@
 	<link rel="stylesheet" href="{{Msg "seo" "cdn"}}/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
     <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/css/common.css?v={{Msg "seo" "version"}}">
     <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
+	{{include "/common/weixin.html"}}
     <style type="text/css">
         body .industry .resetOne{
             position: fixed;
@@ -97,7 +98,9 @@
     <script src="{{Msg "seo" "cdn"}}/js/jquery-3.2.1.min.js?v=1412"></script>
     <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
     <script src="{{Msg "seo" "cdn"}}/js/common.js?v={{Msg "seo" "version"}}"></script>
-    <script>      
+	<script src="{{Msg "seo" "cdn"}}/wxswordfish/share.js?v={{Msg "seo" "version"}}1"></script>
+    <script>
+		initShare({{.T.signature}},{{.T.openid}},2,"jy_extend",{{.T.nickname}},{{.T.avatar}});
 		var hasZBGG = ""
 		var hasZBJG = ""
 		var hasZBXYXX = ""

+ 29 - 19
src/web/templates/weixin/vipsubscribe/renew_notice.html

@@ -84,39 +84,44 @@
 						var buyerclass = r.buyerclass
 						var exprie = {{.T.exprie}};
 						var vipStatus = Number(r.vipStatus);
-						var areaArr = [];
-					    var areaHtml = "";
+						var areaHtml = "";
+					    var provinceArr = [];
+					    var cityArr = [];
 					    var buyerclassArr = [];
 					    var buyerclassHtml = "";
 					    var endstime = new Date(ends).getTime();
 						if (area !== "" && area !== undefined){
 					    	for(var province in area){
 					    		var citys = area[province]
-			//		    		console.log(citys);
+				//	    		console.log(citys);
 					    		if(citys.length===0){
-					    			areaArr.push(province);
+					    			provinceArr.push(province);
 					    		}else{
 					    			for(var i in citys){
-					    				areaArr.push(citys[i]);
+					    				var city = citys[i];
+					    				cityArr.push(city);
 					    			}
 					    		}
 					    	}
-					    	areaHtml = areaArr.toString().replace(/,/g, "、");
-					    	if(checkObj(area)){
+					    	var provinceLen = provinceArr.length;
+					 		var cityLen = cityArr.length;
+					    	areaHtml = provinceLen+"个省级区域、"+cityLen+"个市";
+					    	
+							if(checkObj(area)){
 								areaHtml = "全国";
 							}
-					    	$('.area-list').text(areaHtml);
+					    	$(".area-list").text(areaHtml);
 					    }
 					    if(buyerclass !== "" && buyerclass !== undefined){
 					    	for(var i in buyerclass){
 					    		var industry = buyerclass[i];
 					    		buyerclassArr.push(industry);
+					    		buyerclassHtml = buyerclassArr.length+"个行业";
 					    	}
-					    	buyerclassHtml = buyerclassArr.toString().replace(/,/g, "、");
 					    	if(checkObj(buyerclass)){
 					    		buyerclassHtml = "全行业";
 					    	}
-							$('.industry-list').text(buyerclassHtml);
+					    	$('.industry-list').text(buyerclassHtml);
 					    }
 					    if(starts !== "" && ends !== ""){
 					    	let start = starts.toString().replace(/-/g, ".");
@@ -153,8 +158,9 @@
 					    var exprie = {{.T.exprie}};
 					    var vipStatus = Number(data.vipStatus);
 					    //
-					    var areaArr = [];
 					    var areaHtml = "";
+					    var provinceArr = [];
+					    var cityArr = [];
 					    var buyerclassArr = [];
 					    var buyerclassHtml = "";
 				//	    var dateName = "";
@@ -162,31 +168,35 @@
 					    if (area !== "" && area !== undefined){
 					    	for(var province in area){
 					    		var citys = area[province]
-			//		    		console.log(citys);
+				//	    		console.log(citys);
 					    		if(citys.length===0){
-					    			areaArr.push(province);
+					    			provinceArr.push(province);
 					    		}else{
 					    			for(var i in citys){
-					    				areaArr.push(citys[i]);
+					    				var city = citys[i];
+					    				cityArr.push(city);
 					    			}
 					    		}
 					    	}
-					    	areaHtml = areaArr.toString().replace(/,/g, "、");
-					    	if(checkObj(area)){
+					    	var provinceLen = provinceArr.length;
+					 		var cityLen = cityArr.length;
+					    	areaHtml = provinceLen+"个省级区域、"+cityLen+"个市";
+					    	
+							if(checkObj(area)){
 								areaHtml = "全国";
 							}
-					    	$('.area-list').text(areaHtml);
+					    	$(".area-list").text(areaHtml);
 					    }
 					    if(buyerclass !== "" && buyerclass !== undefined){
 					    	for(var i in buyerclass){
 					    		var industry = buyerclass[i];
 					    		buyerclassArr.push(industry);
+					    		buyerclassHtml = buyerclassArr.length+"个行业";
 					    	}
-					    	buyerclassHtml = buyerclassArr.toString().replace(/,/g, "、");
 					    	if(checkObj(buyerclass)){
 					    		buyerclassHtml = "全行业";
 					    	}
-							$('.industry-list').text(buyerclassHtml);
+					    	$('.industry-list').text(buyerclassHtml);
 					    }
 				//	    if(cycleunit !== "" && cycleunit !== undefined){
 				//	    	if(cycleunit === 1){

+ 1 - 1
src/web/templates/weixin/vipsubscribe/renew_pay.html

@@ -618,7 +618,7 @@
 			    	}
 			    	var provinceLen = provinceArr.length;
 			 		var cityLen = cityArr.length;
-			    	areaHtml = provinceLen+"个省级区域/"+cityLen+"个市";
+			    	areaHtml = provinceLen+"个省级区域"+cityLen+"个市";
 			    	
 					if(checkObj(area)){
 						areaHtml = "全国";

+ 3 - 8
src/web/templates/weixin/vipsubscribe/vip_index.html

@@ -291,16 +291,11 @@
 				            }
 							//地区
 							var area = _vipData["o_area"];
-							var _area = getAreaClassArr_index(area)
-							if (_area.length>0){
-	                        	$("._area").text(_area.join("、"));
-							}else{
-	                        	$("._area").text("全国");
-							}
+	                        $("._area").text(area);
 							//行业
-							var buyerclass =  SortArr(_vipData["a_buyerclass"]);
+							var buyerclass =  _vipData["a_buyerclass"];
 							if (buyerclass.length>0){
-	                        	$("._buyerClass").text(buyerclass.join("、"));
+	                        	$("._buyerClass").text(buyerclass.length+"个行业");
 							}else{
 	                        	$("._buyerClass").text("全部行业");
 							}

+ 27 - 10
src/web/templates/weixin/vipsubscribe/vip_order_detail.html

@@ -132,19 +132,19 @@
                     </div>
                     <div class="card-content">
                         <div class="item-list">
-                            <label>订阅区域:</label>
+                            <label class="dyqy">订阅区域:</label>
                             <ul class="item-list-parents">
                                 <li class="areaNum"></li>
                             </ul>
                         </div>
                         <div class="item-list">
-                            <label>订阅行业:</label>
+                            <label class="dyhy">订阅行业:</label>
                             <ul class="item-list-parents">
                                 <li><span class="industryNum"></span></li>
                             </ul>
                         </div>
                         <div class="item-list">
-                            <label>订阅周期:</label>
+                            <label class="dyzq">订阅周期:</label>
                             <ul class="item-list-parents">
                                 <li><span class="cyclecount"></li>
                             </ul>
@@ -213,7 +213,6 @@ try{
     $(".orderCode").text(orderCode);
     $DoPost("/subscribepay/orderListDetails/getOrderPayAllMsg",{"orderCode":orderCode},function(r){
       if(r.success){
-      	
         //下单时间
         if(r.data.order.prepay_time) {
         	$(".prepayTime").text(r.data.order.prepay_time.replace("-",".").replace("-","."));
@@ -224,11 +223,7 @@ try{
         	$(".productType").text(r.data.order.product_type+"(试用)");
         }
         //1 续费 2升级
-        if(r.data.order.vip_type==1){
-        	$(".productType").text(r.data.order.product_type+"(续费)");
-        }else if(r.data.order.vip_type==2){
-        	$(".productType").text(r.data.order.product_type+"(升级)");
-        }
+
         //价格
         $(".price").text(r.data.order.original_price/100);
         
@@ -316,6 +311,27 @@ try{
 	           $(".cyclecount").text(filterObj.cyclecount+"天")
 	      }
        }
+       
+        if(r.data.order.vip_type==1){
+        	$(".productType").text(r.data.order.product_type+"(续费)");
+        	$(".dyqy").text("续费区域:");
+        	$(".dyhy").text("续费行业:");
+        	$(".dyzq").text("续费周期:");
+        }else if(r.data.order.vip_type==2){
+        	$(".productType").text(r.data.order.product_type+"(升级)");
+        	if(filterObj.cycleunit==1){
+		        $(".cyclecount").text(filterObj.cyclecount+"年")
+		    }else if(filterObj.cycleunit==2){
+		        $(".cyclecount").text(filterObj.cyclecount+"个月")
+		    }else if(filterObj.cycleunit==3){
+		        $(".cyclecount").text(filterObj.cyclecount+"天")
+		    }else if (filterObj.cycleunit==-1){
+		        $(".cyclecount").text("不延期");
+		    }
+        	$(".dyqy").text("升级区域:");
+        	$(".dyhy").text("升级行业:");
+        	$(".dyzq").text("延长周期:");
+        }
         
         if(r.data.order.order_status==0){       	
           //未支付
@@ -412,7 +428,8 @@ try{
 	    	//倒计时 未购买
 			var create_time=r.data.order.create_time;
 			create_time=create_time.replace(/-/g,'/')
-			var clock_end = +new Date(create_time) + 172800000;
+			//var clock_end = +new Date(create_time) + 172800000;
+			var clock_end = +new Date(create_time) + 3600000;
 			setTimeFunc(clock_end); 
 			setInterval(function(){
 				setTimeFunc(clock_end);

+ 32 - 33
src/web/templates/weixin/vipsubscribe/vip_purchase.html

@@ -126,8 +126,7 @@
                         </table>
                         <dl class="tips">
                             <dt>购买须知:</dt>
-                            <dd>套餐周期内,不支持套餐降级,续费可降级;</dd>
-                            <dd>用户最多购买/续费3年套餐;</dd>
+                            <dd>套餐周期内,不支持套餐降级,即将到期时续费可降级;</dd>
                             <dd>支持套餐升级,补差价(按月进行补差价,不足一个月按一个月计算)。</dd>
                         </dl>
                     </div>
@@ -175,7 +174,7 @@
                         <div class="tips yearly_tips" style="display: none">
                             1-2年5折,3年4折
                         </div> -->
-                    <div class="tips profit_tips" style="display: none">已选择10个月,建议“按年订阅”更换算哦~</div>
+                    <div class="tips profit_tips" style="display: none">已选择10个月,建议“按年订阅”</div>
                     <div class="computed_price">¥58.0</div>
                     <div class="bd_select">
                         <div class="weui-cells weui-cells_checkbox choose-form">
@@ -370,10 +369,10 @@
                     {{end}}
                     {{if .T.again}}    //再次购买回显
                     {{if eq .T.again 1 }}
-                    var orderCode=getParam("orderCode")
+                    var orderCode = getParam("orderCode")
                     if (!sessionStorage.getItem("vipSubSelectArea") || !sessionStorage.getItem("vipSubSelectIndustry")) {
-                      $DoPost("/subscribepay/orderListDetails/getVipOrderInfo", {"orderCode":orderCode}, function (r) {
-                           if (!$.isEmptyObject(r.data.area)) {
+                        $DoPost("/subscribepay/orderListDetails/getVipOrderInfo", {"orderCode": orderCode}, function (r) {
+                            if (!$.isEmptyObject(r.data.area)) {
                                 purchase.areaSelect = r.data.area
                             } else {
                                 purchase.areaSelect = {"全国": []}
@@ -383,14 +382,14 @@
                             } else {
                                 purchase.industrySelect = ["全部行业"]
                             }
-                            if (r.timeSelect!=undefined&&r.company!=undefined){
-                           		purchase.timeSelect=[r.timeSelect,r.company];
-                            }
+//                          if (r.timeSelect!=undefined&&r.company!=undefined){
+//                         		purchase.timeSelect=[r.timeSelect,r.company];
+//                          }
                             $(".weui-icon-checked").click();
                             sessionStorage.setItem("vipSubSelectArea", JSON.stringify(purchase.areaSelect));
                             sessionStorage.setItem("vipSubSelectIndustry", JSON.stringify(purchase.industrySelect));
-                            sessionStorage.setItem("vipSubSelectTime", JSON.stringify(purchase.timeSelect));
-                          
+                            //sessionStorage.setItem("vipSubSelectTime", JSON.stringify(purchase.timeSelect));
+
                         }, false)
                     }
                     {{end}}
@@ -480,7 +479,7 @@
                     $(".number_box:eq(0)").addClass("active");
                     $("#number_box_month .month_number").text(this.timeSelect[0]);
                     if (this.timeSelect[0] >= 10) {
-                        $('.profit_tips').text("已选择" + this.timeSelect[0] + "个月,建议“按年订阅”更换算哦~").show();
+                        $('.profit_tips').text("已选择" + this.timeSelect[0] + "个月,建议“按年订阅”").show();
                     }
                 }
                 $(".info.choose_time").val(tmp);
@@ -585,7 +584,7 @@
                 var firstButton = $('#number_box_month button:first');
                 var lastButton = $('#number_box_month button:last');
                 if (currentNum >= 10) {
-                    $('.profit_tips').text("已选择" + currentNum + "个月,建议“按年订阅”更换算哦~").show();
+                    $('.profit_tips').text("已选择" + currentNum + "个月,建议“按年订阅”").show();
                 } else {
                     $('.profit_tips').hide();
                 }
@@ -749,27 +748,27 @@
             sessionStorage.removeItem("vipSubSelectTime");
             sessionStorage.removeItem("vipSub_read");
         }
-        
+
         /******* 获取url参数(正则)********/
-		function getParam(name) {
-		    var search = document.location.search;
-		    // alert(search);
-		    var pattern = new RegExp("[?&]" + name + "\=([^&]+)", "g");
-		    var matcher = pattern.exec(search);
-		    var items = null;
-		    if (null != matcher) {
-		        try {
-		            items = decodeURIComponent(decodeURIComponent(matcher[1]));
-		        } catch (e) {
-		            try {
-		                items = decodeURIComponent(matcher[1]);
-		            } catch (e) {
-		                items = matcher[1];
-		            }
-		        }
-		    }
-		    return items;
-		};
+        function getParam(name) {
+            var search = document.location.search;
+            // alert(search);
+            var pattern = new RegExp("[?&]" + name + "\=([^&]+)", "g");
+            var matcher = pattern.exec(search);
+            var items = null;
+            if (null != matcher) {
+                try {
+                    items = decodeURIComponent(decodeURIComponent(matcher[1]));
+                } catch (e) {
+                    try {
+                        items = decodeURIComponent(matcher[1]);
+                    } catch (e) {
+                        items = matcher[1];
+                    }
+                }
+            }
+            return items;
+        };
 
     </script>
 </div>

+ 243 - 47
src/web/templates/weixin/vipsubscribe/vip_upgrade.html

@@ -352,10 +352,14 @@
 				    if(r.err_msg == "get_brand_wcpay_request:ok"){
 				    	//
                     	clearSessionStorage();
+						/*
 						setTimeout(function(){
 							window.location.replace("/front/vipsubscribe/toPaySuccessPage?orderCode="+ordercode);
 						},500)
+						*/
+						checkPaySuccess(data.order);
 					}
+					
 //					}else if(r.err_msg == "get_brand_wcpay_request:cancel"){               
 ////	                	alert("开发环境【支付跳转完成】")
 //		                try{
@@ -371,6 +375,23 @@
 //	                	});
 //	  				}
   				});
+				 var interval
+				        //支付完成跳转
+				        function checkPaySuccess(orderCode){
+				        	if(interval){
+				            	clearInterval(interval);
+			        		}
+				        	interval=setInterval(function() {
+				            	$.post("/jypay/isPaySuccess", {
+											code: orderCode
+										}, function(r) {
+											if (r.success) {
+												window.location.replace("/front/vipsubscribe/toPaySuccessPage?orderCode="+ordercode);
+												clearInterval(interval);
+											}
+										})
+				         	},3000)
+				        }
   			}   
 		}catch(e){
 		  console.log(e)
@@ -975,14 +996,16 @@
         var oldMonthPrice = 0;
         var areasArr = {};
 	    var industrysArr = [];
+	    var allArea = {};
+	    var allIndustry = [];
 	    var nowRenew = "";
         function FinallyPrice(){
         	$(".save_upgrade").attr('disabled','disabled');
 	    	var nowUpgrade = "";
 			//
-			var nowMonth = new Date(startTime).getMonth()+1;
-			var nowYear = new Date(startTime).getFullYear();
-			var nowDay = new Date(startTime).getDate();
+			var nowMonth = new Date().getMonth()+1;
+			var nowYear = new Date().getFullYear();
+			var nowDay = new Date().getDate();
 			//
 			var endMonth = new Date(endTime).getMonth()+1;
 			var endYear = new Date(endTime).getFullYear();
@@ -991,6 +1014,7 @@
 			var price = "";
 //			var effect = "";
 			var buyCheck = true;
+			var cPrice = 0;
 			if(sessionStorage.buyCheck!==undefined&&sessionStorage.buyCheck!==""){
 				let bcheck = sessionStorage.buyCheck;
 				if(bcheck === "true"){
@@ -1001,26 +1025,42 @@
 			}
 			if(sessionStorage.vipSubSelectAreaUpgrade!==""&&sessionStorage.vipSubSelectAreaUpgrade!==undefined){
 				var vipArea = JSON.parse(sessionStorage.vipSubSelectAreaUpgrade);
+				for(let province in vipArea){
+		    		let citys = vipArea[province];
+		    		if(citys.length===0){
+						areasArr[province] = [];
+		    		}else{
+		    			areasArr[province] = citys;
+		    		}
+		    	}
+				for(let province in vipArea){
+		    		if(province === "全国"){
+						areasArr = {"全国":[]};
+					}
+		    	}
+				if(buyCheck){
+					$(".save_upgrade").removeAttr("disabled");
+				}
 				if(area !== ""&&area !== undefined){
 					for(let province in area){
 			    		let citys = area[province];
 			    		if(citys.length===0){
-							areasArr[province] = [];
+							allArea[province] = [];
 			    		}else{
-			    			areasArr[province] = citys;
+			    			allArea[province] = citys;
 			    		}
 			    	}
 					for(let province in vipArea){
 						let citys = vipArea[province];
-						if(areasArr[province] === undefined){
-							areasArr[province] = citys
+						if(allArea[province] === undefined){
+							allArea[province] = citys
 						}else{
 							let cityArr = [];
 							for(let i in citys){
 								cityArr.push(citys[i]);
 							}
-							for(let i in areasArr[province]){
-								cityArr.push(areasArr[province][i]);
+							for(let i in allArea[province]){
+								cityArr.push(allArea[province][i]);
 							}
 							//
 							for (var x = 0; x < cityArr.length; x++) {
@@ -1032,42 +1072,105 @@
 					            }
 					       	}
 							//
-							areasArr[province] = cityArr;
+							allArea[province] = cityArr;
 						}
 						if(province === "全国"){
-							areasArr = {"全国":[]};
+							allArea = {"全国":[]};
 						}
 					}
 				}
-				console.log($(".save_upgrade").attr("disabled"))
-				if(buyCheck){
-					$(".save_upgrade").removeAttr("disabled");
-				}
 			}else{
+				areasArr = null;
 				if(area !== ""&&area !== undefined){
 					for(let province in area){
 			    		let citys = area[province];
 			    		if(citys.length===0){
-							areasArr[province] = [];
+							allArea[province] = [];
 			    		}else{
-			    			areasArr[province] = citys;
+			    			allArea[province] = citys;
 			    		}
 			    	}
 				}
 			}
+//			if(sessionStorage.vipSubSelectAreaUpgrade!==""&&sessionStorage.vipSubSelectAreaUpgrade!==undefined){
+//				var vipArea = JSON.parse(sessionStorage.vipSubSelectAreaUpgrade);
+//				if(area !== ""&&area !== undefined){
+//					for(let province in area){
+//			    		let citys = area[province];
+//			    		if(citys.length===0){
+//							areasArr[province] = [];
+//			    		}else{
+//			    			areasArr[province] = citys;
+//			    		}
+//			    	}
+//					for(let province in vipArea){
+//						let citys = vipArea[province];
+//						if(areasArr[province] === undefined){
+//							areasArr[province] = citys
+//						}else{
+//							let cityArr = [];
+//							for(let i in citys){
+//								cityArr.push(citys[i]);
+//							}
+//							for(let i in areasArr[province]){
+//								cityArr.push(areasArr[province][i]);
+//							}
+//							//
+//							for (var x = 0; x < cityArr.length; x++) {
+//					            for (var j =x+1; j <cityArr.length; ) {
+//					                if (cityArr[x] === cityArr[j]){
+//					                    cityArr.splice(j, 1);
+//					                }
+//					                else j++;
+//					            }
+//					       	}
+//							//
+//							areasArr[province] = cityArr;
+//						}
+//						if(province === "全国"){
+//							areasArr = {"全国":[]};
+//						}
+//					}
+//				}
+//				console.log($(".save_upgrade").attr("disabled"))
+//				if(buyCheck){
+//					$(".save_upgrade").removeAttr("disabled");
+//				}
+//			}else{
+//				if(area !== ""&&area !== undefined){
+//					for(let province in area){
+//			    		let citys = area[province];
+//			    		if(citys.length===0){
+//							areasArr[province] = [];
+//			    		}else{
+//			    			areasArr[province] = citys;
+//			    		}
+//			    	}
+//				}
+//			}
+
 			console.log("areasArr",areasArr)
 			if(sessionStorage.vipSubSelectIndustryUpgrade!==""&&sessionStorage.vipSubSelectIndustryUpgrade!==undefined){
 				var vipIndustry = JSON.parse(sessionStorage.vipSubSelectIndustryUpgrade);
+				for(let i in vipIndustry){
+		    		let industry = vipIndustry[i];
+		    		industrysArr.push(industry);
+		        }
+				for(let i in vipIndustry){
+					if(industry === "全部行业"){
+						industrysArr = ["全部行业"];
+					}
+				}
 				if(buyerclass!==""&&buyerclass!==undefined){
 					for(let i in buyerclass){
 			    		let industry = buyerclass[i];
-			    		industrysArr.push(industry);
+			    		allIndustry.push(industry);
 			        }
 					for(let i in vipIndustry){
 						let industry = vipIndustry[i];
-						industrysArr.push(industry);
+						allIndustry.push(industry);
 						if(industry === "全部行业"){
-							industrysArr = ["全部行业"];
+							allIndustry = ["全部行业"];
 						}
 					}
 				}
@@ -1075,18 +1178,55 @@
 					$(".save_upgrade").removeAttr("disabled");
 				}
 			}else{
+				industrysArr = null;
 				if(buyerclass!==""&&buyerclass!==undefined){
 					for(let i in buyerclass){
 			    		let industry = buyerclass[i];
-			    		industrysArr.push(industry);
+			    		allIndustry.push(industry);
 			    	}
 			    }
 			}
 			
-			for (var x = 0; x < industrysArr.length; x++) {
-	            for (var j =x+1; j <industrysArr.length; ) {
-	                if (industrysArr[x] === industrysArr[j]){
-	                    industrysArr.splice(j, 1);
+//			if(sessionStorage.vipSubSelectIndustryUpgrade!==""&&sessionStorage.vipSubSelectIndustryUpgrade!==undefined){
+//				var vipIndustry = JSON.parse(sessionStorage.vipSubSelectIndustryUpgrade);
+//				if(buyerclass!==""&&buyerclass!==undefined){
+//					for(let i in buyerclass){
+//			    		let industry = buyerclass[i];
+//			    		industrysArr.push(industry);
+//			        }
+//					for(let i in vipIndustry){
+//						let industry = vipIndustry[i];
+//						industrysArr.push(industry);
+//						if(industry === "全部行业"){
+//							industrysArr = ["全部行业"];
+//						}
+//					}
+//				}
+//				if(buyCheck){
+//					$(".save_upgrade").removeAttr("disabled");
+//				}
+//			}else{
+//				if(buyerclass!==""&&buyerclass!==undefined){
+//					for(let i in buyerclass){
+//			    		let industry = buyerclass[i];
+//			    		industrysArr.push(industry);
+//			    	}
+//			    }
+//			}
+			if(industrysArr !== null){
+				for (var x = 0; x < industrysArr.length; x++) {
+		            for (var j =x+1; j <industrysArr.length; ) {
+		                if (industrysArr[x] === industrysArr[j]){
+		                    industrysArr.splice(j, 1);
+		                }
+		                else j++;
+		            }
+		       	}
+			}
+			for (var x = 0; x < allIndustry.length; x++) {
+	            for (var j =x+1; j <allIndustry.length; ) {
+	                if (allIndustry[x] === allIndustry[j]){
+	                    allIndustry.splice(j, 1);
 	                }
 	                else j++;
 	            }
@@ -1182,9 +1322,30 @@
 			
 			//
 			if(nowUpgradeYear >= 1){
-				let yearprice = getsubVipOrderPrice(areasArr,industrysArr,[nowUpgradeYear,1]);
-				let monthprice = getsubVipOrderPrice(areasArr,industrysArr,[nowUpgrade,2]);
-				price = yearprice + monthprice;
+				let addAreaPriceY = 0;
+				let addAreaPriceM = 0;
+				let oldAreaPriceY = 0;
+				let oldAreaPriceM = 0;
+				let addIndustryPriceY = 0;
+				let addIndustryPriceM = 0;
+				if(areasArr !== null&&industrysArr !== null){
+					addAreaPriceY = getsubVipOrderPrice(areasArr,industrysArr,[nowUpgradeYear,1]);
+					addAreaPriceM = getsubVipOrderPrice(areasArr,industrysArr,[nowUpgrade,2]);
+				}
+				if(areasArr !== null){
+					oldAreaPriceY = getsubVipOrderPrice(areasArr,buyerclass,[nowUpgradeYear,1]);
+					oldAreaPriceM = getsubVipOrderPrice(areasArr,buyerclass,[nowUpgrade,2]);
+				}
+				if(industrysArr !== null){
+					addIndustryPriceY = getsubVipOrderPrice(area,industrysArr,[nowUpgradeYear,1]);
+					addIndustryPriceM = getsubVipOrderPrice(area,industrysArr,[nowUpgrade,2]);
+				}
+				let yearprice = getsubVipOrderPrice(allArea,allIndustry,[nowUpgradeYear,1]);
+				let monthprice = getsubVipOrderPrice(allArea,allIndustry,[nowUpgrade,2]);
+//				price = yearprice + monthprice;
+				price = addAreaPriceY + addAreaPriceM + oldAreaPriceY + oldAreaPriceM + addIndustryPriceY + addIndustryPriceM;
+//				let yearprice = addAreaPriceY + oldAreaPriceY + addIndustryPriceY;
+//				let monthprice = addAreaPriceM + oldAreaPriceM + addIndustryPriceM;
 				if(monthprice === 0){
 					completeMonth = ((yearprice / nowUpgradeYear) / 10).toFixed(1);
 					completeYear = (yearprice / nowUpgradeYear).toFixed(1);
@@ -1196,16 +1357,30 @@
 				console.log("monthprice",monthprice);
 				console.log(">=1",price);
 			}else{
-				price = getsubVipOrderPrice(areasArr,industrysArr,[nowUpgrade,2]);
-				completeMonth = (price / nowUpgrade).toFixed(1);
-				completeYear = ((price / nowUpgrade)*10).toFixed(1);
+				let addAreaPriceM = 0;
+				let oldAreaPriceM = 0;
+				let addIndustryPriceM = 0;
+				if(areasArr !== null&&industrysArr !== null){
+					addAreaPriceM = getsubVipOrderPrice(areasArr,industrysArr,[nowUpgrade,2]);
+				}
+				if(areasArr !== null){
+					oldAreaPriceM = getsubVipOrderPrice(areasArr,buyerclass,[nowUpgrade,2]);
+				}
+				if(industrysArr !== null){
+					addIndustryPriceM = getsubVipOrderPrice(area,industrysArr,[nowUpgrade,2]);
+				}
+				let monthprice = getsubVipOrderPrice(allArea,allIndustry,[nowUpgrade,2]);
+//				price = getsubVipOrderPrice(areasArr,industrysArr,[nowUpgrade,2]);
+				price = addAreaPriceM + oldAreaPriceM + addIndustryPriceM;
+				completeMonth = (monthprice / nowUpgrade).toFixed(1);
+				completeYear = ((monthprice / nowUpgrade)*10).toFixed(1);
 				console.log("<1",price)
 			}
 			
 			console.log("oldPrice", oldPrice);
 			if(sessionStorage.vipSubSelectAreaUpgrade===undefined&&sessionStorage.vipSubSelectIndustryUpgrade===undefined){
-				completeMonth = oldMonthPrice
-				completeYear = oldYearPrice
+				completeMonth = oldMonthPrice;
+				completeYear = oldYearPrice;
 			}
 			console.log("completeMonth",completeMonth)
 			console.log("completeYear",completeYear)
@@ -1220,10 +1395,10 @@
 					sessionStorage.proPrice = price;
 				}
 			}
-			var cPrice = 0;
-  			if(price>0){
-  				var cPrice = (price - oldPrice).toFixed(1);
-  			}
+			
+			if(price>0){
+				var cPrice = (price).toFixed(1);
+			}
 			console.log(cPrice);
 			if(sessionStorage.proPrice!==""&&sessionStorage.proPrice!==undefined){
 				let proPrice = sessionStorage.proPrice;
@@ -1272,16 +1447,35 @@
         	//
         	let areas = areasArr;
         	let industrys = industrysArr;
-        	if(areas["全国"]){
-                areas={};
-            }
-            if(industrys.length==1&&industrys[0]=="全部行业"){
-                industrys=[];
-            }
+        	let industryArr = "";
+        	let areaArr = "";
+        	if(areas !== null){
+        		if(areas["全国"]){
+	                areas={};
+	            }
+        		areaArr = JSON.stringify(areas);
+        	}else{
+        		areaArr = "no";
+        	}
+        	if(industrys !== null){
+        		if(industrys.length==1&&industrys[0]=="全部行业"){
+	                industrys=[];
+	            }
+        		industryArr = industrys.join(",");
+        	}else{
+        		industryArr = "no";
+        	}
             //
             let areaarr = area;
         	let industryarr = buyerclass;
-        	
+        	let allAreaArr = allArea;
+        	let allIndustryArr = allIndustry;
+        	if(allAreaArr["全国"]){
+                allAreaArr={};
+            }
+        	if(allIndustryArr.length==1&&allIndustryArr[0]=="全部行业"){
+                allIndustryArr=[];
+            }
             //
             let renew_time = $('.choose_item.lengthen .info').text();
             let times = "";
@@ -1290,15 +1484,17 @@
             }
             //
 	    	var param = {
-	    		"area": JSON.stringify(areas),
-	    		"industry": industrys.join(","),
+	    		"area": areaArr,
+	    		"industry": industryArr,
 	    		"areas": JSON.stringify(areaarr),
 	    		"industryarr": industryarr.join(","),
+	    		"allArea": JSON.stringify(allAreaArr),
+	    		"allIndustry": allIndustryArr.join(","),
 	    		"payWay": "wx_js",
 //	    		"effect": effect,
 	    		"pay_source" : "Upgrade",
 	    		"time": times,
-	    		"nowUp": Number(nowRenew),
+//	    		"nowUp": Number(nowRenew),
 //	    		"isvalidOk" : isvalidOk,
 	    	}
 	    	console.log(param)

+ 0 - 1
src/web/templates/weixin/vipsubscribe/vip_viewPage.html

@@ -11,7 +11,6 @@
 	<script src="{{Msg "seo" "cdn"}}/wxswordfish/share.js?v={{Msg "seo" "version"}}"></script>
 	<script src="{{Msg "seo" "cdn"}}/js/dropload.js?v={{Msg "seo" "version"}}"></script>
 	<script src="{{Msg "seo" "cdn"}}/js/fastclick.js?v={{Msg "seo" "version"}}"></script>
-	<script src="{{Msg "seo" "cdn"}}/wxswordfish/share.js?v={{Msg "seo" "version"}}1"></script>
     <script>
 		initShare({{.T.signature}},{{.T.openid}},2,"jy_extend",{{.T.nickname}},{{.T.avatar}});
 		var zbadd = {{Msg "seo" "ZBADDRESS"}};

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott