xiaoyong931011
2023-03-16 c0cae0a68ec2d917a9fad1f093a16b6d1d16af3c
src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html
@@ -32,14 +32,26 @@
                                                </div>
                                            </div>
                                        </div>
                                        <div class="layui-row layui-col-space10 layui-form-item">
                                        <div class="layui-form-item">
                                            <div class="layui-col-lg6">
                                                <label class="layui-form-label febs-form-item-require">商品分类:</label>
                                                <div class="layui-input-block">
<!--                                                    <select name="categoryId" class="categary-addPeoduct">-->
<!--                                                        <option value="">请选择</option>-->
<!--                                                    </select>-->
                                                    <div id="goods-category"></div>
                                                </div>
                                            </div>
                                            <div class="layui-col-lg3">
                                                <label class="layui-form-label">是否主推:</label>
                                                <div class="layui-input-block">
                                                    <input type="radio" name="isHot" value="1" title="是" />
                                                    <input type="radio" name="isHot" value="2" title="否" checked />
                                                </div>
                                            </div>
                                            <div class="layui-col-lg3">
                                                <label class="layui-form-label febs-form-item-require">序号:</label>
                                                <div class="layui-input-block">
                                                    <input type="number" name="orderNumber" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                                                </div>
                                            </div>
                                        </div>
@@ -50,6 +62,14 @@
                                                <div class="layui-input-block">
                                                    <input type="text" name="unit" lay-verify="required" placeholder=""
                                                           autoComplete="off" class="layui-input">
                                                </div>
                                            </div>
                                            <div class="layui-col-lg6">
                                                <label class="layui-form-label febs-form-item-require">重量:</label>
                                                <div class="layui-input-block">
                                                    <input type="text" name="goodsWeight"  lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                                                    <div class="layui-form-mid layui-word-aux">默认单位:克。请填写数字。如:1千克,则填入1000。</div>
                                                </div>
                                            </div>
                                        </div>
@@ -87,7 +107,7 @@
                                                <select name="isNormal" class="goods-type"
                                                        lay-filter="goods-type-select">
                                                    <option value="1">普通商品区</option>
                                                    <option value="2">套餐区</option>
<!--                                                    <option value="2">套餐区</option>-->
                                                </select>
                                            </div>
                                        </div>
@@ -125,6 +145,7 @@
                                                                style="margin-top: 10px;">
                                                        <div class="layui-upload-list" id="demo2"></div>
                                                    </blockquote>
                                                    <div class="layui-word-aux">双击图片删除</div>
                                                </div>
                                            </div>
                                        </div>
@@ -149,6 +170,7 @@
                                                                style="margin-top: 10px;">
                                                        <div class="layui-upload-list" id="thumbsBanners"></div>
                                                    </blockquote>
                                                    <div class="layui-word-aux">双击图片删除</div>
                                                </div>
                                            </div>
                                        </div>
@@ -162,12 +184,22 @@
                                        </div>
                                        <div class="layui-form-item">
                                            <label class="layui-form-label">商品参数:</label>
                                            <div class="layui-input-block">
                                                <label>
                                                    <textarea name="goodsParameter" rows="5" autoComplete="off"
                                                              class="layui-textarea"></textarea>
                                                </label>
                                            </div>
                                        </div>
                                        <div class="layui-form-item">
                                            <label class="layui-form-label febs-form-item-require">商品详情:</label>
                                            <div class="layui-input-block">
<!--                                                <textarea id="lay_edit" lay-verify="goodsDetails" name="goodsDetails" class="layui-textarea"></textarea>-->
                                                <div style="border: 1px solid #ccc;">
                                                    <div id="toolbar-container" style="border-bottom: 1px solid #ccc;"></div>
                                                    <div id="editor-container" style="height: 300px;"></div>
                                                    <div id="toolbar-container-good-update" style="border-bottom: 1px solid #ccc;"></div>
                                                    <div id="editor-container-good-update" style="height: 300px;"></div>
                                                </div>
                                            </div>
                                        </div>
@@ -183,7 +215,7 @@
                                                </div>
                                            </div>
                                            <div class="layui-col-lg6">
                                                <label class="layui-form-label febs-form-item-require">现价:</label>
                                                <label class="layui-form-label febs-form-item-require">折扣价:</label>
                                                <div class="layui-input-block">
                                                    <input type="text" name="presentPrice" lay-verify="required"
                                                           placeholder="" autoComplete="off" class="layui-input">
