Commit d68fc74830826be4027e529853e6fb7927e50c69

Authored by liuqimichale
1 parent 13c28b0d

多笔缴纳费用

css/list.css 0 → 100644
  1 +.all_told, .platen_number {
  2 + text-align: center;
  3 +}
  4 +.all_told {
  5 + padding: 30px 0 10px 0;
  6 +}
  7 +.all_told span {
  8 + margin-right: 5px;
  9 + font-size: 22px;
  10 +}
  11 +.discount_money {
  12 + color: #fc3817;
  13 +}
  14 +.discount {
  15 + padding: 4px 7px;
  16 + background: #fc3817;
  17 + border-radius: 2px;
  18 + position: relative;
  19 + margin-left: 10px;
  20 + color: #fff;
  21 +}
  22 +.discount:before {
  23 + position: absolute;
  24 + content: '';
  25 + width: 0;
  26 + height: 0;
  27 + left: -6px;
  28 + top: 8px;
  29 + border-top: 6px solid transparent;
  30 + border-bottom: 6px solid transparent;
  31 + border-right: 6px solid #fc3817;
  32 +}
  33 +.youhuid{
  34 + background: #f00;
  35 + color: #fff;
  36 + font-size: 13px;
  37 + padding:2px 5px;
  38 + border-radius: 3px;
  39 + margin-left: 2px;
  40 + display: none;
  41 +}
  42 +.showTooltips{
  43 + display: none;
  44 + /*针对苹果新增手势*/
  45 + cursor: pointer;
  46 +}
  47 +.weui-cells{
  48 + /*针对苹果新增手势*/
  49 + cursor: pointer;
  50 +}
  51 +.dialog-out{
  52 + position: absolute;
  53 + width: 100%;
  54 + height: 100%;
  55 + top:0;
  56 + right: 0;
  57 + left: 0;
  58 + bottom: 0;
  59 + z-index: 1000;
  60 + background: rgba(0,0,0,.3);
  61 + display: none;
  62 +}
  63 +.dia-con{
  64 + width: 305px;
  65 + height: 138px;
  66 + padding: 10px ;
  67 + background:rgba(255,255,255,1);
  68 + border-radius:8px;
  69 + position: absolute;
  70 + left: 50%;
  71 + top:50%;
  72 + transform: translate(-50%,-50%);
  73 +}
  74 +.close-btn{
  75 + float: right;
  76 + width: 16px;
  77 + height: 16px;
  78 + background: url("../img/close.png") no-repeat;
  79 + background-size: 100% 100%;
  80 + cursor: pointer;
  81 + overflow: hidden;
  82 +}
  83 +.dia-main{
  84 + margin-left: 30px;
  85 + margin-top: 30px;
  86 + height: 52px;
  87 + padding-left: 90px;
  88 + background: url("../img/out.png") no-repeat;
  89 + background-size: 52px 52px;
  90 +}
  91 +.dia-text{
  92 + padding-top: 20px;
  93 + text-align: center;
  94 + font-size: 12px;
  95 + color: #999;
  96 +}
  97 +.arrears-btn{
  98 + width: 70px;
  99 + height: 25px;
  100 + margin-top: 20px;
  101 + color: #FFF;
  102 + font-size: 12px;
  103 + text-align: center;
  104 + line-height: 25px;
  105 + background: url("../img/arrears-bg.png") no-repeat;
  106 + background-size:70px 25px ;
  107 +}
  108 +
  109 +.strTip{
  110 + width: 100%;
  111 + height: 100%;
  112 + text-align: center;
  113 + font-size: 20px;
  114 + background: rgba(9,9,9,.5);
  115 + position: fixed;
  116 + top:0;
  117 + left: 0;
  118 +}
  119 +.strWrap{
  120 + margin: 20px auto 0;
  121 + width: 330px;
  122 + height: 431px;
  123 + background: #FFFFFF;
  124 + border-radius: 8px;
  125 + overflow: hidden;
  126 +}
  127 +.strCon{
  128 + text-align: center;
  129 + font-size: 20px;
  130 + color: #333;
  131 + text-align: center;
  132 +}
  133 +.header-title{
  134 + padding: 15px 0;
  135 + font-size: 14px;
  136 + font-weight: 600;
  137 + border-bottom:1px solid #ccc ;
  138 + color: #333;
  139 +}
  140 +.payCarNum{
  141 + font-size: 16px;
  142 + color: #D40202;
  143 +}
  144 +.btn{
  145 + color: #fff;
  146 + font-size: 20px;
  147 +
  148 + height: 40px;
  149 + line-height: 40px;
  150 + border-radius: 8px;
  151 + cursor: pointer;
  152 +}
  153 +.hiddenBtn{
  154 + background: #79cbbf;
  155 +}
  156 +/*.outBtn{*/
  157 +/*background: #509f93;*/
  158 +/*}*/
  159 +.tipTitle{
  160 + /*background: url("img/tipTitle.png") no-repeat 0 center;*/
  161 + margin-top: 20px;
  162 + font-size: 14px;
  163 + text-align: center;
  164 + font-weight: 500;
  165 + color: #333333;
  166 + line-height: 20px;
  167 +}
  168 +.carNum{
  169 + width: 270px;
  170 + height: 80px;
  171 + margin: 20px auto;
  172 + font-size: 24px;
  173 + font-family: PingFang-SC-Medium, PingFang-SC;
  174 + font-weight: 500;
  175 + color: #FFFFFF;
  176 + text-align: center;
  177 + line-height: 80px;
  178 + background: url("../img/carNum.png") no-repeat;
  179 +}
  180 +.carNumYellow{
  181 + background: url("../img/carNumYellow.png") no-repeat;
  182 +}
  183 +
  184 +.toPay{
  185 + width: 270px;
  186 + height: 45px;
  187 + line-height: 45px;
  188 + text-align: center;
  189 + margin: 0 auto;
  190 + font-size: 16px;
  191 + font-family: PingFang-SC-Medium, PingFang-SC;
  192 + font-weight: 500;
  193 + color: #333333;
  194 + background: url("../img/topay.png") no-repeat;
  195 + cursor: pointer;
  196 +}
  197 +.toSelect{
  198 + width: 270px;
  199 + margin: 20px auto 0;
  200 + text-align: right;
  201 + font-size: 12px;
  202 + font-family: PingFang-SC-Medium, PingFang-SC;
  203 + font-weight: 500;
  204 + color: #333333;
  205 + cursor: pointer;
  206 +}
  207 +.swiper-container {
  208 + width: 100%;
  209 + height: 165px;
  210 +
  211 +}
