Selaa lähdekoodia

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

wcj 5 vuotta sitten
vanhempi
commit
0264e098ce

+ 888 - 0
src/jfw/modules/app/src/web/templates/vipsubscribe/choose_area_upgrade.html

@@ -0,0 +1,888 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <title>区域选择</title>
+    <meta name="viewport" content="initial-scale=1, maximum-scale=1">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <meta name="apple-mobile-web-app-status-bar-style" content="black">
+    <script src="/jyapp/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
+    <link rel="stylesheet" href="/jyapp/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
+    <link rel="stylesheet" type="text/css" href="/jyapp/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}" />
+    <link rel="stylesheet" type="text/css" href="/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}" />
+    <link rel="stylesheet" href="/jyapp/vipsubscribe/css/public.css?v={{Msg "seo" "version"}}">
+    <link rel="stylesheet" href="/jyapp/vipsubscribe/css/choose_area.css?v={{Msg "seo" "version"}}4">
+	{{include "/common/weixin.html"}}
+</head>
+<style type="text/css">
+	body,html {
+		height: 100%;
+	}
+</style>
+<body>
+    <div id="choose_area" >
+        <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="tips_discount">
+                <!--<div class="tips_d_money" style="display: block">&yen;38</div>-->
+                <div class="tips_d_text citys">已选择4个市,建议购买“全省”更划算哦~</div>
+                <div class="tips_d_text all">已选择10个省,建议购买“全国”更划算哦~</div>
+            </div>
+            <div class="btns">
+                <button class="reset-btn">重置</button>
+                <button class="save-btn">确认</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="/jyapp/vipsubscribe/js/jquery-2.1.4.js?v={{Msg "seo" "version"}}"></script>
+    <!--<script src="/vipsubscribe/js/fastclick.js?v={{Msg "seo" "version"}}"></script>-->
+    <script src="/jyapp/vipsubscribe/js/mapJSON.js?v={{Msg "seo" "version"}}"></script>
+    <script src="/jyapp/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}"></script>
+    <script>
+    	//已购买
+    	var buystr = "";
+        $DoPost("/subscribepay/renewUpgrade/getBuyMsg", {}, function (data) {
+        	if(data){
+            	buystr = data.area;
+        	}
+        }, false);
+//      console.log(buystr)
+      var AreaChoose={
+        selectObj:{},//已选择,未购买城市;
+        buyObj:{},//已购买
+        selectedIndustryArr:["一个行业"],//计算价格临时变量
+        timeSelect:[1,2],//计算价格临时变量 timeSelect[0]时长  timeSelect[1] 1:年 2:月
+        vipSubisTrial:false,
+        inintData:function(){
+          //已选择
+          try{
+            let select =sessionStorage.getItem("vipSubSelectAreaUpgrade");
+            if(select){
+              this.selectObj=JSON.parse(select);
+            }
+            if(sessionStorage.getItem("vipSubSelectIndustryUpgrade")){
+              this.selectedIndustryArr=JSON.parse(sessionStorage.getItem("vipSubSelectIndustryUpgrade"));
+            }
+            if(sessionStorage.getItem("vipSubSelectTime")){
+              this.timeSelect=JSON.parse(sessionStorage.getItem("vipSubSelectTime"));
+            }
+            //
+            this.buyObj = buystr;
+            if(checkObj(buystr)){
+            	this.buyObj = {"全国":[]}
+            }
+//          console.log(this.buyObj)
+            //是否试用界面
+            if(sessionStorage.getItem("vipSubisTrial")) this.vipSubisTrial=true;
+          }catch(e){
+            console.log(e);
+            this.selectObj={};
+          }
+        },
+        inintPage:function(){//初始化省份城市选项   
+          $(".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 = AreaChoose.createMoreCity(data.city)
+              box.html(html)
+          })
+        },
+        createMoreCity:function(arr){
+          var tempHtml = arr.map(function (v) {
+                return '<button class="city">' + v.name + '</button>'
+            }).join('')
+            return tempHtml
+        },
+        showSelected:function(canClick){ //回显已选择
+        	var ran = "";
+            if(canClick){
+            	ran = this.selectObj;
+            }else{
+            	ran = this.buyObj;
+            }    
+            for(var province in ran) {
+      			let citys=ran[province]
+	            if(citys.length>0){//地市
+	                this.selectCity(citys,canClick)
+	            }else{//省份
+	                this.selectProvince(province,canClick)
+	            }
+	        }
+        },
+        selectProvince:function(province,canClick){ //设置选中省份 province 省份
+          $($('.tab .province')).each(function (index, dom) {
+            if (province == $.trim($(dom).text())) {
+              $(".checkbox.other").attr("checked", false); //取消全国选中
+              $(dom).children('.checkbox').attr({"checked": true,"disabled":!canClick});//选中此省份
+              $(this).parent(".tab:not(.municipality)").next().slideDown(500);
+              if(canClick){
+              	$(dom).parents().siblings('.tab_content').find(".city").addClass("active").attr({"disabled":!canClick});
+              }else{
+              	$(dom).parents().siblings('.tab_content').find(".city").attr({"disabled":!canClick});
+              }
+            }
+            if(!canClick){
+            	if(province === "全国"){
+	            	$('.tab .province').each(function(){
+	            		$(this).children('.checkbox').attr({"checked": true,"disabled":!canClick});//选中此省份
+	            	});
+	            	$('.tab_content .city').each(function(){
+	            		$(this).attr("disabled",!canClick);
+	            	});
+	            	$(".tips_d_money").hide();
+	            }
+            }
+          })
+        },
+        selectCity:function(citys,canClick){ //设置选中城市
+          citys.forEach(v => {
+            $($('.tab_content .city')).each(function (index, dom) {
+                if (v == $(dom).text()) {
+                    $(".checkbox.other").attr("checked", false); //取消全国选中
+                    if(canClick){
+                    	$(dom).addClass('active').attr('disabled', !canClick).parents().siblings('.tab')
+                        .addClass('selected').children('.province').children('.checkbox').attr({
+                            "checked": true
+                        })
+                    }else{
+                    	$(dom).attr('disabled', !canClick).parents().siblings('.tab')
+                        .addClass('selected').children('.province').children('.checkbox').attr({
+                            "checked": true,
+                            "disabled": "disabled"
+                        })
+                    }
+                }
+            })
+          })
+        },
+        getResult:function(){   /* 选中结果 */
+          //如果选中所有,则转为全国
+          if($(".city").length==$(".city.active").length){
+            $(".checkbox.other").trigger("click");
+            return
+          }
+          this.selectObj = {};
+          $('.result_name').empty()
+          var data = []; //定义一个总数组
+          var cityArr =[]; //定义一个选中城市数组
+          var provincesArr = [];
+          var val = $('.other').parents('.province').text().trim();
+          if ($('.other').is(':checked')) {
+            // data.push(val)
+            data =[{name:val,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.citys').hide()
+                  // 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({
+                      name:province,
+                      children:[]
+                  });
+                  provincesArr.push(province);
+              } 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
+                  })
+              }
+              if(activeLeng > 0){
+              	$(".tips_btn .btns .reset-btn").removeAttr("disabled");
+              	$(".tips_btn .btns .save-btn").removeAttr("disabled");
+              }
+          })
+          //数组对象去重
+          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 && !this.vipSubisTrial) {
+                      $('.tips_btn .tips_d_text.citys').text("已选择"+children.length+"个市,建议购买“全省”更划算哦~");
+                      $('.tips_btn .tips_d_text.citys').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.selectObj[result[i].name]=childrenArr;//
+              }else{
+                  if(i !=result.length -1){
+                      html += `${result[i].name}、`
+                  }else{
+                      html += `${result[i].name}`
+                  }
+                  this.selectObj[result[i].name]=[];//
+              }
+          }
+          	for (var x = 0; x < provincesArr.length; x++) {
+	            for (var j =x+1; j <provincesArr.length; ) {
+	                if (provincesArr[x] === provincesArr[j]){
+	                    provincesArr.splice(j, 1);
+	                }
+	                else j++;
+	            }
+	        }
+          	if(provincesArr.length > 9){
+          		$('.tips_d_text.all').text("已选择"+provincesArr.length+"个省,建议购买“全国”更划算哦~");
+          		$('.tips_d_text.all').show();
+          		$('.tips_d_text.citys').hide();
+          	}else{
+          		$('.tips_d_text.all').hide();
+          	}
+//        console.log("this.selectObj:",this.selectObj)
+          $('.result_name').append(html)
+          AreaChoose.isOpen()
+          //刷新价格
+          AreaChoose.flushPrice();
+        },
+        submitArea:function(){
+          let addCity = $('.result_name').text(); //新增的城市
+          sessionStorage.setItem("vipSubSelectAreaUpgrade",JSON.stringify(AreaChoose.selectObj));
+          history.go(-1);
+        },
+        isAllSelected:function(){
+          var _f = true
+          $($('.tab_content .city')).each(function (index, dom) {
+              if ($(dom).hasClass('active')) {
+                  _f = false
+                  $('.other').prop('checked', false);
+              }
+          })
+          // 如果循环结束仍为true说明 没有全部都被选中
+          if (_f) {
+//            $('.other').prop('checked', true);
+				$(".tips_btn .btns .reset-btn").attr("disabled","disabled");
+        		$(".tips_btn .btns .save-btn").attr("disabled","disabled");
+          }
+        },
+        getNationwide:function(){/*默认选中全国 */
+//        $('.other').prop('checked', true);
+//        $('.tab_content').slideUp(500)
+//        $('.tab span i').css({
+//            "display":"inline-block",
+//            "transform":"rotate(0)"
+//        });
+        },
+        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()+20);
+//        console.log("高度:"+ pHeight,"最小高度"+ minHeight,"行数:" + rows)
+          if(rows == 1){
+              if(length >= 50){
+                  $('.detail').show()
+                  $('.packup').hide()
+              }else{
+                  $('.detail').hide()
+                  $('.packup').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()
+          }
+        },
+        inintClick:function(){
+        	$('.tab_content').each(function(){
+          		AreaChoose.showSelected(false);
+        	})
+          $('.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()+20);
+            })
+            $('.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()+20);
+            })
+            $("body").on('click','.slide a',function(){
+                var s = $(this).html()
+                if(s == '#'){
+                    return;
+                }
+                document.querySelector('#' + s).scrollIntoView({block:'center'});
+            })
+          $(".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)').stop(true, true).slideToggle()
+                $(this).parent().siblings().children('.tab').removeClass('selected');
+                
+            })
+            $('.checkbox').click(function (e) {  
+                e.stopPropagation();
+            })
+            $('.province .checkbox:not(.other)').on('change', function () {
+                var isCheckded = $(this).is(':checked')
+                if (isCheckded) {
+                    $(this).parents('.tab').siblings('.tab_content').find('.city').addClass('active')
+                    $(this).parents('.tab').siblings('.tab_content').find('.city[disabled]').removeClass('active')
+                    AreaChoose.isAllSelected()
+                    AreaChoose.getResult() 
+                    AreaChoose.showSelected(false);
+                } else {
+                    $(this).parents('.tab').siblings('.tab_content').find('.city').removeClass(
+                        'active')
+                    $(this).parents('.tab').siblings('.tab_content').find('.city').attr('disabled',false);    
+                    AreaChoose.isAllSelected()
+                    AreaChoose.getResult() 
+                    AreaChoose.showSelected(false);
+                }
+            })
+
+            //执行已购买城市函操作dom函数
+            $('.tab_content').on('click', '.city', function () {
+            	AreaChoose.showSelected(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)
+                    AreaChoose.isAllSelected()
+                    AreaChoose.getResult() 
+                } else {
+                    $(this).parent('div').siblings('.tab').children().children('.checkbox').prop(
+                        'checked', false)
+                    AreaChoose.isAllSelected()
+                    AreaChoose.getResult() 
+                }
+            })
+
+            $('.other').on('change', function () { //选择全国
+              	AreaChoose.reset();
+            })
+
+            $('.save-btn').click(function () {  // 提交
+                AreaChoose.submitArea();              
+            })
+            $('.reset-btn').click(function () {  //重置
+//            if(!$(".other").is(':checked')){
+//              $(".other").trigger("click");
+//            }
+				$('.tab:not(.whole):not(.tab[disabled])').removeClass('selected').children('.province').find(
+                    'input').prop({
+                    'checked': false,
+                    "disabled": false
+                });
+                $('.tab_content').find('.city:not(.city[disabled])').removeClass('active').attr({
+                    "disabled": false,
+                    "checked": false
+                })
+				AreaChoose.showSelected(false);
+				AreaChoose.getResult();
+				sessionStorage.removeItem("vipSubSelectAreaUpgrade");
+            })
+            //
+            if(sessionStorage.vipSubSelectAreaUpgrade!==undefined&&sessionStorage.vipSubSelectAreaUpgrade!==""){
+            	let areas = JSON.parse(sessionStorage.vipSubSelectAreaUpgrade);
+            	for(var province in areas){
+            		if(province === "全国"){
+            			console.log("23123")
+              			$(".other").trigger("click");
+            		}
+            	}
+            }
+        },
+        reset:function(){
+           var checked = $(".other").is(':checked');
+            if (checked) {
+                $('.tab_content').slideUp(500)
+                $('.tab span i').css({
+                    "display":"inline-block",
+                    "transform":"rotate(0)"
+                })
+                $('.tab:not(.whole):not(.tab[disabled])').removeClass('selected').children('.province').find(
+                    'input').prop({
+                    'checked': false,
+                    "disabled": false
+                });
+                $('.tab_content').find('.city:not(.city[disabled])').removeClass('active').attr({
+                    "disabled": false,
+                    "checked": false
+                })
+                AreaChoose.getResult();
+                $(".tips_btn .btns .reset-btn").removeAttr("disabled");
+            	$(".tips_btn .btns .save-btn").removeAttr("disabled");
+            }else{
+            	AreaChoose.showSelected(false);
+                AreaChoose.getResult();
+                $(".tips_btn .btns .reset-btn").attr("disabled","disabled");
+            	$(".tips_btn .btns .save-btn").attr("disabled","disabled");
+            }
+        },
+        flushPrice:function(){
+          if(this.vipSubisTrial){
+            $('.tips_d_money').css("display","none");
+          }else{
+            var price=getsubVipOrderPrice(this.selectObj,this.selectedIndustryArr,this.timeSelect);
+            $('.tips_d_money').text('¥'+price);
+          }
+        }
+      }
+      
+      $(function () {
+            AreaChoose.isOpen()
+            AreaChoose.inintData(); //初始化 已选择和已购买数据
+            AreaChoose.inintPage(); //初始化城市数据
+
+            AreaChoose.getNationwide();//默认选中全国 
+            AreaChoose.showSelected(true);//回显已选择
+            /* 判断已购买的城市 在不在 全部城市里面,在,将按钮置灰,不可点击 */
+
+            AreaChoose.getResult();
+            AreaChoose.inintClick();
+        })
+      //
+        //
+	    function checkObj(obj) {
+		    //检验数组
+		    if (Array.prototype.isPrototypeOf(obj) && obj.length === 0) {
+		        return true;
+		    }
+		    //检验对象
+		    if (Object.prototype.isPrototypeOf(obj) && Object.keys(obj).length === 0) {
+		        return true;
+		    }
+		    return false;
+		}
+	    //
+	    if($(".result_name").text()===""){
+	    	$(".tips_btn .btns .reset-btn").attr("disabled","disabled");
+        	$(".tips_btn .btns .save-btn").attr("disabled","disabled");
+	    }
+	    
+	    if(sessionStorage.vipSubSelectAreaUpgrade!==undefined && sessionStorage.vipSubSelectAreaUpgrade!==""){
+	    	$(".tips_btn .btns .reset-btn").removeAttr("disabled");
+            $(".tips_btn .btns .save-btn").removeAttr("disabled");
+	    }
+
+    </script>
+</body>
+
+</html>

