systemprintmc.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  1. {Template header}
  2. <body>
  3. <div class="warp">
  4. <div class="fixed">
  5. <ul class="search">
  6. <li>订单号:<input value="" name="orderinfo" type="text"></li>
  7. <li>编号:<input value="" name="number" type="text"></li>
  8. <li>运单号:<input value="" name="waybill" type="text"></li>
  9. <li>打印状态:<select name="print" class="select">
  10. <option value="2">未打印</option>
  11. <option value="3">已打印</option>
  12. </select></li>
  13. <li>快递公司:<select name="express" class="select">
  14. <option value="">请选择</option>
  15. {loop express(100) as $val}
  16. <option value="{$val['id']}">{$val['servicename']}</option>
  17. {/loop}</select>
  18. </li>
  19. <li>
  20. 店铺名称:<select name="shop" class="select">
  21. <option value="">请选择</option>
  22. {loop usershop() as $val}
  23. <option value="{$val['id']}">{$val['shopname']}</option>
  24. {/loop}</select>
  25. </li>
  26. <li>
  27. 仓库名称:<select name="type" class="select">
  28. <option value="">请选择</option>
  29. {loop $warehouse as $val}
  30. <option value="{$val['id']}">{$val['title']}</option>
  31. {/loop}</select>
  32. </li>
  33. <li>
  34. 是否加急:<select name="is_jiaji" class="select">
  35. <option value="-1">请选择</option>
  36. <option value="1">是</option>
  37. <option value="0">否</option>
  38. </select>
  39. </li>
  40. <li>
  41. 是否现货:<select name="sfxh" class="select">
  42. <option value="">请选择</option>
  43. <option value="1">有现货</option>
  44. <option value="0">无现货</option>
  45. </select>
  46. </li>
  47. <li>
  48. 产品分类:<select name="ckfl" class="select">
  49. <option value="">请选择</option>
  50. {loop typeclass(37,100) as $val}
  51. <option value="{$val['id']}">{$val['title']}</option>
  52. {/loop}</select>
  53. </li>
  54. <li>颜色:<select name="color" class="select">
  55. <option value="">请选择</option>{loop typeclassyc(8) as $val}
  56. <option value="{$val['id']}">{$val['title']} - {$val['zh']}</option>{/loop}</select></li>
  57. <li>曲度:<select name="lowe" class="select">
  58. <option value="">请选择</option>{loop typeclassyc(15) as $val}
  59. <option value="{$val['id']}">{$val['title']} - {$val['zh']}</option>{/loop}</select></li>
  60. <li>搜索品名:<input value="" name="so" type="text" style="width:260px"></li>
  61. <li>打印时间:<input id="timetk" value="{date('Y-m-d',time()-30*24*3600)} 19:00" name="timetk" type="text" onClick="laydate({istime: true,format:'YYYY-MM-DD hh:mm'})" readonly>
  62. 至&nbsp;&nbsp;&nbsp;&nbsp; <input id="timetj" value="{date('Y-m-d',time())} 19:00" name="timetj" type="text" onClick="laydate({istime: true,format:'YYYY-MM-DD hh:mm'})" readonly></li>
  63. <li><span>确 定</span></li>
  64. </ul>
  65. <div class="control zjcz">
  66. <div class="tabprint">
  67. 快递面单:<select name="printer" class="select" style="width:220px;">
  68. <option value="">选择打印机</option>
  69. </select>
  70. 发票:<select name="fp_printer" class="select" style="width:220px;">
  71. <option value="">选择打印机</option>
  72. </select>
  73. </div>
  74. <a href="javascript:void(0);" class="printing">打 印</a>
  75. <a href="javascript:void(0);" class="exceldy">导出Excel</a>
  76. </div>
  77. <table class="datatitle data" border="0" style="border-collapse:collapse;">
  78. <tr>
  79. <td><label onClick="swapCheck()"><input name="checkbox" type="checkbox" class="regular-checkbox"></label></td>
  80. <td>店铺名称</td>
  81. <td>订单号</td>
  82. <td>编号</td>
  83. <td>快递公司</td>
  84. <td>运单号</td>
  85. <td>状态</td>
  86. <td>类型</td>
  87. <td>次数</td>
  88. <td>打印时间</td>
  89. <td>仓库品名</td>
  90. </tr>
  91. </table>
  92. </div>
  93. <table class="datatext data" border="0" style="border-collapse:collapse;">
  94. </table>
  95. <div class="bomf"></div>
  96. </div>
  97. <div class="print none"></div>
  98. <div class="ts"><p class="tsn"></p></div>
  99. <div class="systemwindow">
  100. <div>
  101. <p>是否确定删除所选信息?</p>
  102. <p><font class="button">确 定</font><font class="esc">取 消</font></p>
  103. </div>
  104. </div>
  105. <div class="tyrows"><div><p></p><p></p></div></div>
  106. <div class="list"><div><p>操作配置</p><ul class="fj"></ul><em></em></div></div>
  107. <span id="job" class="none"></span>
  108. <span id="site" class="none"></span>
  109. <script>
  110. var dataurl = "/systemprint/";var fdataurl = "/systemprint/";
  111. var sysprint = 1;
  112. var customon = 1;
  113. function custom(){
  114. $(".data tr").each(function() {
  115. $(this).find('td:eq(0)').css("width","1%");
  116. $(this).find('td:eq(1)').css("width","9%");
  117. $(this).find('td:eq(2)').css("width","9%");
  118. $(this).find('td:eq(3)').css("width","13%");
  119. $(this).find('td:eq(4)').css("width","9%");
  120. $(this).find('td:eq(5)').css("width","9%");
  121. $(this).find('td:eq(6)').css("width","5%");
  122. $(this).find('td:eq(7)').css("width","4%");
  123. $(this).find('td:eq(8)').css("width","5%");
  124. $(this).find('td:eq(9)').css("width","9%");
  125. $(this).find('td:eq(10)').css("width","27%");
  126. $(this).find('td:eq(10)').css("font-size","12px");
  127. });}
  128. </script>
  129. <script type="text/javascript" src="{$theme}js/laydate.js"></script>
  130. <!-- 在浏览器端重写打印机 -->
  131. <script type="text/javascript" src="{$theme}lodop/LodopFuncs.js"></script>
  132. <script type="text/javascript" src="{$theme}lodop/dolodop.js"></script>
  133. <script type="text/javascript" src="{$theme}js/jquery-barcode.min.js"></script>
  134. <script type="text/javascript" src="{$theme}js/print_yd.js?202512041201"></script>
  135. <script>
  136. //获取打印机列表
  137. let lodop;
  138. let printers = [];//打印机列表
  139. //获取打印机列表
  140. function getPrinterList(){
  141. lodop=getLodop();
  142. var result = lodop.GET_PRINTER_COUNT(); // 获取打印机数量
  143. let print_str = "";
  144. let print_name = "";
  145. for (var i = 1; i <= result; i++) {
  146. print_name = lodop.GET_PRINTER_NAME(i)
  147. printers.push(print_name); // 获取每个打印机的名称
  148. print_str += "<option value='"+i+"'>"+print_name+"</option>"
  149. }
  150. if(printers.length <= 0){
  151. alert("请到检查打印机是否连接正确")
  152. }
  153. $("select[name='printer']").append(print_str)
  154. $("select[name=fp_printer]").append(print_str)
  155. }
  156. setTimeout(() => {
  157. getPrinterList()
  158. }, 1000);
  159. /* 批量打印提示 */
  160. $(".printing").click(function() {
  161. var a = "";
  162. $(".datatext input[name='check']:checked").each(function() {
  163. a = a + $(this).val() + ",";
  164. });
  165. if (a) {
  166. if ($("select[name='printer']").children("option:selected").val() == "") {
  167. $(".ts p").html("请选择打印机!");
  168. $(".ts").show();
  169. setTimeout('$(".ts").fadeOut()', 1000);
  170. } else {
  171. $(".systemwindow div p:eq(0)").text("是否确认批量打印所选内容?");
  172. $(".systemwindow div p:eq(1)").html("<p><font id='printingon'>确 定</font><font class='esc'>取 消</font></p>");
  173. $(".systemwindow").show();
  174. }
  175. } else {
  176. $(".ts p").html("请勾选需要打印的内容");
  177. $(".ts").show();
  178. setTimeout('$(".ts").fadeOut()', 1000);
  179. }
  180. });
  181. /* 批量打印开始 */
  182. $(".systemwindow").on('click', "#printingon", function() {
  183. $(".systemwindow").hide();
  184. $(".systemwindow div p:eq(0)").html("<i class='fa fa-2x fa-cog fa-spin'></i> &nbsp; 正在处理打印信息,请稍后...");
  185. $(".systemwindow div p:eq(1)").html("");
  186. $(".systemwindow").show();
  187. var a = "";
  188. var i = 0;
  189. $(".datatext input[name='check']:checked").each(function() {
  190. a = a + $(this).val() + ',';
  191. i++;
  192. });
  193. var tf = $("select[name='print']").children("option:selected").val();
  194. ajax(i - 1, a , tf);
  195. });
  196. function ajax(num, list, tf) {
  197. $.ajax({
  198. url: "/systemprint/printing/",
  199. data: "tf=" + tf + "&s=" + list + "&n=" + num,
  200. type: "POST",
  201. dataType: "json",
  202. timeout: 60001,
  203. success: function(c) {
  204. if (c.success) {
  205. if (c.rows['type'] == 1) {
  206. pdffhd(c.rows);
  207. } else if (c.rows['type'] == 2) {
  208. fhd(c.rows);
  209. }
  210. else if (c.rows['type'] == 4) {
  211. thd(c.rows);
  212. }
  213. else if (c.rows['type'] == 5) {
  214. pdf2fhd(c.rows);
  215. }else if (c.rows['type'] == 7) {
  216. //alert("获取同时操作以2部打印机的数据"+JSON.stringify(c))
  217. //同时两台打印机 一台打印快递单 一台打打印发票
  218. pdffhd(c.rows);
  219. fppdf(c.rows);
  220. }else if (c.rows['type'] == 8) {
  221. //负责打印竖版
  222. sbpdffhd(c.rows);
  223. }else if(c.rows['type'] == 11){
  224. pdffhd3pe(c.rows);
  225. }
  226. if (c.rows['n'] > -1) {
  227. //ajax(c.rows['n'],c.rows['data']);
  228. site(c.rows['n'], c.rows['data'], c.rows['text']['number'], 1, 0);
  229. } else {
  230. if (c.rows['type'] == 3) {
  231. sound("有错误订单")
  232. $(".systemwindow div p:eq(0)").html(c.rows['text']['number'] + "资料错误未成功打印,已移交给店员处理");
  233. $(".systemwindow div p:eq(1)").html("<font class='printok'>确 定</font>");
  234. $(".systemwindow").show();
  235. } else {
  236. site(1, 1, c.rows['text']['number'], 0, 0);
  237. }
  238. }
  239. } else {
  240. $(".systemwindow").hide();
  241. layx.alert('错误', c.msg, function(id, button) {
  242. $(".search span").click();
  243. }, { dialogIcon: 'error' });
  244. }
  245. },
  246. error: function(textStatus) {
  247. sound("错误,请求数据超时!请重试")
  248. $(".systemwindow").hide();
  249. layx.alert('错误', '请求数据超时!请重试', function(id, button) {
  250. $(".search span").click();
  251. }, { dialogIcon: 'error' });
  252. },
  253. });
  254. }
  255. function site(num, list, number, data, i) {
  256. var jobsite = $("#site").html();
  257. console.log(jobsite);
  258. if (jobsite == '0') {
  259. $("#job").html("");
  260. $("#site").html("");
  261. if (data == '1') {
  262. var tf = $("select[name='print']").children("option:selected").val();
  263. ajax(num, list, tf);
  264. return;
  265. } else if (data == '2') {
  266. $("#music_print_ok")[0].play();
  267. $(".tyrows").hide();
  268. $(".systemwindow").hide();
  269. $("#music_d")[0].play();
  270. $(".systemwindow div p:eq(0)").html('运单打印完成,请更换为新运单后再次操作出库');
  271. $(".systemwindow div p:eq(1)").html("<font class='wcsj'>确 定</font>");
  272. $(".systemwindow").show();
  273. $("#orderinfo").val("");
  274. $("#orderinfo").focus();
  275. } else {
  276. $(".systemwindow div p:eq(0)").html("打印完成!");
  277. $(".systemwindow div p:eq(1)").html("<font class='printok'>确 定</font>");
  278. $(".systemwindow").show();
  279. return;
  280. }
  281. } else {
  282. if (i < '71') {
  283. if ($("#job").html() != '') {
  284. getStatusValue();
  285. }
  286. setTimeout(function() {
  287. site(num, list, number, data, i + 1);
  288. }, 1500);
  289. return;
  290. } else {
  291. $(".systemwindow div p:eq(0)").html("订单:" + number + " 打印失败!系统已停止打印,请检查打印机!如未出此单,请再次打印");
  292. $(".systemwindow div p:eq(1)").html("<font class='printok'>确 定</font>");
  293. $(".systemwindow").show();
  294. $("#job").html("");
  295. $("#site").html("");
  296. $(".tyrowsout").hide();
  297. $("#orderinfo").val("");
  298. $("#orderinfo").focus();
  299. return;
  300. }
  301. }
  302. }
  303. $(".systemwindow").on('click', ".printok", function() {
  304. $(".search span").click();
  305. $(".systemwindow").hide();
  306. });
  307. </script>
  308. {Template footer}