edit_user.html 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. {extend name="base"/}
  2. {block name="resources"}
  3. <style>
  4. /* 关联会员 */
  5. .search-result { border: 1px solid; padding: 15px 30px 15px 15px; display: flex; align-items: center; position: relative;margin-top:10px;border-color: #e5e5e5 !important; }
  6. .search-res-img { width: 50px; height: 50px; margin-right: 5px; text-align: center; line-height: 50px; }
  7. .search-res-img img { max-width: 100%; max-height: 100%; }
  8. .search-res-intro p { line-height: 24px; }
  9. .search-res-close { position: absolute; top: 5px; right: 5px; }
  10. .check-member .layui-btn {position: absolute;top: 0;border-color: #e5e5e5;padding: 0 10px;border-right: 0;left: 207px;}
  11. .check-admin .layui-btn {position: absolute;top: 0;border-color: #e5e5e5;padding: 0 10px;border-right: 0;left: 207px;}
  12. .layui-input-block {overflow: hidden;}
  13. </style>
  14. {/block}
  15. {block name="main"}
  16. <div class="layui-form form-wrap">
  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="verifier_name" type="text" value="{$data.verifier_name}" placeholder="请输入核销人员姓名" lay-verify="required" class="layui-input len-long" autocomplete="off">
  21. </div>
  22. </div>
  23. <div class="layui-form-item check-member-box">
  24. <label class="layui-form-label"><span class="required">*</span>关联前台会员:</label>
  25. <div class="layui-input-block check-member">
  26. <input type="text" id="search_text" name="search_text" placeholder="请输入用户名或手机" class="layui-input len-mid member-name" value="{$data.member_name}">
  27. <button type="button" class="layui-btn layui-btn-primary" onclick="checkMember()">
  28. <i class="layui-icon">&#xe615;</i>
  29. </button>
  30. <input type="hidden" name="member_id" value="{$data.member_id}" />
  31. </div>
  32. <p class="word-aux">关联会员后才能在手机上使用核销台功能,否则无法在手机上核销</p>
  33. <div class="layui-form-item">
  34. <label class="layui-form-label">核销员类型:</label>
  35. <div class="layui-input-block">
  36. <input class="verifier_type" type="radio" name="verifier_type" value="0" title="平台核销员" lay-filter="verifier_type" {if $data.verifier_type == 0} checked {/if}>
  37. <input class="verifier_type" type="radio" name="verifier_type" value="1" title="门店核销员" lay-filter="verifier_type" {if $data.verifier_type == 1} checked {/if}>
  38. </div>
  39. </div>
  40. {if addon_is_exit('store') == 1}
  41. <div class="layui-form-item js-store-template">
  42. <label class="layui-form-label"><span class="required">*</span>门店选择:</label>
  43. <div class="layui-input-inline">
  44. <select name="store_id" lay-search="" lay-verify="store_id">
  45. <option value="">请选择门店</option>
  46. {foreach name="$store_list" item="vo"}
  47. <option value="{$vo['store_id']}" {if $vo['store_id'] == $data['store_id']} selected {/if} >{$vo['store_name']}</option>
  48. {/foreach}
  49. </select>
  50. </div>
  51. </div>
  52. {/if}
  53. </div>
  54. <div class="form-row">
  55. <button class="layui-btn" lay-submit lay-filter="save">保存</button>
  56. <button class="layui-btn layui-btn-primary" onclick="back()">返回</button>
  57. </div>
  58. <!-- 隐藏域 -->
  59. <input type="hidden" name="verifier_id" value="{$data.verifier_id}"/>
  60. </div>
  61. {/block}
  62. {block name="script"}
  63. <script>
  64. var form,repeat_flag = false;//防重复标识
  65. layui.use('form', function() {
  66. form = layui.form;
  67. form.render();
  68. // 隐藏
  69. switchVerierType($("input[name='verifier_type']:checked").val());
  70. checkMember();
  71. function switchVerierType(type){
  72. if (type == 0) {
  73. $(".js-store-template").hide();
  74. }else{
  75. $(".js-store-template").show();
  76. }
  77. }
  78. form.on('radio(verifier_type)', function(data) {
  79. switchVerierType(data.value);
  80. });
  81. // 表单验证
  82. form.verify({
  83. search_text:function(value){
  84. if(value == ''){
  85. return '请选择前台会员';
  86. }
  87. },
  88. member_id:function(value){
  89. if(value == ''){
  90. return '请选择前台会员';
  91. }
  92. },
  93. store_id: function(value) {
  94. var verifier_type = $("input[name='verifier_type']:checked").val();
  95. if(verifier_type == 1){
  96. if(value == ''){
  97. return '请选择门店';
  98. }
  99. }
  100. },
  101. });
  102. // 监听提交
  103. form.on('submit(save)', function(data) {
  104. if (repeat_flag) return;
  105. repeat_flag = true;
  106. $.ajax({
  107. url: ns.url("shop/verify/editUser"),
  108. data: data.field,
  109. dataType: 'JSON',
  110. type: 'POST',
  111. success: function(data){
  112. layer.msg(data.message);
  113. repeat_flag = false;
  114. if(data.code == 0){
  115. location.href = ns.url("shop/verify/user");
  116. }
  117. }
  118. });
  119. });
  120. });
  121. $('.check-member .layui-input').focus(function (){
  122. $(this).next('.layui-btn').addClass('border-color');
  123. }).blur(function () {
  124. $(this).next('.layui-btn').removeClass('border-color');
  125. });
  126. /**
  127. * 点击搜索
  128. */
  129. var repeat_flag_member = false;
  130. var html, val;
  131. function checkMember() {
  132. var parent = $(".check-member");
  133. var con = parent.find(".member-name").val();
  134. $(".layui-word-aux").remove();
  135. $(".search-result").remove();
  136. if (repeat_flag_member) return false;
  137. repeat_flag_member = true;
  138. if (con == "" || con == null || con.trim() == "") {
  139. repeat_flag = false;
  140. } else {
  141. $.ajax({
  142. type: 'POST',
  143. url: ns.url("shop/verify/searchMember"),
  144. data: {
  145. 'search_text': con
  146. },
  147. dataType: 'JSON',
  148. success: function(res) {
  149. repeat_flag_member = false;
  150. if (res.data == null) {
  151. html = '<span class="layui-word-aux">未找到该用户</span>';
  152. val = res.data;
  153. } else {
  154. html = '<div class="search-result layui-input-inline">' +
  155. '<div class="search-res-img">' +
  156. '<img src="' + ( res.data.headimg ? ns.img(res.data.headimg) : ns.img("{$default_headimg}")) + '" />' +
  157. '</div>' +
  158. '<div class="search-res-intro">' +
  159. '<p>用户名:' + res.data.username + '</p>' +
  160. '<p>电话:' + res.data.mobile + '</p>' +
  161. '</div>' +
  162. '<div class="search-res-close" onclick="closeMember()">' +
  163. '<i class="iconfont iconclose_light"></i>' +
  164. '</div>' +
  165. '</div>';
  166. val = res.data.member_id;
  167. }
  168. $("input[name='member_id']").attr("value", val);
  169. $(".check-member").append(html);
  170. }
  171. });
  172. }
  173. }
  174. function closeMember() {
  175. $(".search-result").hide();
  176. }
  177. function back() {
  178. location.href = ns.url("shop/verify/user");
  179. }
  180. </script>
  181. {/block}