瀏覽代碼

新增金属徽章工艺

zhuyiyi 2 月之前
父節點
當前提交
6ce28bae01

+ 71 - 26
src/main/java/lingtao/net/service/ProductService.java

@@ -4783,44 +4783,89 @@ public class ProductService {
         List<Product> priceList = new ArrayList<>();
         int count = dto.getCount();
         int number = dto.getNumber();
-        double[][] prices_list = {
-                {450, 880, 1700, 3250, 5380, 10000, 14728, 23685, 43103},
-        };
-
         int[] count_list = {
                 50, 100, 200, 500, 1000, 2000, 3000, 5000, 10000
         };
-        int pre_count = 0;
-        for (int i = 0; i < count_list.length; i++) {
-            double price = prices_list[0][i];
+        if (carft_list.contains("PET印刷")) {
+            double[][] prices_list = {
+                    {450, 880, 1700, 3250, 5380, 10000, 14728, 23685, 43103},
+            };
 
-            int item_count = count_list[i];
-            if (item_count < count) {
+            int pre_count = 0;
+            for (int i = 0; i < count_list.length; i++) {
+                double price = prices_list[0][i];
+
+                int item_count = count_list[i];
+                if (item_count < count) {
+                    pre_count = item_count;
+                    continue;
+                }
+                if (priceList.size() > 2) {
+                    break;
+                }
+                //数量小于50
+                Product pro = new Product();
+                if (pre_count > 0 && count > pre_count) {
+                    double base_price = prices_list[0][i - 1] / pre_count;
+                    pro = new Product();
+                    pro.setCount(count);
+                    pro.setWeight(df.format(0.005 * count * dto.getNumber()));
+                    pro.setPrice(Math.ceil(base_price * count * dto.getNumber()));
+                    priceList.add(pro);
+                }
+                pro = new Product();
+                pro.setCount(item_count);
+                pro.setWeight(df.format(0.005 * item_count * dto.getNumber()));
+                pro.setPrice(Math.ceil(price * dto.getNumber()));
+                priceList.add(pro);
                 pre_count = item_count;
-                continue;
+
             }
-            if (priceList.size() > 2) {
-                break;
+        }
+        if (carft_list.contains("UV印刷")) {
+            int pre_count = 0;
+            double miniprice = 400;
+            double mo_price = 250;
+            double base_price = 4.5;
+            if (width <= 4 && length <= 4) {
+                base_price = 4;
+            }
+            if (base_price < 4.5) {
+                if (count > 100 && count <= 500) {
+                    base_price = 3.5;
+                } else if (count > 500) {
+                    base_price = 3;
+                }
             }
-            //数量小于50
             Product pro = new Product();
-            if (pre_count > 0 && count > pre_count) {
-                double base_price = prices_list[0][i - 1] / pre_count;
+            pro.setCount(count);
+            pro.setWeight(df.format(0.005 * count * dto.getNumber()));
+            pro.setPrice(Math.max(Math.ceil(base_price * count * dto.getNumber() + mo_price * dto.getNumber()), miniprice));
+            priceList.add(pro);
+            for (int i = 0; i < count_list.length; i++) {
+                int item_count = count_list[i];
+                if (item_count < count || count == item_count) {
+                    continue;
+                }
+                if (priceList.size() > 2) {
+                    break;
+                }
                 pro = new Product();
-                pro.setCount(count);
-                pro.setWeight(df.format(0.005 * count * dto.getNumber()));
-                pro.setPrice(Math.ceil(base_price * count * dto.getNumber()));
+                if (base_price < 4.5) {
+                    if (item_count > 100 && item_count <= 500) {
+                        base_price = 3.5;
+                    } else if (item_count > 500) {
+                        base_price = 3;
+                    }
+                }
+
+                pro = new Product();
+                pro.setCount(item_count);
+                pro.setWeight(df.format(0.005 * item_count * dto.getNumber()));
+                pro.setPrice(Math.max(Math.ceil(base_price * item_count * dto.getNumber() + mo_price * dto.getNumber()), miniprice));
                 priceList.add(pro);
             }
-            pro = new Product();
-            pro.setCount(item_count);
-            pro.setWeight(df.format(0.005 * item_count * dto.getNumber()));
-            pro.setPrice(Math.ceil(price * dto.getNumber()));
-            priceList.add(pro);
-            pre_count = item_count;
-
         }
-
         return priceList;
     }
 

+ 76 - 12
src/main/webapp/views/product/badge.jsp

@@ -24,15 +24,16 @@
                 材质
             </p>
             <div class="layui-form-item">
-                <select name="kind" class="select" lay-search>
-                    <option value="1">金属微章</option>
+                <select name="kind" class="select" lay-search lay-filter="kind">
+                    <option value="1">铁</option>
+                    <option value="2">锌合金</option>
                 </select>
             </div>
             <p>
                 尺寸(CM/厘米) <span style="font-size: 14px; color: red">输入格式: 长 * 宽</span>
             </p>
             <div class="layui-form-item" id="ui_size">
-                <input type="text" name="size" id="size" value="3*3" class="layui-input" autocomplete="off" readonly>
+                <input type="text" name="size" id="size" value="3*3" class="layui-input" autocomplete="off">
             </div>
 
             <div class="layui-form-item">
@@ -83,12 +84,16 @@
             <div class="layui-form-item" id='z4_craft'>
                 <div class="layui-input-block">
                     画面工艺:
-                    <input type="checkbox" lay-filter="ui_craft" value="PET印刷" title="PET印刷" checked>
+                    <input type="checkbox" name="craft" lay-filter="ui_craft" value="UV印刷" title="UV印刷">
+                    <span>
+                        <input type="checkbox" name="craft" lay-filter="ui_craft" value="PET印刷" title="PET印刷" checked>
+                    </span>
                 </div>
                 <div class="layui-input-block">
                     底托颜色:
                     <input type="checkbox" name="craft" lay-filter="ui_craft" value="金色" title="金色" checked>
                     <input type="checkbox" name="craft" lay-filter="ui_craft" value="银色" title="银色">
+                    <input type="checkbox" name="craft" lay-filter="ui_craft" value="黑色" title="黑色">
                 </div>
                 <div class="layui-input-block">
                     配件:
@@ -130,6 +135,25 @@
 </body>
 <%@include file="/views/copyResult.jsp" %>
 <script>
+    function changeRemark() {
+        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());
+                }
+            }
+        );
+        let remark = " ";
+        if (craft_list.includes("PET印刷")) {
+            remark = "预计发货时间:<br>发货地:浙江    <br>快递:中通  顺丰特快 <br>100个以内隔天发货<br>100-500个2天左右发货<br>500-1000个3天左右发货<br>1000-3000个4天左右发货";
+        }
+        if (craft_list.includes("UV印刷")) {
+            remark = "预计发货时间:<br>发货地:浙江    <br>快递:中通  顺丰特快 <br>10-12天发货";
+        }
+        $("#remark").empty().append(remark);
+    }
+
     layui.use(['table', 'form', 'carousel'], function () {
         var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
         var carousel = layui.carousel;
@@ -144,6 +168,7 @@
 
         const carft_list2 = ["别针", "蝴蝶扣", "磁铁"];
 
+        const carft_list3 = ["UV印刷", "PET印刷"];
         // 清空轮播图
         $("#carousel").empty();
         $("#remark").empty();
@@ -181,9 +206,22 @@
                 }
             }
         });
+        form.on('select(kind)', function (val) {
+            $("input[name='craft'][value='UV印刷']").prop("checked", true);
+            $("input[name='craft'][value='PET印刷']").parent().show();
+            $("input[name='craft'][value='PET印刷']").prop("disabled", false);
+            $("input[name='craft'][value='PET印刷']").prop("checked", false);
+            if (val.value == 2) {
+                $("input[name='craft'][value='PET印刷']").parent().hide();
+                $("input[name='craft'][value='PET印刷']").prop("disabled", true);
+            }
+            form.render();
+            changeRemark()
+        })
         form.on("select(count_select)", function (val) {
             $("#count").val(val.value);
         })
+
         form.on('checkbox(ui_craft)', function (data) {
             let craft_list = [];
             craft_list.push($("select[name='craft'] option:selected").val());
@@ -193,13 +231,7 @@
                     }
                 }
             );
-            if (data.value == "PET印刷") {
-                $(data.elem).prop("checked", true);
-                layer.msg("画面工艺不能取消", {offset: ['300px', '300px']}, function () {
-                });
-                form.render();
-                return false;
-            }
+
 
             const carft1 = carft_list1.filter(craft => craft_list.includes(craft));
             if (carft1.length > 1) {
@@ -209,6 +241,18 @@
                 form.render();
                 return false;
             }
+            const carft3 = carft_list3.filter(craft => craft_list.includes(craft));
+            if (carft3.length > 1) {
+                $(data.elem).prop("checked", false);
+                layer.msg("画面工艺不能同时选择", {offset: ['300px', '300px']}, function () {
+                });
+                form.render();
+                return false;
+            }
+            if (craft_list.includes("PET印刷") > 0) {
+                $("#size").val("3*3")
+            }
+            changeRemark()
         })
         form.on('checkbox(peijian)', function (data) {
             let craft_list = [];
@@ -243,7 +287,16 @@
                     craft.push($(this).val());
                 }
             });
-
+            if ((size.split("*")[0] > 9 || size.split("*")[1] > 9)) {
+                layer.msg('最大尺寸9*9cm!', {offset: ['300px', '300px']}, function () {
+                });
+                return false;
+            }
+            if ((size.split("*")[0] < 1 || size.split("*")[1] < 1)) {
+                layer.msg('最小尺寸1*1cm!', {offset: ['300px', '300px']}, function () {
+                });
+                return false;
+            }
             const carft1 = carft_list1.filter(item => craft.includes(item));
             if (carft1.length == 0) {
                 layer.msg("请选择底托颜色", {offset: ['300px', '300px']}, function () {
@@ -256,6 +309,17 @@
                 });
                 return false;
             }
+            const carft3 = carft_list3.filter(item => craft.includes(item));
+            if (carft3.length == 0) {
+                layer.msg("请选择画面", {offset: ['300px', '300px']}, function () {
+                });
+                return false;
+            }
+            if (craft.includes("PET印刷") && (size.split("*")[0] != 3 || size.split("*")[1] != 3)) {
+                layer.msg("PET印刷只能做3*3尺寸", {offset: ['300px', '300px']}, function () {
+                });
+                return false;
+            }
             $.ajax({
                 url: "${path}/getThanSum",
                 type: "GET",

+ 1 - 1
src/main/webapp/views/product/pictureAlbum.jsp

@@ -81,7 +81,7 @@
 					</p>
 					<div class="layui-form-item">
 						<input type="radio" name="kindValue" value="1" title="250克铜版纸"> 
-						<input type="radio" name="kindValue" value="2" title="皮纹纸">
+<%--						<input type="radio" name="kindValue" value="2" title="皮纹纸">--%>
 					</div>
 					<p>
 						内页