@@ -191,11 +223,39 @@
                                            </div>
                                        </div>
<!--                                        <div class="layui-form-item">-->
<!--                                            <label class="layui-form-label febs-form-item-require">成本价:</label>-->
<!--                                            <div class="layui-input-block">-->
<!--                                                <input type="text" name="costPrice" lay-verify="required" placeholder=""-->
<!--                                                       autoComplete="off" class="layui-input">-->
<!--                                            </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>
                                            <label class="layui-form-label">运费:</label>
                                            <div class="layui-input-block">
                                                <input type="text" name="costPrice" lay-verify="required" placeholder=""
                                                       autoComplete="off" class="layui-input">
                                                <input type="radio" name="carriageType" value="1" title="固定运费" lay-filter="hasCarriage" />
                                                <input type="radio" name="carriageType" value="2" title="使用邮费模板" lay-filter="hasCarriage" checked/>
                                            </div>
                                        </div>
                                        <div class="layui-form-item carriage-input  febs-hide">
                                            <div class="layui-col-lg6">
                                                <label class="layui-form-label">固定运费:</label>
                                                <div class="layui-input-block">
                                                    <input id="carriageAmountDefault" type="text" name="carriageAmount" placeholder="" autocomplete="off" class="layui-input">
                                                    <div class="layui-form-mid layui-word-aux">远费设置为0元,商品将显示为免运费。</div>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="layui-form-item carriage-rule">
                                            <div class="layui-col-lg6">
                                                <label class="layui-form-label febs-form-item-require">邮费模板:</label>
                                                <div class="layui-input-block">
                                                    <div id="carriage-rule"></div>
                                                </div>
                                            </div>
                                        </div>
@@ -218,10 +278,16 @@
                                                               class="layui-input" id="attrName">
                                                    </div>
                                                </div>
                                                <div class="layui-col-lg6">
                                                <div class="layui-col-lg3">
                                                    <button type="button"
                                                            class="layui-btn layui-btn-normal layui-btn" id="test3">
                                                        添加
                                                    </button>
                                                </div>
                                                <div class="layui-col-lg3">
                                                    <button type="button"
                                                            class="layui-btn layui-btn-normal layui-btn" id="test4">
                                                        新增样品
                                                    </button>
                                                </div>
                                            </div>
@@ -261,6 +327,13 @@
    .layui-table-cell {
        height: auto;
    }
    .layui-upload-list {
        margin: 0 !important;
    }
    .multi-images {
        margin: 0 5px !important;
    }
</style>
<script type="text/html" id="toolbar">
@@ -322,6 +395,9 @@
                value : 'id',
                children : 'child'
            },
            iconfont: {
                parent: 'hidden',
            },
            radio: true,
            clickClose: true,
            tree: {
@@ -338,6 +414,35 @@
                autoRow: true,
            });
            // initValue();
        })
        var carriageRule = xmSelect.render({
            el: '#carriage-rule',
            language: 'zn',
            prop : {
                value : 'id',
                children : 'child'
            },
            iconfont: {
                parent: 'hidden',
            },
            radio: true,
            clickClose: true,
            tree: {
                show: true,
                //非严格模式
                strict: false,
            },
            data: []
        })
        febs.get(ctx + 'admin/goods/carriageRuleTree', null, function(res) {
            carriageRule.update({
                data : res.data,
                autoRow: true,
            });
            initValue();
        })
