<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> 
 |