新增品
This commit is contained in:
@@ -8,7 +8,6 @@ import lombok.Data;
|
|||||||
* 用户
|
* 用户
|
||||||
*
|
*
|
||||||
* @author Administrator
|
* @author Administrator
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class SysUser {
|
public class SysUser {
|
||||||
|
|||||||
@@ -4658,6 +4658,82 @@ public class ProductService {
|
|||||||
double[] areas = {1, 4, 6, 9, 12, 16, 20, 25, 36, 45, 48.6, 54, 60, 72, 81};
|
double[] areas = {1, 4, 6, 9, 12, 16, 20, 25, 36, 45, 48.6, 54, 60, 72, 81};
|
||||||
|
|
||||||
area = length * width;
|
area = length * width;
|
||||||
|
return getAreaCenterPrice(count_list, count, area, prices, areas, number);
|
||||||
|
case "透卡":
|
||||||
|
prices = new int[][]{
|
||||||
|
{136, 163, 177, 190, 197, 227, 257, 303, 333, 407, 430},
|
||||||
|
{193, 250, 277, 300, 313, 373, 433, 530, 587, 733, 780},
|
||||||
|
{250, 337, 373, 410, 430, 520, 613, 757, 840, 1063, 1133},
|
||||||
|
{307, 423, 473, 523, 547, 670, 790, 983, 1097, 1390, 1483},
|
||||||
|
{333, 463, 520, 573, 603, 737, 873, 1090, 1210, 1540, 1643},
|
||||||
|
{490, 697, 783, 873, 917, 1133, 1350, 1693, 1890, 2417, 2580},
|
||||||
|
{533, 760, 857, 953, 1003, 1237, 1477, 1853, 2067, 2643, 2823},
|
||||||
|
{990, 1440, 1633, 1830, 1927, 2397, 2873, 3627, 4057, 5207, 5567},
|
||||||
|
{2007, 2943, 3347, 3747, 3950, 4927, 5910, 7473, 8367, 10743, 11490},
|
||||||
|
{3013, 4413, 5013, 5613, 5913, 7373, 8847, 11180, 12513, 14077, 16007},
|
||||||
|
};
|
||||||
|
count_list = new int[]{100, 200, 300, 400, 500, 800, 1000, 2000, 5000, 10000};
|
||||||
|
areas = new double[]{22.5, 35.1, 40.5, 45.9, 48.6, 67.75, 75, 96, 108, 140, 150};
|
||||||
|
area = length * width;
|
||||||
|
return getAreaCenterPrice(count_list, count, area, prices, areas, number);
|
||||||
|
case "澜达海报":
|
||||||
|
//铜版纸200g (售价)
|
||||||
|
prices = new int[][]{
|
||||||
|
{90, 90, 90, 90, 90, 94, 94, 94, 94},
|
||||||
|
{100, 100, 100, 100, 100, 187, 187, 187, 187},
|
||||||
|
{140, 140, 140, 140, 140, 280, 280, 280, 280},
|
||||||
|
{187, 187, 187, 187, 187, 374, 374, 374, 374},
|
||||||
|
{234, 234, 234, 234, 234, 467, 467, 467, 467},
|
||||||
|
{467, 467, 467, 467, 467, 934, 934, 934, 934},
|
||||||
|
{934, 934, 934, 934, 934, 1867, 1867, 1867, 1867},
|
||||||
|
{2334, 2334, 2334, 2334, 2334, 4667, 4667, 4667, 4667},
|
||||||
|
{4667, 4667, 4667, 4667, 4667, 9334, 9334, 9334, 9334},
|
||||||
|
{9334, 9334, 9334, 9334, 9334, 18667, 18667, 18667, 18667},
|
||||||
|
{23334, 23334, 23334, 23334, 23334, 46667, 46667, 46667, 46667},
|
||||||
|
};
|
||||||
|
if ("2".equals(dto.getKind())) {
|
||||||
|
prices = new int[][]{
|
||||||
|
{90, 90, 90, 90, 90, 107, 107, 107, 107},
|
||||||
|
{100, 107, 107, 107, 107, 213, 213, 213, 213},
|
||||||
|
{120, 160, 160, 160, 160, 320, 320, 320, 320},
|
||||||
|
{150, 213, 213, 213, 213, 427, 427, 427, 427},
|
||||||
|
{139, 267, 267, 267, 267, 533, 533, 533, 533},
|
||||||
|
{267, 533, 533, 533, 533, 1067, 1067, 1067, 1067},
|
||||||
|
{533, 1067, 1067, 1067, 1067, 2133, 2133, 2133, 2133},
|
||||||
|
{1333, 2667, 2667, 2667, 2667, 5333, 5333, 5333, 5333},
|
||||||
|
{2667, 5333, 5333, 5333, 5333, 10667, 10667, 10667, 10667},
|
||||||
|
{5333, 10667, 10667, 10667, 10667, 21333, 21333, 21333, 21333},
|
||||||
|
{13333, 26667, 26667, 26667, 26667, 53333, 53333, 53333, 53333},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if ("3".equals(dto.getKind())) {
|
||||||
|
prices = new int[][]{
|
||||||
|
{90, 90, 90, 90, 90, 150, 150, 150, 150},
|
||||||
|
{100, 140, 140, 150, 150, 300, 300, 300, 300},
|
||||||
|
{110, 207, 207, 223, 223, 447, 447, 447, 447},
|
||||||
|
{140, 277, 277, 300, 300, 597, 597, 597, 597},
|
||||||
|
{180, 347, 347, 373, 373, 747, 747, 747, 747},
|
||||||
|
{347, 693, 693, 747, 747, 1493, 1493, 1493, 1493},
|
||||||
|
{693, 1387, 1387, 1493, 1493, 2987, 2987, 2987, 2987},
|
||||||
|
{1733, 3467, 3467, 3733, 3733, 7467, 7467, 7467, 7467},
|
||||||
|
{3467, 6933, 6933, 7467, 7467, 14933, 14933, 14933, 14933},
|
||||||
|
{6933, 13867, 13867, 14933, 14933, 29867, 29867, 29867, 29867},
|
||||||
|
{17333, 34667, 34667, 37333, 37333, 74667, 74667, 74667, 74667},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
count_list = new int[]{10, 20, 30, 40, 50, 100, 200, 500, 1000, 2000, 5000};
|
||||||
|
areas = new double[]{1197, 1716, 2394, 2596, 3430, 3467.1, 4788, 5192, 6860};
|
||||||
|
area = length * width;
|
||||||
|
|
||||||
|
return getAreaCenterPrice(count_list, count, area, prices, areas, number);
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<Product> getAreaCenterPrice(int[] count_list, int count, double area, int[][] prices, double[] areas, int number) {
|
||||||
|
List<Product> priceList = new ArrayList<>();
|
||||||
for (int i = 0; i < count_list.length; i++) {
|
for (int i = 0; i < count_list.length; i++) {
|
||||||
int count_item = count_list[i];
|
int count_item = count_list[i];
|
||||||
if (priceList.size() > 2) {
|
if (priceList.size() > 2) {
|
||||||
@@ -4667,7 +4743,7 @@ public class ProductService {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
int count_index = Arrays.binarySearch(count_list, count_item);
|
int count_index = Arrays.binarySearch(count_list, count_item);
|
||||||
price = 0;
|
double price = 0;
|
||||||
if (count_index >= 0) {
|
if (count_index >= 0) {
|
||||||
price = new PriceUtils().TablePrice(area, prices[count_index], areas);
|
price = new PriceUtils().TablePrice(area, prices[count_index], areas);
|
||||||
}
|
}
|
||||||
@@ -4677,10 +4753,6 @@ public class ProductService {
|
|||||||
priceList.add(product);
|
priceList.add(product);
|
||||||
}
|
}
|
||||||
return priceList;
|
return priceList;
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<Product> lessSticker(Product dto, String kind, Integer number, Double width, Double length,
|
private List<Product> lessSticker(Product dto, String kind, Integer number, Double width, Double length,
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ public class SysUserService {
|
|||||||
// Integer[] ids = {999};
|
// Integer[] ids = {999};
|
||||||
int count = userMapper.insertSelective(user);
|
int count = userMapper.insertSelective(user);
|
||||||
// 根据角色的id把角色的权限给用户
|
// 根据角色的id把角色的权限给用户
|
||||||
Integer[] ids = { 999, Integer.valueOf(roleId) };
|
Integer[] ids = {999, Integer.valueOf(roleId)};
|
||||||
// 新增用户后会自动回补id
|
// 新增用户后会自动回补id
|
||||||
Integer userId = user.getUserId();
|
Integer userId = user.getUserId();
|
||||||
userMapper.addUserRoles(userId, ids);
|
userMapper.addUserRoles(userId, ids);
|
||||||
@@ -105,6 +105,7 @@ public class SysUserService {
|
|||||||
public Msg addUser(SysUser user) {
|
public Msg addUser(SysUser user) {
|
||||||
user.setPassword(new MD5Util().md5(user.getPassword(), "lingtao"));
|
user.setPassword(new MD5Util().md5(user.getPassword(), "lingtao"));
|
||||||
user.setCreateDate(new Date());
|
user.setCreateDate(new Date());
|
||||||
|
user.setSysStatus("2");
|
||||||
try {
|
try {
|
||||||
userMapper.insertSelective(user);
|
userMapper.insertSelective(user);
|
||||||
return Msg.success();
|
return Msg.success();
|
||||||
|
|||||||
@@ -355,6 +355,9 @@
|
|||||||
left: 650px;
|
left: 650px;
|
||||||
top: 250px;
|
top: 250px;
|
||||||
}
|
}
|
||||||
|
.swiper-slide{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<script id="happinessiInfo" type="text/html">
|
<script id="happinessiInfo" type="text/html">
|
||||||
@@ -428,8 +431,7 @@
|
|||||||
<!--向上轮播-->
|
<!--向上轮播-->
|
||||||
<div class="swiper" style="height: 100%;width: 800px;">
|
<div class="swiper" style="height: 100%;width: 800px;">
|
||||||
<div class="swiper-wrapper">
|
<div class="swiper-wrapper">
|
||||||
<div class="swiper-slide" data-swiper-autoplay="5000">【新增】不干胶新增划线工艺 客户需要划线工艺的 划线工艺必选</div>
|
<div class="swiper-slide" data-swiper-autoplay="5000">【新增】特种纸新增打码 烫金工艺 注意!!!雅柔纸打码烫金的工艺材质会比报价系统的材质偏黄点 接单的时候要跟客户沟通清楚 以免造成不必要的售后</div>
|
||||||
<div class="swiper-slide" data-swiper-autoplay="5000">【新增】专版报价需要配件的要勾选相对应的配件报价</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -0,0 +1,320 @@
|
|||||||
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||||
|
pageEncoding="UTF-8" %>
|
||||||
|
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Insert title here</title>
|
||||||
|
<%@include file="/views/common.jsp" %>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="big_box">
|
||||||
|
<div class="left_div">
|
||||||
|
<h1 class="h1">澜达海报</h1> <span style="color:red;font-weight:700;"></span>
|
||||||
|
<hr>
|
||||||
|
<form class="layui-form">
|
||||||
|
<input type="hidden" name="proTypeValue" id="proTypeValue" class="layui-input" value="澜达海报"/>
|
||||||
|
<p>
|
||||||
|
材质
|
||||||
|
</p>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<select name="ui_bq_name" id="ui_bq_name" lay-filter="ui_fb_name" class="select" lay-search>
|
||||||
|
<option value="1">铜版纸200g</option>
|
||||||
|
<option value="2">铜版纸不干胶</option>
|
||||||
|
<option value="3">pp纸(不带胶)</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" placeholder="格式:长*宽" class="layui-input" autocomplete="off">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
数量(个)
|
||||||
|
</p>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<select name="count" class="select">
|
||||||
|
<option value="10">10</option>
|
||||||
|
<option value="20">20</option>
|
||||||
|
<option value="30">30</option>
|
||||||
|
<option value="40">40</option>
|
||||||
|
<option value="50">50</option>
|
||||||
|
<option value="100">100</option>
|
||||||
|
<option value="200">200</option>
|
||||||
|
<option value="500">500</option>
|
||||||
|
<option value="1000">1000</option>
|
||||||
|
<option value="2000">2000</option>
|
||||||
|
<option value="5000">5000</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<p>
|
||||||
|
款数
|
||||||
|
</p>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<input type="text" placeholder="请输入整数" autocomplete="off" name="number" id="number" value="1"
|
||||||
|
class="layui-input" lay-verify="number">
|
||||||
|
</div>
|
||||||
|
<p>
|
||||||
|
客户旺旺
|
||||||
|
</p>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<input type="text" placeholder="请输入客户旺旺号" autocomplete="off" name="wangwang" id="wangwang"
|
||||||
|
class="layui-input">
|
||||||
|
</div>
|
||||||
|
<p>
|
||||||
|
工艺
|
||||||
|
</p>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-input-block" style="display:inline-block;">
|
||||||
|
印面:
|
||||||
|
<input type="checkbox" name="craft" lay-filter="ui_craft" value="单面" title="单面" checked>
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-block" style="display:inline-block;">
|
||||||
|
印色:
|
||||||
|
<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" style="display:inline-block;">
|
||||||
|
裁切工艺:
|
||||||
|
<input type="checkbox" name="craft" lay-filter="ui_craft" value="直角裁切" title="直角裁切" checked>
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-block" style="display:inline-block;">
|
||||||
|
覆膜工艺:
|
||||||
|
<input type="checkbox" name="craft" lay-filter="ui_craft" value="覆光油" title="覆光油" checked>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<button class="layui-btn" lay-submit="" lay-filter="acount_btn">计算</button>
|
||||||
|
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||||
|
</div>
|
||||||
|
<h2>计算结果-
|
||||||
|
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm copyResult"
|
||||||
|
onclick="copyResult()">点击复制
|
||||||
|
</button>
|
||||||
|
</h2>
|
||||||
|
<div>
|
||||||
|
<textarea rows="11" cols="75" id="span_result" readonly="readonly"></textarea>
|
||||||
|
<%@include file="../acountExpressFee.jsp" %>
|
||||||
|
</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>
|
||||||
|
<%@include file="/views/copyResult.jsp" %>
|
||||||
|
<script>
|
||||||
|
layui.use(['table', 'form', 'carousel'], function () {
|
||||||
|
var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
|
||||||
|
var carousel = layui.carousel;
|
||||||
|
var table = layui.table;
|
||||||
|
|
||||||
|
//建造实例
|
||||||
|
ins = carousel.render({});
|
||||||
|
var html = " ";
|
||||||
|
var remark = " ";
|
||||||
|
// 清空轮播图
|
||||||
|
$("#carousel").empty();
|
||||||
|
$("#remark").empty();
|
||||||
|
$(".ui_feb").show();
|
||||||
|
$(".ui_feb select").attr("disabled", false);
|
||||||
|
$.ajax({
|
||||||
|
url: "${pageContext.request.contextPath}/getImgs",
|
||||||
|
type: "GET",
|
||||||
|
data: {
|
||||||
|
proTypeValue: $("#proTypeValue").val(),
|
||||||
|
kindValue: $('input[name="kindValue"]').val()
|
||||||
|
},
|
||||||
|
success: function (result) {
|
||||||
|
for (let i = 0; i < result.length; i++) {
|
||||||
|
// 只留一个remark
|
||||||
|
remark = "";
|
||||||
|
html += '<div><img style="width:' + result[0].imgWidth + 'px" src="' + result[i].imgUrl + '"></div>';
|
||||||
|
remark += '<div><span>' + result[i].remark + '<span/></div>';
|
||||||
|
}
|
||||||
|
$("#carousel").append(html);
|
||||||
|
// 如果没有说明,就不显示null
|
||||||
|
if (remark.indexOf("null") < 0) {
|
||||||
|
$("#remark").append(remark);
|
||||||
|
}
|
||||||
|
// 如果没有轮播图就隐藏
|
||||||
|
if (result.length == 0) {
|
||||||
|
document.getElementById("test1").style.display = "none"; //隐藏
|
||||||
|
} else {
|
||||||
|
document.getElementById("test1").style.display = "block"; //显示
|
||||||
|
ins.reload({
|
||||||
|
elem: '#test1',
|
||||||
|
width: result[0].imgWidth, //设置容器宽度
|
||||||
|
height: result[0].imgHeight
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
form.on('checkbox(ui_craft)', function (data) {
|
||||||
|
let craft_list = [];
|
||||||
|
$("input[name='craft']:checked").each(function () {
|
||||||
|
if (!$(this).is(':disabled')) {
|
||||||
|
craft_list.push($(this).val());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
if (craft_list.indexOf("单面") == -1) {
|
||||||
|
$(data.elem).prop("checked", true);
|
||||||
|
layer.msg("印面不能取消选择", {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
form.render();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (craft_list.indexOf("直角裁切") == -1) {
|
||||||
|
$(data.elem).prop("checked", true);
|
||||||
|
layer.msg("裁切不能取消选择", {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
form.render();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (craft_list.indexOf("覆光油") == -1) {
|
||||||
|
$(data.elem).prop("checked", true);
|
||||||
|
layer.msg("覆膜不能取消选择", {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
form.render();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const carft_list1 = ["四色印刷", "专色"];
|
||||||
|
const carft1 = carft_list1.filter(craft => craft_list.includes(craft));
|
||||||
|
if (carft1.length > 1) {
|
||||||
|
$(data.elem).prop("checked", false);
|
||||||
|
layer.msg("印色工艺不能同时选择", {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
form.render();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// 点击计算,计算价格
|
||||||
|
form.on('submit(acount_btn)', function (data) {
|
||||||
|
var number = $("#number").val();
|
||||||
|
var size = $("#size").val();
|
||||||
|
var count = $("#count").val();
|
||||||
|
var kind = $("#ui_bq_name option:selected").text();
|
||||||
|
var craft = [];
|
||||||
|
if (size == "") {
|
||||||
|
layer.msg('请填写尺寸!', {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if ((size.split("*")[0] < 42 || size.split("*")[1] < 28.5) && (size.split("*")[0] < 28.5 || size.split("*")[1] < 42)) {
|
||||||
|
layer.msg("【澜达海报】尺寸不能小于42*28.5 cm", {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if ((size.split("*")[0] > 98 || size.split("*")[1] > 70) && (size.split("*")[0] > 70 || size.split("*")[1] > 98)) {
|
||||||
|
layer.msg("【澜达海报】尺寸不能大于70*98 cm", {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$("input:checkbox[name='craft']:checked").each(function (i) {
|
||||||
|
// 没有被禁用的工艺加到arr中
|
||||||
|
if (!$(this).is(':disabled')) {
|
||||||
|
craft.push($(this).val());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "${path}/getThanSum",
|
||||||
|
type: "GET",
|
||||||
|
data: $(".big_box form").serialize(),
|
||||||
|
success: function (result) {
|
||||||
|
if (result.code == 100) {
|
||||||
|
layer.msg(result.msg, {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var data = result.data.proList;
|
||||||
|
|
||||||
|
var span_result = '澜达海报 - ' + kind + ' - ' + size + ' CM (同款内容)\n';
|
||||||
|
|
||||||
|
span_result += `工艺:` + craft.join(",") + '\n';
|
||||||
|
|
||||||
|
if (number > 1) {
|
||||||
|
for (let i = 0; i < data.length; i++) {
|
||||||
|
span_result += number + '款 各' + data[i].count + "条,共" + data[i].price + "元" + '\n'
|
||||||
|
data[i].number = number;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (let i = 0; i < data.length; i++) {
|
||||||
|
span_result += number + '款 ' + data[i].count + "条,共" + data[i].price + "元" + '\n'
|
||||||
|
data[i].number = number;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
span_result += '包邮,免费设计呢~(偏远地区需补邮费)'
|
||||||
|
$("#span_result").val(span_result);
|
||||||
|
|
||||||
|
//计算完自动复制文本
|
||||||
|
var e = document.getElementById("span_result");//对象是content
|
||||||
|
if (e.value != "") {
|
||||||
|
e.select();//选择对象
|
||||||
|
document.execCommand("Copy");//执行浏览器复制命令
|
||||||
|
}
|
||||||
|
|
||||||
|
//生成表格
|
||||||
|
table.render({
|
||||||
|
elem: '#priceTable',
|
||||||
|
even: true, //隔行变色
|
||||||
|
data: data, // 赋值已知数据
|
||||||
|
width: 500,
|
||||||
|
cols: [[
|
||||||
|
{
|
||||||
|
field: 'number',
|
||||||
|
width: '12%',
|
||||||
|
align: "center",
|
||||||
|
title: '款数'
|
||||||
|
}, {
|
||||||
|
field: 'count',
|
||||||
|
width: '16%',
|
||||||
|
align: "center",
|
||||||
|
title: '数量'
|
||||||
|
}, {
|
||||||
|
field: 'price',
|
||||||
|
width: '16%',
|
||||||
|
align: "center",
|
||||||
|
title: '报价'
|
||||||
|
}, {
|
||||||
|
field: 'wangwang',
|
||||||
|
align: "center",
|
||||||
|
width: '16%',
|
||||||
|
title: '折扣价'
|
||||||
|
}, {
|
||||||
|
field: 'wangwang',
|
||||||
|
align: "center",
|
||||||
|
width: '19%',
|
||||||
|
title: '跳楼价'
|
||||||
|
}, {
|
||||||
|
field: 'weight',
|
||||||
|
width: '21%',
|
||||||
|
align: "center",
|
||||||
|
title: '重量(kg)'
|
||||||
|
}
|
||||||
|
]],
|
||||||
|
done: function () {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</html>
|
||||||
@@ -183,6 +183,11 @@
|
|||||||
<option value="3">3</option>
|
<option value="3">3</option>
|
||||||
<option value="4">4</option>
|
<option value="4">4</option>
|
||||||
<option value="5">5</option>
|
<option value="5">5</option>
|
||||||
|
<option value="6">6</option>
|
||||||
|
<option value="7">7</option>
|
||||||
|
<option value="8">8</option>
|
||||||
|
<option value="9">9</option>
|
||||||
|
<option value="10">10</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@@ -0,0 +1,317 @@
|
|||||||
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||||
|
pageEncoding="UTF-8" %>
|
||||||
|
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Insert title here</title>
|
||||||
|
<%@include file="/views/common.jsp" %>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="big_box">
|
||||||
|
<div class="left_div">
|
||||||
|
<h1 class="h1">透卡</h1> <span style="color:red;font-weight:700;"></span>
|
||||||
|
<hr>
|
||||||
|
<form class="layui-form">
|
||||||
|
<input type="hidden" name="proTypeValue" id="proTypeValue" class="layui-input" value="透卡"/>
|
||||||
|
<p>
|
||||||
|
材质
|
||||||
|
</p>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<select name="ui_bq_name" id="ui_bq_name" lay-filter="ui_fb_name" class="select" lay-search>
|
||||||
|
<option value="1">PET透卡</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" placeholder="格式:长*宽" class="layui-input" autocomplete="off">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
数量(个)
|
||||||
|
</p>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<select name="count" class="select">
|
||||||
|
<option value="100">100</option>
|
||||||
|
<option value="200">200</option>
|
||||||
|
<option value="300">300</option>
|
||||||
|
<option value="400">400</option>
|
||||||
|
<option value="500">500</option>
|
||||||
|
<option value="800">800</option>
|
||||||
|
<option value="1000">1000</option>
|
||||||
|
<option value="2000">2000</option>
|
||||||
|
<option value="5000">5000</option>
|
||||||
|
<option value="10000">10000</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<p>
|
||||||
|
款数
|
||||||
|
</p>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<input type="text" placeholder="请输入整数" autocomplete="off" name="number" id="number" value="1"
|
||||||
|
class="layui-input" lay-verify="number">
|
||||||
|
</div>
|
||||||
|
<p>
|
||||||
|
客户旺旺
|
||||||
|
</p>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<input type="text" placeholder="请输入客户旺旺号" autocomplete="off" name="wangwang" id="wangwang"
|
||||||
|
class="layui-input">
|
||||||
|
</div>
|
||||||
|
<p>
|
||||||
|
工艺
|
||||||
|
</p>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<div class="layui-input-block" style="display:inline-block;">
|
||||||
|
印面:
|
||||||
|
<input type="checkbox" name="craft" lay-filter="ui_craft" value="单面" title="单面" checked>
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-block" style="display:inline-block;">
|
||||||
|
常见工艺:
|
||||||
|
<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" style="display:inline-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>
|
||||||
|
<hr>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<button class="layui-btn" lay-submit="" lay-filter="acount_btn">计算</button>
|
||||||
|
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||||
|
</div>
|
||||||
|
<h2>计算结果-
|
||||||
|
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm copyResult"
|
||||||
|
onclick="copyResult()">点击复制
|
||||||
|
</button>
|
||||||
|
</h2>
|
||||||
|
<div>
|
||||||
|
<textarea rows="11" cols="75" id="span_result" readonly="readonly"></textarea>
|
||||||
|
<%@include file="../acountExpressFee.jsp" %>
|
||||||
|
</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>
|
||||||
|
<%@include file="/views/copyResult.jsp" %>
|
||||||
|
<script>
|
||||||
|
layui.use(['table', 'form', 'carousel'], function () {
|
||||||
|
var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
|
||||||
|
var carousel = layui.carousel;
|
||||||
|
var table = layui.table;
|
||||||
|
|
||||||
|
//建造实例
|
||||||
|
ins = carousel.render({});
|
||||||
|
var html = " ";
|
||||||
|
var remark = " ";
|
||||||
|
// 清空轮播图
|
||||||
|
$("#carousel").empty();
|
||||||
|
$("#remark").empty();
|
||||||
|
$(".ui_feb").show();
|
||||||
|
$(".ui_feb select").attr("disabled", false);
|
||||||
|
$.ajax({
|
||||||
|
url: "${pageContext.request.contextPath}/getImgs",
|
||||||
|
type: "GET",
|
||||||
|
data: {
|
||||||
|
proTypeValue: $("#proTypeValue").val(),
|
||||||
|
kindValue: $('input[name="kindValue"]').val()
|
||||||
|
},
|
||||||
|
success: function (result) {
|
||||||
|
for (let i = 0; i < result.length; i++) {
|
||||||
|
// 只留一个remark
|
||||||
|
remark = "";
|
||||||
|
html += '<div><img style="width:' + result[0].imgWidth + 'px" src="' + result[i].imgUrl + '"></div>';
|
||||||
|
remark += '<div><span>' + result[i].remark + '<span/></div>';
|
||||||
|
}
|
||||||
|
$("#carousel").append(html);
|
||||||
|
// 如果没有说明,就不显示null
|
||||||
|
if (remark.indexOf("null") < 0) {
|
||||||
|
$("#remark").append(remark);
|
||||||
|
}
|
||||||
|
// 如果没有轮播图就隐藏
|
||||||
|
if (result.length == 0) {
|
||||||
|
document.getElementById("test1").style.display = "none"; //隐藏
|
||||||
|
} else {
|
||||||
|
document.getElementById("test1").style.display = "block"; //显示
|
||||||
|
ins.reload({
|
||||||
|
elem: '#test1',
|
||||||
|
width: result[0].imgWidth, //设置容器宽度
|
||||||
|
height: result[0].imgHeight
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
form.on('checkbox(ui_craft)', function (data) {
|
||||||
|
let craft_list = [];
|
||||||
|
$("input[name='craft']:checked").each(function () {
|
||||||
|
if (!$(this).is(':disabled')) {
|
||||||
|
craft_list.push($(this).val());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
if (craft_list.indexOf("单面") == -1) {
|
||||||
|
$(data.elem).prop("checked", true);
|
||||||
|
layer.msg("印面不能取消选择", {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
form.render();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const carft_list1 = ["四色印刷", "白墨"];
|
||||||
|
const carft1 = carft_list1.filter(craft => craft_list.includes(craft));
|
||||||
|
if (carft1.length > 1) {
|
||||||
|
$(data.elem).prop("checked", false);
|
||||||
|
layer.msg("常见工艺不能同时选择", {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
form.render();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const carft_list2 = ["直角裁切", "异形模切", "圆角"];
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// 点击计算,计算价格
|
||||||
|
form.on('submit(acount_btn)', function (data) {
|
||||||
|
var number = $("#number").val();
|
||||||
|
var size = $("#size").val();
|
||||||
|
var count = $("#count").val();
|
||||||
|
var kind = $("#ui_bq_name option:selected").text();
|
||||||
|
var craft = [];
|
||||||
|
if (size == "") {
|
||||||
|
layer.msg('请填写尺寸!', {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if ((size.split("*")[0] < 5 || size.split("*")[1] < 4.5) && (size.split("*")[0] < 4.5 || size.split("*")[1] < 5)) {
|
||||||
|
layer.msg("【PET透卡】尺寸不能小于5*4.5 cm", {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if ((size.split("*")[0] > 10 || size.split("*")[1] > 15) && (size.split("*")[0] > 15 || size.split("*")[1] > 10)) {
|
||||||
|
layer.msg("【PET透卡】尺寸不能大于10*15 cm", {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$("input:checkbox[name='craft']:checked").each(function (i) {
|
||||||
|
// 没有被禁用的工艺加到arr中
|
||||||
|
if (!$(this).is(':disabled')) {
|
||||||
|
craft.push($(this).val());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
const carft_list2 = ["直角裁切", "异形模切", "圆角"];
|
||||||
|
const carft2 = carft_list2.filter(item => craft.includes(item));
|
||||||
|
if (carft2.length == 0) {
|
||||||
|
layer.msg("请选择裁切工艺", {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "${path}/getThanSum",
|
||||||
|
type: "GET",
|
||||||
|
data: $(".big_box form").serialize(),
|
||||||
|
success: function (result) {
|
||||||
|
if (result.code == 100) {
|
||||||
|
layer.msg(result.msg, {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var data = result.data.proList;
|
||||||
|
|
||||||
|
var span_result = 'PET透卡 - ' + kind + ' - ' + size + ' CM (同款内容)\n';
|
||||||
|
|
||||||
|
span_result += `工艺:` + craft.join(",") + '\n';
|
||||||
|
|
||||||
|
if (number > 1) {
|
||||||
|
for (let i = 0; i < data.length; i++) {
|
||||||
|
span_result += number + '款 各' + data[i].count + "条,共" + data[i].price + "元" + '\n'
|
||||||
|
data[i].number = number;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (let i = 0; i < data.length; i++) {
|
||||||
|
span_result += number + '款 ' + data[i].count + "条,共" + data[i].price + "元" + '\n'
|
||||||
|
data[i].number = number;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
span_result += '包邮,免费设计呢~(偏远地区需补邮费)'
|
||||||
|
$("#span_result").val(span_result);
|
||||||
|
|
||||||
|
//计算完自动复制文本
|
||||||
|
var e = document.getElementById("span_result");//对象是content
|
||||||
|
if (e.value != "") {
|
||||||
|
e.select();//选择对象
|
||||||
|
document.execCommand("Copy");//执行浏览器复制命令
|
||||||
|
}
|
||||||
|
|
||||||
|
//生成表格
|
||||||
|
table.render({
|
||||||
|
elem: '#priceTable',
|
||||||
|
even: true, //隔行变色
|
||||||
|
data: data, // 赋值已知数据
|
||||||
|
width: 500,
|
||||||
|
cols: [[
|
||||||
|
{
|
||||||
|
field: 'number',
|
||||||
|
width: '12%',
|
||||||
|
align: "center",
|
||||||
|
title: '款数'
|
||||||
|
}, {
|
||||||
|
field: 'count',
|
||||||
|
width: '16%',
|
||||||
|
align: "center",
|
||||||
|
title: '数量'
|
||||||
|
}, {
|
||||||
|
field: 'price',
|
||||||
|
width: '16%',
|
||||||
|
align: "center",
|
||||||
|
title: '报价'
|
||||||
|
}, {
|
||||||
|
field: 'wangwang',
|
||||||
|
align: "center",
|
||||||
|
width: '16%',
|
||||||
|
title: '折扣价'
|
||||||
|
}, {
|
||||||
|
field: 'wangwang',
|
||||||
|
align: "center",
|
||||||
|
width: '19%',
|
||||||
|
title: '跳楼价'
|
||||||
|
}, {
|
||||||
|
field: 'weight',
|
||||||
|
width: '21%',
|
||||||
|
align: "center",
|
||||||
|
title: '重量(kg)'
|
||||||
|
}
|
||||||
|
]],
|
||||||
|
done: function () {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</html>
|
||||||
@@ -479,6 +479,13 @@
|
|||||||
});
|
});
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (craft_list.indexOf("打码") > -1 && craft_list.indexOf("异形模切") > -1) {
|
||||||
|
$(data.elem).next().attr("class", "layui-unselect layui-form-checkbox");
|
||||||
|
$(data.elem).prop("checked", false);
|
||||||
|
layer.msg("打码 - 异形模切不能同时选择", {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if (craft_list.indexOf("击凸") > -1 || craft_list.indexOf("压凹") > -1) {
|
if (craft_list.indexOf("击凸") > -1 || craft_list.indexOf("压凹") > -1) {
|
||||||
$("#color_type").show();
|
$("#color_type").show();
|
||||||
$("#color_type").find("select").attr("disabled", false);
|
$("#color_type").find("select").attr("disabled", false);
|
||||||
@@ -513,6 +520,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
if (craft_list.indexOf("打码") > -1 && craft_list.indexOf("异形模切") > -1) {
|
||||||
|
$(data.elem).next().attr("class", "layui-unselect layui-form-checkbox");
|
||||||
|
$(data.elem).prop("checked", false);
|
||||||
|
layer.msg("打码 - 异形模切不能同时选择", {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
$("#dakong").removeAttr('disabled');
|
$("#dakong").removeAttr('disabled');
|
||||||
$("#craft_mo").removeAttr('disabled');
|
$("#craft_mo").removeAttr('disabled');
|
||||||
$(".newCraft").children().removeAttr('disabled');
|
$(".newCraft").children().removeAttr('disabled');
|
||||||
@@ -651,22 +665,37 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
var arr = []
|
var arr = []
|
||||||
|
let ma_num = $("select[name='maxian'] option:selected").val();
|
||||||
|
let is_dama = false;
|
||||||
$("input:checkbox[name='craft']:checked").each(function (i) {
|
$("input:checkbox[name='craft']:checked").each(function (i) {
|
||||||
if (!$(this).is(':disabled')) {
|
if (!$(this).is(':disabled')) {
|
||||||
if ($(this).val() != "双面覆哑膜") {
|
if ($(this).val() != "双面覆哑膜") {
|
||||||
if ($(this).val() == "单面烫金" || $(this).val() == "双面烫金") {
|
if ($(this).val() == "单面烫金" || $(this).val() == "双面烫金") {
|
||||||
let tangColor = $("#tang_type select[name='craft'] option:selected").val();
|
let tangColor = $("#tang_type select[name='craft'] option:selected").val();
|
||||||
arr.push($(this).val() + tangColor);
|
arr.push($(this).val() + tangColor);
|
||||||
}
|
} else if ($(this).val() == "打码") {
|
||||||
else if ($(this).val() == "打码") {
|
is_dama = true;
|
||||||
let ma_num = $("select[name='maxian'] option:selected").val();
|
|
||||||
arr.push($(this).val() + ma_num + "个");
|
arr.push($(this).val() + ma_num + "个");
|
||||||
}else {
|
} else {
|
||||||
arr.push($(this).val());
|
arr.push($(this).val());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
if (is_dama) {
|
||||||
|
if ((size.split("*")[0] < 9 || size.split("*")[1] < 5.4) && (size.split("*")[0] < 5.4 || size.split("*")[1] < 9)) {
|
||||||
|
layer.msg("打码尺寸不能小于9*5.4 cm", {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (ma_num > 1) {
|
||||||
|
if ((size.split("*")[0] < 13 || size.split("*")[1] < 4.5) && (size.split("*")[0] < 4.5 || size.split("*")[1] < 13)) {
|
||||||
|
layer.msg("打码尺寸小于13*4.5 cm不能打多个码", {offset: ['300px', '300px']}, function () {
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if (kindValueSelect == '素芸') {
|
if (kindValueSelect == '素芸') {
|
||||||
let color = $("select[name='craft']:not(:disabled) option:selected").val()
|
let color = $("select[name='craft']:not(:disabled) option:selected").val()
|
||||||
if (color) {
|
if (color) {
|
||||||
|
|||||||
Reference in New Issue
Block a user