login.vue 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897
  1. <template>
  2. <div class="home-wrap">
  3. <!-- 注册页面 -->
  4. <div class="login-block" v-if="loginTab===0">
  5. <div class="contain">
  6. <!-- <h2>FX66&nbsp;欢迎您注册</h2>
  7. <h4>Welcome you to join</h4> -->
  8. <div class="tab-box">
  9. <span :class='{active:operateType=="email"}' @click="operateType='email'">邮箱注册</span>
  10. <span :class='{active:operateType=="mobile"}' @click="operateType='mobile'">手机注册</span>
  11. </div>
  12. <div class="login-line">
  13. <span v-if="operateType=='email'"><i class="iconfont icon-tubiao01"></i></span>
  14. <span class="areaBlock" v-if="operateType=='mobile'">
  15. <el-select class="areaSelect" v-model="area" placeholder="">
  16. <el-option
  17. v-for="item in areaOptions"
  18. :key="item.code"
  19. :label="item.ch_name"
  20. :value="item.code">
  21. </el-option>
  22. </el-select>
  23. </span>
  24. <input class="input" type="text" v-model="regParam.email" :placeholder="tipWord" @blur="checkPhoneNumber()">
  25. </div>
  26. <div class="yanz-line">
  27. <input class="input" type="text" v-model="regParam.code" placeholder="请输入验证码">
  28. <button v-if="codestate===0" @click="sendCode()">发送验证码</button>
  29. <button :class="{bgGrey:codestate===1}" v-if="codestate===1">已发送{{secondNum}}</button>
  30. </div>
  31. <div class="login-line">
  32. <span><i class="iconfont icon-mima"></i></span>
  33. <input class="input" type="password" v-model="regParam.password" placeholder="请输入您的密码">
  34. <i class="iconfont icon-keyboard keyboradIcon"></i>
  35. <!-- <el-input class="input" type="text" v-model="regParam.password" placeholder="请输入您的密码">
  36. <i slot="suffix-icon" class="iconfont icon-keyboard"></i>
  37. </el-input> -->
  38. </div>
  39. <div class="tip-line">
  40. <input v-model="tipNeed" class="input" type="checkbox" id="tip">
  41. <!-- <label for="tip">
  42. <span>我已了解风险提示!</span>
  43. </label> -->
  44. <span>我已了解<i @click="dialogVisible=true">风险提示</i>!</span>
  45. <div class="switch-box">
  46. <span class="cursor" @click="loginTab=1">立即登录!</span>
  47. </div>
  48. <p class="warning" v-show="isRegisted">*该邮箱已注册</p>
  49. <p class="warning" v-show="isError">*您输入的手机号有误,请重新输入</p>
  50. </div>
  51. <div class="submit-line">
  52. <!-- <button class="loginBtn">登录</button> -->
  53. <el-button class="regBtn" @click="goreg" :loading="regLoad">注册</el-button>
  54. </div>
  55. </div>
  56. </div>
  57. <!-- 登录页面 -->
  58. <div class="login-block" v-if="loginTab===1">
  59. <div class="contain">
  60. <!-- <h2>FX66&nbsp;欢迎您登录</h2>
  61. <h4>Welcome you to join</h4> -->
  62. <div class="tab-box">
  63. <span :class='{active:operateType=="email"}' @click="operateType='email'">邮箱登录</span>
  64. <span :class='{active:operateType=="mobile"}' @click="operateType='mobile'">手机登录</span>
  65. </div>
  66. <div class="login-line">
  67. <span v-if="operateType=='email'"><i class="iconfont icon-tubiao01"></i></span>
  68. <span class="areaBlock" v-if="operateType=='mobile'">
  69. <!-- <select v-model="area">
  70. <option :value="item.code" v-for="item in areaOptions">{{item.ch_name}}</option>
  71. </select> -->
  72. <el-select class="areaSelect" v-model="area" placeholder="">
  73. <el-option
  74. v-for="item in areaOptions"
  75. :key="item.code"
  76. :label="item.ch_name"
  77. :value="item.code">
  78. </el-option>
  79. </el-select>
  80. </span>
  81. <input class="input" v-model="loginParam.username" type="text" :placeholder="tipWord">
  82. </div>
  83. <!-- <div class="login-line">
  84. <span><i class="iconfont icon-mima"></i></span>
  85. <input class="input" v-model="loginParam.password" type="password" placeholder="请输入您的密码">
  86. </div> -->
  87. <div class="yanz-line">
  88. <input class="input" type="text" v-model="loginParam.password" placeholder="请输入验证码">
  89. <button v-if="codestate===0" @click="sendLoginCode()">发送验证码</button>
  90. <button :class="{bgGrey:codestate===1}" v-if="codestate===1">已发送{{secondNum}}</button>
  91. </div>
  92. <div class="tip-line">
  93. <span class="cursor" @click="toForgetPassWord()">忘记密码?</span>
  94. <div class="switch-box">
  95. <span class="cursor" @click="loginTab=0">立即注册!</span>
  96. </div>
  97. <!-- <p class="warning" v-show="">*该邮箱还未注册</p> -->
  98. </div>
  99. <div class="submit-line">
  100. <el-button class="loginBtn cursor" @click="gologin" :loading="buttonLoad">登录</el-button>
  101. </div>
  102. </div>
  103. </div>
  104. <!-- 手机找回密码 -->
  105. <div class="login-block" v-if="loginTab===2">
  106. <div class="contain">
  107. <h2>找回密码</h2>
  108. <h4>Retrieve password</h4>
  109. <!-- <div class="tab-box">
  110. <span :class='{active:operateType=="mobile"}' @click="operateType='mobile'">手机找回</span>
  111. <span :class='{active:operateType=="email"}' @click="operateType='email'">邮箱找回</span>
  112. </div> -->
  113. <div class="login-line" v-if="operateType=='email'">
  114. <span><i class="iconfont icon-tubiao01"></i></span>
  115. <input class="input" v-model="setParam.username" type="text" placeholder="请输入您的邮箱">
  116. </div>
  117. <div v-if="operateType=='mobile'">
  118. <div class="login-line">
  119. <span v-if="operateType=='email'"><i class="iconfont icon-tubiao01"></i></span>
  120. <span class="areaBlock" v-if="operateType=='mobile'">
  121. <el-select class="areaSelect" v-model="area" placeholder="">
  122. <el-option
  123. v-for="item in areaOptions"
  124. :key="item.code"
  125. :label="item.ch_name"
  126. :value="item.code">
  127. </el-option>
  128. </el-select>
  129. </span>
  130. <input class="input" type="text" v-model="setParam.username" :placeholder="tipWord">
  131. </div>
  132. <div class="yanz-line">
  133. <input class="input" type="text" v-model="setParam.resettoken" placeholder="请输入验证码">
  134. <button v-if="codestate===0" @click="pwdSend()" :loading="codeLoad">发送验证码</button>
  135. <button :class="{bgGrey:codestate===1}" v-if="codestate===1">已发送{{secondNum}}</button>
  136. </div>
  137. <div class="login-line">
  138. <span><i class="iconfont icon-mima"></i></span>
  139. <input class="input" type="password" v-model="setParam.password" placeholder="请输入您的新密码">
  140. <i class="iconfont icon-keyboard keyboradIcon"></i>
  141. </div>
  142. <div class="login-line">
  143. <span><i class="iconfont icon-mima"></i></span>
  144. <input class="input" type="password" v-model="setParam.password2" placeholder="请再次输入您的新密码">
  145. <i class="iconfont icon-keyboard keyboradIcon"></i>
  146. </div>
  147. </div>
  148. <div class="tip-line">
  149. <div class="switch-box">
  150. <span class="cursor" @click="loginTab=1">返回登录!</span>
  151. </div>
  152. <p class="warning" v-show="messageCodeisError">*短信验证码错误</p>
  153. </div>
  154. <div class="submit-line">
  155. <el-button class="loginBtn cursor" @click="" v-if="operateType=='email'" :loading="codeLoad">
  156. <span v-if="codestate===0" @click="pwdSend()">发送邮件</span>
  157. <span v-if="codestate===1">已发送{{secondNum}}</span>
  158. </el-button>
  159. <el-button class="loginBtn cursor" @click="reSetPwd" v-if="operateType=='mobile'" :loading="setLoad">修改密码</el-button>
  160. </div>
  161. </div>
  162. </div>
  163. <!-- 邮箱找回密码 -->
  164. <div class="login-block" v-if="loginTab===4">
  165. <div class="contain">
  166. <h2>找回密码</h2>
  167. <h4>Retrieve password</h4>
  168. <div class="login-line">
  169. <span><i class="iconfont icon-tubiao01"></i></span>
  170. <input class="input" v-model="setParam.username" type="text" placeholder="请输入您的邮箱">
  171. </div>
  172. <div class="tip-line">
  173. <div class="switch-box">
  174. <span class="cursor" @click="loginTab=1">返回登录!</span>
  175. </div>
  176. </div>
  177. <div class="submit-line">
  178. <el-button class="loginBtn cursor" @click="" v-if="operateType=='email'" :loading="codeLoad">
  179. <span v-if="codestate===0" @click="pwdSend()">发送邮件</span>
  180. <span v-if="codestate===1">已发送{{secondNum}}</span>
  181. </el-button>
  182. <el-button class="loginBtn cursor" @click="reSetPwd" v-if="operateType=='mobile'" :loading="setLoad">发送邮件</el-button>
  183. </div>
  184. </div>
  185. </div>
  186. <!-- 登录成功页面 -->
  187. <div class="login-block" v-if="loginTab===3">
  188. <div class="contain">
  189. <p class="user-msg">欢迎您,{{userInfo.base.username}}</p>
  190. <div class="whole-line">
  191. <button class="whole-btn cursor" @click="golink('/apply')">申请代理</button>
  192. <!-- <button class="whole-btn cursor" @click="golink('/tradecenter')">立即交易</button> -->
  193. </div>
  194. <div class="operate-line">
  195. <!-- <button class="deep cursor" @click="golink('/myassets')">充币</button>
  196. <button class="cursor" @click="golink('/myassets')">提币</button> -->
  197. </div>
  198. </div>
  199. </div>
  200. <el-dialog
  201. class="statement-box"
  202. title="FX66平台风险提示及免责声明"
  203. :visible.sync="dialogVisible">
  204. <publicWord></publicWord>
  205. <span slot="footer" class="dialog-footer">
  206. <el-button type="primary" @click="readSure()">我已阅读</el-button>
  207. </span>
  208. </el-dialog>
  209. </div>
  210. </template>
  211. <script>
  212. import {sublogion,sendEmail,sendCode,ajax,subloginup, getUserData,getcookie} from "../../assets/js/common.js"
  213. import bus from "../../assets/js/bus.js"
  214. import publicWord from "./public.vue"
  215. export default{
  216. data(){
  217. return{
  218. regLoad:false,
  219. buttonLoad:false,
  220. setLoad:false,
  221. codeLoad:false,
  222. dialogVisible:false,
  223. codestate:0,
  224. secondNum:60,
  225. reltime:"",
  226. loginTab:0,
  227. loginParam:{
  228. 'username':"",
  229. 'password':"",
  230. },
  231. regParam:{
  232. 'email':"",
  233. 'password':"",
  234. 'code':"",
  235. },
  236. setParam:{
  237. "username":"",
  238. 'password':"",
  239. "password2":"",
  240. "resettoken":"",
  241. },
  242. userInfo:{
  243. base:{}
  244. },
  245. operateType:"email",
  246. areaOptions:{},
  247. area:"86",
  248. gid:"",
  249. tipNeed:false,
  250. isRegisted:false,//邮箱是否已被注册
  251. isError:false, //手机号对不对
  252. messageCodeisError:false, //找回密码短信验证码错误
  253. }
  254. },
  255. components:{
  256. publicWord
  257. },
  258. computed:{
  259. tipWord:function(){
  260. let val="";
  261. if(this.operateType=="mobile"){
  262. val="请输入您的手机号码";
  263. }
  264. else{
  265. val="请输入您的邮箱";
  266. }
  267. return val;
  268. }
  269. },
  270. watch:{
  271. area(val){
  272. // console.log(val);
  273. },
  274. operateType(val){
  275. for(let x in this.loginParam){
  276. this.loginParam[x]="";
  277. }
  278. for(let x in this.regParam){
  279. this.regParam[x]="";
  280. }
  281. for(let x in this.setParam){
  282. this.setParam[x]="";
  283. }
  284. },
  285. loginTab(val){
  286. this.area="86";
  287. this.operateType="mobile";
  288. /*if(val!=2){
  289. this.operateType="mobile";
  290. }*/
  291. if(val===1){
  292. for(let x in this.loginParam){
  293. this.loginParam[x]="";
  294. }
  295. }
  296. if(val===0){
  297. for(let x in this.regParam){
  298. this.regParam[x]="";
  299. }
  300. }
  301. if(val==2){
  302. for(let x in this.setParam){
  303. this.setParam[x]="";
  304. }
  305. }
  306. }
  307. },
  308. mounted(){
  309. this.$nextTick(()=>{
  310. let token=getcookie("token");
  311. if(token){
  312. this.getUserInfo();
  313. this.loginTab=3;
  314. }
  315. else{
  316. this.loginTab=1;
  317. }
  318. bus.$on("goout",()=>{
  319. this.loginTab=1;
  320. });
  321. this.country();
  322. })
  323. },
  324. methods:{
  325. toForgetPassWord(){
  326. if(this.operateType=='mobile'){
  327. this.loginTab = 2;
  328. }else if(this.operateType=='email'){
  329. this.loginTab = 4;
  330. }
  331. },
  332. //正则表达式验证手机号码是否正确
  333. checkPhoneNumber(){
  334. if(!(/^1[3|5|7|8][0-9]\d{4,8}$/.test(this.regParam.email))&&this.regParam.email!=''){
  335. this.isError = true;
  336. return false;
  337. }else{
  338. this.isError = false;
  339. }
  340. },
  341. //重置密码
  342. reSetPwd(){
  343. if(this.setParam.resettoken==""){
  344. this.$notify({
  345. title: '提示',
  346. message: '验证码不能为空',
  347. type: 'warning',
  348. duration:'1500'
  349. })
  350. return false;
  351. }
  352. if(this.setParam.password==""){
  353. this.$notify({
  354. title: '提示',
  355. message: '请输入新密码',
  356. type: 'warning',
  357. duration:'1500'
  358. })
  359. return false;
  360. }
  361. if(this.setParam.password2==""){
  362. this.$notify({
  363. title: '提示',
  364. message: '请再次输入新密码',
  365. type: 'warning',
  366. duration:'1500'
  367. })
  368. return false;
  369. }
  370. if(this.setParam.password!=this.setParam.password2){
  371. this.$notify({
  372. title: '提示',
  373. message: '两次输入的密码不同',
  374. type: 'warning',
  375. duration:'1500'
  376. })
  377. return false;
  378. }
  379. let postdata = {
  380. resettoken:this.setParam.resettoken,
  381. password:this.setParam.password,
  382. password2:this.setParam.password2,
  383. os:"web",
  384. type:"sms",
  385. };
  386. this.setLoad=true;
  387. ajax(this,this.extendApi.resetPwd,postdata,(data)=>{
  388. this.setLoad=false;
  389. if(data.code==200){
  390. this.$notify({
  391. title: '提示',
  392. message: '修改密码成功,请使用新密码登录',
  393. type: 'success',
  394. duration:'1500'
  395. });
  396. this.loginTab=1;
  397. this.messageCodeisError = false;
  398. }else if(data.code==1024){ //该状态码为 验证码错误
  399. this.messageCodeisError = true;
  400. }
  401. },'post');
  402. },
  403. //发送验证码
  404. pwdSend(){
  405. if(this.setParam.username==""){
  406. this.$notify({
  407. title: '提示',
  408. message: this.tipWord,
  409. type: 'warning',
  410. duration:'1500'
  411. })
  412. return false;
  413. }
  414. let param={
  415. os:'web'
  416. };
  417. if(this.operateType=='email'){
  418. param.email=this.setParam.username;
  419. param.type="email";
  420. }
  421. else{
  422. param.mobile=this.setParam.username;
  423. param.area=this.area;
  424. param.type="sms";
  425. };
  426. this.codeLoad=true;
  427. ajax(this,this.extendApi.pwdSend,param,(data)=>{
  428. this.codeLoad=false;
  429. if(data.code==200){
  430. this.codestate=1;
  431. this.secondNum=60;
  432. clearInterval(this.reltime);
  433. this.reltime=setInterval(()=>{
  434. this.secondNum--;
  435. if(this.secondNum==0){
  436. clearInterval(this.reltime);
  437. this.codestate=0;
  438. this.secondNum=60;
  439. }
  440. }, 1000);
  441. }
  442. },'post');
  443. },
  444. readSure(){
  445. this.dialogVisible = false;
  446. this.tipNeed=true;
  447. },
  448. // 获取国家
  449. country(){
  450. ajax(this,this.extendApi.phoneCountry,'',(res)=>{
  451. if(res.code == 200){
  452. this.areaOptions = res.data;
  453. }
  454. },'GET');
  455. },
  456. golink(val){
  457. this.$router.push({path:val});
  458. },
  459. //注册时~发送验证码
  460. sendCode(){
  461. if(this.regParam.email==""){
  462. this.$notify({
  463. title: '提示',
  464. message: this.tipWord,
  465. type: 'warning',
  466. duration:'1500'
  467. })
  468. return false;
  469. };
  470. let param={};
  471. if(this.operateType=='email'){
  472. param={
  473. codetype:'validate',
  474. vparam:"FzmDateTime|FzmRandom",
  475. email:this.regParam.email
  476. };
  477. sendEmail(this,param,(data)=>{});
  478. }
  479. else{
  480. param={
  481. codetype:'validate',
  482. vparam:"FzmRandom",
  483. mobile:this.regParam.email,
  484. area:this.area
  485. };
  486. sendCode(this,param,(data)=>{});
  487. }
  488. },
  489. //登录时~发送验证码
  490. sendLoginCode(){
  491. if(this.loginParam.username==""){
  492. this.$notify({
  493. title: '提示',
  494. message: this.tipWord,
  495. type: 'warning',
  496. duration:'1500'
  497. })
  498. return false;
  499. };
  500. let param={};
  501. if(this.operateType=='email'){
  502. param={
  503. codetype:'validate',
  504. vparam:"FzmDateTime|FzmRandom",
  505. email:this.loginParam.username
  506. };
  507. sendEmail(this,param,(data)=>{});
  508. }
  509. else{
  510. param={
  511. codetype:'validate',
  512. vparam:"FzmRandom",
  513. mobile:this.loginParam.username,
  514. area:this.area
  515. };
  516. sendCode(this,param,(data)=>{});
  517. }
  518. },
  519. //注册按钮
  520. goreg(){
  521. if(this.regParam.email==""){
  522. this.$notify({
  523. title: '提示',
  524. message: this.tipWord,
  525. type: 'warning',
  526. duration:'1500'
  527. })
  528. return false;
  529. };
  530. if(this.regParam.code==""){
  531. this.$notify({
  532. title: '提示',
  533. message: '验证码不能为空',
  534. type: 'warning',
  535. duration:'1500'
  536. })
  537. return false;
  538. };
  539. if(this.regParam.password==""){
  540. this.$notify({
  541. title: '提示',
  542. message: '密码不能为空',
  543. type: 'warning',
  544. duration:'1500'
  545. })
  546. return false;
  547. };
  548. if(this.tipNeed==false){
  549. this.$notify({
  550. title: '提示',
  551. message: '请阅读风险提示',
  552. type: 'warning',
  553. duration:'1500'
  554. })
  555. return false;
  556. }
  557. let param={};
  558. if(this.operateType=="email"){
  559. param={
  560. 'email':this.regParam.email,
  561. 'password':this.regParam.password,
  562. 'code':this.regParam.code,
  563. 'type':"email",
  564. "checkmethod":"data",
  565. };
  566. }
  567. else{
  568. param={
  569. mobile:this.regParam.email,
  570. password:this.regParam.password,
  571. code:this.regParam.code,
  572. checkmethod:"data",
  573. type:"sms",
  574. area:this.area,
  575. };
  576. }
  577. this.regLoad=true;
  578. subloginup(this,param,(data)=>{
  579. this.regLoad=false;
  580. if(data.code==200){
  581. this.gologin('reg');
  582. this.isRegisted = false;
  583. }else if(data.code == 1001){ //code=1001 代表该邮箱已被注册
  584. this.isRegisted = true;
  585. }
  586. })
  587. },
  588. //登录按钮
  589. gologin(state){
  590. if(state!='reg'){
  591. if(this.loginParam.username===""){
  592. this.$notify({
  593. title: '提示',
  594. message:this.tipWord,
  595. type: 'warning',
  596. duration:'1500'
  597. })
  598. return false;
  599. }
  600. if(this.loginParam.password===""){
  601. this.$notify({
  602. title: '提示',
  603. message: '密码不能为空',
  604. type: 'warning',
  605. duration:'1500'
  606. })
  607. return false;
  608. }
  609. }
  610. let param={
  611. 'redirect_uri':'http://33.cn',
  612. 'os':'web',
  613. };
  614. if(this.operateType=='mobile'){
  615. param.type="sms";
  616. param.area=this.area;
  617. if(state=='reg'){
  618. param.password=this.regParam.password;
  619. param.mobile=this.regParam.email;
  620. }
  621. else{
  622. param.password=this.loginParam.password;
  623. param.mobile=this.loginParam.username;
  624. }
  625. }
  626. else{
  627. param.type="email";
  628. if(state=='reg'){
  629. param.password=this.regParam.password;
  630. param.email=this.regParam.email;
  631. }
  632. else{
  633. param.password=this.loginParam.password;
  634. param.email=this.loginParam.username;
  635. }
  636. }
  637. this.buttonLoad=true;
  638. sublogion(this,'index',param,(data)=>{
  639. this.buttonLoad=false;
  640. if(data.code==200){
  641. this.$router.push("/index");
  642. }
  643. });
  644. },
  645. getUserInfo(){
  646. getUserData(this,(data)=>{
  647. this.userInfo.base=data.data.base;
  648. sessionStorage.setItem("username",data.data.base.username);
  649. bus.$emit("login","h1");
  650. });
  651. },
  652. }
  653. }
  654. </script>
  655. <style>
  656. .home-wrap{
  657. width: 1200px;
  658. margin: 0 auto;
  659. position:absolute;
  660. left: 50%;
  661. margin-left: -600px;
  662. top: 0;
  663. margin-top: 180px;
  664. .cursor{
  665. cursor: pointer;
  666. }
  667. .login-block{
  668. width: 390px;
  669. background-color: rgba(255,255,255,0.4);
  670. padding: 15px;
  671. position: absolute;
  672. right: 0;
  673. top: 0;
  674. z-index:50;
  675. .areaSelect{
  676. .el-input .el-input__icon{
  677. font-size: 8px !important;
  678. right: 2px;
  679. width: 14px;
  680. }
  681. input{
  682. padding: 0;
  683. padding-left: 4px;
  684. padding-right: 14px;
  685. font-size: 12px;
  686. border: none;
  687. }
  688. }
  689. .areaBlock{
  690. select{
  691. width: 100%;
  692. height: 96%;
  693. border: none;
  694. }
  695. }
  696. .tab-box{
  697. border-bottom: 2px solid #e5e5e5;
  698. margin-bottom: 30px;
  699. span{
  700. display: inline-block;
  701. font-size: 20px;
  702. color: #333;
  703. width: 110px;
  704. padding-bottom: 20px;
  705. cursor: pointer;
  706. }
  707. span.active{
  708. border-bottom: 2px solid #1a6fa6;
  709. margin-bottom: -2px;
  710. }
  711. }
  712. .user-msg{
  713. font-size: 25px;
  714. color: #1a6fa6;
  715. }
  716. .whole-line{
  717. margin-top: 50px;
  718. }
  719. .operate-line{
  720. padding-bottom: 50px;
  721. font-size: 0;
  722. button{
  723. width: 150px;
  724. height: 50px;
  725. font-size: 18px;
  726. line-height: 50px;
  727. background-color: transparent;
  728. border: 1px solid #d2d2d2;
  729. }
  730. button+button{
  731. margin-left: 20px;
  732. }
  733. .deep{
  734. background-color: #1a6fa6;
  735. color: #fff;
  736. }
  737. }
  738. .whole-btn{
  739. width: 100%;
  740. height: 50px;
  741. line-height: 50px;
  742. border:1px solid #d2d2d2;
  743. background-color: transparent;
  744. margin-bottom: 20px;
  745. font-size: 18px;
  746. }
  747. .contain{
  748. background-color: #fff;
  749. padding: 50px 20px 0 20px;
  750. color: #333;
  751. h2{
  752. font-size: 30px;
  753. line-height: 1;
  754. }
  755. h4{
  756. line-height: 1;
  757. font-size: 16px;
  758. color: #b0b0b0;
  759. margin-top: 7px;
  760. margin-bottom: 23px;
  761. }
  762. .login-line{
  763. position: relative;
  764. width: 310px;
  765. height: 50px;
  766. line-height: 50px;
  767. margin: 0 auto;
  768. border:1px solid #dcdcdc;
  769. text-align: left;
  770. margin-bottom: 10px;
  771. span{
  772. display: inline-block;
  773. width: 50px;
  774. height: 50px;
  775. text-align: center;
  776. border-right: 1px solid #dcdcdc;
  777. i{
  778. font-size: 24px;
  779. color: #ccc;
  780. }
  781. }
  782. .input{
  783. position: absolute;
  784. margin-top: 10px;
  785. padding-left: 10px;
  786. line-height: 30px;
  787. border:0;
  788. font-size: 14px;
  789. width: 250px;
  790. }
  791. .keyboradIcon{
  792. font-size: 30px;
  793. color: #B4B4B4;
  794. position: absolute;
  795. left: 270px;
  796. top: 0px;
  797. }
  798. }
  799. /* .input:focus .login-line{
  800. border: 1px solid #235ADA;
  801. } */
  802. .yanz-line{
  803. width: 310px;
  804. height: 50px;
  805. line-height: 50px;
  806. margin: 0 auto;
  807. text-align: left;
  808. margin-bottom: 10px;
  809. input{
  810. border:1px solid #dcdcdc;
  811. height: 50px;
  812. /*position: absolute;*/
  813. /*width: 250px;*/
  814. padding-left: 10px;
  815. line-height: 30px;
  816. font-size: 14px;
  817. }
  818. button{
  819. width: 130px;
  820. height: 50px;
  821. background: #ffe366;
  822. border: 0;
  823. position: absolute;
  824. /*margin-top: -2px;*/
  825. margin-left: 10px;
  826. font-size: 14px;
  827. color: #666;
  828. cursor: pointer;
  829. }
  830. .bgGrey{
  831. background-color: #eee;
  832. }
  833. }
  834. .tip-line{
  835. width: 310px;
  836. margin: 0 auto;
  837. margin-top: 10px;
  838. margin-bottom: 26px;
  839. text-align: left;
  840. line-height: 1;
  841. /* display: flex; */
  842. align-items: center;
  843. justify-content: space-between;
  844. font-size: 14px;
  845. input{
  846. margin-right: 10px;
  847. }
  848. i{
  849. color: #1a6fa6;
  850. cursor: pointer;
  851. font-style: normal;
  852. }
  853. .switch-box{
  854. /* flex:1; */
  855. display: inline-block;
  856. float: right;
  857. span{
  858. color: #1a6fa6;
  859. }
  860. }
  861. .warning{
  862. color:red;
  863. padding-top:10px;
  864. }
  865. }
  866. .submit-line{
  867. padding-bottom: 30px;
  868. font-size: 0;
  869. button{
  870. width: 150px;
  871. height: 50px;
  872. font-size: 18px;
  873. background-color: #1a6fa6;
  874. border: 0;
  875. color: #fff;
  876. border-radius: 0;
  877. }
  878. button+button{
  879. margin-left: 10px;
  880. }
  881. /*.loginBtn{
  882. }
  883. .regBtn{
  884. }*/
  885. }
  886. }
  887. }
  888. }
  889. </style>