... ...
css/monPay.css 0 → 100644
  1 +html,body {
  2 + margin: 0;
  3 + padding: 0;
  4 + background:#f0f4f5;
  5 + font-size:62.5%; /*1rem=10px*/
  6 + font-family:'Microsoft YaHei';
  7 +}
  8 +body {
  9 + color:#2a2a2c;
  10 +}
  11 +#header ,#section,#footer{
  12 +
  13 +}
  14 +#header {
  15 + width:100%;
  16 +}
  17 +.panelBgColor {
  18 + background:#ffffff;
  19 +}
  20 +.headerBox {
  21 + background:#75cbbe;width:100%;
  22 + padding:5px 0px 5px 0px;
  23 + border-radius:8px;
  24 + margin: 10px;
  25 + text-align: center;
  26 +}
  27 +.flexBox {
  28 + display: flex;
  29 + justify-content: center;
  30 + flex-direction:column;
  31 + align-items:center;
  32 + width:100%;
  33 +}
  34 +.flexBoxRow {
  35 + display: flex;
  36 + display: -webkit-flex;
  37 + justify-content: left;
  38 + flex-direction:row;
  39 + align-items:center;
  40 + width:100%;
  41 +}
  42 +.flexBoxRow_column {
  43 + display: flex;
  44 + display: -webkit-flex;
  45 + justify-content: left;
  46 + flex-direction:column;
  47 + align-items:center;
  48 + width:100%;
  49 +}
  50 +.carNumBox {
  51 + font-size:1.4rem;
  52 + font-weight:bold;
  53 +}
  54 +.moneyBox {
  55 + color:#ff6f16;
  56 + font-size:3rem;
  57 +}
  58 +.colorGray {
  59 + color:#8a8a8a;
  60 +}
  61 +.payWayTitle {
  62 + font-size:16px;
  63 +}
  64 +.orderTime {
  65 + right:1rem;position:absolute;
  66 +}
  67 +
  68 +
  69 +.payIcon {
  70 + width:32px;height:32px;
  71 +}
  72 +
  73 +.row {
  74 + /*background:#ffffff;*/
  75 + padding:10px;
  76 + position:relative;
  77 +}
  78 +.marginTop {
  79 + margin-top:1rem;
  80 +}
  81 +.splitLine {
  82 + width:100%;
  83 + border: 0;
  84 + height: 1px;
  85 + border-top: 1px solid #f0f4f5;
  86 +}
  87 +
  88 +.marginLeft {
  89 + margin-left:1rem;
  90 + font-size:14px;
  91 +}
  92 +
  93 +.btnOK {
  94 + background:#75cbbe;
  95 + width: 15rem;
  96 + height: 40px;
  97 + line-height: 40px;
  98 + text-align: center;
  99 + border-radius: 5px;
  100 + color: #ffffff;
  101 + font-size: 20px;
  102 + cursor: pointer;
  103 +}
  104 +#footer {
  105 + justify-content:center !important;
  106 +}
  107 +
  108 +/*收费明细*/
  109 +#payDetail {
  110 + padding:5px 10px 5px 10px;font-size: 1.4rem;
  111 + /*height:55px;*/
  112 + transition:height .5s;
  113 + -moz-transition:height .5s; /* Firefox 4 */
  114 + -webkit-transition:height .5s; /* Safari and Chrome */
  115 + -o-transition:height .5s; /* Opera */
  116 + overflow-y:auto;
  117 +}
  118 +#payDetail > div {
  119 + padding: 5px 0px 2px 0px;
  120 +}
  121 +#payDetail >div > span:last-child {
  122 + margin-left:5px;
  123 +}
  124 +
  125 +/*折扣描述*/
  126 +/*#discountDesc {*/
  127 +/*color: #ffffff; background-color: red; border-radius: 2px; margin-left: 5px; padding: 0 3px 0 3px;*/
  128 +/*}*/
  129 +
  130 +#linkPayDetail {
  131 + color:#4395ff;text-decoration:none;
  132 + float: right;
  133 +}
  134 +
  135 +
  136 +
  137 +
  138 +/*********************************************/
  139 +.radio{
  140 + display: inline-block;
  141 + position: relative;
  142 + line-height: 18px;
  143 + margin-right: 10px;
  144 + cursor: pointer;
  145 + position:absolute;
  146 + right:1rem;
  147 +}
  148 +.radio input{
  149 + display: none;
  150 +}
  151 +.radio .radio-bg{
  152 + display: inline-block;
  153 + height: 18px;
  154 + width: 18px;
  155 + margin-right: 5px;
  156 + padding: 0;
  157 + background-color: #45bcb8;
  158 + border-radius: 100%;
  159 + vertical-align: top;
  160 + box-shadow: 0 1px 15px rgba(0, 0, 0, 0.1) inset, 0 1px 4px rgba(0, 0, 0, 0.1) inset, 1px -1px 2px rgba(0, 0, 0, 0.1);
  161 + cursor: pointer;
  162 + transition: all 0.2s ease;
  163 +}
  164 +.radio .radio-on{
  165 + display: none;
  166 +}
  167 +.radio input:checked + span.radio-on{
  168 + width: 10px;
  169 + height: 10px;
  170 + position: absolute;
  171 + border-radius: 100%;
  172 + background: #FFFFFF;
  173 + top: 4px;
  174 + left: 4px;
  175 + box-shadow: 0 2px 5px 1px rgba(0, 0, 0, 0.3), 0 0 1px rgba(255, 255, 255, 0.4) inset;
  176 + background-image: linear-gradient(#ffffff 0, #e7e7e7 100%);
  177 + transform: scale(0, 0);
  178 + transition: all 0.2s ease;
  179 + transform: scale(1, 1);
  180 + display: inline-block;
  181 +}
  182 +
  183 +.headTip {
  184 + display:none;text-align: center;
  185 + background-color:rgba(253, 201, 11, 0.95);
  186 + width: 100%;
  187 + line-height:25px;
  188 +}
  189 +.headTip > span:first-child {
  190 +
  191 +}
  192 +.headTip > span:last-child {
  193 + color:red;font-size: 1.6rem;
  194 +}
  195 +
  196 +
  197 +
  198 +
  199 +.discountBox{
  200 + border: 0;
  201 + outline: 0;
  202 + width: calc(100% - 120px);
  203 + height:28px;
  204 + line-height: 28px;
  205 + padding-left: 10px;
  206 + background:rgba(240,244,245,1);
  207 + border-radius:4px;
  208 + display: inline-block;
  209 + float: left;
  210 + color: #8a8a8a;
  211 + font-size: 14px;
  212 +}
  213 +.discountBox:focus{
  214 + border: 0;
  215 + outline: 0;
  216 +}
  217 +.discountBtn{
  218 + display: inline-block;
  219 + float: right;
  220 + border: none;
  221 + outline: none;
  222 + -webkit-appearance: none;
  223 + -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  224 + border: 1px solid #75CBBE;
  225 + border-radius:25px ;
  226 + padding: 4px 20px;
  227 + font-size: 14px;
  228 + color: #75CBBE;
  229 + background: #fff;
  230 +}
  231 +.discount-tip{
  232 + padding-top: 10px;
  233 + font-size: 14px;
  234 + color: #EB453B;
  235 +}
  236 +.paySuccess{
  237 + width: 100%;
  238 + height: 100%;
  239 + text-align: center;
  240 + line-height: 100px;
  241 + font-size: 20px;
  242 + color: #fff;
  243 + background: rgba(0,0,0,.7);
  244 + position: fixed;
  245 + top:0;
  246 + left: 0;
  247 + display: none;
  248 +}
... ...
css/paybacknew.css 0 → 100644
  1 +.tab-wrap{
  2 + display: flex;
  3 + margin-bottom: 4px;
  4 + height: 30px;
  5 + line-height: 30px;
  6 + background: #fff;
  7 + text-align: center;
  8 +}
  9 +.tab-wrap >li{
  10 + flex: 1;
  11 +}
  12 +.tab-wrap >li span{
  13 + height: 30px;
  14 + display: inline-block;
  15 + padding: 0 15px;
  16 +}
  17 +.tab-wrap >li.active span{
  18 + color: #0474D7;
  19 + position: relative;
  20 + border-bottom: 4px solid #0474D7;
  21 +}
  22 +
  23 +.tab-main{
  24 + margin-bottom: 67px;
  25 + overflow-y: auto;
  26 +}
  27 +
  28 +.pay-wrap{
  29 + background: #fff;
  30 + padding-left: 15px;
  31 + border-top:1px solid #e1e1e1;
  32 + cursor: pointer;
  33 +}
  34 +.pay-header{
  35 + height: 30px;
  36 + line-height: 30px;
  37 + border-bottom: 1px solid #e1e1e1;
  38 + display: flex;
  39 + justify-content: space-between;
  40 +}
  41 +.pay-header span:last-child {
  42 + color: #D40202;
  43 + margin-right: 15px;
  44 +}
  45 +.pay-body{
  46 + padding: 10px 0;
  47 + position: relative;
  48 +}
  49 +.pay-money{
  50 + position: absolute;
  51 + top:50%;
  52 + right: 15px;
  53 + transform: translateY(-50%);
  54 + color: #333;
  55 +}
  56 +.arrears-wrap{
  57 + display: none;
  58 +
  59 +}
  60 +
  61 +.allMoneyWrap{
  62 + padding-left: 15px;
  63 + height: 27px;
  64 + background: #FAF6EA;
  65 + color: #333;
  66 +}
  67 +.allMoneyWrap span{
  68 + /*margin-left: 15px;*/
  69 + color: #D40202;
  70 +}
  71 +
  72 +.arrears-list{
  73 + position: fixed;
  74 + top: 60px;
  75 + left: 0;
  76 + bottom: 67px; /*距离底部的距离为底部盒子的高度,自己也可以设置*/
  77 + overflow-y: scroll;
  78 + width: 100%;
  79 + height: auto;
  80 + -webkit-overflow-scrolling: touch; /*这句是为了滑动更顺畅*/
  81 +}
  82 +.arrears-list>li{
  83 + padding-left: 40px;
  84 + margin-bottom: 11px;
  85 + border-top:1px solid #e1e1e1;
  86 + background: #fff url("../img/arrearsCheck.png") no-repeat 9px center;
  87 + cursor: pointer;
  88 +}
  89 +.arrears-list>li.active{
  90 + padding-left: 40px;
  91 + margin-bottom: 11px;
  92 + border-top:1px solid #e1e1e1;
  93 + background: #fff url("../img/arrearsChecked.png") no-repeat 9px center;
  94 + cursor: pointer;
  95 +}
  96 +.arrears-header{
  97 + height: 30px;
  98 + line-height: 30px;
  99 + border-bottom:1px solid #e1e1e1;
  100 + display: flex;
  101 + justify-content: space-between;
  102 +}
  103 +.arrears-header span:last-child{
  104 + color: #D40202;
  105 + margin-right: 15px;
  106 +}
  107 +.arrears-body{
  108 + padding: 10px 0;
  109 + position: relative;
  110 +}
  111 +.arrears-money{
  112 + position: absolute;
  113 + top:50%;
  114 + right: 15px;
  115 + transform: translateY(-50%);
  116 + color: #333;
  117 +}
  118 +.arrears-statistics{
  119 + height: 67px;
  120 + position: fixed;
  121 + left: 0;
  122 + bottom: 0;
  123 + width: 100%;
  124 + background: #efeff4;
  125 +}
  126 +.statistics-title{
  127 + height: 32px;
  128 + line-height: 32px;
  129 + padding-left: 15px;
  130 + background: #E6FAFA;
  131 + color: #333;
  132 +}
  133 +
  134 +.statistics-title span{
  135 + color:#D20000 ;
  136 +}
  137 +.statistics-opr{
  138 + height: 35px;
  139 + line-height: 35px;
  140 + display: flex;
  141 + justify-content: space-between;
  142 +}
  143 +.opr-btn{
  144 + padding: 0 10px;
  145 + color: #fff;
  146 + background: #0260B8;
  147 + cursor: pointer;
  148 +}
  149 +.check-btn{
  150 + padding-left: 40px;
  151 + background: url("../img/arrearsCheck.png") no-repeat 9px center;
  152 + cursor: pointer;
  153 +}
  154 +.check-btn.checkedActive{
  155 + background: url("../img/arrearsChecked.png") no-repeat 9px center;
  156 +}
  157 +
  158 +
... ...
img/arrearsCheck.png 0 → 100644

524 Bytes

img/arrearsChecked.png 0 → 100644

554 Bytes

js/config.js
... ... @@ -11,7 +11,7 @@ window.webAppH5 = {};
11 11  
12 12 var webAppRoot = 'http://pay.service.renniting.cn/'; //赤峰
13 13 //test 测试环境
14   -// var webAppRoot = "http://39.98.54.240:8090";
  14 +// var webAppRoot = "http://39.98.58.92:8090";
15 15 //微信支付结果回调地址
16 16 var webAppPayResult = "http://wxgzh.renniting.cn/wechatwuxi/DEV/Threewf/codepay/page/wxpayResult.html";
17 17  
... ...
js/list.js
... ... @@ -31,6 +31,9 @@ var _carNumber = getQueryString(window.location).carNumber
31 31 console.log(_carNumber)
32 32 $('.carNum').text(_carNumber)
33 33  
  34 +
  35 +
  36 +
34 37 /**
35 38 * @param {} second
36 39 * @return {}
... ... @@ -74,152 +77,14 @@ jsajax.defaultReq(
74 77 if (data.length == 0) {
75 78 $('#tip-title').text('您的停车费用为0元,无须缴费,谢谢!')
76 79 return
77   - }
78   - var htmls = '';
79   - for (var i = 0; i < data.length; i++) {
80   - var orderFreeDuration = Number((data[i].orderFreeDuration))
81   - var parkDuration = Number((data[i].parkDuration))
82   - var num = ((data[i].unPayFee) / 100).toFixed(2);
83   - var outflag = data[i].orderStateRemark;
84   -
85   - if (outflag == '出场缴费') {
86   - if (orderFreeDuration > parkDuration) {
87   - htmls += '<div class="weui-cells" data-flag="0">' +
88   - ' <div class="weui-cell">' +
89   - ' <div class="weui-cell__bd">' +
90   - ' <p class="carNumber">' + data[i].carNumber + '</p>' +
91   - ' <p class="parkCode" style="display: none">' + data[i].parkCode + '</p>' +
92   - // ' <p class="orderId" style="display: none">' + data[i].orderId + '</p>' +
93   -
94   - ' </div>' +
95   - ' <div class="weui-cell__ft paySrcType" style="color: #f00"></div>' +
96   - ' </div>' +
97   - ' <div class="weui-cell">' +
98   - ' <div class="weui-cell__bd">' +
99   - ' <p>停车场名称:' + data[i].parkName + '</p>' +
100   - ' <p>进场时间:' + data[i].parkInTime + '</p>' +
101   - ' <p>出场时间:' + data[i].parkOutTime + '</p>' +
102   - ' <p>停车时长:' + dateFormat(data[i].parkDuration) + '</p>' +
103   - ' </div>' +
104   - ' <div class="weui-cell__ft ">' +
105   - '<p><span class="paymoney">' + num + '</span>元</p>' +
106   - '<p class="out-btn arrears-btn">申请离场' +
107   - ' <span class="orderId" style="display: none">' + data[i].orderId + '</span>' +
108   - '</p>' +
109   - '</div>' +
110   - ' </div>' +
111   - ' </div>';
112   - } else {
113   - htmls += '<div class="weui-cells" data-flag="1">' +
114   - ' <div class="weui-cell">' +
115   - ' <div class="weui-cell__bd">' +
116   - ' <p class="carNumber">' + data[i].carNumber + '</p>' +
117   - ' <p class="parkCode" style="display: none">' + data[i].parkCode + '</p>' +
118   - // ' <p class="orderId" style="display: none">' + data[i].orderId + '</p>' +
119   -
120   - ' </div>' +
121   - ' <div class="weui-cell__ft paySrcType" style="color: #f00"></div>' +
122   - ' </div>' +
123   - ' <div class="weui-cell">' +
124   - ' <div class="weui-cell__bd">' +
125   - ' <p>停车场名称:' + data[i].parkName + '</p>' +
126   - ' <p>进场时间:' + data[i].parkInTime + '</p>' +
127   - ' <p>出场时间:' + data[i].parkOutTime + '</p>' +
128   - ' <p>停车时长:' + dateFormat(data[i].parkDuration) + '</p>' +
129   - ' </div>' +
130   - ' <div class="weui-cell__ft "><p><span class="paymoney">' + num + '</span>元</p>' +
131   - '<p class="arrears-btn">出场缴费' +
132   - ' <span class="orderId" style="display: none">' + data[i].orderId + '</span>' +
133   - '</p>' +
134   - '</div>' +
135   - ' </div>' +
136   - ' </div>';
137   - }
138   -
139   - } else {
140   - htmls += '<div class="weui-cells" data-flag="1">' +
141   - ' <div class="weui-cell">' +
142   - ' <div class="weui-cell__bd">' +
143   - ' <p class="carNumber">' + data[i].carNumber + '</p>' +
144   - ' <p class="parkCode" style="display: none">' + data[i].parkCode + '</p>' +
145   - // ' <p class="orderId" style="display: none">' + data[i].orderId + '</p>' +
146   -
147   - ' </div>' +
148   - ' <div class="weui-cell__ft paySrcType" style="color: #f00">' + outflag + '</div>' +
149   - ' </div>' +
150   - ' <div class="weui-cell">' +
151   - ' <div class="weui-cell__bd">' +
152   - ' <p>停车场名称:' + data[i].parkName + '</p>' +
153   - ' <p>进场时间:' + data[i].parkInTime + '</p>' +
154   - ' <p>出场时间:' + data[i].parkOutTime + '</p>' +
155   - ' <p>停车时长:' + dateFormat(data[i].parkDuration) + '</p>' +
156   - ' </div>' +
157   - ' <div class="weui-cell__ft "><p><span class="paymoney">' + num + '</span>元</p>' +
158   - '<p class="arrears-btn">清缴欠费' +
159   - ' <span class="orderId" style="display: none">' + data[i].orderId + '</span>' +
160   - '</p>' +
161   - '</div>' +
162   - ' </div>' +
163   - ' </div>';
164   - }
165   - // if(outflag=='出场缴费'){
166   - // outflag = ''
167   - // }
  80 + }else{
168 81  
169 82 }
170   - $('#pay_listcont').append(htmls);
171 83  
172   - // alert(data.message)
173 84  
174 85 })
175 86  
176   -var dateFormat = function (msd) {
177   - var time = msd
178   -
179   - if (null != time && "" != time) {
180   -
181   - if (time > 60 && time < 60 * 60) {
182   -
183   - time = parseInt(time / 60.0) + "分钟" + parseInt((parseFloat(time / 60.0) -
184   -
185   - parseInt(time / 60.0)) * 60) + "秒";
186   -
187   - }
188   -
189   - else if (time >= 60 * 60 && time < 60 * 60 * 24) {
190   -
191   - time = parseInt(time / 3600.0) + "小时" + parseInt((parseFloat(time / 3600.0) -
192   -
193   - parseInt(time / 3600.0)) * 60) + "分钟" +
194   -
195   - parseInt((parseFloat((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) -
196 87  
197   - parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60)) * 60) + "秒";
198   -
199   - } else if (time >= 60 * 60 * 24) {
200   -
201   - time = parseInt(time / 3600.0 / 24) + "天" + parseInt((parseFloat(time / 3600.0 / 24) -
202   -
203   - parseInt(time / 3600.0 / 24)) * 24) + "小时" + parseInt((parseFloat(time / 3600.0) -
204   -
205   - parseInt(time / 3600.0)) * 60) + "分钟" +
206   -
207   - parseInt((parseFloat((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) -
208   -
209   - parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60)) * 60) + "秒";
210   -
211   - }
212   -
213   - else {
214   -
215   - time = parseInt(time) + "秒";
216   -
217   - }
218   -
219   - }
220   -
221   - return time;
222   -};
223 88  
224 89 $(document).on('click', '.weui-cells', function () {
225 90 console.log($(this).attr('data-flag'))
... ... @@ -442,7 +307,8 @@ $(&#39;.outBtn&#39;).on(&#39;click&#39;, function () {
442 307  
443 308 })
444 309 $('.hiddenBtn').on('click', function () {
445   - $('#strTip').hide()
  310 + // $('#strTip').hide()
  311 + window.location.href = 'paybacknew.html?carNumber='+_carNumber
446 312 })
447 313  
448 314  
... ...
js/monPay.js 0 → 100644
  1 +/*
  2 +@songcxa
  3 +@2018-12-14
  4 +@移动支付
  5 +*/
  6 +var webAppParams = null;
  7 +var $btnObj = null;
  8 +var $btnLoad = null;
  9 +var flag = 0;
  10 +var appWxID = 'wxff4cebaedbf4f886';
  11 +// var appWxID = 'wx945eccc8163fd75b'
  12 +var webAppCode = null;//如果是微信,先获取微信code
  13 +//var $btnLoad = document.getElementById("loading");
  14 +window.onload = function () {
  15 + //var root = document.getElementById("root");
  16 + $btnObj = document.getElementById("btnPayOK");
  17 + $btnLoad = document.getElementById("loading");
  18 +
  19 + $discountBtn = document.getElementById("discountBtn");
  20 + var webRoot = window.location.href;
  21 + //设置当前客户端浏览器模式[微信、支付宝、其他]
  22 + webAppClass.clientBrowser();
  23 + //绑定事件
  24 + var ali = document.getElementById("rowAliPay");
  25 + var wx = document.getElementById("rowWxPay");
  26 + ali.onclick = webAppClass.aliClick;
  27 + wx.onclick = webAppClass.wxClick;
  28 + //$btnObj.onclick = webAppClass.okClick;
  29 +
  30 + $btnObj.onclick = webAppClass.okPay;
  31 +
  32 + document.getElementById("payTip").innerHTML = "";
  33 + //参数
  34 + webAppParams = getQueryString(window.location);
  35 + if (webAppParams != null) {
  36 + console.log(webAppParams.carNumber)
  37 +
  38 +
  39 + //设置UI参数
  40 + webAppClass.setUI(webAppParams);
  41 + } else {
  42 + alertMsg("暂无订单信息");
  43 + }
  44 +
  45 + //获取微信code
  46 + //webAppClass.getCode();
  47 + var state = clientBrowserEx();
  48 + if (state == "wxPay") {
  49 + webAppCode = webAppClass.getCode();
  50 + }
  51 + // $discountBtn.onclick = webAppClass.discountClick;
  52 +}
  53 +/**/
  54 +var webAppClass = {
  55 + //优惠券兑换
  56 + codediscountClick: function (tmpObj) {
  57 + discountVal = document.getElementById("discountBox").value;
  58 + // console.log(discountVal)
  59 + // console.log(discountVal.length)
  60 + if (discountVal.length > 0) {
  61 + $btnObj.style.display = "none";
  62 + $btnLoad.style.display = "block";
  63 + $discountBtn.disabled = true
  64 + console.log(webAppParams.orderId)
  65 + var url = webAppRoot + window.webAppH5.discountServer;
  66 + var discountParams = {
  67 + app_id: '1',
  68 + salt: '1',
  69 + deviceInfo: '1',
  70 + sign_type: '1',
  71 + sign: '1',
  72 + token: '1',
  73 + terminalSource: 7,
  74 + orderId: webAppParams.orderId,
  75 + cardNo: discountVal,
  76 + codeType: 0
  77 + }
  78 + postRequest(url, discountParams, function (res) {
  79 + console.log(res)
  80 + if (res.code == 0) {
  81 +
  82 + document.getElementById("sumMoney").innerHTML = (res.data.orderFee / 100)
  83 + document.getElementById("discountTip").innerHTML = res.data.couponDescribe
  84 + document.getElementById("discountFee").innerHTML = (res.data.discountFee / 100)
  85 + document.getElementById("discountDesc").style.display = "none"
  86 + $btnLoad.style.display = "none";
  87 + $btnObj.style.display = "block";
  88 + flag = 1;
  89 + webAppClass.okPay(tmpObj);//唤醒支付
  90 + } else {
  91 + $btnLoad.style.display = "none";
  92 + $btnObj.style.display = "block";
  93 + $discountBtn.disabled = false;
  94 + document.getElementById("discountTip").innerHTML = res.message
  95 + }
  96 + })
  97 +
  98 + } else {
  99 + return
  100 + }
  101 + },
  102 + discountClick: function () {
  103 + discountVal = document.getElementById("discountBox").value;
  104 + // console.log(discountVal)
  105 + // console.log(discountVal.length)
  106 + if (discountVal.length > 0) {
  107 + $btnObj.style.display = "none";
  108 + $btnLoad.style.display = "block";
  109 + $discountBtn.disabled = true
  110 + // console.log(webAppParams.orderId);
  111 + if (webAppParams === null || webAppParams === 'null' || webAppParams === undefined) {
  112 + document.getElementById("discountTip").innerHTML = '缺少参数';
  113 + $btnLoad.style.display = "none";
  114 + $btnObj.style.display = "block";
  115 + return false;
  116 + }
  117 + var url = webAppRoot + window.webAppH5.discountServer;
  118 + var discountParams = {
  119 + app_id: '1',
  120 + salt: '1',
  121 + deviceInfo: '1',
  122 + sign_type: '1',
  123 + sign: '1',
  124 + token: '1',
  125 + terminalSource: 7,
  126 + orderId: webAppParams.orderId,
  127 + cardNo: discountVal,
  128 + codeType: 0
  129 + }
  130 + postRequest(url, discountParams, function (res) {
  131 + console.log(res)
  132 + if (res.code == 0) {
  133 +
  134 + document.getElementById("sumMoney").innerHTML = (res.data.orderFee / 100)
  135 + document.getElementById("discountTip").innerHTML = res.data.couponDescribe
  136 + document.getElementById("discountFee").innerHTML = (res.data.discountFee / 100)
  137 + document.getElementById("discountDesc").style.display = "none"
  138 + $btnLoad.style.display = "none";
  139 + $btnObj.style.display = "block";
  140 + document.getElementById("discountBox").setAttribute('readonly', 'readonly');
  141 + flag = 1
  142 + } else {
  143 + $btnLoad.style.display = "none";
  144 + $btnObj.style.display = "block";
  145 + $discountBtn.disabled = false;
  146 + document.getElementById("discountTip").innerHTML = res.message
  147 + }
  148 + })
  149 +
  150 + } else {
  151 + $btnLoad.style.display = "none";
  152 + $btnObj.style.display = "block";
  153 + return false;
  154 + }
  155 + },
  156 + //OK
  157 + okClick: function (ev) {
  158 + document.getElementById("payTip").innerHTML = "";
  159 + if (webAppParams == null) {
  160 + alertMsg("暂无订单信息");
  161 + return;
  162 + }
  163 + //先校验停车费用后缴费提交
  164 + webAppClass.checkParkCost();
  165 + },
  166 + //校验该订单当前支付时的费用(排除扫描订单后不支付时长)
  167 + checkParkCost: function () {
  168 + $btnObj.style.display = "none";
  169 + $btnLoad.style.display = "block";
  170 + if (typeof (webAppParams.queryOrderInfo) == "undefined") {//没有queryOrderInfo返回第一页
  171 + window.history.back(-1);
  172 + }
  173 + var tmpParams = JSON.parse(webAppParams.queryOrderInfo);
  174 + var url = webAppRoot + window.webAppH5.comServer;
  175 + postRequest(url, tmpParams, function (res) {
  176 + //btnObj.style.display = "block"; //$btnLoad.style.display = "none";
  177 + //$btnObj.style.display = "block";
  178 + if (res.code == 0) {//进场
  179 + var tmpObj = res.data;
  180 + if (tmpObj) {
  181 + if (flag == 1) {
  182 + webAppClass.codediscountClick(tmpObj);
  183 + } else {
  184 + webAppClass.setUI(tmpObj);
  185 + webAppParams = tmpObj;//重新赋值
  186 + webAppClass.okPay(tmpObj);//唤醒支付
  187 + }
  188 +
  189 + console.log(tmpObj)
  190 + // webAppClass.okPay(tmpObj);//唤醒支付
  191 + } else {
  192 + alertMsg("没有找到相应订单");
  193 + }
  194 + } else {//其他情况如【该卡号场内已存在】
  195 + $btnLoad.style.display = "none";
  196 + $btnObj.style.display = "block";
  197 + console.log(res.message);
  198 + alertMsg(res.message);
  199 + }
  200 + }, function (err) {
  201 + console.log("网络服务超时..." + url);
  202 + alertMsg("网络服务超时");
  203 + $btnLoad.style.display = "none";
  204 + $btnObj.style.display = "block";
  205 + //$btnLoad.style.display = "none";
  206 + });
  207 + },
  208 +
  209 + //确定支付
  210 + okPay: function (params) {
  211 + var _paySrcType = getQueryVariable("paySrcType")
  212 + var orderID = webAppParams.orderId;//订单号
  213 + // alert(_paySrcType)
  214 + if(_paySrcType==103){
  215 + var code = orderID.slice(0,orderID.length)
  216 + var codes = code.split(',')
  217 + orderID = []
  218 + console.log(code)
  219 + console.log(codes)
  220 + for(var i=0;i<codes.length;i++){
  221 + console.log(codes[i])
  222 + orderID.push({
  223 + orderId:codes[i]
  224 + }
  225 + )
  226 + }
  227 + console.log(orderID)
  228 + }else{
  229 + orderID = webAppParams.orderId;//订单号
  230 + }
  231 +
  232 + // alert(orderID)
  233 + // alert(orderID)
  234 + //var moneyID = document.getElementById("sumMoney").innerHTML = webAppParams.orderId;//订单号
  235 + var val = document.getElementById("unpaid").innerText;
  236 + //var couponPersonId = document.getElementById("discountBox").value;
  237 + var url = webAppRoot + window.webAppH5.zeroPayServer;
  238 + // var _paySrcType = getQueryString(window.location)._paySrcType
  239 + var _mon = document.getElementById("unpaid").innerText
  240 +
  241 + var discountParams = {
  242 + payOrderType: _paySrcType,
  243 + recordArreaInfos: JSON.stringify(
  244 + orderID
  245 + ),
  246 + terminalSource: 7,
  247 + orderId: orderID,
  248 + //couponPersonId:couponPersonId,
  249 + app_id: '123',
  250 + sign_type: '123',
  251 + salt: '123',
  252 + deviceInfo: '123',
  253 + sign: '123',
  254 + }
  255 + if (val == '0.00' || val == '0') {
  256 + postRequest(url, discountParams, function (res) {
  257 + console.log(res)
  258 + if (res.code == 0) {
  259 + document.getElementById("paySuccess").style.display = 'block'
  260 +
  261 + } else {
  262 + alert(res.message)
  263 + // $discountBtn.disabled = false
  264 + // document.getElementById("discountTip").innerHTML = res.message
  265 + }
  266 + })
  267 + } else {
  268 + var root = webAppRoot;
  269 + //第一首先判断当前哪种浏览器方式[微信内置、支付宝内置、第三方浏览器]
  270 + var clientType = clientBrowserEx();
  271 + //alert(clientType);
  272 + switch (clientType) {
  273 + case "wxPay"://微信[内置浏览器]
  274 +
  275 + webAppClass.payAjaxJDK(orderID);
  276 + console.log("wxPay");//微信支付
  277 + break;
  278 + case "aliPay"://支付宝
  279 + console.log("aliPay");
  280 + //订单号
  281 + var obj = {};
  282 + //this.payAjax(url, { orderId: "11111", price: 0.01 });
  283 + var aliPay = webAppH5.aliPayServer;
  284 + var aliParams = webAppH5.comParams;
  285 + aliParams.orderId = orderID;
  286 + aliParams.carNumber = getQueryString(window.location).carnum;
  287 + aliParams.payType = 1;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
  288 + aliParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
  289 + aliParams.paySrcType = _paySrcType;//101停车支付
  290 + aliParams.orgId = '10003',
  291 + aliParams.backType=2,
  292 + // aliParams.recordArreaInfos = JSON.stringify([{
  293 + // "orderId": webAppParams.orderId,
  294 + // "orderNotPayFee": _mon * 100,
  295 + // "parkId": getQueryString(window.location).parkCode
  296 + // }]);
  297 +
  298 + aliParams.recordArreaInfos = JSON.stringify(orderID);
  299 + webAppClass.payAliAjax(root + aliPay, aliParams);
  300 + break;
  301 + default://第三方浏览器other
  302 + //默认支付宝
  303 + // alert('2')
  304 + if (document.getElementById("aliPay").checked) {
  305 + console.log("aliPay");
  306 + //订单号
  307 + var obj = {};
  308 + //this.payAjax(url, { orderId: "11111", price: 0.01 });
  309 + var aliPay = webAppH5.aliPayServer;
  310 + var aliParams = webAppH5.comParams;
  311 + aliParams.orderId = orderID;
  312 + aliParams.carNumber = getQueryString(window.location).carnum;
  313 + aliParams.payType = 1;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
  314 + aliParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
  315 + aliParams.paySrcType = _paySrcType;//101停车支付
  316 + aliParams.orgId = '10003',
  317 + aliParams.backType=2,
  318 +
  319 + // aliParams.recordArreaInfos = JSON.stringify([{
  320 + // "orderId": webAppParams.orderId,
  321 + // "orderNotPayFee": _mon * 100,
  322 + // "parkId": getQueryString(window.location).parkCode
  323 + // }]);
  324 + aliParams.recordArreaInfos = JSON.stringify(orderID);
  325 +
  326 + webAppClass.payAliAjax(root + aliPay, aliParams);
  327 + } else {//微信页面支付
  328 + // var url = " https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096";
  329 + // //window.location.href = url;
  330 + // var wxPay = webAppH5.wxPayServer;
  331 + // var wxParams = webAppH5.comParams;
  332 + // wxParams.carNumber = getQueryString(window.location).carnum;
  333 + // wxParams.orderId = orderID;
  334 + // wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
  335 + // wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
  336 + // wxParams.orgId = '10003',
  337 + // wxParams.paySrcType = _paySrcType;//101停车支付
  338 + // wxParams.backType=2,
  339 + // wxParams.openId = _openId
  340 + // // wxParams.recordArreaInfos = JSON.stringify([{
  341 + // // "orderId": webAppParams.orderId,
  342 + // // "orderNotPayFee": _mon * 100,
  343 + // // "parkId": getQueryString(window.location).parkCode
  344 + // // }]);
  345 + // wxParams.recordArreaInfos = JSON.stringify(orderID);
  346 + // webAppClass.payAjax(root + wxPay, wxParams);
  347 + // console.log("wxPay");
  348 +
  349 +
  350 +
  351 + webAppClass.payAjaxJDK(orderID);
  352 + console.log("wxPay");//微信支付
  353 +
  354 + }
  355 + break;
  356 + }
  357 + }
  358 +
  359 + },
  360 +
  361 + getCode: function () {
  362 + var appID = appWxID;
  363 + var code = getUrlParam('code');
  364 + var local = window.location.href;
  365 + //alert("local:" + local);
  366 + if (code == null || code === '') {
  367 + //alert(code);
  368 + window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + appID + '&redirect_uri=' + encodeURIComponent(local) + '&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect'
  369 + //window.event.returnValue = false;
  370 + //window.open('https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + appID + '&redirect_uri=' + encodeURIComponent(local) + '&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect');
  371 + //alert("22");
  372 + } else {
  373 + //getOpenId(code); //把code传给后台获取用户信息
  374 + //alert(code);
  375 + //webAppCode = code;
  376 + return code;
  377 + }
  378 +
  379 + function getUrlParam(name) {
  380 + var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
  381 + var r = window.location.search.substr(1).match(reg)
  382 + if (r != null) return unescape(r[2])
  383 + return null
  384 + }
  385 + },
  386 + //Ali
  387 + aliClick: function (ev) {
  388 + console.log("AliClick");
  389 + document.getElementById("aliPay").checked = true;
  390 + ev.preventDefault();
  391 + },
  392 + //Wx
  393 + wxClick: function (ev) {
  394 + console.log("wxClick");
  395 + document.getElementById("wxPay").checked = true;
  396 + ev.preventDefault();
  397 + },
  398 + //浏览器
  399 + clientBrowser: function () {
  400 + if (/MicroMessenger/.test(window.navigator.userAgent)) {
  401 + console.log("微信客户端");
  402 + this.switchShow("wxPay");
  403 + } else if (/AlipayClient/.test(window.navigator.userAgent)) {
  404 + console.log("支付宝客户端");
  405 + this.switchShow("aliPay");
  406 + } else {
  407 + console.log("其他浏览器");
  408 + this.switchShow("other");
  409 + }
  410 + },
  411 + //根据浏览器显示内容[aliPay、wxPay、other]
  412 + switchShow: function (type) {
  413 + var aliObj = document.getElementById("rowAliPay");
  414 + var wxObj = document.getElementById("rowWxPay");
  415 + var lineObj = document.getElementById("splitLine");
  416 + switch (type) {
  417 + case "aliPay":
  418 + lineObj.style.display = "none";
  419 + wxObj.style.display = "none";
  420 + document.getElementById("aliPay").checked = true;
  421 + break;
  422 + case "wxPay":
  423 + lineObj.style.display = "none";
  424 + aliObj.style.display = "none";
  425 + document.getElementById("wxPay").checked = true;
  426 + break;
  427 + default://其他浏览器[浏览器暂时屏蔽微信]
  428 + lineObj.style.display = "none";
  429 + wxObj.style.display = "none";
  430 + document.getElementById("aliPay").checked = true;
  431 + break;
  432 + }
  433 + },
  434 +
  435 + //异步请求-微信H5页面
  436 + payAjax: function (url, params) {
  437 + var btnOBj = $btnObj;
  438 + postRequest(url, params, function (res) {
  439 + btnOBj.style.display = "block";
  440 + $btnLoad.style.display = "none";
  441 + //debugger;
  442 + if (res.code == 0) {//进场
  443 + //alertMsg("出场成功");
  444 + if (res.data) {
  445 + var tmpObj = res.data;
  446 + if (typeof (tmpObj.mwebUrl) != "undefined") {
  447 + window.location.href = tmpObj.mwebUrl + "&redirect_url=" + webAppPayResult;
  448 + } else {
  449 + alertMsg("没有返回支付地址mwebUrl");
  450 + }
  451 + console.log(JSON.stringify(tmpObj));
  452 + } else {
  453 + alertMsg("没有找到返回值");
  454 + }
  455 + } else {//其他情况如【该卡号场内已存在】
  456 + console.log(res.message);
  457 + alertMsg(res.message);
  458 + }
  459 + }, function (err) {
  460 + console.log("网络地址出错...");
  461 + alertMsg("网络地址出错...");
  462 + $btnLoad.style.display = "none";
  463 + btnOBj.style.display = "block";
  464 + });
  465 + },
  466 + //异步请求-微信JDK调用
  467 + payAjaxJDK: function (orderID) {
  468 + var btnOBj = $btnObj;
  469 + //0:页面初始化获取code[webAppCode]
  470 + var codeParams = {code: webAppCode, appId: appWxID};
  471 + var openIdUrl = webAppRoot + window.webAppH5.wxGetOpenIdServer;
  472 +
  473 + //1:有code获取OpenId
  474 + postRequest(openIdUrl, codeParams, function (res) {
  475 + //alert(JSON.stringify(res));
  476 + if (res.code == 0) {
  477 + //alert(res.data);
  478 + webAppClass.getPayParams(res.data, orderID);
  479 + } else if (res.code == 40163) {//code been used, hints[重复code问题]
  480 +
  481 + alertMsg(appState.codeNullTip);
  482 + console.log(res.message);
  483 + $btnObj.style.display = "block";
  484 + $btnLoad.style.display = "none";
  485 + } else {
  486 + alertMsg(res.message);
  487 + $btnObj.style.display = "block";
  488 + $btnLoad.style.display = "none";
  489 + }
  490 + }, function (err) {
  491 + console.log("网络地址出错..." + openIdUrl);
  492 + $btnObj.style.display = "block";
  493 + $btnLoad.style.display = "none";
  494 + });
  495 + //2:获取支付参数
  496 + //function getPayParams(openId) {
  497 +
  498 + //}
  499 + },
  500 + getPayParams: function (openId, orderID) {
  501 + var wxPay = window.webAppH5.wxPayServer;
  502 + var wxParams = window.webAppH5.comParams;
  503 + var _mon = Number($('#unpaid').text)*100
  504 + wxParams.orderId = orderID;
  505 + wxParams.backType=2,
  506 + wxParams.orgId = '10003',
  507 + wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号
  508 + wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付
  509 + //webAppClass.payAjax(root + wxPay, wxParams);
  510 +
  511 +
  512 + //新增start
  513 +
  514 +
  515 + wxParams.carNumber = getQueryVariable("carnum");
  516 +
  517 + wxParams.paySrcType = getQueryVariable("paySrcType");//101停车支付
  518 +
  519 +
  520 +
  521 +
  522 +
  523 + // var orderID = orderID;//订单号
  524 + // alert(_paySrcType)
  525 + // if(getQueryVariable("paySrcType")==103){
  526 + // var code = orderID.slice(0,orderID.length)
  527 + // var codes = code.split(',')
  528 + // orderID = []
  529 + // console.log(code)
  530 + // console.log(codes)
  531 + // for(var i=0;i<codes.length;i++){
  532 + // console.log(codes[i])
  533 + // orderID.push({
  534 + // orderId:codes[i]
  535 + // }
  536 + // )
  537 + // }
  538 + // console.log(orderID)
  539 + // }else{
  540 + // orderID = orderID;//订单号
  541 + // }
  542 +
  543 +
  544 + wxParams.recordArreaInfos = JSON.stringify(orderID);
  545 +
  546 + //新增end
  547 +
  548 +
  549 + wxParams.openId = openId;
  550 + _openId = openId
  551 + wxParams.appId = appWxID;
  552 + var payParamsUrl = webAppRoot + window.webAppH5.wxPayServer;
  553 + //alert(payParamsUrl);alert(orderID);
  554 + postRequest(payParamsUrl, wxParams, function (res) {
  555 + $btnObj.style.display = "block";
  556 + $btnLoad.style.display = "none";
  557 + //debugger;
  558 + if (res.code == 0) {//进场
  559 + //alertMsg("出场成功");
  560 + if (res.data) {
  561 + var tmpObj = res.data;
  562 + webAppClass.weixinJSBridge(res.data);
  563 + console.log(JSON.stringify(tmpObj));
  564 + //alert(JSON.stringify(tmpObj));
  565 + } else {
  566 + alertMsg("没有找到返回值");
  567 + }
  568 + } else {
  569 + $btnLoad.style.display = "none";
  570 + $btnObj.style.display = "block";
  571 + console.log(res.message);
  572 + alertMsg(res.message);
  573 + }
  574 + }, function (err) {
  575 + console.log("网络地址出错...");
  576 + alertMsg("网络地址出错..." + payParamsUrl);
  577 + $btnLoad.style.display = "none";
  578 + $btnObj.style.display = "block";
  579 + });
  580 + },
  581 +
  582 + //调用微信内置WeixinJSBridge对象发起支付
  583 + weixinJSBridge: function (params) {
  584 + function onBridgeReady() {
  585 + WeixinJSBridge.invoke(
  586 + 'getBrandWCPayRequest', params,
  587 + //'getBrandWCPayRequest', {
  588 + // "appId": appWxID, //公众号名称,由商户传入
  589 + // "timeStamp": "1395712654", //时间戳,自1970年以来的秒数
  590 + // "nonceStr": "e61463f8efa94090b1f366cccfbbb444", //随机串
  591 + // "package": "prepay_id=u802345jgfjsdfgsdg888",
  592 + // "signType": "MD5", //微信签名方式:
  593 + // "paySign": "70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名
  594 + //},
  595 + function (res) {
  596 + //alert(res.err_msg);
  597 + if (res.err_msg == "get_brand_wcpay_request:ok") {
  598 + // 使用以上方式判断前端返回,微信团队郑重提示:
  599 + //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
  600 +
  601 +
  602 +
  603 + //window.location.href = webAppPayResult + "?trade_no=" + "success";
  604 + window.history.go(-2);
  605 + setTimeout(function(){
  606 + window.history.go(-2);
  607 + //var src = mUrl.Uri+'/WEB-INF/pages/select.html?openid='+func.openid+'&token='+func.token+"&";//mUrl.myParkCardView;
  608 + //window.location.href = src;
  609 + },3000);
  610 +
  611 +
  612 + } else if (res.err_msg == 'get_brand_wcpay_request:cancel') {
  613 + window.location.href = webAppPayResult + "?trade_no=" + "fail";
  614 + } else {
  615 + alertMsg(JSON.stringify(res));
  616 + //alert(res.err_msg);
  617 + }
  618 + });
  619 + }
  620 +
  621 + if (typeof WeixinJSBridge == "undefined") {
  622 + if (document.addEventListener) {
  623 + document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
  624 + } else if (document.attachEvent) {
  625 + document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
  626 + document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
  627 + }
  628 + } else {
  629 + onBridgeReady();
  630 + }
  631 + },
  632 +
  633 + //异步请求-支付宝
  634 + payAliAjax: function (url, params) {
  635 + console.log(url)
  636 + console.log(params)
  637 + var btnOBj = $btnObj;
  638 + postRequest(url, params, function (res) {
  639 + btnOBj.style.display = "block";
  640 + $btnLoad.style.display = "none";
  641 + console.log(res)
  642 + if (res.code == 0) {//进场
  643 + document.write(res.data);//打开支付表单
  644 + } else {//其他情况如【该卡号场内已存在】
  645 + console.log(res.message);
  646 + alertMsg(res.message);
  647 + }
  648 + }, function (err) {
  649 + console.log("网络地址出错...");
  650 + alertMsg("网络地址出错...");
  651 + $btnLoad.style.display = "none";
  652 + btnOBj.style.display = "block";
  653 + });
  654 + },
  655 +
  656 + //设置UI
  657 + setUI: function (params) {
  658 + console.log('ui')
  659 +
  660 + if (params != null && params != "") {
  661 + var carnum = getQueryVariable("carnum") // 车牌号
  662 + var unpaid = (getQueryVariable("unpaid") / 100).toFixed(2) // 应付
  663 + var _num = getQueryVariable("num") // 笔数
  664 + var monNum = (getQueryVariable("due") / 100).toFixed(2) // 总费用
  665 + var paySrcType = getQueryVariable("paySrcType") // 支付单来源 101:停车付款单 103:停车补缴单
  666 + var disfee = getQueryVariable("disfee")// 优惠金额
  667 + if(paySrcType==103){
  668 + $('#wenan').hide()
  669 + disfee = (getQueryVariable("disfee") / 100).toFixed(2)
  670 + }else{
  671 + disfee = disfee.slice(1,disfee.length-1)
  672 + }
  673 +
  674 + var orderID = getQueryVariable("orderId") // 订单
  675 + var parkCode = getQueryVariable("parkCode") // 订单
  676 +
  677 + $("#carnum").text(carnum);
  678 + $("#unpaid").text(unpaid);
  679 + $("#monNum").text(_num + '笔');
  680 + $("#allMon").text(monNum);
  681 + $("#disfee").text(disfee);
  682 + // $discountDesc.innerHTML = params.discountDesc;
  683 + } else {
  684 + console.log("没有接受到参数");
  685 + }
  686 + },
  687 +
  688 +
  689 +}
  690 +
  691 +function getQueryVariable(variable) {
  692 + var query = window.location.search.substring(1);
  693 + var vars = query.split("&");
  694 + for (var i = 0; i < vars.length; i++) {
  695 + var pair = vars[i].split("=");
  696 + if (pair[0] == variable) {
  697 + return decodeURI(pair[1]);
  698 + }
  699 + }
  700 + return (false);
  701 +}
  702 +
... ...
js/paybacknew.js 0 → 100644
  1 +var fun = {
  2 + dateFormat: function (msd) {
  3 + var time = msd
  4 +
  5 + if (null != time && "" != time) {
  6 +
  7 + if (time > 60 && time < 60 * 60) {
  8 +
  9 + time = parseInt(time / 60.0) + "分钟" + parseInt((parseFloat(time / 60.0) -
  10 +
  11 + parseInt(time / 60.0)) * 60) + "秒";
  12 +
  13 + }
  14 +
  15 + else if (time >= 60 * 60 && time < 60 * 60 * 24) {
  16 +
  17 + time = parseInt(time / 3600.0) + "小时" + parseInt((parseFloat(time / 3600.0) -
  18 +
  19 + parseInt(time / 3600.0)) * 60) + "分钟" +
  20 +
  21 + parseInt((parseFloat((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) -
  22 +
  23 + parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60)) * 60) + "秒";
  24 +
  25 + } else if (time >= 60 * 60 * 24) {
  26 +
  27 + time = parseInt(time / 3600.0 / 24) + "天" + parseInt((parseFloat(time / 3600.0 / 24) -
  28 +
  29 + parseInt(time / 3600.0 / 24)) * 24) + "小时" + parseInt((parseFloat(time / 3600.0) -
  30 +
  31 + parseInt(time / 3600.0)) * 60) + "分钟" +
  32 +
  33 + parseInt((parseFloat((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) -
  34 +
  35 + parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60)) * 60) + "秒";
  36 +
  37 + }
  38 +
  39 + else {
  40 +
  41 + time = parseInt(time) + "秒";
  42 +
  43 + }
  44 +
  45 + }
  46 +
  47 + return time;
  48 + },
  49 + checkIN: function (i) {
  50 + return i.parkState == 10
  51 + },
  52 + checkOUT: function (i) {
  53 + return i.parkState == 20
  54 + },
  55 + //查询单个待支付单费用
  56 + getOneorder: function (carNumber, parkCode, orderId, parkCode) {
  57 + // var salt = jsajax.salt(32);
  58 + // var token = mUrl.GetToken();
  59 +
  60 + var salt = jsajax.salt(32);
  61 + var token = mUrl.GetToken();
  62 + if (token == null) {
  63 + token = '';
  64 + }
  65 + var jsondata = {
  66 + app_id: "0eca8f5373ca4866aec2f8e9d9367104",
  67 + deviceInfo: "BC0703A4-AFB0-4B51-9089-9B7487C0CC6E",
  68 + salt: salt,
  69 + sign: fun.getMd5sign(),
  70 + sign_type: "md5",
  71 + token: token,
  72 +
  73 + appId: jsajax.appID,
  74 + orderId: orderId,
  75 + terminalSource: '7',
  76 + parkCode: parkCode,
  77 + carNumber: carNumber,
  78 +
  79 + }
  80 + // console.log('查询单个的入参 ' + JSON.stringify(jsondata) + " 请求的接口" + mUrl.oneCardorder);
  81 + jsajax.defaultReq(
  82 + mUrl.oneCardorder,
  83 + JSON.stringify(jsondata),
  84 + function (data) {
  85 + console.log(data)
  86 + if (data.code == '0') {
  87 + //setdiv();
  88 + setTimeout(function () {
  89 + var datas = data.data
  90 + console.log(datas)
  91 + // var discountFee = datas.discountFee;//已优惠
  92 + // var discountDesc = datas.discountDesc;//已优惠
  93 + // var parkCode = datas.parkCode;
  94 + // var no = datas.orderId;//.no;//订单id
  95 + // var inparktime = datas.inparktime;//.inparktime;//进场时间
  96 + // var plateno = datas.plateno;//车牌号
  97 + // var parkName = datas.parkName;//停车场名称
  98 + // var staytime = datas.staytime;//停车时长
  99 + var due = datas.due;//总计费用
  100 + var unpaid = datas.unpaid;//待支付
  101 + // var paid = datas.paid;//实付
  102 + // var discountType = datas.discountType;
  103 + //
  104 + var discountFee;
  105 + var discountDesc;
  106 + if (datas.discountFee && datas.discountFee != '' && datas.discountFee != undefined) {
  107 + discountFee = datas.discountFee;//已优惠
  108 + if (datas.discountDesc && datas.discountDesc != '' && datas.discountDesc != undefined) {
  109 + discountDesc = datas.discountDesc;//已优惠
  110 + }
  111 + }
  112 + var _num = 1
  113 + var _paySrcType = 101
  114 + //console.log('-------------------------------'+discountType);
  115 + //查询到车牌号订单信息
  116 + var src = 'monPay.html?carnum=' + carNumber
  117 + // + "&inparktime=" + inparktime
  118 + // + "&parkName=" + parkName
  119 + // + "&staytime=" + staytime
  120 + + "&due=" + due
  121 + + "&unpaid=" + unpaid
  122 + + "&num=" + _num
  123 + // + "&paid=" + paid
  124 + // + "&no=" + no
  125 + + "&disfee=" + discountFee
  126 + + "&disdesc=" + discountDesc
  127 + + "&orderId=" + orderId
  128 + + "&parkCode=" + parkCode
  129 + + "&paySrcType=" + _paySrcType
  130 +
  131 + // + '&discountType=' + discountType
  132 + // + '&parkCode=' + parkCode
  133 + // + "&";
  134 + console.log(src)
  135 + window.location.assign(encodeURI(src))
  136 + }, 100);
  137 + }
  138 + }
  139 + )
  140 + },
  141 + queryArrearageSta: function () {
  142 + // var salt = jsajax.salt(32);
  143 + // var token = mUrl.GetToken();
  144 +
  145 + var salt = jsajax.salt(32);
  146 + var token = mUrl.GetToken();
  147 + if (token == null) {
  148 + token = '';
  149 + }
  150 + var list = "[" + fun.orderIds + "]"
  151 + var orderlist = fun.orderIds
  152 + var codes = "[" + fun.parkCodes + "]"
  153 + var jsondata = {
  154 + app_id: "0eca8f5373ca4866aec2f8e9d9367104",
  155 + deviceInfo: "BC0703A4-AFB0-4B51-9089-9B7487C0CC6E",
  156 + salt: salt,
  157 + sign: fun.getMd5sign(),
  158 + sign_type: "md5",
  159 + token: token,
  160 + appId: jsajax.appID,
  161 + orderIds: list,
  162 + terminalSource: '7',
  163 + payType: 4,
  164 + orgId: '10003',
  165 +
  166 + }
  167 + console.log('查询单个的入参 ' + JSON.stringify(jsondata) + " 请求的接口" + mUrl.oneCardorder);
  168 + jsajax.defaultReq(
  169 + mUrl.queryArrearageSta,
  170 + JSON.stringify(jsondata),
  171 + function (data) {
  172 + console.log('获取单个待支付订单 ' + JSON.stringify(data));
  173 + var datas = data.data.carArrearages[0]
  174 + console.log(datas)
  175 +
  176 + setTimeout(function () {
  177 + var discountFee = datas.arrearageDiscFee;//已优惠
  178 + var discountDesc = datas.discDesc;//已优惠
  179 + var carNumber = datas.carNumber;
  180 + // var no = datas.orderId;//.no;//订单id
  181 + // var inparktime = datas.inparktime;//.inparktime;//进场时间
  182 + // var plateno = datas.carNumber;//车牌号
  183 + // var parkName = datas.parkName;//停车场名称
  184 + // var staytime = datas.staytime;//停车时长
  185 + var due = datas.arrearageTotalFee;//总计费用
  186 + var unpaid = datas.arrearageActFee;//待支付
  187 + var paid = datas.arrearageActFee;//实付
  188 + var discountType = datas.discountType;
  189 +
  190 + if (datas.discountFee && datas.discountFee != '' && datas.discountFee != undefined) {
  191 + discountFee = datas.discountFee;//已优惠
  192 + if (datas.discountDesc && datas.discountDesc != '' && datas.discountDesc != undefined) {
  193 + discountDesc = datas.discountDesc;//已优惠
  194 + }
  195 + }
  196 +
  197 + //console.log('-------------------------------'+discountType);
  198 +
  199 + var _num = datas.arrearageNum
  200 + var _paySrcType = 103
  201 +
  202 + //查询到车牌号订单信息
  203 + var src = 'monPay.html?carnum=' + carNumber
  204 + // + "&inparktime=" + inparktime
  205 + // + "&parkName=" + parkName
  206 + // + "&staytime=" + staytime
  207 + + "&due=" + due
  208 + + "&unpaid=" + unpaid
  209 + + "&paid=" + paid
  210 + + "&num=" + _num
  211 + // + "&no=" + no
  212 + + "&disfee=" + discountFee
  213 + + "&disdesc=" + discountDesc
  214 + + "&orderId=" + orderlist
  215 + // + '&discountType=' + discountType
  216 + + '&parkCode=' + codes
  217 + + "&paySrcType=" + _paySrcType
  218 + console.log(src)
  219 + window.location.assign(encodeURI(src))
  220 + }, 100);
  221 +
  222 + }
  223 + )
  224 + },
  225 + getMd5sign: function () {
  226 + var salt = jsajax.salt(32);
  227 + var token = mUrl.GetToken();
  228 + if (token == null) {
  229 + token = '';
  230 + }
  231 + var sortd = [
  232 + { keyname: 'app_id', value: '0eca8f5373ca4866aec2f8e9d9367104' },
  233 + { keyname: 'deviceInfo', value: 'BC0703A4-AFB0-4B51-9089-9B7487C0CC6E' },
  234 + { keyname: 'salt', value: salt },
  235 + { keyname: 'sign_type', value: 'md5' },
  236 + { keyname: 'token', value: token }
  237 + ];
  238 + var md5sign = jsajax.getsign(sortd);
  239 + return md5sign;
  240 +
  241 + },
  242 + allMoney: 0,
  243 + inData: [], //在场
  244 + outData: [], //离场
  245 + listData: [],
  246 + selectLen: 0,
  247 + orderIds: [], // 选中订单号数组
  248 + orderArr: [],
  249 + parkCodes: [],
  250 + parkCodeArr: [],
  251 + selectedMon: 0,//选中了总金额
  252 + getQueryVariable: function (variable) {
  253 + var query = window.location.search.substring(1);
  254 + var vars = query.split("&");
  255 + for (var i = 0; i < vars.length; i++) {
  256 + var pair = vars[i].split("=");
  257 + if (pair[0] == variable) {
  258 + return decodeURI(pair[1]);
  259 + }
  260 + }
  261 + return (false);
  262 + },
  263 +
  264 + init: function () {
  265 + console.log(fun.listData)
  266 + fun.inData = fun.listData.filter(fun.checkIN)
  267 + fun.outData = fun.listData.filter(fun.checkOUT)
  268 + console.log(fun.inData)
  269 + console.log(fun.outData)
  270 + if (fun.inData.length > 0) {
  271 + $('#pay-wrap').html('')
  272 + // carNumber,parkCode,orderId
  273 + $('#pay-wrap').attr('carNumber', fun.inData[0].carNumber)
  274 + $('#pay-wrap').attr('parkCode', fun.inData[0].parkCode)
  275 + $('#pay-wrap').attr('orderId', fun.inData[0].orderId)
  276 + $('#pay-wrap').append('<div class="pay-header">\n' +
  277 + ' <span>' + fun.inData[0].carNumber + '</span>\n' +
  278 + ' <span>本次费用</span>\n' +
  279 + ' </div>\n' +
  280 + ' <div class="pay-body">\n' +
  281 + ' <p>停车场名称:' + fun.inData[0].parkName + '</p>\n' +
  282 + ' <p>进场时间:' + fun.inData[0].parkInTime + '</p>\n' +
  283 + ' <p>出场时间:' + fun.inData[0].parkOutTime + '</p>\n' +
  284 + ' <p>停车时长:' + fun.dateFormat(fun.inData[0].parkDuration) + '</p>\n' +
  285 + ' <span class="pay-money">' + ((fun.inData[0].unPayFee) / 100).toFixed(2) + '元</span>\n' +
  286 + ' </div>')
  287 + } else {
  288 + $('#pay-wrap').html('')
  289 + $('#pay-wrap').append('<p style="height: 50px;line-height: 50px;text-align: center">无本次订单费用</p>')
  290 + }
  291 +
  292 + if (fun.outData.length > 0) {
  293 + $('#arrears-list').html('')
  294 + for (var i = 0; i < fun.outData.length; i++) {
  295 + var num = ((fun.outData[i].unPayFee) / 100).toFixed(2);
  296 + console.log(fun.outData[i].unPayFee)
  297 + fun.allMoney += Number(fun.outData[i].unPayFee)
  298 + fun.orderArr.push(fun.outData[i].orderId)
  299 + fun.parkCodeArr.push(fun.outData[i].parkcode)
  300 + // console.log(fun.allMoney)
  301 + $('#arrears-list').append('<li data-parkCode="' + fun.outData[i].parkCode + '" data-orderId="' + fun.outData[i].orderId + '" data-unPayFee="' + fun.outData[i].unPayFee + '">\n' +
  302 + ' <div class="arrears-header">\n' +
  303 + ' <span>' + fun.outData[i].carNumber + '</span>\n' +
  304 + ' <span>欠费</span>\n' +
  305 + ' </div>\n' +
  306 + ' <div class="arrears-body">\n' +
  307 + ' <p>停车场名称:' + fun.outData[i].parkName + '</p>\n' +
  308 + ' <p>进场时间:' + fun.outData[i].parkInTime + '</p>\n' +
  309 + ' <p>出场时间:' + fun.outData[i].parkOutTime + '</p>\n' +
  310 + ' <p>停车时长:' + fun.dateFormat(fun.outData[i].parkDuration) + '</p>\n' +
  311 + ' <span class="arrears-money">' + num + '元</span>\n' +
  312 + ' </div>\n' +
  313 + ' </li>')
  314 + }
  315 + $('#allMoneyWrap').text(((fun.allMoney) / 100).toFixed(2))
  316 + } else {
  317 + $('#arrears-wrap').html('')
  318 + $('#arrears-wrap').append('<p style="height: 50px;line-height: 50px;text-align: center">无历史欠费费用</p>')
  319 + }
  320 + },
  321 + _initData: function () {
  322 +
  323 + var _carNumber = fun.getQueryVariable('carNumber')
  324 + console.log(_carNumber)
  325 +
  326 + /**
  327 + * @param {} second
  328 + * @return {}
  329 + * @desc 秒转化成dd hh:mm:ss
  330 + */
  331 + var salt = jsajax.salt(32);
  332 + var sortd = [
  333 + { keyname: 'app_id', value: '0eca8f5373ca4866aec2f8e9d9367104' },
  334 + { keyname: 'deviceInfo', value: 'BC0703A4-AFB0-4B51-9089-9B7487C0CC6E' },
  335 + { keyname: 'salt', value: salt },
  336 + { keyname: 'sign_type', value: 'md5' },
  337 + { keyname: 'token', value: '8957e613280b46f7ae8aaea71ed17353' },
  338 + { keyname: 'pageNum', value: 1 },
  339 + { keyname: 'pageSize', value: 10 },
  340 + { keyname: 'parkState', value: 10 },
  341 + { keyname: 'terminalSource', value: 7 },
  342 + { keyname: 'carNumber', value: _carNumber }
  343 + ];
  344 + var md5sign = jsajax.getsign(sortd);
  345 + var jsondata = {
  346 + app_id: "0eca8f5373ca4866aec2f8e9d9367104",
  347 + deviceInfo: "BC0703A4-AFB0-4B51-9089-9B7487C0CC6E",
  348 + salt: salt,
  349 + sign_type: "md5",
  350 + token: '8957e613280b46f7ae8aaea71ed17353',
  351 + pageNum: 1,
  352 + pageSize: 10,
  353 + parkState: 10,
  354 + terminalSource: 7,
  355 + carNumber: _carNumber,
  356 + sign: md5sign
  357 + }
  358 + console.log('停车记录传参 ' + JSON.stringify(jsondata));
  359 + jsajax.defaultReq(
  360 + mUrl.listServer,
  361 + JSON.stringify(jsondata),
  362 + function (data) {
  363 + console.log(data.data.dataList)
  364 +
  365 + var data = data.data.dataList;
  366 + if (data.length == 0) {
  367 + $('#tip-title').text('您的停车费用为0元,无须缴费,谢谢!')
  368 + return
  369 + } else {
  370 + fun.listData = data
  371 + fun.init()// 初始化
  372 + }
  373 +
  374 + })
  375 +
  376 + }
  377 +}
  378 +fun._initData()
  379 +
  380 +//......................... Tab 切换
  381 +$('#tab-wrap li').on('click', function () {
  382 + var _index = $(this).index()
  383 + $(this).addClass('active').siblings().removeClass('active')
  384 + $('#tab-main>div').eq(_index).show().siblings().hide()
  385 +})
  386 +
  387 +//......................... 全选
  388 +$('#check-btn').on('click', function () {
  389 + if ($(this).hasClass('checkedActive')) {
  390 + $('#listLen').text('0')
  391 + $('#listMon').text('¥ 0.00')
  392 + $('#arrears-list li').removeClass('active')
  393 + fun.selectLen = 0
  394 + fun.selectedMon = 0
  395 + fun.orderIds = []
  396 + fun.parkCodes = []
  397 + } else {
  398 + $('#listLen').text(fun.outData.length)
  399 + $('#listMon').text('¥ ' + ((fun.allMoney) / 100).toFixed(2))
  400 + $('#arrears-list li').addClass('active')
  401 + fun.selectLen = fun.outData.length
  402 + fun.selectedMon = fun.allMoney
  403 + fun.orderIds = fun.orderArr
  404 + fun.parkCodes = fun.parkCodeArr
  405 + }
  406 + $(this).toggleClass('checkedActive')
  407 +})
  408 +
  409 +//......................... 单个选择操作
  410 +$('#arrears-list').delegate('li','click', function () {
  411 + var mon = $(this).attr('data-unpayfee')
  412 + var orderid = $(this).attr('data-orderid')
  413 + var parkcode = $(this).attr('data-parkcode')
  414 + if ($(this).hasClass('active')) {
  415 + $('#check-btn').removeClass('checkedActive') //去掉全选
  416 + // 总结现在已经选中了那些
  417 + var _index = fun.orderIds.indexOf(orderid)
  418 + fun.orderIds = fun.orderIds.filter(function (i) {
  419 + return i !== orderid
  420 + })
  421 +
  422 + var _index = fun.parkCodes.indexOf(parkcode)
  423 + fun.parkCodes = fun.parkCodes.filter(function (i) {
  424 + return i !== orderid
  425 + })
  426 + fun.selectLen--
  427 + fun.selectedMon = fun.selectedMon - mon
  428 + $('#listLen').text(fun.selectLen)
  429 + $('#listMon').text('¥ ' + ((fun.selectedMon) / 100).toFixed(2))
  430 + } else {
  431 + fun.orderIds.push(orderid)
  432 + fun.parkCodes.push(parkcode)
  433 + fun.selectLen++
  434 + if (fun.selectLen == fun.outData.length) {
  435 + $('#check-btn').addClass('checkedActive') //全选了
  436 + }
  437 + fun.selectedMon = Number(fun.selectedMon) + Number(mon)
  438 + $('#listLen').text(fun.selectLen)
  439 + $('#listMon').text('¥ ' + ((fun.selectedMon) / 100).toFixed(2))
  440 + //总结选择了那些
  441 +
  442 + }
  443 + $(this).toggleClass('active')
  444 +})
  445 +
  446 +//......................... 本次费用
  447 +$('#pay-wrap').on('click', function () {
  448 + var carNumber = $(this).attr('carNumber')
  449 + var parkCode = $(this).attr('parkCode')
  450 + var orderId = $(this).attr('orderId')
  451 + fun.getOneorder(carNumber, parkCode, orderId, parkCode)
  452 +})
  453 +
  454 +//......................... 历史欠费
  455 +
  456 +$('#opr-btn').on('click', function () {
  457 +
  458 + if (fun.orderIds.length == 0) {
  459 + return
  460 + } else {
  461 + fun.queryArrearageSta()
  462 + }
  463 +
  464 +})
  465 +
  466 +
  467 +
... ...
js/url.js
... ... @@ -111,6 +111,9 @@ mUrl.tcwxpay = cepath+ &#39;/weixinpay/publicUnifiedOrder&#39;;//修改 添加字段
111 111 mUrl.SelectCar = cepath +'/user/queryUserCars';//车辆信息查询(查看是否绑定车牌号)无用
112 112 mUrl.SelectOrder = cepath +'/query/queryOrderByCarNumbers';//查询订单 (查询待支付订单)//无用
113 113  
  114 +
  115 +mUrl.queryArrearageSta = cepath + '/queryParkOrder/queryArrearageStaForWXPublc';//
  116 +
114 117 /*----------------------支付页面所需接口 end*/
115 118  
116 119 /*----------------------停车场接口 start*/
... ...
js/wxpayResult.js 0 → 100644
  1 +
  2 +window.onload = function () {
  3 + var tmpParams = getQueryString(window.location);
  4 + if (tmpParams != null) {
  5 + console.log(JSON.stringify(tmpParams));
  6 + if (tmpParams.trade_no == "success") {
  7 + getResponse("success");
  8 + } else {
  9 + getResponse("fail");
  10 + }
  11 + //alertMsg("支付返回参数:" + JSON.stringify(tmpParams));
  12 + } else {
  13 + console.log("支付返回参数" + tmpParams);
  14 + }
  15 +}
  16 +
  17 +//type[fail、sucesss]
  18 +function getResponse(type) {
  19 + var img = document.getElementById("stateImg");
  20 + var label = document.getElementById("stateLable");
  21 + if (type == "fail") {
  22 + img.src = "img/no.png";
  23 + label.innerHTML = "支付失败,尝试重新扫码";
  24 + setTimeout(function () {
  25 + alert('1')
  26 +
  27 + if (navigator.userAgent.indexOf("MSIE") > 0) {
  28 + if (navigator.userAgent.indexOf("MSIE 6.0") > 0) {
  29 + window.opener = null;
  30 + window.close();
  31 + }
  32 + else {
  33 + window.open('', '_top');
  34 + window.top.close();
  35 + }
  36 + }
  37 + else if (navigator.userAgent.indexOf("Firefox") > 0) {
  38 + window.location.href = 'about:blank '; //火狐默认状态非window.open的页面window.close是无效的
  39 + //window.history.go(-2);
  40 + }
  41 + else {
  42 + window.opener = null;
  43 + window.open('', '_self', '');
  44 + window.close();
  45 + }
  46 + }, 2000)
  47 + } else {
  48 + img.src = "img/ok.png";
  49 + label.innerHTML = "订单支付成功";
  50 + setTimeout(function () {
  51 + if (navigator.userAgent.indexOf("MSIE") > 0) {
  52 + if (navigator.userAgent.indexOf("MSIE 6.0") > 0) {
  53 + window.opener = null;
  54 + window.close();
  55 + }
  56 + else {
  57 + window.open('', '_top');
  58 + window.top.close();
  59 + }
  60 + }
  61 + else if (navigator.userAgent.indexOf("Firefox") > 0) {
  62 + window.location.href = 'about:blank '; //火狐默认状态非window.open的页面window.close是无效的
  63 + //window.history.go(-2);
  64 + }
  65 + else {
  66 + window.opener = null;
  67 + window.open('', '_self', '');
  68 + window.close();
  69 + }
  70 + }, 2000)
  71 + }
  72 +}
... ...
list.html
... ... @@ -20,6 +20,7 @@
20 20 <link rel="stylesheet" href="//cdn.bootcss.com/weui/1.1.1/style/weui.min.css">
21 21 <link rel="stylesheet" href="//cdn.bootcss.com/jquery-weui/1.0.1/css/jquery-weui.min.css">
22 22 <link rel="stylesheet" href="css/reset.css">
  23 + <link rel="stylesheet" href="css/list.css">
23 24  
24 25 <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/Swiper/5.4.5/css/swiper.css">
25 26 <!-- <link rel="stylesheet" href="https://unpkg.com/swiper/css/swiper.min.css"> -->
... ... @@ -27,217 +28,7 @@
27 28 <script src="https://cdn.bootcdn.net/ajax/libs/Swiper/5.4.5/js/swiper.js"></script>
28 29  
29 30 <style>
30   - .all_told, .platen_number {
31   - text-align: center;
32   - }
33   - .all_told {
34   - padding: 30px 0 10px 0;
35   - }
36   - .all_told span {
37   - margin-right: 5px;
38   - font-size: 22px;
39   - }
40   - .discount_money {
41   - color: #fc3817;
42   - }
43   - .discount {
44   - padding: 4px 7px;
45   - background: #fc3817;
46   - border-radius: 2px;
47   - position: relative;
48   - margin-left: 10px;
49   - color: #fff;
50   - }
51   - .discount:before {
52   - position: absolute;
53   - content: '';
54   - width: 0;
55   - height: 0;
56   - left: -6px;
57   - top: 8px;
58   - border-top: 6px solid transparent;
59   - border-bottom: 6px solid transparent;
60   - border-right: 6px solid #fc3817;
61   - }
62   - .youhuid{
63   - background: #f00;
64   - color: #fff;
65   - font-size: 13px;
66   - padding:2px 5px;
67   - border-radius: 3px;
68   - margin-left: 2px;
69   - display: none;
70   - }
71   - .showTooltips{
72   - display: none;
73   - /*针对苹果新增手势*/
74   - cursor: pointer;
75   - }
76   - .weui-cells{
77   - /*针对苹果新增手势*/
78   - cursor: pointer;
79   - }
80   - .dialog-out{
81   - position: absolute;
82   - width: 100%;
83   - height: 100%;
84   - top:0;
85   - right: 0;
86   - left: 0;
87   - bottom: 0;
88   - z-index: 1000;
89   - background: rgba(0,0,0,.3);
90   - display: none;
91   - }
92   - .dia-con{
93   - width: 305px;
94   - height: 138px;
95   - padding: 10px ;
96   - background:rgba(255,255,255,1);
97   - border-radius:8px;
98   - position: absolute;
99   - left: 50%;
100   - top:50%;
101   - transform: translate(-50%,-50%);
102   - }
103   - .close-btn{
104   - float: right;
105   - width: 16px;
106   - height: 16px;
107   - background: url("img/close.png") no-repeat;
108   - background-size: 100% 100%;
109   - cursor: pointer;
110   - overflow: hidden;
111   - }
112   - .dia-main{
113   - margin-left: 30px;
114   - margin-top: 30px;
115   - height: 52px;
116   - padding-left: 90px;
117   - background: url("img/out.png") no-repeat;
118   - background-size: 52px 52px;
119   - }
120   - .dia-text{
121   - padding-top: 20px;
122   - text-align: center;
123   - font-size: 12px;
124   - color: #999;
125   - }
126   - .arrears-btn{
127   - width: 70px;
128   - height: 25px;
129   - margin-top: 20px;
130   - color: #FFF;
131   - font-size: 12px;
132   - text-align: center;
133   - line-height: 25px;
134   - background: url("img/arrears-bg.png") no-repeat;
135   - background-size:70px 25px ;
136   - }
137 31  
138   - .strTip{
139   - width: 100%;
140   - height: 100%;
141   - text-align: center;
142   - font-size: 20px;
143   - background: rgba(9,9,9,.5);
144   - position: fixed;
145   - top:0;
146   - left: 0;
147   - }
148   - .strWrap{
149   - margin: 20px auto 0;
150   - width: 330px;
151   - height: 431px;
152   - background: #FFFFFF;
153   - border-radius: 8px;
154   - overflow: hidden;
155   - }
156   - .strCon{
157   - text-align: center;
158   - font-size: 20px;
159   - color: #333;
160   - text-align: center;
161   - }
162   - .header-title{
163   - padding: 15px 0;
164   - font-size: 14px;
165   - font-weight: 600;
166   - border-bottom:1px solid #ccc ;
167   - color: #333;
168   - }
169   - .payCarNum{
170   - font-size: 16px;
171   - color: #D40202;
172   - }
173   - .btn{
174   - color: #fff;
175   - font-size: 20px;
176   -
177   - height: 40px;
178   - line-height: 40px;
179   - border-radius: 8px;
180   - cursor: pointer;
181   - }
182   - .hiddenBtn{
183   - background: #79cbbf;
184   - }
185   - /*.outBtn{*/
186   - /*background: #509f93;*/
187   - /*}*/
188   - .tipTitle{
189   - /*background: url("img/tipTitle.png") no-repeat 0 center;*/
190   - margin-top: 20px;
191   - font-size: 14px;
192   - text-align: center;
193   - font-weight: 500;
194   - color: #333333;
195   - line-height: 20px;
196   - }
197   - .carNum{
198   - width: 270px;
199   - height: 80px;
200   - margin: 20px auto;
201   - font-size: 24px;
202   - font-family: PingFang-SC-Medium, PingFang-SC;
203   - font-weight: 500;
204   - color: #FFFFFF;
205   - text-align: center;
206   - line-height: 80px;
207   - background: url("img/carNum.png") no-repeat;
208   - }
209   - .carNumYellow{
210   - background: url("img/carNumYellow.png") no-repeat;
211   - }
212   -
213   - .toPay{
214   - width: 270px;
215   - height: 45px;
216   - line-height: 45px;
217   - text-align: center;
218   - margin: 0 auto;
219   - font-size: 16px;
220   - font-family: PingFang-SC-Medium, PingFang-SC;
221   - font-weight: 500;
222   - color: #333333;
223   - background: url("img/topay.png") no-repeat;
224   - cursor: pointer;
225   - }
226   - .toSelect{
227   - width: 270px;
228   - margin: 20px auto 0;
229   - text-align: right;
230   - font-size: 12px;
231   - font-family: PingFang-SC-Medium, PingFang-SC;
232   - font-weight: 500;
233   - color: #333333;
234   - cursor: pointer;
235   - }
236   - .swiper-container {
237   - width: 100%;
238   - height: 165px;
239   -
240   - }
241 32  
242 33 </style>
243 34 </head>
... ... @@ -311,8 +102,8 @@
311 102  
312 103 <script src="js/md5.min.js"></script>
313 104  
314   -<script src="js/url.js?u=2.1111"></script>
315   -<script src="js/ajax.js"></script>
  105 +<script src="js/url.js?a=123"></script>
  106 +<script src="js/ajax.js?a=123"></script>
316 107 <script type="text/javascript">
317 108 //微信浏览器中,aler弹框不显示域名
318 109 (function(){
... ...
monPay.html 0 → 100644
  1 +<!doctype html>
  2 +<html lang="en">
  3 +<head>
  4 + <meta charset="utf-8">
  5 + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  6 + <meta name="theme-color" content="#000000">
  7 + <meta name="google" value="notranslate">
  8 + <meta name="format-detection" content="telephone=no">
  9 + <meta name="format-detection" content="email=no">
  10 + <meta name="apple-mobile-web-app-capable" content="yes">
  11 + <meta name="apple-mobile-web-app-status-bar-style" content="black">
  12 + <meta http-equiv="Pragma" content="no-cache">
  13 + <meta http-equiv="Cache-control" content="no-cache">
  14 + <meta http-equiv="Cache" content="no-cache">
  15 + <meta http-equiv="Expires" content="0">
  16 + <link rel="stylesheet" href="//cdn.bootcss.com/weui/1.1.1/style/weui.min.css">
  17 + <link rel="stylesheet" href="//cdn.bootcss.com/jquery-weui/1.0.1/css/jquery-weui.min.css">
  18 + <link rel="stylesheet" href="css/reset.css?v=0.1">
  19 + <link rel="stylesheet" href="css/monPay.css">
  20 + <title>订单支付</title>
  21 +
  22 +</head>
  23 +<body>
  24 +<!--<noscript>-->
  25 +<!--You need to enable JavaScript to run this app.-->
  26 +<!--</noscript>-->
  27 +
  28 +<!--<div class="row marginTop">-->
  29 +<!--<div style="overflow: hidden">-->
  30 +<!--<input class="discountBox" id="discountBox" type="text" placeholder="请输入优惠券编号" maxlength="20">-->
  31 +<!--<button class="discountBtn" id="discountBtn">兑换</button>-->
  32 +<!--</div>-->
  33 +<!--<div class="discount-tip" id="discountTip"></div>-->
  34 +<!--</div>-->
  35 +
  36 +
  37 +<div class="weui-cells">
  38 + <div class="weui-cell">
  39 + <div class="weui-cell__bd">
  40 + <p>车牌号码</p>
  41 + </div>
  42 + <div class="weui-cell__ft" id="carnum"></div>
  43 + </div>
  44 +
  45 + <div class="weui-cell">
  46 + <div class="weui-cell__bd">
  47 + <p>待缴笔数</p>
  48 + </div>
  49 + <div class="weui-cell__ft" id="monNum"></div>
  50 + </div>
  51 +
  52 + <div class="weui-cell">
  53 + <div class="weui-cell__bd">
  54 + <p>待缴费用</p>
  55 + </div>
  56 + <div class="weui-cell__ft" id="allMon"></div>
  57 + </div>
  58 +
  59 + <div class="weui-cell">
  60 + <div class="weui-cell__bd">
  61 + <p>优惠金额</p>
  62 + </div>
  63 + <div class="weui-cell__ft" id="disfee"></div>
  64 + </div>
  65 +
  66 +
  67 + <div class="weui-cell">
  68 + <div class="weui-cell__bd">
  69 + <p>应付金额</p>
  70 + </div>
  71 + <div class="weui-cell__ft" id="unpaid"></div>
  72 + </div>
  73 +</div>
  74 +
  75 +
  76 +<section id="section" class="marginTop">
  77 + <div class="flexBoxRow" >
  78 + <span class="payWayTitle" style="padding-left: 10px;">选择支付方式</span>
  79 + </div>
  80 + <div class="row marginTop">
  81 + <!--AliPay-->
  82 + <div class="flexBoxRow" id="rowAliPay">
  83 + <img class="payIcon" src="img/aliPay.png" />
  84 + <span class="marginLeft">支付宝支付</span>
  85 + <label for="aliPay" class="radio">
  86 + <span class="radio-bg"></span>
  87 + <input type="radio" name="radioPayWay" id="aliPay" value="支付宝" checked="checked" />
  88 + <span class="radio-on"></span>
  89 + </label>
  90 + </div>
  91 + <hr class="splitLine marginTop" id="splitLine" />
  92 + <!--WxPay-->
  93 + <div class="flexBoxRow marginTop" id="rowWxPay">
  94 + <img class="payIcon" src="img/wxPay.png" />
  95 + <span class="marginLeft">微信支付</span>
  96 + <label for="wxPay" class="radio">
  97 + <span class="radio-bg"></span>
  98 + <input type="radio" name="radioPayWay" id="wxPay" value="微信" />
  99 + <span class="radio-on"></span>
  100 + </label>
  101 + </div>
  102 + </div>
  103 +</section>
  104 +<footer id="footer" class="flexBoxRow marginTop">
  105 + <div class="btnOK" id="btnPayOK">确定支付</div>
  106 + <img src="img/loading.gif" id="loading" style="display: none;" />
  107 +</footer>
  108 +<section id="payTip" style="padding: 10px;margin-top:5px; color: #3385ff; font-size: 14px; "></section>
  109 +<div class="paySuccess" id="paySuccess" >支付成功,请立即离场</div>
  110 +
  111 +
  112 +
  113 +<script src="js/jquery-3.2.1.min.js"></script>
  114 +<script src="//cdn.bootcss.com/jquery-weui/1.0.1/js/jquery-weui.min.js"></script>
  115 +<script src="js/config.js?a=123"></script>
  116 +<script src="js/common.js?f=3.51"></script>
  117 +<!--<script src="js/jweixin-1.0.0.js?v=0.1"></script>-->
  118 +<script src="js/monPay.js?b=551.5120"></script>
  119 +</body>
  120 +
  121 +</html>
... ...
out.html
... ... @@ -15,7 +15,7 @@
15 15 <meta http-equiv="Expires" content="0">
16 16 <link rel="stylesheet" href="css/reset.css?v=0.1">
17 17 <link rel="stylesheet" href="css/provinceKey.css?v=0.1">
18   - <script src="js/config.js?b=111"></script>
  18 + <script src="js/config.js?a=123"></script>
19 19 <script src="js/common.js?i=1.01"></script>
20 20 <!--
21 21 Notice the use of %PUBLIC_URL% in the tags above.
... ... @@ -215,7 +215,7 @@ function init() {
215 215 }
216 216 //点击查询订单
217 217 function btnOkClick() {
218   - window.location.href = "listnew.html?carNumber=" + getCarNumber();
  218 + window.location.href = "paybacknew.html?carNumber=" + getCarNumber();
219 219  
220 220 // //var phoneNum = document.getElementById("inputPhoneNum").value.replace(/\s*/g, "");//去除空格
221 221 // if (queryParams == null) {
... ... @@ -251,7 +251,7 @@ function getRequest(url, params, init) {
251 251 if (tmpObj.needPay) {
252 252 var queryParams = parseParams(tmpObj);
253 253 console.log(tmpObj)
254   - window.location.href = "../listnew.html?carNumber" + queryParams;
  254 + window.location.href = "paybacknew.html?carNumber" + queryParams;
255 255 } else {
256 256 var tipStr = "无需缴费,欢迎下次光临";
257 257 sucessTip(tipStr); alertMsg(tipStr);
... ...
paybacknew.html 0 → 100644
  1 +<!DOCTYPE html>
  2 +<html lang="en">
  3 +<head>
  4 + <meta charset="UTF-8">
  5 + <title>列表详情</title>
  6 + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
  7 + <meta name="format-detection" content="telephone=no"/>
  8 + <meta name="format-detection" content="email=no"/>
  9 + <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
  10 + <meta name="apple-mobile-web-app-capable" content="yes"/>
  11 + <meta name="apple-mobile-web-app-title" content="">
  12 + <meta name="google" value="notranslate"><!-- 禁止Chrome 浏览器中自动提示翻译 -->
  13 + <link rel="apple-touch-icon-precomposed" href="favicon.ico">
  14 + <link rel="shortcut icon" href="favicon.ico">
  15 + <link rel="Bookmark" href="favicon.ico">
  16 + <meta http-equiv="Pragma" content="no-cache" />
  17 +
  18 + <meta http-equiv="Expires" content="0" />
  19 +
  20 + <link rel="stylesheet" href="//cdn.bootcss.com/weui/1.1.1/style/weui.min.css">
  21 + <link rel="stylesheet" href="//cdn.bootcss.com/jquery-weui/1.0.1/css/jquery-weui.min.css">
  22 + <link rel="stylesheet" href="css/reset.css">
  23 + <link rel="stylesheet" href="css/paybacknew.css">
  24 +
  25 +
  26 +</head>
  27 +<body ontouchstart="">
  28 +
  29 +<ul class="tab-wrap" id="tab-wrap">
  30 + <li class="active">
  31 + <span >在停缴费</span>
  32 + </li>
  33 + <li>
  34 + <span>离场待缴</span>
  35 + </li>
  36 +</ul>
  37 +
  38 +<div class="tab-main" id="tab-main">
  39 +
  40 + <div class="pay-wrap" id="pay-wrap">
  41 + <!--<div class="pay-header">-->
  42 + <!--<span>蒙D1231</span>-->
  43 + <!--<span>本次费用</span>-->
  44 + <!--</div>-->
  45 + <!--<div class="pay-body">-->
  46 + <!--<p>停车场名称:金方酒店</p>-->
  47 + <!--<p>进场时间:2020-10-13 10:31:58</p>-->
  48 + <!--<p>出场时间:2020-10-13 10:31:58</p>-->
  49 + <!--<p>停车时长:29分钟41秒</p>-->
  50 + <!--<span class="pay-money">3.00元</span>-->
  51 + <!--</div>-->
  52 + </div>
  53 +
  54 + <div class="arrears-wrap" id="arrears-wrap">
  55 + <div class="allMoneyWrap">
  56 + 总欠费金额:<span>¥</span><span id="allMoneyWrap">0</span>
  57 + </div>
  58 +
  59 + <ul class="arrears-list" id="arrears-list">
  60 + <!--<li>-->
  61 + <!--<div class="arrears-header">-->
  62 + <!--<span>蒙D1231</span>-->
  63 + <!--<span>欠费</span>-->
  64 + <!--</div>-->
  65 + <!--<div class="arrears-body">-->
  66 + <!--<p>停车场名称:金方酒店</p>-->
  67 + <!--<p>进场时间:2020-10-13 10:31:58</p>-->
  68 + <!--<p>出场时间:2020-10-13 10:31:58</p>-->
  69 + <!--<p>停车时长:29分钟41秒</p>-->
  70 + <!--<span class="arrears-money">3.00元</span>-->
  71 + <!--</div>-->
  72 + <!--</li>-->
  73 +
  74 + </ul>
  75 +
  76 + <div class="arrears-statistics">
  77 + <div class="statistics-title">
  78 + 您已选中<span id="listLen">0</span>笔待缴订单 &nbsp;&nbsp;&nbsp;&nbsp;
  79 + 合计: <span id="listMon">¥ 0.00</span>
  80 + </div>
  81 +
  82 + <div class="statistics-opr">
  83 + <span class="check-btn" id="check-btn">全选</span>
  84 + <span class="opr-btn" id="opr-btn">清缴所选欠费</span>
  85 + </div>
  86 + </div>
  87 + </div>
  88 +
  89 +</div>
  90 +
  91 +
  92 +
  93 +
  94 +
  95 +<script src="js/jquery-3.2.1.min.js"></script>
  96 +<script src="//cdn.bootcss.com/jquery/1.11.0/jquery.min.js"></script>
  97 +<script src="//cdn.bootcss.com/jquery-weui/1.0.1/js/jquery-weui.min.js"></script>
  98 +
  99 +<script src="js/md5.min.js"></script>
  100 +
  101 +<script src="js/url.js?a=123"></script>
  102 +<script src="js/ajax.js?a=123"></script>
  103 +<script type="text/javascript">
  104 +//微信浏览器中,aler弹框不显示域名
  105 +(function(){
  106 + //先判断是否为微信浏览器
  107 + var ua = window.navigator.userAgent.toLowerCase();
  108 + if (ua.match(/MicroMessenger/i) == 'micromessenger') {
  109 + //重写alert方法,alert()方法重写,不能传多余参数
  110 + window.alert = function(name){
  111 + var iframe = document.createElement("IFRAME");
  112 + iframe.style.display="none";
  113 + iframe.setAttribute("src", 'data:text/plain');
  114 + document.documentElement.appendChild(iframe);
  115 + window.frames[0].window.alert(name);
  116 + iframe.parentNode.removeChild(iframe);
  117 + }
  118 + }
  119 +})();
  120 +</script>
  121 +<script src="js/paybacknew.js?a=4.01"></script>
  122 +</body>
  123 +</html>
... ...
wxpayResult.html
... ... @@ -29,8 +29,9 @@
29 29 <!--<noscript>-->
30 30 <!--You need to enable JavaScript to run this app.-->
31 31 <!--</noscript>-->
32   -<header id="header" style="margin-top:25%; display: flex; justify-content: center; align-items: center; flex-direction: column; ">
33   - <img id="stateImg" src="img/default.png" style="width: 64px; height: 64px; " />
  32 +<header id="header"
  33 + style="margin-top:25%; display: flex; justify-content: center; align-items: center; flex-direction: column; ">
  34 + <img id="stateImg" src="img/default.png" style="width: 64px; height: 64px; "/>
34 35 <div id="stateLable" style="font-size: 18px; color: #777; margin-top: 20px;">状态</div>
35 36 </header>
36 37  
... ... @@ -46,30 +47,46 @@
46 47 -->
47 48 <script type="text/javascript">
48 49 window.onload = function () {
49   - var tmpParams = getQueryString(window.location);
50   - if (tmpParams != null) {
51   - console.log(JSON.stringify(tmpParams));
52   - if (tmpParams.trade_no == "success") {
53   - getResponse("success");
  50 + var tmpParams = getQueryString(window.location);
  51 + if (tmpParams != null) {
  52 + console.log(JSON.stringify(tmpParams));
  53 + if (tmpParams.trade_no == "success") {
  54 + getResponse("success");
  55 + } else {
  56 + getResponse("fail");
  57 + }
  58 + //alertMsg("支付返回参数:" + JSON.stringify(tmpParams));
54 59 } else {
55   - getResponse("fail");
  60 + console.log("支付返回参数" + tmpParams);
56 61 }
57   - //alertMsg("支付返回参数:" + JSON.stringify(tmpParams));
58   - } else {
59   - console.log("支付返回参数" + tmpParams);
60   - }
61 62 }
  63 +
62 64 //type[fail、sucesss]
63 65 function getResponse(type) {
64   - var img = document.getElementById("stateImg");
65   - var label = document.getElementById("stateLable");
66   - if (type == "fail") {
67   - img.src = "img/no.png";
68   - label.innerHTML = "支付失败,尝试重新扫码";
69   - } else {
70   - img.src = "img/ok.png";
71   - label.innerHTML = "订单支付成功";
72   - }
  66 + var img = document.getElementById("stateImg");
  67 + var label = document.getElementById("stateLable");
  68 + if (type == "fail") {
  69 + img.src = "img/no.png";
  70 + label.innerHTML = "支付失败,尝试重新扫码";
  71 + setTimeout(function () {
  72 + window.opener=null;
  73 + window.open('','_self');
  74 + window.location.href="about:blank";
  75 + window.close(); //当断点执行到这里时会显示“Scripts may close only the windows that were opened by it.”所以要加上面“about:blank”页面才可以成功关闭
  76 +
  77 + }, 2000)
  78 +
  79 + } else {
  80 + img.src = "img/ok.png";
  81 + label.innerHTML = "订单支付成功";
  82 + setTimeout(function () {
  83 + window.opener=null;
  84 + window.open('','_self');
  85 + window.location.href="about:blank";
  86 + window.close(); //当断点执行到这里时会显示“Scripts may close only the windows that were opened by it.”所以要加上面“about:blank”页面才可以成功关闭
  87 +
  88 + }, 2000)
  89 + }
73 90 }
74 91 </script>
75 92 </body>
... ...