giftChannelLimit.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328
  1. {extend name="layout/base" /}
  2. {block name="detail_css"}
  3. <!--<link rel="stylesheet" href="__STATIC__/js/select2/css/select2.min.css" type="text/css"/>
  4. <link rel="stylesheet" href="__STATIC__/js/select2/css/select2-bootstrap.min.css" type="text/css"/>-->
  5. <link rel="stylesheet" href="__STATIC__/css/admin/bootstrap.min.css">
  6. <style>
  7. .layui-form-item .layui-input-inline {
  8. float: left;
  9. width: 290px;
  10. margin-right: 10px;
  11. }
  12. .layui-form-label{
  13. width: 116px;
  14. }
  15. .J_limitChannel .layui-unselect.layui-form-select{
  16. display: none;
  17. }
  18. .item{
  19. padding: 3px 5px;
  20. border-radius: 5px;
  21. background-color: #ddd;
  22. margin-top: 3px;
  23. margin-left: 3px;
  24. word-wrap: unset;
  25. display: inline-block;
  26. }
  27. .item b:hover{
  28. cursor: pointer;
  29. }
  30. .item b{
  31. color: #999;
  32. }
  33. .Multiple_box{
  34. margin-bottom:10px;
  35. }
  36. </style>
  37. {/block}
  38. {block name="content"}
  39. <div class="x-body">
  40. <!--method="post" {:url('giftChannelLimit')}-->
  41. <form id="channel_set" class="layui-form" action="">
  42. <input type="hidden" name="infoid" value="{$infoid|default=''}"/>
  43. <fieldset class="layui-elem-field layui-field-title" >
  44. <legend>所有渠道配置</legend>
  45. </fieldset>
  46. <div class="layui-form-item">
  47. <label class="layui-form-label">限制总额:</label>
  48. <div class="layui-input-block">
  49. <input type="radio" name="all_limit" value="1" title="开启" {if condition="($info.all_limit eq '0')"}checked{/if}>
  50. <input type="radio" name="all_limit" value="2" title="关闭" {if condition="($info.all_limit eq '1')"}checked{/if}>
  51. </div>
  52. </div>
  53. <div class="layui-form-item">
  54. <label for="" class="layui-form-label">数量:</label>
  55. <div class="layui-input-inline">
  56. <input type="text" name="all_num" class="layui-input" autocomplete="off" value="{$info.all_num|default=''}" placeholder="必须为0或正整数
  57. "/>
  58. </div>
  59. </div>
  60. <div class="layui-form-item">
  61. <label class="layui-form-label">每日限额:</label>
  62. <div class="layui-input-block">
  63. <input type="radio" name="all_day" value="1" title="开启" {if condition="($info.all_day eq '0')"}checked{/if}>
  64. <input type="radio" name="all_day" value="2" title="关闭" {if condition="($info.all_day eq '1')"}checked{/if}>
  65. </div>
  66. </div>
  67. <div class="layui-form-item">
  68. <label for="" class="layui-form-label">数量:</label>
  69. <div class="layui-input-inline">
  70. <input type="text" name="all_day_num" class="layui-input" autocomplete="off" value="{$info.all_day_num|default=''}" placeholder="必须为0或正整数
  71. "/>
  72. </div>
  73. </div>
  74. <fieldset class="layui-elem-field layui-field-title" >
  75. <legend>部分渠道配置</legend>
  76. </fieldset>
  77. <div class="layui-form-item">
  78. <label class="layui-form-label">限制总额:</label>
  79. <div class="layui-input-block">
  80. <input type="radio" name="part_limit" value="1" title="开启" {if condition="($info.part_limit eq '0')"}checked{/if}>
  81. <input type="radio" name="part_limit" value="2" title="关闭" {if condition="($info.part_limit eq '1')"}checked{/if}>
  82. </div>
  83. </div>
  84. <div class="layui-form-item">
  85. <label for="" class="layui-form-label">数量:</label>
  86. <div class="layui-input-inline">
  87. <input type="text" name="part_num" class="layui-input" autocomplete="off" value="{$info.part_num|default=''}" placeholder="必须为0或正整数
  88. "/>
  89. </div>
  90. </div>
  91. <div class="layui-form-item">
  92. <label class="layui-form-label">每日限额:</label>
  93. <div class="layui-input-block">
  94. <input type="radio" name="part_day" value="1" title="开启" {if condition="($info.part_day eq '0')"}checked{/if}>
  95. <input type="radio" name="part_day" value="2" title="关闭" {if condition="($info.part_day eq '1')"}checked{/if}>
  96. </div>
  97. </div>
  98. <div class="layui-form-item">
  99. <label for="" class="layui-form-label">数量:</label>
  100. <div class="layui-input-inline">
  101. <input type="text" name="part_day_num" class="layui-input" autocomplete="off" value="{$info.part_day_num|default=''}" placeholder="必须为0或正整数
  102. "/>
  103. </div>
  104. </div>
  105. <div class="layui-form-item J_limitChannel">
  106. <label for="" class="layui-form-label">限制渠道:</label>
  107. <div class="layui-input-inline">
  108. <!--<select name="denied_channel_1[]" class="form-control input-small input-inline select2 setWidth"
  109. multiple="multiple" id="channel_id">
  110. </select>-->
  111. <div class="Multiple_box">
  112. </div>
  113. <button type="button" class="layui-btn layui-btn-normal" data-toggle="modal" data-target="#myModal_1">添加限制渠道</button>
  114. </div>
  115. </div>
  116. <fieldset class="layui-elem-field layui-field-title" >
  117. <legend></legend>
  118. </fieldset>
  119. <div class="layui-form-item">
  120. <label class="layui-form-label">开启领取限制:</label>
  121. <div class="layui-input-block">
  122. <input type="radio" name="status" value="1" title="开启" {if condition="($info.status eq '0')"}checked{/if}>
  123. <input type="radio" name="status" value="2" title="关闭" {if condition="($info.status eq '1')"}checked{/if}>
  124. </div>
  125. </div>
  126. <div class="layui-form-item">
  127. <label for="" class="layui-form-label">方案备注:</label>
  128. <div class="layui-input-inline">
  129. <textarea name="remark" rows="8" class="layui-textarea">{$info.remark}</textarea>
  130. </div>
  131. </div>
  132. <div class="layui-form-item">
  133. <div class="layui-input-block"><!--lay-submit lay-filter="formDemo"-->
  134. <button class="layui-btn to_submit_set lay-submit" id="MySubmit" >提交</button>
  135. <a href="{:url('guildGift')}" class="layui-btn layui-btn-primary">返回</a>
  136. </div>
  137. </div>
  138. </form>
  139. </div>
  140. <!-- 模态框(Modal) -->
  141. <form class="layui-form">
  142. <div class="modal fade" id="myModal_1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  143. <div class="modal-dialog">
  144. <div class="modal-content">
  145. <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  146. <h4 class="modal-title" id="myModalLabel">添加限制渠道</h4>
  147. </div>
  148. <div class="modal-body">
  149. <div class="layui-form-item">
  150. <label for="" class="layui-form-label" style="width: 150px">请选择要修改的渠道:</label>
  151. <div class="layui-input-inline">
  152. <select name="controler" lay-filter="date" lay-search>
  153. <option value="">请选择限制渠道</option>
  154. {volist name="channel_list" id="vo"}
  155. <option value="{$vo.id}">{$vo.name}</option>
  156. {/volist}
  157. </select>
  158. </div>
  159. </div>
  160. </div>
  161. <div class="modal-footer">
  162. <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
  163. <button type="button" class="btn btn-primary" id="confirm">确定</button>
  164. </div>
  165. </div>
  166. </div>
  167. </div>
  168. </form>
  169. {/block}
  170. {block name="detail_js"}
  171. <!--<script src="__STATIC__/js/select2/js/select2.full.min.js" type="text/javascript"></script>-->
  172. <script type="text/javascript" src="__STATIC__/js/admin/bootstrap.min.js"></script>
  173. <script>
  174. $(function () {
  175. });
  176. layui.use(['form'], function () {
  177. $ = layui.jquery;
  178. var form = layui.form;
  179. var str = "{$limitArr}";
  180. var arrForID = str.split(',');
  181. arrForID = arrForID.filter(function(n) { return n; });
  182. console.log(arrForID);
  183. var storeName = "";
  184. var storeID = "";
  185. //如果数组中有传入id
  186. if (arrForID.length > 0) {
  187. var options = $("select[name=controler]").children();
  188. for (var i = 0; i < arrForID.length; i++) {
  189. for (var j = 0; j < options.length; j++) {
  190. if (arrForID[i] == options[j].value) {
  191. var creat_span = document.createElement("span");
  192. creat_span.className = "item";
  193. creat_span.setAttribute("id", arrForID[i])
  194. creat_span.innerHTML = options[j].innerText + '<b> x</b>';
  195. }
  196. }
  197. $(".Multiple_box").append(creat_span);
  198. }
  199. }
  200. //监听select
  201. form.on('select(date)', function (data) {
  202. storeName = "";
  203. storeName = this.innerText;
  204. storeID = "";
  205. storeID = data.value;
  206. // console.log(this.innerText);
  207. // console.log(data.elem); //得到select原始DOM对象
  208. // console.log(data.value); //得到被选中的值
  209. // console.log(data.othis); //得到美化后的DOM对象
  210. });
  211. //打叉去除已选中的
  212. $(".Multiple_box").on("click", ".item b", function () {
  213. var ID = $(this).parent().attr("id");
  214. $(this).parent().remove();
  215. var options = $("select[name=controler]").children();
  216. for (var i = 0; i < options.length; i++) {
  217. if (options[i].value == ID) {
  218. console.log(ID);
  219. options[i].removeAttribute("disabled")
  220. var index = arrForID.indexOf(ID);
  221. if (index > -1) {
  222. arrForID.splice(index, 1);
  223. }
  224. }
  225. }
  226. form.render('select');
  227. });
  228. //模态框完全出现时
  229. $('#myModal_1').on('shown.bs.modal', function () {
  230. if (arrForID.length > 0) {
  231. var options = $("select[name=controler]").children();
  232. for (var i = 0; i < options.length; i++) {
  233. for (var j = 0; j < arrForID.length; j++) {
  234. if (options[i].value == arrForID[j]) {
  235. options[i].setAttribute("disabled", true);
  236. }
  237. }
  238. }
  239. form.render('select');
  240. } else {
  241. var options = $("select[name=controler]").children();
  242. for (var i = 0; i < options.length; i++) {
  243. options[i].removeAttribute("disabled")
  244. }
  245. form.render('select');
  246. }
  247. });
  248. //模态框点击确认时
  249. $("#confirm").on("click", function () {
  250. if (storeName == "请选择限制渠道" || storeName == '') {
  251. layer.msg('不能为空值,请重新选择', function(){});
  252. return false
  253. }
  254. $("#myModal_1").modal('hide');
  255. arrForID.push(storeID)
  256. var creat_span = document.createElement("span");
  257. creat_span.className = "item";
  258. creat_span.setAttribute("id", storeID)
  259. creat_span.innerHTML = storeName + '<b>X</b>';
  260. $(".Multiple_box").append(creat_span);
  261. console.log(arrForID);
  262. });
  263. //点击提交时
  264. $("form").submit(function (event) {
  265. var obj = $('#channel_set').serialize();
  266. $.ajax({
  267. type: "post",
  268. url: "{:url('giftChannelLimit')}",
  269. async: false,
  270. data: {
  271. "formData": obj,
  272. "limitArr": arrForID
  273. },
  274. dataType: 'json',
  275. timeout: 10000,
  276. success: function (data) {
  277. layer.alert(data.msg);
  278. if (data.code > 0) {
  279. setTimeout("window.location.href='"+data.data+"'",1000)
  280. }
  281. },
  282. error: function () {
  283. layer.alert('网络错误,请重试');
  284. }
  285. });
  286. event.preventDefault();
  287. });
  288. });
  289. </script>
  290. {/block}