login_company.blade.php 16 KB

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