transfer_number.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428
  1. {Template header}
  2. <body>
  3. <div class="warp">
  4. <div class="fixed">
  5. <div class="orderyz" style="padding:30px 0;">
  6. <p><input value="" name="number" id="number" placeholder="点此处扫发货单条码" type="text">
  7. <!-- <select name="purchase" class="select must" style="width:200px;margin-left:15px;">
  8. {loop $purchase as $val}
  9. <option value="{$val['id']}">{$val['title']}</option>
  10. {/loop}
  11. </select>
  12. -->
  13. <select name="printer" class="select" style="width:400px;margin-left:15px;">
  14. <option value="">请选择打印机</option>
  15. </select>
  16. </p>
  17. <div><font class="zps" style="color: #fff;display: inline-block;"><input value="" name="zps" id="zps" placeholder="填写此单总数量,请务必一次填写正确" type="text" style="width:350px;text-align: center;"></font> <font class="orderyzgb" style="width: 70px;height: 30px;line-height: 30px;background: #2ca8a1;text-align: center;color: #fff;border-radius: 5px;display: inline-block;margin-left: 20px;cursor: pointer;">关 闭</font></div></div>
  18. </div>
  19. <table class="datatitle data" border="0" style="border-collapse:collapse;">
  20. <tr>
  21. <td>SKU</td>
  22. <td>品名</td>
  23. <td>打印数量</td>
  24. <td>操作</td>
  25. </tr>
  26. </table>
  27. <table class="datatext data" border="0" style="border-collapse:collapse;">
  28. </table>
  29. </div>
  30. <div class="print none"></div>
  31. <div class="ts"><p class="tsn"></p></div>
  32. <div class="systemwindow">
  33. <div>
  34. <p></p>
  35. <p><font class="button">确 定</font><font class="esc">取 消</font></p>
  36. </div>
  37. </div>
  38. <div class="boundtj">
  39. <div>
  40. <p></p>
  41. <p><font class="button">确 定</font><font class="esc">取 消</font></p>
  42. </div>
  43. </div>
  44. <audio id="music_d">
  45. <source src="{$theme}music/d.mp3" type="audio/mpeg">
  46. </audio>
  47. <audio id="music_c">
  48. <source src="{$theme}music/c.mp3" type="audio/mpeg">
  49. </audio>
  50. <audio id="music_print">
  51. <source src="{$theme}music/print.mp3" type="audio/mpeg">
  52. </audio>
  53. <audio id="music_print_error">
  54. <source src="{$theme}music/print_error.mp3" type="audio/mpeg">
  55. </audio>
  56. <audio id="music_print_ok">
  57. <source src="{$theme}music/print_ok.mp3" type="audio/mpeg">
  58. </audio>
  59. <input value="{date('Y-m-d h:i:s',time())}" name="tjtime" type="hidden">
  60. <input value="" name="z" type="hidden">
  61. <input value="" name="x" type="hidden">
  62. <input value="" name="wz" type="hidden">
  63. <input value="" name="fk" type="hidden">
  64. <script src='{$theme}js/socket.io.js'></script>
  65. <script>
  66. window.onload = function() {
  67. if(typeof $("select[name='printer']").length < 1) return;
  68. setTimeout(function(){ wprinter.printer()},1000);};
  69. var uid = "closepz";
  70. var sysprint = 1;
  71. var dataurl = "/transfer/number/";var fdataurl = "/transfer/number/";var addedit="/transfer/numberprint/";
  72. var customon = 1;
  73. function custom(){
  74. $(".data tr").each(function() {
  75. $(this).find('td:eq(0)').css("width","25%");
  76. $(this).find('td:eq(1)').css("width","50%");
  77. $(this).find('td:eq(2)').css("width","10%");
  78. $(this).find('td:eq(3)').css("width","15%");
  79. });}
  80. $(document).ready(function() {
  81. $("#number").focus();
  82. });
  83. $(document).keyup(function(event){
  84. if(event.keyCode ==13){
  85. if( $("#number").is(":focus") == true)
  86. {
  87. if($("input:focus").attr("name") == 'number')
  88. {
  89. n();
  90. }
  91. }
  92. }});
  93. function n(){
  94. $(".datatext").html("");
  95. $.ajax({
  96. url: dataurl,
  97. data: "number=" + $("input[name='number']").val(),
  98. type: "POST",
  99. dataType: "json",
  100. success: function(c) {
  101. $(".systemwindow").hide();
  102. if (c && c.success) {
  103. $("#music_d")[0].play();
  104. $(".orderyz div").show();
  105. $("#zps").val("");
  106. $("#zps").focus();
  107. $("input[name='z']").val(c.z)
  108. $("input[name='x']").val(c.z)
  109. for (i = 0; i < c.rows.length; i++) {
  110. $(".datatext").append("<tr><td>" + c.rows[i]['sku'] + "</td><td>" + c.rows[i]['zh'] + "</td><td><em class='num' style='user-select: none;'><i class='fa fa-minus-square fa-lg green gj'></i> &nbsp;<font id='n'>" + c.rows[i]['n'] + "</font>&nbsp; <i class='fa fa-plus-square fa-lg green gz'></i></em></td><td><span class='numberprint' style='background-color:#2084db' data-d='"+c.rows[i]['data']+"' data-isjj='"+c.rows[i]['is_jiaji']+"' data-b='"+c.rows[i]['b']+"'>生 产</span><span class='waigouprint' style='background-color:#2ca8a1' data-d='"+c.rows[i]['data']+"' data-b='"+c.rows[i]['b']+"'>外 购</span></td>");
  111. $(".datatext").append("</tr>");//append后面增加
  112. }
  113. } else {
  114. $(".systemwindow div p:eq(0)").html(c.msg);
  115. $(".systemwindow div p:eq(1)").html("<font class='wcoutbound'>确 定</font>");
  116. $(".systemwindow").show();
  117. }
  118. datasort();//矫正宽度
  119. }
  120. });
  121. }
  122. $(".systemwindow").on('click', ".xyd", function() {
  123. $(".systemwindow").hide();
  124. pz();
  125. });
  126. $(".systemwindow").on('click', ".jixu", function() {
  127. $(".systemwindow").hide();
  128. $("#yz").focus();
  129. });
  130. //修改数量
  131. $(".datatext").on('click',".gz",function() {
  132. var num = $(this).parents(".num").find("font").text()*1;
  133. if(num < 100)
  134. {
  135. $(this).parents(".num").find("font").text(num+1)*1;
  136. }
  137. });
  138. $(".datatext").on('click',".gj",function() {
  139. var num = $(this).parents(".num").find("font").text()*1;
  140. if(num > 1)
  141. {
  142. $(this).parents(".num").find("font").text(num-1)*1;
  143. }
  144. });
  145. $(".orderyzgb").click(function() {
  146. $(".datatext").html("");
  147. $("#number").val("");
  148. $(".orderyz div").hide();
  149. $("#number").focus();
  150. });
  151. $(".systemwindow").on('click', ".wcoutbound", function() {
  152. $(".systemwindow").hide();
  153. $("#number").val("");
  154. $("#number").focus();
  155. });
  156. $(".datatext").on('click',".numberprint",function() {
  157. var d = $(this).attr('data-d');
  158. var b = $(this).attr('data-b');
  159. var n = $(this).parents("tr").find("#n").text();
  160. var p = $(this).parents("tr").find("td:eq(1)").text();
  161. var isjj = $(this).attr('data-isjj');
  162. if ($("select[name='printer']").children("option:selected").val() == "") {
  163. $(".ts p").html("请选择打印机!");
  164. $(".ts").show();
  165. setTimeout('$(".ts").fadeOut()', 1000);
  166. } else {
  167. $(".systemwindow div p:eq(0)").text("是否确定 生产 并 打印布标?");
  168. $(".systemwindow div p:eq(1)").html("<p><font data-d='"+d+"' data-p='"+p+"'' data-isjj='"+isjj+"' data-b='"+b+"' data-n='"+n+"' data-id='newbbnumberprint' id='dknrxq'>确 定</font><font class='esc'>取 消</font></p>");
  169. $(".systemwindow").show();
  170. }
  171. });
  172. $(".datatext").on('click',".waigouprint",function() {
  173. var d = $(this).attr('data-d');
  174. var b = $(this).attr('data-b');
  175. var isjj = $(this).attr('data-isjj');
  176. var n = $(this).parents("tr").find("#n").text();
  177. var p = $(this).parents("tr").find("td:eq(1)").text();
  178. if ($("select[name='printer']").children("option:selected").val() == "") {
  179. $(".ts p").html("请选择打印机!");
  180. $(".ts").show();
  181. setTimeout('$(".ts").fadeOut()', 1000);
  182. } else {
  183. $(".systemwindow div p:eq(0)").html('<label>供应商:<select name="purchase" class="select">{loop $purchase as $val}<option value="{$val["yyid"]}">{$val["title"]}</option>{/loop}</label>');
  184. $(".systemwindow div p:eq(1)").html("<font data-d='"+d+"' data-isjj='"+isjj+"' data-p='"+p+"'' data-b='"+b+"' data-n='"+n+"' data-id='kswaigouprint' id='dknrxq'>打 印</font><font class='esc'>取 消</font>");
  185. $(".systemwindow").show();
  186. }
  187. });
  188. $(".systemwindow").on('click',"#dknrxq",function() {
  189. var fsid = $(this).attr('data-id');
  190. var d = $(this).attr('data-d');
  191. var n = $(this).attr('data-n');
  192. var b = $(this).attr('data-b');
  193. var zps = $("input[name='zps']").val();
  194. var isjj = $(this).attr('data-isjj');
  195. $(".systemwindow").hide();
  196. if(isjj == 1){
  197. layx.html('no-icon', '编辑中文备注', layx.multiLine(function() {
  198. /*
  199. <style type="text/css">
  200. p{
  201. padding:10px;
  202. }
  203. .xrckpm {text-align: center;}
  204. .shipremarks {width:98%;margin:0px;height:100px}
  205. .shipremarks_two {width:98%;margin:0px;height:100px}
  206. </style>
  207. <p><span style="color:red;font-size:16px;margin-right:10px;"> 是否加急</span><span ><label><input name="is_jiaji" type="radio" checked value="2" ><font>是</font></label></span></p>
  208. <p><span style="color:red;font-size:16px;margin-right:10px;"> 是否添加配货信息</span><span ><label><input name="region" type="radio" checked value="1"><font>否</font></label></span><span ><label><input name="region" type="radio" value="2" ><font>是</font></label></span></p>
  209. <p class='xrckpm'>参考品名:<span></span></p>
  210. <p><textarea class='shipremarks' name="shipremarks" style="border: 1px solid #000" ></textarea></p>
  211. <p><textarea class='shipremarks_two none' name="shipremarks_two" style="border: 1px solid #000" ></textarea></p>
  212. */
  213. }), {
  214. minMenu: false,
  215. closeMenu: false,
  216. movable: false,
  217. shadable: true,
  218. width: 1200,
  219. height: 550,
  220. statusBar: true,
  221. buttons: [{
  222. label: '换行',
  223. callback: function(id, button, event) {
  224. var content = $('.shipremarks')[0];
  225. var cursurPosition = -1;
  226. if (content.value && content.value.length > 0) {
  227. if (content.selectionStart) { //非IE浏览器
  228. cursurPosition = content.selectionStart;
  229. } else { //IE
  230. var range = document.selection.createRange();
  231. range.moveStart("character", -content.value.length);
  232. cursurPosition = range.text.length;
  233. }
  234. }
  235. cursurPosition = cursurPosition == 0 ? 1 : cursurPosition;
  236. var startValue = content.value.substring(0, cursurPosition);
  237. var endValue = content.value.substring(cursurPosition);
  238. $(".shipremarks").val(startValue + '<br> \n' + endValue);
  239. },
  240. style: 'color:#000;font-size:16px;'
  241. },
  242. {
  243. label: '取消',
  244. callback: function(id, button, event) {
  245. layx.destroy(id);
  246. },
  247. style: 'color:#000;font-size:16px;'
  248. },
  249. {
  250. label: '开始打印',
  251. callback: function(id, button, event) {
  252. str2 = $(".shipremarks").val().replace(/\</g, "&lt;");
  253. str2 = str2.replace(/\>/g, "&gt;");
  254. str2 = str2.replace(/\+/g, "%2B");
  255. str2 = str2.replace(/&/g, "%26");
  256. d = d.replace(/\</g, "&lt;");
  257. d = d.replace(/\>/g, "&gt;");
  258. d = d.replace(/\+/g, "%2B");
  259. d = d.replace(/&/g, "%26");
  260. let is_jiaji = $("input[name='is_jiaji']:checked").val()
  261. let peihuostr2 = $(".shipremarks_two").val().replace(/\</g, "&lt;");
  262. peihuostr2 = peihuostr2.replace(/\>/g, "&gt;");
  263. peihuostr2 = peihuostr2.replace(/\+/g, "%2B");
  264. peihuostr2 = peihuostr2.replace(/&/g, "%26");
  265. if (fsid == 'newbbnumberprint') {
  266. newbbnumberprint(d, n, zps, str2, peihuostr2, is_jiaji);
  267. } else {
  268. var purchase = $("select[name='purchase']").children(
  269. "option:selected").val();
  270. kswaigouprint(d, n, zps, purchase, str2);
  271. }
  272. layx.destroy(id);
  273. },
  274. style: 'color:#000;font-size:16px;'
  275. }
  276. ]
  277. });
  278. }else{
  279. layx.html('no-icon', '编辑中文备注', layx.multiLine(function() {
  280. /*
  281. <style type="text/css">
  282. p{
  283. padding:10px;
  284. }
  285. .xrckpm {text-align: center;}
  286. .shipremarks {width:98%;margin:0px;height:100px}
  287. .shipremarks_two {width:98%;margin:0px;height:100px}
  288. </style>
  289. <p><span style="color:red;font-size:16px;margin-right:10px;"> 是否加急</span><span ><label><input name="is_jiaji" type="radio" checked value="1"><font>否</font></label></span><span ><label><input name="is_jiaji" type="radio" value="2" ><font>是</font></label></span></p>
  290. <p><span style="color:red;font-size:16px;margin-right:10px;"> 是否添加配货信息</span><span ><label><input name="region" type="radio" checked value="1"><font>否</font></label></span><span ><label><input name="region" type="radio" value="2" ><font>是</font></label></span></p>
  291. <p class='xrckpm'>参考品名:<span></span></p>
  292. <p><textarea class='shipremarks' name="shipremarks" style="border: 1px solid #000" ></textarea></p>
  293. <p><textarea class='shipremarks_two none' name="shipremarks_two" style="border: 1px solid #000" ></textarea></p>
  294. */
  295. }), {
  296. minMenu: false,
  297. closeMenu: false,
  298. movable: false,
  299. shadable: true,
  300. width: 1200,
  301. height: 550,
  302. statusBar: true,
  303. buttons: [{
  304. label: '换行',
  305. callback: function(id, button, event) {
  306. var content = $('.shipremarks')[0];
  307. var cursurPosition = -1;
  308. if (content.value && content.value.length > 0) {
  309. if (content.selectionStart) { //非IE浏览器
  310. cursurPosition = content.selectionStart;
  311. } else { //IE
  312. var range = document.selection.createRange();
  313. range.moveStart("character", -content.value.length);
  314. cursurPosition = range.text.length;
  315. }
  316. }
  317. cursurPosition = cursurPosition == 0 ? 1 : cursurPosition;
  318. var startValue = content.value.substring(0, cursurPosition);
  319. var endValue = content.value.substring(cursurPosition);
  320. $(".shipremarks").val(startValue + '<br> \n' + endValue);
  321. },
  322. style: 'color:#000;font-size:16px;'
  323. },
  324. {
  325. label: '取消',
  326. callback: function(id, button, event) {
  327. layx.destroy(id);
  328. },
  329. style: 'color:#000;font-size:16px;'
  330. },
  331. {
  332. label: '开始打印',
  333. callback: function(id, button, event) {
  334. str2 = $(".shipremarks").val().replace(/\</g, "&lt;");
  335. str2 = str2.replace(/\>/g, "&gt;");
  336. str2 = str2.replace(/\+/g, "%2B");
  337. str2 = str2.replace(/&/g, "%26");
  338. d = d.replace(/\</g, "&lt;");
  339. d = d.replace(/\>/g, "&gt;");
  340. d = d.replace(/\+/g, "%2B");
  341. d = d.replace(/&/g, "%26");
  342. let is_jiaji = $("input[name='is_jiaji']:checked").val()
  343. let peihuostr2 = $(".shipremarks_two").val().replace(/\</g, "&lt;");
  344. peihuostr2 = peihuostr2.replace(/\>/g, "&gt;");
  345. peihuostr2 = peihuostr2.replace(/\+/g, "%2B");
  346. peihuostr2 = peihuostr2.replace(/&/g, "%26");
  347. if (fsid == 'newbbnumberprint') {
  348. newbbnumberprint(d, n, zps, str2, peihuostr2, is_jiaji);
  349. } else {
  350. var purchase = $("select[name='purchase']").children(
  351. "option:selected").val();
  352. kswaigouprint(d, n, zps, purchase, str2);
  353. }
  354. layx.destroy(id);
  355. },
  356. style: 'color:#000;font-size:16px;'
  357. }
  358. ]
  359. });
  360. }
  361. $(".xrckpm span").html($(this).data("p"));
  362. $(".shipremarks").val($(this).data("b"));
  363. $(".shipremarks_two").val($(this).data("b"))
  364. $("input[name='region']").click(function(){
  365. let region = $(this).val();
  366. if(region == 1){
  367. $(".shipremarks_two").hide();
  368. }else{
  369. $(".shipremarks_two").val($(".shipremarks").val());
  370. $(".shipremarks_two").show();
  371. }
  372. })
  373. });
  374. </script>
  375. <script type="text/javascript" src="{$theme}js/print.js?v=20231122000123"></script>
  376. {Template footer}