+ 443 - 0
src/jfw/modules/app/src/web/templates/vipsubscribe/choose_industry_upgrade.html

@@ -0,0 +1,443 @@
+<!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="/jyapp/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
+        <link rel="stylesheet" href="/jyapp/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
+        <link rel="stylesheet" type="text/css" href="/jyapp/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}" />
+        <link rel="stylesheet" type="text/css" href="/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}" />
+        <link rel="stylesheet" href="/jyapp/vipsubscribe/css/choose_industry.css?v={{Msg "seo" "version"}}3">
+        {{include "/common/weixin.html"}}
+        
+    </head>
+    <style type="text/css">
+    	body,html {
+			height: 100%;
+		}
+    </style>
+    <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: block">&yen;38</div>-->
+                    <div class="tips_d_text">已选择4个行业,建议购买“全部行业”更划算哦~</div>
+                </div>
+                <div class="btns">
+                    <button class="reset-btn">重置</button>
+                    <button class="save-btn">确认</button>
+                </div>
+            </div>
+        </main>
+        <script src="/jyapp/vipsubscribe/js/jquery-2.1.4.js?v={{Msg "seo" "version"}}"></script>
+        <!--<script src="/vipsubscribe/js/fastclick.js?v={{Msg "seo" "version"}}"></script>-->
+        <script src="/jyapp/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
+        <script src="/jyapp/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 = []
+
+                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+"个行业,建议购买“全部行业”更划算哦~");
+                    $('.tips_btn .tips_d_text').slideDown();
+                } else {
+                    $('.tips_btn .tips_d_text').slideUp()
+                }
+          
+                selectedIndustryArr = selectedArr
+                
+                var selectedStr = selectedArr.join('、')
+                $('.result .result_name').text(selectedStr)
+
+                if (selectedArr.length === 0) {
+//                  var allButton = $('#all button')
+//                  allButton.trigger('click')
+//                  $('.result .result_name').text(allButton.text())
+					$(".tips_btn .btns .save-btn").attr("disabled","disabled");
+					$(".tips_btn .btns .reset-btn").attr("disabled","disabled");
+                }
+                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){
+                		if (v!="全部行业"){
+	                      	$('#all').children().children('button').removeClass('active');
+	                      	$(".tips_btn .btns .save-btn").removeAttr("disabled","disabled");
+							$(".tips_btn .btns .reset-btn").removeAttr("disabled","disabled");
+	                    }
+                		if (v == $(dom).text()) {
+	                       $(dom).addClass("active").attr({"disabled":!canclick})
+	                    }
+                	}else{
+                		if (v == $(dom).text()) {
+	                       $(dom).attr({"disabled":!canclick});
+	                    }
+                		if(v == "全部行业"){
+                			$(".industry_item").each(function(){
+                				$(this).attr({"disabled":!canclick});
+                			});
+                			$(".tips_d_money").hide();
+                		}
+                	}
+                })
+              })
+            }
+            
+            function flushPrice(){
+              if(vipSubisTrial){
+                $('.tips_d_money').css("display","none");
+              }else{
+                var price=getsubVipOrderPrice(selectedAreaObj,selectedIndustryArr,timeSelect);
+                $('.tips_d_money').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()
+                flushPrice()
+            })
+
+            // 重置按钮事件
+            $('.reset-btn').on('click', function () {
+//            $("#all .industry_item").trigger("click");
+				$('.select-area-box .list button').removeClass('active');
+                showSelect(buyIndustry,false);
+                findSelectedIndustry();
+                sessionStorage.removeItem("vipSubSelectIndustryUpgrade");
+                $('.tips_btn .btns button').removeAttr('disabled');
+            })
+           
+            //=======================
+             
+
+             // 确认按钮事件
+            $('.save-btn').on('click', function () {
+                console.log(selectedIndustryArr)
+                sessionStorage.setItem("vipSubSelectIndustryUpgrade",JSON.stringify(selectedIndustryArr));
+                history.go(-1);
+            })
+                       
+            var selectedIndustryArr //已选择行业
+            var selectedAreaObj = {"一个省":["一个市"]} //计算价格临时变量
+            var timeSelect = [1,2]//计算价格临时变量 timeSelect[0]时长  timeSelect[1] 1:年 2:月
+            var vipSubisTrial = false;
+            var buyIndustry = "";//已购买
+            $(function(){
+              try{
+                if(sessionStorage.getItem("vipSubSelectIndustryUpgrade")){
+                  selectedIndustryArr=JSON.parse(sessionStorage.getItem("vipSubSelectIndustryUpgrade"));
+                }else{
+                  selectedIndustryArr=[];
+                }
+                if(sessionStorage.getItem("vipSubSelectAreaUpgrade")){
+                  selectedAreaObj=JSON.parse(sessionStorage.getItem("vipSubSelectAreaUpgrade"));
+                }
+                if(sessionStorage.getItem("vipSubSelectTime")){
+                  this.timeSelect=JSON.parse(sessionStorage.getItem("vipSubSelectTime"));
+                }
+                //已购买行业
+                $DoPost("/subscribepay/renewUpgrade/getBuyMsg", {}, function (data) {
+                	if(data){
+		            	buyIndustry = data.buyerclass;
+                	}
+                },false);
+                if(checkObj(buyIndustry)){
+                	buyIndustry = ["全部行业"]
+                }
+                //是否试用界面
+                if(sessionStorage.getItem("vipSubisTrial")) vipSubisTrial=true;
+              }catch(e){
+                console.log(e)
+              }
+              //已选择
+              showSelect(selectedIndustryArr,true);
+              showSelect(buyIndustry,false);
+              findSelectedIndustry();
+              flushPrice();
+            })
+            
+            //
+		    function checkObj(obj) {
+			    //检验数组
+			    if (Array.prototype.isPrototypeOf(obj) && obj.length === 0) {
+			        return true;
+			    }
+			    //检验对象
+			    if (Object.prototype.isPrototypeOf(obj) && Object.keys(obj).length === 0) {
+			        return true;
+			    }
+			    return false;
+			}
+        </script>
+    </body>
+</html>

+ 215 - 0
src/jfw/modules/app/src/web/templates/vipsubscribe/renew_notice.html

@@ -0,0 +1,215 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="utf-8">
+		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
+		<title>VIP订阅</title>
+		<script src="/jyapp/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
+		<link rel="stylesheet" type="text/css" href="/jyapp/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}"/>
+		<link rel="stylesheet" href="/jyapp/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}">
+		<link rel="stylesheet" href="/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}">
+		<link rel="stylesheet" href="/jyapp/vipsubscribe/css/vip_service_expire.css?v={{Msg "seo" "version"}}1">
+		{{include "/common/weixin.html"}}
+	</head>
+	<style type="text/css">
+		body,html {
+			height: 100%;
+		}
+	</style>
+	<body>
+		<div class="vip_service_expire layout_top-bottom">
+			<div class="service_expire_tip layou_top">
+                <div class="tip_title_box">
+                    <img class="nothing" src="/jyapp/vipsubscribe/image/nothing.png?v={{Msg "seo" "version"}}" alt="">
+                    <div class="tip">
+                        <div id="exprie">您的VIP订阅服务,已到期!</div>
+                        <!-- <div>VIP订阅服务即将到期,请及时续费!</div> -->
+                        <div class="validity_date">
+                            <span>有效日期:</span>
+                            <span class="date-span"></span>
+                        </div>
+                    </div>
+                </div>
+                <div class="recommend_box">
+                    <div class="recommend_title">
+                        以下区域、行业的订阅推送已停止,为了不影响您的使用,请立即续费!
+                    </div>
+                    <div class="recommend_info">
+                        <div class="info_area">
+                            <span>区域:</span>
+                            <span class="text area-list"></span>
+                        </div>
+                        <div class="info_industry">
+                            <span>行业:</span>
+                            <span class="text industry-list"></span>
+                        </div>
+                    </div>
+                </div>
+            </div>
+			<div class="renew_box">
+                <button class="renew_service" onclick="window.location.href='/jyapp/vipsubscribe/renewPayPage'">续费</button>
+                <button class="free_service" onclick="window.location.href='/jyapp/swordfish/historypush'">使用免费订阅</button>
+            </div>
+		</div>
+		<script src="/jyapp/vipsubscribe/js/jquery-2.1.4.js"></script>
+    	<!--<script src="/vipsubscribe/js/fastclick.js?v={{Msg "seo" "version"}}"></script>-->
+    	<script src="/jyapp/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
+    	<script src="/jyapp/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}"></script>
+		<script type="text/javascript">
+			//
+			var orderId = {{.T.orderId}};
+			var starts = {{.T.startTime}};
+			var ends = {{.T.endTime}};
+//			console.log("orderId",orderId)
+//			console.log("starts",starts)
+//			console.log("ends",ends)
+			var nowTime = new Date().getTime()/1000;
+			if(orderId !== "" && orderId !== undefined){
+				$DoPost("/subscribepay/renewUpgrade/getExprie", {"orderId":orderId}, function (r) {
+					if(r){
+						var area = r.area
+						var buyerclass = r.buyerclass
+						var exprie = {{.T.exprie}};
+						var vipStatus = Number(r.vipStatus);
+						var areaArr = [];
+					    var areaHtml = "";
+					    var buyerclassArr = [];
+					    var buyerclassHtml = "";
+						if (area !== "" && area !== undefined){
+					    	for(var province in area){
+					    		var citys = area[province]
+			//		    		console.log(citys);
+					    		if(citys.length===0){
+					    			areaArr.push(province);
+					    		}else{
+					    			for(var i in citys){
+					    				areaArr.push(citys[i]);
+					    			}
+					    		}
+					    	}
+					    	areaHtml = areaArr.toString().replace(/,/g, "、");
+					    	if(checkObj(area)){
+								areaHtml = "全国";
+							}
+					    	$('.area-list').text(areaHtml);
+					    }
+					    if(buyerclass !== "" && buyerclass !== undefined){
+					    	for(var i in buyerclass){
+					    		var industry = buyerclass[i];
+					    		buyerclassArr.push(industry);
+					    	}
+					    	buyerclassHtml = buyerclassArr.toString().replace(/,/g, "、");
+					    	if(checkObj(buyerclass)){
+					    		buyerclassHtml = "全行业";
+					    	}
+							$('.industry-list').text(buyerclassHtml);
+					    }
+					    if(starts !== "" && ends !== ""){
+					    	let start = starts.toString().replace(/-/g, ".");
+					    	let end = ends.toString().replace(/-/g, ".");
+					    	let dateHtml = start + " - " + end;
+					    	$(".date-span").text(dateHtml);
+					    }
+					    if(exprie === "will"){
+					    	$(".free_service").hide();
+					    	$("#exprie").text("VIP订阅服务即将到期,请及时续费")
+					    	$(".recommend_title").text("以下区域、行业的订阅推送即将停止,为了不影响您的使用,请立即续费!")
+					    }else{
+					    	$(".free_service").show();
+					    }
+					    if(vipStatus === 2&&nowTime > ends){
+					    	$(".free_service").hide();
+					    	$(".renew_service").hide();
+					    }
+					}
+				});
+			}else{
+				$DoPost("/subscribepay/renewUpgrade/getBuyMsg", {}, function (data) {
+					if(data){
+						var area = data.area;
+					    var buyerclass = data.buyerclass;
+					    var startTime = data.start;
+					    var endTime = data.end;
+					    var exprie = {{.T.exprie}};
+					    var vipStatus = Number(data.vipStatus);
+					    //
+					    var areaArr = [];
+					    var areaHtml = "";
+					    var buyerclassArr = [];
+					    var buyerclassHtml = "";
+				//	    var dateName = "";
+					    var dateHtml = "";
+					    if (area !== "" && area !== undefined){
+					    	for(var province in area){
+					    		var citys = area[province]
+			//		    		console.log(citys);
+					    		if(citys.length===0){
+					    			areaArr.push(province);
+					    		}else{
+					    			for(var i in citys){
+					    				areaArr.push(citys[i]);
+					    			}
+					    		}
+					    	}
+					    	areaHtml = areaArr.toString().replace(/,/g, "、");
+					    	if(checkObj(area)){
+								areaHtml = "全国";
+							}
+					    	$('.area-list').text(areaHtml);
+					    }
+					    if(buyerclass !== "" && buyerclass !== undefined){
+					    	for(var i in buyerclass){
+					    		var industry = buyerclass[i];
+					    		buyerclassArr.push(industry);
+					    	}
+					    	buyerclassHtml = buyerclassArr.toString().replace(/,/g, "、");
+					    	if(checkObj(buyerclass)){
+					    		buyerclassHtml = "全行业";
+					    	}
+							$('.industry-list').text(buyerclassHtml);
+					    }
+				//	    if(cycleunit !== "" && cycleunit !== undefined){
+				//	    	if(cycleunit === 1){
+				//	    		dateName = cyclecount + " 年";
+				//	    	}else if(cycleunit === 2){
+				//	    		dateName = cyclecount + " 个月";
+				//	    	}
+				//	    	$(".item_cycle .label_for").text(dateName);
+				//	    }
+					    if(startTime !== "" && endTime !== ""){
+					    	var start = startTime.toString().replace(/-/g, ".");
+					    	var end = endTime.toString().replace(/-/g, ".");
+					    	dateHtml = start + " - " + end;
+					    	$(".date-span").text(dateHtml);
+					    }
+					    if(exprie === "will"){
+					    	$(".free_service").hide();
+					    	$("#exprie").text("VIP订阅服务即将到期,请及时续费")
+					    	$(".recommend_title").text("以下区域、行业的订阅推送即将停止,为了不影响您的使用,请立即续费!")
+					    }else{
+					    	$(".free_service").show();
+					    }
+					    if(vipStatus === 2){
+					    	$(".free_service").hide();
+					    	$(".renew_service").hide();
+					    }
+					}
+				});	
+			}
+			
+	        //
+		    function checkObj(obj) {
+			    //检验数组
+			    if (Array.prototype.isPrototypeOf(obj) && obj.length === 0) {
+			        return true;
+			    }
+			    //检验对象
+			    if (Object.prototype.isPrototypeOf(obj) && Object.keys(obj).length === 0) {
+			        return true;
+			    }
+			    return false;
+			}
+			
+		</script>
+	</body>
+</html>

+ 827 - 0
src/jfw/modules/app/src/web/templates/vipsubscribe/renew_pay.html

