register-club.js 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  1. var registerPage = new Vue({
  2. el: "#registerPage",
  3. data: {
  4. loginLoading: false,
  5. showTabContentIndex:1,
  6. showSupplierConfirm:true,
  7. showClass:'',
  8. mobilCount:0,
  9. mobileCodeText:'获取验证码',
  10. mobilTime:null,
  11. isMobileDisabled:false,
  12. isCodeModel:false,
  13. codeImagePath:'https://dss2.bdstatic.com/8_V1bjqh_Q23odCf/pacific/1819816496.jpg',
  14. codeImageToken:'',
  15. imageCode:'',
  16. clubUser: {
  17. name:'',
  18. phone:'',
  19. code:'',
  20. password:'',
  21. password2:''
  22. },
  23. clubUpgradeUser: {
  24. userId:'',
  25. clubId:'',
  26. contractEmail:'',
  27. name:'',
  28. shortName:'',
  29. socialCreditCode:'',
  30. mainProduct:[],
  31. businessLicense:'',
  32. shopPhoto:'',
  33. medicalPracticeLicense:'',
  34. firstClubType:0,
  35. secondClubType:0,
  36. department:'',
  37. provinceId :'',
  38. cityId : '',
  39. townId : '',
  40. },
  41. userMainPros:[],
  42. formData:new FormData(),
  43. isAgreed:0,
  44. isAgree:false,
  45. isShowAgree:false,
  46. mentuzCampNullList:[
  47. {value:1,name:'整形'},
  48. {value:2,name:'轻医美'},
  49. {value:3,name:'皮肤科'},
  50. ],
  51. medicaCampNullList: [
  52. {name:'美容'},
  53. {name:'美体'},
  54. {name:'美发'},
  55. {name:'皮肤管理'},
  56. {name:'光电'},
  57. {name:'综合类'},
  58. {name:'中医养生'},
  59. {name:'spa'},
  60. ],
  61. mainPros: ['产品','仪器','服务','整形'],
  62. mainProEdit: '',
  63. ProvinceList:[],
  64. cityArray:[],
  65. townArray:[],
  66. addressfrom: {
  67. province: '',//省id
  68. city: '',
  69. town: ''
  70. },
  71. rule:{
  72. name: '^[a-zA-Z\\u4e00-\\u9fa5]{2,}$',
  73. phone: '^\\d{6,12}$',
  74. code: '^\\d{6}$',
  75. license: '^[a-zA-Z0-9_]{18}$',
  76. email: '^(([^<>()\\[\\]\\\\.,;:\\s@&quot;]+(\\.[^<>()\\[\\]\\\\.,;:\\s@&quot;]+)*)|(&quot;.+&quot;))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$',
  77. password: "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$"
  78. }
  79. },
  80. computed: {
  81. },
  82. methods: {
  83. clubRegister: function(){ //机构注册提交
  84. var _self = this;
  85. var pass = verifyForm();
  86. if (_self.loginLoading) { return false; }
  87. this.$nextTick(function() {
  88. if (!pass) {return false;}
  89. if (!_self.isAgree){
  90. _self.isShowAgree = true;
  91. return;
  92. }
  93. if(_self.clubUser.password2!=_self.clubUser.password){
  94. CAIMEI.dialog('两次密码输入不一致',false,function () {});
  95. return;
  96. }
  97. var params = {
  98. source:0,
  99. userName : _self.clubUser.name,
  100. bindMobile : _self.clubUser.phone,
  101. password : _self.clubUser.password,
  102. passWordConfirm : _self.clubUser.password2,
  103. smsCode : _self.clubUser.code,
  104. isAgreed : _self.isAgreed
  105. };
  106. _self.loginLoading = true;
  107. UserApi.ClubRegister(params,function (response) {
  108. if(response.code === 0){
  109. CAIMEI.dialog('注册成功!',true,function () {
  110. _self.clubLogin();
  111. _self.showTabContentIndex = 2;
  112. _self.loginLoading = false;
  113. });
  114. } else {
  115. CAIMEI.Alert(response.msg,'确定',false);
  116. _self.loginLoading = false;
  117. }
  118. });
  119. });
  120. },
  121. getMobileImage:function() {//获取图形验证码
  122. var _self = this;
  123. var pass = verifyCheack('.massageBtn');
  124. if (_self.isMobileDisabled) { return false; }
  125. this.$nextTick(function() {
  126. if (!pass) {
  127. return false;
  128. }
  129. PublicApi.getImgVerifyCode({platformType: 0},function(response){
  130. if(response.code == 0){
  131. _self.imageCode = '';
  132. _self.codeImagePath = response.data.baseImage;
  133. _self.codeImageToken = response.data.token;
  134. _self.isCodeModel = true;
  135. }else{
  136. CAIMEI.Alert(response.msg,'确定',false);
  137. }
  138. })
  139. });
  140. },
  141. getMobileCodeFn:function(){//机构注册获取注册短信验证码
  142. var _self = this;
  143. if(_self.imageCode == ''){
  144. CAIMEI.dialog('请输入图形验证码',false,function () {});
  145. return
  146. }
  147. var params = {
  148. mobile:_self.clubUser.phone,
  149. isCheckCaptcha:0,
  150. imgCode:_self.imageCode,
  151. token:_self.codeImageToken,
  152. activateCodeType:2,
  153. platformType:0
  154. };
  155. _self.isMobileDisabled = true;
  156. UserApi.getRegisterMobileCode(params,function (response) {
  157. if(response.code == 0){
  158. _self.isCodeModel = false;
  159. CAIMEI.dialog('验证短信已发送',false,function () {});
  160. var TIME_COUNT = 60;
  161. if (!_self.mobilTime) {
  162. _self.mobilCount = TIME_COUNT;
  163. _self.isMobileDisabled = true;
  164. _self.mobilTime = setInterval(function(){
  165. if (_self.mobilCount > 1 && _self.mobilCount <= TIME_COUNT) {
  166. _self.mobilCount--;
  167. _self.mobileCodeText = _self.mobilCount +'s重新发送';
  168. } else {
  169. _self.isMobileDisabled = false;
  170. clearInterval(_self.mobilTime);
  171. _self.mobilTime = null;
  172. _self.mobileCodeText = '获取验证码';
  173. }
  174. },1000)
  175. }
  176. }else{
  177. CAIMEI.Alert(response.msg,'确定',false);
  178. _self.isMobileDisabled = false;
  179. _self.isCodeModel = false;
  180. }
  181. })
  182. },
  183. clubUpgrade:function() {//升级会员机构
  184. var _self = this;
  185. var pass = verifyForm();
  186. if (_self.loginLoading) { return false; }
  187. this.$nextTick(function() {
  188. if (!pass) {return false;}
  189. if(_self.clubUpgradeUser.cityId == ''){
  190. CAIMEI.dialog('请选择市级地区',false);
  191. return ;
  192. }
  193. if(_self.clubUpgradeUser.townId == ''){
  194. CAIMEI.dialog('请选择具体地区',false);
  195. return ;
  196. }
  197. if(!_self.clubUpgradeUser.businessLicense){
  198. $('#formbusinessLicenseImage').parent().addClass("error").find('.checked').removeClass("show");
  199. $('#formbusinessLicenseImage').siblings('.errTips').text('请上传营业执照图片').addClass("show");
  200. return false;
  201. }
  202. if(!_self.clubUpgradeUser.firstClubType){
  203. $('#firstClubType').parent().addClass("error");
  204. $('#firstClubType').siblings('.errTips').text('请选择机构类型').addClass("show");
  205. return false;
  206. }
  207. if(Number(_self.clubUpgradeUser.firstClubType) == 1){
  208. if(!_self.clubUpgradeUser.medicalPracticeLicense){
  209. $('#formmedicalPracticeLicenseImage').parent().addClass("error").find('.checked').removeClass("show");
  210. $('#formmedicalPracticeLicenseImage').siblings('.errTips').text('请上传资质证书图片').addClass("show");
  211. return false;
  212. }
  213. }
  214. _self.clubUpgradeUser.mainProduct = _self.userMainPros.join("/");
  215. _self.loginLoading = true;
  216. UserApi.ClubUpgrade(_self.clubUpgradeUser,function (response) {
  217. if(response.code === 0){
  218. CAIMEI.Alert('升级信息提交成功,审核通过后您的身份即成为会员机构并且获得500采美豆的奖励','确定',true,function () {
  219. _self.clubLoginIndex();
  220. _self.loginLoading = false;
  221. });
  222. } else {
  223. CAIMEI.Alert(response.msg,'确定',false);
  224. _self.loginLoading = false;
  225. }
  226. });
  227. });
  228. },
  229. clubLogin: function () { // 登录
  230. var _self = this;
  231. var params = {mobileOrEmail: _self.clubUser.phone,password: _self.clubUser.password};
  232. UserApi.PostLoginAccount(params,function(response){
  233. if(response.code === 0){
  234. _self.clubUpgradeUser.userId = response.data.userId;
  235. _self.clubUpgradeUser.clubId = response.data.clubId;
  236. _self.userData = {
  237. account: response.data.account,
  238. email: response.data.email,
  239. phone: response.data.bindMobile,
  240. name: response.data.name ? response.data.name : response.data.userName,
  241. userName: response.data.userName,
  242. userId: response.data.userId,
  243. spId: response.data.serviceProviderId,
  244. clubId: response.data.clubId,
  245. shopId: response.data.shopId,
  246. userIdentity: response.data.userIdentity,
  247. permission: response.data.userPermission,
  248. token: response.data.token
  249. };
  250. _self.setStorages( _self.userData);
  251. } else {// 登录失败
  252. alertInfo(response.msg);
  253. }
  254. });
  255. },
  256. ChangeFirstClubType:function(event){
  257. $('#secondShopType').parent().removeClass("error");
  258. $('#firstClubType').siblings('.errTips').removeClass("show");
  259. },
  260. refreshCodeImage:function(){
  261. this.getMobileImage()
  262. },
  263. closeCodeModel:function(){
  264. this.isCodeModel = false;
  265. },
  266. clubLoginIndex:function(){// 跳过升级直接去个人中心
  267. window.location.href = '/user/dashboard.html';
  268. },
  269. mainProAdd: function(){
  270. var _self = this;
  271. if (_self.mainProEdit.length>0) {
  272. if (_self.mainPros.indexOf(_self.mainProEdit)<0){
  273. var obj = {name:_self.mainProEdit};
  274. if(_self.clubUpgradeUser.firstClubType === '2'){
  275. if(_self.checkedArray(_self.mainProEdit,_self.mentuzCampNullList)){
  276. CAIMEI.dialog('主营内容已存在!',false);
  277. }else {
  278. _self.mentuzCampNullList.push(obj);
  279. }
  280. }else{
  281. if(_self.checkedArray(_self.mainProEdit,_self.medicaCampNullList)){
  282. CAIMEI.dialog('主营内容已存在!',false);
  283. }else {
  284. _self.medicaCampNullList.push(obj);
  285. }
  286. }
  287. }
  288. }
  289. },
  290. checkedArray:function(content,arr){//判断主营内容是否已存在
  291. for(var i in arr){
  292. if(arr[i].name == content){
  293. return true;
  294. }
  295. }
  296. return false;
  297. },
  298. showPassword: function(event) {//密码
  299. var el = event.currentTarget;
  300. var pwdEle = $(el).siblings('input');
  301. if(pwdEle.attr('type') === 'password') {
  302. $(el).addClass('on');
  303. pwdEle.attr('type','text');
  304. } else {
  305. $(el).removeClass('on');
  306. pwdEle.attr('type','password');
  307. }
  308. },
  309. blurHandle: function(event) { // 失去焦点校验
  310. var el = event.currentTarget;
  311. verifyHandle(el);
  312. },
  313. uploadBusinessLicenseImageFn: function(event){//上传营业执照
  314. var _this = this;
  315. var inputDOM = _this.$refs.businessLicenseImage;
  316. var file = inputDOM.files;
  317. _this.formData.append('file', file[0]);
  318. PublicApi.uploadimg(_this.formData,function(response){
  319. _this.clubUpgradeUser.businessLicense = response.data;
  320. $('#formbusinessLicense').parent().removeClass("error");
  321. $('#formbusinessLicenseImage').siblings('.errTips').removeClass("show");
  322. event.target.value = '';
  323. });
  324. },
  325. uploadMentuzImageFn: function(event){//上传门头照
  326. var _this = this;
  327. var inputDOM = _this.$refs.businessMentuImage;
  328. var file = inputDOM.files;
  329. _this.formData.append('file', file[0]);
  330. PublicApi.uploadimg(_this.formData,function(response){
  331. _this.clubUpgradeUser.shopPhoto = response.data;
  332. event.target.value = '';
  333. });
  334. },
  335. uploadMedicaImageFn: function(event){//上传资质证书
  336. var _this = this;
  337. var inputDOM = _this.$refs.businessMedicaImage;
  338. var file = inputDOM.files;
  339. _this.formData.append('file', file[0]);
  340. PublicApi.uploadimg(_this.formData,function(response){
  341. _this.clubUpgradeUser.medicalPracticeLicense = response.data;
  342. event.target.value = '';
  343. });
  344. },
  345. deleteBusinessImage:function(){//清楚营业执照图片
  346. this.clubUpgradeUser.businessLicense = '';
  347. },
  348. deleteMentuzImage:function(){//清楚门头照图片
  349. this.clubUpgradeUser.shopPhoto = '';
  350. },
  351. deleteMedicalImage:function(){//清楚资质照图片
  352. this.clubUpgradeUser.medicalPracticeLicense = '';
  353. },
  354. setStorages:function(data){//存储本地数据
  355. localStorage.setItem('userInfo',JSON.stringify(data));
  356. },
  357. showVadvisory:function(){
  358. var _self = this;
  359. _self.showClass = 'active';
  360. },
  361. closeVadvisory:function () {
  362. var _self = this;
  363. _self.showClass = '';
  364. },
  365. checkedIsAgreeFn:function () {
  366. var _self = this;
  367. _self.isAgree = !_self.isAgree;
  368. if (_self.isAgree){
  369. _self.isShowAgree = false;
  370. _self.isAgreed = 1;
  371. }else{
  372. _self.isShowAgree = true;
  373. _self.isAgreed = 0;
  374. }
  375. },
  376. GetProvinceFn: function(){//获取全部省份
  377. var _this = this;
  378. PublicApi.GetProvince({},function(response){
  379. if(response.code == 0){
  380. _this.ProvinceList =response.data;
  381. }else{
  382. CAIMEI.Alert(response.msg,'确定',false);
  383. }
  384. })
  385. },
  386. ChangeProvince:function () {//选择省份
  387. var _this = this;
  388. _this.addressfrom.province = event.target.value;
  389. _this.clubUpgradeUser.provinceId = event.target.value;
  390. if(_this.addressfrom.province==''){//省为请选择时市区初始化
  391. _this.cityArray=[];
  392. _this.townArray=[];
  393. _this.clubUpgradeUser.townId=''
  394. }else {
  395. _this.ChangeGetcity();
  396. }
  397. },
  398. ChangeGetcity:function(event){//加载市
  399. var _this = this;
  400. PublicApi.GetCity({ provinceId: _this.addressfrom.province },function(response){
  401. if(response.code == 0 ){
  402. _this.cityArray = response.data;
  403. _this.addressfrom.city = event.target.value;
  404. _this.clubUpgradeUser.cityId = event.target.value;
  405. if(_this.addressfrom.city==''){
  406. _this.townArray=[];
  407. }else {
  408. _this.ChangeGetcTown();
  409. }
  410. }else{
  411. CAIMEI.Alert(response.msg,'确定',false);
  412. }
  413. })
  414. },
  415. ChangeGetcTown:function(event){//选择地区
  416. var _this = this;
  417. PublicApi.GetTown({ cityId: _this.addressfrom.city },function(response){
  418. if(response.code == 0 ){
  419. _this.townArray = response.data;
  420. _this.clubUpgradeUser.townId = event.target.value;
  421. console.log(_this.clubUpgradeUser.townId)
  422. }else{
  423. CAIMEI.Alert(response.msg,'确定',false);
  424. }
  425. })
  426. },
  427. showViewerImageFn:function(){//预览营业执照图片
  428. var viewer = new Viewer(document.getElementById('businessLicenseImage'));
  429. },
  430. showViewerImageFn1:function(){//预览门头照图片
  431. var viewer = new Viewer(document.getElementById('uploadMentuzImage'));
  432. },
  433. showViewerImageFn2:function(){//预览资质图片
  434. var viewer = new Viewer(document.getElementById('medicalPracticeLicenseImg'));
  435. },
  436. },
  437. created: function () {
  438. },
  439. mounted: function () {
  440. var _self = this;
  441. _self.GetProvinceFn();
  442. }
  443. });