修改天幕

This commit is contained in:
2026-05-01 10:07:21 +08:00
parent 451a226990
commit 3abc4938de
3 changed files with 88 additions and 41 deletions
@@ -5089,25 +5089,29 @@ public class ProductService {
} }
private List<Product> getTianMuPrice(Product dto, Double width, Double length) { 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<>(); List<Product> priceList = new ArrayList<>();
int count = dto.getCount(); int count = dto.getCount();
int number = dto.getNumber(); int number = dto.getNumber();
double area = length * width / 10000; double area = length * width / 10000;
if (dto.getCraftShua().contains("空白") && dto.getCraftQie() != null && dto.getCraftQie().contains("模切")) { if (craft_list.contains("空白") && craft_list.contains("模切")) {
dto.setCraftShua("定制"); 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) { if (number > 1) {
for (Product product : priceList) { for (Product product : priceList) {
product.setPrice(Math.floor(product.getPrice() * number)); 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.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; return priceList;
+1 -1
View File
@@ -19,7 +19,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);
+75 -32
View File
@@ -31,11 +31,20 @@
<input type="hidden" name="proTypeValue" class="layui-input" value="天幕"> <input type="hidden" name="proTypeValue" class="layui-input" value="天幕">
<input type="hidden" id="proTypeValue" value="天幕"> <input type="hidden" id="proTypeValue" value="天幕">
<p> <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> </p>
<div class="layui-form-item"> <div class="layui-form-item">
<input type="text" placeholder="格式:长*宽" name="size" id="size" class="layui-input" <select name="size" id="size" class="layui-form-select">
autocomplete="off"> <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> </div>
<p> <p>
数量(个) 数量(个)
@@ -52,15 +61,18 @@
class="layui-input" lay-verify="number"> class="layui-input" lay-verify="number">
</div> </div>
<p> <p>
配件(五件套)<span 安装包(五件套)<span style="font-size:14px;color:red">伸缩杆:直径2.5厘米2根 (2.4米/根)、防风绳: 4米固定8条、地钉: 8颗、D扣:(车间车在各个吊耳上面)、安装包</span>
style="font-size:14px;color:red">伸缩杆:直径2.5厘米2根 (2.4米/根)、防风绳: 4米固定8条、地钉: 8颗、D扣:(车间车在各个吊耳上面)、安装包</span>
</p> </p>
<div class="layui-input-block"> <div class="layui-form-item" style="display: flex;">
<input type="checkbox" name="craftys" lay-filter="switch" value="直径4mm麻绳" title="直径4mm麻绳"> <input type="checkbox" name="craft" lay-filter="switch" value="防风绳" title="防风绳">
<input type="checkbox" name="craftys" lay-filter="switch" value="五件套" title="五件套"> <span class="layui-inline" id="ffs" style="display: none;width: 100px;align-items: center">
<span id="shuliang" style="display: none"> <input type="text" name="pcount" value="0" placeholder="请输入整数" class="layui-input" autocomplete="off"><span
<input type="text" placeholder="请输入整数" name="shuliang" value="0" style="flex-shrink: 0">(4米/条)</span>
style="width: 50px;height: 20px;"><span>套</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> </span>
</div> </div>
<p> <p>
@@ -68,16 +80,15 @@
style="font-size:14px;color:red">印刷内容空白 工艺是模切的话 文件名要备注定制</span> style="font-size:14px;color:red">印刷内容空白 工艺是模切的话 文件名要备注定制</span>
</p> </p>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="radio" name="craftShua" lay-filter="switch" value="空白" title="空白" lay-skin="primary"> <input type="radio" name="craft" lay-filter="switch" value="空白" title="空白" lay-skin="primary">
<input type="radio" name="craftShua" lay-filter="switch" value="定制" title="定制" lay-skin="primary" <input type="radio" name="craft" lay-filter="switch" value="定制" title="定制" lay-skin="primary" checked>
checked>
</div> </div>
<p> <p>
工艺 工艺
</p> </p>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="checkbox" name="craftQie" lay-filter="switch" value="裁切" title="裁切"> <input type="checkbox" name="craft" 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> </div>
<hr> <hr>
@@ -138,7 +149,7 @@
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[0].remark + '<span/></div>'; remark += '<div><span>' + result[0].remark + '<span/></div>';
} }
$("#carousel").append(html); $("#carousel").append(html);
@@ -164,35 +175,63 @@
form.on("radio(switch)", (data) => { form.on("radio(switch)", (data) => {
getProductImage(data.elem.checked ? data.value : ''); 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) => { form.on("checkbox(switch)", (data) => {
let arr = [] let craft_list = []
$("input[name='craft']:checked").each(function () { $("input[name='craft']:checked").each(function () {
if (!$(this).is("disabled")) { 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).next().attr("class", "layui-unselect layui-form-checkbox");
$(data.elem).prop("checked", false); $(data.elem).prop("checked", false);
layer.msg('裁切-模切不能同时选择!', {offset: ['300px', '300px']}, function () { layer.msg('裁切-模切不能同时选择!', {offset: ['300px', '300px']}, function () {
}); });
return false; 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).next().attr("class", "layui-unselect layui-form-checkbox");
$(data.elem).prop("checked", false); $(data.elem).prop("checked", false);
layer.msg('麻绳-五件套不能同时选择!', {offset: ['300px', '300px']}, function () { layer.msg('防风绳-安装包不能同时选择!', {offset: ['300px', '300px']}, function () {
}); });
return false; return false;
} }
if (data.value == '五件套') { if (data.value == '安装包') {
if (data.elem.checked) { if (data.elem.checked) {
$("#shuliang").show() $("#shuliang").css("display", "flex");
} else { } else {
$("input[name='shuliang']").val(0) $("input[name='shuliang']").val(0)
$("#shuliang").hide() $("#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 : ''); getProductImage(data.elem.checked ? data.value : '');
@@ -210,6 +249,9 @@
}); });
return false; return false;
} }
if ($("input[name='switchSize']").is(":checked")) {
size = $("#diySize").val();
}
if (!size) { if (!size) {
layer.msg('请输入尺寸!', {offset: ['300px', '300px']}, function () { layer.msg('请输入尺寸!', {offset: ['300px', '300px']}, function () {
}); });
@@ -225,8 +267,8 @@
}); });
return false; return false;
} }
if (size.split("*")[0] > 170 || size.split("*")[1] > 170) { if (size.split("*")[0] > 160 || size.split("*")[1] > 160) {
layer.msg('天幕尺寸超过170cm需要拼接!', {offset: ['300px', '300px']}, function () { layer.msg('天幕尺寸超过160cm需要拼接!', {offset: ['300px', '300px']}, function () {
}); });
} }
$.ajax({ $.ajax({
@@ -246,18 +288,19 @@
let craftQie = $("input[name='craftQie']:checked").val(); let craftQie = $("input[name='craftQie']:checked").val();
let craftShua = $("input[name='craftShua']:checked").val(); let craftShua = $("input[name='craftShua']:checked").val();
let shuliang = $("input[name='shuliang']").val() || 0; let shuliang = $("input[name='shuliang']").val() || 0;
let pcount = $("input[name='pcount']").val() || 0;
let craftys = $("input[name='craftys']:checked").val(); let craftys = $("input[name='craftys']:checked").val();
$("input[name='craft']:checked").each(function () { $("input[name='craft']:checked").each(function () {
if (!$(this).is("disabled")) { if (!$(this).is("disabled")) {
if ($(this).val() == "安装包") {
arr.push($(this).val() + shuliang)
} else if ($(this).val() == "防风绳") {
arr.push($(this).val() + pcount)
} else {
arr.push($(this).val()) arr.push($(this).val())
} }
}
}) })
if (craftQie) {
arr.push(craftQie);
}
if (craftShua) {
arr.push(craftShua);
}
let span_result = kind + ' - ' + size + ' 厘米 -(同款内容)\n' + "工艺 :" + arr.join(",") + "\n"; let span_result = kind + ' - ' + size + ' 厘米 -(同款内容)\n' + "工艺 :" + arr.join(",") + "\n";
if (craftys) { if (craftys) {