login_org.blade.php 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373
  1. @extends('module.layouts.empty')
  2. @push('meta')
  3. @endpush
  4. @push('css')
  5. <link href="{{ theme_asset('app/css/login.css') }}" rel="stylesheet">
  6. @endpush
  7. @push('js')
  8. <script type="text/javascript" src="{{ theme_asset('gt/gt.js') }}"></script>
  9. <script type="text/javascript" src="{{ theme_asset('gt/gt.handle.js') }}"></script>
  10. @endpush
  11. @section('content')
  12. <div class="login-box">
  13. <div class="login-logo"><a href="{{route('jkq.home')}}"><img src="{{upload_asset(subsite_config('aix.system.site.site.logo'))}}" alt="logo"/></a></div>
  14. <!--机构会员登录-->
  15. <div class="login-box-com-body">
  16. <div class="login-box-header">
  17. <p class="gohome" onclick="window.location.href='{{route('jkq.home')}}'">返回首页</p>
  18. <p class="header-title">机构会员登录</p>
  19. </div>
  20. <div class="login-form">
  21. <div class="form-l">
  22. <div class="user-login">
  23. <form id="form_org" action="{{route('jkq.login.org')}}" method="post">
  24. {{ csrf_field() }}
  25. <div id="org_account"></div>
  26. <div id="message_org"></div>
  27. <div class="form-group yhm">
  28. <div class="imgbg"></div>
  29. <input class="input-login" type="text" value="" name="org_account" placeholder="请输入用户名"/>
  30. </div>
  31. <div id="org_password"></div>
  32. <div class="form-group mm">
  33. <div class="imgbg"></div>
  34. <input class="input-login" type="password" value="" name="org_password" placeholder="请输入密码"/>
  35. </div>
  36. <div class="txt-group">
  37. <input type="checkbox" name="autoLogin" value="1" checked />
  38. <span class="check-box yes" onclick="checkAutoLogin(this)">下次自动登录</span>
  39. <a class="txt-r" href="{{route('jkq.password.request')}}" >忘记密码?</a>
  40. </div>
  41. <div >
  42. <input class="btn-group login-org" type="button" value="登录">
  43. </div>
  44. </form>
  45. </div>
  46. <div class="reg-link-box">
  47. 还没有账号?<a class="reg-txt" href="{{route('jkq.register.org')}}">立刻注册</a>
  48. </div>
  49. </div>
  50. <div class="clear"></div>
  51. </div>
  52. </div>
  53. <div class="bottom-pic" style="display: none;">
  54. <img src="{{theme_asset('app/images/login/login_bottom_pic.png')}}" class="bottom-pic"/>
  55. </div>
  56. </div>
  57. @endsection
  58. @section('script')
  59. @include('module.widgets.thirdlogin')
  60. <script>
  61. $(function () {
  62. var is_need_geetest=0;//全局,是否使用极验.
  63. var login_type=1;//登录模式,1用户账号登录,2用户手机登录,3机构登录.
  64. var gt_call_back=function(captchaObj) {
  65. captchaObj.onReady(function () {
  66. //极验加载完成
  67. });
  68. captchaObj.onSuccess(function () {
  69. ajax_login(login_type,captchaObj);
  70. });
  71. captchaObj.onError(function () {
  72. show_error(login_type,"请先进行验证");
  73. });
  74. captchaObj.onClose(function () {
  75. show_error(login_type,"请先进行验证");
  76. });
  77. $('.login-account').on('click', function () {
  78. login_type=1;
  79. //clean_message();
  80. if (is_need_geetest==1){
  81. captchaObj.bindForm("#form_account");
  82. captchaObj.verify();
  83. }
  84. else{
  85. ajax_login(login_type,captchaObj);
  86. }
  87. });
  88. $('.login-mobile').on('click', function () {
  89. login_type=2;
  90. //clean_message();
  91. if (is_need_geetest==1){
  92. captchaObj.bindForm("#form_mobile");
  93. captchaObj.verify();
  94. }
  95. else{
  96. ajax_login(login_type,captchaObj);
  97. }
  98. });
  99. $('.login-org').on('click', function () {
  100. login_type=3;
  101. //clean_message();
  102. if (is_need_geetest==1){
  103. captchaObj.bindForm("#form_org");
  104. captchaObj.verify();
  105. }
  106. else{
  107. ajax_login(login_type,captchaObj);
  108. }
  109. });
  110. };
  111. gt_init(gt_call_back);//初始化极验
  112. $(".input-login").keydown(function(ev){
  113. ev = ev || window.event;
  114. var code = (ev.keyCode || ev.which);
  115. if (code == 10 || code == 13) {
  116. $(this).closest("form").find(".btn-group").click();
  117. }
  118. });
  119. $(".switch-title span").click(function () {
  120. var index = $(this).index();
  121. $(this).addClass("active").siblings("span").removeClass("active");
  122. $(".login-type").eq(index).show().siblings(".login-type").hide();
  123. });
  124. $('.btn-getcode').on('click', function () {
  125. submit_data={
  126. "mobile":$("input[name='mobile']").val(),
  127. "type":"login"
  128. };
  129. $.ajax({
  130. method: 'post',
  131. url: '{{route('sms.send')}}',
  132. data: submit_data,
  133. beforeSend:function () {
  134. // console.log('请求开始');
  135. $(".errinfo").text("");
  136. $(".errinfo").removeClass("errinfo");
  137. },
  138. complete:function() {
  139. console.log('请求结束');
  140. },
  141. success: function (data) {
  142. // console.log(data);
  143. $("#message_mobile").addClass("successinfo");
  144. $("#message_mobile").text("发送成功,请注意查收");
  145. settime();
  146. },
  147. error: function (errorData) {
  148. // console.log(errorData);
  149. if (errorData.status==422) {//验证错误
  150. $.each(errorData.responseJSON.errors,function (key,val) {
  151. $("#"+key).addClass("errinfo");
  152. $("#"+key).text(val[0]);
  153. });
  154. }
  155. else if(errorData.status==400) {//业务错误
  156. $("#message_mobile").addClass("errinfo");
  157. $("#message_mobile").text(errorData.responseJSON.message);
  158. }
  159. }
  160. });
  161. });
  162. function ajax_login(type, captchaObj) {
  163. if (type==1) {
  164. $.ajax({
  165. method: 'post',
  166. url: $("#form_account").attr('action'),
  167. data: $("#form_account").serialize(),
  168. beforeSend:function () {
  169. //console.log('请求开始');
  170. clean_message();
  171. $('.login-account').addClass("btn-disabled").prop('disabled', true);
  172. $('.login-account').val("登录中...");
  173. },
  174. complete:function() {
  175. //console.log('请求结束');
  176. $('.login-account').val("登录");
  177. $('.login-account').removeClass("btn-disabled").prop('disabled', false);
  178. },
  179. success: function (data) {
  180. //console.log(data);
  181. $("#message_account").addClass("successinfo");
  182. $("#message_account").text("登录成功, 正在跳转...");
  183. location.href=data.data.redirect_url;
  184. },
  185. error: function (errorData) {
  186. if (is_need_geetest==1){
  187. captchaObj.reset();
  188. }
  189. if (errorData.status==422) {//验证错误
  190. $.each(errorData.responseJSON.errors,function (key,val) {
  191. $("#"+key).addClass("errinfo");
  192. $("#"+key).text(val[0]);
  193. });
  194. }
  195. else if(errorData.status==400) {//业务错误
  196. $("#message_account").addClass("errinfo");
  197. $("#message_account").text(errorData.responseJSON.message);
  198. is_need_geetest=errorData.responseJSON.errors.is_need_geetest;
  199. }
  200. }
  201. });
  202. }
  203. else if (type==2) {
  204. $.ajax({
  205. method: 'post',
  206. url: $("#form_mobile").attr('action'),
  207. data: $("#form_mobile").serialize(),
  208. beforeSend:function () {
  209. //console.log('请求开始');
  210. clean_message();
  211. $('.login-mobile').addClass("btn-disabled").prop('disabled', true);
  212. $('.login-mobile').val("登录中...");
  213. },
  214. complete:function() {
  215. //console.log('请求结束');
  216. $('.login-mobile').val("登录");
  217. $('.login-mobile').removeClass("btn-disabled").prop('disabled', false);
  218. },
  219. success: function (data) {
  220. //console.log(data);
  221. $("#message_mobile").addClass("successinfo");
  222. $("#message_mobile").text("登录成功, 正在跳转...");
  223. location.href=data.data.redirect_url;
  224. },
  225. error: function (errorData) {
  226. //console.log(errorData);
  227. if (is_need_geetest==1){
  228. captchaObj.reset();
  229. }
  230. if (errorData.status==422) {//验证错误
  231. $.each(errorData.responseJSON.errors,function (key,val) {
  232. $("#"+key).addClass("errinfo");
  233. $("#"+key).text(val[0]);
  234. });
  235. }
  236. else if(errorData.status==400) {//业务错误
  237. $("#message_mobile").addClass("errinfo");
  238. $("#message_mobile").text(errorData.responseJSON.message);
  239. is_need_geetest=errorData.responseJSON.errors.is_need_geetest;
  240. }
  241. }
  242. });
  243. }
  244. else if (type==3){
  245. $.ajax({
  246. method: 'post',
  247. url: $("#form_org").attr('action'),
  248. data: $("#form_org").serialize(),
  249. beforeSend:function () {
  250. //console.log('请求开始');
  251. clean_message();
  252. $('.login-org').addClass("btn-disabled").prop('disabled', true);
  253. $('.login-org').val("登录中...");
  254. },
  255. complete:function() {
  256. //console.log('请求结束');
  257. $('.login-org').val("登录");
  258. $('.login-org').removeClass("btn-disabled").prop('disabled', false);
  259. },
  260. success: function (data) {
  261. //console.log(data);
  262. $("#message_org").addClass("successinfo");
  263. $("#message_org").text("登录成功, 正在跳转...");
  264. location.href=data.data.redirect_url;
  265. },
  266. error: function (errorData) {
  267. //console.log(errorData);
  268. if (is_need_geetest==1){
  269. captchaObj.reset();
  270. }
  271. if (errorData.status==422) {//验证错误
  272. $.each(errorData.responseJSON.errors,function (key,val) {
  273. $("#"+key).addClass("errinfo");
  274. $("#"+key).text(val[0]);
  275. });
  276. }
  277. else if(errorData.status==400) {//业务错误
  278. $("#message_org").addClass("errinfo");
  279. $("#message_org").text(errorData.responseJSON.message);
  280. is_need_geetest=errorData.responseJSON.errors.is_need_geetest;
  281. }
  282. }
  283. });
  284. }
  285. };
  286. function show_error(type,message) {
  287. if (type==1) {
  288. $("#message_account").addClass("errinfo");
  289. $("#message_account").text(message);
  290. }
  291. else if (type==2) {
  292. $("#message_mobile").addClass("errinfo");
  293. $("#message_mobile").text(message);
  294. }
  295. else if (type==3){
  296. $("#message_org").addClass("errinfo");
  297. $("#message_org").text(message);
  298. }
  299. };
  300. function clean_message() {
  301. $(".errinfo").text("");
  302. $(".errinfo").removeClass("errinfo");
  303. $(".successinfo").text("");
  304. $(".successinfo").removeClass("successinfo");
  305. }
  306. });
  307. function checkAutoLogin(obj) {
  308. var isCheck = $(obj).hasClass("yes");
  309. if (isCheck) {
  310. $(obj).removeClass("yes");
  311. $(obj).closest(".txt-group").find("input[name=autoLogin]").prop("checked", false);
  312. } else {
  313. $(obj).addClass("yes");
  314. $(obj).closest(".txt-group").find("input[name=autoLogin]").prop("checked", true);
  315. }
  316. }
  317. // 倒计时
  318. var countdown = 60;
  319. function settime() {
  320. if (countdown == 0) {
  321. $('.btn-getcode').prop("disabled", false);
  322. $('.btn-getcode').removeClass('btn-disabled');
  323. $('.btn-getcode').val('获取验证码');
  324. countdown = 60;
  325. return;
  326. } else {
  327. $('.btn-getcode').prop("disabled", true);
  328. $('.btn-getcode').addClass('btn-disabled');
  329. $('.btn-getcode').val('重新发送' + countdown + '秒');
  330. countdown--;
  331. }
  332. setTimeout(function() {
  333. settime()
  334. },1000)
  335. }
  336. </script>
  337. @endsection