edit_member.html 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. {extend name="base"/}
  2. {block name="resources"}
  3. {/block}
  4. {block name="main"}
  5. <div class="layui-form ns-form">
  6. <div class="layui-form-item">
  7. <label class="layui-form-label"><span class="required">*</span>用户名:</label>
  8. <div class="layui-input-block">
  9. <p class="ns-input-text ns-len-mid">{$member_info.data.username}</p>
  10. </div>
  11. <div class="ns-word-aux">用于登录,不可编辑</div>
  12. </div>
  13. <div class="layui-form-item">
  14. <label class="layui-form-label"><span class="required">*</span>昵称:</label>
  15. <div class="layui-input-block">
  16. <input name="nickname" type="text" lay-verify="required" value="{$member_info.data.nickname}" class="layui-input ns-len-long">
  17. </div>
  18. <div class="ns-word-aux">会员名称</div>
  19. </div>
  20. <div class="layui-form-item">
  21. <label class="layui-form-label">手机号:</label>
  22. <div class="layui-input-block">
  23. <input name="mobile" type="text" lay-verify="mobile" value="{$member_info.data.mobile}" class="layui-input ns-len-long">
  24. </div>
  25. <div class="ns-word-aux">已进行手机号验证,请填写正确的手机号</div>
  26. </div>
  27. <div class="layui-form-item">
  28. <label class="layui-form-label">邮箱:</label>
  29. <div class="layui-input-block">
  30. <input name="email" type="text" lay-verify="isemail" value="{$member_info.data.email}" class="layui-input ns-len-long">
  31. </div>
  32. <div class="ns-word-aux">已进行邮箱验证,请填写正确的邮箱</div>
  33. </div>
  34. <div class="layui-form-item">
  35. <label class="layui-form-label">状态:</label>
  36. <div class="layui-input-block">
  37. <input type="checkbox" name="status" value="1" lay-skin="switch" {if condition="$member_info.data.status == 1"} checked {/if} >
  38. </div>
  39. <div class="ns-word-aux">当状态处于关闭时,该会员则不能登录。</div>
  40. </div>
  41. <div class="layui-form-item">
  42. <label class="layui-form-label img-upload-lable ns-short-label">头像:</label>
  43. <div class="layui-input-inline">
  44. <div class="upload-img-block square">
  45. <div class="upload-img-box" id="headImg">
  46. {if condition="$member_info.data.headimg"}
  47. <img src="{:img($member_info.data.headimg)}" />
  48. {else/}
  49. <div class="ns-upload-default">
  50. <img src="__STATIC__/img/upload_img.png" />
  51. <p>点击上传</p>
  52. </div>
  53. {/if}
  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_info.data.member_level == $member_level.id ? 'selected' : '' }>{$member_level.name}</option>
  65. {/volist}
  66. </select>
  67. </div>
  68. </div>
  69. <div class="layui-form-item">
  70. <div class="layui-inline">
  71. <label class="layui-form-label">会员到期时间:</label>
  72. <div class="layui-input-inline">
  73. <input type="text" class="layui-input" name="start_time" value='{$member_info.data.vip_enddate|default=""}' placeholder="" id="start_time" readonly>
  74. <i class="ns-calendar"></i>
  75. </div>
  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="未知" {$member_info.data.sex == 0 ? 'checked' : ''}>
  82. <input type="radio" name="sex" value="1" title="男" {$member_info.data.sex == 1 ? 'checked' : ''}>
  83. <input type="radio" name="sex" value="2" title="女" {$member_info.data.sex == 2 ? 'checked' : ''}>
  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" value="" class="layui-input ns-len-mid">
  90. </div>
  91. </div>
  92. <div class="ns-form-row">
  93. <button class="layui-btn ns-bg-color" lay-submit lay-filter="save">保存</button>
  94. <button class="layui-btn layui-btn-primary" onclick="back()">返回</button>
  95. </div>
  96. <!-- 隐藏域 -->
  97. <input type="hidden" name="member_id" value="{$member_info.data.member_id}" />
  98. <input type="hidden" name="headimg" value="{$member_info.data.headimg}" />
  99. </div>
  100. {/block}
  101. {block name="script"}
  102. <script>
  103. var date = {$member_info.data.birthday};
  104. $("input[name=birthday]").attr("value", ns.time_to_date(date, "YYYY-MM-DD"));
  105. layui.use(['form', 'laydate','upload'], function() {
  106. var form = layui.form,
  107. laydate = layui.laydate,
  108. upload = layui.upload,
  109. repeat_flag = false; //防重复标识
  110. form.render();
  111. laydate.render({
  112. elem: '#laydate'
  113. });
  114. laydate.render({
  115. elem: '#start_time'
  116. ,type: 'datetime'
  117. ,change: function(value, date, endDate){
  118. $(".date-picker-btn").removeClass("selected");
  119. }
  120. });
  121. /**
  122. * 表单验证
  123. */
  124. form.verify({
  125. mobile: function(value) {
  126. var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
  127. if (value == '') {
  128. return;
  129. }
  130. if (!reg.test(value)) {
  131. return '请输入正确的手机号码!';
  132. }
  133. },
  134. isemail: function(value) {
  135. var reg = /^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/;
  136. if (value == '') {
  137. return;
  138. }
  139. if (!reg.test(value)) {
  140. return '请输入正确的邮箱!';
  141. }
  142. }
  143. });
  144. /**
  145. * 监听提交
  146. */
  147. form.on('submit(save)', function(data) {
  148. data.field.member_level_name = $(".member_level").find("option[value=" + data.field.member_level + "]").text();
  149. if (data.field.status == undefined) {
  150. data.field.status = 0;
  151. }
  152. if(repeat_flag) return false;
  153. repeat_flag = true;
  154. $.ajax({
  155. url: ns.url("admin/member/editMember"),
  156. data: data.field,
  157. dataType: 'JSON', //服务器返回json格式数据
  158. type: 'POST', //HTTP请求类型
  159. success: function(res) {
  160. repeat_flag = false;
  161. if (res.code == 0) {
  162. layer.confirm('编辑成功', {
  163. title:'操作提示',
  164. btn: ['返回列表', '继续操作'],
  165. yes: function(){
  166. location.href = ns.url("admin/member/memberList")
  167. },
  168. btn2: function() {
  169. location.reload();
  170. }
  171. });
  172. }else{
  173. layer.msg(res.message);
  174. }
  175. }
  176. });
  177. });
  178. //普通图片上传
  179. var uploadInst = upload.render({
  180. elem: '#headImg',
  181. url: ns.url("admin/upload/upload"),
  182. done: function(res) {
  183. if (res.code >= 0) {
  184. $("input[name='headimg']").val(res.data.pic_path);
  185. $("#headImg").html("<img src=" + ns.img(res.data.pic_path) + " >");
  186. }
  187. return layer.msg(res.message);
  188. }
  189. });
  190. });
  191. function back() {
  192. location.href = ns.url("admin/member/memberList");
  193. }
  194. </script>
  195. {/block}