新增冰箱贴背卡工艺
This commit is contained in:
@@ -4747,7 +4747,7 @@ public class ProductService {
|
|||||||
case "金属微章":
|
case "金属微章":
|
||||||
return getbadgePrice(dto, width, length);
|
return getbadgePrice(dto, width, length);
|
||||||
case "冰箱贴":
|
case "冰箱贴":
|
||||||
return getfridgePrice(dto, width, length);
|
return getfridgePrice(dto, width, length, role);
|
||||||
case "帆布袋":
|
case "帆布袋":
|
||||||
return getCanvasBagPrice(dto, width, length);
|
return getCanvasBagPrice(dto, width, length);
|
||||||
case "外卖盒":
|
case "外卖盒":
|
||||||
@@ -5130,7 +5130,7 @@ public class ProductService {
|
|||||||
return priceList;
|
return priceList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<Product> getfridgePrice(Product dto, Double width, Double length) {
|
private List<Product> getfridgePrice(Product dto, Double width, Double length, String role) {
|
||||||
List<String> carft_list = dto.getCraft() == null ? new ArrayList<>() : Arrays.asList(dto.getCraft());
|
List<String> carft_list = dto.getCraft() == null ? new ArrayList<>() : Arrays.asList(dto.getCraft());
|
||||||
List<Product> priceList = new ArrayList<>();
|
List<Product> priceList = new ArrayList<>();
|
||||||
String cailiao = dto.getCailiao();
|
String cailiao = dto.getCailiao();
|
||||||
@@ -5152,11 +5152,74 @@ public class ProductService {
|
|||||||
last_price = 1100;
|
last_price = 1100;
|
||||||
}
|
}
|
||||||
double price = PriceUtils.TableUnitPrice(area, prices, areas, last_price);
|
double price = PriceUtils.TableUnitPrice(area, prices, areas, last_price);
|
||||||
|
double card_price = 0;
|
||||||
|
if (carft_list.contains("背卡")) {
|
||||||
|
String card_size = dto.getSize1();
|
||||||
|
int card_count = dto.getShuliang();
|
||||||
|
int card_number = dto.getPinzhong();
|
||||||
|
double card_width = Double.parseDouble(card_size.split("\\*")[0]);
|
||||||
|
double card_length = Double.parseDouble(card_size.split("\\*")[1]);
|
||||||
|
// 出血(一边2毫米)
|
||||||
|
card_length = card_length * 10 + 4;
|
||||||
|
card_width = card_width * 10 + 4;
|
||||||
|
double fixPrice = 30.0;
|
||||||
|
|
||||||
|
double zhang = 6;
|
||||||
|
if (carft_list.contains("背卡异形模切")) {
|
||||||
|
fixPrice = 32.0;
|
||||||
|
zhang = 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
double l = 420;
|
||||||
|
double w = 285;
|
||||||
|
double designFee = 0;
|
||||||
|
if ((card_length - 4 <= 90 && card_width - 4 <= 54) || (card_length - 4 <= 54 && card_width - 4 <= 90)) {
|
||||||
|
designFee = 8;
|
||||||
|
} else if ((card_length - 4 <= 210 && card_width - 4 <= 140) || (card_length - 4 <= 140 && card_width - 4 <= 210)) {
|
||||||
|
designFee = 15;
|
||||||
|
} else if ((card_length - 4 <= 285 && card_width - 4 - 4 <= 210) || (card_length - 4 <= 210 && card_width - 4 <= 285)) {
|
||||||
|
designFee = 35;
|
||||||
|
} else if ((card_length - 4 <= 420 && card_width - 4 <= 285) || (card_length - 4 <= 285 && card_width - 4 <= 420)) {
|
||||||
|
designFee = 50;
|
||||||
|
} else {
|
||||||
|
designFee = 80;
|
||||||
|
}
|
||||||
|
double max = 1;
|
||||||
|
if (card_length == 424 || card_length == 289 || card_width == 424 || card_width == 289) {
|
||||||
|
max = Math.max(Math.floor(l / (card_length - 4)) * Math.floor(w / (card_width - 4)), Math.floor(l / (card_width - 4)) * Math.floor(w / (card_length - 4)));
|
||||||
|
} else {
|
||||||
|
max = Math.max(Math.floor(l / card_length) * Math.floor(w / card_width), Math.floor(l / card_width) * Math.floor(w / card_length));
|
||||||
|
}
|
||||||
|
max = Math.max(max, 1);
|
||||||
|
// 报的数量需要多少张大纸
|
||||||
|
// 需要多少张大纸 = 数量 * 款数 /每张做多少个 ===总数量/每张多少个
|
||||||
|
int num = (int) Math.ceil(card_count * card_number / max);
|
||||||
|
card_price = fixPrice + (num - 1) * zhang + designFee + 0.2 * card_number * card_count;
|
||||||
|
if (((card_width > 42 && card_length > 28.5) || (card_width > 28.5 && card_length > 42))) {
|
||||||
|
card_price = Math.max(Math.ceil(card_price * 0.85), fixPrice + designFee);
|
||||||
|
}
|
||||||
|
double desFee = 0;
|
||||||
|
if (!role.contains("1045") && !role.contains("1054") && !role.contains("1029")) {
|
||||||
|
if (card_number > 1) {
|
||||||
|
desFee = 5.5 * (card_number - 1);
|
||||||
|
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//第二款开始的设计费按照式设计内容
|
||||||
|
if (card_number > 1) {
|
||||||
|
desFee = 5.5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
card_price += desFee;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Product pro = new Product();
|
Product pro = new Product();
|
||||||
pro.setCount(dto.getCount());
|
pro.setCount(dto.getCount());
|
||||||
pro.setNumber(dto.getNumber());
|
pro.setNumber(dto.getNumber());
|
||||||
pro.setWeight(df.format(width * length * 4.17 * dto.getCount() * 0.1 / 1000 * Double.parseDouble(cailiao)));
|
pro.setWeight(df.format(width * length * 4.17 * dto.getCount() * 0.1 / 1000 * Double.parseDouble(cailiao)));
|
||||||
pro.setPrice(Math.ceil(Math.max(price, min_price) + ((dto.getNumber() - 1) * 8)));
|
pro.setPrice(Math.ceil(Math.max(price, min_price) + ((dto.getNumber() - 1) * 8) + card_price));
|
||||||
priceList.add(pro);
|
priceList.add(pro);
|
||||||
|
|
||||||
return priceList;
|
return priceList;
|
||||||
|
|||||||
@@ -116,6 +116,8 @@
|
|||||||
|
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
配件:
|
配件:
|
||||||
|
<input type="checkbox" class="peijian" name="craft" lay-filter="peijian" value="别针"
|
||||||
|
title="别针">
|
||||||
<input type="checkbox" class="peijian" name="craft" lay-filter="peijian" value="配涤纶丝带"
|
<input type="checkbox" class="peijian" name="craft" lay-filter="peijian" value="配涤纶丝带"
|
||||||
title="配涤纶丝带">
|
title="配涤纶丝带">
|
||||||
<input type="checkbox" class="peijian" name="craft" lay-filter="peijian" value="配吊牌绳"
|
<input type="checkbox" class="peijian" name="craft" lay-filter="peijian" value="配吊牌绳"
|
||||||
|
|||||||
@@ -736,7 +736,7 @@
|
|||||||
<input type="radio" name="ui_sdk_craft" value="丝带" title="丝带" lay-filter="ui_sdk_craft">
|
<input type="radio" name="ui_sdk_craft" value="丝带" title="丝带" lay-filter="ui_sdk_craft">
|
||||||
<br/>
|
<br/>
|
||||||
<span class="ui_sd" style="display: none;margin-left:180px;">
|
<span class="ui_sd" style="display: none;margin-left:180px;">
|
||||||
<input type="radio" name="sd" value="蓝色" title="蓝色" checked="checked">
|
<input type="radio" name="sd" value="绿色" title="绿色" checked="checked">
|
||||||
<input type="radio" name="sd" value="红色" title="红色">
|
<input type="radio" name="sd" value="红色" title="红色">
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -77,6 +77,35 @@
|
|||||||
<input type="checkbox" name="craft" lay-filter="ui_craft" value="激光" title="激光" checked>
|
<input type="checkbox" name="craft" lay-filter="ui_craft" value="激光" title="激光" checked>
|
||||||
<input type="checkbox" name="craft" lay-filter="ui_craft" value="CNC" title="CNC">
|
<input type="checkbox" name="craft" lay-filter="ui_craft" value="CNC" title="CNC">
|
||||||
</div>
|
</div>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
背纸工艺:
|
||||||
|
<input type="checkbox" name="craft" lay-filter="ui_craft" value="背卡" title="背卡">
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-block beika" style="display: none">
|
||||||
|
背纸尺寸:
|
||||||
|
<span class="layui-inline" style="width: 200px;">
|
||||||
|
<input name="size1" id="size1" type="text" class="layui-input" disabled/>
|
||||||
|
</span>
|
||||||
|
<span style="font-size: 14px; color: red">默认300克铜版纸</span>
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-block beika" style="display: none">
|
||||||
|
背纸数量:
|
||||||
|
<span class="layui-inline" style="width: 200px;">
|
||||||
|
<input name="shuliang" id="shuliang" type="text" class="layui-input" disabled/>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-block beika" style="display: none">
|
||||||
|
背纸款数:
|
||||||
|
<span class="layui-inline" style="width: 200px;">
|
||||||
|
<input name="pinzhong" id="pinzhong" type="text" class="layui-input" value="1" disabled/>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-block beika" style="display: none">
|
||||||
|
背纸裁切工艺:
|
||||||
|
<input type="checkbox" name="craft" lay-filter="ui_craft" value="背卡直角裁切" title="直角裁切" checked
|
||||||
|
disabled>
|
||||||
|
<input type="checkbox" name="craft" lay-filter="ui_craft" value="背卡异形模切" title="异形模切" disabled>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
@@ -113,12 +142,18 @@
|
|||||||
var carousel = layui.carousel;
|
var carousel = layui.carousel;
|
||||||
var table = layui.table;
|
var table = layui.table;
|
||||||
|
|
||||||
|
$("#number").on("input", function (data) {
|
||||||
|
$("#pinzhong").val($(this).val())
|
||||||
|
})
|
||||||
|
$("#count").on("input", function (data) {
|
||||||
|
$("#shuliang").val($(this).val())
|
||||||
|
})
|
||||||
//建造实例
|
//建造实例
|
||||||
ins = carousel.render({});
|
ins = carousel.render({});
|
||||||
var html = " ";
|
var html = " ";
|
||||||
var remark = " ";
|
var remark = " ";
|
||||||
const carft_list1 = ["激光", "CNC"];
|
const carft_list1 = ["激光", "CNC"];
|
||||||
|
const carft_list2 = ["背卡直角裁切", "背卡异形模切"];
|
||||||
|
|
||||||
// 清空轮播图
|
// 清空轮播图
|
||||||
$("#carousel").empty();
|
$("#carousel").empty();
|
||||||
@@ -181,6 +216,23 @@
|
|||||||
form.render();
|
form.render();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
const carft2 = carft_list2.filter(craft => craft_list.includes(craft));
|
||||||
|
if (carft2.length > 1) {
|
||||||
|
$(data.elem).prop("checked", false);
|
||||||
|
layer.msg("背卡裁切工艺不能同时选择", {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
form.render();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (data.value == "背卡") {
|
||||||
|
$(".beika").hide();
|
||||||
|
$(".beika").find("input").prop("disabled", true)
|
||||||
|
if (data.elem.checked) {
|
||||||
|
$(".beika").show();
|
||||||
|
$(".beika").find("input").prop("disabled", false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
form.render();
|
||||||
})
|
})
|
||||||
|
|
||||||
// 点击计算,计算价格
|
// 点击计算,计算价格
|
||||||
@@ -189,6 +241,9 @@
|
|||||||
var size = $("#size").val();
|
var size = $("#size").val();
|
||||||
var count = $("#count").val();
|
var count = $("#count").val();
|
||||||
var kind = $("select[name='kind'] option:selected").text();
|
var kind = $("select[name='kind'] option:selected").text();
|
||||||
|
let size1 = $("#size1").val();
|
||||||
|
let shuliang = $("#shuliang").val();
|
||||||
|
let pinzhong = $("#pinzhong").val();
|
||||||
var craft = [];
|
var craft = [];
|
||||||
if (size == "") {
|
if (size == "") {
|
||||||
layer.msg('请填写尺寸!', {offset: ['300px', '300px']}, function () {
|
layer.msg('请填写尺寸!', {offset: ['300px', '300px']}, function () {
|
||||||
@@ -209,7 +264,14 @@
|
|||||||
$("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() == "背卡直角裁切" || $(this).val() == "背卡异形模切") {
|
||||||
|
craft.push($(this).val().replace("背卡", ""));
|
||||||
|
} else {
|
||||||
|
craft.push($(this).val());
|
||||||
|
}
|
||||||
|
if ($(this).val() == "背卡") {
|
||||||
|
craft.push(size1 + "CM背卡数量" + shuliang + "款数" + pinzhong)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (!craft.includes("单面")) {
|
if (!craft.includes("单面")) {
|
||||||
@@ -224,6 +286,17 @@
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
craft = craft.filter(item => item != "单面")
|
craft = craft.filter(item => item != "单面")
|
||||||
|
|
||||||
|
if (craft.includes("背卡") && size1 == "") {
|
||||||
|
layer.msg("请填写背卡尺寸", {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (craft.includes("背卡") && (size1.split("*")[0] > 42 || size1.split("*")[1] > 28.5) && (size1.split("*")[1] > 42 || size1.split("*")[0] > 28.5)) {
|
||||||
|
layer.msg('最大尺寸42*28.5cm!', {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "${path}/getThanSum",
|
url: "${path}/getThanSum",
|
||||||
type: "GET",
|
type: "GET",
|
||||||
|
|||||||
@@ -622,12 +622,7 @@
|
|||||||
if (kindValueSelect == '素芸') {
|
if (kindValueSelect == '素芸') {
|
||||||
size = $("input[name='size']").val();
|
size = $("input[name='size']").val();
|
||||||
}
|
}
|
||||||
$("input[name='craft']:checked").each(function () {
|
|
||||||
if (!$(this).is(':disabled')) {
|
|
||||||
craft_list.push($(this).val());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
let craft_list = [];
|
let craft_list = [];
|
||||||
$("input[name='craft']:checked").each(function () {
|
$("input[name='craft']:checked").each(function () {
|
||||||
if (!$(this).is(':disabled')) {
|
if (!$(this).is(':disabled')) {
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
<div class="layui-form-item" id="ui_size">
|
<div class="layui-form-item" id="ui_size">
|
||||||
<select name="size" id="size" class="layui-form-select">
|
<select name="size" id="size" class="layui-form-select">
|
||||||
<option value="19*200">19*200MM</option>
|
<option value="19*200">19*200MM</option>
|
||||||
<option value="25*250">25*250MM</option>
|
<option value="19*250">19*250MM</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<p>
|
<p>
|
||||||
@@ -199,7 +199,7 @@
|
|||||||
})
|
})
|
||||||
form.on('select(kind)', function (data) {
|
form.on('select(kind)', function (data) {
|
||||||
let html = `<option value="19*200">19*200MM</option>
|
let html = `<option value="19*200">19*200MM</option>
|
||||||
<option value="25*250">25*250MM</option>
|
<option value="19*250">19*250MM</option>
|
||||||
`;
|
`;
|
||||||
if (data.value == "2") {
|
if (data.value == "2") {
|
||||||
html = `<option value="19*200">19*200MM</option>
|
html = `<option value="19*200">19*200MM</option>
|
||||||
|
|||||||
Viittaa uudesa ongelmassa
Block a user