@@ -0,0 +1,827 @@
+<!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">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <title>VIP订阅续费</title>
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <meta name="apple-mobile-web-app-status-bar-style" content="black">
+    <script src="/jyapp/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
+    <link rel="stylesheet" type="text/css" href="/jyapp/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}" />
+    <link rel="stylesheet" type="text/css" href="/jyapp/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}" />
+    <link rel="stylesheet" type="text/css" href="/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}" />
+    <link rel="stylesheet" href="/jyapp/vipsubscribe/css/vip_update.css?v={{Msg "seo" "version"}}5">
+	{{include "/common/weixin.html"}}
+</head>
+<style type="text/css">
+	body,html {
+		height: 100%;
+	}
+	::-webkit-input-placeholder { /* Chrome/Opera/Safari */
+	  	color: #686868;
+	}
+	.vip_update .fixed-bottom-box, .vip_renew .fixed-bottom-box {
+	    width: 100%;
+	    position: fixed;
+	    bottom: 0;
+	    left: 0;
+	}
+</style>
+<body class="no-touch">
+    <div class="vip_renew">
+        <div class="choose_condition">
+             <!-- 正常点击vip首页续费进入显示下列提示 -->
+            <p class="update_tip renew_upgrade">提示:订阅续费可在已购买的服务基础上,延长订阅服务周期</p>
+             <!-- 即将到期点击vip首页续费显示下列提示 -->
+            <p class="expire_tip renew_update">提示:您的VIP订阅服务即将到期,为不影响您的使用,请立即续费</p>
+            <ul class="chooseList">
+                <li class="detail_item">
+                        <div class="item_info item_area">
+                            <span class="label">已订阅区域:</span>
+                            <span class="label_for">河南省、郑州市、洛阳市、淮南市</span>
+                        </div>
+                        <div class="item_info item_industry">
+                            <span class="label">已订阅行业:</span>
+                            <span class="label_for">保监、城管保监</span>
+                        </div>
+                        <div class="item_info item_cycle">
+                            <span class="label">订阅周期:</span>
+                            <span class="label_for">10个月</span>
+                        </div>
+                        <div class="item_info item_validity">
+                            <span class="label">有效日期:</span>
+                            <span class="label_for">2020.01.31 - 2020.10.31</span>
+                            <p>
+                                <!-- 正常点击vip首页续费进入显示去升级,即将到期点击vip首页续费显示订阅修改 -->
+                                <a href="/jyapp/vipsubscribe/toUpgradePage" class="go_update renew_upgrade">去升级</a>
+                                <a href="/jyapp/vipsubscribe/vipsubscribe_willExpire" class="go_update renew_update">订阅修改</a>
+                            </p>
+                        </div>
+                </li>
+                <li class="choose_item select_cycle">
+                    <a href="javascript:;">
+                        <span class="label">延长订阅周期</span>
+                        <input type="text" value="" onfocus="this.blur();" placeholder="选择年、月" class="info choose_time">
+                        <!-- <span class="info choose_time">选择年、月</span> -->
+                        <i class="iconfont icon-arrow choose_time"></i>
+                    </a>
+                </li>
+            </ul>
+            <div class="pay_mode">
+                <div class="select_payment choose_item">
+                    <a href="javascript:;">
+                        <span class="label">支付方式</span>
+                        <span class="info choose_way weixin_pay">微信支付</span>
+                        <i class="iconfont icon-arrow choose_way"></i>
+                    </a>
+                </div>
+            </div>
+        </div>
+        <div class="fixed-bottom-box">
+            <div class="weui-cells weui-cells_checkbox radio-form">
+                <label class="weui-cell weui-check__label" for="buy">
+                    <div class="weui-cell__hd">
+                        <input type="checkbox" class="weui-check" name="buyService" id="buy" checked />
+                        <i class="weui-icon-checked"></i>
+                    </div>
+                    <div class="weui-cell__bd read">
+                        <p>
+                            我已阅读,理解并接受
+                            <a href="/jyapp/front/staticPage/wx-serviceterms.html">
+                                《剑鱼标讯线上购买与服务条款》
+                            </a>
+                        </p>
+                    </div>
+                </label>
+            </div>
+            <div class="price">
+                <label></label>
+                <p>
+                    <!--<span class="old_price">&yen;610.80</span>-->
+                    <strong class="finally_price">&yen;0.00</strong>
+                </p> 
+            </div>
+            <div class="form-btn">
+                <!-- 支付 -->
+                <button class="btn enter save_renew" disabled>立即续费</button>
+            </div>
+        </div>
+
+        <!-- 选择订阅周期 -->
+        <div class="js_dialog time_cycle" id="time_cycle" style="display: none;">
+            <div class="weui-mask"></div>
+            <div class="box">
+                <div class="box_hd">
+                    <h3>延长订阅周期</h3>
+                    <span class="cancel">取消</span>
+                </div>
+                <div class="box_bd">
+                    <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">
+                            <label class="weui-cell weui-check__label monthly_label" for="monthly">
+                                <div class="weui-cell__hd">
+                                    <input type="radio" class="weui-check monthly" name="time" value="month"
+                                        id="monthly" checked />
+                                    <i class="weui-icon-checked"></i>
+                                </div>
+                                <div class="weui-cell__bd">
+                                    <p>按月订阅</p>
+                                </div>
+                            </label>
+                            <div class="number_box active" id="number_box_month" data-numbox-step="1" data-numbox-min="1"
+                                data-numbox-max="12">
+                                <button class="weui-btn weui-btn_plain-default" type="button" disabled>
+                                    <div class="jy_icon decrease"></div>
+                                </button>
+                                <span class="month_number">1</span>
+                                <button class="weui-btn weui-btn_plain-default add" type="button">
+                                    <div class="jy_icon increase"></div>
+                                </button>
+                            </div>
+                        </div>
+                        <div class="weui-cells weui-cells_checkbox choose-form">
+                            <label class="weui-cell weui-check__label yearly_label" for="yearly">
+                                <div class="weui-cell__hd">
+                                    <input type="radio" class="weui-check yearly" name="time" value="year"
+                                        id="yearly"/>
+                                    <i class="weui-icon-checked"></i>
+                                </div>
+                                <div class="weui-cell__bd">
+                                    <p>按年订阅</p>
+                                </div>
+                            </label>
+                            <div class="number_box" id="number_box_year">
+                                <span class="year_number" data-id="1">1年</span>
+                                <span class="year_number" data-id="2">2年</span>
+                                <span class="year_number" data-id="3">3年</span>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="form-btn">
+                    <!-- <button class="btn enter" disabled id="enter_period">确认</button> -->
+                    <button class="btn enter" id="enter_period">确认</button>
+                </div>
+            </div>
+        </div>
+        <!-- 选择支付方式 -->
+        <div class="js_dialog pay_way" id="pay_way" style="display: none;">
+            <div class="weui-mask"></div>
+            <div class="box">
+                <div class="box_hd">
+                    <span></span>
+                    <h3>支付方式</h3>
+                    <span class="cancel">取消</span>
+                </div>
+                <div class="box_bd">
+                    <div class="weui-cells weui-cells_checkbox choose-form">
+                        <label class="weui-cell weui-check__label wx_label" for="wx">
+                            <div class="weui-cell__bd read">
+                                <p><img src="/jyapp/vipsubscribe/image/weixin.png">微信支付</p>
+                            </div>
+                            <div class="weui-cell__hd">
+                                <input type="radio" class="weui-check" name="way" value="微信支付" id="wx" checked />
+                                <i class="weui-icon-checked"></i>
+                            </div>
+                        </label>
+                        <label class="weui-cell weui-check__label zfb_label" for="zfb">
+                            <div class="weui-cell__bd read">
+                                <p><img src="/jyapp/vipsubscribe/image/zhifubao.png">支付宝支付</p>
+                            </div>
+                            <div class="weui-cell__hd">
+                                <input type="radio" class="weui-check" name="way" value="支付宝支付" id="zfb" />
+                                <i class="weui-icon-checked"></i>
+                            </div>
+                        </label>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <script src="/vipsubscribe/js/jquery-2.1.4.js"></script>
+    <script src="/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}4"></script>
+    <!--<script src="/vipsubscribe/js/fastclick.js?v={{Msg "seo" "version"}}"></script>-->
+    <script src="https://res.wx.qq.com/open/libs/weuijs/1.1.4/weui.min.js?v={{Msg "seo" "version"}}"></script>
+    <script type="text/javascript">
+    	//
+    	try{
+			var signature = {{.T.signature}};
+			var isConfigSuccess = true;
+			var id = {{.T._id}}
+			if(signature && signature.length == 4){
+			  	wx.config({
+			  	    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
+			  	    appId: signature[0], // 必填,公众号的唯一标识
+			  	    timestamp:signature[1], // 必填,生成签名的时间戳
+			  	    nonceStr: signature[2], // 必填,生成签名的随机串
+			  	    signature: signature[3],// 必填,签名,见附录1
+			  	    jsApiList: ['chooseWXPay','hideAllNonBaseMenuItem'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
+			  	});
+			  	wx.ready(function(){
+			  		if(!isConfigSuccess){
+			  			return;
+			  		}
+			  		wx.hideAllNonBaseMenuItem();
+			    });
+			  	wx.error(function(res){
+			  	    //config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
+			  		//alert(res);
+			  		isConfigSuccess = false;
+			  	});
+			}
+			//调用微信支付接口
+  			function onBridgeReady(res,ordercode){
+  			   	WeixinJSBridge.invoke('getBrandWCPayRequest',{
+		    		"appId": res["appId"],
+		          	"timeStamp": res["timestamp"],
+		          	"nonceStr": res["nonceStr"],
+		          	"package": res["prepayId"],
+		          	"signType": res["signType"],
+		         	"paySign": res["sign"]
+  				},
+  				function(r){
+				    if(r.err_msg == "get_brand_wcpay_request:ok"){
+						setTimeout(function(){
+							window.location.replace("/jyapp/front/vipsubscribe/toPaySuccessPage?orderCode="+ordercode);
+						},500)
+					}	
+//					}else if(r.err_msg == "get_brand_wcpay_request:cancel"){               
+////	                	alert("开发环境【支付跳转完成】")
+//		                try{
+////		  					window.location.replace("/front/vipsubscribe/toPaySuccessPage?orderCode="+ordercode);
+////		                    window.location.reload();
+//		                }catch(e){
+//		                  alert(e)
+//		                }
+//	  				}else{
+//	                	weui.toast("系统异常,请稍微再试",{
+//	                  		duration: 2000,
+//	                  		className: 'custom-toast',
+//	                	});
+//	  				}
+  				});
+  			}   
+		}catch(e){
+		  console.log(e)
+		}
+    </script>
+    <script>
+    	$(function () {    
+			var isPageHide = false;   
+			window.addEventListener('pageshow', function () {      
+			    if (isPageHide) {
+	                location.reload();
+			    }    
+			});    
+			window.addEventListener('pagehide', function () {
+			    isPageHide = true;
+			});  
+		});
+        // 隐藏dialog选择框
+        function hideDialog() {
+            $('#pay_way').hide(200);
+            $('#time_cycle').hide(200);
+        }
+        $('.weui-mask').click(hideDialog);
+        $('.cancel').click(hideDialog);
+
+        // 选择订阅周期
+        $('.select_cycle > a').click(function () {
+            $('#time_cycle').show(200);
+        })
+        // 选择支付方式
+        $('.select_payment .choose_way').click(function () {
+            $('#pay_way').show(200);
+        })
+        // 对支付方式选择的input绑定点击事件
+        $('#pay_way input:radio[name="way"]').click(function () {
+            var checkValue = $('input:radio[name="way"]:checked').val();
+//          console.log(checkValue);
+			var payHtml = "";
+	    	if(checkValue === "微信支付"){
+	    		payHtml = "wx";
+	    	}else if(checkValue === "支付宝支付"){
+	    		payHtml = "alipy";
+	    	}
+	    	sessionStorage.payTypes = payHtml;
+            $('.pay_way').hide(200);
+            $('.pay_mode .select_payment .choose_way.info').html(checkValue);
+        });
+        
+        // 对订阅周期弹框的input绑定点击事件
+        $('#time_cycle input:radio[name="time"]').on('click', function (e) {
+            // 解除确认按钮的锁定
+            $('#time_cycle .form-btn button').removeAttr('disabled')
+
+            if ($(e.target).hasClass('monthly')) {
+                // 按月订阅
+                $('#number_box_month').addClass('active');
+                $('#number_box_year span').removeClass('active');
+            } else if ($(e.target).hasClass('yearly')) {
+                // 按年订阅
+                $('#number_box_month').removeClass('active');
+            } else if ($(e.target).hasClass('prolong')) {
+                $('#number_box_month').removeClass('active');
+                $('#number_box_year span').removeClass('active');
+            }
+        })
+
+
+        // 控制月份number_box的事件
+        $('#number_box_month').on('click', 'button', function (e) {
+            // 点击加减号让input radio选中
+            $("#monthly").prop('checked', true);
+            $('.number_box span').removeClass('active')
+            $('#number_box_month').addClass('active')
+            
+
+            var $number = $('#number_box_month span.month_number');
+            var $monthlyInput = $('#monthly');
+            // 未整理的data数组,里面的值都是字符串
+            var preData = e.delegateTarget.dataset
+            var currentNum = parseInt($number.text());
+            var data = {};
+            // 把字符串转换成数字
+            for (var i in preData) {
+                data[i] = preData[i] - 0
+            }
+
+            if (!$monthlyInput.prop('checked')) {
+                return
+            }
+            // 判断是点击的是+ 还是-
+            if ($(e.target).hasClass('add')) {
+                // 点的+
+                // currentNum = currentNum >= 12 ? 12 : currentNum + 1;
+                currentNum = currentNum >= data.numboxMax ? data.numboxMax : currentNum + data
+                    .numboxStep;
+            } else {
+                // 点的-
+                // currentNum = currentNum <= 1 ? 1 : currentNum - 1;
+                currentNum = currentNum <= data.numboxMin ? data.numboxMin : currentNum - data
+                    .numboxStep;
+            }
+            if (currentNum >= 10) {
+            	$('.profit_tips').text("已选择"+currentNum+"个月,建议“按年订阅”更划算哦~");
+                $('.profit_tips').show();
+                if(currentNum==12){ //12个月自动跳转1年
+                    $("#number_box_year .year_number:eq(0)").trigger("click");
+                    return
+                }
+            } else {
+                $('.profit_tips').hide()
+            }
+            $number.text(currentNum)
+            if(currentNum >= 10){
+            	currentNum = 10;
+            }
+            var price = (monthPrice * currentNum).toFixed(1);
+            $('.computed_price').html('¥' + price)
+            var firstButton = $('#number_box_month button:first')
+            var lastButton = $('#number_box_month button:last')
+//          if (currentNum >= 10) {
+//          	$('.profit_tips').text("已选择"+currentNum+"个月,建议“按年订阅”更划算哦~");
+//              $('.profit_tips').show();
+//          } else {
+//              $('.profit_tips').hide()
+//          }
+            // 如果为操作后的结果为1,则锁定减号按钮
+            if (currentNum === data.numboxMin) {
+                firstButton.attr('disabled', true)
+            } else {
+                firstButton.removeAttr('disabled')
+            }
+            // 如果为操作后的结果为12,则锁定加号按钮
+            if (currentNum === data.numboxMax) {
+                lastButton.attr('disabled', true)
+            } else {
+                lastButton.removeAttr('disabled')
+            }
+        })
+
+       /* -------- 控制年份number_box的事件  点击1年 2年 3年触发的事件------- */
+        $('#number_box_year').on('click', 'span', function (e) {
+            console.log(e.target.dataset.id)
+            let id = e.target.dataset.id;
+            $('.profit_tips').hide()
+            $('#number_box_month').removeClass('active');
+            $(this).addClass('active').siblings().removeClass('active')
+            $('#yearly').prop('checked', true);
+            $("#monthly").prop('checked', false);
+            // 渲染结果 保留一位小数
+            let result = (Number(id) * yearPrice).toFixed(1);
+            $('.computed_price').html('¥' + result)
+        })
+
+        /* -------- 选择按月订阅  radio触发的事件------- */
+        $('#monthly').on('change', function (e) {
+            let isChecked = $(this).is(':checked')
+            let val = $('.month_number').text();
+            if (val >= 10) {
+            	$('.profit_tips').text("已选择"+val+"个月,建议“按年订阅”更划算哦~");
+                $('.profit_tips').show();
+                val = 10;
+            }
+//          console.log(val)
+            if (!isChecked) {
+                $('#number_box_month button').attr('disabled', true)
+            } else {
+                $('#number_box_month button').removeAttr('disabled')
+            }
+            let result = (Number(val) * monthPrice).toFixed(1);
+            $('.computed_price').html('¥' + result)
+
+        })
+        /* -------- 选择按年订阅  radio触发的事件------- */
+        $('#yearly').on('change', function (e) {
+            $('.profit_tips').hide()
+            // console.log($(this).is(':checked'))
+            let isChecked = $(this).is(':checked')
+            // 按年订阅默认选择1年 
+            let val = 1;
+            $('.computed_price').html('¥' + Number(val) * yearPrice)
+            if (isChecked) {
+                $('#number_box_year span:eq(0)').addClass('active').siblings().removeClass('active')
+
+            }
+
+        })
+        
+        // 确认订阅周期
+        $('#enter_period').on('click',function(){
+            var checked = $('#time_cycle input[name="time"]:checked')
+            // 获取其label的for属性,通过for属性来怕短板
+            // monthly 按月
+            // yearly 按年
+            var flag = checked.parents('label').attr('for')
+            var val = '请选择年、月';
+            var flagVal = 0; //1-年,2-月
+            var flagValLen = 0;
+            if (flag === 'monthly') {
+                val = $('#number_box_month .month_number').text() + '个月'
+                flagVal = 2;
+                flagValLen = Number($('#number_box_month .month_number').text());
+            } else if (flag === 'yearly') {
+                val = $('#number_box_year .year_number.active').text()
+                flagVal = 1;
+                flagValLen = Number($('#number_box_year .year_number.active').text().replace("年",""));
+            }
+            sessionStorage.renew_cycleunit = flagVal;
+            sessionStorage.renew_cyclecount = flagValLen;
+            sessionStorage.renew_price = $(".computed_price").html();
+            $('#time_cycle').hide(function () { 
+//              $('.choose_item.select_cycle .info').attr('placeholder', val);
+                $('.choose_item.select_cycle .info').val(val);
+            })
+            $(".finally_price").html($(".computed_price").html());
+            sessionStorage.renew_finally_price = $(".finally_price").html();
+            var buyCheck = true;
+			if(sessionStorage.buyChecks!==undefined&&sessionStorage.buyChecks!==""){
+				let bcheck = sessionStorage.buyChecks;
+				if(bcheck === "true"){
+					buyCheck = true;
+				}else{
+					buyCheck = false;
+				}
+			}
+			if(buyCheck){
+				$(".save_renew").removeAttr("disabled");
+			}
+        });
+        //
+        $("#buy").on("click", function(){
+        	if(!$("#buy").prop("checked")){
+        		$("#buy").attr("checked", false);
+        		sessionStorage.buyChecks = false;
+        		if($(".save_renew").attr("disabled")!=="undefined"){
+        			$(".save_renew").attr("disabled",true);
+        		}
+        	}else{
+        		$("#buy").attr("checked", true);
+        		sessionStorage.buyChecks = true;
+        		if(sessionStorage.renew_cycleunit!==undefined&&sessionStorage.renew_cycleunit!==""){
+        			$(".save_renew").removeAttr("disabled");
+        		}
+        	}
+        });
+        //
+        if(sessionStorage.buyChecks!==undefined&&sessionStorage.buyChecks!==""){
+        	let buyCheck = sessionStorage.buyChecks;
+        	let bCheck = "";
+        	if(buyCheck === "true"){
+        		bCheck = true;
+        	}else{
+        		bCheck = false;
+        	}
+        	$("#buy").prop("checked", bCheck);
+        }
+        //
+        //支付方式
+	    if(sessionStorage.payTypes!==""&&sessionStorage.payTypes!==undefined){
+	    	var payType = sessionStorage.payTypes;
+	    	var payHtml = "";
+	    	if(payType === "wx"){
+	    		payHtml = "微信支付";
+	    	}else if(payType === "alipy"){
+	    		payHtml = "支付宝支付";
+	    	}
+	    	$('input:radio[name="way"]').val(payHtml);
+	    	$('input:radio[name="way"]').prop("checked", true);
+	    	$("#payType").text(payHtml);
+	    }
+        
+        //
+        var area = "";
+	    var buyerclass = "";
+	    var cycleunit = "";
+	    var cyclecount = "";
+	    var startTime = "";
+	    var starts = "";
+	    var endTime = "";
+	    var ends = "";
+	    var monthPrice = "";
+	    var yearPrice = "";
+	    //
+	    $DoPost("/subscribepay/renewUpgrade/getBuyMsg", {}, function (data) {
+            if (data) {
+                area = data.area;
+			    buyerclass = data.buyerclass;
+			    cyclecount = data.cyclecount;
+			    startTime = data.start;
+			    starts = data.starttime;
+			    endTime = data.end;
+			    ends = data.endtime;
+			    monthPrice = getsubVipOrderPrice(area, buyerclass, [1, 2]);
+			    yearPrice = getsubVipOrderPrice(area, buyerclass, [1, 1]);
+			    //
+			    var areaArr = [];
+			    var areaHtml = "";
+			    var provinceArr = [];
+			    var cityArr = [];
+			    var buyerclassArr = [];
+			    var buyerclassHtml = "";
+			    var dateName = "";
+			    var dateHtml = "";
+			    if (area !== "" && area !== undefined){
+			    	for(var province in area){
+			    		var citys = area[province]
+		//	    		console.log(citys);
+			    		if(citys.length===0){
+			    			areaArr.push(province);
+			    			provinceArr.push(province);
+			    		}else{
+			    			for(var i in citys){
+			    				var city = citys[i];
+			    				areaArr.push(city);
+			    				cityArr.push(city);
+			    			}
+			    		}
+			    	}
+			    	areaHtml = areaArr.toString().replace(/,/g, "、");
+			    	
+					if(checkObj(area)){
+						areaHtml = "全国";
+					}
+			    	$(".item_area .label_for").text(areaHtml);
+			    }
+			    if(buyerclass !== "" && buyerclass !== undefined){
+			    	for(var i in buyerclass){
+			    		var industry = buyerclass[i];
+			    		buyerclassArr.push(industry);
+			    		buyerclassHtml = buyerclassArr.toString().replace(/,/g, "、");
+			    	}
+			    	if(checkObj(buyerclass)){
+			    		buyerclassHtml = "全行业";
+			    	}
+			    	$(".item_industry .label_for").text(buyerclassHtml);
+			    }
+//			    if(cycleunit !== "" && cycleunit !== undefined){
+//			    	if(cycleunit === 1){
+//			    		dateName = cyclecount + " 年";
+//			    	}else if(cycleunit === 2){
+//			    		dateName = cyclecount + " 个月";
+//			    	}
+//			    	$(".item_cycle .label_for").text(dateName);
+//			    }
+			    if(startTime !== "" && endTime !== "" && startTime !== undefined && endTime !== undefined){
+			    	console.log(startTime)
+			    	var start = startTime.replace(/-/g, ".");
+			    	var end = endTime.replace(/-/g, ".");
+			    	dateHtml = start + " - " + end;
+			    	$(".item_validity .label_for").text(dateHtml);
+			    }
+			    if(starts !== "" && ends !== ""){
+			    	let end = new Date(ends*1000).toLocaleDateString();
+			    	let endtime = end.split("/");
+			    	let endYear = Number(endtime[0]);
+			    	let endMonth = Number(endtime[1]);
+			    	let start = new Date(starts*1000).toLocaleDateString();
+			    	let starttime = start.split("/");
+			    	let startYear = Number(starttime[0]);
+			    	let startMonth = Number(starttime[1]);
+			    	let year = "";
+			    	let month = "";
+			    	if(endYear > startYear){
+			    		if(endMonth > startMonth){
+		    				year = endYear - startYear;
+		    				month = endMonth - startMonth;
+			    		}else{
+		    				year = endYear - startYear-1;
+		    				month = 12+Number(endMonth)-startMonth;
+			    			if(year === 0){
+			    				year = "";
+			    			}
+			    			if (month==12){
+		    					year=Number(year)+1;
+		    					month="";
+		    				}
+			    		}
+			    	}else if(endYear === startYear){
+		    			month = endMonth - startMonth;
+			    	}
+			    	//
+			    	if(year !== "" && month !==""){
+			    		$(".item_cycle .label_for").text(year+"年"+month+"个月");
+			    	}else if(year !== ""&& month ===""){
+			    		$(".item_cycle .label_for").text(year+"年");
+			    	}else if(year === ""&& month !==""){
+			    		$(".item_cycle .label_for").text(month+"个月");
+			    	}
+			    }
+			    var val = monthPrice * 1
+			    $(".computed_price").html("¥"+val.toFixed(1))
+			 	//
+			 	var threeDay = ends - 86400 * 3;
+			 	var nowDay = new Date().getTime()/1000;
+			 	if(nowDay >= threeDay){
+			 		$(".renew_upgrade").hide();
+			 		$(".renew_update").show();
+			 	}else{
+			 		$(".renew_update").hide();
+			 		$(".renew_upgrade").show();
+			 	}
+			 	//
+			 	var provinceLen = provinceArr.length;
+			 	var cityLen = cityArr.length;
+		    }
+        }, false);
+        //
+        var nowDate = new Date(startTime).toLocaleDateString();
+		nowDate = nowDate.split("/");
+		var nowMonth = Number(nowDate[1]);
+		var nowYear = Number(nowDate[0]);
+		var nowDay = Number(nowDate[2]);
+		//
+		var endDate = new Date(endTime).toLocaleDateString();
+		endDate = endDate.split("/");
+		var endMonth = Number(endDate[1]);
+		var endYear = Number(endDate[0]);
+		var endDay = Number(endDate[2]);
+		var nowUpgrade = 0;
+		if(endYear === nowYear){
+			if(endMonth === nowMonth){
+				nowUpgrade = 1;
+			}else{
+				if(endDay > nowDay){
+					nowUpgrade = endMonth - nowMonth +1;
+				}else{
+					nowUpgrade = endMonth - nowMonth;
+				}
+			}
+		}else{
+			if(endMonth === nowMonth){
+				if(endDay <= nowDay){
+					nowUpgrade = ((endYear - nowYear) * 12);
+				}else{
+					nowUpgrade = ((endYear - nowYear) * 12 +1);
+				}
+			}else if(endMonth > nowMonth){
+				if(endDay <= nowDay){
+					nowUpgrade = (endYear - nowYear) * 12 + (endMonth - nowMonth);
+				}else{
+					nowUpgrade = (endYear - nowYear) * 12 + (endMonth - nowMonth)+1;
+				}
+			}else{
+				if(endDay <= nowDay){
+					nowUpgrade = (endYear - nowYear-1) * 12 + (12-nowMonth+endMonth);
+				}else{
+					nowUpgrade = (endYear - nowYear-1) * 12 + (12-nowMonth+endMonth)+1;
+				}
+			}
+		}
+	    //
+	    if(sessionStorage.renew_cyclecount!==""&&sessionStorage.renew_cycleunit!==""){
+	 		var cycleunit = sessionStorage.renew_cycleunit;
+	 		var cyclecount = sessionStorage.renew_cyclecount;
+	 		var dateName = "";
+	 		if(cycleunit === "1"){
+	 			$("#yearly").prop("checked", true);
+	 			$('#number_box_month').removeClass('active');
+	 			$("#number_box_year span").each(function(){
+	 				if($(this).attr("data-id") ===  cyclecount){
+	 					$(this).addClass("active");
+	 				}
+	 			})
+	 			dateName = cyclecount + "年";
+//	 			$('.choose_item.select_cycle .info').attr('placeholder', dateName);
+	 			$('.choose_item.select_cycle .info').val(dateName);
+	 		}else if(cycleunit === "2"){
+	 			$("#monthly").prop("checked", true);
+	 			$('#number_box_month').addClass('active');
+                $('#number_box_year span').removeClass('active');
+                $(".month_number").text(cyclecount);
+                dateName = cyclecount + "个月";
+//              $('.choose_item.select_cycle .info').attr('placeholder', dateName);
+                $('.choose_item.select_cycle .info').val(dateName);
+	 		}
+	 	}
+	 	if(sessionStorage.renew_price!==""&&sessionStorage.renew_price!==undefined){
+	 		$(".computed_price").html(sessionStorage.renew_price);
+	 	}
+	    if(sessionStorage.renew_finally_price!==""&&sessionStorage.renew_finally_price!==undefined){
+	    	$(".finally_price").html(sessionStorage.renew_finally_price);
+	    	var buyCheck = true;
+			if(sessionStorage.buyChecks!==undefined&&sessionStorage.buyChecks!==""){
+				let bcheck = sessionStorage.buyChecks;
+				if(bcheck === "true"){
+					buyCheck = true;
+				}else{
+					buyCheck = false;
+				}
+			}
+			if(buyCheck){
+				$(".save_renew").removeAttr("disabled");
+			}
+	    }
+	    //
+	    $(".save_renew").on("click", function(){
+	    	console.log(nowUpgrade)
+//	    	let times = $('.choose_item.select_cycle .info').attr('placeholder');
+	    	let times = $('.choose_item.select_cycle .info').val();
+	        if (times.match("月") !== null){
+	        	times = Number(times.replace("个月",""));
+	        }else if (times.match("年") !== null){
+	        	times = 12 * Number(times.replace("年",""));
+	        }
+	    	// 当续费时间 + 当前已经买的时间超过36个月,给出提醒
+	    	if(times > 36-nowUpgrade){
+	    		var overtimeWarning = `最长订阅周期不可超过3年<br />当前订阅周期:${nowUpgrade}个月`
+		        weui.toast(overtimeWarning, {
+		            duration: 3000,
+		            className: 'custom-toast',
+		            callback: function() {
+		   
+		            }
+		        })
+		        return
+	    	}
+	        $(".save_renew").attr("disabled","disabled");
+	    	var param = {
+	    		"area": JSON.stringify(area),
+	    		"industry": buyerclass.toString(),
+	    		"time": $('.choose_item.select_cycle .info').val(),
+	    		"payWay":"wx_js",
+	    		"pay_source": "Renew",
+	    		"endtime": ends,
+	    	}
+	    	console.log(param)
+	    	$DoPost("/subscribepay/renewUpgrade/renewUpgradeCreateOrder",param,function(r){
+                if(r.success){
+                    clearSessionStorage();
+                    onBridgeReady(JSON.parse(r.data.res),r.data.code);
+                }
+                $(".save_renew").removeAttr("disabled");
+            })
+	    });
+	    
+	    //
+	    function clearSessionStorage(){
+	    	sessionStorage.removeItem("renew_cyclecount");
+	    	sessionStorage.removeItem("renew_cycleunit");
+	    	sessionStorage.removeItem("renew_price");
+	    	sessionStorage.removeItem("renew_finally_price");
+	    	sessionStorage.removeItem("buyChecks");
+	    }
+	    
+	    //
+	    function checkObj(obj) {
+		    //检验数组
+		    if (Array.prototype.isPrototypeOf(obj) && obj.length === 0) {
+		        return true;
+		    }
+		    //检验对象
+		    if (Object.prototype.isPrototypeOf(obj) && Object.keys(obj).length === 0) {
+		        return true;
+		    }
+		    return false;
+		}
+	    
+    </script>
+</body>
+
+</html>

+ 1307 - 0
src/jfw/modules/app/src/web/templates/vipsubscribe/vip_upgrade.html

@@ -0,0 +1,1307 @@
+<!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">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <title>VIP订阅升级</title>
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <meta name="apple-mobile-web-app-status-bar-style" content="black">
+    <script src="/jyapp/vipsubscribe/js/rem.js?v={{Msg "seo" "version"}}"></script>
+    <link rel="stylesheet" type="text/css" href="/jyapp/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}" />
+    <link rel="stylesheet" type="text/css" href="/jyapp/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}" />
+    <link rel="stylesheet" type="text/css" href="/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}" />
+    <link rel="stylesheet" href="/jyapp/vipsubscribe/css/public.css?v={{Msg "seo" "version"}}">
+    <link rel="stylesheet" href="/jyapp/vipsubscribe/css/vip_update.css?v={{Msg "seo" "version"}}4">
+	{{include "/common/weixin.html"}}
+</head>
+<style type="text/css">
+	body,html {
+		height: 100%;
+	}
+	::-webkit-input-placeholder { /* Chrome/Opera/Safari */
+	  	color: #686868;
+	}
+	.vip_update .fixed-bottom-box, .vip_renew .fixed-bottom-box {
+	    width: 100%;
+	    position: fixed;
+	    bottom: 0;
+	    left: 0;
+	}
+</style>
+<body class="no-touch">
+    <div class="vip_update">
+        <div class="choose_condition">
+            <p class="update_tip">提示:订阅升级可在已购买的服务基础上,增加区域、行业、以及延长订阅周期!</p>
+            <ul class="chooseList">
+                <li class="choose_item">
+                    <a href="/jyapp/front/vipsubscribe/toChooseAreaUpgrade">
+                        <span class="label">区域</span>
+                        <input type="text" id="area" value="" onfocus="this.blur();" placeholder="选择全国、省份、地市" class="info">
+                        <i class="iconfont icon-arrow"></i>
+                    </a>
+                    <p class="add_tips area-list" style="display: none;">已新增 1 个省级区域、4 个地市</p>
+                </li>
+                <li class="choose_item">
+                    <a href="/jyapp/front/vipsubscribe/toChooseIndustryUpgrade">
+                        <span class="label">行业</span>
+                        <input type="text" id="buyerclass" onfocus="this.blur();" value="" placeholder="选择采购单位行业" class="info">
+                        <i class="iconfont icon-arrow"></i>
+                    </a>
+                    <p class="add_tips industry-list" style="display: none;">已新增 2 个行业</p>
+                </li>
+                <!-- <li class="choose_item select_cycle">
+                    <a href="javascript:;">
+                        <span class="label">订阅周期</span>
+                        <input type="text" disabled value="" placeholder="选择年、月" class="info choose_time">
+                        <i class="iconfont icon-arrow choose_time"></i>
+                    </a>
+                </li> -->
+                <li class="choose_item choose_effect_date">
+                    <a href="javascript:;">
+                        <span class="label">生效日期</span>
+                        <span class="info" id="effect_date_name">立即生效,需支付当月费用差价</span>
+                        <i class="iconfont icon-arrow choose_time"></i>
+                    </a>
+                </li>
+            </ul>
+            <ul class="chooseList">
+                <li class="choose_item lengthen">
+                    <a href="javascript:;">
+                        <span class="label">延长订阅周期</span>
+                        <span class="info">不延长</span>
+                        <i class="iconfont icon-arrow choose_time"></i>
+                    </a>
+                </li>
+            </ul>
+            <div class="pay_mode">
+                <div class="select_payment choose_item">
+                    <a href="javascript:;">
+                        <span class="label">支付方式</span>
+                        <span class="info choose_way weixin_pay">微信支付</span>
+                        <i class="iconfont icon-arrow choose_way"></i>
+                    </a>
+                </div>
+                <div class="vip_rules">
+                    <div class="vip_prise_table">
+                        <table class="monthly">
+                            <caption class="table_title">- VIP订阅价格 -</caption>
+                            <tr>
+                                <td colspan="2">按月购买</td>
+                            </tr>
+                            <tr>
+                                <td><span>5.8</span>元 月/市/行业</td>
+                                <td><span>18</span>元 月/市/全行业</td>
+                            </tr>
+                            <tr>
+                                <td><span>11.8</span>元 月/省/行业</td>
+                                <td><span>38</span>元 月/省/全行业</td>
+                            </tr>
+                            <tr>
+                                <td><span>118</span>元 月/全国/行业</td>
+                                <td><span>388</span>元 月/全国/全行业</td>
+                            </tr>
+                        </table>
+                        <table class="yearly">
+                            <tr>
+                                <td colspan="2">按年购买</td>
+                            </tr>
+                            <tr>
+                                <td><span>58</span>元 年/市/行业</td>
+                                <td><span>180</span>元 年/市/全行业</td>
+                            </tr>
+                            <tr>
+                                <td><span>118</span>元 年/省/行业</td>
+                                <td><span>380</span>元 年/省/全行业</td>
+                            </tr>
+                            <tr>
+                                <td><span>1180</span>元 年/全国/行业</td>
+                                <td><span>3880</span>元 年/全国/全行业</td>
+                            </tr>
+                        </table>
+                        <dl class="tips">
+                            <dt>购买须知:</dt>
+                            <dd>套餐周期内,不支持套餐降级,续费可降级;</dd>
+                            <dd>用户最多购买/续费3年套餐;</dd>
+                            <dd>支持套餐升级,补差价(按月进行补差价,不足一个月按一个月计算)。</dd>
+                        </dl>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="fixed-bottom-box">
+            <div class="weui-cells weui-cells_checkbox radio-form">
+                <label class="weui-cell weui-check__label" for="buy">
+                    <div class="weui-cell__hd">
+                        <input type="checkbox" class="weui-check" checked="checked" name="buyService" id="buy"/>
+                        <i class="weui-icon-checked"></i>
+                    </div>
+                    <div class="weui-cell__bd read">
+                        <p>
+                            我已阅读,理解并接受
+                            <a href="/jyapp/front/staticPage/wx-serviceterms.html">
+                                《剑鱼标讯线上购买与服务条款》
+                            </a>
+                        </p>
+                    </div>
+                </label>
+            </div>
+            <div class="price">
+                <label>需补差价:</label>
+                <p>
+                    <!--<span class="old_price">&yen;610.80</span>-->
+                    <strong class="finally_price">&yen;0.00</strong>
+                </p> 
+            </div>
+            <div class="form-btn">
+                <button class="btn enter save_upgrade" disabled>立即升级</button>
+            </div>
+        </div>
+
+        <!-- 选择周期 -->
+        <div class="js_dialog time_cycle" id="time_cycle" style="display: none;">
+            <div class="weui-mask"></div>
+            <div class="box">
+                <div class="box_hd">
+                    <h3>延长订阅周期</h3>
+                    <span class="cancel">取消</span>
+                </div>
+                <div class="box_bd">
+                    <div class="tips profit_tips" style="display: none">已选择10个月,建议“按年订阅”更换算哦~</div>
+                    <div class="computed_price" style="display: none;">¥58.0</div>
+                    <div class="bd_select">
+                        <div class="weui-cells weui-cells_checkbox">
+                            <label class="weui-cell weui-check__label prolong_label" style="padding-left: 0.26rem" for="prolong">
+                                <div class="weui-cell__hd">
+                                    <input type="radio" class="weui-check prolong" name="time" value="prolong"
+                                        id="prolong" checked />
+                                    <i class="weui-icon-checked"></i>
+                                </div>
+                                <div class="weui-cell__bd">
+                                    <p>不延长</p>
+                                </div>
+                            </label>
+                        </div>
+                        <div class="weui-cells weui-cells_checkbox choose-form">
+                            <label class="weui-cell weui-check__label monthly_label" for="monthly">
+                                <div class="weui-cell__hd">
+                                    <input type="radio" class="weui-check monthly" name="time" value="month"
+                                        id="monthly" />
+                                    <i class="weui-icon-checked"></i>
+                                </div>
+                                <div class="weui-cell__bd">
+                                    <p>按月订阅</p>
+                                </div>
+                            </label>
+                            <div class="number_box" id="number_box_month" data-numbox-step="1" data-numbox-min="1"
+                                data-numbox-max="12">
+                                <button class="weui-btn weui-btn_plain-default" type="button">
+                                    <div class="jy_icon decrease"></div>
+                                </button>
+                                <span class="month_number">1</span>
+                                <button class="weui-btn weui-btn_plain-default add" type="button">
+                                    <div class="jy_icon increase"></div>
+                                </button>
+                            </div>
+                        </div>
+                        <div class="weui-cells weui-cells_checkbox choose-form">
+                            <label class="weui-cell weui-check__label yearly_label" for="yearly">
+                                <div class="weui-cell__hd">
+                                    <input type="radio" class="weui-check yearly" name="time" value="year"
+                                        id="yearly" />
+                                    <i class="weui-icon-checked"></i>
+                                </div>
+                                <div class="weui-cell__bd">
+                                    <p>按年订阅</p>
+                                </div>
+                            </label>
+                            <div class="number_box" id="number_box_year">
+                                <span class="year_number" data-id="1">1年</span>
+                                <span class="year_number" data-id="2">2年</span>
+                                <span class="year_number" data-id="3">3年</span>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="form-btn">
+                    <!-- <button class="btn enter" disabled id="enter_period">确认</button> -->
+                    <button class="btn enter" id="enter_period">确认</button>
+                </div>
+            </div>
+        </div>
+        <!-- 选择生效日期 -->
+        <div class="js_dialog effective_date" id="effective_date" style="display: none;">
+            <div class="weui-mask"></div>
+            <div class="box">
+                <div class="box_hd">
+                    <span style="font-size:0.32rem;">生效日期</span>
+                    <h3></h3>
+                    <span class="cancel">取消</span>
+                </div>
+                <div class="box_bd">
+                    <div class="weui-cells weui-cells_checkbox choose-form">
+                        <label class="weui-cell weui-check__label now_label" for="nowTime">
+                            <div class="weui-cell__bd read">
+                                <p class="effective_name now">立即生效,需支付当月费用差价</p>
+                                <p class="effective_time nownow">2019.08.23 - 2020.06.06</p>
+                            </div>
+                            <div class="weui-cell__hd">
+                                <input type="radio" class="weui-check" name="date" value="立即生效,需支付当月费用差价" id="nowTime" checked />
+                                <i class="weui-icon-checked"></i>
+                            </div>
+                        </label>
+                        <label class="weui-cell weui-check__label next_label effect_next" for="nextMonth">
+                            <div class="weui-cell__bd read">
+                                <p class="effective_name notnow"></p>
+                                <p class="effective_time notnownow">2019.09.01 - 2020.06.06</p>
+                            </div>
+                            <div class="weui-cell__hd">
+                                <input type="radio" class="weui-check" name="date" value="" id="nextMonth" />
+                                <i class="weui-icon-checked"></i>
+                            </div>
+                        </label>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <!-- 选择支付方式 -->
+        <div class="js_dialog pay_way" id="pay_way" style="display: none;">
+            <div class="weui-mask"></div>
+            <div class="box">
+                <div class="box_hd">
+                    <span></span>
+                    <h3>支付方式</h3>
+                    <span class="cancel">取消</span>
+                </div>
+                <div class="box_bd">
+                    <div class="weui-cells weui-cells_checkbox choose-form">
+                        <label class="weui-cell weui-check__label wx_label" for="wx">
+                            <div class="weui-cell__bd read">
+                                <p><img src="/jyapp/vipsubscribe/image/weixin.png">微信支付</p>
+                            </div>
+                            <div class="weui-cell__hd">
+                                <input type="radio" class="weui-check" name="way" value="微信支付" id="wx" checked />
+                                <i class="weui-icon-checked"></i>
+                            </div>
+                        </label>
+                        <label class="weui-cell weui-check__label zfb_label" for="zfb">
+                            <div class="weui-cell__bd read">
+                                <p><img src="/jyapp/vipsubscribe/image/zhifubao.png">支付宝支付</p>
+                            </div>
+                            <div class="weui-cell__hd">
+                                <input type="radio" class="weui-check" name="way" value="支付宝支付" id="zfb" />
+                                <i class="weui-icon-checked"></i>
+                            </div>
+                        </label>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <script src="/jyapp/vipsubscribe/js/jquery-2.1.4.js"></script>
+    <!--<script src="/vipsubscribe/js/fastclick.js?v={{Msg "seo" "version"}}"></script>-->
+    <script src="/jyapp/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
+    <script src="/jyapp/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}3"></script>
+    <script type="text/javascript">
+    	//
+    	try{
+			var signature = {{.T.signature}};
+			var isConfigSuccess = true;
+			var id = {{.T._id}}
+			if(signature && signature.length == 4){
+			  	wx.config({
+			  	    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
+			  	    appId: signature[0], // 必填,公众号的唯一标识
+			  	    timestamp:signature[1], // 必填,生成签名的时间戳
+			  	    nonceStr: signature[2], // 必填,生成签名的随机串
+			  	    signature: signature[3],// 必填,签名,见附录1
+			  	    jsApiList: ['chooseWXPay','hideAllNonBaseMenuItem'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
+			  	});
+			  	wx.ready(function(){
+			  		if(!isConfigSuccess){
+			  			return;
+			  		}
+			  		wx.hideAllNonBaseMenuItem();
+			    });
+			  	wx.error(function(res){
+			  	    //config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
+			  		//alert(res);
+			  		isConfigSuccess = false;
+			  	});
+			}
+			//调用微信支付接口
+  			function onBridgeReady(res,ordercode){
+  			   	WeixinJSBridge.invoke('getBrandWCPayRequest',{
+		    		"appId": res["appId"],
+		          	"timeStamp": res["timestamp"],
+		          	"nonceStr": res["nonceStr"],
+		          	"package": res["prepayId"],
+		          	"signType": res["signType"],
+		         	"paySign": res["sign"]
+  				},
+  				function(r){
+				    if(r.err_msg == "get_brand_wcpay_request:ok"){
+				    	//
+                    	clearSessionStorage();
+						setTimeout(function(){
+							window.location.replace("/jyapp/front/vipsubscribe/toPaySuccessPage?orderCode="+ordercode);
+						},500)
+					}
+//					}else if(r.err_msg == "get_brand_wcpay_request:cancel"){               
+////	                	alert("开发环境【支付跳转完成】")
+//		                try{
+////		  					window.location.replace("/front/vipsubscribe/toPaySuccessPage?orderCode="+ordercode);
+////		                	window.location.reload();
+//		                }catch(e){
+//		                  alert(e)
+//		                }
+//	  				}else{
+//	                	weui.toast("系统异常,请稍微再试",{
+//	                  		duration: 2000,
+//	                  		className: 'custom-toast',
+//	                	});
+//	  				}
+  				});
+  			}   
+		}catch(e){
+		  console.log(e)
+		}
+    </script>
+    <script>
+        $(function () {    
+			var isPageHide = false;   
+			window.addEventListener('pageshow', function () {      
+			    if (isPageHide) {
+	                location.reload();
+			    }    
+			});    
+			window.addEventListener('pagehide', function () {
+			    isPageHide = true;
+			});  
+		});
+		//加载价格
+        $DoPost("/subscribepay/vipsubscribe/getPrice",{},function(r){
+          	if(r){
+            	$('.monthly span:eq(0)').text(r.month.oneCity_oneBuyerClass/100);
+		        $('.monthly span:eq(1)').text(r.month.oneCity_allBuyerClass/100);
+		        $('.monthly span:eq(2)').text(r.month.oneProvince_oneBuyerClass/100);
+		        $('.monthly span:eq(3)').text(r.month.oneProvince_allBuyerClass/100);
+		        $('.monthly span:eq(4)').text(r.month.allProvince_oneBuyerClass/100);
+		        $('.monthly span:eq(5)').text(r.month.allProvince_allBuyerClass/100);
+		          
+		        $('.yearly span:eq(0)').text(r.year.oneCity_oneBuyerClass/100);
+		        $('.yearly span:eq(1)').text(r.year.oneCity_allBuyerClass/100);
+		        $('.yearly span:eq(2)').text(r.year.oneProvince_oneBuyerClass/100);
+		        $('.yearly span:eq(3)').text(r.year.oneProvince_allBuyerClass/100);
+		        $('.yearly span:eq(4)').text(r.year.allProvince_oneBuyerClass/100);
+		        $('.yearly span:eq(5)').text(r.year.allProvince_allBuyerClass/100);
+          	}
+        },false)
+        //
+        if(sessionStorage.vipSubSelectAreaUpgrade!==undefined&&sessionStorage.vipSubSelectAreaUpgrade!==""){
+        	if(checkObj(JSON.parse(sessionStorage.vipSubSelectAreaUpgrade))){
+	        	sessionStorage.removeItem("vipSubSelectAreaUpgrade");
+	        }
+        }
+        if(sessionStorage.vipSubSelectIndustryUpgrade!==undefined&&sessionStorage.vipSubSelectIndustryUpgrade!==""){
+        	if(checkObj(JSON.parse(sessionStorage.vipSubSelectIndustryUpgrade))){
+	        	sessionStorage.removeItem("vipSubSelectIndustryUpgrade");
+	        }
+        }
+        //
+		var monthPrice = "";
+        var yearPrice = "";
+
+        // 隐藏dialog选择框事件
+        function hideDialog() {
+            $('#pay_way').hide(200);
+            $('#time_cycle').hide(200);
+            $('#effective_date').hide(200);
+        }
+        $('.weui-mask').click(hideDialog);
+        $('.cancel').click(hideDialog);
+       
+        // 选择支付方式
+        $('.select_payment .choose_way').click(function () {
+            $('#pay_way').show(200);
+        })
+//      // 对支付方式选择的input绑定点击事件
+        $('#pay_way input:radio[name="way"]').click(function () {
+            var checkValue = $('input:radio[name="way"]:checked').val();
+            var payHtml = "";
+	    	if(checkValue === "微信支付"){
+	    		payHtml = "wx";
+	    	}else if(checkValue === "支付宝支付"){
+	    		payHtml = "alipy";
+	    	}
+	    	sessionStorage.payType = payHtml;
+//          console.log(checkValue);
+            $('.pay_way').hide(200);
+            $('.pay_mode .select_payment .choose_way.info').html(checkValue);
+        });
+         // 选择生效日期
+        $('.choose_effect_date > a').click(function () {
+            $('#effective_date').show(200);
+            var nowDates = new Date().toLocaleDateString();
+			nowDates = nowDates.split("/");
+			var nowMonths = Number(nowDates[1]);
+			var nowYears = Number(nowDates[0]);
+			var as = nowMonths +1
+			if(as > 12){
+				as = nowMonths-12;
+				nowYears = nowYears +1;
+			}
+			var bs = nowYears+"/"+as+"/1";
+			var effects = new Date(bs).getTime() /1000;
+			var a = nowYears+"."+as+".01";
+			$(".notnownow").text(a + " - " + endTime.replace(/-/g, "."))
+			if(ends < effects){
+				$(".effect_next").hide();
+//				$(".box").css("height", "2.7rem");
+			}
+        })
+        //
+		var effectiveName = new Date().getMonth()+2;
+		if(effectiveName > 12){
+	    	effectiveName = effectiveName - 12
+	   	}
+		var effectiveNames = effectiveName+"月1日生效"
+		$(".effective_name.notnow").text(effectiveNames);
+		$('#nextMonth').val(effectiveNames);
+		
+        // 对生效日期方式选择的input绑定点击事件
+        $('#effective_date input:radio[name="date"]').click(function () {
+            var checkValue = $('input:radio[name="date"]:checked').val();
+//          console.log(checkValue);
+            $('#effective_date').hide(200);
+            var effective = "";
+            var effectiveName = new Date().getMonth()+2;
+            if(effectiveName > 12){
+	    		effectiveName = effectiveName - 12
+	    	}
+            var effectiveNames = effectiveName+"月1日生效"
+            if(checkValue === "立即生效,需支付当月费用差价"){
+            	effective = "now";
+            }else if(checkValue === effectiveNames){
+            	effective = "notnow";
+            }
+            sessionStorage.effectiveDate = effective;
+            $('#effect_date_name').html(checkValue);
+            FinallyPrice();
+        });
+        
+        
+        // 选择周期
+        $('.lengthen > a').click(function () {
+        	if((nowRenew)>=36){
+            	var overtimeWarning = `最长订阅周期不可超过3年<br />当前订阅周期:${nowRenew}个月`
+		        weui.toast(overtimeWarning, {
+		            duration: 3000,
+		            className: 'custom-toast',
+		            callback: function() {
+		            }
+		        })
+		        return
+            }
+            $('#time_cycle').show(200);
+        })
+        // 对订阅时间选择的 input绑定点击事件
+        $('#time_cycle input:radio[name="time"]').on('click', function (e) {
+            // 解除确认按钮的锁定
+            $('#time_cycle .form-btn button').removeAttr('disabled')
+
+            if ($(e.target).hasClass('monthly')) {
+                // 按月订阅
+                $('.computed_price').show()
+                // 显示隐藏tips提示
+                // $('#time_cycle .tips.monthly_tips').show();
+                // $('#time_cycle .tips.yearly_tips').hide();
+
+                $('#number_box_month').addClass('active');
+                $('#number_box_year span').removeClass('active');
+            } else if($(e.target).hasClass('yearly')){
+                $('.computed_price').show()
+                // 按年订阅
+                // $('#time_cycle .tips.yearly_tips').show();
+                // $('#time_cycle .tips.monthly_tips').hide();
+
+                $('#number_box_month').removeClass('active');
+                $('#number_box_year span:eq(0)').addClass('active');
+            }else{
+                $('.computed_price').hide()
+                $('#number_box_month').removeClass('active');
+                $('#number_box_year span').removeClass('active');
+            }
+        })
+        // 控制月份number_box的事件
+        /* --------控制月份number_box的事件  点击加减号触发的事件------- */
+        $('#number_box_month').on('click', 'button', function (e) {
+            // 点击加减号让input radio选中
+            $("#monthly").prop('checked', true);
+            $('#number_box_month').addClass('active')
+            $('.number_box span').removeClass('active')
+            var $number = $('#number_box_month .month_number');
+            var $monthlyInput = $('#monthly');
+            // 未整理的data数组,里面的值都是字符串
+            var preData = e.delegateTarget.dataset
+            var currentNum = parseInt($number.text());
+            var data = {};
+            // 把字符串转换成数字
+            for (var i in preData) {
+                data[i] = preData[i] - 0
+            }
+
+            if (!$monthlyInput.prop('checked')) {
+                return
+            }
+            // 判断是点击的是+ 还是-
+            if ($(e.target).hasClass('add')) {
+                // 点的+
+                // currentNum = currentNum >= 12 ? 12 : currentNum + 1;
+                currentNum = currentNum >= data.numboxMax ? data.numboxMax : currentNum + data
+                    .numboxStep;
+            } else {
+                // 点的-
+                // currentNum = currentNum <= 1 ? 1 : currentNum - 1;
+                currentNum = currentNum <= data.numboxMin ? data.numboxMin : currentNum - data
+                    .numboxStep;
+            }
+            // 当续费时间 + 当前已经买的时间超过36个月,给出提醒
+            if((currentNum+nowRenew)>36){
+            	var overtimeWarning = `最长订阅周期不可超过3年<br />当前订阅周期:${nowRenew}个月`
+		        weui.toast(overtimeWarning, {
+		            duration: 3000,
+		            className: 'custom-toast',
+		            callback: function() {
+		            }
+		        })
+		        return
+            }
+            $(".computed_price").show();
+            if (currentNum >= 10) {
+            	$('.profit_tips').text("已选择"+currentNum+"个月,建议“按年订阅”更划算哦~");
+                $('.profit_tips').show();
+                if(currentNum==12){ //12个月自动跳转1年
+                    $("#number_box_year .year_number:eq(0)").trigger("click");
+                    return
+                }
+            } else {
+                $('.profit_tips').hide()
+            }
+            $number.text(currentNum)
+            if(currentNum >= 10 && currentNum<= 11){
+            	currentNum = 10;
+            }
+            var price = (completeMonth * currentNum).toFixed(1);
+            $('.computed_price').html('¥' + price)
+            var firstButton = $('#number_box_month button:first')
+            var lastButton = $('#number_box_month button:last')
+//          if (currentNum >= 10) {
+//              $('.profit_tips').show()
+//          } else {
+//              $('.profit_tips').hide()
+//          }
+            // 如果为操作后的结果为1,则锁定减号按钮
+            if (currentNum === data.numboxMin) {
+                firstButton.attr('disabled', true)
+            } else {
+                firstButton.removeAttr('disabled')
+            }
+            // 如果为操作后的结果为12,则锁定加号按钮
+            if (currentNum === data.numboxMax) {
+                lastButton.attr('disabled', true)
+            } else {
+                lastButton.removeAttr('disabled')
+            }
+        })
+
+        /* -------- 控制年份number_box的事件  点击1年 2年 3年触发的事件------- */
+        $('#number_box_year').on('click', 'span', function (e) {
+            console.log(e.target.dataset.id)
+            let id = e.target.dataset.id;
+            // 当续费时间 + 当前已经买的时间超过36个月,给出提醒
+            if((id*12+nowRenew)>36){
+            	var overtimeWarning = `最长订阅周期不可超过3年<br />当前订阅周期:${nowRenew}个月`
+		        weui.toast(overtimeWarning, {
+		            duration: 3000,
+		            className: 'custom-toast',
+		            callback: function() {
+		            }
+		        })
+		        return
+            }
+            $(".computed_price").show();
+            $('.profit_tips').hide()
+            $('#number_box_month').removeClass('active');
+            $(this).addClass('active').siblings().removeClass('active')
+            $('#yearly').prop('checked', true);
+            $("#monthly").prop('checked', false);
+            // 渲染结果 保留一位小数
+            let result = (Number(id) * completeYear).toFixed(1);
+            $('.computed_price').html('¥' + result)
+        })
+
+        /* -------- 选择按月订阅  radio触发的事件------- */
+        $('#monthly').on('change', function (e) {
+            let isChecked = $(this).is(':checked')
+            let val = $('.month_number').text();
+            if (val >= 10) {
+                $('.profit_tips').text("已选择"+val+"个月,建议“按年订阅”更划算哦~");
+                $('.profit_tips').show();
+            }
+            
+            if (!isChecked) {
+                $('#number_box_month button').attr('disabled', true)
+            } else {
+                $('#number_box_month button').removeAttr('disabled')
+            }
+            if(val==="1"){
+				$('#number_box_month button:first').attr('disabled', true);
+			}
+            if(Number(val)>=10){
+            	val = 10
+            }
+            let result = (Number(val) * completeMonth).toFixed(1);
+            $('.computed_price').html('¥' + result)
+
+        })
+        /* -------- 选择按年订阅  radio触发的事件------- */
+        $('#yearly').on('change', function (e) {
+            $('.profit_tips').hide()
+            // console.log($(this).is(':checked'))
+            let isChecked = $(this).is(':checked')
+            // 按年订阅默认选择1年 
+            let val = 1;
+            $('.computed_price').html('¥' + Number(val) * completeYear)
+            if (isChecked) {
+                $('#number_box_year span:eq(0)').addClass('active').siblings().removeClass('active')
+            }
+
+        })
+
+        // 确认订阅周期
+        $('#enter_period').on('click', function () {
+            var checked = $('#time_cycle input[name="time"]:checked')
+            // 获取其label的for属性,通过for属性来怕短板
+            // prolong 不延长
+            // monthly 按月
+            // yearly 按年
+            var flag = checked.parents('label').attr('for')
+            var val = '不延长';
+            var flagVal = ""; //1-年,2-月
+            var flagValLen = "";
+            if (flag === 'prolong') {
+                val = '不延长'
+            } else if (flag === 'monthly') {
+                val = $('#number_box_month .month_number').text() + '个月'
+                flagVal = 2;
+                flagValLen = Number($('#number_box_month .month_number').text());
+            } else if (flag === 'yearly') {
+                val = $('#number_box_year .year_number.active').text();
+                flagVal = 1;
+                flagValLen = Number($('#number_box_year .year_number.active').text().replace("年",""));
+            }
+            sessionStorage.upgrade_cycleunit = flagVal;
+            sessionStorage.upgrade_cyclecount = flagValLen;
+            sessionStorage.upgrade_price = $(".computed_price").html();
+            $('#time_cycle').hide(function () { 
+                $('.choose_item.lengthen .info').text(val)
+            })
+            var proPrice = $(".computed_price").html().replace("¥","")
+            if(val === "不延长"){
+            	proPrice = 0;
+            }
+            sessionStorage.proPrice = proPrice;
+            FinallyPrice();
+        })
+        //
+        $("#buy").on("click", function(){
+        	if(!$("#buy").prop("checked")){
+        		$("#buy").attr("checked", false);
+        		sessionStorage.buyCheck = false;
+        		if($(".save_upgrade").attr("disabled")!=="undefined"){
+        			$(".save_upgrade").attr("disabled",true);
+        		}
+        	}else{
+        		$("#buy").attr("checked", true);
+        		sessionStorage.buyCheck = true;
+        		if(sessionStorage.vipSubSelectAreaUpgrade!==undefined || sessionStorage.vipSubSelectIndustryUpgrade!==undefined || (sessionStorage.upgrade_cycleunit!==undefined&&sessionStorage.upgrade_cycleunit!=="")){
+        			$(".save_upgrade").removeAttr("disabled");
+        		}
+        	}
+        });
+        //
+        if(sessionStorage.buyCheck!==undefined&&sessionStorage.buyCheck!==""){
+        	let buyCheck = sessionStorage.buyCheck;
+        	let bCheck = "";
+        	if(buyCheck === "true"){
+        		bCheck = true;
+        	}else{
+        		bCheck = false;
+        	}
+        	$("#buy").prop("checked", bCheck);
+        }
+        //新增区域
+	    if(sessionStorage.vipSubSelectAreaUpgrade!==""&&sessionStorage.vipSubSelectAreaUpgrade!==undefined){
+			var vipSubSelectArea = JSON.parse(sessionStorage.vipSubSelectAreaUpgrade);
+			var provinceArr = [];
+			var cityArr = [];
+			var isAll = "";
+			$(".area-list").show();
+			for (var province in vipSubSelectArea){
+				if(vipSubSelectArea[province].length > 0){
+					var citys = vipSubSelectArea[province];
+					for (var i in citys){
+						var city = citys[i];
+						cityArr.push(city);
+					}
+				}else{
+					provinceArr.push(province);
+				}
+				if(province === "全国"){
+					isAll = "all";
+				}
+			}
+			var provinceLen = provinceArr.length;
+			var cityLen = cityArr.length;
+			if(isAll === ""){
+				$(".area-list").text("已新增 "+ provinceLen +" 个省级区域、"+ cityLen +" 个地市");
+			}else{
+				$(".area-list").text("已新增为 : 全国");
+			}
+			if(provinceLen === 0 && cityLen === 0){
+				$(".area-list").hide();
+			}
+	    }
+	    //新增行业
+	    if(sessionStorage.vipSubSelectIndustryUpgrade!==""&&sessionStorage.vipSubSelectIndustryUpgrade!==undefined){
+	    	var vipSubSelectIndustry = JSON.parse(sessionStorage.vipSubSelectIndustryUpgrade);
+	    	var industryArr = [];
+	    	var isAll = "";
+	    	$(".industry-list").show();
+	    	for(var i in vipSubSelectIndustry){
+	    		var industry = vipSubSelectIndustry[i];
+	    		industryArr.push(industry);
+	    		if(industry === "全部行业"){
+	    			isAll = "all";
+	    		}
+	    	}
+	    	var industryLen = industryArr.length
+	    	if(isAll === ""){
+				$(".industry-list").text("已新增 "+ industryLen +" 个行业");
+			}else{
+				$(".industry-list").text("已新增为 : 全部行业");
+			}
+			if(industryLen === 0){
+				$(".industry-list").hide();
+			}
+	    }
+	    //生效时间
+	    if(sessionStorage.effectiveDate !== ""&&sessionStorage.effectiveDate!==undefined){
+	    	var effective = sessionStorage.effectiveDate;
+	    	var effectiveHtml = "";
+	    	if(effective === "now"){
+	    		effectiveHtml = "立即生效,需支付当月费用差价";
+	    	}else if(effective === "notnow"){
+	    		var effectiveName = new Date().getMonth()+2;
+	    		if(effectiveName > 12){
+	    			effectiveName = effectiveName - 12
+	    		}
+	    		effectiveHtml = effectiveName+"月1日生效";
+	    	}
+	    	$(".effective_name").each(function(){
+	    		if($(this).text() === effectiveHtml){
+	    			$(this).parent().next().find("input").prop("checked", true);
+	    		}
+	    	})
+	    	$('#effect_date_name').html(effectiveHtml);
+	    }
+        //支付方式
+	    if(sessionStorage.payType!==""&&sessionStorage.payType!==undefined){
+	    	var payType = sessionStorage.payType;
+	    	var payHtml = "";
+	    	if(payType === "wx"){
+	    		payHtml = "微信支付";
+	    	}else if(payType === "alipy"){
+	    		payHtml = "支付宝支付";
+	    	}
+	    	$('input:radio[name="way"]').val(payHtml);
+	    	$('input:radio[name="way"]').prop("checked", true);
+	    	$("#payType").text(payHtml);
+	    }
+
+		if(sessionStorage.upgrade_cyclecount!==undefined&&sessionStorage.upgrade_cycleunit!==undefined){
+	 		var cycleunit = sessionStorage.upgrade_cycleunit;
+	 		var cyclecount = sessionStorage.upgrade_cyclecount;
+	 		var dateName = "";
+	 		if(cycleunit === "1"){
+	 			$("#yearly").prop("checked", true);
+	 			$('#number_box_month').removeClass('active');
+	 			$("#number_box_year span").each(function(){
+	 				if($(this).attr("data-id") ===  cyclecount){
+	 					$(this).addClass("active");
+	 				}
+	 			})
+	 			dateName = cyclecount + "年";
+	 			$(".computed_price").show();
+	 			$('.choose_item.lengthen .info').text(dateName);
+	 		}else if(cycleunit === "2"){
+	 			$("#monthly").prop("checked", true);
+	 			$('#number_box_month').addClass('active');
+                $('#number_box_year span').removeClass('active');
+                $(".month_number").text(cyclecount);
+                dateName = cyclecount + "个月";
+                $(".computed_price").show();
+                $('.choose_item.lengthen .info').text(dateName);
+	 		}
+	 	}else{
+	 		$("#prolong").prop("checked", true);
+	 		$('.choose_item.lengthen .info').text("不延长");
+	 		$(".computed_price").hide();
+	 	}
+	 	
+//	 	if(sessionStorage.vipSubSelectArea!==""&&sessionStorage.vipSubSelectArea!==undefined&&)
+	 	
+	 	//
+	 	var area = "";
+	    var buyerclass = "";
+	    var cycleunit = "";
+	    var cyclecount = "";
+	 	var startTime = "";
+	    var starts = "";
+	    var endTime = "";
+	    var ends = "";
+	 	$DoPost("/subscribepay/renewUpgrade/getBuyMsg", {}, function (data) {
+            if (data) {
+                area = data.area;
+			    buyerclass = data.buyerclass;
+			    cycleunit = data.cycleunit;
+			    cyclecount = data.cyclecount;
+			    startTime = data.start;
+			    starts = data.starttime;
+			    endTime = data.end;
+			    ends = data.endtime;
+			    //
+			    var areaArr = [];
+			    var areaHtml = "";
+			    var buyerclassArr = [];
+			    var buyerclassHtml = "";
+		//	    var dateName = "";
+		//	    var dateHtml = "";
+			    if (area !== "" && area !== undefined){
+			    	for(var province in area){
+			    		var citys = area[province]
+		//	    		console.log(citys);
+			    		if(citys.length===0){
+			    			areaArr.push(province);
+			    		}else{
+			    			for(var i in citys){
+			    				areaArr.push(citys[i]);
+			    			}
+			    		}
+			    	}
+			    	areaHtml = areaArr.toString().replace(/,/g, " ");
+		//	    	$(".item_area .label_for").text(areaHtml);
+					if(checkObj(area)){
+						areaHtml = "全国";
+					}
+			    	$('#area').val(areaHtml);
+			    }
+			    if(buyerclass !== "" && buyerclass !== undefined){
+			    	for(var i in buyerclass){
+			    		var industry = buyerclass[i];
+			    		buyerclassArr.push(industry);
+			    		buyerclassHtml = buyerclassArr.toString().replace(/,/g, " ");
+			    	}
+		//	    	$(".item_industry .label_for").text(buyerclassHtml);
+					if(checkObj(buyerclass)){
+						buyerclassHtml = "全行业";
+					}
+					$('#buyerclass').val(buyerclassHtml);
+			    }
+			    //
+			    var nowDate = data.now.replace(/-/g, ".");
+			    var a = nowDate+ " - " +endTime;
+			    $(".nownow").text(nowDate+ " - " +endTime.replace(/-/g, "."))
+			    
+			}
+        },false);
+        //
+        var completeMonth = 0;
+        var completeYear = 0;
+        var oldYearPrice = 0;
+        var oldMonthPrice = 0;
+        var areasArr = {};
+	    var industrysArr = [];
+	    var nowRenew = "";
+        function FinallyPrice(){
+        	$(".save_upgrade").attr('disabled','disabled');
+	    	var nowUpgrade = "";
+			//
+			var nowDate = new Date(startTime).toLocaleDateString();
+			nowDate = nowDate.split("/");
+			var nowMonth = Number(nowDate[1]);
+			var nowYear = Number(nowDate[0]);
+			var nowDay = Number(nowDate[2]);
+			//
+			var endDate = new Date(endTime).toLocaleDateString();
+			endDate = endDate.split("/");
+			var endMonth = Number(endDate[1]);
+			var endYear = Number(endDate[0]);
+			var endDay = Number(endDate[2]);
+			var oldPrice = "";
+			var price = "";
+			var effect = "";
+			var buyCheck = true;
+			if(sessionStorage.buyCheck!==undefined&&sessionStorage.buyCheck!==""){
+				let bcheck = sessionStorage.buyCheck;
+				if(bcheck === "true"){
+					buyCheck = true;
+				}else{
+					buyCheck = false;
+				}
+			}
+			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);
+				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);
+			    	}
+			    }
+			}
+			
+			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++;
+	            }
+	       	}
+			
+			console.log("industrysArr",industrysArr);
+			if(sessionStorage.effectiveDate !== ""&&sessionStorage.effectiveDate!==undefined){
+				let eff = sessionStorage.effectiveDate;
+				if(eff === "now"){
+					effect = "now";
+				}else{
+					effect = "notnow";
+				}
+			}else{
+				effect = "now";
+			}
+			//
+			if(endYear === nowYear){
+				if(endMonth === nowMonth){
+					nowUpgrade = 1;
+				}else{
+					if(endDay > nowDay){
+						nowUpgrade = endMonth - nowMonth +1;
+					}else{
+						nowUpgrade = endMonth - nowMonth;
+					}
+				}
+			}else{
+				if(endMonth === nowMonth){
+					if(endDay <= nowDay){
+						nowUpgrade = (endYear - nowYear) * 12;
+					}else{
+						nowUpgrade = (endYear - nowYear) * 12 +1;
+					}
+				}else if(endMonth > nowMonth){
+					if(endDay <= nowDay){
+						nowUpgrade = (endYear - nowYear) * 12 + (endMonth - nowMonth);
+					}else{
+						nowUpgrade = (endYear - nowYear) * 12 + (endMonth - nowMonth)+1;
+					}
+				}else{
+					if(endDay <= nowDay){
+						nowUpgrade = (endYear - nowYear-1) * 12 + (12-nowMonth+endMonth);
+					}else{
+						nowUpgrade = (endYear - nowYear-1) * 12 + (12-nowMonth+endMonth)+1;
+					}
+				}
+			}
+			nowRenew = nowUpgrade;
+			console.log("monthold",nowUpgrade)
+			//
+			if(effect === "notnow"){
+				nowUpgrade = nowUpgrade -1;
+			}
+			if(nowUpgrade == 0){
+				nowUpgrade = 1;
+			}
+			
+			//
+			var nowUpgradeYear = 0;
+			if(nowUpgrade >= 12 && nowUpgrade < 24){
+				nowUpgradeYear = Math.floor(nowUpgrade / 12);
+				nowUpgrade = nowUpgrade - 12;
+			}else if(nowUpgrade >= 24){
+				nowUpgradeYear = Math.floor(nowUpgrade / 12);
+				nowUpgrade = nowUpgrade - 24;
+			}
+			if(nowUpgrade >= 10){
+				nowUpgradeYear = nowUpgradeYear + 1;
+				nowUpgrade = 0;
+			}
+			console.log("year",nowUpgradeYear)
+			console.log("month",nowUpgrade)
+			//
+			if (nowUpgradeYear >= 1) {
+				let monthprice = getsubVipOrderPrice(area, buyerclass, [nowUpgrade, 2])
+				let yearprice = getsubVipOrderPrice(area, buyerclass, [nowUpgradeYear, 1])
+				oldPrice = yearprice + monthprice
+				if (monthprice == 0) {
+					oldMonthPrice = ((yearprice / nowUpgradeYear) / 10).toFixed(1);
+					oldYearPrice = (yearprice / nowUpgradeYear).toFixed(1);
+				} else {
+					oldMonthPrice = (monthprice / nowUpgrade).toFixed(1);
+					oldYearPrice = ((monthprice / nowUpgrade) * 10).toFixed(1);
+				}
+			} else {
+				oldPrice = getsubVipOrderPrice(area, buyerclass, [nowUpgrade, 2])
+				oldMonthPrice = (oldPrice / nowUpgrade)
+				oldYearPrice = ((oldPrice / nowUpgrade) * 10).toFixed(1);
+			}
+			console.log("oldYearPrice",oldYearPrice)
+			console.log("oldMonthPrice",oldMonthPrice)
+			
+			//
+			if(nowUpgradeYear >= 1){
+				let yearprice = getsubVipOrderPrice(areasArr,industrysArr,[nowUpgradeYear,1]);
+				let monthprice = getsubVipOrderPrice(areasArr,industrysArr,[nowUpgrade,2]);
+				price = yearprice + monthprice;
+				if(monthprice === 0){
+					completeMonth = ((yearprice / nowUpgradeYear) / 10).toFixed(1);
+					completeYear = (yearprice / nowUpgradeYear).toFixed(1);
+				}else{
+					completeMonth = (monthprice / nowUpgrade).toFixed(1);
+					completeYear = ((monthprice / nowUpgrade)*10).toFixed(1);
+				}
+				console.log("yearprice",yearprice);
+				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);
+				console.log("<1",price)
+			}
+			
+			console.log("oldPrice", oldPrice);
+			if(sessionStorage.vipSubSelectAreaUpgrade===undefined&&sessionStorage.vipSubSelectIndustryUpgrade===undefined){
+				completeMonth = oldMonthPrice
+				completeYear = oldYearPrice
+			}
+			console.log("completeMonth",completeMonth)
+			console.log("completeYear",completeYear)
+			if(sessionStorage.upgrade_cyclecount !== undefined && sessionStorage.upgrade_cycleunit !== undefined){
+				if(sessionStorage.upgrade_cycleunit === "1"){
+					let price = (Number(sessionStorage.upgrade_cyclecount)*completeYear).toFixed(1);
+					sessionStorage.upgrade_price = "¥"+price;
+					sessionStorage.proPrice = price;
+				}else if(sessionStorage.upgrade_cycleunit === "2"){
+					let price = (Number(sessionStorage.upgrade_cyclecount)*completeMonth).toFixed(1);
+					sessionStorage.upgrade_price = "¥"+price;
+					sessionStorage.proPrice = price;
+				}
+			}
+			var cPrice = 0;
+  			if(price>0){
+  				var cPrice = (price - oldPrice).toFixed(1);
+  			}
+			console.log(cPrice);
+			if(sessionStorage.proPrice!==""&&sessionStorage.proPrice!==undefined){
+				let proPrice = sessionStorage.proPrice;
+				console.log("proprice",proPrice);
+				cPrice = (Number(cPrice) + Number(proPrice)).toFixed(1);
+			}
+//			if(effect === "notnow"){
+//				cPrice = cPrice -(completeMonth - oldMonthPrice);
+//			}
+			if(cPrice < 0){
+				cPrice = 0;
+			}
+			$(".finally_price").html("¥"+cPrice);
+			//
+			if (cPrice>0){
+				if(buyCheck){
+					$(".save_upgrade").removeAttr("disabled");
+				}
+			}
+        }
+        FinallyPrice();
+        //
+        if(sessionStorage.upgrade_price!==""&&sessionStorage.upgrade_price!==undefined){
+	 		$(".computed_price").html(sessionStorage.upgrade_price);
+	 	}
+	 	if(sessionStorage.upgrade_finally_price!==""&&sessionStorage.upgrade_finally_price!==undefined){
+	    	$(".finally_price").html(sessionStorage.renew_finally_price);
+	 	}
+        
+        //
+        $(".save_upgrade").on("click", function(){
+        	$(".save_upgrade").attr("disabled","disabled")
+        	let effective = $("#effect_date_name").text();
+        	var effect = "now";
+        	if(effective !== "立即生效,需支付当月费用差价"){
+        		let nowDate = new Date().toLocaleDateString();
+				nowDate = nowDate.split("/");
+				let nowMonth = Number(nowDate[1]);
+				let nowYear = Number(nowDate[0]);
+				let a = nowMonth +1
+        		if(a > 12){
+        			a = nowMonth-12;
+        			nowYear = nowYear +1;
+        		}
+        		let b = nowYear+"/"+a+"/1";
+        		effect = new Date(b).getTime() /1000;
+        	}
+        	//
+        	let areas = areasArr;
+        	let industrys = industrysArr;
+        	if(areas["全国"]){
+                areas={};
+            }
+            if(industrys.length==1&&industrys[0]=="全部行业"){
+                industrys=[];
+            }
+            //
+            let areaarr = area;
+        	let industryarr = buyerclass;
+        	
+            //
+            let renew_time = $('.choose_item.lengthen .info').text();
+            let times = "";
+            if(renew_time !== "不延长"){
+            	times = $('.choose_item.lengthen .info').text();
+            }
+            //
+	    	var param = {
+	    		"area": JSON.stringify(areas),
+	    		"industry": industrys.join(","),
+	    		"areas": JSON.stringify(areaarr),
+	    		"industryarr": industryarr.join(","),
+	    		"payWay": "wx_js",
+	    		"effect": effect,
+	    		"pay_source" : "Upgrade",
+	    		"time": times,
+	    		"nowUp": Number(nowRenew),
+	    	}
+	    	console.log(param)
+	    	$DoPost("/subscribepay/renewUpgrade/renewUpgradeCreateOrder",param,function(r){
+                if(r.success){
+                    onBridgeReady(JSON.parse(r.data.res),r.data.code);
+                }
+                $(".save_upgrade").removeAttr("disabled");
+            })
+	    });
+	    
+	    //
+	    function clearSessionStorage(){
+	    	sessionStorage.removeItem("upgrade_cyclecount");
+	    	sessionStorage.removeItem("upgrade_cycleunit");
+	    	sessionStorage.removeItem("upgrade_price");
+	    	sessionStorage.removeItem("proPrice");
+	    	sessionStorage.removeItem("vipSubSelectAreaUpgrade");
+	    	sessionStorage.removeItem("vipSubSelectIndustryUpgrade");
+	    	sessionStorage.removeItem("effectiveDate");
+	    	sessionStorage.removeItem("buyCheck");
+	    }
+	    
+	    //
+	    //
+	    function checkObj(obj) {
+		    //检验数组
+		    if (Array.prototype.isPrototypeOf(obj) && obj.length === 0) {
+		        return true;
+		    }
+		    //检验对象
+		    if (Object.prototype.isPrototypeOf(obj) && Object.keys(obj).length === 0) {
+		        return true;
+		    }
+		    return false;
+		}
+	    
+    </script>
+</body>
+
+</html>

