<div class="layui-fluid layui-anim febs-anim" id="febs-carriage-rule-update" lay-title="运费模板编辑"> 
 | 
    <div class="layui-row febs-container"> 
 | 
        <div class="layui-col-md12"> 
 | 
            <div class="layui-fluid" id="carriage-rule-update"> 
 | 
                <form class="layui-form" action="" lay-filter="carriage-rule-update-form"> 
 | 
                    <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief"> 
 | 
                        <ul class="layui-tab-title"> 
 | 
                            <li class="layui-this">运费模板</li> 
 | 
                        </ul> 
 | 
                        <div class="layui-tab-content"> 
 | 
                            <div class="layui-tab-item layui-show"> 
 | 
                                <blockquote class="layui-elem-quote blue-border">基本信息</blockquote> 
 | 
                                <input type="text" name="id" 
 | 
                                       placeholder="" autoComplete="off" class="layui-input febs-hide"> 
 | 
                                <div class="layui-row layui-col-space10 layui-form-item"> 
 | 
                                    <div class="layui-col-lg6"> 
 | 
                                        <label class="layui-form-label febs-form-item-require">标题:</label> 
 | 
                                        <div class="layui-input-block"> 
 | 
                                            <input type="text" name="ruleName" lay-verify="required" placeholder="" autocomplete="off" class="layui-input"> 
 | 
                                        </div> 
 | 
                                    </div> 
 | 
                                </div> 
 | 
  
 | 
                                <div class="layui-form-item"> 
 | 
                                    <label class="layui-form-label febs-form-item-require">计价方式:</label> 
 | 
                                    <div class="layui-input-block"> 
 | 
                                        <input type="radio" name="valuationType" value="1" title="按件算" checked /> 
 | 
<!--                                        <input type="radio" name="valuationType" value="2" title="按重量算" />--> 
 | 
                                    </div> 
 | 
                                </div> 
 | 
  
 | 
                                <blockquote class="layui-elem-quote blue-border">默认规则</blockquote> 
 | 
                                <div class="layui-form-item"> 
 | 
                                    <label class="layui-form-label febs-form-item-require">默认运费:</label> 
 | 
                                    <div class="layui-input-inline" style="width: 80px"> 
 | 
                                        <input type="text" name="basicCntDefault" lay-verify="required" autocomplete="off" class="layui-input" > 
 | 
                                    </div> 
 | 
                                    <div class="layui-form-mid">件内,</div> 
 | 
                                    <div class="layui-input-inline" style="width: 80px"> 
 | 
                                        <input type="text" name="basicPriceDefault" lay-verify="required" autocomplete="off" class="layui-input" > 
 | 
                                    </div> 
 | 
                                    <div class="layui-form-mid">元,</div> 
 | 
                                    <div class="layui-form-mid">每增加</div> 
 | 
                                    <div class="layui-input-inline" style="width: 80px"> 
 | 
                                        <input type="text" name="moreCntDefault" lay-verify="required" autocomplete="off" class="layui-input" > 
 | 
                                    </div> 
 | 
                                    <div class="layui-form-mid">件,增加运费</div> 
 | 
                                    <div class="layui-input-inline" style="width: 80px"> 
 | 
                                        <input type="text" name="morePriceDefault" lay-verify="required" autocomplete="off" class="layui-input" > 
 | 
                                    </div> 
 | 
                                    <div class="layui-form-mid">元。</div> 
 | 
                                </div> 
 | 
                                <div class="layui-form-item multi-rule-table"> 
 | 
                                    <div class="layui-row layui-col-space10 layui-form-item"> 
 | 
                                        <blockquote class="layui-elem-quote blue-border">为指定省份设置运费</blockquote> 
 | 
  
 | 
                                        <div class="layui-col-lg6"> 
 | 
                                            <label class="layui-form-label febs-form-item-require">指定省份:</label> 
 | 
                                            <div class="layui-input-block"> 
 | 
                                                <div id="province-set"></div> 
 | 
                                            </div> 
 | 
                                        </div> 
 | 
                                        <div class="layui-col-lg6"> 
 | 
                                            <button type="button" class="layui-btn layui-btn-normal layui-btn" id="test3" >添加</button> 
 | 
                                        </div> 
 | 
                                    </div> 
 | 
  
 | 
                                    <div class="layui-form-item"> 
 | 
                                        <div class="layui-input-block"> 
 | 
                                            <table id="multiRule" lay-filter="multiRule"></table> 
 | 
                                        </div> 
 | 
                                    </div> 
 | 
                                </div> 
 | 
                            </div> 
 | 
                        </div> 
 | 
                    </div> 
 | 
                    <div class="layui-form-item febs-hide"> 
 | 
                        <button class="layui-btn" lay-submit="" lay-filter="carriage-rule-update-form-submit" id="submit">保存</button> 
 | 
                    </div> 
 | 
                </form> 
 | 
            </div> 
 | 
        </div> 
 | 
    </div> 
 | 
