add_member.html 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. {extend name="base"/}
  2. {block name="resources"}
  3. <style>
  4. .form-wrap {margin-top: 0;}
  5. </style>
  6. {/block}
  7. {block name="main"}
  8. <div class="layui-form form-wrap">
  9. <div class="layui-form-item">
  10. <label class="layui-form-label"><span class="required">*</span>用户名:</label>
  11. <div class="layui-input-block">
  12. <input name="username" type="text" lay-verify="user" class="layui-input len-long" autocomplete="off" readonly onfocus="this.removeAttribute('readonly');" onblur="this.setAttribute('readonly',true);">
  13. </div>
  14. <div class="word-aux">用于登录,添加成功后不可编辑,请认真填写</div>
  15. </div>
  16. <div class="layui-form-item">
  17. <label class="layui-form-label"><span class="required">*</span>昵称:</label>
  18. <div class="layui-input-block">
  19. <input name="nickname" type="text" lay-verify="required" class="layui-input len-long">
  20. </div>
  21. <div class="word-aux">会员名称</div>
  22. </div>
  23. <div class="layui-form-item">
  24. <label class="layui-form-label">手机号:</label>
  25. <div class="layui-input-block">
  26. <input name="mobile" type="text" lay-verify="mobile" class="layui-input len-long">
  27. </div>
  28. <div class="word-aux">请填写正确的手机号</div>
  29. </div>
  30. <div class="layui-form-item">
  31. <label class="layui-form-label"><span class="required">*</span>密码:</label>
  32. <div class="layui-input-block">
  33. <input type="password" name="password" lay-verify="required" class="layui-input len-long">
  34. </div>
  35. </div>
  36. <div class="layui-form-item">
  37. <label class="layui-form-label short-label">头像:</label>
  38. <div class="layui-input-inline">
  39. <div class="upload-img-block square">
  40. <div class="upload-img-box">
  41. <div class="upload-default" id="headImg">
  42. <div class="upload">
  43. <i class="iconfont iconshangchuan"></i>
  44. <p>点击上传</p>
  45. </div>
  46. </div>
  47. <div class="operation">
  48. <div>
  49. <i title="图片预览" class="iconfont iconreview js-preview" style="margin-right: 20px;"></i>
  50. <i title="删除图片" class="layui-icon layui-icon-delete js-delete"></i>
  51. </div>
  52. <div class="replace_img js-replace">点击替换</div>
  53. </div>
  54. <input type="hidden" name="headimg" />
  55. </div>
  56. <!-- <p id="headImg" class="no-replace">替换</p>
  57. <i class="del">x</i> -->
  58. </div>
  59. </div>
  60. </div>
  61. <div class="layui-form-item">
  62. <label class="layui-form-label">会员等级:</label>
  63. <div class="layui-input-inline len-mid">
  64. <select class="member_level" name="member_level" lay-filter="member_level">
  65. <option value="">请选择</option>
  66. {volist name="member_level_list" id="member_level"}
  67. <option value="{$member_level.level_id}">{$member_level.level_name}</option>
  68. {/volist}
  69. </select>
  70. </div>
  71. </div>
  72. <div class="layui-form-item">
  73. <label class="layui-form-label">真实姓名:</label>
  74. <div class="layui-input-inline">
  75. <input name="realname" type="text" class="layui-input len-long">
  76. </div>
  77. </div>
  78. <div class="layui-form-item">
  79. <label class="layui-form-label">性别:</label>
  80. <div class="layui-input-inline">
  81. <input type="radio" name="sex" value="0" title="未知" checked="">
  82. <input type="radio" name="sex" value="1" title="男">
  83. <input type="radio" name="sex" value="2" title="女">
  84. </div>
  85. </div>
  86. <div class="layui-form-item">
  87. <label class="layui-form-label">生日:</label>
  88. <div class="layui-input-inline">
  89. <input name="birthday" type="text" id="laydate" class="layui-input len-mid" autocomplete="off">
  90. </div>
  91. </div>
  92. <div class="form-row">
  93. <button class="layui-btn" lay-submit lay-filter="save">保存</button>
  94. <button class="layui-btn layui-btn-primary" onclick="back()">返回</button>
  95. </div>
  96. </div>
  97. {/block}
  98. {block name="script"}
  99. <script>
  100. layui.use(['form', 'laydate'], function() {
  101. var form = layui.form,
  102. laydate = layui.laydate,
  103. repeat_flag = false; //防重复标识
  104. form.render();
  105. laydate.render({
  106. elem: '#laydate'
  107. });
  108. /**
  109. * 表单验证
  110. */
  111. form.verify({
  112. mobile: function(value) {
  113. if (value == '') {
  114. return;
  115. }
  116. if (!ns.parse_mobile(value)) {
  117. return '请输入正确的手机号码!';
  118. }
  119. },
  120. isemail: function(value) {
  121. var reg = /^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/;
  122. if (value == '') {
  123. return;
  124. }
  125. if (!reg.test(value)) {
  126. return '请输入正确的邮箱!';
  127. }
  128. },
  129. user: function(value){
  130. var reg = /^[A-Za-z0-9]+$/;
  131. if (!reg.test(value)) {
  132. return '用户名只能输入英文跟数字!';
  133. }
  134. }
  135. });
  136. var upload = new Upload({
  137. elem: '#headImg'
  138. });
  139. /**
  140. * 监听提交
  141. */
  142. form.on('submit(save)', function(data) {
  143. if (data.field.member_level) data.field.member_level_name = $(".member_level").find("option[value=" + data.field.member_level + "]").text();
  144. // 删除图片
  145. if(!data.field.headimg) upload.delete();
  146. if(repeat_flag) return false;
  147. repeat_flag = true;
  148. $.ajax({
  149. url: ns.url("shop/member/addMember"),
  150. data: data.field,
  151. dataType: 'JSON', //服务器返回json格式数据
  152. type: 'POST', //HTTP请求类型
  153. success: function(res) {
  154. repeat_flag = false;
  155. if (res.code == 0) {
  156. layer.confirm('添加成功', {
  157. title:'操作提示',
  158. btn: ['返回列表', '继续添加'],
  159. closeBtn: 0,
  160. yes: function(){
  161. location.href = ns.url("shop/member/{$type == 'member' ? 'memberList' : 'customerlist'}")
  162. },
  163. btn2: function () {
  164. location.href = ns.url("shop/member/addMember")
  165. }
  166. });
  167. }else{
  168. layer.msg(res.message);
  169. }
  170. }
  171. });
  172. });
  173. });
  174. function back() {
  175. location.href = ns.url("shop/member/{$type == 'member' ? 'memberList' : 'customerlist'}");
  176. }
  177. </script>
  178. {/block}