liaoxujun@qq.com
2024-04-10 05d32271f646149609d8b42016e11cf95d8d5a84
CoreCms.Net.Web.Admin/wwwroot/views/good/goods/create.html
@@ -61,6 +61,13 @@
                                <div class="layui-form-mid layui-word-aux">
                                    <button href="javascript:void(0);" class="add-brand layui-btn layui-btn-normal layui-btn-xs">添加品牌</button>
                                </div>
                                <div class="layui-form-item">
                                    <label for="areaId" class="layui-form-label ">所属地区</label>
                                    <div class="layui-input-block layui-inline-4 address-class">
                                        <input type="hidden" name="areaId">
                                    </div>
                                </div>
                            </div>
                            <div class="layui-form-item">
@@ -222,10 +229,22 @@
                            <div class="layui-form" id="batchSetting" style="display:none;">
                                <div class="layui-tab" lay-filter="batchSetting-hash">
                                    <ul class="layui-tab-title">
                                        <li lay-id="22">SKU选择</li>
                                        <li class="layui-this" lay-id="11">参数设置</li>
                                        <li lay-id="22">图片设置</li>
                                    </ul>
                                    <div class="layui-tab-content">
                                        <div class="layui-tab-item">
                                            <div class="layui-form-item">
                                                <label class="layui-form-label">SKU选择</label>
                                                <div class="layui-input-block" id="skuSetImage"></div>
                                            </div>
                                            <div class="layui-form-item layui-center">
                                                <button class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs" onclick="SellAll()">全选</button>
                                                <button class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs" onclick="SellNoOne()">全不选</button>
                                            </div>
                                        </div>
                                        <div class="layui-tab-item layui-show">
                                            <div class="layui-form-item">
@@ -234,7 +253,7 @@
                                                    <input class="layui-input" id="oneKeySetWeight">
                                                </div>
                                                <div class="layui-input-inline layui-inline-2">
                                                    <button type="button" class="layui-btn layui-btn-warm layui-btn-sm" style="margin-top:5px;" onclick="oneKeySet(4)">
                                                    <button type="button" class="layui-btn layui-btn-warm layui-btn-sm" style="margin-top:5px;" onclick="oneKeySetByName('product[weight]')">
                                                        <i class="layui-icon layui-icon-set"></i>确定
                                                    </button>
                                                </div>
@@ -278,7 +297,7 @@
                                                        <i class="layui-icon layui-icon-set"></i>确定
                                                    </button>
                                                </div>
                                                <label class="layui-form-label">   一级返现</label>
                                                <label class="layui-form-label">普通用户购买返现</label>
                                                <div class="layui-input-inline layui-inline-2">
                                                    <input class="layui-input" id="oneKeySetLevelOne">
                                                </div>
@@ -309,7 +328,7 @@
                                                </div>
                                            </div>
                                            <div class="layui-form-item">
                                                <label class="layui-form-label">市场价</label>
                                                <label class="layui-form-label">指导零售价</label>
                                                <div class="layui-input-inline layui-inline-2">
                                                    <input class="layui-input" id="oneKeySetMktPrice">
                                                </div>
@@ -331,10 +350,7 @@
                                        </div>
                                        <div class="layui-tab-item">
                                            <div class="layui-form-item">
                                                <label class="layui-form-label">SKU选择</label>
                                                <div class="layui-input-block" id="skuSetImage"></div>
                                            </div>
                                            <div class="layui-form-item">
                                                <label class="layui-form-label" for="avatarImage">图片:</label>
                                                <div class="layui-input-inline" style="margin-left:20px;">