@@ -349,18 +454,20 @@
            , defaultToolbar: []
            , cols: [[ //表头
                {type: 'checkbox'}
                , {field: 'index', title: '序号', width: 70}
                , {field: 'styleName', title: '样式', edit: 'text'}
                , {field: 'skuName', title: '规格', edit: 'text'}
                , {field: 'presentPrice', title: '现价', edit: 'text'}
                , {field: 'originalPrice', title: '原价', edit: 'text'}
                , {field: 'costPrice', title: '成本价', edit: 'text'}
                , {templet: '#tableImgUpload', title: '缩略图', width: 150}
                , {field: 'stock', title: '库存', edit: 'text'}
                , {field: 'skuVolume', title: '销量', edit: 'text'}
                , {field: 'skuImage', title: '缩略图地址', hide: true}
                , {field: 'id', title: 'skuId', hide: true}
                , {field: 'styleId', title: 'styleId', hide: true}
                ,{field: 'index', title: '序号', width: 70}
                ,{field: 'styleName', title: '样式', edit:'text', width:200}
                ,{field: 'skuName', title: '规格', edit:'text', width:200}
                ,{field: 'sample', title:'样品', width:100}
                ,{field: 'goodsWeight', title: '重量', edit:'text', width:100}
                ,{field: 'presentPrice', title: '折扣价', edit:'text', width:100}
                ,{field: 'originalPrice', title: '原价', edit:'text', width:100}
                // ,{field: 'costPrice', title: '成本价', edit:'text', width:100}
                ,{templet: '#tableImgUpload', title: '缩略图', width:150}
                ,{field: 'stock', title: '库存', edit:'text', width:100}
                ,{field: 'skuVolume', title: '销量', edit:'text', width:100}
                ,{field: 'skuImage', title: '缩略图地址', hide: true}
                ,{field: 'id', title: 'skuId', hide: true}
                ,{field: 'styleId', title: 'styleId', hide: true}
            ]]
            , data: []
        });
@@ -407,6 +514,17 @@
                $('.multi-sku-table').hide();
            } else {
                $('.multi-sku-table').show();
            }
        });
        form.on('radio(hasCarriage)', function(data){
            if (data.value == 2) {
                $('.carriage-input').hide();
                $('.carriage-rule').show();
            } else {
                $('.carriage-input').show();
                $('.carriage-rule').hide();
                document.getElementById('carriageAmountDefault').value = 0;
            }
        });