</div> 
 | 
<style> 
 | 
    .blue-border { 
 | 
        border-left-color: #2db7f5; 
 | 
        font-size: 18px; 
 | 
    } 
 | 
</style> 
 | 
<script type="text/html" id="toolbar"> 
 | 
    <div class="layui-btn-container"> 
 | 
        <button class="layui-btn layui-btn-danger layui-btn-sm" type="button" lay-event="delSku">删除</button> 
 | 
    </div> 
 | 
</script> 
 | 
<!-- 表格操作栏 end --> 
 | 
<script data-th-inline="javascript"> 
 | 
    layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','dropdown', 'laydate', 'layedit', 'upload', 'element', 'table', 'xmSelect'], function () { 
 | 
        var $ = layui.jquery, 
 | 
            febs = layui.febs, 
 | 
            layer = layui.layer, 
 | 
            table = layui.table, 
 | 
            formSelects = layui.formSelects, 
 | 
            treeSelect = layui.treeSelect, 
 | 
            form = layui.form, 
 | 
            laydate = layui.laydate, 
 | 
            eleTree = layui.eleTree, 
 | 
            $view = $('#carriage-rule-update'), 
 | 
            layedit = layui.layedit, 
 | 
            carriageRule = [[${carriageRule}]], 
 | 
            upload = layui.upload, 
 | 
            validate = layui.validate, 
 | 
            element = layui.element; 
 | 
  
 | 
        form.render(); 
 | 
  
 | 
        formSelects.render(); 
 | 
  
 | 
        var provinceSet = xmSelect.render({ 
 | 
            el: '#province-set', 
 | 
            toolbar: { 
 | 
                show: true, 
 | 
                list: [ 'ALL', 'CLEAR', 'REVERSE' ] 
 | 
            }, 
 | 
            filterable: true, 
 | 
            data: [ 
 | 
                {name: '北京市',value: 1,selected:false}, 
 | 
                {name: '天津市',value: 2,selected:false}, 
 | 
                {name: '河北省',value: 3,selected:false}, 
 | 
                {name: '山西省',value: 4,selected:false}, 
 | 
                {name: '辽宁省',value: 5,selected:false}, 
 | 
  
 | 
                {name: '吉林省',value: 6,selected:false}, 
 | 
                {name: '黑龙江省',value: 7,selected:false}, 
 | 
                {name: '上海市',value: 8,selected:false}, 
 | 
                {name: '江苏省',value: 9,selected:false}, 
 | 
                {name: '浙江省',value: 10,selected:false}, 
 | 
  
 | 
                {name: '安徽省',value: 11,selected:false}, 
 | 
                {name: '福建省',value: 12,selected:false}, 
 | 
                {name: '江西省',value: 13,selected:false}, 
 | 
                {name: '山东省',value: 14,selected:false}, 
 | 
                {name: '河南省',value: 15,selected:false}, 
 | 
  
 | 
                {name: '湖北省',value: 16,selected:false}, 
 | 
                {name: '湖南省',value: 17,selected:false}, 
 | 
                {name: '广东省',value: 18,selected:false}, 
 | 
                {name: '广西壮族自治区',value: 19,selected:false}, 
 | 
                {name: '海南省',value: 20,selected:false}, 
 | 
  
 | 
                {name: '重庆市',value: 21,selected:false}, 
 | 
                {name: '四川省',value: 22,selected:false}, 
 | 
                {name: '贵州省',value: 23,selected:false}, 
 | 
                {name: '云南省',value: 24,selected:false}, 
 | 
                {name: '西藏自治区',value: 25,selected:false}, 
 | 
  
 | 
                {name: '陕西省',value: 26,selected:false}, 
 | 
                {name: '甘肃省',value: 27,selected:false}, 
 | 
                {name: '青海省',value: 28,selected:false}, 
 | 
                {name: '宁夏回族自治区',value: 29,selected:false}, 
 | 
                {name: '内蒙古自治区',value: 30,selected:false}, 
 | 
  
 | 
                {name: '新疆维吾尔自治区',value: 31,selected:false}, 
 | 
                {name: '台湾省',value: 32,selected:false}, 
 | 
                {name: '香港特别行政区',value: 33,selected:false}, 
 | 
                {name: '澳门特别行政区',value: 34,selected:false}, 
 | 
            ], 
 | 
        }) 
 | 
  
 | 
        let provinceChoiceExist = ""; 
 | 
        $('#test3').on('click', function (){ 
 | 
            let provinceChoice = provinceSet.getValue('name'); 
 | 
            if(provinceChoice == null || provinceChoice == ""){ 
 | 
                febs.alert.warn('指定省份不能为空'); 
 | 
                return false; 
 | 
            } 
 | 
            let provinceChoiceStr = ""; 
 | 
            for (let i = 0; i < provinceChoice.length; i++) { 
 | 
                //判断字符串是否出现过  =-1则没有出现 
 | 
                if(provinceChoiceExist.indexOf(provinceChoice[i]) != -1){ 
 | 
                    febs.alert.warn('['+provinceChoice[i]+'],指定省份不能重复'); 
 | 
                    return false; 
 | 
                } 
 | 
                provinceChoiceStr = provinceChoiceStr + provinceChoice[i]+","; 
 | 
                provinceChoiceExist = provinceChoiceExist + provinceChoiceStr; 
 | 
            } 
 | 
  
 | 
            let data = {}; 
 | 
            data.areaAddress = provinceChoiceStr; 
 | 
            data.basicCnt = 1; 
 | 
            data.basicPrice = 1; 
 | 
            data.moreCnt = 1; 
 | 
            data.morePrice = 1; 
 | 
            addTableDate(data); 
 | 
        }); 
 | 
  
 | 
        let ruleData=[]; 
 | 
        let tableIns = table.render({ 
 | 
            elem: '#multiRule' 
 | 
            ,limit:999 
 | 
            ,toolbar:"#toolbar" 
 | 
            ,defaultToolbar:[] 
 | 
            ,cols: [ 
 | 
                [ 
 | 
                ,{align: 'center', title: '请选择', colspan: 2} 
 | 
                ,{field:'areaAddress', title:'指定省份', width:400, rowspan: 2,align: 'center'} 
 | 
                ,{align: 'center', title: '规则( 2 件内,2 元,每 1 增加件,增加运费 1 元。)', colspan: 4} 
 | 
                ], 
 | 
                [ //表头 
 | 
                {type: 'checkbox', rowspan: 2,align: 'center' } 
 | 
                ,{field: 'index', title: '序号', width:100, rowspan: 2,align: 'center'} 
 | 
                ,{field: 'basicCnt', title: '件内', width:200,edit:'text'} 
 | 
                ,{field: 'basicPrice', title: '运费', width:200,edit:'text'} 
 | 
                ,{field: 'moreCnt', title: '每增加', width:200,edit:'text'} 
 | 
                ,{field: 'morePrice', title: '增加运费', width:200,edit:'text'} 
 | 
            ]] 
 | 
            ,data: [] 
 | 
        }); 
 | 
  
 | 
        initValue(); 
 | 
  
 | 
        function initValue() { 
 | 
            form.val("carriage-rule-update-form", { 
 | 
                "id": carriageRule.id, 
 | 
                "ruleName": carriageRule.ruleName, 
 | 
                "valuationType": carriageRule.valuationType, 
 | 
                "basicCntDefault": carriageRule.basicCntDefault, 
 | 
                "basicPriceDefault": carriageRule.basicPriceDefault, 
 | 
                "moreCntDefault": carriageRule.moreCntDefault, 
 | 
                "morePriceDefault": carriageRule.morePriceDefault 
 | 
            }); 
 | 
            provinceChoiceExist = carriageRule.areaAddressStr; 
 | 
            let carriageRuleInfos = carriageRule.adminCarriageRuleInfoVos; 
 | 
            if(Array.isArray(carriageRuleInfos) && carriageRuleInfos.length){ 
 | 
                for (let i = 0; i < carriageRuleInfos.length; i++) { 
 | 
                    carriageRuleInfos[i].index = i+1; 
 | 
                } 
 | 
            } 
 | 
            if (carriageRuleInfos) { 
 | 
                ruleData = carriageRuleInfos; 
 | 
                reloadTable(carriageRuleInfos); 
 | 
            } 
 | 
        } 
 | 
  
 | 
  
 | 
        let delCarriageRuleInfo = []; 
 | 
        table.on('toolbar(multiRule)', function(obj){ 
 | 
            var data = obj.data; 
 | 
            var hasData = table.cache['multiRule']; 
 | 
            var checkData = table.checkStatus('multiRule').data; 
 | 
  
 | 
            if (checkData.length <= 0) { 
 | 
                febs.alert.warn('请选择删除数据'); 
 | 
                return; 
 | 
            } 
 | 
            if(obj.event === 'delSku'){ 
 | 
                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) { 
 | 
                            if (delData.id) { 
 | 
                                delCarriageRuleInfo.push(delData.id); 
 | 
                            } 
 | 
                            hasData.splice(j, 1); 
 | 
                            break; 
 | 
                        } 
 | 
                    } 
 | 
                } 
 | 
  
 | 
                for (let i = 0; i < hasData.length; i++) { 
 | 
                    hasData[i].index = i + 1; 
 | 
                } 
 | 
  
 | 
                ruleData=hasData; 
 | 
                reloadTable(hasData); 
 | 
            } 
 | 
        }); 
 | 
  
 | 
        function addTableDate(data) { 
 | 
            var hasData = table.cache['multiRule']; 
 | 
  
 | 
            data.index = hasData.length + 1; 
 | 
            ruleData.push(data); 
 | 
  
 | 
            reloadTable(ruleData); 
 | 
            return data.index; 
 | 
        } 
 | 
  
 | 
        function reloadTable(data) { 
 | 
            table.reload('multiRule', { 
 | 
                data : data 
 | 
            }); 
 | 
        } 
 | 
  
 | 
        table.on('edit(multiRule)', function(obj){ 
 | 
            var value = obj.value //得到修改后的值 
 | 
                ,data = obj.data //得到所在行所有键值 
 | 
                ,field = obj.field; //得到字段 
 | 
  
 | 
            for (let i = 0; i < ruleData.length; i++) { 
 | 
                if (ruleData[i].index == data.index) { 
 | 
                    ruleData[i] = data; 
 | 
                } 
 | 
            } 
 | 
        }); 
 | 
  
 | 
        form.on('submit(carriage-rule-update-form-submit)', function (data) { 
 | 
            data.field.delCarriageRuleInfoIds=delCarriageRuleInfo; 
 | 
            data.field.adminCarriageRuleAddInfoDtos = ruleData; 
 | 
            $.ajax({ 
 | 
                'url':ctx + 'admin/goods/carriageRuleUpdate', 
 | 
                '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){ 
 | 
                        layer.closeAll(); 
 | 
                        febs.alert.success(data.message); 
 | 
                        $('#febs-carriage-rule').find('#reset').click(); 
 | 
                    }else{ 
 | 
                        febs.alert.warn(data.message); 
 | 
                    } 
 | 
                }, 
 | 
                'error':function () { 
 | 
                    febs.alert.warn('服务器繁忙'); 
 | 
                } 
 | 
            }) 
 | 
            return false; 
 | 
        }); 
 | 
    }); 
 | 
</script> 
 |