@@ -443,15 +459,17 @@
                <th>货号</th>
                <th>SKU</th>
                <th>重量(克)</th>
                <th>赠送积分</th>
                <th>积分最大<br />可抵金额</th>
                <!-- <th>赠送积分</th>
                <th>积分最大<br />可抵金额</th> -->
                <th>库存</th>
                <th><i class="required-color">*</i>销售价</th>
                <th>经销商价格</th>
                <th>成本价</th>
                <th>市场价</th>
                <th>一级返现</th>
                <th>二级返现</th>
                <th>三级返现</th>
                <th>指导零售价</th>
                <th>普通用户购买返现</th>
                <th>经销商用户购买返现</th>
                <!-- <th>二级返现</th>
                <th>三级返现</th> -->
                <th>操作</th>
            </tr>
        </thead>
@@ -492,12 +510,12 @@
                <td>
                    <input type="number" name="product[weight][]" value="{{item.weight}}" placeholder="重量" class="layui-input layui-inline-1">
                </td>
                <td>
                <!-- <td>
                    <input type="number" name="product[points][]" value="{{item.points}}" placeholder="积分" class="layui-input layui-inline-1">
                </td>
                <td>
                </td> -->
                <!-- <td>
                    <input type="text" name="product[pointsDeduction][]" value="{{item.pointsDeduction}}" placeholder="金额" class="layui-input layui-inline-1">
                </td>
                </td> -->
                <td class="have-add-td">
                    <input type="number" name="product[stock][]" value="{{item.stock}}" placeholder="库存" class="layui-input layui-inline-1 goods-stock">
                </td>
@@ -505,20 +523,26 @@
                    <input type="text" name="product[price][]" value="{{item.price}}" placeholder="销售价" class="layui-input layui-inline-1">
                </td>
                <td>
                    <input type="text" name="product[distributionPrice][]" value="{{item.distributionPrice||'0'}}" placeholder="经销商价格" class="layui-input layui-inline-1">
                </td>
                <td>
                    <input type="text" name="product[costprice][]" value="{{item.costprice}}" placeholder="成本价" class="layui-input layui-inline-1">
                </td>
                <td>
                    <input type="text" name="product[mktprice][]" value="{{item.mktprice}}" placeholder="市场价" class="layui-input layui-inline-1">
                    <input type="text" name="product[mktprice][]" value="{{item.mktprice}}" placeholder="指导零售价" class="layui-input layui-inline-1">
                </td>
                <td>
                    <input type="text" name="product[levelOne][]" value="{{item.levelOne}}" placeholder="一级返现" class="layui-input layui-inline-1">
                    <input type="text" name="product[distributionCutMoney][]" value="{{item.distributionCutMoney||'0'}}" placeholder="经销商购买返现" class="layui-input layui-inline-1">
                </td>
                <td>
                    <input type="text" name="product[cutMoney][]" value="{{item.cutMoney||'0'}}" placeholder="普通用户购买返现" class="layui-input layui-inline-1">
                </td>
                <!-- <td>
                    <input type="text" name="product[levelTwo][]" value="{{item.levelTwo}}" placeholder="二级返现" class="layui-input layui-inline-1">
                </td>
                <td>
                    <input type="text" name="product[levelThree][]" value="{{item.levelThree}}" placeholder="三级返现" class="layui-input layui-inline-1">
                </td>
                </td> -->
                <td>
                    <a class="layui-btn layui-btn-danger layui-btn-xs del-class" lay-active="delTr">删除</a>
                </td>
@@ -593,11 +617,11 @@
                <div class="layui-input-inline">
                    <button type="button" class="layui-btn  layui-btn-warm layui-btn-sm" lay-active="getGenerateSpecBtn"><i class="layui-icon layui-icon-export"></i>生成SKU货品列表</button>
                </div>
                <div class="layui-input-inline">
                <!-- <div class="layui-input-inline">
                    <button type="button" class="aKeySetBtn layui-btn layui-btn-warm layui-btn-sm">
                        <i class="layui-icon layui-icon-set"></i>一键设置
                    </button>
                </div>
                </div> -->
            </div>
        </div>
        <div id="more_spec"></div>
