帆布新增旗杆

This commit is contained in:
2026-03-31 14:37:41 +08:00
parent f8374b1be3
commit 64e2c7062d
3 changed files with 357 additions and 317 deletions
@@ -4417,8 +4417,12 @@ public class ProductService {
return priceList; return priceList;
case "帆布": case "帆布":
priceList = new PriceUtils().getFbPrice(dto, number, width, length, count, priceList); priceList = new PriceUtils().getFbPrice(dto, number, width, length, count, priceList);
List<String> carftList = dto.getCraft() == null ? new ArrayList<>() : Arrays.asList(dto.getCraft());
for (Product product : priceList) { for (Product product : priceList) {
if (product.getCount() != null && number != null) { if (product.getCount() != null && number != null) {
if (carftList.contains("伸缩杆70-120CM")) {
product.setPrice(product.getPrice() + 2 * Math.max(dto.getPcount(), 1));
}
product.setWeight(df.format(0.28 * width * length * product.getCount() / 10000 * number)); product.setWeight(df.format(0.28 * width * length * product.getCount() / 10000 * number));
} }
} }
@@ -3692,7 +3692,7 @@ public class PriceUtils {
if (area < 7.5) { if (area < 7.5) {
basePrice = 90; basePrice = 90;
} else { } else {
basePrice = 70; basePrice = 80;
} }
return Math.max(Math.ceil(area * basePrice * 1.2), 50); return Math.max(Math.ceil(area * basePrice * 1.2), 50);
+45 -9
View File
@@ -52,7 +52,8 @@
款数 款数
</p> </p>
<div class="layui-form-item"> <div class="layui-form-item">
<input type="text" placeholder="请输入整数" autocomplete="off" name="number" id="number" value="1" class="layui-input" lay-verify="number"> <input type="text" placeholder="请输入整数" autocomplete="off" name="number" id="number" value="1" class="layui-input"
lay-verify="number">
</div> </div>
</div> </div>
<p> <p>
@@ -65,6 +66,8 @@
工艺<span style="font-size:14px;color:red">木棍长度50cm</span> 工艺<span style="font-size:14px;color:red">木棍长度50cm</span>
</p> </p>
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-input-block">
工艺:
<input type="checkbox" name="craft" value="封边" title="封边" lay-filter="craft"> <input type="checkbox" name="craft" value="封边" title="封边" lay-filter="craft">
<div class="layui-inline ui_feb" style="width:100px;display:none"> <div class="layui-inline ui_feb" style="width:100px;display:none">
<select name="fb" class="select fb" lay-filter="fb"> <select name="fb" class="select fb" lay-filter="fb">
@@ -82,14 +85,24 @@
<span class="ui_normal"> <span class="ui_normal">
<input type="checkbox" name="craft" value="缝兜" title="缝兜" lay-filter="craft"> <input type="checkbox" name="craft" value="缝兜" title="缝兜" lay-filter="craft">
</span> </span>
</div>
<div class="layui-input-block">
配件:
<input type="checkbox" name="craft" value="木棍" title="木棍" lay-filter="craft"> <input type="checkbox" name="craft" value="木棍" title="木棍" lay-filter="craft">
<input type="checkbox" name="craft" value="伸缩杆70-120CM" title="伸缩杆70-120CM" lay-filter="craft">
<div class="layui-inline ui_shensuo" style="width:100px;display:none">
<input name="pcount" class="layui-input" value="1"/>
</div>
</div>
</div> </div>
<hr> <hr>
<div class="layui-form-item"> <div class="layui-form-item">
<button class="layui-btn" lay-submit="" lay-filter="acount_btn">计算</button> <button class="layui-btn" lay-submit="" lay-filter="acount_btn">计算</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button> <button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div> </div>
<h2>计算结果-<button type="button" class="layui-btn layui-btn-primary layui-btn-sm copyResult" onclick="copyResult()">点击复制</button></h2> <h2>计算结果-
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm copyResult" onclick="copyResult()">点击复制</button>
</h2>
<div> <div>
<textarea rows="11" cols="75" id="span_result" readonly="readonly"></textarea> <textarea rows="11" cols="75" id="span_result" readonly="readonly"></textarea>
<%@include file="../acountExpressFee.jsp" %> <%@include file="../acountExpressFee.jsp" %>
@@ -133,7 +146,7 @@ layui.use(['table','form','carousel'], function(){
for (let i = 0; i < result.length; i++) { for (let i = 0; i < result.length; i++) {
// 只留一个remark // 只留一个remark
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>'; remark += '<div><span>' + result[i].remark + '<span/></div>';
} }
$("#carousel").append(html); $("#carousel").append(html);
@@ -179,6 +192,14 @@ layui.use(['table','form','carousel'], function(){
}); });
form.on('checkbox(craft)', function (data) { form.on('checkbox(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());
}
}
);
if ($("input[name='craft']:checked").val() == "封边") { if ($("input[name='craft']:checked").val() == "封边") {
$(".ui_feb").show(); $(".ui_feb").show();
$(".ui_feb select").attr("disabled", false); $(".ui_feb select").attr("disabled", false);
@@ -186,6 +207,11 @@ layui.use(['table','form','carousel'], function(){
$(".ui_feb").hide(); $(".ui_feb").hide();
$(".ui_feb select").attr("disabled", true); $(".ui_feb select").attr("disabled", true);
} }
if (craft_list.includes("伸缩杆70-120CM")) {
$(".ui_shensuo").show();
} else {
$(".ui_shensuo").hide();
}
form.render(); form.render();
}); });
@@ -210,23 +236,30 @@ layui.use(['table','form','carousel'], function(){
var stickerKind = $("input[name='stickerKind']:checked").val(); var stickerKind = $("input[name='stickerKind']:checked").val();
if ($("input[name='switchSize']:checked").val() == "on") { if ($("input[name='switchSize']:checked").val() == "on") {
if ($("#ui_zdy_size").val().split("*")[0] < 25 || $("#ui_zdy_size").val().split("*")[1] < 25) { if ($("#ui_zdy_size").val().split("*")[0] < 25 || $("#ui_zdy_size").val().split("*")[1] < 25) {
layer.msg('帆布最小尺寸25*25cm',{offset:['300px','300px']},function(){}); layer.msg('帆布最小尺寸25*25cm', {offset: ['300px', '300px']}, function () {
});
return false; return false;
} }
if ($("#ui_zdy_size").val().split("*")[0] > 140 && $("#ui_zdy_size").val().split("*")[1] > 140) { if ($("#ui_zdy_size").val().split("*")[0] > 140 && $("#ui_zdy_size").val().split("*")[1] > 140) {
layer.msg('帆布尺寸超过140cm需要拼接!',{offset:['300px','300px']},function(){}); layer.msg('帆布尺寸超过140cm需要拼接!', {offset: ['300px', '300px']}, function () {
});
} }
} }
var craft = []; var craft = [];
$("input:checkbox[name='craft']:checked").each(function (i) { $("input:checkbox[name='craft']:checked").each(function (i) {
// 没有被禁用的工艺加到arr中 // 没有被禁用的工艺加到arr中
if (!$(this).is(':disabled')) { if (!$(this).is(':disabled')) {
craft.push($(this).val()); if ($(this).val() == "伸缩杆70-120CM") {
craft.push($("input[name='pcount']").val() + "个" + $(this).val())
} else {
craft.push($(this).val())
}
} }
}); });
if (stickerKind == "常规") { if (stickerKind == "常规") {
if (!count) { if (!count) {
layer.msg('请填写数量!',{offset:['300px','300px']},function(){}); layer.msg('请填写数量!', {offset: ['300px', '300px']}, function () {
});
return false; return false;
} }
} }
@@ -236,7 +269,8 @@ layui.use(['table','form','carousel'], function(){
data: $(".big_box form").serialize(), data: $(".big_box form").serialize(),
success: function (result) { success: function (result) {
if (result.code == 100) { if (result.code == 100) {
layer.msg(result.msg,{offset:['300px','300px']},function(){}); layer.msg(result.msg, {offset: ['300px', '300px']}, function () {
});
return false; return false;
} }
var data = result.data.proList; var data = result.data.proList;
@@ -251,12 +285,14 @@ layui.use(['table','form','carousel'], function(){
craft = craft + "绳子"; craft = craft + "绳子";
} }
var span_result = '帆布 - ' + fb_name + '-' + craft + '-' ; var span_result = '帆布 - ' + fb_name + '-';
if (stickerKind == "套餐") { if (stickerKind == "套餐") {
span_result += "套餐" + data[0].price + "元\n150*60cm 2条\n130*60cm 2条\n"; span_result += "套餐" + data[0].price + "元\n150*60cm 2条\n130*60cm 2条\n";
span_result += "工艺:" + craft.join(",") + "\n"
} else { } else {
span_result += size + ' CM (同款内容)\n'; span_result += size + ' CM (同款内容)\n';
span_result += "工艺:" + craft.join(",") + "\n"
if (number > 1) { if (number > 1) {
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
span_result += number + '款 各' + data[i].count + "条,共" + data[i].price + "元" + '\n' span_result += number + '款 各' + data[i].count + "条,共" + data[i].price + "元" + '\n'