Bladeren bron

新增躺椅,修改天幕定制衫

zhuyiyi 4 dagen geleden
bovenliggende
commit
03d7d8808e

+ 198 - 53
src/main/java/lingtao/net/service/ProductService.java

@@ -4368,12 +4368,29 @@ public class ProductService {
                 return getYaFenPrice(dto, width, length);
             case "UV打印亚克力":
                 return getUVDayinYKLPrice(dto, width, length);
+            case "躺椅":
+                return getDeckCharitPrice(dto, width, length);
             default:
                 break;
         }
         return null;
     }
 
+    private List<Product> getDeckCharitPrice(Product dto, Double width, Double length) {
+        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();
+        Product product = new Product();
+        product.setPrice(Math.ceil(150 * count * number));
+        product.setCount(dto.getCount());
+        product.setNumber(dto.getNumber());
+        product.setWeight(df.format(3.3 * count * number));
+        priceList.add(product);
+        return priceList;
+    }
+
     private List<Product> getUVDayinYKLPrice(Product dto, Double width, Double length) {
         List<String> craft_lists = dto.getCraft() == null ? new ArrayList<>() : Arrays.asList(dto.getCraft());
         List<String> craft_list = new ArrayList<>(craft_lists);
@@ -5095,15 +5112,49 @@ public class ProductService {
         int count = dto.getCount();
         int number = dto.getNumber();
         double area = length * width / 10000;
-        if (craft_list.contains("空白") && craft_list.contains("模切")) {
-            craft_list.add("定制");
-        }
-        priceList = CanopyUtil.getPrice(area, count, priceList, dto.getKindValue(), craft_list);
-        if (number > 1) {
-            for (Product product : priceList) {
-                product.setPrice(Math.floor(product.getPrice() * number));
+        Product pro = new Product();
+        pro.setCount(count);
+        pro.setNumber(number);
+        double price = 0;
+        if (width == 290 && length == 290) {
+            price = 250;
+            if ("黑胶涤纶布".equals(dto.getKindValue())) {
+                price = price + 10;
             }
+
+            price = Math.ceil(price * count * number);
+        } else if ((width == 420 && length == 390) || (length == 420 && width == 390)) {
+            price = 440;
+            if ("黑胶涤纶布".equals(dto.getKindValue())) {
+                price = price + 10;
+            }
+            price = Math.ceil(price * count * number);
+        } else if ((width == 420 && length == 490) || (length == 420 && width == 490)) {
+            price = 550;
+            if ("黑胶涤纶布".equals(dto.getKindValue())) {
+                price = price + 10;
+            }
+            price = Math.ceil(price * count * number);
+        } else {
+            double basePrice = 0;
+            if (area <= 4) {
+                basePrice = 33;
+            } else if (area <= 6) {
+                basePrice = 32;
+            } else if (area <= 9) {
+                basePrice = 31;
+            } else {
+                basePrice = 29;
+            }
+            if ("黑胶涤纶布".equals(dto.getKindValue())) {
+                basePrice = basePrice + 1;
+            }
+            price = Math.ceil(basePrice * area * count * number);
         }
+
+        pro.setPrice(Math.ceil(price));
+        priceList.add(pro);
+
         for (Product product : priceList) {
             if (craft_list.contains("安装包")) {
                 product.setPrice(Math.floor(product.getPrice() + dto.getShuliang() * 50));
@@ -5111,7 +5162,7 @@ public class ProductService {
             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));
+            product.setWeight(String.valueOf(area * 0.18 + dto.getShuliang() * 3.3));
         }
 
         return priceList;
@@ -5145,63 +5196,157 @@ public class ProductService {
         int number = dto.getNumber();
         double basePrice = 0;
         double banfei = 0;
-        if ("YP".equals(dto.getKindValue())) {
-            basePrice = 19;
-        }
-        if ("XW".equals(dto.getKindValue())) {
-            basePrice = 31;
-        }
-        if ("EP".equals(dto.getKindValue())) {
-            basePrice = 31;
-        }
-        if ("ZT".equals(dto.getKindValue())) {
-            basePrice = 57;
-        }
-        if (!StringUtils.isEmpty(dto.getSize())) {
-            String[] size_list = dto.getSize().split(",");
-            for (int i = 0; i < size_list.length; i++) {
-                double sizePirce = 0;
-                if ("10*10".equals(size_list[i])) {
-                    sizePirce = 4;
-                }
-                if ("15*15".equals(size_list[i])) {
-                    sizePirce = 6;
-                }
-                if ("15*20".equals(size_list[i])) {
-                    sizePirce = 8;
+
+        List<String> kindList = Arrays.asList("T恤", "马甲", "工程服");
+
+        if (kindList.contains(dto.getKindValue())) {
+            String kind1value = dto.getKind1Value();
+            if ("1108T".equals(kind1value)) {
+                basePrice = 66;
+            } else if ("2604".equals(kind1value)) {
+                basePrice = 66;
+            } else if ("8089".equals(kind1value)) {
+                basePrice = 88;
+            } else if ("1101".equals(kind1value)) {
+                basePrice = 46;
+            } else if ("1102".equals(kind1value)) {
+                basePrice = 46;
+            } else if ("9128".equals(kind1value)) {
+                basePrice = 72;
+            } else if ("9129".equals(kind1value)) {
+                basePrice = 80;
+            } else if ("9022".equals(kind1value)) {
+                basePrice = 84;
+            } else if ("9020".equals(kind1value)) {
+                basePrice = 84;
+            } else if ("9008".equals(kind1value)) {
+                basePrice = 44;
+            } else if ("9023".equals(kind1value)) {
+                basePrice = 50;
+            } else if ("9002".equals(kind1value)) {
+                basePrice = 48;
+            } else if ("6010A".equals(kind1value)) {
+                basePrice = 122;
+            } else if ("6016".equals(kind1value)) {
+                basePrice = 106;
+            } else if ("5608XM".equals(kind1value)) {
+                basePrice = 140;
+            } else if ("5608K".equals(kind1value)) {
+                basePrice = 90;
+            } else if ("903".equals(kind1value)) {
+                basePrice = 58;
+            } else if ("901".equals(kind1value)) {
+                basePrice = 100;
+            }
+            double craftPrice = 0;
+            if (craft_list.contains("烫画")) {
+                if (craft_list.contains("前胸")) {
+                    craftPrice += Math.max(5, 3 * dto.getCount() * number);
+                    if (dto.getCount() * number > 5) {
+                        craftPrice = 0;
+                    }
                 }
-                if ("20*20".equals(size_list[i])) {
-                    sizePirce = 10;
+                if (craft_list.contains("后背")) {
+                    craftPrice += Math.max(10, 5 * dto.getCount() * number);
+                    if (dto.getCount() * number > 10) {
+                        craftPrice = 0;
+                    }
                 }
-                if ("25*15".equals(size_list[i])) {
-                    sizePirce = 10;
+            }
+            if (craft_list.contains("刺绣")) {
+                if (craft_list.contains("前胸")) {
+                    craftPrice += Math.max(30, 3 * dto.getCount() * number);
+                    if (dto.getCount() * number > 15) {
+                        craftPrice = 0;
+                    }
                 }
-                if ("25*25".equals(size_list[i])) {
-                    sizePirce = 12;
+                if (craft_list.contains("后背")) {
+                    craftPrice += Math.max(50, 6 * dto.getCount() * number);
+                    if (dto.getCount() * number > 20) {
+                        craftPrice = 0;
+                    }
                 }
-                if ("30*30".equals(size_list[i])) {
-                    sizePirce = 14;
+            }
+            if (craft_list.contains("丝印")) {
+                if (craft_list.contains("前胸")) {
+                    craftPrice += Math.max(80, 2 * dto.getCount() * number);
+                    if (dto.getCount() * number > 100) {
+                        craftPrice = 0;
+                    }
                 }
-                if ("30*40".equals(size_list[i])) {
-                    sizePirce = 16;
+                if (craft_list.contains("后背")) {
+                    craftPrice += Math.max(100, 2 * dto.getCount() * number);
+                    if (dto.getCount() * number > 100) {
+                        craftPrice = 0;
+                    }
                 }
+            }
 
-                basePrice += sizePirce;
+            Product pro = new Product();
+            pro.setCount(count);
+            pro.setPrice(Math.ceil(basePrice * count * number) + craftPrice);
+            priceList.add(pro);
+
+        } else {
+            if ("YP".equals(dto.getKindValue())) {
+                basePrice = 19;
             }
+            if ("XW".equals(dto.getKindValue())) {
+                basePrice = 31;
+            }
+            if ("EP".equals(dto.getKindValue())) {
+                basePrice = 31;
+            }
+            if ("ZT".equals(dto.getKindValue())) {
+                basePrice = 57;
+            }
+            if (!StringUtils.isEmpty(dto.getSize())) {
+                String[] size_list = dto.getSize().split(",");
+                for (int i = 0; i < size_list.length; i++) {
+                    double sizePirce = 0;
+                    if ("10*10".equals(size_list[i])) {
+                        sizePirce = 4;
+                    }
+                    if ("15*15".equals(size_list[i])) {
+                        sizePirce = 6;
+                    }
+                    if ("15*20".equals(size_list[i])) {
+                        sizePirce = 8;
+                    }
+                    if ("20*20".equals(size_list[i])) {
+                        sizePirce = 10;
+                    }
+                    if ("25*15".equals(size_list[i])) {
+                        sizePirce = 10;
+                    }
+                    if ("25*25".equals(size_list[i])) {
+                        sizePirce = 12;
+                    }
+                    if ("30*30".equals(size_list[i])) {
+                        sizePirce = 14;
+                    }
+                    if ("30*40".equals(size_list[i])) {
+                        sizePirce = 16;
+                    }
+
+                    basePrice += sizePirce;
+                }
 
-        }
-        if (dto.getPo_number() != null && dto.getCo_number() != null) {
-            if (dto.getPo_number() > 0 || dto.getCo_number() > 0) {
-                basePrice += dto.getPo_number() * 4 * dto.getCo_number();
-                banfei = dto.getPo_number() * 40 * dto.getCo_number();
             }
+            if (dto.getPo_number() != null && dto.getCo_number() != null) {
+                if (dto.getPo_number() > 0 || dto.getCo_number() > 0) {
+                    basePrice += dto.getPo_number() * 4 * dto.getCo_number();
+                    banfei = dto.getPo_number() * 40 * dto.getCo_number();
+                }
+            }
+            count = dto.getCount();
+
+            Product pro = new Product();
+            pro.setCount(count);
+            pro.setPrice(Math.max(basePrice * count * number, 30) + banfei);
+            priceList.add(pro);
         }
-        count = dto.getCount();
 
-        Product pro = new Product();
-        pro.setCount(count);
-        pro.setPrice(Math.max(basePrice * count * number, 30) + banfei);
-        priceList.add(pro);
         return priceList;
     }
 

+ 32 - 37
src/main/webapp/views/product/canopy.jsp

@@ -38,7 +38,7 @@
             </p>
             <div class="layui-form-item">
                 <select name="size" id="size" class="layui-form-select">
-                    <option value="290*390">290*390cm</option>
+                    <option value="290*290">290*290cm</option>
                     <option value="420*390">420*390cm</option>
                     <option value="420*490">420*490cm</option>
                 </select>
@@ -61,35 +61,35 @@
                        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根、防风绳: 4米固定8条、地钉: 8颗、三角扣:(车间车在各个吊耳上面)、安装包</span>
             </p>
-            <div class="layui-form-item" style="display: flex;">
+            <div class="layui-form-item" style="display: flex;align-items: center">
+                配件:
                 <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="checkbox" name="craft" lay-filter="switch" value="安装包" title="安装包" checked>
+                <span class="layui-inline" id="shuliang" style="display: flex;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>
-                印刷<span
-                    style="font-size:14px;color:red">印刷内容空白 工艺是模切的话 文件名要备注定制</span>
-            </p>
-            <div class="layui-input-block">
-                <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>--%>
+            <%--                印刷<span--%>
+            <%--                    style="font-size:14px;color:red">印刷内容空白 工艺是模切的话 文件名要备注定制</span>--%>
+            <%--            </p>--%>
+            <%--            <div class="layui-input-block">--%>
+            <%--                <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="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="吊耳">
+                <input type="checkbox" name="craft" lay-filter="switch" value="裁切吊耳" title="裁切吊耳">
+                <input type="checkbox" name="craft" lay-filter="switch" value="模切吊耳" title="模切吊耳">
             </div>
             <hr>
             <div class="layui-form-item">
@@ -207,14 +207,14 @@
                 });
                 return false;
             }
-            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 () {
-                });
-                return false;
-            }
+            // 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 () {
+            //     });
+            //     return false;
+            // }
             if (data.value == '安装包') {
                 if (data.elem.checked) {
                     $("#shuliang").css("display", "flex");
@@ -242,10 +242,15 @@
 
             let size = $("#size").val();
             let count = $("#count").val();
-            let craftys = $("input[name='craftys']:checked").val();
+            let craft_list = [];
+            $("input[name='craft']:checked").each(function () {
+                if (!$(this).is("disabled")) {
+                    craft_list.push($(this).val())
+                }
+            })
             let shuliang = $("input[name='shuliang']").val();
-            if (craftys == '五件套' && shuliang == 0) {
-                layer.msg('请输入五件套数量!', {offset: ['300px', '300px']}, function () {
+            if (craft_list.includes("安装包") && shuliang == 0) {
+                layer.msg('请输入安装包数量!', {offset: ['300px', '300px']}, function () {
                 });
                 return false;
             }
@@ -285,11 +290,8 @@
                     let data = result.data.proList;
                     let kind = $("select[name='kindValue'] option:selected").val();
                     let number = $("#number").val();
-                    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")) {
                             if ($(this).val() == "安装包") {
@@ -303,13 +305,6 @@
                     })
 
                     let span_result = kind + ' - ' + size + ' 厘米 -(同款内容)\n' + "工艺 :" + arr.join(",") + "\n";
-                    if (craftys) {
-                        span_result += "配件:" + craftys
-                        if (shuliang > 0) {
-                            span_result += shuliang + "套";
-                        }
-                        span_result += "\n"
-                    }
 
                     if (number > 1) {
                         for (let i = 0; i < data.length; i++) {

+ 303 - 213
src/main/webapp/views/product/clothes.jsp

@@ -26,14 +26,13 @@
                 型号
             </p>
             <div class="layui-form-item">
-                <input type="radio" name="kindValue" lay-filter="kindValue" value="YP" title="YP 1902"
-                       lay-skin="primary" checked>
-                <input type="radio" name="kindValue" lay-filter="kindValue" value="XW" title="XW 601#"
-                       lay-skin="primary">
-                <input type="radio" name="kindValue" lay-filter="kindValue" value="EP" title="EP 2803"
-                       lay-skin="primary">
-                <input type="radio" name="kindValue" lay-filter="kindValue" value="ZT" title="ZT 901#"
-                       lay-skin="primary">
+                <input type="radio" name="kindValue" lay-filter="kindValue" value="YP" title="YP 1902" lay-skin="primary" checked>
+                <input type="radio" name="kindValue" lay-filter="kindValue" value="XW" title="XW 601#" lay-skin="primary">
+                <input type="radio" name="kindValue" lay-filter="kindValue" value="EP" title="EP 2803" lay-skin="primary">
+                <input type="radio" name="kindValue" lay-filter="kindValue" value="ZT" title="ZT 901#" lay-skin="primary">
+                <input type="radio" name="kindValue" lay-filter="kindValue" value="T恤" title="T恤" lay-skin="primary">
+                <input type="radio" name="kindValue" lay-filter="kindValue" value="马甲" title="马甲" lay-skin="primary">
+                <input type="radio" name="kindValue" lay-filter="kindValue" value="工程服" title="工程服" lay-skin="primary">
             </div>
             <p>
                 材质
@@ -43,15 +42,18 @@
                     <option value="圆领速干">圆领速干</option>
                 </select>
             </div>
-            <p>
-                款式
-            </p>
-            <div class="layui-form-item">
-                <input type="radio" name="styles" lay-filter="styles" value="成人款" title="成人款"
-                       lay-skin="primary" checked>
-                <input type="radio" name="styles" lay-filter="styles" value="儿童款" title="儿童款"
-                       lay-skin="primary">
+            <div id="styles">
+                <p>
+                    款式
+                </p>
+                <div class="layui-form-item">
+                    <input type="radio" name="styles" lay-filter="styles" value="成人款" title="成人款"
+                           lay-skin="primary" checked>
+                    <input type="radio" name="styles" lay-filter="styles" value="儿童款" title="儿童款"
+                           lay-skin="primary">
+                </div>
             </div>
+
             <p>
                 尺码
             </p>
@@ -97,13 +99,13 @@
                 <input type="text" placeholder="请输入整数" autocomplete="off" name="number" id="number" value="1"
                        class="layui-input" lay-verify="number">
             </div>
-
-            <p>
-                工艺<span style="font-size:14px;color:red">印花最大尺寸32*40CM</span>
-            </p>
-            <div class="layui-input-block">
-                <input type="checkbox" name="craft" lay-filter="switch" value="烫画" title="烫画">
-                <span id="craft_draw" style="display: none;align-items: center">
+            <div class="location">
+                <p>
+                    工艺<span style="font-size:14px;color:red">印花最大尺寸32*40CM</span>
+                </p>
+                <div class="layui-input-block location">
+                    <input type="checkbox" name="craft" lay-filter="switch" value="烫画" title="烫画">
+                    <span class="layui-inline" id="craft_draw" style="display: none;align-items: center">
                      <div class="layui-form-item" style="align-items: center;display: flex">
                         <span style="flex-shrink: 0">位置:</span>
                         <select name="po_number" class="select" lay-verify="po_number" lay-filter="po_number">
@@ -124,11 +126,9 @@
                             <option value="30*40">30*40CM内</option>
                         </select>
                     </div>
-                    <div id="po_num_item"></div>
                 </span>
-                <input type="checkbox" name="craft" lay-filter="switch" value="丝印" title="丝印">
-                <span id="craft_print" style="display: none;align-items: center">
-
+                    <input type="checkbox" name="craft" lay-filter="switch" value="丝印" title="丝印">
+                    <span id="craft_print" style="display: none;align-items: center">
                     <div style="width: 150px;align-items: center;display: flex">
                     <span style="flex-shrink: 0">位置:</span>
                      <input type="text" placeholder="请输入整数" autocomplete="off" name="po_number" class="layui-input"
@@ -138,6 +138,21 @@
                     <input type="text" placeholder="请输入整数" autocomplete="off" name="co_number" class="layui-input"
                            lay-verify="number" value="1" disabled></div>
                 </span>
+                </div>
+            </div>
+            <div class="specific" style="display: none">
+                <p>
+                    工艺<span style="font-size:14px;color:red">备注:丝印量小不建议做,多色不建议做,渐变色不建议做  </span>
+                </p>
+                <div class="layui-form-item specific">
+                    <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 class="layui-inline definite" style="display: none">
+                        <input type="checkbox" name="craft" value="前胸" title="前胸" disabled>
+                        <input type="checkbox" name="craft" value="后背" title="后背" disabled>
+                    </div>
+                </div>
             </div>
             <hr>
             <div class="layui-form-item">
@@ -187,8 +202,21 @@
             let html = "";
             let kindValue = $("input[name='kindValue']:checked").val();
             let styles = $("input[name='styles']:checked").val();
-            data.kindValue = kindValue;
-            data.kind2Value = styles;
+            let kind1Value = $("select[name='kind1Value'] option:selected").val();
+            let className = "location";
+            if (kindValue == "T恤" || kindValue == "马甲" || kindValue == "工程服") {
+                className = "specific";
+            }
+            if (!!craft) {
+                data.craftValue = "craft";
+            } else {
+                data.kindValue = kindValue;
+                if (className == "location") {
+                    data.kind2Value = styles;
+                } else {
+                    data.kind2Value = kind1Value
+                }
+            }
             $.ajax({
                 url: "${pageContext.request.contextPath}/getImgs",
                 type: "GET",
@@ -198,7 +226,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);
@@ -222,7 +250,7 @@
         }
 
         form.on("select(po_number)", (data) => {
-            let html = ``
+            let html = '';
             if (data.value > 1) {
                 for (let i = 1; i < data.value; i++) {
                     html += `<div class="layui-form-item" style="align-items: center;display: flex">
@@ -243,6 +271,12 @@
             }
             form.render();
         })
+        form.on('select(kind1Value)', (data) => {
+            let kindValue = $("input[name='kindValue']:checked").val();
+            setHtml(kindValue, data.value);
+            form.render();
+            getProductImage()
+        })
         form.on("radio(styles)", (data) => {
             let kindValue = $("input[name='kindValue']:checked").val();
             setHtml(kindValue, data.value)
@@ -250,209 +284,236 @@
             getProductImage()
         });
         form.on("radio(kindValue)", (data) => {
+            $("#styles").show();
             $("input[name='styles'][value='成人款']").prop("checked", true);
             $("input[name='styles'][value='儿童款']").prop("disabled", false);
-            setHtml(data.value, '成人款')
+
             if (data.value == "EP") {
                 $("input[name='styles'][value='儿童款']").prop("disabled", true);
             }
             if (data.value == "ZT") {
                 $("input[name='styles'][value='儿童款']").prop("disabled", true);
             }
+            $(".location").show();
+            $(".specific").hide();
+            if (data.value == "T恤" || data.value == "马甲" || data.value == "工程服") {
+                $("#styles").hide();
+                $(".location").hide();
+                $(".specific").show();
+            }
+            let kindValueHtml = '';
+            if (data.value == "T恤") {
+                kindValueHtml = `
+                    <option value="1108T">T恤1108T</option>
+                    <option value="2604">T恤2604</option>
+                    <option value="8089">T恤8089</option>
+                    <option value="1101">T恤1101</option>
+                    <option value="1102">T恤1102</option>
+                    <option value="9128">T恤9128</option>
+                    <option value="9129">T恤9129</option>
+                `;
+                setHtml(data.value, '1108T')
+            } else if (data.value == "马甲") {
+                kindValueHtml = `
+                    <option value="9022">马甲9022</option>
+                    <option value="9020">马甲9020</option>
+                    <option value="9008">马甲9008</option>
+                    <option value="9023">马甲9023</option>
+                    <option value="9002">马甲9002</option>
+                `;
+                setHtml(data.value, '9022')
+            } else if (data.value == "工程服") {
+                kindValueHtml = `
+                    <option value="6010A">工装6010A</option>
+                    <option value="6016">工装6016</option>
+                    <option value="5608XM">工装5608XM</option>
+                    <option value="5608K">工装5608K</option>
+                    <option value="903">工装903</option>
+                    <option value="901">工装901</option>
+                `;
+                setHtml(data.value, '6010A')
+            } else {
+                setHtml(data.value, '成人款')
+            }
+            if (kindValueHtml != '') {
+                $("#kind1Value").empty().append(kindValueHtml);
+            }
             form.render();
             getProductImage()
         })
 
+        // 配置映射:key 为 '${kind}_${styles}',value 包含对应要更新的内容
+        const PRODUCT_CONFIG = {
+            // XW 成人款
+            XW_成人款: {
+                kind1Value: '圆领棉质',
+                size: ['S', 'M', 'L', 'XL', '2XL', '3XL', '4XL', '5XL'],
+                color: ['砖红', '墨绿色', '白色', '紫色', '雾霾蓝', '克莱因蓝', '米杏', '姜黄', '玫红', '豆绿', '酒红', '卡其色', '天蓝色', '铁灰', '红色', '黑色', '浅灰色', '绿色']
+            },
+            // XW 儿童款
+            XW_儿童款: {
+                size: ['100', '110', '120', '130', '140', '150'],
+                color: ['黑色', '白色', '粉色', '大红色']
+            },
+            // YP 成人款
+            YP_成人款: {
+                kind1Value: '圆领速干',
+                size: ['S', 'M', 'L', 'XL', '2XL', '3XL', '4XL', '5XL'],
+                color: ['宝蓝', '黑色', '白色', '湖蓝', '银光绿', '黄色', '橙色', '天蓝', '红色']
+            },
+            // YP 儿童款
+            YP_儿童款: {
+                size: ['100', '110', '120', '130', '140', '150'],
+                color: ['砖红', '墨绿色', '白色', '紫色', '雾霾蓝', '克莱因蓝', '米杏', '姜黄', '玫红', '豆绿', '酒红', '卡其色', '天蓝色', '铁灰', '红色', '黑色', '浅灰色', '绿色']
+            },
+            // EP 成人款
+            EP_成人款: {
+                kind1Value: 'polo速干',
+                size: ['S', 'M', 'L', 'XL', '2XL', '3XL', '4XL', '5XL'],
+                color: ['孔蓝色', '灰色', '天蓝色', '彩蓝色', '白色', '草绿色', '藏青色', '橙色', '黑色', '红色', '黄色']
+            },
+            // ZT 成人款(无 5XL,颜色列表不同)
+            ZT_成人款: {
+                kind1Value: 'popl棉质',
+                size: ['S', 'M', 'L', 'XL', '2XL', '3XL', '4XL'],
+                color: ['黑色', '白色', '橘色', '天蓝色', '果绿色', '孔蓝色', '红色', '藏青色', '玫红色', '紫色', '黄色', '草绿色']
+            },
+            // EP 儿童款 和 ZT 儿童款 无配置,不会产生任何更新
+            T恤_1108T: {
+                size: ['S', 'M', 'L', 'XL', '2XL', '3XL', '4XL', '5XL'],
+                color: ['石耀黑', '钢铁灰拼石耀黑', '石耀黑拼钢铁灰', '丈青拼钢铁灰', '钢铁灰', '丈青色']
+            },
+            T恤_2604: {
+                size: ['S', 'M', 'L', 'XL', '2XL', '3XL', '4XL', '5XL', '6XL'],
+                color: ['黑色', '乌金蓝', '蔚来灰', '深空灰', '白色', '冰川蓝', '幽暗绿', '木槿紫', '爱马仕橙', '石榴红']
+            },
+            T恤_8089: {
+                size: ['S', 'M', 'L', 'XL', '2XL', '3XL', '4XL', '5XL', '6XL'],
+                color: ['藏蓝色', '灰咖绿', '雾霾蓝', '银灰色', '黑色', '白色', '咖色', '中灰色']
+            },
+            T恤_1101: {
+                size: ['S', 'M', 'L', 'XL', '2XL', '3XL', '4XL', '5XL'],
+                color: ['浅灰拼红', '藏蓝拼浅灰', '浅灰拼藏蓝', '黑色拼红', '黑色拼深灰', '藏蓝拼红', '纯白色', '纯黑色', '纯藏蓝色']
+            },
+            T恤_1102: {
+                size: ['S', 'M', 'L', 'XL', '2XL', '3XL', '4XL', '5XL'],
+                color: ['藏蓝拼橘', '藏蓝拼红', '藏蓝拼浅灰', '浅灰拼藏蓝', '黑色拼深灰']
+            },
+            T恤_9128: {
+                size: ['S', 'M', 'L', 'XL', '2XL', '3XL', '4XL', '5XL', '6XL'],
+                color: ['白色', '藏青色', '黑色', '深灰色', '苹果蓝', '丁香紫', '蔚来灰', '浅蓝', '粉红色']
+            },
+            T恤_9129: {
+                size: ['S', 'M', 'L', 'XL', '2XL', '3XL', '4XL', '5XL'],
+                color: ['藏青色', '黑色', '深灰色', '浅蓝', '丁香紫', '粉红色', '蔚来灰']
+            },
+            马甲_9022: {
+                size: ['L', 'XL', '2XL', '3XL', '4XL', '5XL'],
+                color: ['黑色', '红色', '藏蓝色']
+            },
+            马甲_9020: {
+                size: ['L', 'XL', '2XL', '3XL', '4XL', '5XL'],
+                color: ['黑色', '红色', '藏蓝色', '灰色']
+            },
+            马甲_9008: {
+                size: ['L', 'XL', '2XL', '3XL', '4XL', '5XL'],
+                color: ['黑色', '灰色', '橘色', '宝蓝色', '黄色', '红色', '背面']
+            },
+            马甲_9023: {
+                size: ['L', 'XL', '2XL', '3XL', '4XL', '5XL'],
+                color: ['理想绿', '清华紫', '黑色', '藏蓝色', '红色', '熊来灰']
+            },
+            马甲_9002: {
+                size: ['L', 'XL', '2XL', '3XL', '4XL', '5XL'],
+                color: ['黑色拼黄', '绿色拼黄', '藏蓝拼红', '宝蓝拼黄', '黄色拼黑', '灰色拼宝蓝', '红色拼黑']
+            },
+            工程服_6010A: {
+                size: ['S', 'M', 'L', 'XL', '2XL', '3XL', '4XL', '5XL'],
+                color: ['藏蓝色', '灰色', '宝蓝色']
+            },
+            工程服_6016: {
+                size: ['S', 'M', 'L', 'XL', '2XL', '3XL', '4XL', '5XL'],
+                color: ['橘红色']
+            },
+            工程服_5608XM: {
+                size: ['S', 'M', 'L', 'XL', '2XL', '3XL', '4XL'],
+                color: ['黑色拼灰', '藏蓝拼灰', '浅灰色', '藏蓝', '黑色', '雾霾蓝']
+            },
+            工程服_5608K: {
+                size: ['S', 'M', 'L', 'XL', '2XL', '3XL', '4XL', '5XL'],
+                color: ['黑色']
+            },
+            工程服_903: {
+                size: ['S', 'M', 'L', 'XL', '2XL', '3XL', '4XL', '5XL'],
+                color: ['黑色']
+            },
+            工程服_901: {
+                size: ['160cm', '165cm', '170cm', '175cm', '180cm', '185cm', '190cm', '195cm'],
+                color: ['藏蓝色', '宝蓝色', '灰色']
+            },
+        };
+
         function setHtml(kind, styles) {
-            if (kind == 'XW') {
-                if (styles == '成人款') {
-                    $("#kind1Value").empty();
-                    $("#kind1Value").append(`<option value="圆领棉质">圆领棉质</option>`);
-                    $("#size").empty();
-                    $("#size").append(`<option value="S" selected>S</option>
-                    <option value="M">M</option>
-                    <option value="L">L</option>
-                    <option value="XL">XL</option>
-                    <option value="2XL">2XL</option>
-                    <option value="3XL">3XL</option>
-                    <option value="4XL">4XL</option>
-                    <option value="5XL">5XL</option>`
-                    );
-                    $("#color").empty();
-                    $("#color").append(`<option value="砖红" selected>砖红</option>
-                    <option value="墨绿色">墨绿色</option>
-                    <option value="白色">白色</option>
-                    <option value="紫色">紫色</option>
-                    <option value="雾霾蓝">雾霾蓝</option>
-                    <option value="克莱因蓝">克莱因蓝</option>
-                    <option value="米杏">米杏</option>
-                    <option value="姜黄">姜黄</option>
-                    <option value="玫红">玫红</option>
-                    <option value="豆绿">豆绿</option>
-                    <option value="酒红">酒红</option>
-                    <option value="卡其色">卡其色</option>
-                    <option value="天蓝色">天蓝色</option>
-                    <option value="铁灰">铁灰</option>
-                    <option value="红色">红色</option>
-                    <option value="黑色">黑色</option>
-                    <option value="浅灰色">浅灰色</option>
-                    <option value="绿色">绿色</option>`
-                    );
-                }
-                if (styles == '儿童款') {
-                    $("#size").empty();
-                    $("#size").append(`<option value="100" selected>100</option>
-                    <option value="110">110</option>
-                    <option value="120">120</option>
-                    <option value="130">130</option>
-                    <option value="140">140</option>
-                    <option value="150">150</option>`
-                    );
-                    $("#color").empty();
-                    $("#color").append(`<option value="黑色" selected>黑色</option>
-                    <option value="白色">白色</option>
-                    <option value="粉色">粉色</option>
-                    <option value="大红色">大红色</option>`
-                    );
-                }
-            }
-            if (kind == 'YP') {
-                if (styles == '成人款') {
-                    $("#kind1Value").empty();
-                    $("#kind1Value").append(`<option value="圆领速干">圆领速干</option>`);
-                    $("#size").empty();
-                    $("#size").append(`<option value="S" selected>S</option>
-                    <option value="M">M</option>
-                    <option value="L">L</option>
-                    <option value="XL">XL</option>
-                    <option value="2XL">2XL</option>
-                    <option value="3XL">3XL</option>
-                    <option value="4XL">4XL</option>
-                    <option value="5XL">5XL</option>`);
-                    $("#color").empty();
-                    $("#color").append(`<option value="宝蓝" selected>宝蓝</option>
-                    <option value="黑色">黑色</option>
-                    <option value="白色">白色</option>
-                    <option value="湖蓝">湖蓝</option>
-                    <option value="银光绿">银光绿</option>
-                    <option value="黄色">黄色</option>
-                    <option value="橙色">橙色</option>
-                    <option value="天蓝">天蓝</option>
-                    <option value="红色">红色</option>`);
-                }
-                if (styles == '儿童款') {
-                    $("#size").empty();
-                    $("#size").append(`<option value="100" selected>100</option>
-                    <option value="110">110</option>
-                    <option value="120">120</option>
-                    <option value="130">130</option>
-                    <option value="140">140</option>
-                    <option value="150">150</option>`
-                    );
-                    $("#color").empty();
-                    $("#color").append(`<option value="砖红" selected>砖红</option>
-                    <option value="墨绿色">墨绿色</option>
-                    <option value="白色">白色</option>
-                    <option value="紫色">紫色</option>
-                    <option value="雾霾蓝">雾霾蓝</option>
-                    <option value="克莱因蓝">克莱因蓝</option>
-                    <option value="米杏">米杏</option>
-                    <option value="姜黄">姜黄</option>
-                    <option value="玫红">玫红</option>
-                    <option value="豆绿">豆绿</option>
-                    <option value="酒红">酒红</option>
-                    <option value="卡其色">卡其色</option>
-                    <option value="天蓝色">天蓝色</option>
-                    <option value="铁灰">铁灰</option>
-                    <option value="红色">红色</option>
-                    <option value="黑色">黑色</option>
-                    <option value="浅灰色">浅灰色</option>
-                    <option value="绿色">绿色</option>`);
-                }
+            const key = kind + "_" + styles;
+            const config = PRODUCT_CONFIG[key];
+            $("#craft_print").css("display", "none");
+            $("#craft_draw").css("display", "none");
+            $("input[name='craft']").prop("checked", false);
+            if (!config) return;  // 没有配置则不做任何操作
+
+            // 更新 kind1Value(仅当配置中存在时)
+            if (config.kind1Value !== undefined) {
+                $("#kind1Value").empty().append('<option value="' + config.kind1Value + '">' + config.kind1Value + '</option>');
             }
-            if (kind == 'EP') {
-                if (styles == '成人款') {
-                    $("#kind1Value").empty();
-                    $("#kind1Value").append(`<option value="polo速干">polo速干</option>`);
-                    $("#size").empty();
-                    $("#size").append(`<option value="S" selected>S</option>
-                    <option value="M">M</option>
-                    <option value="L">L</option>
-                    <option value="XL">XL</option>
-                    <option value="2XL">2XL</option>
-                    <option value="3XL">3XL</option>
-                    <option value="4XL">4XL</option>
-                    <option value="5XL">5XL</option>`);
-                    $("#color").empty();
-                    $("#color").append(`<option value="孔蓝色" selected>孔蓝色</option>
-                    <option value="灰色">灰色</option>
-                    <option value="天蓝色">天蓝色</option>
-                    <option value="彩蓝色">彩蓝色</option>
-                    <option value="白色">白色</option>
-                    <option value="草绿色">草绿色</option>
-                    <option value="藏青色">藏青色</option>
-                    <option value="橙色">橙色</option>
-                    <option value="黑色">黑色</option>
-                    <option value="红色">红色</option>
-                    <option value="黄色">黄色</option>`);
-                }
-                if (styles == '儿童款') {
 
-                }
+            // 更新 size 下拉框(第一个选项默认选中)
+            if (config.size) {
+                const sizeHtml = config.size.map((size, idx) => {
+                    return '<option value="' + size + '"  > ' + size + ' </option>'
+                }).join('');
+                $("#size").empty().append(sizeHtml);
             }
-            if (kind == 'ZT') {
-                if (styles == '成人款') {
-                    $("#kind1Value").empty();
-                    $("#kind1Value").append(`<option value="popl棉质">popl棉质</option>`);
-                    $("#size").empty();
-                    $("#size").append(`<option value="S" selected>S</option>
-                    <option value="M">M</option>
-                    <option value="L">L</option>
-                    <option value="XL">XL</option>
-                    <option value="2XL">2XL</option>
-                    <option value="3XL">3XL</option>
-                    <option value="4XL">4XL</option>`);
-                    $("#color").empty();
-                    $("#color").append(`<option value="黑色" selected>黑色</option>
-                    <option value="白色">白色</option>
-                    <option value="橘色">橘色</option>
-                    <option value="天蓝色">天蓝色</option>
-                    <option value="果绿色">果绿色</option>
-                    <option value="孔蓝色">孔蓝色</option>
-                    <option value="红色">红色</option>
-                    <option value="藏青色">藏青色</option>
-                    <option value="玫红色">玫红色</option>
-                    <option value="紫色">紫色</option>
-                    <option value="黄色">黄色</option>
-                    <option value="草绿色">草绿色</option>`);
-                }
-                if (styles == '儿童款') {
 
-                }
+            // 更新 color 下拉框(第一个选项默认选中)
+            if (config.color) {
+                const colorHtml = config.color.map((color, idx) => {
+                    return '<option value="' + color + '" > ' + color + ' </option>'
+                }).join('');
+                $("#color").empty().append(colorHtml);
             }
         }
 
+        let craft_list1 = ["烫画", "丝印", "刺绣"];
         form.on("checkbox(switch)", (data) => {
-            let arr = []
-            if ($("input[name='craft']:checked").length > 1) {
+            let craft_list = [];
+            $("input[name='craft']:checked").each(function () {
+                if (!$(this).is(':disabled')) {
+                    craft_list.push($(this).val());
+                }
+            });
+            const carft1 = craft_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 () {
+                layer.msg(craft_list1.join("-") + '不能同时选择!', {offset: ['300px', '300px']}, function () {
                 });
                 return false;
             }
-            if (data.value == '烫画') {
+            let className = $(data.elem).parent().hasClass("location") ? "location" : "specific";
+
+            if (data.value == '烫画' && className == "location") {
                 if (data.elem.checked) {
                     $("#craft_draw").css("display", "flex");
                     $("#craft_draw input").prop("disabled", false);
                     $("#craft_draw select").prop("disabled", false);
                 } else {
                     $("#craft_draw").css("display", "none");
+
                     $("#craft_draw input").prop("disabled", true);
                     $("#craft_draw select").prop("disabled", true);
                 }
             }
-            if (data.value == '丝印') {
+            if (data.value == '丝印' && className == "location") {
                 if (data.elem.checked) {
                     $("#craft_print").css("display", "flex");
                     $("#craft_print input").prop("disabled", false);
@@ -461,16 +522,37 @@
                     $("#craft_print input").prop("disabled", true);
                 }
             }
-
+            if (className == "specific") {
+                if (data.elem.checked) {
+                    $(".definite").show()
+                    $(".definite input").prop("disabled", false);
+                } else {
+                    $(".definite").hide();
+                    $(".definite input").prop("disabled", true);
+                }
+            }
+            getProductImage(data.elem.checked ? data.value : "")
+            form.render();
         })
 
         // 点击计算,计算价格
         form.on('submit(acount_btn)', function (data) {
 
             let size = $("select[name='size'] option:selected").val();
+            let kind = $("input[name='kindValue']:checked").val();
             let count = $("#count").val();
             let craft = $("input[name='craft']:checked").val();
+            let className = "location";
+            if (kind == "T恤" || kind == "马甲" || kind == "工程服") {
+                className = "specific";
+            }
 
+            let arr = [];
+            $("input[name='craft']:checked").each(function () {
+                if (!$(this).is("disabled")) {
+                    arr.push($(this).val())
+                }
+            })
             if (!craft) {
                 layer.msg('工艺必须选择!', {offset: ['300px', '300px']}, function () {
                 });
@@ -481,7 +563,7 @@
                 });
                 return false;
             }
-            if (craft?.indexOf("烫画") > -1) {
+            if (craft?.indexOf("烫画") > -1 && className == "location") {
                 let t_po_number = $("#craft_draw select[name='po_number'] option:selected").val();
                 if (!size) {
                     layer.msg('请输入尺寸!', {offset: ['300px', '300px']}, function () {
@@ -495,6 +577,13 @@
 
                 }
             }
+            if (className == "specific" && arr.length > 0) {
+                if (!arr.includes("前胸") && !arr.includes("后背")) {
+                    layer.msg('请选择位置!', {offset: ['300px', '300px']}, function () {
+                    });
+                    return false;
+                }
+            }
             $.ajax({
                 url: "${path}/getThanSum",
                 type: "GET",
@@ -511,32 +600,33 @@
                         "EP": "EP 2803",
                         "ZT": "ZT 901#",
                     }
-                    let arr = [];
                     let data = result.data.proList;
-                    let kind = $("input[name='kindValue']:checked").val();
+
                     let styles = $("input[name='styles']:checked").val();
                     let po_number = $("input[name='po_number']").val();
                     let co_number = $("input[name='co_number']").val();
-                    let kind1Value = $("select[name='kind1Value'] option:selected").val();
+                    let kind1Value = $("select[name='kind1Value'] option:selected")[0].innerHTML;
                     let cSize = $("#size").val();
                     let cColor = $("#color").val();
                     let number = $("#number").val();
-                    if (craft?.indexOf("烫画") > -1) {
+                    if (craft?.indexOf("烫画") > -1 && className == "location") {
                         po_number = $("select[name='po_number'] option:selected").val();
                     }
-                    if (craft?.indexOf("丝印") > -1) {
+                    if (craft?.indexOf("丝印") > -1 && className == "location") {
                         po_number = $("input[name='po_number']").val();
                     }
-                    $("input[name='craft']:checked").each(function () {
-                        if (!$(this).is("disabled")) {
-                            arr.push($(this).val())
-                        }
-                    })
-                    let span_result = kind_value[kind] + styles + '-' + kind1Value + '-' + cSize + '-' + cColor + '-(同款内容)\n工艺 :' + arr.join(",") + '\n'
-                    if (craft?.indexOf("烫画") > -1) {
+                    let kind_text = "";
+                    if (kind == "T恤" || kind == "马甲" || kind == "工程服") {
+                        kind_text = kind
+                    } else {
+                        kind_text = kind_value[kind] + styles
+                    }
+
+                    let span_result = kind_text + '-' + kind1Value + '-' + cSize + '-' + cColor + '-(同款内容)\n工艺 :' + arr.join(",") + '\n'
+                    if (craft?.indexOf("烫画") > -1 && className == "location") {
                         span_result += "烫画规格:" + size + "CM" + ",位置:" + po_number + "\n"
                     }
-                    if (craft?.indexOf("丝印") > -1) {
+                    if (craft?.indexOf("丝印") > -1 && className == "location") {
                         span_result += "位置:" + po_number + "," + "颜色:" + co_number + "\n"
                     }
                     if (number > 1) {

+ 274 - 0
src/main/webapp/views/product/deckChair.jsp

@@ -0,0 +1,274 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8"
+         pageEncoding="UTF-8" %>
+<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <title>Insert title here</title>
+    <%@include file="/views/common.jsp" %>
+</head>
+<body>
+<style>
+    #z4_craft .layui-form-select .layui-edge {
+        right: 20px;
+    }
+</style>
+<div class="big_box">
+    <div class="left_div">
+        <h1 class="h1">躺椅</h1> <span style="color:red;font-weight:700;"></span>
+        <hr>
+        <form class="layui-form">
+            <input type="hidden" name="proTypeValue" id="proTypeValue" class="layui-input" value="躺椅"/>
+            <p>
+                材质
+            </p>
+            <div class="layui-form-item">
+                <select name="kind" class="select" lay-search lay-filter="kind">
+                    <option value="1">松木</option>
+                </select>
+            </div>
+            <p>
+                尺寸(MM/厘米)
+            </p>
+            <div class="layui-form-item" id="ui_size">
+                <select name="size" id="size" class="layui-form-select">
+                    <option value="130*50">130*50CM</option>
+                </select>
+            </div>
+            <p>
+                数量(个)
+
+            </p>
+            <div class="layui-form-item">
+                <input type="text" name="count" placeholder="请输入整数" class="layui-input" autocomplete="off">
+            </div>
+            <p>
+                款数
+            </p>
+            <div class="layui-form-item">
+                <input type="text" placeholder="请输入整数" autocomplete="off" name="number" id="number" value="1"
+                       class="layui-input" lay-verify="number">
+            </div>
+            <p>
+                客户旺旺
+            </p>
+            <div class="layui-form-item">
+                <input type="text" placeholder="请输入客户旺旺号" autocomplete="off" name="wangwang" id="wangwang"
+                       class="layui-input">
+            </div>
+            <p>
+                工艺
+            </p>
+            <div class="layui-form-item" id='z4_craft'>
+                <div class="layui-input-block">
+                    常见工艺:
+                    <input type="checkbox" name="craft" lay-filter="ui_craft" value="上下封边" title="上下封边" checked>
+                </div>
+            </div>
+            <hr>
+            <div class="layui-form-item">
+                <button class="layui-btn" lay-submit="" lay-filter="acount_btn">计算</button>
+                <button type="reset" class="layui-btn layui-btn-primary">重置</button>
+            </div>
+            <h2>计算结果-
+                <button type="button" class="layui-btn layui-btn-primary layui-btn-sm copyResult"
+                        onclick="copyResult()">点击复制
+                </button>
+            </h2>
+            <div>
+                <textarea rows="11" cols="75" id="span_result" readonly="readonly"></textarea>
+                <%@include file="../acountExpressFee.jsp" %>
+            </div>
+            <div>
+                <table class="layui-hide" id="priceTable" lay-filter="priceTable"></table>
+            </div>
+        </form>
+    </div>
+    <div class="right_div" style="margin-left:50px;">
+        <div class="layui-carousel" id="test1">
+            <div carousel-item id="carousel"></div>
+            <br>
+            <div id="remark" style="font-size:20px;color:red"></div>
+        </div>
+    </div>
+</div>
+</body>
+<%@include file="/views/copyResult.jsp" %>
+<script>
+    layui.use(['table', 'form', 'carousel'], function () {
+        var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
+        var carousel = layui.carousel;
+        var table = layui.table;
+
+
+        //建造实例
+        ins = carousel.render({});
+        var html = " ";
+        var remark = " ";
+        const carft_list1 = ["上下封边"];
+
+        // 清空轮播图
+        $("#carousel").empty();
+        $("#remark").empty();
+        $.ajax({
+            url: "${pageContext.request.contextPath}/getImgs",
+            type: "GET",
+            data: {
+                proTypeValue: $("#proTypeValue").val(),
+                kindValue: $('input[name="kindValue"]').val()
+            },
+            success: function (result) {
+                for (let i = 0; i < result.length; i++) {
+                    // 只留一个remark
+                    remark = "";
+                    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);
+                // 如果没有说明,就不显示null
+                if (remark.indexOf("null") < 0) {
+                    $("#remark").append(remark);
+                }
+                // 如果没有轮播图就隐藏
+                if (result.length == 0) {
+                    document.getElementById("test1").style.display = "none";   //隐藏
+                } else {
+                    document.getElementById("test1").style.display = "block";   //显示
+                    ins.reload({
+                        elem: '#test1',
+                        width: result[0].imgWidth,  //设置容器宽度
+                        height: result[0].imgHeight
+                    });
+                }
+            }
+        });
+        form.on('checkbox(ui_craft)', function (data) {
+            let craft_list = [];
+            craft_list.push($("select[name='craft'] option:selected").val());
+            $("input[name='craft']:checked").each(function () {
+                    if (!$(this).is(':disabled')) {
+                        craft_list.push($(this).val());
+                    }
+                }
+            );
+
+            const carft1 = carft_list1.filter(craft => craft_list.includes(craft));
+            if (carft1.length == 0) {
+                $(data.elem).prop("checked", true);
+                layer.msg("常见工艺不能取消选择", {offset: ['300px', '300px']}, function () {
+                });
+                form.render();
+                return false;
+            }
+        })
+
+        // 点击计算,计算价格
+        form.on('submit(acount_btn)', function (data) {
+            var number = $("#number").val();
+            var size = $("#size").val();
+            var count = $("#count").val();
+            var kind = $("select[name='kind'] option:selected").text();
+            var craft = [];
+
+            $("input:checkbox[name='craft']:checked").each(function (i) {
+                // 没有被禁用的工艺加到arr中
+                if (!$(this).is(':disabled')) {
+                    craft.push($(this).val());
+                }
+            });
+
+            const carft1 = carft_list1.filter(item => craft.includes(item));
+            if (carft1.length == 0) {
+                layer.msg("请选择常见工艺", {offset: ['300px', '300px']}, function () {
+                });
+                return false;
+            }
+
+            $.ajax({
+                url: "${path}/getThanSum",
+                type: "GET",
+                data: $(".big_box form").serialize(),
+                success: function (result) {
+                    if (result.code == 100) {
+                        layer.msg(result.msg, {offset: ['300px', '300px']}, function () {
+                        });
+                        return false;
+                    }
+                    var data = result.data.proList;
+
+                    var span_result = '躺椅 - ' + kind + ' - ' + size + ' MM (同款内容)\n';
+
+                    span_result += `工艺:` + craft.join(",") + '\n';
+
+                    if (number > 1) {
+                        for (let i = 0; i < data.length; i++) {
+                            span_result += number + '款 各' + data[i].count + "个,共" + data[i].price + "元" + '\n'
+                            data[i].number = number;
+                        }
+                    } else {
+                        for (let i = 0; i < data.length; i++) {
+                            span_result += number + '款 ' + data[i].count + "个,共" + data[i].price + "元" + '\n'
+                            data[i].number = number;
+                        }
+                    }
+
+                    span_result += '包邮,免费设计呢~(偏远地区需补邮费)'
+                    $("#span_result").val(span_result);
+
+                    //计算完自动复制文本
+                    var e = document.getElementById("span_result");//对象是content
+                    if (e.value != "") {
+                        e.select();//选择对象
+                        document.execCommand("Copy");//执行浏览器复制命令
+                    }
+
+                    //生成表格
+                    table.render({
+                        elem: '#priceTable',
+                        even: true, //隔行变色
+                        data: data, // 赋值已知数据
+                        width: 500,
+                        cols: [[
+                            {
+                                field: 'number',
+                                width: '12%',
+                                align: "center",
+                                title: '款数'
+                            }, {
+                                field: 'count',
+                                width: '16%',
+                                align: "center",
+                                title: '数量'
+                            }, {
+                                field: 'price',
+                                width: '16%',
+                                align: "center",
+                                title: '报价'
+                            }, {
+                                field: 'wangwang',
+                                align: "center",
+                                width: '16%',
+                                title: '折扣价'
+                            }, {
+                                field: 'wangwang',
+                                align: "center",
+                                width: '19%',
+                                title: '跳楼价'
+                            }, {
+                                field: 'weight',
+                                width: '21%',
+                                align: "center",
+                                title: '重量(kg)'
+                            }
+                        ]],
+                        done: function () {
+                        }
+                    });
+                }
+            });
+            return false;
+        });
+    });
+</script>
+</html>