@@ -623,10 +647,11 @@
        {{#  }); }}
    </select>
</script>
<script src="/views/liao.js"></script>
<!--//一键设置SKU图片时自动生成选中的SKU-->
<script id="imageSetMoreSku_tpl" type="text/html">
    {{# layui.each(d, function(index, item){  }}
    <input type="checkbox" name="skuAttrValue" value="{{item}}" title="{{item}}" lay-filter="skuAttrValue-filter">
    <input type="checkbox" name="skuAttrValue" value="{{item}}" title="{{item}}"  class="class_onkeySet_checkbox_creat" lay-filter="skuAttrValue-filter">
    {{#  }); }}
</script>
@@ -702,7 +727,99 @@
                        'Authorization': Authorization
                    }
                });
                /*****************************************************************/
                //地区选择
                function changeareaIdArea(i, max_i) {
                    //清除后面节点
                    for (var x = i + 1; x <= 6; x++) {  //最多6层,足够了
                        $("select[name='areaId_" + x + "']").remove();
                    }
                    var val = $("select[name='areaId_" + i + "']").val();
                    if (val != "") {
                        //取子节点数据,然后显示下一级
                        coreHelper.Post("Api/Tools/GetAreaChildren", { id: val }, function (e) {
                            if (debug) { console.log(e); } //开启调试返回数据
                            if (e.length > 0) {
                                var str = "";
                                str += "<select lay-ignore name='areaId_" + (i + 1) + "' dep='" + (i + 1) + "'  class='select-address'>";
                                str += "<option value='' >请选择</option>";
                                $.each(e, function (h, z) {
                                    str += "<option value='" + z.id + "' >" + z.name + "</option>";
                                });
                                str += "</select>";
                                $("select[name='areaId_" + i + "']").after(str);
                                //以上数据输出完,以下绑定事件
                                $("select[name='areaId_" + (i + 1) + "']").change(function () {
                                    changeareaIdArea(i + 1, i + 2);
                                });
                                //如果有返回值,就说明省市区没有选择到最终节点
                                if (1 == 1) {
                                    $("input[name='areaId']").val("");
                                } else {
                                    $("input[name='areaId']").val($("select[name='areaId_" + i + "']").val());
                                }
                            } else {
                                $("input[name='areaId']").val($("select[name='areaId_" + i + "']").val());
                            }
                        });
                    } else {
                        if (1 == 1) {
                            $("input[name='areaId']").val("");
                        } else {
                            //第一级的元素就直接赋值为空就是了
                            if (i == 1) {
                                $("input[name='areaId']").val("");
                            } else {
                                i--;
                                $("input[name='areaId']").val($("select[name='areaId_" + i + "']").val());
                            }
                        }
                    }
                }
                coreHelper.Post("Api/Tools/GetAreaCheckedList", { id: 0 }, function (data)  {
                    var str = "";
                    $.each(data, function (i, n) {
                        str += "<select lay-ignore name='areaId_" + (i + 1) + "' dep='" + (i + 1) + "'  class='select-address'>";
                        str += `<option value= ${(d.data.areaId??0)===0?" selected='selected'":''} >请选择</option>`;
                        if(n.list.length>0)
                       { $.each(n.list, function (h, z) {
                            if (n.hasOwnProperty('info') && n.info?.id == z.id) {
                                str += "<option value='" + z.id + "' selected='selected'>" + z.name + "</option>";
                            } else {
                                str += "<option value='" + z.id + "' >" + z.name + "</option>";
                            }
                        });
                    }
                    else
                    {
                        $.each(n.thisList, function (h, z) {
                            if (n.hasOwnProperty('info') && n.info?.id == z.id) {
                                str += "<option value='" + z.id + "' selected='selected'>" + z.name + "</option>";
                            } else {
                                str += "<option value='" + z.id + "' >" + z.name + "</option>";
                            }
                        });
                    }
                        str += "</select>";
                    });
                    $("input[name='areaId']").after(str);
                    //以上数据输出完,以下绑定事件
                    $.each(data, function (i, n) {
                        if (i < (data.length)) {
                            $("select[name='areaId_" + (i + 1) + "']").change(function () {
                                changeareaIdArea(i + 1, data.length);
                            });
                        }
                    });
                });
                 /*****************************************************************/
                //获取商品类型
                types = d.data.types;
                // 渲染商品分类
@@ -1502,6 +1619,7 @@
                                            view2.innerHTML = html;
                                        });
                                        form.render("radio");
                                    }
                                    //赋值数据
