zhuyiyi 1 неделя назад
Родитель
Сommit
3abc4938de

+ 11 - 7
src/main/java/lingtao/net/service/ProductService.java

@@ -5089,25 +5089,29 @@ public class ProductService {
     }
 
     private List<Product> getTianMuPrice(Product dto, Double width, Double length) {
-        List<String> craft_list = dto.getCraft() == null ? new ArrayList<>() : Arrays.asList(dto.getCraft());
+        List<String> craft_lists = dto.getCraft() == null ? new ArrayList<>() : Arrays.asList(dto.getCraft());
+        List<String> craft_list = new ArrayList<>(craft_lists);
         List<Product> priceList = new ArrayList<>();
         int count = dto.getCount();
         int number = dto.getNumber();
         double area = length * width / 10000;
-        if (dto.getCraftShua().contains("空白") && dto.getCraftQie() != null && dto.getCraftQie().contains("模切")) {
-            dto.setCraftShua("定制");
+        if (craft_list.contains("空白") && craft_list.contains("模切")) {
+            craft_list.add("定制");
         }
-        priceList = CanopyUtil.getPrice(area, count, priceList, dto.getKindValue(), dto.getCraftShua());
+        priceList = CanopyUtil.getPrice(area, count, priceList, dto.getKindValue(), craft_list);
         if (number > 1) {
             for (Product product : priceList) {
                 product.setPrice(Math.floor(product.getPrice() * number));
             }
         }
-        if (dto.getShuliang() != null) {
-            for (Product product : priceList) {
+        for (Product product : priceList) {
+            if (craft_list.contains("安装包")) {
                 product.setPrice(Math.floor(product.getPrice() + dto.getShuliang() * 50));
-                product.setWeight(String.valueOf(Double.parseDouble(product.getWeight()) + dto.getShuliang() * 3.3));
             }
+            if (craft_list.contains("防风绳")) {
+                product.setPrice(Math.floor(product.getPrice() + dto.getPcount() * 2));
+            }
+            product.setWeight(String.valueOf(Double.parseDouble(product.getWeight()) + dto.getShuliang() * 3.3));
         }
 
         return priceList;

+ 1 - 1
src/main/webapp/js/carousel.js

@@ -19,7 +19,7 @@ layui.use(['table','form','carousel'], function(){
 			for (let i = 0; i < result.length; i++) {
 				// 只留一个remark
 				remark = "";
-				html += '<div><img style="width:'+result[0].imgWidth+'px" src="' +result[i].imgUrl+ '"></div>';
+				html += '<div><img style="width:100%;height: 100%;object-fit: contain" src="' + result[i].imgUrl + '"></div>';
 				remark += '<div><span>' +result[i].remark+ '<span/></div>';
 			}  
 			$("#carousel").append(html);

+ 76 - 33
src/main/webapp/views/product/canopy.jsp

@@ -31,11 +31,20 @@
             <input type="hidden" name="proTypeValue" class="layui-input" value="天幕">
             <input type="hidden" id="proTypeValue" value="天幕">
             <p>
-                尺寸(CM/厘米) <span style="font-size:14px;color:red">输入格式: 长 * 宽  推荐尺寸:2.9m*3.9m、4.2m*3.9m、4.2m*4.9m</span>
+                尺寸(CM/厘米) <span style="font-size:14px;color:red">输入格式: 长 * 宽</span>
+                <span>
+                    <input type="checkbox" name="switchSize" lay-filter="switchSize" title="自定义尺寸">
+                </span>
             </p>
             <div class="layui-form-item">
-                <input type="text" placeholder="格式:长*宽" name="size" id="size" class="layui-input"
-                       autocomplete="off">
+                <select name="size" id="size" class="layui-form-select">
+                    <option value="290*390">290*390cm</option>
+                    <option value="420*390">420*390cm</option>
+                    <option value="420*490">420*490cm</option>
+                </select>
+            </div>
+            <div class="layui-form-item" style="display: none">
+                <input type="text" name="size" id="diySize" placeholder="格式:长*宽" class="layui-input" autocomplete="off">
             </div>
             <p>
                 数量(个)
@@ -52,15 +61,18 @@
                        class="layui-input" lay-verify="number">
             </div>
             <p>
-                配件(五件套)<span
-                    style="font-size:14px;color:red">伸缩杆:直径2.5厘米2根 (2.4米/根)、防风绳: 4米固定8条、地钉: 8颗、D扣:(车间车在各个吊耳上面)、安装包</span>
+                安装包(五件套)<span style="font-size:14px;color:red">伸缩杆:直径2.5厘米2根 (2.4米/根)、防风绳: 4米固定8条、地钉: 8颗、D扣:(车间车在各个吊耳上面)、安装包</span>
             </p>
-            <div class="layui-input-block">
-                <input type="checkbox" name="craftys" lay-filter="switch" value="直径4mm麻绳" title="直径4mm麻绳">
-                <input type="checkbox" name="craftys" lay-filter="switch" value="五件套" title="五件套">
-                <span id="shuliang" style="display: none">
-                    <input type="text" placeholder="请输入整数" name="shuliang" value="0"
-                           style="width: 50px;height: 20px;"><span>套</span>
+            <div class="layui-form-item" style="display: flex;">
+                <input type="checkbox" name="craft" lay-filter="switch" value="防风绳" title="防风绳">
+                <span class="layui-inline" id="ffs" style="display: none;width: 100px;align-items: center">
+                    <input type="text" name="pcount" value="0" placeholder="请输入整数" class="layui-input" autocomplete="off"><span
+                        style="flex-shrink: 0">(4米/条)</span>
+                </span>
+                <input type="checkbox" name="craft" lay-filter="switch" value="安装包" title="安装包">
+                <span class="layui-inline" id="shuliang" style="display: none;width: 100px;align-items: center">
+                    <input type="text" name="shuliang" value="0" placeholder="请输入整数" class="layui-input" autocomplete="off"><span
+                        style="flex-shrink: 0">套</span>
                 </span>
             </div>
             <p>
@@ -68,16 +80,15 @@
                     style="font-size:14px;color:red">印刷内容空白 工艺是模切的话 文件名要备注定制</span>
             </p>
             <div class="layui-input-block">
-                <input type="radio" name="craftShua" lay-filter="switch" value="空白" title="空白" lay-skin="primary">
-                <input type="radio" name="craftShua" lay-filter="switch" value="定制" title="定制" lay-skin="primary"
-                       checked>
+                <input type="radio" name="craft" lay-filter="switch" value="空白" title="空白" lay-skin="primary">
+                <input type="radio" name="craft" lay-filter="switch" value="定制" title="定制" lay-skin="primary" checked>
             </div>
             <p>
                 工艺
             </p>
             <div class="layui-input-block">
-                <input type="checkbox" name="craftQie" lay-filter="switch" value="裁切" title="裁切">
-                <input type="checkbox" name="craftQie" lay-filter="switch" value="模切" title="模切">
+                <input type="checkbox" name="craft" lay-filter="switch" value="裁切" title="裁切">
+                <input type="checkbox" name="craft" lay-filter="switch" value="模切" title="模切">
                 <input type="checkbox" name="craft" lay-filter="switch" value="吊耳" title="吊耳">
             </div>
             <hr>
@@ -138,7 +149,7 @@
                     for (let i = 0; i < result.length; i++) {
                         // 只留一个remark
                         remark = "";
-                        html += '<div><img style="width:' + result[0].imgWidth + 'px" src="' + result[i].imgUrl + '"></div>';
+                        html += '<div><img style="width:100%;height: 100%;object-fit: contain" src="' + result[i].imgUrl + '"></div>';
                         remark += '<div><span>' + result[0].remark + '<span/></div>';
                     }
                     $("#carousel").append(html);
@@ -164,35 +175,63 @@
         form.on("radio(switch)", (data) => {
             getProductImage(data.elem.checked ? data.value : '');
         })
+        form.on('checkbox(switchSize)', function (data) {
+            $("#diySize").parent().hide()
+            $("#size").parent().show()
+            $("#size").attr("disabled", false);
+            $("#diySize").attr("disabled", true);
+            if (data.elem.checked) {
+                $("#diySize").parent().show()
+                $("#size").parent().hide()
+                $("#size").attr("disabled", true);
+                $("#diySize").attr("disabled", false);
+
+            }
+            form.render();
+        })
+        const carft_list1 = ["裁切", "模切"];
+
+        const carft_list2 = ["防风绳", "安装包"];
         form.on("checkbox(switch)", (data) => {
-            let arr = []
+            let craft_list = []
             $("input[name='craft']:checked").each(function () {
                 if (!$(this).is("disabled")) {
-                    arr.push($(this).val())
+                    craft_list.push($(this).val())
                 }
             })
-            if ($("input[name='craftQie']:checked").length > 1) {
+            const carft1 = carft_list1.filter(craft => craft_list.includes(craft));
+            if (carft1.length > 1) {
                 $(data.elem).next().attr("class", "layui-unselect layui-form-checkbox");
                 $(data.elem).prop("checked", false);
                 layer.msg('裁切-模切不能同时选择!', {offset: ['300px', '300px']}, function () {
                 });
                 return false;
             }
-            if ($("input[name='craftys']:checked").length > 1) {
+            const carft2 = carft_list2.filter(craft => craft_list.includes(craft));
+            if (carft2.length > 1) {
                 $(data.elem).next().attr("class", "layui-unselect layui-form-checkbox");
                 $(data.elem).prop("checked", false);
-                layer.msg('麻绳-五件套不能同时选择!', {offset: ['300px', '300px']}, function () {
+                layer.msg('防风绳-安装包不能同时选择!', {offset: ['300px', '300px']}, function () {
                 });
                 return false;
             }
-            if (data.value == '五件套') {
+            if (data.value == '安装包') {
                 if (data.elem.checked) {
-                    $("#shuliang").show()
+                    $("#shuliang").css("display", "flex");
                 } else {
                     $("input[name='shuliang']").val(0)
                     $("#shuliang").hide()
                 }
 
+            }
+            if (data.value == '防风绳') {
+                if (data.elem.checked) {
+                    $("#ffs").css("display", "flex");
+                } else {
+                    $("input[name='pcount']").val(0)
+                    $("#ffs").hide()
+                }
+
             }
 
             getProductImage(data.elem.checked ? data.value : '');
@@ -210,6 +249,9 @@
                 });
                 return false;
             }
+            if ($("input[name='switchSize']").is(":checked")) {
+                size = $("#diySize").val();
+            }
             if (!size) {
                 layer.msg('请输入尺寸!', {offset: ['300px', '300px']}, function () {
                 });
@@ -225,8 +267,8 @@
                 });
                 return false;
             }
-            if (size.split("*")[0] > 170 || size.split("*")[1] > 170) {
-                layer.msg('天幕尺寸超过170cm需要拼接!', {offset: ['300px', '300px']}, function () {
+            if (size.split("*")[0] > 160 || size.split("*")[1] > 160) {
+                layer.msg('天幕尺寸超过160cm需要拼接!', {offset: ['300px', '300px']}, function () {
                 });
             }
             $.ajax({
@@ -246,18 +288,19 @@
                     let craftQie = $("input[name='craftQie']:checked").val();
                     let craftShua = $("input[name='craftShua']:checked").val();
                     let shuliang = $("input[name='shuliang']").val() || 0;
+                    let pcount = $("input[name='pcount']").val() || 0;
                     let craftys = $("input[name='craftys']:checked").val();
                     $("input[name='craft']:checked").each(function () {
                         if (!$(this).is("disabled")) {
-                            arr.push($(this).val())
+                            if ($(this).val() == "安装包") {
+                                arr.push($(this).val() + shuliang)
+                            } else if ($(this).val() == "防风绳") {
+                                arr.push($(this).val() + pcount)
+                            } else {
+                                arr.push($(this).val())
+                            }
                         }
                     })
-                    if (craftQie) {
-                        arr.push(craftQie);
-                    }
-                    if (craftShua) {
-                        arr.push(craftShua);
-                    }
 
                     let span_result = kind + ' - ' + size + ' 厘米 -(同款内容)\n' + "工艺 :" + arr.join(",") + "\n";
                     if (craftys) {