@@ -458,6 +576,12 @@
            addTableDate(data);
        });
        $('#test4').on('click', function () {
            var data = {};
            data.sample = "样品";
            addTableDate(data);
        });
        function bindUpload(index) {
            // 普通图片上传
            upload.render({
@@ -496,39 +620,90 @@
        //多图片上传
        upload.render({
            elem: '#thumbsBanner'
            , url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
            , multiple: true
            , before: function (obj) {
            ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
            ,multiple: true
            ,before: function(obj){
                //预读本地文件示例,不支持ie8
                obj.preview(function (index, file, result) {
                    $('#thumbsBanners').append('<img src="' + result + '" alt="' + file.name + '" class="layui-upload-img" style="width: 100px">')
                obj.preview(function(index, file, result){
                    $('#thumbsBanners').append('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img multi-images" style="width: 130px">')
                });
            }
            , done: function (res) {
            ,done: function(res){
                var thumbs = $("#thumbs").val();
                if (thumbs == '') {
                if(thumbs == ''){
                    $("#thumbs").val(res.data.src);
                } else {
                }else{
                    $("#thumbs").val(thumbs + ',' + res.data.src);
                }
                imgUnBind(".multi-images");
                imgMultiBind();
            }
        });
        function imgUnBind(className) {
            $(className).each(function() {
                $(this).unbind('dblclick');
            })
        }
        function imgMultiBind() {
            $(".multi-images").each(function(index, element) {
                $(this).on("dblclick", function() {
                    var imgThumb = $(".multi-images")[index];
                    $(imgThumb).remove();
                    var images = $("#thumbs").val();
                    var imagesArr;
                    if (images) {
                        imagesArr = images.split(",");
                        imagesArr.splice(index, 1);
                        images = imagesArr.join(",");
                    }
                    $("#thumbs").val(images);
                    imgUnBind(".multi-images");
                    imgMultiBind();
                });
            })
        }
        //图片上传
        upload.render({
            elem: '#test2'
            , url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
            , multiple: true
            , before: function (obj) {
            ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
            ,multiple: true
            ,before: function(obj){
                //预读本地文件示例,不支持ie8
                obj.preview(function (index, file, result) {
                    $('#demo2').append('<img src="' + result + '" alt="' + file.name + '" class="layui-upload-img" style="width: 100px">')
                obj.preview(function(index, file, result){
                    if ($("#thumb").val()) {
                        $('#demo2').html('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img single-image" style="width: 130px">')
                    } else {
                        $('#demo2').append('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img single-image" style="width: 130px">')
                    }
                });
            }
            , done: function (res) {
            ,done: function(res){
                $("#thumb").val(res.data.src);
                imgUnBind(".single-image");
                imgSingleBind();
            }
        });
        function imgSingleBind() {
            $(".single-image").each(function(index, element) {
                $(this).on("dblclick", function() {
                    var imgThumb = $(".single-image")[index];
                    $(imgThumb).remove();
                    $("#thumb").val("");
                    imgUnBind(".single-image");
                    imgSingleBind();
                });
            })
        }
        function initValue() {
            var images = goodsInfo.images;
@@ -540,6 +715,8 @@
                "unit": goodsInfo.unit,
                "stock": goodsInfo.stock,
                "volume": goodsInfo.volume,
                "isHot": goodsInfo.isHot,
                "goodsParameter": goodsInfo.goodsParameter,
                "goodsIntrodution": goodsInfo.goodsIntrodution,
                "isNormal": goodsInfo.isNormal,
                "staticMulti": goodsInfo.staticMulti,
@@ -549,47 +726,70 @@
                "costPrice": goodsInfo.costPrice,
                "isSku": goodsInfo.isSku,
                "thumb": goodsInfo.thumb,
                "carriageType": goodsInfo.carriageType,
                "carriageAmount": goodsInfo.carriageAmount,
                "goodsWeight": goodsInfo.goodsWeight,
                "orderNumber": goodsInfo.orderNumber,
                "thumbs": thumbs
            });
            console.log(goodsInfo.categoryId);
            var arr = [];
            arr.push(goodsInfo.categoryId)
            category.setValue(arr);
            var arrCarriageRule = [];
            arrCarriageRule.push(goodsInfo.carriageRuleId)
            carriageRule.setValue(arrCarriageRule);
            if (goodsInfo.isNormal == 2) {
                $(".tc-set").show();
            }
            if (goodsInfo.isSku == 1) {
                $(".multi-sku-table").show();
            if (goodsInfo.carriageType == 2) {
                $('.carriage-input').hide();
                $('.carriage-rule').show();
            } else {
                $('.carriage-input').show();
                $('.carriage-rule').hide();
                document.getElementById('carriageAmountDefault').value = goodsInfo.carriageAmount;
            }
            var skus = goodsInfo.skus;
            for (let i = 0; i < skus.length; i++) {
                skus[i].index = i+1;
            if (goodsInfo.isSku == 1) {
                $(".multi-sku-table").show();
                var skus = goodsInfo.skus;
                for (let i = 0; i < skus.length; i++) {
                    skus[i].index = i+1;
                }
            }
            for (let i = 0; i < images.length; i++) {
                $('#thumbsBanners').append('<img src="' + images[i] + '" alt="" class="layui-upload-img" style="width: 100px">')
                $('#thumbsBanners').append('<img src="' + images[i] + '" alt="" class="layui-upload-img multi-images" style="width: 130px">')
            }
            $('#demo2').append('<img src="' + goodsInfo.thumb + '" alt="" class="layui-upload-img" style="width: 100px">')
            $('#demo2').append('<img src="' + goodsInfo.thumb + '" alt="" class="layui-upload-img single-image" style="width: 130px">')
            imgSingleBind();
            imgMultiBind();
            window.editor = E.createEditor({
                html: goodsInfo.goodsDetails,
                selector: '#editor-container',
                selector: '#editor-container-good-update',
                config : editorConfig,
                mode: 'default'
            });
            window.toolbar = E.createToolbar({
                editor,
                selector: '#toolbar-container',
                selector: '#toolbar-container-good-update',
                mode: 'default'
            });
            tableSkuData = skus;
            reloadTable(skus);
            if (skus) {
                tableSkuData = skus;
                reloadTable(skus);
            }
        }
        form.on('submit(goods-update-form-submit)', function (data) {
@@ -597,6 +797,7 @@
            data.field.mailGoodsSkuDto = tableSkuData;
            data.field.delSkuId=delSku;
            data.field.categoryId = category.getValue('valueStr');
            data.field.carriageRuleId = carriageRule.getValue('valueStr');
            data.field.goodsDetails = editor.getHtml();
            $.ajax({
                'url': ctx + 'admin/goods/updateMallGoods',