pay.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308
  1. {extend name="layout/base" /}
  2. {block name="detail_css"}
  3. <link rel="stylesheet" href="__STATIC__/lib/Select Into/css/select_style.css">
  4. <link rel="stylesheet" href="__STATIC__/lib/Select Into/css/chosen.css">
  5. <style>
  6. body {
  7. background: unset;
  8. font-size:12px !important;
  9. }
  10. .layui-form-label {
  11. width: 112px;
  12. }
  13. .layui-textarea {
  14. width: 350px;
  15. }
  16. .chosen-container.chosen-container-multi {
  17. display: inline-block;
  18. }
  19. select[name="gongneng_state"] {
  20. height: 38px;
  21. }
  22. .addRule {
  23. position: absolute;
  24. left: 616px;
  25. }
  26. .add label {
  27. width: 154px;
  28. }
  29. .add .layui-form-item .layui-input-inline {
  30. width: 263px;
  31. }
  32. .fl_r {
  33. float: right;
  34. }
  35. .fl_l {
  36. float: left;
  37. }
  38. .pd_t_5 {
  39. padding-top: 5px;
  40. }
  41. .pd_t_8 {
  42. padding-top: 8px;
  43. }
  44. .mg_l_20 {
  45. margin-left: 20px;
  46. }
  47. .mg_l {
  48. margin-left: 142px;
  49. }
  50. .mg_r_5 {
  51. margin-right: 5px;
  52. }
  53. .no_border {
  54. border: 0;
  55. }
  56. .ruleText {
  57. font-size: 18px;
  58. }
  59. .wrap {
  60. width: 670px;
  61. display: flex;
  62. justify-content: space-between;
  63. margin-bottom: 20px;
  64. }
  65. </style>
  66. {/block}
  67. {block name="content"}
  68. <div class="x-body">
  69. <form>
  70. <div class="add_content">
  71. {notempty name="rule_list"}
  72. {volist name="rule_list" id="rvo"}
  73. <section class="x-body add" id="section{$i}">
  74. <div class="wrap"><h1 class="ruleText">规则<span></span></h1><button type="button" class="layui-btn layui-btn-danger J_delete_rule">删除规则</button></div>
  75. <div class="layui-form-item"><label for="" class="layui-form-label">预警时间阈值:</label><div class="layui-input-inline"><input type="text" autocomplete="off" class="layui-input" value="{$rvo.warning_time}" placeholder="" name="warn_time"></div><div class="layui-form-mid layui-word-aux"><span class="x-red">单位:分钟,必须正整数</span></div></div>
  76. <div class="layui-form-item"><label for="" class="layui-form-label">连续充值成功订单阈值:</label><div class="layui-input-inline"><input type="text" autocomplete="off" class="layui-input" value="{$rvo.order_count}" placeholder="" name="warn_succeed_order"></div><div class="layui-form-mid layui-word-aux"><span class="x-red">单位:笔,必须正整数</span></div></div>
  77. <div class="layui-form-item">
  78. <label class="layui-form-label">金额预警:</label>
  79. <div class="layui-input-inline" style="width: 100px;"><input type="text" name="price_min" placeholder="¥" autocomplete="off" class="layui-input J_price_min" value="{$rvo.min_amount}"></div>
  80. <div class="layui-form-mid">≦金额≦</div><div class="layui-input-inline" style="width: 100px;"><input type="text" name="price_max" placeholder="¥" autocomplete="off" class="layui-input J_price_max" value="{$rvo.max_amount}"></div>
  81. <div class="layui-form-mid layui-word-aux"><span class="x-red">单位:元,必须正整数</span></div>
  82. </div>
  83. <div class="layui-form-item"><label class="layui-form-label">是否包括6元:</label><div class="layui-input-inline pd_t_8"><label class="mg_r_5">是</label><input type="radio" name="includeSix_{$i}" value="1" title="是" {if condition="$rvo.is_six eq 1" }checked{/if} lay-filter="radios"><label class="mg_l_20 mg_r_5">否</label><input type="radio" name="includeSix_{$i}" value="0" {if condition="$rvo.is_six eq '0'" }checked{/if} title="否" lay-filter="radios"></div></div>
  84. <hr>
  85. </section>
  86. {/volist}
  87. {/notempty}
  88. </div>
  89. <button type="button" class="layui-btn layui-btn-normal addRule">添加规则</button>
  90. <div class="layui-form-item">
  91. <label class="layui-form-label">功能状态:</label>
  92. <div class="layui-input-inline">
  93. <select lay-search id="J_status" name="status" lay-filter="filter">
  94. <option value="1" {if condition="$settingInfo.status eq 1" }selected="selected" {/if}>开启</option>
  95. <option value="0" {if condition="$settingInfo.status eq '0'" }selected="selected" {/if}>关闭</option>
  96. </select>
  97. </div>
  98. </div>
  99. <div class="layui-form-item">
  100. <label class="layui-form-label">白名单渠道:</label>
  101. <div class="layui-input-block pd_t_5">
  102. <select data-placeholder="请选择白名单渠道" id="whiteListChannel" class="chosen-select" multiple tabindex="1" name="whitelist_channel">
  103. <option value=""></option>
  104. {notempty name="channel_list"}
  105. {volist name="channel_list" id="cvo"}
  106. <option value="{$cvo.id}" {if condition="in_array($cvo.id,$whitelist_channels)"}selected="selected" {/if}>{:escape($cvo.name)}</option>
  107. {/volist}
  108. {/notempty}
  109. </select>
  110. </div>
  111. </div>
  112. <div class="layui-form-item layui-form-text">
  113. <label class="layui-form-label">收件人邮箱:</label>
  114. <div class="layui-input-block">
  115. <textarea name="emails" id="J_emails" placeholder="" class="layui-textarea">{:str_replace(';',"\\n",$settingInfo.emails)}</textarea>
  116. </div>
  117. <div class="layui-form-mid layui-word-aux mg_l">
  118. <span class="x-red">多个邮箱请换行,一个邮箱一行</span>
  119. </div>
  120. </div>
  121. <div class="layui-form-item">
  122. <div class="layui-input-block mg_l">
  123. <button type="button" class="layui-btn layui-btn-normal" id="J_save">保存</button>
  124. </div>
  125. </div>
  126. </form>
  127. </div>
  128. {/block}
  129. {block name="detail_js"}
  130. <script src="__STATIC__/lib/Select Into/js/chosen.jquery.js" type="text/javascript"></script>
  131. <script src="__STATIC__/lib/Select Into/js/select_init.js" type="text/javascript" ></script>
  132. <script>
  133. $(document).ready(function () {
  134. //chosen初始化
  135. $(".chosen-select").chosen();
  136. //多选select 数据同步
  137. chose_get_ini('#whiteListChannel');
  138. //change 事件
  139. $('#whiteListChannel').change(function () {
  140. });
  141. })
  142. var body = document.body;
  143. var add_content = document.getElementsByClassName("add_content")[0];
  144. var count = {:count($rule_list)};
  145. layui.use(['form'], function () {
  146. var form = layui.form;
  147. $(".addRule").on("click", function () {
  148. count++;
  149. var my_form = document.getElementsByTagName("form")[0];
  150. var obj_section = document.createElement("section");
  151. obj_section.className = "x-body add"; //layui-form
  152. obj_section.setAttribute("id", "section" + count)
  153. obj_section.innerHTML =
  154. '<div class="wrap"><h1 class="ruleText">规则<span></span></h1><button type="button" class="layui-btn layui-btn-danger J_delete_rule">删除规则</button></div><div class="layui-form-item"><label for="" class="layui-form-label">预警时间阈值:</label><div class="layui-input-inline"><input type="text" autocomplete="off" class="layui-input" value="1" placeholder="" name="warn_time"></div><div class="layui-form-mid layui-word-aux"><span class="x-red">单位:分钟,必须正整数</span></div></div><div class="layui-form-item"><label for="" class="layui-form-label">连续充值成功订单阈值:</label><div class="layui-input-inline"><input type="text" autocomplete="off" class="layui-input" value="2" placeholder="" name="warn_succeed_order"></div><div class="layui-form-mid layui-word-aux"><span class="x-red">单位:笔,必须正整数</span></div></div><div class="layui-form-item"><label class="layui-form-label">金额预警:</label><div class="layui-input-inline" style="width: 100px;"><input type="text" name="price_min" placeholder="¥" autocomplete="off" class="layui-input J_price_min"></div><div class="layui-form-mid">≦金额≦</div><div class="layui-input-inline" style="width: 100px;"><input type="text" name="price_max" placeholder="¥" autocomplete="off" class="layui-input J_price_max"></div><div class="layui-form-mid layui-word-aux"><span class="x-red">单位:元,必须正整数</span></div></div><div class="layui-form-item"><label class="layui-form-label">是否包括6元:</label><div class="layui-input-inline pd_t_8"><label class="mg_r_5">是</label><input type="radio" name="includeSix_' +
  155. count +
  156. '" value="1" title="是" lay-filter="radios" ><label class="mg_l_20 mg_r_5">否</label><input type="radio" name="includeSix_' +
  157. count + '" value="0" title="否" checked lay-filter="radios"></div></div><hr>'
  158. add_content.appendChild(obj_section);
  159. });
  160. //删除规则
  161. $(body).on("click", ".J_delete_rule", function () {
  162. $(this).parent().parent().remove();
  163. });
  164. //保存按钮
  165. $("#J_save").on("click", function () {
  166. //白名单渠道
  167. console.log(chose_get_value('#whiteListChannel'));
  168. // 预警时间阈值
  169. var warn_time_Ary = [];
  170. for (var i = 0; i < $("input[name=warn_time]").length; i++) {
  171. warn_time_Ary.push($("input[name=warn_time]").eq(i).val());
  172. }
  173. console.log(warn_time_Ary);
  174. //连续充值成功订单阈值
  175. var warn_succeed_order_Ary = [];
  176. for (var i = 0; i < $("input[name=warn_succeed_order]").length; i++) {
  177. warn_succeed_order_Ary.push($("input[name=warn_succeed_order]").eq(i).val());
  178. }
  179. console.log(warn_succeed_order_Ary);
  180. //金额预警 最小值
  181. var price_min_Ary = [];
  182. for (var i = 0; i < $(".J_price_min").length; i++) {
  183. price_min_Ary.push($(".J_price_min").eq(i).val());
  184. // console.log($(".J_price_min"));
  185. }
  186. console.log(price_min_Ary);
  187. //金额预警 最大值
  188. var price_max_Ary = [];
  189. for (var i = 0; i < $(".J_price_max").length; i++) {
  190. price_max_Ary.push($(".J_price_max").eq(i).val());
  191. }
  192. console.log(price_max_Ary);
  193. //是否包括6元
  194. var radioAry = [];
  195. for (var i = 0; i < $("input[type=radio]:checked").length; i++) {
  196. radioAry.push($("input[type=radio]:checked").eq(i).val());
  197. }
  198. console.log(radioAry);
  199. var request_data = {
  200. "status": $("select[id=J_status] option:selected").val(),
  201. "whitelist_channel": chose_get_value('#whiteListChannel'),
  202. "emails": $("#J_emails").val().split(/[\n]/),
  203. "warning_time": warn_time_Ary,
  204. "order_count": warn_succeed_order_Ary,
  205. "min_amount": price_min_Ary,
  206. "max_amount": price_max_Ary,
  207. "is_six": radioAry
  208. }
  209. console.log(request_data);
  210. //ajax提交
  211. $.ajax({
  212. url: "{:url('payPost')}",
  213. data: request_data,
  214. type: "post",
  215. dataType: "json",
  216. timeout: 5000,
  217. success: function (data) {
  218. layer.alert(data['msg']);
  219. },
  220. error: function (err) {
  221. layer.alert('网络错误,请重试');
  222. }
  223. })
  224. })
  225. });
  226. //select 数据同步
  227. function chose_get_ini(select) {
  228. $(select).chosen().change(function () {
  229. $(select).trigger("liszt:updated");
  230. });
  231. }
  232. //select value获取
  233. function chose_get_value(select) {
  234. return $(select).val();
  235. }
  236. //select text获取,多选时请注意
  237. function chose_get_text(select) {
  238. return $(select + "option:selected").text();
  239. }
  240. </script>
  241. {/block}