|
|
@@ -0,0 +1,304 @@
|
|
|
+<!DOCTYPE html>
|
|
|
+<html xmlns:th="http://www.thymeleaf.org">
|
|
|
+<head>
|
|
|
+<title>小塾学伴会员购买</title>
|
|
|
+<link href="style/jquery-weui.css" th:href="@{/static/style/jquery-weui.css(version=${#dates.format(#calendars.createNow(),'yyyyMMdd')})}" rel="stylesheet"/>
|
|
|
+<script th:include="weixin/common/includeJS_CSS" th:remove="tag" ></script>
|
|
|
+<link href="style/vipcard.css" th:href="@{/static/style/vipcard.css(version=${#dates.format(#calendars.createNow(),'yyyyMMdd')})}" rel="stylesheet"/>
|
|
|
+<script src="js/jquery-weui.js" th:src="@{/static/js/jquery-weui.js}"></script>
|
|
|
+
|
|
|
+<style type="text/css">
|
|
|
+ .lineform input{
|
|
|
+ width: 192px;
|
|
|
+ }
|
|
|
+ .lineform select{
|
|
|
+ width: 192px;
|
|
|
+ }
|
|
|
+</style>
|
|
|
+
|
|
|
+</head>
|
|
|
+<body class="bg_f2">
|
|
|
+ <!--内容-->
|
|
|
+ <div class="mui-content">
|
|
|
+ <div class="vipcard">
|
|
|
+ <a class="dc_flex btnweizhi" th:href="@{/weixin/libVip/serviceLocation.html}">
|
|
|
+ <div><i class="iconfont"></i></div>
|
|
|
+ <div class="dc_hd" th:text="${tbLibJoin.leagueName}"></div>
|
|
|
+ <div><i class="iconfont"></i></div>
|
|
|
+ </a>
|
|
|
+ <div class="panel">
|
|
|
+ <div class="Ttitle">
|
|
|
+ <i>1</i>填写会员信息
|
|
|
+ </div>
|
|
|
+ <div class="lineform">
|
|
|
+ <div class="dc_flex">
|
|
|
+ <div class="type">孩子姓名</div>
|
|
|
+ <div class="dc_hd"><input type="text" name="childName" id="childName" placeholder="请输入小孩姓名"/></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="lineform">
|
|
|
+ <div class="dc_flex">
|
|
|
+ <div class="type">所读年级</div>
|
|
|
+ <div class="dc_hd" >
|
|
|
+ <select name="grade" id="grade" style="height: 40px; width: 192px;">
|
|
|
+ <option th:value="${list.name}" th:each="list:${grade}" th:text="${list.name}">学前</option>
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="lineform">
|
|
|
+ <div class="dc_flex">
|
|
|
+ <div class="type">家长姓名</div>
|
|
|
+ <div class="dc_hd"><input type="text" name="parentName" id="parentName" placeholder="请输入家长姓名"/></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+<!-- <div class="lineform"> -->
|
|
|
+<!-- <div class="dc_flex"> -->
|
|
|
+<!-- <div class="type">手机号码</div> -->
|
|
|
+<!-- <div class="dc_hd"><input type="tel" name="phone" id="phone" placeholder="请输入家长手机号码"/></div> -->
|
|
|
+<!-- </div> -->
|
|
|
+<!-- </div> -->
|
|
|
+ <div class="lineform">
|
|
|
+ <div class="dc_flex">
|
|
|
+ <div class="type">家长角色</div>
|
|
|
+ <div class="dc_hd">
|
|
|
+ <select name="parentRole" id="parentRole" style="height: 40px;">
|
|
|
+ <option value="爸爸" text="爸爸">爸爸</option>
|
|
|
+ <option value="妈妈" text="妈妈">妈妈</option>
|
|
|
+ <option value="爷爷" text="爷爷">爷爷</option>
|
|
|
+ <option value="奶奶" text="奶奶">奶奶</option>
|
|
|
+ <option value="外公" text="外公">外公</option>
|
|
|
+ <option value="外婆" text="外婆">外婆</option>
|
|
|
+ <option value="其他" text="其他">其他</option>
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="lineform">
|
|
|
+ <div class="dc_flex">
|
|
|
+ <div class="type">所读学校</div>
|
|
|
+ <div class="dc_hd"><input class="wsinput" type="text" placeholder="请输入所读学校" id="school" name="school" value=""/></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="panel">
|
|
|
+ <div class="Ttitle">
|
|
|
+ <i>2</i>选择购买月份
|
|
|
+ </div>
|
|
|
+ <div class="dc_flex vip2typeselect " th:each="specie:${specieList}">
|
|
|
+ <div class="dc_hd " th:classappend="${specieStat.first} ? 'active' " th:data-id="${specie.id}" th:data-species="${specie.species}" th:data-type="${specie.type}" th:data-price="${specie.price}" th:data-name="${specie.name}" ><i class="icon-vip-xz"></i>[[${specie.name}]]</div>
|
|
|
+ <div class="mui-numbox" data-numbox-min="1" data-numbox-max="" >
|
|
|
+ <button class="mui-btn mui-btn-numbox-minus" type="button" disabled="">-</button>
|
|
|
+ <input class="mui-input-numbox" type="number" value="1" style="color: #000;">
|
|
|
+ <button class="mui-btn mui-btn-numbox-plus" type="button">+</button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ <div class="panelbttom">
|
|
|
+ <div class="txt-tiaokuan" id="txt-tiaokuan" >我已阅读并同意该<a >《私塾家小塾学伴会员购买条款》</a></div>
|
|
|
+
|
|
|
+ <a href="javascript:save();" id="save" style="margin: 0px;" class="btn-blue">支付</a>
|
|
|
+ </div>
|
|
|
+ <div class="js_dialog" id="iosDialog1">
|
|
|
+ <div class="dc-mask"></div>
|
|
|
+ <div class="dc-dialog dc-dialog_gmxy">
|
|
|
+ <div class="Top_close"><a href="javascript:;"></a></div>
|
|
|
+ <div class="txtbox">
|
|
|
+ <div class="title">用户服务协议</div>
|
|
|
+ <div class="txt" th:if="${tbLibJoin.libtype eq 1}">
|
|
|
+
|
|
|
+ <p>一、外借书及阅读指导会员卡使用须知</p >
|
|
|
+ <p>1、会员卡仅限会员本人使用,不得外借(父母可凭会员卡陪读及代办图书外借);</p >
|
|
|
+ <p>2、凭卡可到私塾家家庭图书馆外借图书,并可预约到馆阅读,但不承诺有位(具体规则参看《私塾家家庭图书馆馆内阅读与图书外借制度》);</p >
|
|
|
+ <p>3、本卡使用有效期由系统根据会员卡类别进行设定,在系统设定有效期范围内使用有效;</p >
|
|
|
+ <p>4、图书借阅期限为20天,逾期不还将不能再借新书,同时馆方保留收取滞纳金的权利;</p >
|
|
|
+ <p>5、如图书遭借阅者折叠、涂画、破损或丢失,借阅者须购置新书或按原价赔偿给本馆;</p >
|
|
|
+ <p>6、如不慎遗失本卡,补办新卡须交工本费10元;</p >
|
|
|
+ <p>7、会员卡一经办理,不能退费;</p >
|
|
|
+ <p>8、本须知最终解释权归私塾家家庭图书馆所有。</p >
|
|
|
+ <br>
|
|
|
+ <p>二、学习导师陪护式同伴督导VIP专席卡使用须知</p >
|
|
|
+ <p>1. 为提高学习效率,同伴作业督导VIP专席卡最小计时单位是2小时(周一至周五);</p >
|
|
|
+ <p>2. 每次预约均不少于10次,且每周平均不少于5次</p >
|
|
|
+ <p>3. 专席专段专属,预约但未实到不予补段;</p >
|
|
|
+ <p>4. 鼓励同伴学习、互助共进,鼓励家长到馆,共同陪护;</p >
|
|
|
+ <p>5. 配备学习导师管理学生作业,但不提供巩固提升辅导;</p >
|
|
|
+ <p>6. VIP专席卡一经办理,不能退费且使用有效期不超过1年;</p >
|
|
|
+ <p>7. 本须知最终解释权归私塾家家庭图书馆所有。</p >
|
|
|
+ <br>
|
|
|
+ </div>
|
|
|
+ <div class="txt" th:if="${tbLibJoin.libtype ne 1}">
|
|
|
+ <p>一、外借书及阅读指导会员卡使用须知</p >
|
|
|
+ <p>1、会员卡仅限会员本人使用,不得外借(父母可凭会员卡陪读及代办图书外借);</p >
|
|
|
+ <p>2、凭卡可到私塾家共享图书馆外借图书,但不承诺到馆阅读有位;</p >
|
|
|
+ <p>3、本卡使用有效期由系统根据会员卡类别进行设定,在系统设定有效期范围内使用有效;</p >
|
|
|
+ <p>4、图书借阅期限为7天,每次最多可借阅2本,逾期不还将不能再借新书,同时馆方保留收取滞纳金的权利;</p >
|
|
|
+ <p>5、如图书遭借阅者折叠、涂画、破损或丢失,借阅者须购置新书或按原价赔偿给本馆;</p >
|
|
|
+ <p>6、本卡一经办理不予退费,如有遗失,请告知馆内老师进行补办;</p >
|
|
|
+ <p>7、本须知最终解释权归私塾家共享图书馆所有。</p >
|
|
|
+ <br>
|
|
|
+ <p>二、学习导师陪护式同伴督导VIP专席卡使用须知</p >
|
|
|
+ <p>1. 为提高学习效率,同伴作业督导VIP专席卡最小计时单位是2小时(周一至周五);</p >
|
|
|
+ <p>2. 每次预约均不少于10次,且每周平均不少于5次</p >
|
|
|
+ <p>3. 专席专段专属,预约但未实到不予补段;</p >
|
|
|
+ <p>4. 鼓励同伴学习、互助共进,鼓励家长到馆,共同陪护;</p >
|
|
|
+ <p>5. 配备学习导师管理学生作业,但不提供巩固提升辅导;</p >
|
|
|
+ <p>6. VIP专席卡一经办理,不能退费且使用有效期不超过1年;</p >
|
|
|
+ <p>7. 本须知最终解释权归私塾家家庭图书馆所有。</p >
|
|
|
+ <br>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <script type="text/javascript">
|
|
|
+
|
|
|
+ mui("div.panel").on('tap','.vip2typeselect .dc_hd',function(){
|
|
|
+ $(this).addClass('active').siblings().removeClass('active');
|
|
|
+ $('.viptypeshow .list').removeClass('active');
|
|
|
+ var code = this.getAttribute('data-code');
|
|
|
+ $('.viptypeshow').find('.list , .otherbox').css('display','none');
|
|
|
+ $('.viptypeshow').find("."+code).css('display','block');
|
|
|
+ $('.viptypeshow').find("."+code).eq(0).css('margin-top','0px');
|
|
|
+ $('.viptypeshow').find("."+code).eq(0).addClass('active');
|
|
|
+
|
|
|
+ });
|
|
|
+ mui("div.viptypeshow").on('tap','.list',function(){
|
|
|
+ $(this).addClass('active').siblings().removeClass('active');
|
|
|
+ });
|
|
|
+ mui('.mui-content').on('tap','#save',function(){document.location.href=this.href;});
|
|
|
+ mui('.mui-content').on('tap','.btnweizhi',function(){document.location.href=this.href;});
|
|
|
+
|
|
|
+ mui("div.panelbttom").on('tap','.txt-tiaokuan',function(){
|
|
|
+ $(this).toggleClass('active');
|
|
|
+ });
|
|
|
+ mui("div.panelbttom").on('tap','.txt-tiaokuan a',function(){
|
|
|
+ $('.js_dialog').show('fast');
|
|
|
+ });
|
|
|
+ mui("body").on('tap','.dc-mask, .Top_close',function(){
|
|
|
+ $('.js_dialog').hide('fast');
|
|
|
+ });
|
|
|
+
|
|
|
+ function save(){
|
|
|
+ var b = $("#txt-tiaokuan").hasClass("active");
|
|
|
+ if(!b){
|
|
|
+ $.toast("请勾选同意购卡条款","cancel");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ var type =$('div.vip2typeselect').find('.active').data('type');
|
|
|
+ if(type == undefined || type ==''){
|
|
|
+ $.toast("请选择购买类型","cancel");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ var number =$('div.vip2typeselect').find('.active').parent().find('.mui-input-numbox').val();
|
|
|
+ if(number == undefined || number =='' || number<=0){
|
|
|
+ $.toast("请选择购买月份","cancel");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ var childName = $('#childName').val();
|
|
|
+ if(childName == undefined || childName ==''){
|
|
|
+ $.toast("请填写孩子姓名","cancel");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ var grade = $('#grade').val();
|
|
|
+ if(grade == undefined || grade ==''){
|
|
|
+ $.toast("请选择所读年级","cancel");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ var parentName = $('#parentName').val();
|
|
|
+ if(parentName == undefined || parentName ==''){
|
|
|
+ $.toast("请输入家长姓名","cancel");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ var phone = $('#phone').val();
|
|
|
+ if(phone == undefined || phone ==''){
|
|
|
+ $.toast("请输入手机号码","cancel");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ var parentRole = $('#parentRole').val();
|
|
|
+ if(parentRole == undefined || parentRole ==''){
|
|
|
+ $.toast("请选择家长角色","cancel");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ var school = $('#school').val();
|
|
|
+ if(school == undefined || school ==''){
|
|
|
+ $.toast("请输入所读学校","cancel");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ var know = '家长小塾学伴缴费';
|
|
|
+ var details="小塾学伴月费";
|
|
|
+ var price =$('div.vip2typeselect').find('.active').data('price');
|
|
|
+ var salesPriceId =$('div.vip2typeselect').find('.active').data('id');
|
|
|
+
|
|
|
+ $('#save').attr('href','javascript:void(0);');
|
|
|
+ $.ajax({
|
|
|
+ url : "[[${sysUrl}]]/weixin/payment/payService",
|
|
|
+ type : 'post',
|
|
|
+ data : {
|
|
|
+ 'salesPriceId':salesPriceId,//购买类型id
|
|
|
+ 'number':number,//数量
|
|
|
+ 'libId' :'[[${libId}]]',
|
|
|
+ 'know' : know,
|
|
|
+ 'details' : details,
|
|
|
+
|
|
|
+ 'childName' : childName,
|
|
|
+ 'grade' : grade,
|
|
|
+ 'parentName' : parentName,
|
|
|
+ 'phone' : phone,
|
|
|
+ 'parentRole' : parentRole,
|
|
|
+ 'school' : school,
|
|
|
+
|
|
|
+ 'isBuy':1,
|
|
|
+ 'vipStatus':1
|
|
|
+ },
|
|
|
+ dataType: 'json',
|
|
|
+ success: function(data){
|
|
|
+ if(data && data.code == 999){
|
|
|
+ var payInfo = eval(data.data); //数组
|
|
|
+ var orderNo=payInfo.orderNo;
|
|
|
+ WeixinJSBridge.invoke('getBrandWCPayRequest',{
|
|
|
+ "appId" : payInfo.appId, //公众号名称,由商户传入
|
|
|
+ "timeStamp": payInfo.timeStamp, //时间戳,自 1970 年以来的秒数
|
|
|
+ "nonceStr" : payInfo.nonceStr, //随机串
|
|
|
+ "package" : payInfo.packageValue, //商品包信息
|
|
|
+ "signType" : payInfo.signType, //微信签名方式'MD5'
|
|
|
+ "paySign" : payInfo.paySign //微信签名
|
|
|
+ },function(res){
|
|
|
+ if(res.err_msg == "get_brand_wcpay_request:ok" ) {
|
|
|
+ var jumpUrl ='[[${sysUrl}]]/weixin/libOrder/serviceBuyOk_'+orderNo+'.html';
|
|
|
+ location.replace(jumpUrl);
|
|
|
+ event.returnValue=false;
|
|
|
+ return false;
|
|
|
+
|
|
|
+ }else{
|
|
|
+ $('#save').attr('href','javascript:save();');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ $.toast("数据加载失败,请稍后再试!","cancel");
|
|
|
+ $('#save').attr('href','javascript:save();');
|
|
|
+ }
|
|
|
+ },
|
|
|
+ error: function(XMLHttpRequest,textStatus,errorThrown) {
|
|
|
+ $.toast("网络或系统故障,请稍后再试!","cancel");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+</script>
|
|
|
+<script th:include="weixin/vip/vipjssdk" th:remove="tag"></script>
|
|
|
+</body>
|
|
|
+</html>
|