/** * 注册-首页 */ define( "user/register-controller", [ 'mk7/controller', 'mk7/url', 'mk7/utils', 'mk7/uploadjs', ], function(ctrl, url, utils, uploadjs) { var $$ = Dom7; var t7 = Template7; var ctrl = new ctrl(); var registerUrl = '/user/login/register'; var uploadURL = '/user/default/upload-file'; var getCodeURL = '/user/login/get-code'; var loginURL = '/user/login/do-login'; var clickGetCode = true; var registerClick = true; var tt = null var hasCheckAgreement = false; ctrl.run = function () { var me = this; me.setPageTitle("注册"); //me.hideAllNonBaseMenuItem(window.$site); me.codeDuration = 60; if (!isGuest) { //window.location.href = url.to('order/#index'); //return ''; } me.render(); } ctrl.bindEvents = function () { var me = this; console.log("bindEvents"); me.uploadEvent(); me.getCodeEvent(); me.registerEvent(); me.gotoLoginEvent(); me.checkAgreement(); } ctrl.uploadEvent = function() { $$('#register .upload-input-cls').change(function(e) { if ('' == $$(this).val() || null == $$(this).val()) { return ; } var target = e.target; var fileObject = target.files[0]; var id = $$(this).attr('id'); var parent = $$(this).parent(); uploadjs.uploadFile({ selector:'#'+id, url:url.to(uploadURL), processAppendTo:'#register', success:function(response, e) { try { if(response.success) { var imgUrl = response.tmpUrl; parent.css("background-image", 'url('+response.tmpMinUrl+')'); parent.attr('data', response.tmpFile); parent.attr('data-url', imgUrl); } else { utils.toast({content:response.message, closeDelay:5000}); } } catch(ex) { utils.toast({content:'出错', closeDelay:5000}); } } }); }) } ctrl.getCodeEvent = function() { var me = this; $$('#register .get-code-cls').click(function() { var mobile = utils.trim($$('#register .mobile').val()); if ('' == mobile) { utils.toast({content:'手机号码必填'}) return false; } if (!utils.isMobile(mobile)) { utils.toast({content:'手机号码不合格'}) return false; } if (false == clickGetCode) { return false; } clearInterval(tt); clickGetCode = false; var pData = me.csrf({action:'register', mobile:mobile}) utils.httpGet(url.to(getCodeURL), pData, function(res) { if (!res.success) { utils.toast({content:res.message,closeDelay:3000}) clickGetCode = true; return false; } utils.toast({content:res.message}); if(res.testCode) { $$('#register .code').val(res.testCode); } var codeDuration = res.codeDuration me.codeDuration = codeDuration; tt = setInterval(function(e) { me.codeDuration--; if (0 == me.codeDuration) { $$('#register .get-code-cls').html('获取验证码'); clearInterval(tt); me.codeDuration = codeDuration; clickGetCode = true; } else { $$('#register .get-code-cls').html('' +me.codeDuration+'s后重新获取'); } }, 1000) }) }) } ctrl.registerEvent = function() { var me = this; $$('#register .register-btn').click(function(e) { var name = utils.trim($$('#register .name').val()); var mobile = utils.trim($$('#register .mobile').val()); var code = utils.trim($$('#register .code').val()); var emergencyContact = utils.trim($$('#register .emergency_contact').val()); var emergencyPerson = utils.trim($$('#register .emergency_person').val()); var address = utils.trim($$('#register .address').val()); if ('' == name) { utils.toast({content:'车厂名称必填'}) return false; } if ('' == mobile) { utils.toast({content:'手机号码必填'}) return false; } if (!utils.isMobile(mobile)) { utils.toast({content:'手机号码不合格'}) return false; } if ('' == code) { utils.toast({content:'验证码必填'}) return false; } if ('' == emergencyPerson) { utils.toast({content:'紧急联系人必填'}) return false; } if ('' == emergencyContact) { utils.toast({content:'紧急联系电话必填'}) return false; } if (!utils.isMobile(emergencyContact) && !utils.isTelephone(emergencyContact)) { utils.toast({content:'紧急联系电话不合格'}) return false; } if (emergencyContact == mobile) { utils.toast({content:'紧急联系电话不能和注册手机一样'}) return false; } if ('' == address) { utils.toast({content:'维修厂地址必填'}) return false; } var licensePic = $$('#register .licensePic').attr('data'); if (undefined === licensePic || null == licensePic) { utils.toast({content:'请上传营业执照'}) return false; } var headPic = $$('#register .headPic').attr('data'); if (undefined === headPic || null == headPic) { utils.toast({content:'请上传维修厂门头照'}) return false; } var techChargePic = $$('#register .techChargePic').attr('data'); if (undefined === techChargePic || null == techChargePic) { utils.toast({content:'请上传维修技术负责人证书'}) return false; } var QAChargePic = $$('#register .QAChargePic').attr('data'); if (undefined === QAChargePic || null == QAChargePic) { utils.toast({content:'请上传质检负责人证书'}) return false; } if (!$$('#register .check-agreement').hasClass('checked-active')) { utils.toast({content:'请阅读同意《平台车管家服务条款》'}) return false; } if (false == registerClick) { return false; } registerClick = false; var pData = me.csrf({ name:name, mobile:mobile,code:code, emergencyContact:emergencyContact,emergencyPerson:emergencyPerson, address:address, licensePic:licensePic, headPic:headPic, techChargePic:techChargePic, QAChargePic:QAChargePic, }) utils.httpPost(url.to(registerUrl),pData, function(res) { if (!res.success) { utils.toast({content:res.message,closeDelay:3000}) registerClick = true; return false; } else { var closeDelay = 3000; utils.toast({content:res.message, closeDelay:closeDelay}) setTimeout(function(){ window.location.href = url.to('order/#index'); }, closeDelay) } }) }) } ctrl.gotoLoginEvent = function() { $$('#register .login-btn').click(function(e){ window.location.href = url.to('user/#login'); }) } ctrl.checkAgreement = function() { var me = this; $$('#register .check-agreement').click(function(e) { if (false == hasCheckAgreement) { me.showAgreement(); return false; } if($$(this).hasClass('checked-active')) { $$(this).removeClass('checked-active'); } else { $$(this).addClass('checked-active'); } }) $$('#register .agreement-cls').click(function(e){ me.showAgreement(); }) $$('#register').on('click','.agree-btn', function(e){ $$('#agreement-wrapper').remove(); hasCheckAgreement = true; var checkAgreement = $$('#register .check-agreement'); if(!checkAgreement.hasClass('checked-active')) { checkAgreement.addClass('checked-active'); } }) } ctrl.showAgreement = function() { $$('#agreement-wrapper').remove(); var page = $$('#register'); var ele = $$('script#agreement-template'); var compiled = t7.compile(ele.html()); var doms = compiled({}); page.append(doms); } return ctrl; } );