+ 42 - 1
src/jfw/modules/subscribepay/src/entity/subscribeVip.go

@@ -58,7 +58,7 @@ type VipSimpleMsg struct {
 	Industry   []string                `json:"industry"`   //行业
 	Cyclecount int                     `json:"cyclecount"` //日期数量
 	Cycleunit  int                     `json:"cycleunit"`  //日期单位
-	OrderType  int                     `json:"ordertype"`  //类型 1:订单 2:续费 3:立即升级 4:下月升级 5:即将到期(升降级)
+	OrderType  int                     `json:"ordertype"`  //类型 1:订单 2:续费 3:立即升级 4:下月升级 5:即将到期(升降级)6:升级订单未生效再次升级
 }
 
 //购买内容
@@ -135,6 +135,8 @@ func (this *vipSubscribeStruct) PayCallBack(param *CallBackParam) bool {
 		flag = JyVipSubStruct.UpgradeSubVip(userid, vmsg, qutil.ObjToString((*orderdata)["vip_endtime"]), true)
 	} else if vmsg.OrderType == 4 || vmsg.OrderType == 5 { //下月升级
 		flag = JyVipSubStruct.UpgradeSubVip(userid, vmsg, qutil.ObjToString((*orderdata)["vip_endtime"]), false)
+	} else if vmsg.OrderType == 6 { //下月升级未生效再次升级
+		flag = JyVipSubStruct.UpgradeSubVipTwo(userid, vmsg, qutil.ObjToString((*orderdata)["vip_endtime"]), false)
 	}
 	//支付成功后 其他未支付vip订阅订单 变为已取消
 	if flag {
@@ -226,6 +228,45 @@ func (this *vipSubscribeStruct) UpgradeSubVip(userId string, vmsg VipSimpleMsg,
 	return false
 }
 
+//升级未生效再次升级
+func (this *vipSubscribeStruct) UpgradeSubVipTwo(userId string, vmsg VipSimpleMsg, end string, isNow bool) bool {
+	endTime, err := time.ParseInLocation(qutil.Date_Full_Layout, end, time.Local)
+	if err != nil {
+		log.Println("%s格式化日期出错%s\n", userId, endTime)
+		return false
+	}
+	buyset := JyVipSubStruct.NewBuySet(vmsg.Area, vmsg.Industry)
+
+	if !util.MQFW.UpdateById("user", userId,
+		bson.M{"$set": bson.M{
+			"l_vip_endtime":    endTime.Unix(),
+			"i_vip_expire_tip": 0,
+		}}) {
+		log.Printf("%s更新结束%d日期出错\n", userId, endTime.Unix())
+		return false
+	}
+
+	if util.MQFW.Update("vip_upgrade", bson.M{"s_userid": userId, "i_isvalid": 0},
+		bson.M{"$set": bson.M{
+			"i_isvalid": 1,
+		}}, false, false,
+	) {
+		effectTime := time.Date(time.Now().Year(), time.Now().Month()+1, 1, 0, 0, 0, 0, time.Local)
+		return util.MQFW.Save("vip_upgrade",
+			bson.M{
+				"s_userid":     userId,            //试用设置地区
+				"a_buyerclass": vmsg.Industry,     //试用设置行业
+				"o_area":       vmsg.Area,         //购买内容 城市、省份、行业数量
+				"l_validtime":  effectTime.Unix(), //生效时间
+				"l_createtime": time.Now().Unix(), //入库时间
+				"o_buyset":     buyset,            //购买内容数量
+				"i_isvalid":    0,                 //是否已经生效 0-未生效
+			}) != ""
+	} else {
+		return false
+	}
+}
+
 //根据行业和地区 返回*SubvipBuySet
 func (this *vipSubscribeStruct) NewBuySet(area *map[string]interface{}, industry []string) *SubvipBuySet {
 	buyset := SubvipBuySet{}

+ 10 - 7
src/jfw/modules/subscribepay/src/service/vipRenewUpgrade.go

@@ -43,14 +43,13 @@ 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
 
-		str, oks := util.MQFW.FindOne("vip_upgrade", bson.M{"s_userid": userId})
+		str, oks := util.MQFW.FindOne("vip_upgrade", bson.M{"s_userid": userId, "i_isvalid": 0})
 		if oks && len(*str) > 0 && *str != nil {
-			isvalid := qutil.IntAll((*str)["i_isvalid"])
-			if isvalid == 0 {
-				area = (*str)["o_area"]
-				buyerclass = (*str)["a_buyerclass"]
-			}
+			area = (*str)["o_area"]
+			buyerclass = (*str)["a_buyerclass"]
+			isvalidOk = false
 		}
 
 		dataArr := map[string]interface{}{
@@ -64,6 +63,7 @@ func (this *RenewUpgrade) GetBuyMsg() {
 			"end":        end,
 			"now":        now,
 			"vipStatus":  vipStatus,
+			"isvalidOk":  isvalidOk,
 		}
 		this.ServeJson(dataArr)
 	}
@@ -82,6 +82,7 @@ func (this *RenewUpgrade) RenewUpgradeCreateOrder() {
 	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")
 	r := func() *entity.FuncResult {
 		now := time.Now()
 		//数据校验
@@ -128,7 +129,9 @@ func (this *RenewUpgrade) RenewUpgradeCreateOrder() {
 				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

+ 14 - 6
src/web/templates/weixin/vipsubscribe/renew_notice.html

@@ -66,6 +66,7 @@
 //			console.log("orderId",orderId)
 //			console.log("starts",starts)
 //			console.log("ends",ends)
+			var nowTime = new Date().getTime();
 			if(orderId !== "" && orderId !== undefined){
 				$DoPost("/subscribepay/renewUpgrade/getExprie", {"orderId":orderId}, function (r) {
 					if(r){
@@ -77,6 +78,7 @@
 					    var areaHtml = "";
 					    var buyerclassArr = [];
 					    var buyerclassHtml = "";
+					    var endstime = new Date(ends).getTime();
 						if (area !== "" && area !== undefined){
 					    	for(var province in area){
 					    		var citys = area[province]
@@ -113,15 +115,21 @@
 					    	$(".date-span").text(dateHtml);
 					    }
 					    if(exprie === "will"){
-					    	$(".free_service").hide();
-					    	$("#exprie").text("VIP订阅服务即将到期,请及时续费")
-					    	$(".recommend_title").text("以下区域、行业的订阅推送即将停止,为了不影响您的使用,请立即续费!")
+					    	let a = (endstime/1000) - (86400 * 3)
+					    	let b = nowTime/1000
+					    	if(b > a){
+					    		$(".free_service").hide();
+						    	$("#exprie").text("VIP订阅服务即将到期,请及时续费")
+						    	$(".recommend_title").text("以下区域、行业的订阅推送即将停止,为了不影响您的使用,请立即续费!")
+					    	}
 					    }else{
 					    	$(".free_service").show();
 					    }
-					    if(vipStatus === 2){
-					    	$(".free_service").hide();
-					    	$(".renew_service").hide();
+					    if(vipStatus === 2&&nowTime>endstime){
+					    	if(exprie === "exprie"){
+					    		$(".free_service").hide();
+					    		$(".renew_service").hide();
+					    	}
 					    }
 					}
 				});

+ 39 - 21
src/web/templates/weixin/vipsubscribe/renew_pay.html

@@ -28,10 +28,14 @@
 	}
 	.vip_update .fixed-bottom-box, .vip_renew .fixed-bottom-box {
 	    width: 100%;
-	    position: fixed;
+	    position: static;
 	    bottom: 0;
 	    left: 0;
 	}
+	.vip_update .choose_condition, .vip_renew .choose_condition {
+	    -webkit-overflow-scrolling: touch
+	}
+	
 </style>
 <body class="no-touch">
 	<script type="text/javascript">
@@ -298,6 +302,18 @@
 
         // 选择订阅周期
         $('.select_cycle > a').click(function () {
+        	// 当续费时间 + 当前已经买的时间超过36个月,给出提醒
+	    	if(nowUpgrade>=36){
+	    		var overtimeWarning = `最长订阅周期不可超过3年<br />当前订阅周期:${nowUpgrade}个月`
+		        weui.toast(overtimeWarning, {
+		            duration: 3000,
+		            className: 'custom-toast',
+		            callback: function() {
+		   
+		            }
+		        })
+		        return
+	    	}
             $('#time_cycle').show(200);
         })
         // 选择支付方式
@@ -365,6 +381,17 @@
                 currentNum = currentNum <= data.numboxMin ? data.numboxMin : currentNum - data
                     .numboxStep;
             }
+            // 当续费时间 + 当前已经买的时间超过36个月,给出提醒
+            if((currentNum+nowUpgrade)>36){
+            	var overtimeWarning = `最长订阅周期不可超过3年<br />当前订阅周期:${nowUpgrade}个月`
+		        weui.toast(overtimeWarning, {
+		            duration: 3000,
+		            className: 'custom-toast',
+		            callback: function() {
+		            }
+		        })
+		        return
+            }
             if (currentNum >= 10) {
             	$('.profit_tips').text("已选择"+currentNum+"个月,建议“按年订阅”更划算哦~");
                 $('.profit_tips').show();
@@ -407,6 +434,16 @@
         $('#number_box_year').on('click', 'span', function (e) {
             console.log(e.target.dataset.id)
             let id = e.target.dataset.id;
+            if((id*12+nowUpgrade)>36){
+            	var overtimeWarning = `最长订阅周期不可超过3年<br />当前订阅周期:${nowUpgrade}个月`
+		        weui.toast(overtimeWarning, {
+		            duration: 3000,
+		            className: 'custom-toast',
+		            callback: function() {
+		            }
+		        })
+		        return
+            }
             $('.profit_tips').hide()
             $('#number_box_month').removeClass('active');
             $(this).addClass('active').siblings().removeClass('active')
@@ -745,26 +782,6 @@
 	    }
 	    //
 	    $(".save_renew").on("click", function(){
-	    	console.log(nowUpgrade)
-//	    	let times = $('.choose_item.select_cycle .info').attr('placeholder');
-	    	let times = $('.choose_item.select_cycle .info').val();
-	        if (times.match("月") !== null){
-	        	times = Number(times.replace("个月",""));
-	        }else if (times.match("年") !== null){
-	        	times = 12 * Number(times.replace("年",""));
-	        }
-	    	// 当续费时间 + 当前已经买的时间超过36个月,给出提醒
-	    	if(times > 36-nowUpgrade){
-	    		var overtimeWarning = `最长订阅周期不可超过3年<br />当前订阅周期:${nowUpgrade}个月`
-		        weui.toast(overtimeWarning, {
-		            duration: 3000,
-		            className: 'custom-toast',
-		            callback: function() {
-		   
-		            }
-		        })
-		        return
-	    	}
 	        $(".save_renew").attr("disabled","disabled");
 	    	var param = {
 	    		"area": JSON.stringify(area),
@@ -790,6 +807,7 @@
 	    	sessionStorage.removeItem("renew_cycleunit");
 	    	sessionStorage.removeItem("renew_price");
 	    	sessionStorage.removeItem("renew_finally_price");
+	    	sessionStorage.removeItem("buyChecks");
 	    }
 	    
 	    //

+ 28 - 3
src/web/templates/weixin/vipsubscribe/vip_upgrade.html

@@ -29,10 +29,14 @@
 	}
 	.vip_update .fixed-bottom-box, .vip_renew .fixed-bottom-box {
 	    width: 100%;
-	    position: fixed;
+	    position: static;
 	    bottom: 0;
 	    left: 0;
 	}
+	.vip_update .choose_condition, .vip_renew .choose_condition {
+	    -webkit-overflow-scrolling: touch
+	}
+	
 </style>
 <body class="no-touch">
 	<script type="text/javascript">
@@ -248,7 +252,7 @@
                 </div>
                 <div class="box_bd">
                     <div class="weui-cells weui-cells_checkbox choose-form">
-                        <label class="weui-cell weui-check__label now_label" for="nowTime">
+                        <label class="weui-cell weui-check__label now_label effect_one" for="nowTime">
                             <div class="weui-cell__bd read">
                                 <p class="effective_name now">立即生效,需支付当月费用差价</p>
                                 <p class="effective_time nownow">2019.08.23 - 2020.06.06</p>
@@ -460,6 +464,15 @@
 				$(".effect_next").hide();
 //				$(".box").css("height", "2.7rem");
 			}
+			if(!isvalidOk){
+				console.log(isvalidOk)
+				$(".effect_one").hide();
+				$(".effective_name").each(function(){
+		    		if($(this).text() === effectiveNames){
+		    			$(this).parent().next().find("input").prop("checked", true);
+		    		}
+		    	})
+			}
         })
         //
 		var effectiveName = new Date().getMonth()+2;
@@ -872,6 +885,7 @@
 	    var starts = "";
 	    var endTime = "";
 	    var ends = "";
+	    var isvalidOk = "";
 	 	$DoPost("/subscribepay/renewUpgrade/getBuyMsg", {}, function (data) {
             if (data) {
                 area = data.area;
@@ -882,6 +896,7 @@
 			    starts = data.starttime;
 			    endTime = data.end;
 			    ends = data.endtime;
+			    isvalidOk = data.isvalidOk;
 			    //
 			    var areaArr = [];
 			    var areaHtml = "";
@@ -924,7 +939,15 @@
 			    var nowDate = data.now.replace(/-/g, ".");
 			    var a = nowDate+ " - " +endTime;
 			    $(".nownow").text(nowDate+ " - " +endTime.replace(/-/g, "."))
-			    
+			    //
+			    if(!isvalidOk){
+			    	var effectiveName = new Date().getMonth()+2;
+		    		if(effectiveName > 12){
+		    			effectiveName = effectiveName - 12
+		    		}
+		    		effectiveHtml = effectiveName+"月1日生效";
+		    		$("#effect_date_name").text(effectiveHtml);
+			    }
 			}
         },false);
         //
@@ -1264,6 +1287,7 @@
 	    		"pay_source" : "Upgrade",
 	    		"time": times,
 	    		"nowUp": Number(nowRenew),
+	    		"isvalidOk" : isvalidOk,
 	    	}
 	    	console.log(param)
 	    	$DoPost("/subscribepay/renewUpgrade/renewUpgradeCreateOrder",param,function(r){
@@ -1283,6 +1307,7 @@
 	    	sessionStorage.removeItem("vipSubSelectAreaUpgrade");
 	    	sessionStorage.removeItem("vipSubSelectIndustryUpgrade");
 	    	sessionStorage.removeItem("effectiveDate");
+	    	sessionStorage.removeItem("buyCheck");
 	    }
 	    
 	    //