| <div class="layui-fluid layui-anim febs-anim" id="vip-setting" lay-title="会员设置"> | 
|     <div class="layui-row layui-col-space8 febs-container"> | 
|         <form class="layui-form" action="" lay-filter="vip-setting-form"> | 
|             <div class="layui-card"> | 
|                 <div class="layui-card-body"> | 
|                     <blockquote class="layui-elem-quote blue-border">会员日设置</blockquote> | 
|                     <div class="layui-form-item"> | 
|                         <div class="layui-col-lg6"> | 
|                             <label class="layui-form-label ">会员日:</label> | 
|                             <div class="layui-input-block"> | 
|                                 <input type="text" name="vipDate" id="vipDate" autocomplete="off" class="layui-input" > | 
|                             </div> | 
|                         </div> | 
|                     </div> | 
|   | 
|   | 
|                     <blockquote class="layui-elem-quote blue-border">失活客户优惠券</blockquote> | 
|   | 
|                     <div class="layui-form-item"> | 
|                         <div class="layui-col-lg6"> | 
|                             <table id="unAliveCouponItem" lay-filter="unAliveCouponItem"></table> | 
|                         </div> | 
|                     </div> | 
|   | 
|                     <blockquote class="layui-elem-quote blue-border">会员规则</blockquote> | 
|                     <div class="layui-form-item"> | 
|                         <div style="border: 1px solid #ccc;"> | 
|                             <div id="toolbar-container" class="toolbar"></div> | 
|                             <div id="editor-container" class="text" style="height: 450px;"></div> | 
|                         </div> | 
|                     </div> | 
|                 </div> | 
|                 <div class="layui-card-footer"> | 
|                     <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="vip-setting-form-submit" id="submit">保存</button> | 
|                 </div> | 
|             </div> | 
|         </form> | 
|     </div> | 
| </div> | 
| <style> | 
|     .layui-form-label { | 
|         width: 120px; | 
|     } | 
|   | 
|     .layui-form-item .layui-input-block { | 
|         margin-left: 150px; | 
|     } | 
|   | 
|     .layui-table-form .layui-form-item { | 
|         margin-bottom: 20px !important; | 
|     } | 
|   | 
|     .layui-table-cell { | 
|         height:auto; | 
|     } | 
| </style> | 
|   | 
| <script type="text/html" id="toolbar1"> | 
|     <div class="layui-btn-container"> | 
|         <button class="layui-btn layui-btn-sm" type="button" lay-event="addCoupon">新增</button> | 
|         <button class="layui-btn layui-btn-danger layui-btn-sm" type="button" lay-event="delCoupon">删除</button> | 
|     </div> | 
| </script> | 
|   | 
| <script type="text/html" id="detailsEvent"> | 
|     <input type="text" name="couponName" autocomplete="off" data-index="{{d.index}}" value="{{d.couponName}}" class="layui-input couponSelect" readonly> | 
|     <input type="text" name="couponId" autocomplete="off" value="{{d.couponId}}" class="layui-input couponId febs-hide" readonly> | 
| </script> | 
| <script data-th-inline="javascript" type="text/javascript"> | 
|     layui.use(['dropdown', 'jquery', 'validate', 'febs', 'form', 'eleTree', 'laydate', 'table'], function () { | 
|         var $ = layui.jquery, | 
|             febs = layui.febs, | 
|             form = layui.form, | 
|             table = layui.table, | 
|             laydate = layui.laydate, | 
|             unAliveCouponItemsData = [], | 
|             vipSetting = [[${vipSetting}]], | 
|             validate = layui.validate, | 
|             $view = $('#vip-setting'); | 
|   | 
|         form.verify(validate); | 
|   | 
|   | 
|         form.render(); | 
|   | 
|         laydate.render({ | 
|             elem: '#vipDate' | 
|             ,format: 'MM-dd' | 
|         }); | 
|   | 
|         table.render({ | 
|             elem: '#unAliveCouponItem' | 
|             ,toolbar:"#toolbar1" | 
|             ,cols: [[ //表头 | 
|                 {type: 'checkbox'} | 
|                 , {field: 'day', title: '失活天数', edit:'text', width:250} | 
|                 ,{templet: '#detailsEvent', title: '优惠券', width:350} | 
|             ]] | 
|             ,data: [] | 
|         }); | 
|   | 
|         table.on('toolbar(unAliveCouponItem)', function(obj){ | 
|             var data = obj.data; | 
|   | 
|             if(obj.event === 'delCoupon'){ | 
|                 var hasData = table.cache['unAliveCouponItem']; | 
|                 var checkData = table.checkStatus('unAliveCouponItem').data; | 
|   | 
|                 if (checkData.length <= 0) { | 
|                     febs.alert.warn('请选择删除数据'); | 
|                     return; | 
|                 } | 
|   | 
|                 for (let i = 0; i < checkData.length; i++) { | 
|                     var delData = checkData[i]; | 
|                     for (let j = 0; j < hasData.length; j++) { | 
|                         if (hasData[j].index == delData.index) { | 
|                             hasData.splice(j, 1); | 
|                             break; | 
|                         } | 
|                     } | 
|                 } | 
|   | 
|                 for (let i = 0; i < hasData.length; i++) { | 
|                     hasData[i].index = i + 1; | 
|                 } | 
|   | 
|                 unAliveCouponItemsData=hasData; | 
|                 reloadTable(hasData); | 
|             } | 
|   | 
|             if(obj.event === 'addCoupon'){ | 
|                 var addData = {}; | 
|                 addTableDate(addData); | 
|             } | 
|         }); | 
|   | 
|         form.on('submit(vip-setting-form-submit)', function (data) { | 
|             data.field.items = unAliveCouponItemsData; | 
|             data.field.rule = editor.txt.html(); | 
|             $.ajax({ | 
|                 'url':ctx + 'admin/vip/config/vipSetting', | 
|                 'type':'post', | 
|                 'dataType':'json', | 
|                 'headers' : {'Content-Type' : 'application/json;charset=utf-8'}, //接口json格式 | 
|                 'traditional': true,//ajax传递数组必须添加属性 | 
|                 'data':JSON.stringify(data.field), | 
|                 'success':function (data) { | 
|                     if(data.code==200){ | 
|                         febs.alert.success("设置成功"); | 
|                     }else{ | 
|                         febs.alert.warn(data.message); | 
|                     } | 
|                 }, | 
|                 'error':function () { | 
|                     febs.alert.warn('服务器繁忙'); | 
|                 } | 
|             }) | 
|             window.location.reload(); | 
|             return false; | 
|         }); | 
|   | 
|         table.on('edit(unAliveCouponItem)', function(obj){ | 
|             var value = obj.value //得到修改后的值 | 
|                 ,data = obj.data //得到所在行所有键值 | 
|                 ,field = obj.field; //得到字段 | 
|   | 
|             for (let i = 0; i < unAliveCouponItemsData.length; i++) { | 
|                 if (unAliveCouponItemsData[i].index == data.index) { | 
|                     unAliveCouponItemsData[i] = data; | 
|                 } | 
|             } | 
|         }); | 
|         const E = window.wangEditor; | 
|         const editor = new E('#toolbar-container', '#editor-container'); // 传入两个元素 | 
|         editor.config.showLinkImg = false; | 
|         editor.config.uploadFileName = 'file'; | 
|         editor.config.customUploadImg = function (files, insertImgFn) { | 
|             for (let i = 0; i < files.length; i++){ | 
|                 var form = new FormData(); | 
|                 form.append("file", files[0]); | 
|                 $.ajax({ | 
|                     url:'/admin/goods/uploadFileBase64', | 
|                     type: "post", | 
|                     processData: false, | 
|                     contentType: false, | 
|                     data: form, | 
|                     dataType: 'json', | 
|                     success(res) { | 
|                         // 上传代码返回结果之后,将图片插入到编辑器中 | 
|                         insertImgFn(res.data.src, res.data.title, '') | 
|                     } | 
|                 }) | 
|             } | 
|         }; | 
|         editor.create(); | 
|   | 
|   | 
|         function addTableDate(data) { | 
|             var hasData = table.cache['unAliveCouponItem']; | 
|   | 
|             data.index = hasData.length + 1; | 
|             data.couponName = '' | 
|             data.couponId = '' | 
|             data.day = '' | 
|             unAliveCouponItemsData.push(data); | 
|   | 
|             reloadTable(unAliveCouponItemsData); | 
|             return data.index; | 
|         } | 
|   | 
|         function reloadTable(data) { | 
|             table.reload('unAliveCouponItem', { | 
|                 data : data | 
|             }); | 
|   | 
|             listenerCouponSelect(); | 
|         } | 
|   | 
|         function listenerCouponSelect() { | 
|             $(".couponSelect").each(function(index, elem) { | 
|                 var dataIndex = $(this).attr('data-index'); | 
|   | 
|                 $(this).off('click') | 
|                 $(this).on('click', function() { | 
|                     febs.modal.open('选择优惠券', 'modules/vip/config/couponSelect/' + dataIndex, { | 
|                         btn: ['提交', '取消'], | 
|                         yes: function (index, layero) { | 
|                             $('#vip-coupon-select').find('#submit').trigger('click'); | 
|                             layer.close(index); | 
|                         }, | 
|                         btn2: function () { | 
|                         } | 
|                     }); | 
|                 }) | 
|             }); | 
|         } | 
|   | 
|         window.setCouponSelect = function(tableIndex, data) { | 
|             var hasData = table.cache['unAliveCouponItem']; | 
|   | 
|             for(var i = 0; i<hasData.length; i++) { | 
|                 if (tableIndex == hasData[i].index) { | 
|                     hasData[i].couponId = data.couponId; | 
|                     hasData[i].couponName = data.couponName | 
|                 } | 
|             } | 
|   | 
|             unAliveCouponItemsData = hasData; | 
|             $(".couponSelect").each(function(index, elem) { | 
|                 var dataIndex = $(this).attr('data-index'); | 
|                 if (dataIndex == tableIndex) { | 
|                     $(this).val(data.couponName); | 
|                     $(this).next().val(data.couponId); | 
|                 } | 
|             }); | 
|         } | 
|   | 
|   | 
|         initVipSettingValue(); | 
|         function initVipSettingValue() { | 
|             form.val("vip-setting-form", { | 
|                 "vipDate": vipSetting.vipDate, | 
|             }); | 
|   | 
|             var details = vipSetting.items; | 
|             if (details) { | 
|                 for(var i = 0; i < details.length; i++) { | 
|                     details[i].index = i + 1; | 
|                 } | 
|   | 
|                 unAliveCouponItemsData = details; | 
|                 reloadTable(details); | 
|             } | 
|   | 
|   | 
|             editor.txt.html(vipSetting.rule); | 
|         } | 
|     }); | 
| </script> |