register.html 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>注册</title>
  6. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  7. <link href="../../css/mui.min.css" rel="stylesheet" />
  8. <link href="../../css/animate.min.css" rel="stylesheet" />
  9. <style>
  10. .lg {padding: 35px;margin-top: 10px;text-align: center;}
  11. .fq{padding: 0px 30px 20px 30px;}
  12. .input-group{height: auto;}
  13. .input-group i{margin: 11px 0px 10px 5px;font-size: 18px;}
  14. .input-group input{padding: 10px 11px 11px 35px;}
  15. .code{position: absolute;right: 0;top: 0;margin-top: 10px;margin-right: 12px;font-size: 12px;color: #fe580a;font-weight: bold;}
  16. .qy{color: darkgray;text-align: left;font-size: 12px;}
  17. img{max-width: 80px;border-radius: 7px;padding-top: 5px;}
  18. .btn{margin-top: 25px;}
  19. .divider{margin-top: 50px;}
  20. .register{margin-top: 50px;color: darkgray;font-size: 13px;}
  21. </style>
  22. </head>
  23. <body>
  24. <header class="mui-bar mui-bar-nav">
  25. <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
  26. <h1 class="mui-title">注册</h1>
  27. </header>
  28. <div class="mui-content" id="app">
  29. <div class="lg animated bounceIn">
  30. <div class="fq">
  31. <div class="mui-segmented-control">
  32. <a class="mui-control-item mui-active" id="0">个人用户</a>
  33. <a class="mui-control-item" id="1">企业用户</a>
  34. </div>
  35. </div>
  36. <div class="input-group">
  37. <i class="icon">&#xe641;</i>
  38. <input type="tel" placeholder="手机号" v-model="item.account" />
  39. </div>
  40. <div class="input-group">
  41. <i class="icon">&#xe63a;</i>
  42. <input type="password" placeholder="密码" v-model="item.password" />
  43. </div>
  44. <div class="input-group">
  45. <i class="icon">&#xe63a;</i>
  46. <input type="password" placeholder="重复密码" v-model="item.again" />
  47. </div>
  48. <div class="input-group">
  49. <i class="icon">&#xe7a1;</i>
  50. <input type="tel" placeholder="验证码" v-model="item.code" />
  51. <span class="code" @click.stop="sendMessage()">{{msg}}</span>
  52. </div>
  53. <div class="input-group" v-if="item.mType==1">
  54. <i class="icon">&#xe724;</i>
  55. <input type="text" placeholder="企业名称" v-model="item.company"/>
  56. </div>
  57. <div class="qy" v-if="item.mType==1">
  58. <div class="qy">上传营业执照(需审核)</div>
  59. <a href="#picture"><img :src="item.fj==''?'../../images/zz.png':item.fj" /></a>
  60. </div>
  61. <button class="btn" @click="register()">立即注册</button>
  62. <div class="xy" @click="xy()">服务协议</div>
  63. <div class="divider">
  64. <div class="line" style="width: 30%;"></div>
  65. <div class="text" style="width: 40%;">已有账号?</div>
  66. <div class="line" style="width: 30%;"></div>
  67. <div class="clear"></div>
  68. </div>
  69. <div class="mui-action-back register" @click="register()">去登录</div>
  70. </div>
  71. <!--选择照片-->
  72. <div id="picture" class="mui-popover mui-popover-action mui-popover-bottom">
  73. <ul class="mui-table-view">
  74. <li class="mui-table-view-cell" @click="takePhoto()"><a>拍照</a></li>
  75. <li class="mui-table-view-cell" @click="pickImg()"><a>选取现有</a></li>
  76. </ul>
  77. <ul class="mui-table-view">
  78. <li class="mui-table-view-cell" style="color: red;"><a href="#picture"><b>取消</b></a></li>
  79. </ul>
  80. </div>
  81. </div>
  82. <script src="../../js/mui.min.js"></script>
  83. <script src="../../js/app.js"></script>
  84. <script src="../../js/vue.min.js"></script>
  85. <script type="text/javascript">
  86. var time = 60; //1分钟倒计时
  87. var vm = new Vue({
  88. el: "#app",
  89. data: {
  90. flag:true,
  91. msg: '发送验证码',
  92. item: {account: '',password: '',again:'',mType: 0,company:'',fj:'',code:''}
  93. },
  94. methods: {
  95. //发送验证码
  96. sendMessage: function() {
  97. if(!isPhone(vm.item.account)) {mui.toast("手机格式不正确");return;}
  98. if(vm.flag == false) {return;}
  99. request(urls().sendMessage, {phone: vm.item.account},function(res) {
  100. if(res.result == true) {
  101. mui.toast("发送成功");
  102. //一分钟倒计时
  103. var countdown = setInterval(function() {
  104. time--;
  105. if(time == 0) {
  106. vm.flag = true;
  107. vm.msg = '发送验证码';
  108. time = 60;
  109. clearInterval(countdown);
  110. } else {
  111. vm.flag = false;
  112. vm.msg = '重新获取(' + time + ')';
  113. }
  114. }, 1000)
  115. } else {
  116. mui.toast(res.msg);
  117. }
  118. plus.nativeUI.closeWaiting();
  119. })
  120. },
  121. //拍照
  122. takePhoto: function() {
  123. takePhoto(function(path) {
  124. plus.io.resolveLocalFileSystemURL(path, function(entry) {
  125. vm.compress(entry.toLocalURL());
  126. });
  127. })
  128. },
  129. //选取照片
  130. pickImg: function() {
  131. pickImg(function(p) {
  132. vm.compress(p.files[0]);
  133. }, 1);
  134. },
  135. //图片压缩上传
  136. compress: function(path) {
  137. compress(function(c) {
  138. upload(urls().uploadFj,path,function(res) {
  139. plus.nativeUI.closeWaiting();
  140. var res=JSON.parse(res.responseText);
  141. vm.item.fj=urls().path+res.url;
  142. });
  143. }, path, '75%');
  144. },
  145. //服务协议
  146. xy:function(){
  147. open('agreement', '/pages/other/service.html', {url:urls().agreement,id: 'tpp',title: '党建扶贫APP协议'}, 'slide-in-bottom');
  148. },
  149. //注册
  150. register: function() {
  151. if(this.item.account=='') {mui.toast("输入手机号");return;}
  152. if(this.item.password=='') {mui.toast("输入密码");return;}
  153. request(urls().register,this.item, function(res) {
  154. if(res.result == true) {
  155. mui.toast("注册成功");
  156. mui.back();
  157. } else {
  158. mui.alert(res.msg);
  159. }
  160. plus.nativeUI.closeWaiting();
  161. })
  162. }
  163. }
  164. })
  165. mui('body').on('tap', '.mui-control-item', function(e) {
  166. vm.item.mType = e.target.id;
  167. })
  168. </script>
  169. </body>
  170. </html>