add_member.html 5.8 KB

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