AddWindow.js 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. /**
  2. * Created by zhouy on 2018/10/18.
  3. */
  4. Ext.define('saas.view.sys.account.AddWindow', {
  5. extend: 'saas.view.document.kind.ChildForm',
  6. xtype: 'sys-account-addwindow',
  7. dataKind:'accountadd',//类型标识
  8. belong:{
  9. columns:[{
  10. dataIndex:'realname',
  11. },{
  12. dataIndex: 'mobile',
  13. },{
  14. dataIndex: 'email',
  15. }],
  16. reqUrl: '/api/account/account/register/add',
  17. },
  18. etc:{
  19. accountadd:{
  20. items:[{
  21. xtype:'textfield',
  22. fieldLabel: '联系号码',
  23. name: 'mobile',
  24. hideTrigger:true,
  25. allowBlank:false,
  26. maxLength: 30,
  27. regex:/^1(3|4|5|7|8)\d{9}$/,
  28. regexText:'请输入正确的手机号码',
  29. listeners:{
  30. change:function(f,a,b){
  31. if(a==''){
  32. f._lastCheckValue = ''
  33. }
  34. },
  35. blur:function(f,a,b,c){
  36. var form = f.ownerCt;
  37. if(f.value&&f.value!=''&&f.isValid()&&f._lastCheckValue!=f.value){
  38. f._lastCheckValue = f.value;
  39. form.setLoading(true);
  40. Ext.Ajax.request({
  41. url: '/api/account/account/checkMobile?mobile='+f.value,
  42. method: 'GET',
  43. headers:{
  44. 'Access-Control-Allow-Origin': '*',
  45. "Content-Type": 'application/json;charset=UTF-8',
  46. },
  47. success: function (response) {
  48. form.setLoading(false);
  49. var localJson = Ext.decode(response.responseText);
  50. if(localJson.success){
  51. if(localJson.data.hasRegister){
  52. saas.util.BaseUtil.showSuccessToast('校验成功:手机号已在优软云注册');
  53. }else{
  54. saas.util.BaseUtil.showErrorToast('校验失败:手机号未在优软云注册');
  55. f.setValue('');
  56. }
  57. }else{
  58. saas.util.BaseUtil.showErrorToast('校验失败:'+localJson.message);
  59. f.setValue('');
  60. }
  61. },
  62. failure: function (response) {
  63. if(response.responseText){
  64. var localJson = Ext.decode(response.responseText);
  65. saas.util.BaseUtil.showErrorToast('校验失败:'+localJson.message);
  66. f.setValue('');
  67. }else{
  68. saas.util.BaseUtil.showErrorToast('手机号校验接口连接超时');
  69. f.setValue('');
  70. }
  71. }
  72. });
  73. }
  74. }
  75. }
  76. },{
  77. xtype:'textfield',
  78. fieldLabel: '真实姓名',
  79. name: 'realname',
  80. regex:/^[\u4e00-\u9fa5]+$/,
  81. regexText:'请输入汉字',
  82. allowBlank:false,
  83. maxLength: 30,
  84. },{
  85. xtype:'textfield',
  86. fieldLabel: '邮箱',
  87. name: 'email',
  88. allowBlank:true,
  89. beforeLabelTextTpl: "",
  90. regex:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
  91. regexText:'请输入正确的邮箱',
  92. maxLength: 30,
  93. listeners:{
  94. blur:function(f,a,b,c){
  95. var form = f.ownerCt;
  96. if(f.value&&f.value!=''&&f.isValid()&&f._lastCheckValue!=f.value){
  97. form.setLoading(true);
  98. f._lastCheckValue = f.value
  99. Ext.Ajax.request({
  100. url: '/api/account/account/checkEmail?email='+f.value,
  101. method: 'GET',
  102. headers:{
  103. 'Access-Control-Allow-Origin': '*',
  104. "Content-Type": 'application/json;charset=UTF-8'
  105. },
  106. success: function (response) {
  107. form.setLoading(false);
  108. var localJson = Ext.decode(response.responseText);
  109. if(localJson.success){
  110. if(!localJson.data){
  111. saas.util.BaseUtil.showSuccessToast('校验成功:邮箱未注册');
  112. }else{
  113. saas.util.BaseUtil.showErrorToast('校验失败:该邮箱已被注册');
  114. f.setValue('');
  115. }
  116. }else{
  117. saas.util.BaseUtil.showErrorToast('校验失败:'+localJson.message);
  118. }
  119. },
  120. failure: function (response) {
  121. if(response.responseText){
  122. var localJson = Ext.decode(response.responseText);
  123. saas.util.BaseUtil.showErrorToast('校验失败:'+localJson.message);
  124. }else{
  125. saas.util.BaseUtil.showErrorToast('邮箱校验接口连接超时');
  126. }
  127. }
  128. });
  129. }
  130. }
  131. }
  132. },{
  133. xtype:'datamulticombo',
  134. dataUrl:'/api/account/role/list',
  135. fieldLabel: '关联角色',
  136. name: 'roleIds',
  137. allowBlank:false,
  138. maxLength: 30,
  139. }]
  140. }
  141. },
  142. onSave:function(){
  143. var me = this;
  144. var belong = this.belong;
  145. me.setLoading(true);
  146. var form=this.down('form');
  147. var combo = this._combo;
  148. var params = {};
  149. var names = belong.columns.map(column => column.dataIndex);
  150. Ext.Array.each(names,function(name) {
  151. if(name){
  152. var dataField = form.down('[name='+name+']');
  153. if(dataField&&dataField.value){
  154. params[name] = dataField.value;
  155. params._value = dataField.value;
  156. }
  157. }
  158. });
  159. //更改参数
  160. var o = '';
  161. var dataField = form.down('[name=roleIds]');
  162. Ext.Array.each(dataField.value,function(item) {
  163. o+=item.value+','
  164. });
  165. o = o.substring(0,o.length-1);
  166. params['username'] = params['mobile'];
  167. params['type'] = 1;
  168. params['roleIds'] = o;
  169. //保存接口
  170. saas.util.BaseUtil.request({
  171. url: belong.reqUrl,
  172. params: JSON.stringify(params),
  173. method: 'POST'
  174. })
  175. .then(function(localJson) {
  176. me.setLoading(false);
  177. if(localJson.success){
  178. form.ownerCt._parent.store.load();
  179. saas.util.BaseUtil.showSuccessToast('保存成功');
  180. form.ownerCt.close();
  181. }
  182. })
  183. .catch(function(res) {
  184. me.setLoading(false);
  185. console.error(res);
  186. saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
  187. });
  188. }
  189. });