Commit e2d5b601 by 施宇

about

parents 7b1fba1d b1f45938
Showing with 3053 additions and 180 deletions
<template>
<div id="app">
<keep-alive exclude="newsDetail,pointchange">
<keep-alive exclude="newsDetail,pointchange,wallet,walletRetrieve,walletDetail,walletRecord,walletStatus,walletWithdraw,walletRecharge">
<router-view class="router-view"></router-view>
</keep-alive>
</div>
......
......@@ -74,6 +74,9 @@ img {
float: left;
_display: inline;
}
.f-orange {
color: #ffa200!important;
}
.fr {
float: right;
......
.chain-main{
.customs_one{
margin: 25px auto; margin-bottom: 40px; width: 90.666%;
.customs{
-webkit-box-shadow: 0 0 15px #333;box-shadow: 0 0 15px #333; -webkit-transition: 0.5s ease-out; transition: 0.5s ease-out; min-height: 143.5px; top: 35px; right: 0rem;width: 100%; border-radius: 3px; background:rgba(0,0,0,0.5);
.cus_input{
padding: 20px 12.5px 5px 12.5px;
dl {
height: 40px; background: #fff; margin-bottom: 1px; border-top: none;
dt { font-size: 14px; width:27%; text-align: right; float: left; height:40px; line-height:40px; color: #666; font-weight: bold; }
dd {
font-size: 14px; width: 73%; float: left; height: 40px; line-height: 40px;
input,textarea{width: 96%; height: 20px; line-height:20px; margin: 10px 0; padding: 0; font-size: 14px; float: left; border: 0; color: #333; border-radius: 0;}
.verifyCode{ width: 38%; }
.codeButton{
background: none; color:#1080d0;width: 80px;padding: 0; text-align: center; height: 20px; line-height: 20px; margin-left: 25px;float:right;margin-right: 15px;
&.dis{color: #999;}
}
}
}
.updateCodeImg{
.code-text{width:55%!important;}
.code{
width:45%!important;
img{width:100%;height:40px;}
}
}
.dl_name{ border-radius: 3px 3px 0 0; }
.dl_text{
border-top: 0; width:100%;height: 145px; margin-bottom: 10px; border-radius: 3px;
dt{ margin-top:14px; height: 20px; line-height: 20px }
dd{
padding: 0; position: relative; margin-top: 15px; height: auto;
textarea{ resize: none; font-size: 14px; line-height: 19px; height: 115px; margin: 0; }
}
}
}
.smsCode{ border-radius: 0 0 3px 3px; }
dd .msg{ height: 13px; line-height: 13px; clear: both; display: block; margin-left: -60px; color: #333;position: relative;top:-10px; }
}
.contact_way{
.box_select {
position: relative;
.select-top {
cursor: pointer;
i { float: right; position: relative; top: 8px; right:2.5px; content: ""; height: 0; width: 0; pointer-events: none; border: solid transparent; border-top-color: #2f2f2f; border-width: 25px 20px; }
}
.select-bot{
z-index: 400; position: absolute; top: 19px; left: -5px; width: 38px; border: 5px solid #ccc; line-height: 19px; background: #fff;
li { padding-left: 5px; cursor: pointer }
li.act,li:hover{color: #006cc7}
}
.select_input{
.input_w_38{width: 25px; padding: 0; border-right: 5px solid #ccc;}
.input_w_183 { width: 107px; padding-left: 5px; }
}
}
}
.tipMsg{ padding: 0 13px; line-height: 13px; height: 13px; font-size: 14px; }
.cus_but{
height: 40px; margin-top: 5px;
a{ display: block; text-align: center; font-size:14px; height:40px; line-height:40px; background: #fff; color: #1080d0; border-radius: 0 0 3px 3px;
&:hover{font-weight: bold; }
}
}
}
.customs_box{
width:100%;position: relative;margin-bottom:75px;
.customs_title{ position: absolute; z-index: 10; left: 20px; font-size:16px; font-weight: bold; color: #333; }
.customs_email{ position: absolute; z-index: 10; left: 20px; bottom: 65px; font-size: 12px; color: #999; }
.customs_img{ margin-bottom: 25px;img{ width: 100%; height: auto; } }
.title_top{ top: -40px; }
.title_center_1{ left: 160px; }
.title_center_2{ left: 125px; }
.title_center_go{width:100%;text-align: center;left:0px;}
}
.customs_box0{margin-bottom: 50px;}
.scm_but{
text-align: center;padding-bottom: 30px;
.cus_but_bottom{ font-size:18px; font-weight: bold; color: #666; }
.cus_arrow{ display: inline-block; width: 16px; height: 13px; margin-left: 10px; background: url(../../images/chain/cus_arrow.png); background-size: contain; background-repeat: no-repeat; }
}
}
.chain-main .customs_one{margin:25px auto;margin-bottom:40px;width:90.666%}.chain-main .customs_one .customs{-webkit-box-shadow:0 0 15px #333;box-shadow:0 0 15px #333;-webkit-transition:.5s ease-out;transition:.5s ease-out;min-height:143.5px;top:35px;right:0rem;width:100%;border-radius:3px;background:rgba(0,0,0,0.5)}.chain-main .customs_one .customs .cus_input{padding:20px 12.5px 5px 12.5px}.chain-main .customs_one .customs .cus_input dl{height:40px;background:#fff;margin-bottom:1px;border-top:none}.chain-main .customs_one .customs .cus_input dl dt{font-size:14px;width:27%;text-align:right;float:left;height:40px;line-height:40px;color:#666;font-weight:bold}.chain-main .customs_one .customs .cus_input dl dd{font-size:14px;width:73%;float:left;height:40px;line-height:40px}.chain-main .customs_one .customs .cus_input dl dd input,.chain-main .customs_one .customs .cus_input dl dd textarea{width:96%;height:20px;line-height:20px;margin:10px 0;padding:0;font-size:14px;float:left;border:0;color:#333;border-radius:0}.chain-main .customs_one .customs .cus_input dl dd .verifyCode{width:38%}.chain-main .customs_one .customs .cus_input dl dd .codeButton{background:none;color:#1080d0;width:80px;padding:0;text-align:center;height:20px;line-height:20px;margin-left:25px;float:right;margin-right:15px}.chain-main .customs_one .customs .cus_input dl dd .codeButton.dis{color:#999}.chain-main .customs_one .customs .cus_input .updateCodeImg .code-text{width:55%!important}.chain-main .customs_one .customs .cus_input .updateCodeImg .code{width:45%!important}.chain-main .customs_one .customs .cus_input .updateCodeImg .code img{width:100%;height:40px}.chain-main .customs_one .customs .cus_input .dl_name{border-radius:3px 3px 0 0}.chain-main .customs_one .customs .cus_input .dl_text{border-top:0;width:100%;height:145px;margin-bottom:10px;border-radius:3px}.chain-main .customs_one .customs .cus_input .dl_text dt{margin-top:14px;height:20px;line-height:20px}.chain-main .customs_one .customs .cus_input .dl_text dd{padding:0;position:relative;margin-top:15px;height:auto}.chain-main .customs_one .customs .cus_input .dl_text dd textarea{resize:none;font-size:14px;line-height:19px;height:115px;margin:0}.chain-main .customs_one .customs .smsCode{border-radius:0 0 3px 3px}.chain-main .customs_one .customs dd .msg{height:13px;line-height:13px;clear:both;display:block;margin-left:-60px;color:#333;position:relative;top:-10px}.chain-main .customs_one .contact_way .box_select{position:relative}.chain-main .customs_one .contact_way .box_select .select-top{cursor:pointer}.chain-main .customs_one .contact_way .box_select .select-top i{float:right;position:relative;top:8px;right:2.5px;content:"";height:0;width:0;pointer-events:none;border:solid transparent;border-top-color:#2f2f2f;border-width:25px 20px}.chain-main .customs_one .contact_way .box_select .select-bot{z-index:400;position:absolute;top:19px;left:-5px;width:38px;border:5px solid #ccc;line-height:19px;background:#fff}.chain-main .customs_one .contact_way .box_select .select-bot li{padding-left:5px;cursor:pointer}.chain-main .customs_one .contact_way .box_select .select-bot li.act,.chain-main .customs_one .contact_way .box_select .select-bot li:hover{color:#006cc7}.chain-main .customs_one .contact_way .box_select .select_input .input_w_38{width:25px;padding:0;border-right:5px solid #ccc}.chain-main .customs_one .contact_way .box_select .select_input .input_w_183{width:107px;padding-left:5px}.chain-main .customs_one .tipMsg{padding:0 13px;line-height:13px;height:13px;font-size:14px}.chain-main .customs_one .cus_but{height:40px;margin-top:5px}.chain-main .customs_one .cus_but a{display:block;text-align:center;font-size:14px;height:40px;line-height:40px;background:#fff;color:#1080d0;border-radius:0 0 3px 3px}.chain-main .customs_one .cus_but a:hover{font-weight:bold}.chain-main .customs_box{width:100%;position:relative;margin-bottom:75px}.chain-main .customs_box .customs_title{position:absolute;z-index:10;left:20px;font-size:16px;font-weight:bold;color:#333}.chain-main .customs_box .customs_email{position:absolute;z-index:10;left:20px;bottom:65px;font-size:12px;color:#999}.chain-main .customs_box .customs_img{margin-bottom:25px}.chain-main .customs_box .customs_img img{width:100%;height:auto}.chain-main .customs_box .title_top{top:-40px}.chain-main .customs_box .title_center_1{left:160px}.chain-main .customs_box .title_center_2{left:125px}.chain-main .customs_box .title_center_go{width:100%;text-align:center;left:0px}.chain-main .customs_box0{margin-bottom:50px}.chain-main .scm_but{text-align:center;padding-bottom:30px}.chain-main .scm_but .cus_but_bottom{font-size:18px;font-weight:bold;color:#666}.chain-main .scm_but .cus_arrow{display:inline-block;width:16px;height:13px;margin-left:10px;background:url(../../images/chain/cus_arrow.png);background-size:contain;background-repeat:no-repeat}/*# sourceMappingURL=chain.min.css.map */
\ No newline at end of file
{"version":3,"sources":["chain.less"],"names":[],"mappings":"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","file":"chain.min.css"}
\ No newline at end of file
body{padding-top:0px; background: #072565;}
.findthing-content{
background: #072565;
width:100%;
height:100%;
.seo-head{
width:100%;
height:7.6rem;
......
body{padding-top:0px;background:#072565}.findthing-content{width:100%;height:100%}.findthing-content .seo-head{width:100%;height:7.6rem;background:url("../../images/findthing/banner22.png") no-repeat;background-size:100% 100%;box-sizing:border-box;padding-top:1.3rem}.findthing-content .seo-head .head-nav{width:100%;height:22px;background:#c9b086}.findthing-content .seo-head .head-nav li{float:left;width:20%;text-align:center;height:22px;font-size:12px;box-sizing:border-box;padding-top:2px}.findthing-content .seo-head .head-nav li a{color:#181c27;display:block;cursor:pointer;width:100%;height:18px;line-height:16px;box-sizing:border-box;border-right:1px solid #9f8d70}.findthing-content .seo-head .head-nav li a.last-nav{border-right:0px}.findthing-content .seo-section .form-box1 .form-group{width:9.2rem;height:50px;line-height:50px;text-align:center;margin:0 auto;margin-top:15px;background:#fff;border-radius:4px;overflow:hidden}.findthing-content .seo-section .form-box1 .form-group .pr{position:relative}.findthing-content .seo-section .form-box1 .form-group span{width:3.2rem;height:50px;line-height:50px;font-size:16px;text-align:right;padding:0 .2rem;box-sizing:border-box}.findthing-content .seo-section .form-box1 .form-group span font{color:red}.findthing-content .seo-section .form-box1 .form-group span .hiddenvi{visibility:hidden}.findthing-content .seo-section .form-box1 .form-group .input-box{width:6rem;height:50px;line-height:50px;background-color:#ffffff;box-sizing:border-box;padding:0 .2rem}.findthing-content .seo-section .form-box1 .form-group .input-box input{font-size:16px;text-align:left;width:100%;float:left;height:100%}.findthing-content .seo-section .form-box1 .form-group .input-box .code{position:absolute;right:0px;height:50px;width:3rem;top:0px;cursor:pointer;color:#1080d0;text-align:center;line-height:50px;font-size:15px}.findthing-content .seo-section .form-box1 .form-group .input-box .code.dis{color:#ccc}.findthing-content .seo-section .form-box1 .form-group .input-box .img-code{position:absolute;right:0px;height:50px;width:3rem;top:0px;cursor:pointer}.findthing-content .seo-section .form-box1 .submit-button{border-radius:50px;width:9.2rem;height:50px;margin:0 auto;background:url("../../images/findthing/submitbtn.png") no-repeat;background-size:100% 100%;cursor:pointer}.findthing-content .seo-section .form-box1 .form1-tips{text-align:center;color:red;font-size:14px;margin-top:15px;margin-bottom:5px}.findthing-content .seo-section .form-box1 .form1-warn{font-size:12px;color:#8c98b2;width:9.2rem;margin:0 auto;margin-top:5px}.findthing-content .seo-section .form-box1 .form1-warn font{color:red}.findthing-content .seo-section .img-show-static{height:14.706rem;background:url("../../images/seo/staticx.png") no-repeat;background-size:100% 100%;margin-top:30px}.findthing-content .seo-section .zizi-box{height:10.333rem;width:8.4rem;background:url("../../images/seo/lxzz.png") no-repeat;background-size:100% 100%;margin:0 auto;box-sizing:border-box;padding-top:3.786rem}.findthing-content .seo-section .zizi-box .zizi-ct{width:7.333rem;height:3.4rem;border-style:solid;border-width:.08rem;border-color:#c1b193;margin:0 auto;box-sizing:border-box;padding-top:.826rem}.findthing-content .seo-section .zizi-box .zizi-ct .slide-box{margin:0 auto;width:3rem;height:2.28rem}.findthing-content .seo-section .zizi-box .zizi-ct .slide-box .slide-pic{width:3rem;height:2.28rem}.findthing-content .seo-section .foot-box{height:2.2rem;background:url("../../images/seo/foot.png") no-repeat;background-size:100% 100%;margin:0 auto}.findthing-content .seo-section .foot-box .foot-box-ct{margin-top:50px;height:30px;line-height:30px;background-color:#e8b778;text-align:center;font-size:14px;color:#181c27;position:relative;top:-10px}.findthing-content .seo-section .foot-box .foot-box-ct i{font-size:14px!important}.findthing-content .seo-section .foot-box .foot-box-ct a{color:#181c27 !important}/*# sourceMappingURL=index.min.css.map */
\ No newline at end of file
.findthing-content{background:#072565;width:100%}.findthing-content .seo-head{width:100%;height:7.6rem;background:url("../../images/findthing/banner22.png") no-repeat;background-size:100% 100%;box-sizing:border-box;padding-top:1.3rem}.findthing-content .seo-head .head-nav{width:100%;height:22px;background:#c9b086}.findthing-content .seo-head .head-nav li{float:left;width:20%;text-align:center;height:22px;font-size:12px;box-sizing:border-box;padding-top:2px}.findthing-content .seo-head .head-nav li a{color:#181c27;display:block;cursor:pointer;width:100%;height:18px;line-height:16px;box-sizing:border-box;border-right:1px solid #9f8d70}.findthing-content .seo-head .head-nav li a.last-nav{border-right:0px}.findthing-content .seo-section .form-box1 .form-group{width:9.2rem;height:50px;line-height:50px;text-align:center;margin:0 auto;margin-top:15px;background:#fff;border-radius:4px;overflow:hidden}.findthing-content .seo-section .form-box1 .form-group .pr{position:relative}.findthing-content .seo-section .form-box1 .form-group span{width:3.2rem;height:50px;line-height:50px;font-size:16px;text-align:right;padding:0 .2rem;box-sizing:border-box}.findthing-content .seo-section .form-box1 .form-group span font{color:red}.findthing-content .seo-section .form-box1 .form-group span .hiddenvi{visibility:hidden}.findthing-content .seo-section .form-box1 .form-group .input-box{width:6rem;height:50px;line-height:50px;background-color:#ffffff;box-sizing:border-box;padding:0 .2rem}.findthing-content .seo-section .form-box1 .form-group .input-box input{font-size:16px;text-align:left;width:100%;float:left;height:100%}.findthing-content .seo-section .form-box1 .form-group .input-box .code{position:absolute;right:0px;height:50px;width:3rem;top:0px;cursor:pointer;color:#1080d0;text-align:center;line-height:50px;font-size:15px}.findthing-content .seo-section .form-box1 .form-group .input-box .code.dis{color:#ccc}.findthing-content .seo-section .form-box1 .form-group .input-box .img-code{position:absolute;right:0px;height:50px;width:3rem;top:0px;cursor:pointer}.findthing-content .seo-section .form-box1 .submit-button{border-radius:50px;width:9.2rem;height:50px;margin:0 auto;background:url("../../images/findthing/submitbtn.png") no-repeat;background-size:100% 100%;cursor:pointer}.findthing-content .seo-section .form-box1 .form1-tips{text-align:center;color:red;font-size:14px;margin-top:15px;margin-bottom:5px}.findthing-content .seo-section .form-box1 .form1-warn{font-size:12px;color:#8c98b2;width:9.2rem;margin:0 auto;margin-top:5px}.findthing-content .seo-section .form-box1 .form1-warn font{color:red}.findthing-content .seo-section .img-show-static{height:14.706rem;background:url("../../images/seo/staticx.png") no-repeat;background-size:100% 100%;margin-top:30px}.findthing-content .seo-section .zizi-box{height:10.333rem;width:8.4rem;background:url("../../images/seo/lxzz.png") no-repeat;background-size:100% 100%;margin:0 auto;box-sizing:border-box;padding-top:3.786rem}.findthing-content .seo-section .zizi-box .zizi-ct{width:7.333rem;height:3.4rem;border-style:solid;border-width:.08rem;border-color:#c1b193;margin:0 auto;box-sizing:border-box;padding-top:.826rem}.findthing-content .seo-section .zizi-box .zizi-ct .slide-box{margin:0 auto;width:3rem;height:2.28rem}.findthing-content .seo-section .zizi-box .zizi-ct .slide-box .slide-pic{width:3rem;height:2.28rem}.findthing-content .seo-section .foot-box{height:2.2rem;background:url("../../images/seo/foot.png") no-repeat;background-size:100% 100%;margin:0 auto}.findthing-content .seo-section .foot-box .foot-box-ct{margin-top:50px;height:30px;line-height:30px;background-color:#e8b778;text-align:center;font-size:14px;color:#181c27;position:relative;top:-10px}.findthing-content .seo-section .foot-box .foot-box-ct i{font-size:14px!important}.findthing-content .seo-section .foot-box .foot-box-ct a{color:#181c27 !important}/*# sourceMappingURL=index.min.css.map */
\ No newline at end of file
{"version":3,"sources":["index.less"],"names":[],"mappings":"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","file":"index.min.css"}
\ No newline at end of file
{"version":3,"sources":["index.less"],"names":[],"mappings":"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","file":"index.min.css"}
\ No newline at end of file
@charset "UTF-8";
html {
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%; }
html * {
outline: 0;
-webkit-text-size-adjust: none !important;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important; }
html, body {
font-family: sans-serif;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; }
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td, hr, button, article, aside, details, figcaption, figure, footer, header, menu, nav, section {
margin: 0;
padding: 0; }
button, input, select, textarea {
font-size: 100%;
border: none;
-webkit-appearance: none; }
input[type=button], input[type=file], input[type=submit] {
cursor: pointer; }
table {
border-collapse: collapse;
border-spacing: 0; }
ol, ul, dl {
list-style: none; }
h1, h2, h3, h4, h5, h6 {
font-size: 100%;
font-weight: 500; }
em, b, i {
font-style: normal; }
a {
text-decoration: none; }
img {
border: none; }
.clr {
*zoom: 1;
clear: both; }
.clr:after {
content: ".";
clear: both;
height: 0;
visibility: hidden;
display: block; }
.fl {
float: left;
_display: inline; }
.f-orange {
color: #ffa200 !important; }
.fr {
float: right;
_display: inline; }
.va-t {
vertical-align: top; }
.va-m {
vertical-align: middle; }
.va-b {
vertical-align: bottom; }
.i-hide {
display: none; }
.i-show {
display: block; }
.lineBlock {
display: inline-block;
*display: inline;
zoom: 1;
letter-spacing: normal;
word-spacing: normal; }
.lbBox {
font-size: 0 !important;
*word-spacing: -1px !important; }
.boxsiz {
-webkit-box-sizing: border-box;
box-sizing: border-box; }
html, body {
width: 100%;
height: 100%;
-webkit-overflow-scrolling: touch; }
body {
overflow-x: hidden; }
.emptys {
margin-left: -1px;
width: 1px;
height: 100%;
font-size: 0;
vertical-align: middle; }
@media (min-width: 750px) {
html {
background: rgba(0, 0, 0, 0.5); }
html body {
max-width: 480px;
margin: 0 auto;
background: #fff; }
html body .main-interface .container-wrap::-webkit-scrollbar {
width: 10px;
height: 11px; }
html body .main-interface .container-wrap::-webkit-scrollbar-thumb {
background-color: #ffffff;
box-shadow: 0px 0px 0px 0px rgba(73, 73, 73, 0.92);
border-radius: 10px;
border: solid 1px #e5e5e5;
padding: 2px; }
html body .main-interface .container-wrap::-webkit-scrollbar-track {
background-color: #eeeeee;
box-shadow: inset 1px 3px 5px 0px rgba(192, 186, 186, 0.75);
border-radius: 10px; } }
#app {
height: 100%; }
/**导航**/
.navigator {
order: 1;
width: 100%;
height: 2rem;
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 2019; }
.navigator ul {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
height: 100%;
background-color: #ffffff;
box-shadow: 0rem 0rem 0.12rem 0rem rgba(196, 196, 196, 0.87);
justify-content: center;
align-items: center; }
.navigator ul li {
position: relative;
-webkit-box-flex: 1;
-moz-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
text-align: center; }
.navigator ul li a {
display: block; }
.navigator ul li a .cart {
position: absolute;
left: 50%;
top: -8px;
margin-left: -2px;
color: #fff;
font-size: 12px;
font-weight: 500;
text-align: center;
padding: 0 3px;
min-width: 16px;
line-height: 14px;
border: 1px solid #fff;
border-radius: 16px;
background-color: #f44;
transform: translateX(50%);
transform-origin: 100%; }
.navigator ul li a i {
width: 26px;
height: 26px;
display: block;
margin: 0 auto;
color: #d5d5d5;
font-size: 25px;
text-align: center; }
.navigator ul li a .ico-1 {
background: url("../images/home/i1.png") no-repeat center center;
background-size: cover; }
.navigator ul li a .ico-2 {
background: url("../images/home/i2.png") no-repeat center center;
background-size: cover; }
.navigator ul li a .ico-3 {
background: url("../images/home/i3.png") no-repeat center center;
background-size: cover; }
.navigator ul li a .ico-4 {
background: url("../images/home/i4.png") no-repeat center center;
background-size: cover; }
.navigator ul li a .ico-5 {
background: url("../images/home/i5.png") no-repeat center center;
background-size: cover; }
.navigator ul li a p {
margin-top: 0.133rem;
font-size: 10px;
color: #adadad; }
.navigator ul li.curr i {
color: #57a1f4; }
.navigator ul li.curr .ico-1 {
background: url("../images/home/i1_s.png") no-repeat center center;
background-size: cover; }
.navigator ul li.curr .ico-2 {
background: url("../images/home/i2_s.png") no-repeat center center;
background-size: cover; }
.navigator ul li.curr .ico-3 {
background: url("../images/home/i3_s.png") no-repeat center center;
background-size: cover; }
.navigator ul li.curr .ico-4 {
background: url("../images/home/i4_s.png") no-repeat center center;
background-size: cover; }
.navigator ul li.curr .ico-5 {
background: url("../images/home/i5_s.png") no-repeat center center;
background-size: cover; }
.navigator ul li.curr p {
color: #4e8eee; }
/**加载动画**/
.loading-background {
background: transparent;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: flex;
justify-content: center;
flex-direction: column;
z-index: 99; }
/**侧边栏**/
.slide-bar {
position: fixed;
right: 0;
bottom: 23%;
z-index: 3000; }
.slide-bar .customer-service {
width: 1.053rem;
height: 1.053rem;
border-radius: 4px;
background: rgba(78, 142, 238, 0.8);
display: flex;
align-items: center;
justify-content: center; }
.slide-bar .customer-service .icon-kefu {
color: #fff;
font-size: 25px; }
.slide-bar .backtop {
margin-top: 16px;
width: 1.053rem;
height: 1.053rem;
border-radius: 4px;
background: rgba(78, 142, 238, 0.8);
display: flex;
align-items: center;
justify-content: center; }
.slide-bar .backtop .icon-xiangshang1 {
color: #fff;
font-size: 28px; }
/**客服模块**/
.kefu .t0 {
text-align: center;
height: 100px;
line-height: 100px; }
.kefu .t0 .icon-kefu {
font-size: 60px;
color: #1080d0; }
.kefu .t1 {
padding: 0 10%;
margin-bottom: 20px; }
.kefu .t1 a {
display: block;
height: 33px;
line-height: 33px;
font-size: 14px;
background: #1080d0;
color: #fff;
text-decoration: none;
text-align: center;
border: none; }
.kefu .t2 {
padding: 0 10%;
margin-bottom: 20px; }
.kefu .t2 a {
border-color: #e5e5e5;
color: #1080d0;
border: 1px solid #1080d0;
text-decoration: none;
text-align: center;
display: block;
height: 33px;
line-height: 33px;
font-size: 13px; }
.kefu .t2 a .icon-qq {
font-size: 13px;
margin-right: 10px; }
/*# sourceMappingURL=global.css.map */
{
"version": 3,
"mappings": "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",
"sources": ["base.scss","global.scss"],
"names": [],
"file": "global.css"
}
......@@ -6,7 +6,7 @@ $imgUrl: '../images/';
#app {
height: 100%;
}
/**导航**/
.navigator {
order: 1;
width: 100%;
......@@ -113,7 +113,7 @@ $imgUrl: '../images/';
}
}
}
/**加载动画**/
.loading-background {
background: transparent;
position: fixed;
......@@ -125,7 +125,7 @@ $imgUrl: '../images/';
flex-direction: column;
z-index: 99;
}
/**侧边栏**/
.slide-bar {
position: fixed;
right: 0;
......@@ -159,7 +159,7 @@ $imgUrl: '../images/';
}
}
}
/**客服模块**/
.kefu {
.t0 {
text-align: center;
......
body{padding-top:0px; background: #10141d;}
.seo-content{
background: #10141d;
width:100%;
height:100%;
.seo-head{
width:100%;
height:11.4rem;
......
{"version":3,"sources":["index.less"],"names":[],"mappings":"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","file":"index.min.css"}
\ No newline at end of file
{"version":3,"sources":["index.less"],"names":[],"mappings":"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","file":"index.min.css"}
\ No newline at end of file
import {productionUrlPc} from '../api/index'
export default {
bind(el, binding) {
var imgUrl_=productionUrlPc+"public/verify?"+new Date().getTime();
el.setAttribute("src",imgUrl_);
el.addEventListener('click', function () {
var imgUrl_=productionUrlPc+"public/verify?"+new Date().getTime();
el.setAttribute("src",imgUrl_)
}, false);
}
}
\ No newline at end of file
import Vue from 'vue'
import BackTopDirective from './backTop';
import backTopWindowDirective from './backTopWindow';
import imgCodeDirective from './imgCode';
export default {
install (Vue) {
Vue.directive('backTop', BackTopDirective);
Vue.directive('backTopWindow', backTopWindowDirective);
Vue.directive('imgCode', imgCodeDirective);
}
}
......@@ -28,46 +28,36 @@ Object.keys(filters).forEach(key => Vue.filter(key, filters[key]));
Vue.use(directive);
//设置请求头
var csrf = Util.getCookie('Yo4teW_csrf') || ''; //解决接口返回系统错误问题
Vue.prototype.$http = axios;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
axios.defaults.withCredentials = true;
axios.interceptors.request.use(function (config) {
if(config.method=='post'){
if(config.data){
if(config.data.indexOf("&pf=2")==-1){
config.data+="&pf="+window.lxpf;
if (config.method == 'post') {
if (config.data) {
if (config.data.indexOf("&pf=2") == -1) {
config.data += "&pf=" + window.lxpf + '&csrf=' + csrf;
}
}else{
config.data="pf="+window.lxpf
} else {
config.data = "pf=" + window.lxpf + '&csrf=' + csrf;
}
}else if(config.method=='get'){
} else if (config.method == 'get') {
let paramsArr = Object.keys(config.params);
if(paramsArr.length){
if(paramsArr.indexOf('pf')==-1){
config.params = {
pf:window.lxpf,
...config.params
}
}
}else{
if (paramsArr.length) {
if (paramsArr.indexOf('pf') == -1) {
config.params = {
pf:window.lxpf,
pf: window.lxpf,
csrf: csrf,
...config.params
}
}
} else {
config.params = {
pf: window.lxpf,
csrf: csrf
}
}
// if(config.params.data){
// if( config.params.data.indexOf("&pf=2")==-1){
// config.params = {
// pf:2,
// ...config.params
// }
// }
// }else{
// config.params = {
// pf:2,
// }
// }
}
return config;
}, function (error) {
return Promise.reject(error);
......@@ -76,15 +66,16 @@ axios.interceptors.request.use(function (config) {
//本地初始化uid
var Yo4teW_gid = Util.getCookie('Yo4teW_gid');
var timestmp = new Date().getTime()+Math.random();
if (Yo4teW_gid == null) {
var mdStr = md5('');
var mdStr = md5(timestmp);
Util.setCookie('Yo4teW_gid', mdStr, 1, window.cookieHostname);
}
//微信授权
var params={
var params = {
urlhash: window.location.hash
}
};
params = Util.getParams(params);
Services.wxaccess(params).then((res) => {
let data = res.data;
......@@ -93,7 +84,6 @@ Services.wxaccess(params).then((res) => {
}
});
//路由进入前
//路由页面回跳处理 mate里面参数 back:true 开启登录态回跳
router.beforeEach((to, from, next) => {
const title = to.meta && to.meta.title;
......@@ -101,15 +91,15 @@ router.beforeEach((to, from, next) => {
document.title = title;
}
//页面回跳
var backurl_g=to.meta.back||""
if(backurl_g){
var loginpta=Util.isLogin()?true:false;
if(!loginpta){
window.location.href='/v3/login?referer='+encodeURIComponent(window.location.href)
}else{
var backurl_g = to.meta.back || "";
if (backurl_g) {
var loginpta = Util.isLogin() ? true : false;
if (!loginpta) {
window.location.href = '/v3/login?referer=' + encodeURIComponent(window.location.href);
} else {
next();
}
}else{
} else {
next();
}
});
......@@ -118,4 +108,4 @@ new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
}).$mount('#app');
......@@ -15,10 +15,26 @@ const Exchange = resolve => require(['@/views/pointmall/exchange'], resolve);
const Pointchange = resolve => require(['@/views/pointmall/pointchange'], resolve);
const Pointrule = resolve => require(['@/views/pointmall/pointrule'], resolve);
const aboutUs = resolve => require(['@/views/aboutUs/index'], resolve);
Vue.use(Router)
const Chain = resolve => require(['@/views/chain/chain'], resolve);
const Wallet = resolve => require(['@/views/wallet/Index'], resolve);
const WalletStatus = resolve => require(['@/views/wallet/Status'], resolve);
const WalletActivate = resolve => require(['@/views/wallet/Activate'], resolve);
const WalletRecharge = resolve => require(['@/views/wallet/Recharge'], resolve);
const WalletVerify = resolve => require(['@/views/wallet/Verify'], resolve);
const WalletBind = resolve => require(['@/views/wallet/Bind'], resolve);
const WalletWithdraw = resolve => require(['@/views/wallet/Withdraw'], resolve);
const WalletQuestion = resolve => require(['@/views/wallet/Question'], resolve);
const WalletDetail = resolve => require(['@/views/wallet/WalletDetail'], resolve);
const AccountDetail = resolve => require(['@/views/wallet/AccountDetail'], resolve);
const WalletRecord = resolve => require(['@/views/wallet/Record'], resolve);
const WithdrawDetail = resolve => require(['@/views/wallet/WithdrawDetail'], resolve);
const WalletRetrieve = resolve => require(['@/views/wallet/Retrieve'], resolve);
const WalletCashier = resolve => require(['@/views/wallet/Cashier'], resolve);
const routes=[
{
Vue.use(Router);
const routes = [{
path: '/',
component: Home,
meta: {
......@@ -41,7 +57,7 @@ const routes=[
},
{
path: '/wxlist',
name:'Wxlist',
name: 'Wxlist',
component: Wxlist,
meta: {
title: '猎芯网'
......@@ -49,7 +65,7 @@ const routes=[
},
{
path: '/news',
name:'News',
name: 'News',
component: News,
meta: {
title: '猎芯网-新闻列表'
......@@ -57,7 +73,7 @@ const routes=[
},
{
path: '/seo',
name:'Seo',
name: 'Seo',
component: Seo,
meta: {
title: '猎芯网——京东战投元器件商城'
......@@ -65,7 +81,7 @@ const routes=[
},
{
path: '/findthing',
name:'Findthing',
name: 'Findthing',
component: Findthing,
meta: {
title: '猎芯网——快速找料'
......@@ -73,7 +89,7 @@ const routes=[
},
{
path: '/pointmall',
name:'Pointmall',
name: 'Pointmall',
component: Pointmall,
meta: {
title: '积分商城'
......@@ -81,40 +97,47 @@ const routes=[
},
{
path: '/pointchange',
name:'Pointchange',
name: 'Pointchange',
component: Pointchange,
meta: {
title: '兑换成功',
back:true
back: true
}
},
{
path: '/exchange',
component:Exchange,
component: Exchange,
meta: {
title: '兑换记录',
back:true
back: true
}
},
{
path: '/point',
component:Point,
component: Point,
meta: {
title: '积分明细',
back:true
back: true
}
},
{
path: '/pointrule',
component:Pointrule,
component: Pointrule,
meta: {
title: '积分规则'
}
},
{
path: '/chain',
component: Chain,
meta: {
title: '猎芯供应链有限公司_专业IC电子元器件进口报关服务商'
}
},
{
path: '/news/detail/:art_id/:cat_id',
name:'NewsDetail',
name: 'NewsDetail',
component: NewsDetail,
meta: {
title: '猎芯网-新闻详情'
......@@ -122,24 +145,128 @@ const routes=[
},
{
path: '/aboutUs',
name:'aboutUs',
name: 'aboutUs',
component: aboutUs,
meta: {
title: '关于我们'
}
}, {
path: '/wallet',
component: Wallet,
meta: {
title: '猎芯网-我的钱包'
}
},
{
path: '/wallet/status',
component: WalletStatus,
meta: {
title: '猎芯网-钱包状态'
}
},
{
path: '/wallet/activate',
component: WalletActivate,
meta: {
title: '猎芯网-激活钱包'
}
},
{
path: '/wallet/recharge',
component: WalletRecharge,
meta: {
title: '猎芯网-钱包充值'
}
},
{
path: '/wallet/verify',
component: WalletVerify,
meta: {
title: '猎芯网-验证身份'
}
},
{
path: '/wallet/bind',
component: WalletBind,
meta: {
title: '猎芯网-绑定银行账号'
}
},
{
path: '/wallet/withdraw',
component: WalletWithdraw,
meta: {
title: '猎芯网-钱包提现'
}
},
{
path: '/wallet/question',
component: WalletQuestion,
meta: {
title: '猎芯网-常见问题'
}
},
{
path: '/wallet/walletdetail',
component: WalletDetail,
meta: {
title: '猎芯网-钱包明细'
}
},
{
path: '/wallet/accountdetail',
component: AccountDetail,
meta: {
title: '猎芯网-账单详情'
}
},
{
path: '/wallet/record',
component: WalletRecord,
meta: {
title: '猎芯网-充值提现记录'
}
},
{
path: '/wallet/withdrawdetail',
component: WithdrawDetail,
meta: {
title: '猎芯网-充值提现详情'
}
},
{
path: '/wallet/retrieve',
component: WalletRetrieve,
meta: {
title: '猎芯网-找回密码'
}
},
{
path: '/wallet/cashier',
component: WalletCashier,
meta: {
title: '猎芯网-收银台'
}
},
{
path: '*',
redirect: '/'
}
]
];
routes.forEach(route => {
route.path = route.path || '/' + (route.name || '');
});
const router = new Router({routes});
const router = new Router({
routes: routes,
scrollBehavior(to, from, savedPosition) {
return {
x: 0,
y: 0
}
}
});
export {
......
import Vue from 'vue'
import {Toast} from 'vant';
import {services as Services} from '../../../api/index'
Vue.use(Toast);
var qs = require('qs');
const state = {
loading:false,
formCodeStatus:false,//短信是否发送成功
formImgShow:false,//图片验证码是否显示
}
const mutations = {
}
const actions = {
chainSmsVerify({commit},payload){
state.loading=true;
state.formCodeStatus=false;
var params = {
verify: payload.verify,
mobile: payload.mobile
}
Services.smsVerify(qs.stringify(params)).then((res) => {
state.loading=false;
state.formImgShow=false;
let data = res.data;
if (data.err_code == 0) {
state.formCodeStatus=true;
Toast({
message: data.err_msg,
duration: 2000
});
}else if(data.err_code==23019||data.err_code==11008||data.err_code==11011){
Toast({
message: data.err_msg,
duration: 2000
});
state['formImgShow']=true;
}else {
Toast({
message: data.err_msg,
duration: 3000
});
}
}).catch(function (err) {
state.loading = false;
});
},
chainFindBg({commit},payload){
state.loading=true;
var params = {
need: payload.need,
mobile: payload.mobile,
linkName: payload.linkName,
verifyCode: payload.verifyCode
}
Services.chainFind(qs.stringify(params)).then((res) => {
state.loading=false;
let data = res.data;
if(data.errcode == 1){
Toast({
message: data.errmsg,
duration: 2000
});
}else if(data.errcode == 2){ //提交成功
Toast({
message:'您的需求已经提交成功!我们将会在30分钟内联系您!',
duration: 3000
});
setTimeout(function(){
history.go(0)
},2500)
}else{
Toast({
message:'您的需求已经提交成功!我们将会在30分钟内联系您!',
duration: 3000
});
setTimeout(function(){
history.go(0)
},2500)
}
}).catch(function (err) {
state.loading = false;
});
},
}
const getters = {}
export default {
state,
mutations,
actions,
getters
}
......@@ -48,10 +48,18 @@ const actions = {
loginCheck({commit}, payload) {
Services.loginCheck().then((res) => {
let data = res.data;
commit({
type: 'loginCheck',
data: data
});
if (payload.is_jump) {
if (data.err_code == 11010) {
window.location.href = '/h5/view/'
} else if (data.err_code == 11030) {
window.location.href = '/v3/login'
}
} else {
commit({
type: 'loginCheck',
data: data
});
}
}).catch(function (err) {
console.log('网络出现问题,请重试');
});
......@@ -62,7 +70,7 @@ const actions = {
searchModel: ''
}
Services.customsrService(params).then((res) => {
}).catch(function (err) {
console.log('网络出现问题,请重试');
});
......
import Vue from 'vue'
import Vuex from 'vuex'
import wallet from './modules/wallet/wallet'
import home from './modules/home'
import common from './modules/common'
import smt from './modules/smt/index'
......@@ -14,10 +15,15 @@ import pointrule from './modules/pointmall/pointrule'
import pointdetail from './modules/pointmall/pointdetail'
import exchange from './modules/pointmall/exchange'
import aboutus from './modules/aboutUs/index'
import chain from './modules/chain/chain'
Vue.use(Vuex)
Vue.use(Vuex);
export default new Vuex.Store({
modules: {
wallet,
home,
common,
smt,
......@@ -31,6 +37,7 @@ export default new Vuex.Store({
pointrule,
pointdetail,
exchange,
aboutus
aboutus,
chain
}
})
<template>
<section>
<section class="head-dom">
<div class="header-page clr">
<i class="icon iconfont icon-xiangzuo fl" @click="historyback"></i>
<h3 class="title fl">{{title}}</h3>
<Menu v-if="meaushow" :color="color"></Menu>
<Menu v-if="meaushow" :color="color"></Menu>
</div>
</section>
</template>
<script>
import Menu from '@/views/common/Menu.vue';
export default {
import Menu from '@/views/common/Menu.vue';
export default {
name: 'header-page',
props: {
color: {
......@@ -20,23 +21,21 @@ export default {
type: String,
default: '猎芯网'
},
meaushow:{
meaushow: {
type: Boolean,
default: false
}
},
data() {
return {
}
return {}
},
mounted() {
},
methods: {
historyback:function(){
history.go(-1)
}
historyback: function () {
history.go(-1)
}
},
components: {
Menu
......@@ -44,19 +43,37 @@ export default {
}
</script>
<style lang="scss">
body{padding-top:40px;}
.header-page{
<style lang="scss" scoped>
.head-dom {
padding-top: 40px;
height:40px;
width:100%;
padding: 0 0.2rem;
position:fixed;
z-index: 998;
top:0;
background:#fafafa;
i{font-size:18px;margin-top:10px;color:#666}
h3{font-size:16px;color:#333;width:68%;line-height:40px;text-align:center;height:40px;overflow: hidden;
text-overflow: ellipsis;white-space: nowrap;padding:0px 10%!important;}
}
.header-page {
height: 40px;
width: 100%;
padding: 0 0.2rem;
position: fixed;
z-index: 998;
top: 0;
background: #fafafa;
i {
font-size: 18px;
margin-top: 10px;
color: #666
}
h3 {
font-size: 16px;
color: #333;
width: 68%;
line-height: 40px;
text-align: center;
height: 40px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding: 0px 10% !important;
}
}
}
</style>
......@@ -33,7 +33,7 @@
<span class="fl ">图片验证:</span>
<div class="fr input-box pr">
<input type="text" v-model="form1.imgcode"/>
<img :src="imgCodeVal" alt="猎芯网" class="img-code" @click="imgCode()"/>
<img alt="猎芯网" class="img-code" v-imgCode />
</div>
</div>
......@@ -96,7 +96,6 @@
},
data() {
return {
imgCodeVal:productionUrlPc+"public/verify",
loadings:false,
isWindow:true,//右侧开启窗口监听滚动
codeactive:false,//form1短信验证码禁用状态
......@@ -155,10 +154,6 @@
verify:this['form1']['imgcode']
})
},
//获取图片验证码
imgCode(){
this.imgCodeVal=productionUrlPc+"public/verify?"+new Date().getTime()
},
//提交表单form1
submitForm(){
if(!this['form1']['goodsNumber']){
......
......@@ -30,7 +30,7 @@
<div class="fr input-box pr">
<i class="icon iconfont">&#xe625;</i>
<input type="text" v-model="form1.imgcode"/>
<img :src="imgCodeVal" alt="猎芯网" class="img-code" @click="imgCode()"/>
<img alt="猎芯网" class="img-code" v-imgCode/>
</div>
</div>
......@@ -77,7 +77,7 @@
<div class="fl input-box pr">
<i class="icon iconfont">&#xe625;</i>
<input type="text" placeholder="请输入图片验证码..." v-model="form2.imgcode" />
<img :src="imgCodeVal" alt="猎芯网" class="img-code" @click="imgCode()" />
<img alt="猎芯网" class="img-code" v-imgCode />
</div>
</div>
......@@ -129,7 +129,6 @@
import {mapState} from 'vuex'
import { Swipe, SwipeItem,Toast,Loading } from 'vant';
import SideBar from '@/views/common/SideBar.vue';
import {productionUrlPc} from '../../api/index'
Vue.use(Swipe).use(SwipeItem).use(Toast).use(Loading);
export default {
......@@ -152,7 +151,6 @@
},
data() {
return {
imgCodeVal:productionUrlPc+"public/verify",
loadings:false,
isWindow:true,//右侧开启窗口监听滚动
codeactive:false,//form1短信验证码禁用状态
......@@ -245,10 +243,7 @@
types:form_
})
},
//获取图片验证码
imgCode(){
this.imgCodeVal=productionUrlPc+"public/verify?"+new Date().getTime()
},
//提交表单form1
submitForm(type_){
var form_=(type_==2)?"form2":"form1"
......
<template>
<section class="account-detail">
<Header :title="title" :meaushow='meaushow'></Header>
<div class="account-detail-content">
<div class="detail-box detail-content-1">
<div class="pay-img"><span><img src="../../assets/images/wallet/orderpay.png" alt="账单详情"></span></div>
<p class="pay-type">{{payType}}</p>
<p class="pay-amount">{{payAmount}}</p>
<p class="pay-status">{{payStatus}}</p>
</div>
<div class="detail-box detail-content-2">
<p class="pay-flow">支付流水<span>{{payFlow}}</span></p>
<p class="pay-time">支付时间<span>{{payTime}}</span></p>
<p class="pay-method">支付方式<span>{{payMethod}}</span></p>
</div>
<div class="detail-box detail-content-3">
<p class="pay-balance">钱包可用余额<span>{{payBalance}}</span></p>
<p class="pay-detail">详情<a href="#">查看订单 ></a></p>
</div>
</div>
</section>
</template>
<script>
import Vue from 'vue';
import {mapState} from 'vuex'
import Header from '@/views/common/Header.vue';
export default {
name: 'AccountDetail',
data() {
return {
title: "账单详情",
meaushow: true,
payType: "订单支付",
payAmount: 1256.00,
payStatus: "交易完成",
payFlow: 1201811123491734912,
payTime: "2019-04-05 17:03:01",
payMethod: "微信",
payBalance: 1200.00,
}
},
computed: {
...mapState({
})
},
watch: {
},
created() {
},
methods: {
},
components: {
Header
}
}
</script>
<style scoped>
@import "../../assets/css/wallet/wallet.css";
</style>
\ No newline at end of file
<template>
<section class="wallet-activate">
<Header :title="title" :meaushow='meaushow'></Header>
<div class="activate-content" v-show="step1">
<ul class="form-wrap">
<li class="inp-wrap">
<label class="va-m">安全手机号</label><br>
<input type="number" placeholder="请输入手机号" v-model="form.safeMobile" class="va-m inp"/>
</li>
<li class="inp-wrap yzmImg" v-show="activateShowImgCode">
<label class="va-m">图片验证码</label><br>
<input type="text" placeholder="请输入验证码" v-model="form.imgCode" class="va-m inp"/>
<img :src="imgCodeVal" alt="图片验证码" class="img-code va-m" @click="changeImgCode"/>
</li>
<li class="inp-wrap">
<label class="va-m">验证码</label><br>
<input type="text" placeholder="请输入验证码" v-model="form.verifyCode" class="va-m inp"/>
<a v-if="yzmSend" href="javascript:;" class="send-yzm va-m" @click="getCode">{{countDownText}}</a>
<a v-else href="javascript:;" class="sending-yzm va-m">再次发送({{countDown}}s)</a>
</li>
</ul>
<p class="form-error" v-show="formError">{{formMsg}}</p>
<a href="javascript:;" class="next" :class="{noClick: isClick}" @click="next">下一步</a>
</div>
<div class="activate-content" v-show="step2">
<ul class="form-wrap">
<li class="inp-wrap">
<label class="va-m">设置支付密码</label><br>
<template v-if="showPassword">
<input type="password" placeholder="密码由6~20位字母、数字组合而成" class="va-m inp" v-model="form.password"/>
</template>
<template v-else>
<input type="text" placeholder="密码由6~20位字母、数字组合而成" class="va-m inp" v-model="form.password"/>
</template>
<van-icon v-if="showPassword" name="closed-eye" class="va-m f-r" @click="changeShow"/>
<van-icon v-else name="eye-o" class="va-m f-r" @click="changeShow"/>
</li>
<li class="inp-wrap">
<label class="va-m">确认支付密码</label><br>
<template v-if="showPasswordConfirm">
<input type="password" placeholder="请再次输入上面的密码" class="va-m inp" v-model="form.passwordConfirm"/>
</template>
<template v-else>
<input type="text" placeholder="请再次输入上面的密码" class="va-m inp" v-model="form.passwordConfirm"/>
</template>
<van-icon v-if="showPasswordConfirm" name="closed-eye" class="va-m f-r" @click="changeShowConfirm"/>
<van-icon v-else name="eye-o" class="va-m f-r" @click="changeShowConfirm"/>
</li>
</ul>
<p class="form-error" v-show="formError">{{formMsg}}</p>
<a href="javascript:;" class="confirm" @click="confirm">确认</a>
</div>
</section>
</template>
<script>
import Vue from 'vue';
import {mapState} from 'vuex'
import Header from '@/views/common/Header.vue';
import { Icon } from 'vant';
import {productionUrlPc} from '../../api/index';
Vue.use(Icon);
export default {
name: 'WalletActivate',
data() {
return {
title: "激活钱包",
meaushow: true,
showPassword: true, //是否显示密码
showPasswordConfirm: true, //是否显示密码确认
yzmSend: true, //验证码发送
countDown: 60,
countDownText: '发送验证码',
step1: true,
step2: false,
form: {
safeMobile: '',
verifyCode: '',
imgCode: '',
password: '',
passwordConfirm: ''
},
formError: false,
formMsg: '',
imgCodeVal: productionUrlPc+"public/verify",
isClick: true
}
},
computed: {
...mapState({
activateShowImgCode: state => state.wallet.activateShowImgCode,
activateCountDownFlag: state => state.wallet.activateCountDownFlag,
})
},
watch: {
activateCountDownFlag(value) {
if(value){
this.yzmSend = false;
this.timeNum();
}else{
this.yzmSend = true;
}
},
form: {
deep: true,
handler: function(val) {
if (val.safeMobile && val.verifyCode) {
this.isClick=false
}else{
this.isClick=true;
}
}
}
},
created() {
},
methods: {
changeShow() {
this.showPassword = !this.showPassword;
},
changeShowConfirm() {
this.showPasswordConfirm = !this.showPasswordConfirm;
},
timeNum() {
var me = this;
var clock = setInterval(doLoop, 1000);
function doLoop() {
me.countDown--;
if (me.countDown <= 0) {
clearInterval(clock);
me.countDown = 60;
me.countDownText = "再次发送";
me.yzmSend = true;
}
}
},
//获取图片验证码
changeImgCode() {
this.imgCodeVal = productionUrlPc + "public/verify?" + new Date().getTime()
},
verify() {
if (!this.form.safeMobile) {
this.formError = true;
this.formMsg = '亲,请输入手机';
return;
}
var tel_reg = /^1[34578]\d{9}$/;
if (!tel_reg.test(this.form.safeMobile)) {
this.formError = true;
this.formMsg = '亲,手机格式不正确';
return;
}
return true;
},
getCode() {
if(this.verify()){
this.$store.dispatch({ //actions分发
type: 'smsVerifyActivate',
mobile: this.form.safeMobile,
imgCode: this.form.imgCode
})
}
},
next() { //下一步
if (this.isClick) {return}
if(this.verify()){
if (!this.form.verifyCode) {
this.formError = true;
this.formMsg = '亲,请输入验证码';
return;
}
this.formError = false;
//下一步
this.step1 = false;
this.step2 = true;
}
},
confirm() { //确认
var password_reg = new RegExp(/^[a-zA-Z0-9]{6,20}$/); //^表示开始 $表示结束 8~20位字母和数字组合
if (!this.form.password) {
this.formError = true;
this.formMsg = '亲,请输入支付密码';
return;
}
if (!password_reg.test(this.form.password)) {
this.formError = true;
this.formMsg = '亲,密码由6~20位字母、数字组合';
return;
}
if (!this.form.passwordConfirm) {
this.formError = true;
this.formMsg = '亲,请再次输入支付密码';
return;
}
if (this.form.password !== this.form.passwordConfirm) {
this.formError = true;
this.formMsg = '亲,两次输入支付密码不一致';
return;
}
this.formError = false;
//提交
this.$store.dispatch({
type: 'activateWallet',
mobile: this.form.safeMobile,
verifyCode: this.form.verifyCode,
password: this.form.password,
passwordConfirm: this.form.passwordConfirm,
referer: this.$route.query.referer
})
}
},
components: {
Header
}
}
</script>
<style scoped>
@import "../../assets/css/wallet/wallet.css";
</style>
\ No newline at end of file
<template>
<section class="wallet-bind">
<Header :title="title" :meaushow='meaushow'></Header>
<div class="bind-content">
<div class="safe-mobile">安全手机: {{walletInfoData.safe_mobile}}</div>
<ul class="form-wrap">
<li class="inp-wrap">
<label class="va-m">真实姓名</label><br>
<input type="text" placeholder="请输入真实姓名" class="va-m inp" v-model="form.userName"/>
</li>
<li class="inp-wrap">
<label class="va-m">银行账号</label><br>
<input type="text" placeholder="请输入银行账号" class="va-m inp" v-model="form.userBankNum"/>
</li>
<li class="inp-wrap">
<label class="va-m">身份证号码</label><br>
<input type="text" placeholder="请输入身份证号码" class="va-m inp" v-model="form.userID"/>
</li>
<li class="inp-wrap">
<label class="va-m">银行预留手机</label><br>
<input type="text" placeholder="请输入银行预留手机" class="va-m inp" v-model="form.userMobile"/>
</li>
<li class="inp-wrap">
<label class="va-m">验证码</label><br>
<input type="text" placeholder="请输入验证码" class="va-m inp" v-model="form.verifyCode"/>
<a v-if="yzmSend" href="javascript:;" class="send-yzm va-m" @click="getCode">{{countDownText}}</a>
<a v-else href="javascript:;" class="sending-yzm va-m">再次发送({{countDown}}s)</a>
</li>
</ul>
<p class="form-error" v-show="formError">{{formMsg}}</p>
<a href="javascript:;" class="confirm" @click="confirm">确认</a>
</div>
</section>
</template>
<script>
import Vue from 'vue';
import {mapState} from 'vuex'
import Header from '@/views/common/Header.vue';
import {bankCardAttribution} from '../../util/check_bank_no.min';
import { Toast } from 'vant';
import Util from '../../util'
Vue.use(Toast);
export default {
name: 'WalletBind',
data() {
return {
title: "绑定银行账号",
meaushow: true,
yzmSend: true, //验证码发送
countDown: 60,
countDownText: '发送验证码',
form: {
userName: '',
userBankID: '',
userBankNum: '',
userID: '',
userMobile: '',
verifyCode: ''
},
formError: false,
formMsg: '',
userBankIDList: {
"邮政储蓄银行": 100,
"中国工商银行": 102,
"中国农业银行": 103,
"中国银行": 104,
"中国建设银行": 105,
"交通银行": 301,
"中信银行": 302,
"中国光大银行": 303,
"中国民生银行": 305,
"广发银行": 306,
"平安银行": 307,
"招商银行": 308,
"兴业银行": 309,
"上海浦东发展银行": 310,
"浙商银行": 316,
"上海银行": 401,
"北京银行": 403,
"徽商银行": 440,
"银联在线-中金网银无卡": 888,
"银联在线中金网银": 889
},
}
},
computed: {
...mapState({
walletInfoData: state => state.wallet.walletInfoData,
bankPasswordToken: state => state.wallet.bankPasswordToken,
bankCountDownFlag: state => state.wallet.bankCountDownFlag,
bindBankKey: state => state.wallet.bindBankKey,
bindBankData: state => state.wallet.bindBankData,
})
},
watch: {
bankCountDownFlag(value) {
if(value == true){
this.yzmSend = false;
this.timeNum();
}else{
this.yzmSend = true;
}
}
},
created() {
this.$store.dispatch({
type: 'getWalletInfo'
});
},
methods: {
verify() {
if (!this.form.userName) {
this.formError = true;
this.formMsg = '亲,请输入真实姓名';
return false;
}
if (!this.form.userBankNum) {
this.formError = true;
this.formMsg = '亲,请输入银行账号';
return false;
}
if (!this.form.userID) {
this.formError = true;
this.formMsg = '亲,请输入身份证号码';
return false;
}
if (!this.form.userMobile) {
this.formError = true;
this.formMsg = '亲,请输入银行预留手机';
return false;
}
var tel_reg = /^1[34578]\d{9}$/;
if (!tel_reg.test(this.form.userMobile)) {
this.formError = true;
this.formMsg = '亲,银行预留手机格式不正确';
return false;
}
return true;
},
timeNum() {
var me = this;
var clock = setInterval(doLoop, 1000);
function doLoop() {
me.countDown--;
if (me.countDown <= 0) {
clearInterval(clock);
me.countDown = 60;
me.countDownText = "再次发送";
me.yzmSend = true;
}
}
},
getCode() {
if(this.verify()){
var infox = bankCardAttribution(this.form.userBankNum);
for(var key in this.userBankIDList){
if (key == infox.bankName) {
this.form.userBankID = this.userBankIDList[key];
}
// else{
// Toast({
// message: "银行卡格式有误",
// duration: 2000
// });
// }
}
this.formError = false;
this.$store.dispatch({ //actions分发
type: 'getBindBankmsg',
bank_user: this.form.userName,
bank_id: this.form.userBankID,
bank_account: this.form.userBankNum,
id_type: 0,
id_number: this.form.userID,
account_type: 1,
mobile: this.form.userMobile,
})
}
},
confirm() { //确认
if(this.verify()){
if (!this.form.verifyCode) {
this.formError = true;
this.formMsg = '亲,请输入验证码';
return;
}
this.formError = false;
//绑定银行卡
this.$store.dispatch({
type: 'bindBankCard',
token: this.bankPasswordToken || Util.getCookie("bankPasswordToken"),
wallet_bank_id: '',
sms_code: this.form.verifyCode,
access_key: this.bindBankKey,
access_data: this.bindBankData,
})
}
}
},
components: {
Header
}
}
</script>
<style scoped>
@import "../../assets/css/wallet/wallet.css";
</style>
\ No newline at end of file
<template>
<section class="wallet-cashier">
<Header :title="title" :meaushow='meaushow'></Header>
<div class="cashier-content">
<div class="cashier-detail">
<p class="order-num">订单编号:{{orderInfoData.order_sn}}</p>
<p class="order-money">{{orderInfoData.order_amount_format}}</p>
</div>
<ul class="form-wrap">
<li class="inp-wrap">
<label class="lineBlock va-m">交易密码</label>
<template v-if="showPassword">
<input type="password" placeholder="请输入交易密码" class="va-m inp password" v-model="password"/>
</template>
<template v-else>
<input type="text" placeholder="请输入交易密码" class="va-m inp password" v-model="password"/>
</template>
<van-icon v-if="showPassword" name="closed-eye" class="va-m f-r" @click="changeShow"/>
<van-icon v-else name="eye-o" class="va-m f-r" @click="changeShow"/>
</li>
</ul>
<p class="forget-password"><a href="javascript:;" @click="forget">忘记密码?</a></p>
<a href="javascript:;" class="pay" @click="pay">立即支付</a>
</div>
</section>
</template>
<script>
import Vue from 'vue';
import {mapState} from 'vuex'
import Header from '@/views/common/Header.vue';
import { Icon } from 'vant';
Vue.use(Icon);
export default {
name: 'WalletCashier',
data() {
return {
title:"猎芯网收银台",
meaushow:true,
showPassword: true, //是否显示密码
password: '',
}
},
computed: {
...mapState({
orderInfoData: state => state.wallet.orderInfoData
})
},
watch: {
},
created() {
this.$store.dispatch({
type: 'orderInfo',
order_id: this.$route.query.order_id || ''
});
},
methods: {
changeShow() {
this.showPassword = !this.showPassword;
},
forget() {
this.$router.push({path: '/wallet/retrieve'});
},
pay() {
this.$store.dispatch({
type: 'walletPayTodo',
pay_code: 'wallet',
pay_password: this.password, //支付密码 pay_code=wallet时传入
rescue: 1,
types: 0,
site_type: 2,
order_id: this.$route.query.order_id || ''
});
},
},
components: {
Header
}
}
</script>
<style scoped>
@import "../../assets/css/wallet/wallet.css";
</style>
\ No newline at end of file
<template>
<section class="wallet">
<Header :title="title" :meaushow='meaushow'></Header>
<div class="wallet-content" v-if="walletInfoData">
<div class="wallet-balance">
<div class="balance-bg">
<p class="text-1 lineBlock">钱包余额</p>
<p class="text-2 lineBlock"><span class="text-3">{{walletInfoData.wallet_usable}}</span></p>
<p class="text-4 lineBlock"><a href="/v3/help">常见问题 ></a></p>
</div>
<div class="balance-handle">
<span class="withdraw" :class="walletInfoData.wallet_status !== 1 ? 'gray' : ''" @click="withdraw">提现</span>
<span v-if="walletInfoData.wallet_status == 1" class="recharge" @click="recharge">充值</span>
<span v-else class="recharge activate" @click="activate">激活</span>
</div>
</div>
<ul class="clr">
<li>
<a href="/h5/view/#/wallet/status" class="lineBlock">
<img src="../../assets/images/wallet/status.png" alt="钱包状态" style="width:47px; height:45px;">
<p>钱包状态</p>
</a>
</li>
<li>
<a href="/h5/view/#/wallet/walletdetail" class="lineBlock">
<img src="../../assets/images/wallet/account.png" alt="钱包明细" style="width:42px; height:45px;">
<p>钱包明细</p>
</a>
</li>
<li>
<a href="/h5/view/#/wallet/record" class="lineBlock">
<img src="../../assets/images/wallet/record.png" alt="充值提现记录" style="width:45px; height:44px;">
<p>充值提现记录</p>
</a>
</li>
</ul>
</div>
</section>
</template>
<script>
import Vue from 'vue';
import {mapState} from 'vuex'
import Header from '@/views/common/Header.vue';
import { Dialog } from 'vant';
Vue.use(Dialog);
export default {
name: 'wallet',
data() {
return {
title: "我的钱包",
meaushow: true
}
},
beforeRouteEnter(to, from, next) {
next(vm => {
vm.$store.dispatch({
type: 'loginCheck',
is_jump: true
});
})
},
computed: {
...mapState({
walletInfoData: state => state.wallet.walletInfoData
})
},
created() {
this.$store.dispatch({
type: 'getWalletInfo'
})
},
methods: {
withdraw() {
if (this.walletInfoData.wallet_status == 1 && !(this.walletInfoData.bank_account === null)) {
//钱包状态:1启用,-1未启用,-2锁定
this.$router.push({path: '/wallet/withdraw'});
}else{
Dialog.confirm({
title: '提醒',
message: '请先去绑卡'
}).then(() => {
this.$router.push({path: '/wallet/verify'});
}).catch(() => {
// on cancel
});
}
},
activate() {
this.$router.push({path: '/wallet/activate'});
},
recharge() {
this.$router.push({path: '/wallet/recharge'});
}
},
components: {
Header
}
}
</script>
<style scoped>
@import "../../assets/css/wallet/wallet.css";
</style>
\ No newline at end of file
<template>
<section class="wallet-question">
<Header :title="title" :meaushow='meaushow'></Header>
<div class="question-content">
222
</div>
</section>
</template>
<script>
import Vue from 'vue';
import {mapState} from 'vuex'
import Header from '@/views/common/Header.vue';
export default {
name: 'WalletQuestion',
data() {
return {
title:"常见问题",
meaushow:true,
}
},
computed: {
...mapState({
})
},
watch: {
},
created() {
},
methods: {
},
components: {
Header
}
}
</script>
<style scoped>
@import "../../assets/css/wallet/wallet.css";
</style>
\ No newline at end of file
<template>
<section class="wallet-recharge">
<Header :title="title" :meaushow='meaushow'></Header>
<div class="recharge-content">
<div class="wallet-account">钱包账号:{{walletInfoData.safe_mobile}}</div>
<div class="recharge-amount">
<p>充值金额</p>
<span></span><input type="number" class="money" v-model="inputNum"/>
</div>
<p class="payment-method">支付方式</p>
<van-radio-group v-model="radio">
<van-cell-group class="payment-content">
<van-cell clickable @click="radio = '1'" class="vanCell">
<div class="vanCelldt"><img src="../../assets/images/wallet/wechat.png" alt="微信支付" style="width:25px; height:22.5px;"></div>
<div class="vanCelldd"><span>微信支付</span><br/>仅安装微信6.0.2及以上版本客户端使用</div>
<van-radio name="1" style="display:inline-block; margin: 10px; float: right;"/>
</van-cell>
<!-- <van-cell clickable @click="radio = '2'" class="vanCell">
<div class="vanCelldt"><img src="../../assets/images/wallet/alipay.png" alt="支付宝支付" style="width:25px; height:25px;"></div>
<div class="vanCelldd"><span>支付宝支付</span><br/>由阿里巴巴提供服务</div>
<van-radio name="2" style="display:inline-block; margin: 10px; float: right;"/>
</van-cell>
<van-cell clickable @click="radio = '3'" class="vanCell">
<div class="vanCelldt"><img src="../../assets/images/wallet/unionpay.png" alt="中国银联" style="width:25px; height:15px;"></div>
<div class="vanCelldd"><span>中国银联</span><br/>由猎芯网提供服务</div>
<van-radio name="3" style="display:inline-block; margin: 10px; float: right;"/>
</van-cell> -->
</van-cell-group>
</van-radio-group>
<a href="javascript:;" class="recharge" :class="inputNum == '' ? 'rechargeNO' : ''" @click="recharge">立即充值</a>
</div>
</section>
</template>
<script>
import Vue from 'vue';
import {mapState} from 'vuex'
import Header from '@/views/common/Header.vue';
import {RadioGroup, Radio, Cell, CellGroup} from 'vant';
import {productionUrlApi} from '../../api/index'
Vue.use(RadioGroup).use(Radio).use(Cell).use(CellGroup);
export default {
name: 'walletRecharge',
data() {
return {
title: "钱包充值",
meaushow: true,
inputNum: this.$route.query.amount || '',
radio: '1'
}
},
computed: {
...mapState({
walletInfoData: state => state.wallet.walletInfoData,
amountRechargeID: state => state.wallet.amountRechargeID
})
},
watch: {
amountRechargeID(value) {
if (value) {
if (this.radio == 1) { //微信支付
this.$store.dispatch({
type: 'payTodo',
pay_code: 'wxpay',
// rescue: 1,
types: 1,
site_type: 2,
order_id: value
});
}
// else if (this.radio == 2) { //支付宝支付
// window.location.href = productionUrlApi + "pay/todo?pay_code=alipay&rescue=1&types=1&pay_mode=2&site_type=2&order_id=" + value;
// } else if (this.radio == 3) { //中国银联
// window.location.href = productionUrlApi + "pay/todo?pay_code=unionpay&rescue=1&types=1&site_type=2&order_id=" + value;
// }
}
}
},
created() {
this.$store.dispatch({
type: 'getWalletInfo'
});
},
methods: {
recharge() { //充值
if (this.inputNum !== '') {
console.log(this.radio)
//充值申请
this.$store.dispatch({
type: 'walletRecharge',
amount: this.inputNum
});
}
}
},
components: {
Header
}
}
</script>
<style scoped>
@import "../../assets/css/wallet/wallet.css";
</style>
\ No newline at end of file
<template>
<section class="wallet-record">
<Header :title="title" :meaushow='meaushow'></Header>
<div class="record-content">
<div class="record-type" @click="showPopType">{{text}}<van-icon name="arrow-down" class="va-m" style="font-size:20px;margin-left: 5px;"/> </div>
<div class="record-date">
<span @click="showPopDate">{{recordYear}}{{recordMonth}}<van-icon name="arrow-down" class="va-m" style="font-size:16px;"/></span>
</div>
<ul class="record-detail">
<template v-if="walletRecordData.length > 0">
<li v-for="(item,index) in walletRecordData" :key="index">
<div class="record-item"><span>{{item.wallet_type == 1 ? '钱包充值' : '钱包提现'}}</span><br/>{{item.create_time}}</div>
<div class="record-num" v-if="item.wallet_type == 2">
{{item.amount_format}}<br/>
<span v-if="item.status == 1" class="withdrawText">提现中</span>
<span v-else class="successText">已完成</span>
</div>
<div class="record-num" v-if="item.wallet_type == 1">
{{item.amount_format}}<br/>
<span v-if="item.status == 1" class="rechargeBtn" @click="detail(item.amount)">待支付</span>
<span v-else class="successText">已完成</span>
</div>
</li>
</template>
<template v-else>
<li class="no-data">
<i class="iconfont icon-zanwushuju" style="color: #999;margin: 0 auto;display: block;text-align: center;font-size: 90px;padding-top: 60px;"></i>
<p style="color: #333;width: 80%;margin: 0 auto;font-size: 13px;margin-top: 28px;">您的钱包当前还没有记录哦,去看看商品吧~ <a style="color: #1080d0;" href="/v3/s">去搜索</a></p> </li>
</template>
</ul>
<van-popup v-model="dateShow" position="bottom" :overlay="true">
<van-datetime-picker v-model="currentDate" type="year-month" :formatter="formatter" @cancel="onDateCancel" @confirm="onDateConfirm" @change="dateChange"/>
</van-popup>
</div>
<!--记录类型弹出框-->
<div class="dialog-layer-shade" v-if="dialog">
<div class="dialog-layer">
<p class="tit">交易类型</p>
<ul class="tab boxsiz">
<li :class="{'curr':active==index}" v-for="(item,index) in columns" :key="index" @click="onTypeConfirm(item.keyId,index)">{{item.text}}</li>
</ul>
<a href="javascript:;" class="btn" @click="dialog=false">取消</a>
</div>
</div>
</section>
</template>
<script>
import Vue from 'vue';
import {mapState} from 'vuex'
import Header from '@/views/common/Header.vue';
import {Icon, Popup, DatetimePicker, Picker, Toast} from 'vant';
Vue.use(Icon).use(Popup).use(DatetimePicker).use(Picker).use(Toast);
export default {
name: 'walletRecord',
data() {
return {
title: "充值提现记录",
text:'全部',
meaushow: true,
recordYear: new Date().getFullYear(),
recordMonth: (new Date().getMonth() + 1) < 10 ? "0" + (new Date().getMonth() + 1) : (new Date().getMonth() + 1),
updateYear: '',
updateMonth: '',
dateShow: false, //年月弹出层
typeShow: false, //类型弹出层
currentDate: new Date(), //目前年月
typeCheckedkeyId: '',
typeCheckedText: '',
dialog:false,
active:0,
columns: [
{"keyId": '', "text": "全部"},
{"keyId": 1, "text": "钱包充值"},
{"keyId": 2, "text": "钱包提现"}
]
}
},
computed: {
...mapState({
walletRecordData: state => state.wallet.walletRecordData
})
},
watch: {},
created() {
//格式化日期
function setDate(date) {
y = date.getFullYear();
m = date.getMonth() + 1;
d = date.getDate();
m = m < 10 ? "0" + m : m;
d = d < 10 ? "0" + d : d;
return y + "-" + m + "-" + d;
}
//封装时间格式
function format(time, format) {
var t = new Date(time);
var tf = function (i) {
return (i < 10 ? '0' : '') + i
};
return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function (a) {
switch (a) {
case 'yyyy':
return tf(t.getFullYear());
break;
case 'MM':
return tf(t.getMonth() + 1);
break;
case 'mm':
return tf(t.getMinutes());
break;
case 'dd':
return tf(t.getDate());
break;
case 'HH':
return tf(t.getHours());
break;
case 'ss':
return tf(t.getSeconds());
break;
}
})
}
//获取当前月的第一天
function getCurrentMonthFirst() {
var date = new Date();
date.setDate(1);
return date;
}
//获取当前月的最后一天
function getCurrentMonthLast() {
var date = new Date();
var currentMonth = date.getMonth();
var nextMonth = ++currentMonth;
var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1);
var oneDay = 1000 * 60 * 60 * 24;
return new Date(nextMonthFirstDay - oneDay);
}
this.$store.dispatch({
type: 'walletRecordList',
wallet_type: '',
stime: format(getCurrentMonthFirst(), 'yyyy-MM-dd'),
etime: format(getCurrentMonthLast(), 'yyyy-MM-dd')
})
},
methods: {
showPopDate() {
if (!this.dateShow) {
this.dateShow = true;
} else {
this.dateShow = false;
}
},
showPopType() {
this.dialog=!this.dialog;
},
formatter(type, value) {
if (type === 'year') {
return `${value}`;
} else if (type === 'month') {
return `${value}`
}
return value;
},
dateChange(value) {
this.updateYear = value.getValues()[0];
this.updateMonth = value.getValues()[1];
},
onDateCancel() {
this.dateShow = false;
this.recordYear = this.recordYear;
this.recordMonth = this.recordMonth;
},
onDateConfirm() {
this.dateShow = false;
this.recordYear = this.updateYear || this.recordYear;
this.recordMonth = this.updateMonth || this.recordMonth;
//获取某年某月的第一天
function getMonthFirstDay(y, m) {
var date = new Date(y, m - 1, 1);
var firstDate = new Date(date.getTime());
return firstDate.getFullYear() + '-' + (Number(firstDate.getMonth()) + 1) + '-' + firstDate.getDate();
}
//获取某年某月的最后一天
function getMonthLastDay(y, m) {
var date = new Date(y, m, 1);
var lastDate = new Date(date.getTime() - 1000 * 60 * 60 * 24);
return lastDate.getFullYear() + '-' + (Number(lastDate.getMonth()) + 1) + '-' + lastDate.getDate();
}
this.$store.dispatch({
type: 'walletRecordList',
wallet_type: this.typeCheckedkeyId || '',
stime: getMonthFirstDay(this.recordYear, this.recordMonth),
etime: getMonthLastDay(this.recordYear, this.recordMonth)
})
},
onTypeConfirm(value, index) {
this.dialog = false;
this.active=index;
this.text=this.columns[index].text;
this.typeCheckedkeyId = value;
this.recordYear = this.updateYear || this.recordYear;
this.recordMonth = this.updateMonth || this.recordMonth;
//获取某年某月的第一天
function getMonthFirstDay(y, m) {
var date = new Date(y, m - 1, 1);
var firstDate = new Date(date.getTime());
return firstDate.getFullYear() + '-' + (Number(firstDate.getMonth()) + 1) + '-' + firstDate.getDate();
}
//获取某年某月的最后一天
function getMonthLastDay(y, m) {
var date = new Date(y, m, 1);
var lastDate = new Date(date.getTime() - 1000 * 60 * 60 * 24);
return lastDate.getFullYear() + '-' + (Number(lastDate.getMonth()) + 1) + '-' + lastDate.getDate();
}
this.$store.dispatch({
type: 'walletRecordList',
wallet_type: value,
stime: getMonthFirstDay(this.recordYear, this.recordMonth),
etime: getMonthLastDay(this.recordYear, this.recordMonth)
})
},
onTypeCancel() {
this.typeShow = false;
},
detail(amount) { //待支付的钱包充值订单,可跳去查看详情
//直接调用$router.push实现携带参数的跳转
this.$router.push({
path: '/wallet/recharge',
query: {
amount: amount
}
})
}
},
components: {
Header
}
}
</script>
<style scoped>
@import "../../assets/css/wallet/wallet.css";
</style>
\ No newline at end of file
<template>
<section class="wallet-retrieve">
<Header :title="title" :meaushow='meaushow'></Header>
<div class="retrieve-content" v-show="step1">
<ul class="form-wrap">
<li class="inp-wrap" style="height: 1.5rem;">
<label class="va-m">安全手机号: {{walletInfoData.safe_mobile}}</label>
</li>
<li class="inp-wrap" v-show="retieveShowImgCode">
<label class="va-m">图片验证码</label><br>
<input type="text" placeholder="请输入验证码" v-model="form.imgCode" class="va-m inp"/>
<img :src="imgCodeVal" alt="图片验证码" class="img-code va-m" @click="changeImgCode"/>
</li>
<li class="inp-wrap" style="border-top: none;">
<label class="va-m">验证码</label><br>
<input type="text" placeholder="请输入验证码" v-model="form.verifyCode" class="va-m inp"/>
<a v-if="yzmSend" href="javascript:;" class="send-yzm va-m" @click="getCode">{{countDownText}}</a>
<a v-else href="javascript:;" class="sending-yzm va-m">再次发送({{countDown}}s)</a>
</li>
</ul>
<p class="form-error" v-show="formError">{{formMsg}}</p>
<a href="javascript:;" class="next" @click="next">下一步</a>
</div>
<div class="retrieve-content" v-show="step2">
<ul class="form-wrap">
<li class="inp-wrap">
<label class="va-m">设置支付密码</label><br>
<template v-if="showPassword">
<input type="password" placeholder="密码由6~20位字母、数字组合而成" class="va-m inp" v-model="form.password"/>
</template>
<template v-else>
<input type="text" placeholder="密码由6~20位字母、数字组合而成" class="va-m inp" v-model="form.password"/>
</template>
<van-icon v-if="showPassword" name="closed-eye" class="va-m f-r" @click="changeShow"/>
<van-icon v-else name="eye-o" class="va-m f-r" @click="changeShow"/>
</li>
<li class="inp-wrap">
<label class="va-m">确认支付密码</label><br>
<template v-if="showPasswordConfirm">
<input type="password" placeholder="请再次输入上面的密码" class="va-m inp" v-model="form.passwordConfirm"/>
</template>
<template v-else>
<input type="text" placeholder="请再次输入上面的密码" class="va-m inp" v-model="form.passwordConfirm"/>
</template>
<van-icon v-if="showPasswordConfirm" name="closed-eye" class="va-m f-r" @click="changeShowConfirm"/>
<van-icon v-else name="eye-o" class="va-m f-r" @click="changeShowConfirm"/>
</li>
</ul>
<p class="form-error" v-show="formError">{{formMsg}}</p>
<a href="javascript:;" class="confirm" @click="confirm">确认</a>
</div>
</section>
</template>
<script>
import Vue from 'vue';
import {mapState} from 'vuex'
import Header from '@/views/common/Header.vue';
import {Icon} from 'vant';
import {productionUrlPc} from '../../api/index';
Vue.use(Icon);
export default {
name: 'walletRetrieve',
data() {
return {
title: "找回密码",
meaushow: true,
showPassword: true, //是否显示密码
showPasswordConfirm: true, //是否显示密码确认
yzmSend: true, //验证码发送
countDown: 60,
countDownText: '发送验证码',
step1: true,
step2: false,
form: {
verifyCode: '',
imgCode: '',
password: '',
passwordConfirm: '',
},
formError: false,
formMsg: '',
imgCodeVal: productionUrlPc + "public/verify",
}
},
computed: {
...mapState({
walletInfoData: state => state.wallet.walletInfoData,
retieveShowImgCode: state => state.wallet.retieveShowImgCode,
retieveCountDownFlag: state => state.wallet.retieveCountDownFlag,
passwordToken: state => state.wallet.passwordToken
})
},
watch: {
retieveCountDownFlag(value) {
if (value) {
this.yzmSend = false;
this.timeNum();
} else {
this.yzmSend = true;
}
},
passwordToken(value) {
if (value) { //返回token则验证成功,下一步
this.step1 = false;
this.step2 = true;
} else {
this.step1 = true;
this.step2 = false;
}
}
},
created() {
this.$store.dispatch({
type: 'getWalletInfo'
})
},
methods: {
changeShow() {
this.showPassword = !this.showPassword;
},
changeShowConfirm() {
this.showPasswordConfirm = !this.showPasswordConfirm;
},
timeNum() {
var me = this;
var clock = setInterval(doLoop, 1000);
function doLoop() {
me.countDown--;
if (me.countDown <= 0) {
clearInterval(clock);
me.countDown = 60;
me.countDownText = "再次发送";
me.yzmSend = true;
}
}
},
//获取图片验证码
changeImgCode() {
this.imgCodeVal = productionUrlPc + "public/verify?" + new Date().getTime()
},
getCode() {
this.$store.dispatch({ //actions分发
type: 'smsVerifyRetrieve',
imgCode: this.form.imgCode
})
},
next() { //下一步
if (!this.form.verifyCode) {
this.formError = true;
this.formMsg = '亲,请输入验证码';
return;
}
this.formError = false;
this.$store.dispatch({
type: 'verifyResetsms',
verify_code: this.form.verifyCode
})
},
confirm() { //确认
var password_reg = new RegExp(/^[a-zA-Z0-9]{6,20}$/); //^表示开始 $表示结束 6~20位字母和数字组合
if (!this.form.password) {
this.formError = true;
this.formMsg = '亲,请输入支付密码';
return;
}
if (!password_reg.test(this.form.password)) {
this.formError = true;
this.formMsg = '亲,密码由6~20位字母、数字组合';
return;
}
if (!this.form.passwordConfirm) {
this.formError = true;
this.formMsg = '亲,请再次输入支付密码';
return;
}
if (this.form.password !== this.form.passwordConfirm) {
this.formError = true;
this.formMsg = '亲,两次输入支付密码不一致';
return;
}
this.formError = false;
//提交
this.$store.dispatch({
type: 'changeWalletpwd',
token: this.passwordToken,
pay_password: this.form.password,
reconfirm: this.form.passwordConfirm,
mode: 'forget'
})
}
},
components: {
Header
}
}
</script>
<style scoped>
@import "../../assets/css/wallet/wallet.css";
</style>
\ No newline at end of file
<template>
<section class="wallet-status">
<Header :title="title" :meaushow='meaushow'></Header>
<div class="status-content" v-if="walletInfoData.wallet_freeze_format">
<ul class="form-wrap">
<li class="inp-wrap">
<label class="lineBlock va-m">冻结余额</label>
<input readonly="readonly" v-if="walletInfoData.wallet_status !== 1" type="text" value="¥0.00" class="va-m inp"/>
<input readonly="readonly" v-else type="text" :value="walletInfoData.wallet_freeze_format" class="va-m inp"/>
<van-icon v-if="walletInfoData.wallet_freeze_format !== '¥0.00'" name="warning-o" class="tips va-m" size="22px" color="#f00" @click="dialogTips"/>
</li>
<li class="inp-wrap">
<label class="lineBlock va-m">钱包状态</label>
<input readonly="readonly" v-if="walletInfoData.wallet_status !== 1" type="text" value="未启用" class="va-m inp"/>
<input readonly="readonly" v-else type="text" value="已启用" class="va-m inp"/>
</li>
<li class="inp-wrap">
<label class="lineBlock va-m">支付密码</label>
<input readonly="readonly" v-if="walletInfoData.wallet_status !== 1" type="text" value="未启用" class="va-m inp"/>
<input readonly="readonly" v-else type="text" value="已启用" class="va-m inp"/>
<span v-if="walletInfoData.wallet_status == 1" class="forget-password va-m" @click="forgetPassword">忘记密码</span>
</li>
<li class="inp-wrap">
<label class="lineBlock va-m">我的银行卡</label>
<input readonly="readonly" v-if="walletInfoData.bank_name == null" type="text" value="未绑定" class="va-m inp"/>
<input readonly="readonly" v-else type="text" :value="walletInfoData.bank_name" class="va-m inp"/>
<span v-if="walletInfoData.bank_name == null" class="bind-bank va-m" @click="bindBank">绑卡</span>
</li>
</ul>
<a v-if="walletInfoData.wallet_status !== 1" href="javascript:;" class="submit" @click="submit">激活</a>
</div>
</section>
</template>
<script>
import Vue from 'vue';
import {mapState} from 'vuex'
import Header from '@/views/common/Header.vue';
import { Icon,Dialog } from 'vant';
Vue.use(Icon).use(Dialog);
export default {
name: 'walletStatus',
data() {
return {
title: "钱包状态",
meaushow: true
}
},
computed: {
...mapState({
walletInfoData: state => state.wallet.walletInfoData
})
},
watch: {
},
created() {
this.$store.dispatch({
type: 'getWalletInfo'
})
},
methods: {
dialogTips() {
Dialog.alert({
message: '<p style="font-size:16px;">您的'+this.walletInfoData.wallet_freeze_format+'元正在提现中,</p><p style="font-size:16px;">预计1个工作日后到账,</p><p style="font-size:16px;">节假日顺延,请耐心等候。</p>'
}).then(() => {
// on close
});
},
submit() {
this.$router.push({path: '/wallet/activate'});
},
forgetPassword() {
this.$router.push({path: '/wallet/retrieve'});
},
bindBank() {
this.$router.push({path: '/wallet/verify'});
}
},
components: {
Header
}
}
</script>
<style scoped>
@import "../../assets/css/wallet/wallet.css";
</style>
\ No newline at end of file
<template>
<section class="wallet-verify">
<Header :title="title" :meaushow='meaushow'></Header>
<div class="verify-content">
<ul class="form-wrap">
<li class="inp-wrap">
<label class="va-m">支付密码</label><br>
<template v-if="showPassword">
<input type="password" placeholder="请输入支付密码" class="va-m inp" v-model="form.password"/>
</template>
<template v-else>
<input type="text" placeholder="请输入支付密码" class="va-m inp" v-model="form.password"/>
</template>
<van-icon v-if="showPassword" name="closed-eye" class="va-m f-r" @click="changeShow"/>
<van-icon v-else name="eye-o" class="va-m f-r" @click="changeShow"/>
</li>
<li class="inp-wrap" v-show="verifyShowImgCode">
<label class="va-m">图片验证码</label><br>
<input type="text" placeholder="请输入验证码" v-model="form.imgCode" class="va-m inp"/>
<img :src="imgCodeVal" alt="图片验证码" class="img-code va-m" @click="changeImgCode"/>
</li>
<li class="inp-wrap">
<label class="va-m">安全手机:{{walletInfoData.safe_mobile}}</label><br>
<input type="text" placeholder="请输入验证码" v-model="form.verifyCode" class="va-m inp"/>
<a v-if="yzmSend" href="javascript:;" class="send-yzm va-m" @click="getCode">{{countDownText}}</a>
<a v-else href="javascript:;" class="sending-yzm va-m">再次发送({{countDown}}s)</a>
</li>
</ul>
<p class="form-error" v-show="formError">{{formMsg}}</p>
<a href="javascript:;" class="next" @click="next">下一步</a>
</div>
</section>
</template>
<script>
import Vue from 'vue';
import {mapState} from 'vuex'
import Header from '@/views/common/Header.vue';
import {Icon, Toast} from 'vant';
import {productionUrlPc} from '../../api/index';
Vue.use(Icon);
export default {
name: 'WalletVerify',
data() {
return {
title: "验证身份",
meaushow: true,
showPassword: true, //是否显示密码
yzmSend: true, //验证码发送
countDown: 60,
countDownText: '发送验证码',
form: {
verifyCode: '',
imgCode: '',
password: '',
},
formError: false,
formMsg: '',
imgCodeVal: productionUrlPc + "public/verify",
}
},
computed: {
...mapState({
walletInfoData: state => state.wallet.walletInfoData,
verifyShowImgCode: state => state.wallet.verifyShowImgCode,
verifyCountDownFlag: state => state.wallet.verifyCountDownFlag,
})
},
watch: {
verifyCountDownFlag(value) {
if (value) {
this.yzmSend = false;
this.timeNum();
} else {
this.yzmSend = true;
}
}
},
created() {
this.$store.dispatch({
type: 'getWalletInfo'
})
},
methods: {
changeShow() {
this.showPassword = !this.showPassword;
},
timeNum() {
var me = this;
var clock = setInterval(doLoop, 1000);
function doLoop() {
me.countDown--;
if (me.countDown <= 0) {
clearInterval(clock);
me.countDown = 60;
me.countDownText = "再次发送";
me.yzmSend = true;
}
}
},
//获取图片验证码
changeImgCode() {
this.imgCodeVal = productionUrlPc + "public/verify?" + new Date().getTime()
},
getCode() {
//下一步
var password_reg = new RegExp(/^[a-zA-Z0-9]{6,20}$/); //^表示开始 $表示结束 8~20位字母和数字组合
if (!this.form.password) {
Toast({
message: '亲,请输入支付密码',
duration: 2000
});
return;
}
if (!password_reg.test(this.form.password)) {
Toast({
message: '亲,密码由6~20位字母、数字组合',
duration: 2000
});
return;
}
this.$store.dispatch({
//actions分发
type: 'sendSafesms',
imgCode: this.form.imgCode
})
},
next() {
//下一步
var password_reg = new RegExp(/^[a-zA-Z0-9]{6,20}$/); //^表示开始 $表示结束 8~20位字母和数字组合
if (!this.form.password) {
this.formError = true;
this.formMsg = '亲,请输入支付密码';
return;
}
if (!password_reg.test(this.form.password)) {
this.formError = true;
this.formMsg = '亲,密码由6~20位字母、数字组合';
return;
}
if (!this.form.verifyCode) {
this.formError = true;
this.formMsg = '亲,请输入验证码';
return;
}
this.formError = false;
this.$store.dispatch({
type: 'verifySafeMobile',
verify_code: this.form.verifyCode,
pay_password: this.form.password
})
}
},
components: {
Header
}
}
</script>
<style scoped>
@import "../../assets/css/wallet/wallet.css";
</style>
\ No newline at end of file
<template>
<section class="wallet-detail">
<Header :title="title" :meaushow='meaushow'></Header>
<div class="wallet-detail-content">
<div class="trade-type" @click="showPopType">{{text}}
<van-icon name="arrow-down" class="va-m" style="font-size:20px;margin-left: 5px;"/>
</div>
<div class="trade-date">
<span @click="showPopDate">{{dateYear}}{{dateMonth}}<van-icon name="arrow-down" class="va-m" style="font-size:16px;"/></span>
</div>
<ul class="trade-detail">
<template v-if="walletListData.length > 0">
<li v-for="(item,index) in walletListData" :key="index">
<div class="typeIcon">
<img :src="'static/images/wallet/'+item.log_type+'.png'" :alt="item.log_type_val" style="width:25px; height:25px;">
</div>
<div class="typeDetail"><span>{{item.log_type_val}}</span><br/>{{item.create_time}}</div>
<div class="trade-num">{{item.amount_format}}</div>
</li>
</template>
<template v-else>
<li class="no-data">
<i class="iconfont icon-zanwushuju" style="color: #999;margin: 0 auto;display: block;text-align: center;font-size: 90px;padding-top: 60px;"></i>
<p style="color: #333;width: 80%;margin: 0 auto;font-size: 13px;margin-top: 28px;">您的钱包当前还没有记录哦,去看看商品吧~ <a style="color: #1080d0;" href="/v3/s">去搜索</a></p>
</li>
</template>
</ul>
<van-popup v-model="dateShow" position="bottom" :overlay="true">
<van-datetime-picker v-model="currentDate" type="year-month" :formatter="formatter" @cancel="onDateCancel" @confirm="onDateConfirm" @change="dateChange"/>
</van-popup>
<van-popup v-model="typeShow" position="bottom" :overlay="true">
<van-picker show-toolbar title="交易类型" :columns="columns" @cancel="onTypeCancel" @confirm="onTypeConfirm"/>
</van-popup>
<!--记录类型弹出框-->
<div class="dialog-layer-shade" v-if="dialog">
<div class="dialog-layer">
<p class="tit">交易类型</p>
<ul class="tab boxsiz">
<li :class="{'curr':active==index}" v-for="(item,index) in columns" :key="index" @click="onTypeConfirm(item.keyId,index)">{{item.text}}</li>
</ul>
<a href="javascript:;" class="btn" @click="dialog=false">取消</a>
</div>
</div>
</div>
</section>
</template>
<script>
import Vue from 'vue';
import {mapState} from 'vuex'
import Header from '@/views/common/Header.vue';
import {Icon, Popup, DatetimePicker, Picker, Toast} from 'vant';
Vue.use(Icon).use(Popup).use(DatetimePicker).use(Picker).use(Toast);
export default {
name: 'walletDetail',
data() {
return {
title: "钱包明细",
meaushow: true,
dateYear: new Date().getFullYear(), //初始化当前年
dateMonth: (new Date().getMonth() + 1) < 10 ? "0" + (new Date().getMonth() + 1) : (new Date().getMonth() + 1), //初始化当前月
updateYear: '',
updateMonth: '',
dateShow: false, //年月弹出层
typeShow: false, //类型弹出层
currentDate: new Date(), //目前年月
typeCheckedkeyId: '',
typeCheckedText: '',
text: '全部交易类型',
dialog:false,
active:0,
columns: [
{"keyId": '', "text": "全部交易类型"},
{"keyId": 21, "text": "订单支付"},
{"keyId": 10, "text": "钱包充值"},
{"keyId": 20, "text": "钱包提现"},
{"keyId": 12, "text": "活动返现"},
{"keyId": 100, "text": "余额调整"}
]
}
},
computed: {
...mapState({
walletListData: state => state.wallet.walletListData
})
},
watch: {},
created() {
//格式化日期
function setDate(date) {
y = date.getFullYear();
m = date.getMonth() + 1;
d = date.getDate();
m = m < 10 ? "0" + m : m;
d = d < 10 ? "0" + d : d;
return y + "-" + m + "-" + d;
}
//封装时间格式
function format(time, format) {
var t = new Date(time);
var tf = function (i) {
return (i < 10 ? '0' : '') + i
};
return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function (a) {
switch (a) {
case 'yyyy':
return tf(t.getFullYear());
break;
case 'MM':
return tf(t.getMonth() + 1);
break;
case 'mm':
return tf(t.getMinutes());
break;
case 'dd':
return tf(t.getDate());
break;
case 'HH':
return tf(t.getHours());
break;
case 'ss':
return tf(t.getSeconds());
break;
}
})
}
//获取当前月的第一天
function getCurrentMonthFirst() {
var date = new Date();
date.setDate(1);
return date;
}
//获取当前月的最后一天
function getCurrentMonthLast() {
var date = new Date();
var currentMonth = date.getMonth();
var nextMonth = ++currentMonth;
var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1);
var oneDay = 1000 * 60 * 60 * 24;
return new Date(nextMonthFirstDay - oneDay);
}
this.$store.dispatch({
type: 'walletListLog',
log_type: '',
stime: format(getCurrentMonthFirst(), 'yyyy-MM-dd'),
etime: format(getCurrentMonthLast(), 'yyyy-MM-dd')
})
},
methods: {
showPopDate() {
if (!this.dateShow) {
this.dateShow = true;
} else {
this.dateShow = false;
}
},
showPopType() {
this.dialog=!this.dialog;
},
formatter(type, value) {
if (type === 'year') {
return `${value}`;
} else if (type === 'month') {
return `${value}`
}
return value;
},
dateChange(value) {
this.updateYear = value.getValues()[0];
this.updateMonth = value.getValues()[1];
},
onDateCancel() {
this.dateShow = false;
this.dateYear = this.dateYear;
this.dateMonth = this.dateMonth;
},
onDateConfirm() {
this.dateShow = false;
this.dateYear = this.updateYear || this.dateYear;
this.dateMonth = this.updateMonth || this.dateMonth;
//获取某年某月的第一天
function getMonthFirstDay(y, m) {
var date = new Date(y, m - 1, 1);
var firstDate = new Date(date.getTime());
return firstDate.getFullYear() + '-' + (Number(firstDate.getMonth()) + 1) + '-' + firstDate.getDate();
}
//获取某年某月的最后一天
function getMonthLastDay(y, m) {
var date = new Date(y, m, 1);
var lastDate = new Date(date.getTime() - 1000 * 60 * 60 * 24);
return lastDate.getFullYear() + '-' + (Number(lastDate.getMonth()) + 1) + '-' + lastDate.getDate();
}
this.$store.dispatch({
type: 'walletListLog',
log_type: this.typeCheckedkeyId || '',
stime: getMonthFirstDay(this.dateYear, this.dateMonth),
etime: getMonthLastDay(this.dateYear, this.dateMonth)
})
},
onTypeConfirm(value, index) {
this.dialog = false;
this.active=index;
this.text=this.columns[index].text;
this.typeCheckedkeyId = value;
this.dateYear = this.updateYear || this.dateYear;
this.dateMonth = this.updateMonth || this.dateMonth;
//获取某年某月的第一天
function getMonthFirstDay(y, m) {
var date = new Date(y, m - 1, 1);
var firstDate = new Date(date.getTime());
return firstDate.getFullYear() + '-' + (Number(firstDate.getMonth()) + 1) + '-' + firstDate.getDate();
}
//获取某年某月的最后一天
function getMonthLastDay(y, m) {
var date = new Date(y, m, 1);
var lastDate = new Date(date.getTime() - 1000 * 60 * 60 * 24);
return lastDate.getFullYear() + '-' + (Number(lastDate.getMonth()) + 1) + '-' + lastDate.getDate();
}
this.$store.dispatch({
type: 'walletListLog',
log_type: value,
stime: getMonthFirstDay(this.dateYear, this.dateMonth),
etime: getMonthLastDay(this.dateYear, this.dateMonth)
})
},
onTypeCancel() {
this.typeShow = false;
}
},
components: {
Header
}
}
</script>
<style scoped>
@import "../../assets/css/wallet/wallet.css";
</style>
\ No newline at end of file
<template>
<section class="wallet-withdraw">
<Header :title="title" :meaushow='meaushow'></Header>
<div class="withdraw-content">
<div class="withdrawUser-ifo">
<p>银行账号:{{walletInfoData.bank_name}}({{walletInfoData.bank_account}})<span>储蓄卡</span></p>
<p>持卡人姓名:{{walletInfoData.bank_user}}</p>
<p>手机号:{{walletInfoData.safe_mobile}}</p>
</div>
<p class="withdraw-tips">
<van-icon name="warning-o" class="tips va-m" style="font-size: 16px; margin-right: 0.1rem;"/>
提现金额预计1个工作日之后到账,节假日顺延,请耐心等待。
</p>
<div class="withdraw-amount">
<p><em>*</em> 提现金额</p>
<span></span><input type="text" readonly="readonly" @touchstart.stop="moneyBtn = true" class="money" v-model="withdrawNum"/>
<div v-if="amountNum" class="withdraw-money">可提现金额 {{walletInfoData.wallet_usable_format}}<span @click="withdraw">全部提现</span></div>
<div v-else class="amount-tips">输入金额超过可提现金额</div>
</div>
<div class="withdraw-password">
<p><em>*</em> 支付密码</p>
<template v-if="showPassword">
<input type="password" placeholder="请输入支付密码" class="va-m inp password" v-model="password"/>
</template>
<template v-else>
<input type="text" placeholder="请输入支付密码" class="va-m inp password" v-model="password"/>
</template>
<van-icon v-if="showPassword" name="closed-eye" class="va-m f-r" @click="changeShow"/>
<van-icon v-else name="eye-o" class="va-m f-r" @click="changeShow"/>
</div>
<button :disabled="amountWithdrawFlag" class="submit" :class="withdrawNum == '' || amountWithdrawFlag ? 'submitNO' : ''" @click="submit">提交</button>
</div>
<van-number-keyboard :show="moneyBtn" theme="custom" extra-key="." close-button-text="完成" @blur="moneyBtn = false;" @input="onInput" @delete="onDelete" :zIndex="zIndex"/>
</section>
</template>
<script>
import Vue from 'vue';
import {mapState} from 'vuex'
import Header from '@/views/common/Header.vue';
import {Icon, Toast, NumberKeyboard} from 'vant';
Vue.use(Icon).use(NumberKeyboard);
export default {
name: 'walletWithdraw',
data() {
return {
title: "钱包提现",
meaushow: true,
showPassword: true, //是否显示密码
amountNum: true,
password: '',
withdrawNum: '',
clickFlag: true,
moneyBtn: false,
zIndex: 999999
}
},
computed: {
...mapState({
walletInfoData: state => state.wallet.walletInfoData,
amountWithdrawFlag: state => state.wallet.amountWithdrawFlag
})
},
watch: {
withdrawNum: function (val) {
if (Number(val) > Number(this.walletInfoData.wallet_usable)) {
this.amountNum = false;
} else {
this.amountNum = true;
}
}
},
created() {
this.$store.dispatch({
type: 'getWalletInfo'
});
},
methods: {
changeShow() {
this.showPassword = !this.showPassword;
},
withdraw() {
//全部提现
this.withdrawNum = this.walletInfoData.wallet_usable;
},
submit() {
if (this.withdrawNum !== '') {
if (this.password) {
//提现申请
this.$store.dispatch({
type: 'walletWithdraw',
amount: this.withdrawNum,
pay_password: this.password
});
} else {
Toast({
message: '请输入提现密码'
});
}
}
},
onInput(key) {
this.withdrawNum = (this.withdrawNum + key);
},
onDelete(key) {
this.withdrawNum = this.withdrawNum.slice(0, this.withdrawNum.length - 1);
}
},
components: {
Header
}
}
</script>
<style scoped>
@import "../../assets/css/wallet/wallet.css";
</style>
\ No newline at end of file
<template>
<section class="withdraw-detail">
<Header :title="title" :meaushow='meaushow'></Header>
<div class="withdraw-detail-content">
<div class="detail-box detail-content-1">
<!-- <div class="pay-img"><span><img src="../../assets/images/wallet/orderpay.png" alt="账单详情"></span></div> -->
<p class="withdraw-record">充值记录</p>
<p class="withdraw-amount">-{{rechargeWithdrawOrderDetail.amount}}</p>
<p class="withdraw-status">待支付</p>
</div>
<div class="detail-box detail-content-2">
<p class="withdraw-type">类型<span>{{rechargeWithdrawOrderDetail.wallet_type}}</span></p>
<p class="withdraw-time">创建时间<span>{{rechargeWithdrawOrderDetail.amount}}</span></p>
<p class="withdraw-num">收款账号<span>{{rechargeWithdrawOrderDetail.amount}}</span></p>
</div>
<div class="detail-box detail-content-3">
<p class="withdraw-balance">钱包可用余额<span>{{rechargeWithdrawOrderDetail.amount}}</span></p>
<p class="withdraw-detail">详情<a @click="goCashier">立即支付 ></a></p>
</div>
</div>
</section>
</template>
<script>
import Vue from 'vue';
import {mapState} from 'vuex'
import Header from '@/views/common/Header.vue';
export default {
name: 'WithdrawDetail',
data() {
return {
title: "充值提现详情",
meaushow: true,
withdrawAmount: -1256.00,
withdrawStatus: "待支付",
withdrawType: "提现单",
withdrawTime: "2019-04-05 17:03:01",
withdrawNum: "猎芯钱包",
withdrawBalance: 1200.00,
}
},
computed: {
...mapState({
rechargeWithdrawOrderDetail: state => state.wallet.rechargeWithdrawOrderDetail
})
},
watch: {
},
created() {
this.$store.dispatch({
type: 'rechargeWithdrawOrderIfo',
wallet_id: this.$route.params.id
})
},
methods: {
goCashier() {
this.$router.push({
path: '/wallet/recharge/'+this.$route.params.id,
})
}
},
components: {
Header
}
}
</script>
<style scoped>
@import "../../assets/css/wallet/wallet.css";
</style>
\ No newline at end of file
.menu-fade{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.3)}.menu{position:fixed;right:10px;top:10px;z-index:999}.menu b{font-size:18px;color:#666}.menu .popover-arrow{position:absolute;z-index:1000;top:11px;right:0;overflow:hidden;width:26px;height:26px}.menu .popover-arrow:after{position:absolute;top:19px;left:0;width:26px;height:26px;content:" ";-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:3px;background:#333}.menu .menu-view{margin-top:36px;background:#333;font-size:15px;border-radius:2px;max-height:300px}.menu .menu-view li{position:relative;overflow:hidden;padding:11px 15px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.menu .menu-view li a{color:#fff}.menu .menu-view li a i{margin-right:.1rem}.head-dom[data-v-3efd14ca]{padding-top:40px}.head-dom .header-page[data-v-3efd14ca]{height:40px;width:100%;padding:0 .2rem;position:fixed;z-index:998;top:0;background:#fafafa}.head-dom .header-page i[data-v-3efd14ca]{font-size:18px;margin-top:10px;color:#666}.head-dom .header-page h3[data-v-3efd14ca]{font-size:16px;color:#333;width:68%;line-height:40px;text-align:center;height:40px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 10%!important}.pointer-detail{font-family:Helvetica Neue,Helvetica,sans-serif;position:relative;height:100%;overflow:hidden}.pointer-detail .f-r{float:right}.pointer-detail .f-l{float:left}.pointer-detail .point-list-head{padding:0 .24rem;border-bottom:1px solid #e1e1e1}.pointer-detail .point-list-head,.pointer-detail .point-list-head .f-l{height:42px;line-height:42px;-webkit-box-sizing:border-box;box-sizing:border-box}.pointer-detail .point-list-head .f-l{width:20%;text-align:center;font-size:16px;cursor:pointer}.pointer-detail .point-list-head .f-l.act{color:#1080d0;border-bottom:2px solid #1080d0}.pointer-detail .point-list-head .f-r{color:#666;font-size:12px}.pointer-detail .point-list-head .f-r font{color:#ffa200;font-size:18px}.pointer-detail .point_content{position:absolute;top:42px;left:0;right:0;padding:0 12px;bottom:0;overflow-y:auto}.pointer-detail .point_content .has_data .data-group{height:60px;border-bottom:1px solid #e1e1e1}.pointer-detail .point_content .has_data .data-group .f-l{height:60px;padding-top:10px;-webkit-box-sizing:border-box;box-sizing:border-box}.pointer-detail .point_content .has_data .data-group .f-l div{color:#333;font-size:14px;line-height:21px}.pointer-detail .point_content .has_data .data-group .f-l span{color:#999;font-size:12px;line-height:21px}.pointer-detail .point_content .has_data .data-group .f-r{line-height:60px;height:60px;color:#ffa200;font-size:18px}
\ No newline at end of file
.menu-fade{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.3)}.menu{position:fixed;right:10px;top:10px;z-index:999}.menu b{font-size:18px;color:#666}.menu .popover-arrow{position:absolute;z-index:1000;top:11px;right:0;overflow:hidden;width:26px;height:26px}.menu .popover-arrow:after{position:absolute;top:19px;left:0;width:26px;height:26px;content:" ";-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:3px;background:#333}.menu .menu-view{margin-top:36px;background:#333;font-size:15px;border-radius:2px;max-height:300px}.menu .menu-view li{position:relative;overflow:hidden;padding:11px 15px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.menu .menu-view li a{color:#fff}.menu .menu-view li a i{margin-right:.1rem}.head-dom[data-v-3efd14ca]{padding-top:40px}.head-dom .header-page[data-v-3efd14ca]{height:40px;width:100%;padding:0 .2rem;position:fixed;z-index:998;top:0;background:#fafafa}.head-dom .header-page i[data-v-3efd14ca]{font-size:18px;margin-top:10px;color:#666}.head-dom .header-page h3[data-v-3efd14ca]{font-size:16px;color:#333;width:68%;line-height:40px;text-align:center;height:40px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 10%!important}.pointmall .point-mall-head{padding:15px 12px;background:#fff}.pointmall .point-mall-head .point-head-top{height:80px;border-bottom:1px solid #e5e5e5}.pointmall .point-mall-head .point-head-top .imgboxp{background:#ccc;width:62px;height:62px;border-radius:50%;margin-right:15px}.pointmall .point-mall-head .point-head-top .imgboxp img{width:62px;height:62px;border-radius:50%}.pointmall .point-mall-head .point-head-top .point-user-info{color:#333;padding-top:6px;width:40%;height:60px}.pointmall .point-mall-head .point-head-top .point-user-info .point-info-name{font-size:16px;width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.pointmall .point-mall-head .point-head-top .point-user-info .point-info-namep{color:#1080d0;font-size:18px;font-weight:700}.pointmall .point-mall-head .point-head-top .point-user-info .point-info-namep a{color:#1080d0}.pointmall .point-mall-head .point-head-top .point-user-info .point-info-phone{font-size:12px;margin-top:12px;width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pointmall .point-mall-head .point-head-top .point-qian{height:60px;width:25%;padding-top:5px}.pointmall .point-mall-head .point-head-top .point-qian .qian-btn{height:26px;line-height:26px;width:90px;text-align:center;background:#1080d0;color:#fff;font-size:14px;border-radius:20px;cursor:pointer}.pointmall .point-mall-head .point-head-top .point-qian .qian-btn i{margin-right:5px}.pointmall .point-mall-head .point-head-top .point-qian .qian-btn.dis{background:#ccc}.pointmall .point-mall-head .point-head-top .point-qian .current-point{font-size:12px;color:#999;margin-top:8px;width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.pointmall .point-mall-head .point-head-top .point-qian .current-point font{color:#333}.pointmall .point-mall-head .point-head-bottom{margin-top:15px}.pointmall .point-mall-head .point-head-bottom .points-bt{width:33.33%;text-align:center;font-size:14px;cursor:pointer}.pointmall .point-mall-head .point-head-bottom .points-bt a{color:#333}.pointmall .point-mall-head .point-head-bottom .icon-box{height:60px;width:60px;color:#fff;border-radius:50%;text-align:center;line-height:60px;margin:0 auto;margin-bottom:10px}.pointmall .point-mall-head .point-head-bottom .icon-box i{font-size:36px}.pointmall .point-mall-head .point-head-bottom .add-points{cursor:pointer}.pointmall .point-mall-head .point-head-bottom .add-points .icon-box{background:#fab011}.pointmall .point-mall-head .point-head-bottom .points-detail .icon-box{background:#1ea1ff}.pointmall .point-mall-head .point-head-bottom .change-detail .icon-box{background:#36d1dc}.pointmall .point-line{height:5px;background:#f0f0f0}.pointmall .point-mall-section{background:#fff;padding:0 12px}.pointmall .point-mall-section .point-section-title{height:42px;line-height:42px;padding-top:6px}.pointmall .point-mall-section .point-section-title .fl{color:#333;font-size:17px}.pointmall .point-mall-section .point-section-title .fr{color:#666;font-size:12px}.pointmall .point-mall-section .point-list-nav{height:42px;line-height:42px;border-bottom:1px solid #e1e1e1;width:100%;display:inline;white-space:nowrap;overflow-x:scroll;float:left;overflow-y:hidden}.pointmall .point-mall-section .point-list-nav li{display:inline-block;width:33%;text-align:center;font-size:16px;height:42px;line-height:42px;cursor:pointer;position:relative;top:-3px;border-bottom:3px solid #fff}.pointmall .point-mall-section .point-list-nav li.act{color:#1080d0;border-bottom:3px solid #1080d0}.pointmall .point-mall-section .data-points .data-box-point .box-group{-webkit-box-sizing:border-box;box-sizing:border-box;width:48%;height:215px;border:1px solid #e5e5e5;padding:10px 7px;margin-top:10px}.pointmall .point-mall-section .data-points .data-box-point .box-group .point-group-top{height:100px;border-radius:5px;overflow-y:hidden}.pointmall .point-mall-section .data-points .data-box-point .box-group .point-group-top img{height:100px;width:100%}.pointmall .point-mall-section .data-points .data-box-point .box-group .prize-name{color:#333;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;margin-top:10px}.pointmall .point-mall-section .data-points .data-box-point .box-group .points-nees{color:#ffa200;font-size:14px;text-align:center;margin-bottom:12px}.pointmall .point-mall-section .data-points .data-box-point .box-group .change-btn{width:80%;height:24px;line-height:24px;border-radius:20px;border:1px solid #1080d0;color:#1080d0;text-align:center;font-size:14px;margin:0 auto;cursor:pointer;display:block}.pointmall .point-mall-section .data-points .data-box-point .box-group .change-btn:focus{background:#1080d0;color:#fff}.pointmall .point-mall-section .data-points .data-box-point .box-group:nth-of-type(2n){float:right!important}.pointmall .point-mall-section .data-points .mr0{margin-right:0}.pointmall .add-points-mask{background:rgba(0,0,0,.5);position:fixed;top:0;bottom:0;left:0;right:0}.pointmall .add-points-mask .add-points-content{min-height:150px;width:260px;position:absolute;background:#fff;top:50%;left:50%;margin-left:-140px;margin-top:-110px;border-radius:5px;padding:10px}.pointmall .add-points-mask .add-points-content .close-point{color:#fff;font-size:25px;position:absolute;top:240px;left:130px}.pointmall .add-points-mask .add-points-content .infoboxh{border-bottom:1px solid #e5e5e5;min-height:70px;padding:10px}.pointmall .add-points-mask .add-points-content .infoboxh p{color:#333;font-size:14px}.pointmall .add-points-mask .add-points-content .infoboxh span{color:#999;font-size:12px;display:inline-block;width:150px}.pointmall .add-points-mask .add-points-content .infoboxh a{width:55.4px;height:23px;line-height:23px;text-align:center;color:#fff;background:#1080d0;border-radius:20px;font-size:12px;margin-top:12px}.pointmall .add-points-mask .add-points-content .infoboxh a.dis{color:#999;background:#e5e5e5}.pointmall .add-points-mask .add-points-content .infoboxf{border:0;height:100px}
\ No newline at end of file
.menu-fade{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.3)}.menu{position:fixed;right:10px;top:10px;z-index:999}.menu b{font-size:18px;color:#666}.menu .popover-arrow{position:absolute;z-index:1000;top:11px;right:0;overflow:hidden;width:26px;height:26px}.menu .popover-arrow:after{position:absolute;top:19px;left:0;width:26px;height:26px;content:" ";-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:3px;background:#333}.menu .menu-view{margin-top:36px;background:#333;font-size:15px;border-radius:2px;max-height:300px}.menu .menu-view li{position:relative;overflow:hidden;padding:11px 15px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.menu .menu-view li a{color:#fff}.menu .menu-view li a i{margin-right:.1rem}.head-dom[data-v-3efd14ca]{padding-top:40px}.head-dom .header-page[data-v-3efd14ca]{height:40px;width:100%;padding:0 .2rem;position:fixed;z-index:998;top:0;background:#fafafa}.head-dom .header-page i[data-v-3efd14ca]{font-size:18px;margin-top:10px;color:#666}.head-dom .header-page h3[data-v-3efd14ca]{font-size:16px;color:#333;width:68%;line-height:40px;text-align:center;height:40px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 10%!important}.point-mall-change{padding:0 12px;padding-top:44px}.change-head-img{height:80px;width:90px;margin:0 auto;display:block;margin-bottom:30px;margin-top:50px}.tip-success-change{text-align:center;color:#333;font-size:16px}.tip-success-change b{color:#1080d0}.change-rule-tip,.check-change-tip{color:#333;font-size:12px;margin:14px 0;text-align:center}.check-change-tip{color:#666}.go-change{width:220px;height:32px;line-height:31px;border-radius:20px;border:1px solid #1080d0;color:#1080d0;text-align:center;margin:0 auto;cursor:pointer;display:block;font-size:14px;margin-top:30px}.point-addersstip{color:#333;font-size:12px;text-align:center;margin:15px 0}.point-adderss-box{width:272px;min-height:90px;border:1px solid #e5e5e5;border-radius:5px;margin:0 auto;margin-top:15px;padding:10px;color:#666;font-size:12px}.inline-block-text,.inline-block-text div{display:inline-block;vertical-align:top}.pce80{width:200px}.address-link{width:220px;height:32px;line-height:32px;border-radius:20px;border:1px solid #1080d0;color:#1080d0;text-align:center;cursor:pointer;display:block;margin:0 auto;margin-top:25px;font-size:14px}.address-link:hover{color:#fff;background:#1080d0}.no-point-address{text-align:center;padding-top:25px}
\ No newline at end of file
.seo-content{background:#10141d;width:100%}.seo-content .seo-head{width:100%;height:11.4rem;background:url(../img/head.a2c80d72.png) no-repeat;background-size:100% 100%;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:1.24rem}.seo-content .seo-head .head-nav{width:100%;height:22px;background:#c9b086}.seo-content .seo-head .head-nav li{float:left;width:20%;text-align:center;height:22px;font-size:12px;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:2px}.seo-content .seo-head .head-nav li a{color:#181c27;display:block;cursor:pointer;width:100%;height:18px;line-height:16px;-webkit-box-sizing:border-box;box-sizing:border-box;border-right:1px solid #9f8d70}.seo-content .seo-section .form-box1{padding-top:30px}.seo-content .seo-section .form-box1 .form-group{width:8.4rem;height:40px;line-height:40px;text-align:center;margin:0 auto;margin-bottom:15px}.seo-content .seo-section .form-box1 .form-group .pr{position:relative}.seo-content .seo-section .form-box1 .form-group span{width:2.506rem;height:40px;line-height:40px;background-color:#eecea4;border-radius:.027rem;font-size:14px;text-align:justify;-moz-text-align-last:justify;text-align-last:justify;padding:0 .2rem;-webkit-box-sizing:border-box;box-sizing:border-box}.seo-content .seo-section .form-box1 .form-group .input-box{width:5.573rem;height:40px;line-height:40px;background-color:#fff;border-radius:.027rem;border:.04rem solid #f2c58b;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.seo-content .seo-section .form-box1 .form-group .input-box i{float:left;height:100%;width:20%;font-size:14px;position:relative;top:-1px}.seo-content .seo-section .form-box1 .form-group .input-box input{font-size:14px;text-align:left;width:80%;float:left;height:100%}.seo-content .seo-section .form-box1 .form-group .input-box .code{position:absolute;right:0;height:40px;width:2rem;top:0;cursor:pointer;color:#1080d0;text-align:center;line-height:40px;font-size:12px}.seo-content .seo-section .form-box1 .form-group .input-box .code.dis{color:#ccc}.seo-content .seo-section .form-box1 .form-group .input-box .img-code{position:absolute;right:0;height:40px;width:2rem;top:0;cursor:pointer}.seo-content .seo-section .form-box1 .submit-button{width:8.4rem;height:40px;text-align:center;line-height:40px;margin:0 auto;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAg4AAAA3CAYAAABkUcJ1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4NjdlYTliYS0wNzVkLTM3NDQtYjhmYy1kOWJlNmQ1YmYwZjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTgyREY5NDc1OUFCMTFFOTgyRjU5QTdGOUNDNjhCQ0MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTgyREY5NDY1OUFCMTFFOTgyRjU5QTdGOUNDNjhCQ0MiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTljYjk0MGItYjFhYy05YzQ1LTllMDAtYTEwZGNjNzM2OTZlIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MmJmOWEyMzItMjUzYS1lNTQ4LWIxM2EtMmIwYWQyOTQ2MmFkIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+NGICbgAAAvdJREFUeNrs2z9slGUcwPHfXY/3rte/kX9GMAwGJ8PoopNhcYCJARPUQdiIiZNOsJIwqCyEGBLRaoxhMLowGGGAhJjQxcHEyeggCXI0Xq93vdYez11CbMtbeJvI0N7nkz59c897XZ7l/ebp85YaszNHI+LLNCYDACDfzTTeLKdf50UDAPAUr6fxbj8c9loLAKCA/WVrAAAUVcmbbLY60es9Pl8qRdRHqzFSLlk5ANiiVtJDvv+cX1paju7Sv7nfybJK1LJKsXA4/N6FaC4sPjb//K7JuHT2rTh4YI9VB4AtqtzfCUg/l3/4OT754qfc75w69lp88M4bxcLhkYmx2mCX4ZGpidGoVEasOABsA/Xqjpgcr62Z63aXo5PGRp4YDj9efj8m6lUrCwDb0Ikjrw7Gap9dvRUfb7AL0edwJABQmHAAAIQDAPD/yz3j8MrBF2K+vei1SwAYMrufG49DL+8bvEmZp9SYnZlL16nVk/fnWoN3PHdNj695qwIA2N4WOt1otbtRr2UxNpqtv30ud8dh5/SYlQOAIdQPhv7YiDMOAEBhwgEAEA4AgHAAAIQDACAcAADhAAAIBwAA4QAACAcAQDgAAMIBABAOAIBwAAAQDgCAcAAAhAMAIBwAAOEAAAgHAADhAAAIBwBAOAAAwgEAEA4AgHAAAIQDAIBwAACedTjc/fuf+OOvRqz0elYIAIZIs9WJP+8+iLlmu3g4nDzzVbz90ZVod5asIAAMke9v/BInPvw8vr12J/d+JW/yXqMZzYVFOw4AMGQW2t2492A+WumaxxkHAKAw4QAAFFZ50s3mfCd6K//9u6JULkW9lsVIugIAW1unuxzdNFZbXPd5U+Fw+OSFNZ/3752Oi2eOx0sv7rbaALDFXfnudnw6c31Tf5MbDhPjtcHuwnrVbEc4LwkA28PYaBaT6Zmfp5rl7y2UGrMzc+k6ZfkAgKc453AkAFCYcAAANhUOv1sGAKCA3/rhcDqNX9Nw7BEAyNNK4+s0vnkowAAx5JXBwoLoMgAAAABJRU5ErkJggg==) no-repeat;background-size:100% 100%;font-size:14px;cursor:pointer;color:#181c27}.seo-content .seo-section .form-box1 .form1-tips{text-align:center;color:#fff;font-size:14px}.seo-content .seo-section .img-show-static{height:14.706rem;background:url(../img/staticx.b75fe82b.png) no-repeat;background-size:100% 100%;margin-top:30px}.seo-content .seo-section .zizi-box{height:10.333rem;width:8.4rem;background:url(../img/lxzz.99f6a2ce.png) no-repeat;background-size:100% 100%;margin:0 auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:3.786rem}.seo-content .seo-section .zizi-box .zizi-ct{width:7.333rem;height:3.4rem;border-style:solid;border-width:.08rem;border-color:#c1b193;margin:0 auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:.826rem}.seo-content .seo-section .zizi-box .zizi-ct .slide-box{margin:0 auto;width:3rem;height:2.28rem}.seo-content .seo-section .zizi-box .zizi-ct .slide-box .slide-pic{width:3rem;height:2.28rem}.seo-content .seo-section .form-box2{width:8.4rem;margin:0 auto;margin-top:30px}.seo-content .seo-section .form-box2 .title-form{color:#f2cea1;font-size:17px;text-align:center;margin-bottom:30px}.seo-content .seo-section .form-box2 .title-form img{vertical-align:middle;display:inline-block;width:17px;height:17px;margin-right:5px}.seo-content .seo-section .form-box2 .form-group{margin-bottom:17px}.seo-content .seo-section .form-box2 .form-group .pr{position:relative}.seo-content .seo-section .form-box2 .form-group .input-box{width:8.4rem;height:40px;line-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fff;border-radius:.053rem;border:.04rem solid #f2c58b;overflow:hidden}.seo-content .seo-section .form-box2 .form-group .input-box .f-red{color:red;position:relative;left:.2rem}.seo-content .seo-section .form-box2 .form-group .input-box .hiddenfont{visibility:hidden}.seo-content .seo-section .form-box2 .form-group .input-box i{float:left;height:100%;width:20%;font-size:14px;text-align:center;position:relative;top:-1px}.seo-content .seo-section .form-box2 .form-group .input-box input{font-size:14px;text-align:left;width:80%;float:left;height:100%}.seo-content .seo-section .form-box2 .form-group .input-box .code{position:absolute;right:0;height:40px;width:2rem;top:0;cursor:pointer;color:#1080d0;text-align:center;line-height:40px;font-size:14px}.seo-content .seo-section .form-box2 .form-group .input-box .code.dis{color:#ccc}.seo-content .seo-section .form-box2 .form-group .input-box .img-code{position:absolute;right:0;height:40px;width:2rem;top:0;cursor:pointer}.seo-content .seo-section .form2-tips{text-align:center;color:#fff;font-size:14px;margin-top:30px}.seo-content .seo-section .submit-button1{width:8.4rem;height:40px;background-color:#eecea4;border-radius:40px;margin:0 auto;color:#181c27;font-size:14px;cursor:pointer;line-height:40px;text-align:center;margin-bottom:50px}.seo-content .seo-section .foot-box{height:2.2rem;background:url(../img/foot.2df97c93.png) no-repeat;background-size:100% 100%;margin:0 auto}.seo-content .seo-section .foot-box .foot-box-ct{height:30px;line-height:30px;background-color:#e8b778;text-align:center;font-size:14px;color:#181c27;position:relative;top:-10px}.seo-content .seo-section .foot-box .foot-box-ct i{font-size:14px!important}.seo-content .seo-section .foot-box .foot-box-ct a{color:#181c27!important}
\ No newline at end of file
This diff could not be displayed because it is too large.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment