新增金属徽章工艺

This commit is contained in:
2025-11-27 10:36:52 +08:00
parent 58a1eecc62
commit 6ce28bae01
3 changed files with 152 additions and 43 deletions
@@ -4783,13 +4783,14 @@ public class ProductService {
List<Product> priceList = new ArrayList<>();
int count = dto.getCount();
int number = dto.getNumber();
int[] count_list = {
50, 100, 200, 500, 1000, 2000, 3000, 5000, 10000
};
if (carft_list.contains("PET印刷")) {
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];
@@ -4820,7 +4821,51 @@ public class ProductService {
pre_count = item_count;
}
}
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;
}
}
Product pro = new Product();
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();
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);
}
}
return priceList;
}
+76 -12
View File
@@ -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",
@@ -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>
内页