replace.php 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>更换管理员</title>
  6. <link href="/css/admin/style.css?version=<?= $this->context->version ?>" rel="stylesheet" type="text/css">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui" />
  9. <meta name="apple-mobile-web-app-capable" content="yes" />
  10. <meta name="format-detection" content="telephone=no, email=no" />
  11. <link rel="stylesheet" href="/css/bootstrap.css?version=<?= $this->context->version ?>">
  12. <script src="/js/jquery-1.11.1.min.js?version=<?= $this->context->version ?>"></script>
  13. <style>
  14. label{
  15. font-weight:normal;
  16. }
  17. .xhMask{
  18. position:fixed;
  19. left:0;top:0;
  20. width:100%;
  21. height:100%;
  22. z-index:99;
  23. background-color:gray;
  24. filter:alpha(opacity=50);
  25. opacity:0.5;
  26. display:none;
  27. }
  28. .xhPop{
  29. position:fixed;
  30. width:20%;
  31. font-size:12px;
  32. height:auto;
  33. background:wheat;
  34. padding:10px;
  35. z-index:9999;
  36. display:none;
  37. width:160px;
  38. text-align:center;
  39. }
  40. .xhBeCenterBox{
  41. position:fixed;
  42. width:80%;
  43. height:auto;
  44. background:#DBE4EB;
  45. display:none;
  46. border-radius:2px;
  47. z-index:999;
  48. }
  49. .xhCenterModal{
  50. background-color: #8dc63f;
  51. border-color: #8dc63f;
  52. color: #ffffff;
  53. position:fixed;
  54. width:20%;
  55. font-size:12px;
  56. height:auto;
  57. padding:15px;
  58. z-index:999;
  59. display:none;
  60. width:180px;
  61. text-align:center;
  62. border-radius:4px;
  63. }
  64. </style>
  65. </head>
  66. <body>
  67. <div name="xhTempModal" style="background-color: #8dc63f;border-radius:2px;border-color: #8dc63f;color: #ffffff;position:fixed;width:20%;font-size:12px;height:auto;padding:15px;z-index:9999;display:none;width:180px;text-align:center;" ></div>
  68. <div name="xhCenterModal" class="xhCenterModal"></div>
  69. <div class="panel panel-default" style="border:none;-webkit-box-shadow:none;">
  70. <div class="panel-body" style="margin-top:15px;">
  71. <form role="form">
  72. <div class="form-group">
  73. <label class="col-sm-2 control-label" for="field-1">*原管理员:</label>
  74. <div class="col-sm-10">
  75. <input type="text" class="form-control" name="userName" value="<?= $preAdmin['adminName'] ?>" disabled placeholder="">
  76. <p></p>
  77. </div>
  78. </div>
  79. <div class="form-group">
  80. <label class="col-sm-2 control-label">*手机号:</label>
  81. <div class="col-sm-10">
  82. <input type="tel" class="form-control" name="relateMobile" value="<?= $preAdmin['mobile'] ?>" disabled placeholder="">
  83. <p></p>
  84. </div>
  85. </div>
  86. <div class="form-group">
  87. <label class="col-sm-2 control-label">*验证码:</label>
  88. <div class="col-sm-10">
  89. <input type="tel" class="form-control" name="relateAuthCode" placeholder="" style="width:30%;display:inline">
  90. <button type="button" name="createAuthCode" getMobileMsgStatus="yes" class="btn btn-info btn-single">
  91. <span name="getAuthCodeText">获取验证码</span>
  92. <span style="display:none;font-size:12px;" name="reGetAuthCode"><i style="font-size:12px;font-style:normal;">120</i> 秒后重新获取</span>
  93. </button>
  94. <p name="authHint"></p>
  95. </div>
  96. </div>
  97. <div class="form-group-separator"></div>
  98. <div class="form-group" style="text-align:center;">
  99. <button type="button" onclick="relateSubmit('click',this)" class="btn btn-info btn-single">下一步</button>
  100. </div>
  101. </form>
  102. </div>
  103. </div>
  104. <script src="/js/util.js?version=<?= $this->context->version ?>"></script>
  105. <script>
  106. var relateAuthCode = $("input[name=relateAuthCode]");
  107. var relateMobile = $(":input[name=relateMobile]");
  108. var relateCheck = [relateAuthCode];
  109. relateSubmit();
  110. function relateSubmit()
  111. {
  112. setRelateStats(relateAuthCode, '请填写验证码', function(val, mess){
  113. var info=[false, mess];
  114. if(val.length <= 0){
  115. info[1] = '请填写验证码';
  116. }else if(val.length > 0){
  117. $.ajax({type:"GET",url:"/admin/check-relace-admin-generate-code?authCode="+val+"&account=<?= $this->context->merchant['id'] ?>",dataType:'json',async:false,success:function(data){
  118. if(data.code == 'A0001'){
  119. info[0] = true;
  120. }else{
  121. info[1] = data.msg;
  122. }
  123. }});
  124. }else{
  125. info[0] = false;
  126. }
  127. return info;
  128. });
  129. if(arguments[0] == 'click'){
  130. var submitButton = arguments[1];//获取提交按钮对象
  131. var submitButtonObj = $(submitButton);
  132. if(submitButtonObj.attr('submitStatus') == 'yes'){
  133. xhPopMsg('请稍候……',1000);
  134. return;
  135. }
  136. submitButtonObj.attr('submitStatus','yes');
  137. setTimeout(function(){
  138. submitButtonObj.attr('submitStatus','no');
  139. },2000);
  140. var relateSubmitStatus = true;
  141. for(var om=0;om<relateCheck.length;om++){
  142. var singleObj = relateCheck[om]
  143. if(singleObj.attr('relateInputStatus') == undefined){
  144. singleObj.blur();
  145. }
  146. if(singleObj.attr('relateInputStatus') == 'no'){
  147. relateSubmitStatus = false;
  148. }
  149. }
  150. if(relateSubmitStatus == false){
  151. return;
  152. }
  153. xhPopMsg('请稍候…');
  154. var replaceAdminAuthCode = relateAuthCode.val();
  155. setTimeout(function(){
  156. window.location.href = '/admin/exec-replace?replaceAdminAuthCode='+replaceAdminAuthCode+'&account=<?= $this->context->merchant['id'] ?>';
  157. },800);
  158. }
  159. }
  160. function setRelateStats(obj,mess,check)
  161. {
  162. obj.focus(function(){
  163. $(this).removeAttr('relateInputStatus');
  164. $(this).siblings('p').html('');
  165. });
  166. obj.blur(function(){
  167. var objVal = obj.val();
  168. var info = check(objVal,mess);
  169. if(info[0]){
  170. $(this).attr('relateInputStatus','yes');
  171. }else{
  172. $(this).attr('relateInputStatus','no');
  173. $(this).siblings('p').css("color","red").html(info[1]);
  174. }
  175. });
  176. }
  177. var createAuthCode = $("button[name=createAuthCode]");
  178. var getAuthCodeText = $("span[name=getAuthCodeText]");
  179. var reGetAuthCode = $("span[name=reGetAuthCode]");
  180. //获取手机验证码
  181. createAuthCode.click(function(){
  182. $("p[name=authHint]").html('');
  183. if(createAuthCode.attr('getMobileMsgStatus') == 'yes'){
  184. $.ajax({type:"GET",url:"/admin/relace-admin-generate-code?account=<?= $this->context->merchant['id'] ?>",dataType:'json',async:false,success:function(data){
  185. if(data.code == 'A0001'){
  186. createAuthCode.attr('getMobileMsgStatus','no');
  187. getAuthCodeText.css("display","none");
  188. reGetAuthCode.css("display","block").parent().css("background-color","#CCCCCC").css("border-color","#CCCCCC");
  189. var timeI = reGetAuthCode.find('i')
  190. var orTime = timeI.text();
  191. var timeNum = parseInt(timeI.text());
  192. var setInt = setInterval(function(){
  193. timeNum--;
  194. timeI.text(timeNum);
  195. if(timeNum == 0){
  196. clearInterval(setInt);
  197. getAuthCodeText.css('display','block').parent().css("background-color","#18a8df").css("border-color","#1590be");
  198. reGetAuthCode.css('display','none');
  199. timeI.text(orTime);
  200. createAuthCode.attr('getMobileMsgStatus','yes');
  201. }
  202. },1200);
  203. }else{
  204. $("p[name=authHint]").css("color","red").html(data.msg);
  205. }
  206. }});
  207. }
  208. });
  209. </script>
  210. </body>
  211. </html>