@@ -1731,9 +1849,19 @@
                        goods.unit = field['goods[unit]'];
                        goods.weight = field['goods[weight]'];
                        goods.openSpec = parseInt(field.openSpec);
                        if (isNumericString(field["areaId_1"])) {
                            goods.areaCode+=`${field["areaId_1"]}`;
                            if (isNumericString(field["areaId_2"]))
                            goods.areaCode+=`,${field["areaId_2"]}`;
                            if (isNumericString(field["areaId_3"]))
                            goods.areaCode+=`,${field["areaId_3"]}`;
                          } else {
                          }
                        //多参数产品库生成列表集合
                        var products = [];
                        var productsCount = parseInt(field['productsCount']);
                        debugger
                        for (var i = 0; i < productsCount; i++) {
                            var productModel = {};
                            productModel.costprice = field['product[costprice][' + i + ']'];
@@ -1754,6 +1882,10 @@
                            productModel.levelThree = field['product[levelThree][' + i + ']'];
                            productModel.pointsDeduction = field['product[pointsDeduction][' + i + ']'];
                            productModel.points = field['product[points][' + i + ']'];
                            //百分兵法添加
                            productModel.distributionPrice = field['product[distributionPrice][' + i + ']'];
                            productModel.distributionCutMoney = field['product[distributionCutMoney][' + i + ']'];
                            productModel.cutMoney = field['product[cutMoney][' + i + ']'];
                            products.push(productModel);
                        }
                        //会员价格模型
@@ -1807,7 +1939,65 @@
        }
        $('#imageIds').val(imgs);
    }
    function SellAll()
    {
        // 选取ID为ID_onkeySet_checkbox_creat的checkbox元素
var checkBoxes = $(".class_onkeySet_checkbox_creat");
// 设置选中状态
checkBoxes.prop("checked", true);
// 如果使用了Layui Form模块,刷新表单状态
if (typeof layui.form !== 'undefined') {
    layui.form.render();
}
    }
    function SellNoOne()
    {
        // 选取ID为ID_onkeySet_checkbox_creat的checkbox元素
var checkBoxes = $(".class_onkeySet_checkbox_creat");
// 设置选中状态
checkBoxes.prop("checked", false);
// 如果使用了Layui Form模块,刷新表单状态
if (typeof layui.form !== 'undefined') {
    layui.form.render();
}
    }
    function setInputsValueTo(element, prefix, value) {
        // 使用querySelectorAll获取所有input元素,其中name属性以prefix开头
        const inputs = element.querySelectorAll(`input[name^="${prefix}["]`);
        // 遍历所有找到的input元素
        inputs.forEach(input => {
          // 检查name属性是否与prefix匹配
          if (new RegExp(`^${prefix}\\[\\d+\\]$`).test(input.name)) {
            // 设置input的值为指定的value
            input.value = value;
          }
        });
      }
  function oneKeySetByName(name)
  {
    debugger
    setInputsValueTo(document.getElementById('productsTbody'),name,12);
    // 调用递归函数,开始遍历指定父元素及其子孙元素
 //   setValuesRecursively($("#yourParentElementId")); // 替换为实际父元素的ID
    // 定义要遍历的父元素(例如:一个div)
//var parentElement = $("#productsTbody tr"); // 替换为实际父元素的ID
// 使用正则表达式匹配name属性为scol[1-4]的input元素
//parentElement.find(`input[${name}^='scol['][${name}$=']']`).val(12);
  }
    function oneKeySet(tag) {
        var curValue = 0;
        if (tag == 4) {