修改班旗工艺

This commit is contained in:
2025-11-18 14:04:05 +08:00
parent c3709a00dc
commit f74e72958f
2 changed files with 303 additions and 262 deletions
@@ -1342,7 +1342,15 @@ public class ProductService {
// 名片-特种纸名片 // 名片-特种纸名片
case "特种纸名片": case "特种纸名片":
double addPrice = 5; double addPrice = 5;
List<String> craft_list = dto.getCraft() != null ? Arrays.asList(dto.getCraft()) : new ArrayList<>();
List<String> craft_list = dto.getCraft() != null ? new ArrayList<>(Arrays.asList(dto.getCraft())) : new ArrayList<>();
if (craft_list.contains("压痕")) {
craft_list.remove("压痕");
craft_list.add("异形模切");
}
if (!craft_list.isEmpty()) {
dto.setCraft(craft_list.toArray(new String[craft_list.size()]));
}
if (!"素芸".equals(kind) && (craft_list.contains("单面烫金") || craft_list.contains("双面烫金"))) { if (!"素芸".equals(kind) && (craft_list.contains("单面烫金") || craft_list.contains("双面烫金"))) {
int[] counts = new int[]{200, 500, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000}; int[] counts = new int[]{200, 500, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000};
Map<String, int[]> prices = null; Map<String, int[]> prices = null;
@@ -4472,6 +4480,9 @@ public class ProductService {
if (craLists.contains("手绘")) { if (craLists.contains("手绘")) {
product.setPrice(150.00 * number); product.setPrice(150.00 * number);
} }
if (craLists.contains("伸缩旗杆")) {
product.setPrice(Math.ceil(product.getPrice() + dto.getPo_number() * 15));
}
product.setWeight(df.format(0.075 * length * width * product.getCount() / 10000 * number + product.getCount() * wei * number product.setWeight(df.format(0.075 * length * width * product.getCount() / 10000 * number + product.getCount() * wei * number
)); ));
} }
+291 -261
View File
@@ -1,271 +1,301 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%> pageEncoding="UTF-8" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Insert title here</title> <title>Insert title here</title>
<%@include file="/views/common.jsp"%> <%@include file="/views/common.jsp" %>
</head> </head>
<body> <body>
<div class="big_box"> <div class="big_box">
<div class="left_div"> <div class="left_div">
<h1 class="h1">班旗</h1> <span style="color:red;font-weight:700;"></span> <h1 class="h1">班旗</h1> <span style="color:red;font-weight:700;"></span>
<hr> <hr>
<form class="layui-form"> <form class="layui-form">
<input type="hidden" name="proTypeValue" id="proTypeValue" class="layui-input" value="班旗" /> <input type="hidden" name="proTypeValue" id="proTypeValue" class="layui-input" value="班旗"/>
<p> <p>
材质 材质
</p> </p>
<div class="layui-form-item"> <div class="layui-form-item">
<select name="ui_bq_name" id="ui_bq_name" lay-filter="ui_fb_name" class="select" lay-search> <select name="ui_bq_name" id="ui_bq_name" lay-filter="ui_fb_name" class="select" lay-search>
<option value="1">旗帜布</option> <option value="1">旗帜布</option>
</select> </select>
</div> </div>
<p> <p>
尺寸(CM/厘米) 尺寸(CM/厘米)
</p> </p>
<div class="layui-form-item ui_size"> <div class="layui-form-item ui_size">
<select name="size" id="ui_size" class="select"> <select name="size" id="ui_size" class="select">
<option value="96*64">96*64</option> <option value="96*64">96*64</option>
<option value="192*128">192*128</option> <option value="192*128">192*128</option>
<option value="144*96">144*96</option> <option value="144*96">144*96</option>
<option value="240*160">240*160</option> <option value="240*160">240*160</option>
<option value="288*192">288*192</option> <option value="288*192">288*192</option>
<option value="120*80">120*80</option> <option value="120*80">120*80</option>
</select> </select>
</div> </div>
<p> <p>
数量(个) 数量(个)
</p> </p>
<div class="layui-form-item"> <div class="layui-form-item">
<input type="text" placeholder="请输入整数" autocomplete="off" name="count" class="layui-input" id="count"> <input type="text" placeholder="请输入整数" autocomplete="off" name="count" class="layui-input" id="count">
</div> </div>
<p> <p>
款数 款数
</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"
</div> class="layui-input" lay-verify="number">
<p> </div>
客户旺旺 <p>
</p> 客户旺旺
<div class="layui-form-item"> </p>
<input type="text" placeholder="请输入客户旺旺号" autocomplete="off" name="wangwang" id="wangwang" class="layui-input"> <div class="layui-form-item">
</div> <input type="text" placeholder="请输入客户旺旺号" autocomplete="off" name="wangwang" id="wangwang"
<p> class="layui-input">
工艺 <span style="font-size:14px;color:red">旗杆长度是2.5米</span> </div>
</p> <p>
<div class="layui-form-item"> 工艺 <span style="font-size:14px;color:red">旗杆长度是2.5米</span>
<input type="radio" name="craftShua" value="单面印刷" title="单面印刷" lay-filter="craftShua" checked="checked"> </p>
<input type="radio" name="craftShua" value="双喷" title="双喷" lay-filter="craftShua"> <div class="layui-form-item">
<br /> <input type="radio" name="craftShua" value="单面印刷" title="单面印刷" lay-filter="craftShua" checked="checked">
<input type="checkbox" name="craft" value="旗杆" title="旗杆" lay-filter="craft" checked="checked"> <input type="radio" name="craftShua" value="双喷" title="双喷" lay-filter="craftShua">
<input type="checkbox" name="craft" value="缝筒" title="缝筒" lay-filter="craft" checked="checked"> <br/>
<div class="layui-inline ui_feb" style="display:none"> <input type="checkbox" name="craft" value="旗杆" title="旗杆" lay-filter="craft" checked="checked">
<select name="fb" class="select fb" lay-filter="fb">
<option value="1" selected>左缝筒</option> <input type="checkbox" name="craft" value="缝筒" title="缝筒" lay-filter="craft" checked="checked">
<option value="2">右缝筒</option> <div class="layui-inline ui_feb" style="display:none">
</select> <select name="fb" class="select fb" lay-filter="fb">
</div> <option value="1" selected>左缝筒</option>
<%-- <input type="checkbox" name="craft" value="手绘" title="手绘" lay-filter="craft">--%> <option value="2">右缝筒</option>
</div> </select>
<hr> </div>
<div class="layui-form-item"> <input type="checkbox" name="craft" value="伸缩旗杆" title="伸缩旗杆" lay-filter="craft">
<button class="layui-btn" lay-submit="" lay-filter="acount_btn">计算</button> <div class="layui-inline qigan" style="display:none;width: 100px">
<button type="reset" class="layui-btn layui-btn-primary">重置</button> <input type="text" placeholder="请输入数量" autocomplete="off" value="1" name="po_number"
</div> class="layui-input">
<h2>计算结果-<button type="button" class="layui-btn layui-btn-primary layui-btn-sm copyResult" onclick="copyResult()">点击复制</button></h2> </div>
<div> <%-- <input type="checkbox" name="craft" value="手绘" title="手绘" lay-filter="craft">--%>
<textarea rows="11" cols="75" id="span_result" readonly="readonly"></textarea> </div>
<%@include file="../acountExpressFee.jsp"%> <hr>
</div> <div class="layui-form-item">
<div > <button class="layui-btn" lay-submit="" lay-filter="acount_btn">计算</button>
<table class="layui-hide" id="priceTable" lay-filter="priceTable"></table> <button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div> </div>
</form> <h2>计算结果-
</div> <button type="button" class="layui-btn layui-btn-primary layui-btn-sm copyResult"
<div class="right_div" style="margin-left:50px;"> onclick="copyResult()">点击复制
<div class="layui-carousel" id="test1"> </button>
<div carousel-item id="carousel"></div> </h2>
<br> <div>
<div id="remark" style="font-size:20px;color:red"></div> <textarea rows="11" cols="75" id="span_result" readonly="readonly"></textarea>
</div> <%@include file="../acountExpressFee.jsp" %>
</div> </div>
</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> </body>
<%@include file="/views/copyResult.jsp"%> <%@include file="/views/copyResult.jsp" %>
<script> <script>
layui.use(['table','form','carousel'], function(){ layui.use(['table', 'form', 'carousel'], function () {
var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功 var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
var carousel = layui.carousel; var carousel = layui.carousel;
var table = layui.table; var table = layui.table;
//建造实例 //建造实例
ins = carousel.render({}); ins = carousel.render({});
var html = " "; var html = " ";
var remark = " "; var remark = " ";
// 清空轮播图 // 清空轮播图
$("#carousel").empty(); $("#carousel").empty();
$("#remark").empty(); $("#remark").empty();
$(".ui_feb").show(); $(".ui_feb").show();
$(".ui_feb select").attr("disabled", false); $(".ui_feb select").attr("disabled", false);
$.ajax({ $.ajax({
url:"${pageContext.request.contextPath}/getImgs", url: "${pageContext.request.contextPath}/getImgs",
type:"GET", type: "GET",
data:{ data: {
proTypeValue : $("#proTypeValue").val(), proTypeValue: $("#proTypeValue").val(),
kindValue : $('input[name="kindValue"]').val() kindValue: $('input[name="kindValue"]').val()
}, },
success : function(result) { success: function (result) {
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:' + result[0].imgWidth + 'px" 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);
// 如果没有说明,就不显示null // 如果没有说明,就不显示null
if(remark.indexOf("null") < 0){ if (remark.indexOf("null") < 0) {
$("#remark").append(remark); $("#remark").append(remark);
} }
// 如果没有轮播图就隐藏 // 如果没有轮播图就隐藏
if(result.length == 0){ if (result.length == 0) {
document.getElementById("test1").style.display = "none"; //隐藏 document.getElementById("test1").style.display = "none"; //隐藏
}else{ } else {
document.getElementById("test1").style.display = "block"; //显示 document.getElementById("test1").style.display = "block"; //显示
ins.reload({ ins.reload({
elem: '#test1', elem: '#test1',
width: result[0].imgWidth, //设置容器宽度 width: result[0].imgWidth, //设置容器宽度
height: result[0].imgHeight height: result[0].imgHeight
}); });
} }
} }
}); });
form.on('checkbox(craft)', function(data){ form.on('checkbox(craft)', function (data) {
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()); craft.push($(this).val());
} }
}); });
if(craft.indexOf("缝筒") > -1){ if(craft.indexOf("旗杆") > -1 && craft.indexOf("伸缩旗杆") > -1){
$(".ui_feb").show(); $(data.elem).next().attr("class", "layui-unselect layui-form-checkbox");
$(".ui_feb select").attr("disabled", false); $(data.elem).prop("checked", false);
}else{ layer.msg('旗杆 - 伸缩旗杆只能选择一种!', {offset: ['300px', '300px']}, {icon: 5});
$(".ui_feb").hide(); return false;
$(".ui_feb select").attr("disabled", true); }
} if (craft.indexOf("缝筒") > -1) {
form.render(); $(".ui_feb").show();
}); $(".ui_feb select").attr("disabled", false);
} else {
// 点击计算,计算价格 $(".ui_feb").hide();
form.on('submit(acount_btn)', function(data) { $(".ui_feb select").attr("disabled", true);
var number= $("#number").val(); }
var size = $("#size").val(); if (craft.indexOf("伸缩旗杆") > -1) {
var count = $("#count").val(); $(".qigan").show();
var kind = $("#kindValue option:selected").text(); $(".qigan input").attr("disabled", false);
var craftShua = $("input[name='craftShua']:checked").val(); } else {
var craft = []; $(".qigan").hide();
$("input:checkbox[name='craft']:checked").each(function(i) { $(".qigan input").attr("disabled", true);
// 没有被禁用的工艺加到arr中 }
if(!$(this).is(':disabled')){ form.render();
craft.push($(this).val()); });
}
}); // 点击计算,计算价格
$.ajax({ form.on('submit(acount_btn)', function (data) {
url : "${path}/getThanSum", var number = $("#number").val();
type : "GET", var size = $("#size").val();
data : $(".big_box form").serialize(), var count = $("#count").val();
success : function(result) { var kind = $("#kindValue option:selected").text();
if(result.code == 100){ var craftShua = $("input[name='craftShua']:checked").val();
layer.msg(result.msg,{offset:['300px','300px']},function(){}); var craft = [];
return false; $("input:checkbox[name='craft']:checked").each(function (i) {
} // 没有被禁用的工艺加到arr中
var data = result.data.proList; if (!$(this).is(':disabled')) {
if($("input[name='switchSize']:checked").val() == "on"){ if ($(this).val() == "伸缩旗杆") {
size = $("#ui_zdy_size").val(); craft.push($(this).val() + $(".qigan input").val());
}else{ } else {
size = $("#ui_size option:selected").val(); craft.push($(this).val());
} }
var bq_name = $("#ui_bq_name option:selected").text(); }
if(craft != ""){ });
craftShua += ',' + craft; $.ajax({
} url: "${path}/getThanSum",
var span_result = '班旗 - ' + bq_name + '-' + craftShua + '-' + size +' CM (同款内容)\n'; type: "GET",
data: $(".big_box form").serialize(),
if(number > 1){ success: function (result) {
for (let i = 0; i < data.length; i++) { if (result.code == 100) {
span_result += number + '款 各' + data[i].count + "条,共" + data[i].price + "元" + '\n' layer.msg(result.msg, {offset: ['300px', '300px']}, function () {
data[i].number = number; });
} return false;
}else{ }
for (let i = 0; i < data.length; i++) { var data = result.data.proList;
span_result += number + '款 ' + data[i].count + "条,共" + data[i].price + "元" + '\n' if ($("input[name='switchSize']:checked").val() == "on") {
data[i].number = number; size = $("#ui_zdy_size").val();
} } else {
} size = $("#ui_size option:selected").val();
}
span_result += '包邮,免费设计呢~(偏远地区需补邮费)' var bq_name = $("#ui_bq_name option:selected").text();
$("#span_result").val(span_result); if (craft != "") {
craftShua += ',' + craft;
//计算完自动复制文本 }
var e=document.getElementById("span_result");//对象是content var span_result = '班旗 - ' + bq_name + '-' + craftShua + '-' + size + ' CM (同款内容)\n';
if (e.value != "") {
e.select();//选择对象 if (number > 1) {
document.execCommand("Copy");//执行浏览器复制命令 for (let i = 0; i < data.length; i++) {
} span_result += number + '款 各' + data[i].count + "条,共" + data[i].price + "元" + '\n'
data[i].number = number;
//生成表格 }
table.render({ } else {
elem : '#priceTable', for (let i = 0; i < data.length; i++) {
even : true, //隔行变色 span_result += number + '款 ' + data[i].count + "条,共" + data[i].price + "元" + '\n'
data : data, // 赋值已知数据 data[i].number = number;
width : 500, }
cols : [ [ }
{
field : 'number', span_result += '包邮,免费设计呢~(偏远地区需补邮费)'
width : '12%', $("#span_result").val(span_result);
align : "center",
title : '款数' //计算完自动复制文本
},{ var e = document.getElementById("span_result");//对象是content
field : 'count', if (e.value != "") {
width : '16%', e.select();//选择对象
align : "center", document.execCommand("Copy");//执行浏览器复制命令
title : '数量' }
},{
field : 'price', //生成表格
width : '16%', table.render({
align : "center", elem: '#priceTable',
title : '报价' even: true, //隔行变色
},{ data: data, // 赋值已知数据
field : 'wangwang', width: 500,
align : "center", cols: [[
width : '16%', {
title : '折扣价' field: 'number',
},{ width: '12%',
field : 'wangwang', align: "center",
align : "center", title: '款数'
width : '19%', }, {
title : '跳楼价' field: 'count',
},{ width: '16%',
field : 'weight', align: "center",
width : '21%', title: '数量'
align : "center", }, {
title : '重量(kg' field: 'price',
} width: '16%',
] ], align: "center",
done: function () { title: '报价'
} }, {
}); field: 'wangwang',
} align: "center",
}); width: '16%',
return false; title: '折扣价'
}); }, {
}); field: 'wangwang',
align: "center",
width: '19%',
title: '跳楼价'
}, {
field: 'weight',
width: '21%',
align: "center",
title: '重量(kg'
}
]],
done: function () {
}
});
}
});
return false;
});
});
</script> </script>
</html> </html>