chetie.jsp 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8" %>
  3. <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <meta charset="UTF-8">
  8. <title>Insert title here</title>
  9. <%@include file="/views/common.jsp" %>
  10. </head>
  11. <body>
  12. <div class="big_box">
  13. <div class="left_div">
  14. <h1 class="h1">刻字车贴</h1> <span style="color:red;font-weight:700;"></span>
  15. <hr>
  16. <form class="layui-form">
  17. <input type="hidden" name="proTypeValue" id="proTypeValue" class="layui-input" value="刻字车贴"/>
  18. <p>
  19. 材质
  20. </p>
  21. <div class="layui-form-item">
  22. <select name="ui_bq_name" id="ui_bq_name" lay-filter="ui_fb_name" class="select" lay-search>
  23. <option value="1">可移背胶</option>
  24. </select>
  25. </div>
  26. <p>
  27. 尺寸(CM/厘米) <span style="font-size: 14px; color: red">输入格式: 长 * 宽</span>
  28. </p>
  29. <div class="layui-form-item" id="ui_size">
  30. <input type="text" name="size" id="size" placeholder="格式:长*宽" class="layui-input" autocomplete="off">
  31. </div>
  32. <p>
  33. 数量(个)
  34. </p>
  35. <div class="layui-form-item">
  36. <input type="text" name="count" id="count" placeholder="请输入整数" class="layui-input" autocomplete="off">
  37. </div>
  38. <p>
  39. 款数
  40. </p>
  41. <div class="layui-form-item">
  42. <input type="text" placeholder="请输入整数" autocomplete="off" name="number" id="number" value="1"
  43. class="layui-input" lay-verify="number">
  44. </div>
  45. <p>
  46. 客户旺旺
  47. </p>
  48. <div class="layui-form-item">
  49. <input type="text" placeholder="请输入客户旺旺号" autocomplete="off" name="wangwang" id="wangwang"
  50. class="layui-input">
  51. </div>
  52. <%--<p>
  53. 工艺
  54. </p>
  55. <div class="layui-form-item">
  56. <div class="layui-input-block" style="display:inline-block;">
  57. 印面:
  58. <input type="checkbox" name="craft" lay-filter="ui_craft" value="单面" title="单面" checked>
  59. <input type="checkbox" name="craft" lay-filter="ui_craft" value="双面" title="双面">
  60. </div>
  61. <div class="layui-input-block" style="display:inline-block;">
  62. 覆膜工艺:
  63. <input type="checkbox" name="craft" lay-filter="ui_craft" value="亮膜" title="亮膜" checked>
  64. <input type="checkbox" name="craft" lay-filter="ui_craft" value="哑膜" title="哑膜">
  65. </div>
  66. <div class="layui-input-block" style="display:inline-block;">
  67. 裁切工艺:
  68. <input type="checkbox" name="craft" lay-filter="ui_craft" value="直角裁切" title="直角裁切">
  69. <input type="checkbox" name="craft" lay-filter="ui_craft" value="异形模切" title="异形模切" checked>
  70. </div>
  71. </div>--%>
  72. <hr>
  73. <div class="layui-form-item">
  74. <button class="layui-btn" lay-submit="" lay-filter="acount_btn">计算</button>
  75. <button type="reset" class="layui-btn layui-btn-primary">重置</button>
  76. </div>
  77. <h2>计算结果-
  78. <button type="button" class="layui-btn layui-btn-primary layui-btn-sm copyResult"
  79. onclick="copyResult()">点击复制
  80. </button>
  81. </h2>
  82. <div>
  83. <textarea rows="11" cols="75" id="span_result" readonly="readonly"></textarea>
  84. <%@include file="../acountExpressFee.jsp" %>
  85. </div>
  86. <div>
  87. <table class="layui-hide" id="priceTable" lay-filter="priceTable"></table>
  88. </div>
  89. </form>
  90. </div>
  91. <div class="right_div" style="margin-left:50px;">
  92. <div class="layui-carousel" id="test1">
  93. <div carousel-item id="carousel"></div>
  94. <br>
  95. <div id="remark" style="font-size:20px;color:red"></div>
  96. </div>
  97. </div>
  98. </div>
  99. </body>
  100. <%@include file="/views/copyResult.jsp" %>
  101. <script>
  102. layui.use(['table', 'form', 'carousel'], function () {
  103. var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
  104. var carousel = layui.carousel;
  105. var table = layui.table;
  106. const carft_list2 = ["直角裁切", "异形模切"];
  107. const carft_list1 = ["哑膜", "亮膜"];
  108. const carft_list = ["单面", "双面"];
  109. //建造实例
  110. ins = carousel.render({});
  111. var html = " ";
  112. var remark = " ";
  113. // 清空轮播图
  114. $("#carousel").empty();
  115. $("#remark").empty();
  116. $(".ui_feb").show();
  117. $(".ui_feb select").attr("disabled", false);
  118. $.ajax({
  119. url: "${pageContext.request.contextPath}/getImgs",
  120. type: "GET",
  121. data: {
  122. proTypeValue: $("#proTypeValue").val(),
  123. kindValue: $('input[name="kindValue"]').val()
  124. },
  125. success: function (result) {
  126. for (let i = 0; i < result.length; i++) {
  127. // 只留一个remark
  128. remark = "";
  129. html += '<div><img style="width:' + result[0].imgWidth + 'px" src="' + result[i].imgUrl + '"></div>';
  130. remark += '<div><span>' + result[i].remark + '<span/></div>';
  131. }
  132. $("#carousel").append(html);
  133. // 如果没有说明,就不显示null
  134. if (remark.indexOf("null") < 0) {
  135. $("#remark").append(remark);
  136. }
  137. // 如果没有轮播图就隐藏
  138. if (result.length == 0) {
  139. document.getElementById("test1").style.display = "none"; //隐藏
  140. } else {
  141. document.getElementById("test1").style.display = "block"; //显示
  142. ins.reload({
  143. elem: '#test1',
  144. width: result[0].imgWidth, //设置容器宽度
  145. height: result[0].imgHeight
  146. });
  147. }
  148. }
  149. });
  150. form.on('checkbox(ui_craft)', function (data) {
  151. let craft_list = [];
  152. $("input[name='craft']:checked").each(function () {
  153. if (!$(this).is(':disabled')) {
  154. craft_list.push($(this).val());
  155. }
  156. }
  157. );
  158. const carft = carft_list.filter(craft => craft_list.includes(craft));
  159. if (carft.length > 1) {
  160. $(data.elem).prop("checked", false);
  161. layer.msg("印面工艺不能同时选择", {offset: ['300px', '300px']}, function () {
  162. });
  163. form.render();
  164. return false;
  165. }
  166. const carft1 = carft_list1.filter(craft => craft_list.includes(craft));
  167. if (carft1.length > 1) {
  168. $(data.elem).prop("checked", false);
  169. layer.msg("覆膜工艺不能同时选择", {offset: ['300px', '300px']}, function () {
  170. });
  171. form.render();
  172. return false;
  173. }
  174. const carft2 = carft_list2.filter(craft => craft_list.includes(craft));
  175. if (carft2.length > 1) {
  176. $(data.elem).prop("checked", false);
  177. layer.msg("裁切工艺不能同时选择", {offset: ['300px', '300px']}, function () {
  178. });
  179. form.render();
  180. return false;
  181. }
  182. })
  183. // 点击计算,计算价格
  184. form.on('submit(acount_btn)', function (data) {
  185. var number = $("#number").val();
  186. var size = $("#size").val();
  187. var count = $("#count").val();
  188. var kind = $("#ui_bq_name option:selected").text();
  189. var craft = [];
  190. if (size == "") {
  191. layer.msg('请填写尺寸!', {offset: ['300px', '300px']}, function () {
  192. });
  193. return false;
  194. }
  195. if ((size.split("*")[0] < 25 || size.split("*")[1] < 25)) {
  196. layer.msg("【刻字车贴】尺寸不能小于25*25 cm", {offset: ['300px', '300px']}, function () {
  197. });
  198. return false;
  199. }
  200. if ((size.split("*")[0] > 120 || size.split("*")[1] > 1000) && (size.split("*")[0] > 120 || size.split("*")[1] > 1000)) {
  201. layer.msg("【刻字车贴】尺寸不能大于120*1000 cm", {offset: ['300px', '300px']}, function () {
  202. });
  203. return false;
  204. }
  205. /* $("input:checkbox[name='craft']:checked").each(function (i) {
  206. // 没有被禁用的工艺加到arr中
  207. if (!$(this).is(':disabled')) {
  208. craft.push($(this).val());
  209. }
  210. });
  211. const carft0 = carft_list.filter(item => craft.includes(item));
  212. if (carft0.length == 0) {
  213. layer.msg("请选择印面工艺", {offset: ['300px', '300px']}, function () {
  214. });
  215. return false;
  216. }
  217. const carft1 = carft_list1.filter(item => craft.includes(item));
  218. if (carft1.length == 0) {
  219. layer.msg("请选择覆膜工艺", {offset: ['300px', '300px']}, function () {
  220. });
  221. return false;
  222. }
  223. const carft2 = carft_list2.filter(item => craft.includes(item));
  224. if (carft2.length == 0) {
  225. layer.msg("请选择裁切工艺", {offset: ['300px', '300px']}, function () {
  226. });
  227. return false;
  228. }*/
  229. $.ajax({
  230. url: "${path}/getThanSum",
  231. type: "GET",
  232. data: $(".big_box form").serialize(),
  233. success: function (result) {
  234. if (result.code == 100) {
  235. layer.msg(result.msg, {offset: ['300px', '300px']}, function () {
  236. });
  237. return false;
  238. }
  239. var data = result.data.proList;
  240. var span_result = '刻字车贴 - ' + kind + ' - ' + size + ' CM (同款内容)\n';
  241. span_result += `工艺:` + craft.join(",") + '\n';
  242. if (number > 1) {
  243. for (let i = 0; i < data.length; i++) {
  244. span_result += number + '款 各' + data[i].count + "张,共" + data[i].price + "元" + '\n'
  245. data[i].number = number;
  246. }
  247. } else {
  248. for (let i = 0; i < data.length; i++) {
  249. span_result += number + '款 ' + data[i].count + "张,共" + data[i].price + "元" + '\n'
  250. data[i].number = number;
  251. }
  252. }
  253. span_result += '包邮,免费设计呢~(偏远地区需补邮费)'
  254. $("#span_result").val(span_result);
  255. //计算完自动复制文本
  256. var e = document.getElementById("span_result");//对象是content
  257. if (e.value != "") {
  258. e.select();//选择对象
  259. document.execCommand("Copy");//执行浏览器复制命令
  260. }
  261. //生成表格
  262. table.render({
  263. elem: '#priceTable',
  264. even: true, //隔行变色
  265. data: data, // 赋值已知数据
  266. width: 500,
  267. cols: [[
  268. {
  269. field: 'number',
  270. width: '12%',
  271. align: "center",
  272. title: '款数'
  273. }, {
  274. field: 'count',
  275. width: '16%',
  276. align: "center",
  277. title: '数量'
  278. }, {
  279. field: 'price',
  280. width: '16%',
  281. align: "center",
  282. title: '报价'
  283. }, {
  284. field: 'wangwang',
  285. align: "center",
  286. width: '16%',
  287. title: '折扣价'
  288. }, {
  289. field: 'wangwang',
  290. align: "center",
  291. width: '19%',
  292. title: '跳楼价'
  293. }, {
  294. field: 'weight',
  295. width: '21%',
  296. align: "center",
  297. title: '重量(kg)'
  298. }
  299. ]],
  300. done: function () {
  301. }
  302. });
  303. }
  304. });
  305. return false;
  306. });
  307. });
  308. </script>
  309. </html>