qcode_bach.js 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'LodopFuncs'], function ($, undefined, Backend, Table, Form, LodopFuncs) {
  2. var Controller = {
  3. index: function () {
  4. // 初始化表格参数配置
  5. Table.api.init();
  6. this.table.first();
  7. this.table.second();
  8. //绑定
  9. // $('#exp').click(function (e) {
  10. // // var ids = $('#table1').bootstrapTable('getSelections')[0]['id'];
  11. //
  12. // $.get('qcode_bach/vo2',{},function (data) {
  13. // // if(data.code==1){
  14. // // Toastr.success(data.msg)
  15. // // $('#table2').bootstrapTable('refresh');
  16. // // }else{
  17. // // Toastr.error(data.msg)
  18. // // }
  19. // },'json');
  20. // layer.confirm('确定提交选中的 1 项?!', {
  21. // btn: ['确定', '取消'],
  22. // cancel: function(index, layero) {
  23. // }
  24. // },function (index) {
  25. // $.get('qcode_bach/bind',{'ids':ids},function (data) {
  26. // if(data.code==1){
  27. // Toastr.success(data.msg)
  28. // table2.bootstrapTable('refresh');
  29. // }else{
  30. // Toastr.error(data.msg)
  31. // }
  32. // },'json');
  33. // Layer.close(index);
  34. //
  35. // },function (){})
  36. // })
  37. //自动打码(大件)
  38. $('#print_l').click(function (e) {
  39. var rows = $('#table2').bootstrapTable('getSelections');
  40. var ids = rows.map(function(item) {
  41. return item.id;
  42. });
  43. Fast.api.open("qcode_bach/print_l?ids="+ids, "自动打码(大件)", {
  44. shadeClose: true,
  45. shade: [0.5,'#393D49'],
  46. area: ['400px','200px'],
  47. callback:function(value){
  48. return false;
  49. // 在这里可以接收弹出层中使用`Fast.api.close(data)`进行回传数据
  50. }
  51. });
  52. })
  53. //自动打码(小件)
  54. $('#print_s').click(function (e) {
  55. var rows = $('#table2').bootstrapTable('getSelections');
  56. var ids = rows.map(function(item) {
  57. return item.id;
  58. });
  59. Fast.api.open("qcode_bach/print_s?ids="+ids, "自动打码(小件)", {
  60. shadeClose: true,
  61. shade: [0.5,'#393D49'],
  62. area: ['400px','400px'],
  63. callback:function(value){
  64. return false;
  65. // 在这里可以接收弹出层中使用`Fast.api.close(data)`进行回传数据
  66. }
  67. });
  68. })
  69. },
  70. table: {
  71. first: function () {
  72. // 表格1
  73. var table1 = $("#table1");
  74. table1.bootstrapTable({
  75. url: 'qcode_bach/table1',
  76. extend: {
  77. index_url: 'qcode_bach/table1' + location.search,
  78. add_url: 'qcode_bach/add',
  79. edit_url: 'qcode_bach/edit',
  80. del_url: 'qcode_bach/del',
  81. table: 'qcode_bach',
  82. },
  83. onClickRow:function(row, $element, field)
  84. {
  85. $("#myTabContent2 .form-commonsearch input[name='bach_id']").val(row.id);
  86. $("#myTabContent2 .btn-refresh").trigger("click");
  87. },
  88. toolbar: '#toolbar1',
  89. pk: 'id',
  90. sortName: 'id',
  91. pageSize: 8,
  92. pageList: [8, 20, 50, 'All'],
  93. search: false,
  94. singleSelect: true,
  95. columns: [
  96. [
  97. {checkbox: true},
  98. {field: 'matter_name', title: __('Matter_name'), operate: 'LIKE'},
  99. {field: 'l_flow', title: __('L_flow'), operate: 'LIKE'},
  100. {field: 'large_endnum', title: __('Large_endnum'), operate: 'LIKE'},
  101. {field: 'bach_num', title: __('Bach_num'), operate: 'LIKE'},
  102. {field: 'larger_num', title: __('Larger_num'), operate: 'LIKE'},
  103. {field: 'print_date', title: __('Print_date'), operate: 'LIKE'},
  104. {field: 'company_name', title: __('Company_name'), operate: 'LIKE'},
  105. {field: 'matter_no', title: __('Matter_no'), operate: 'LIKE'},
  106. // {field: 'notes', title: __('Notes')},
  107. // {field: 'operate', title: __('Operate'), table: table1, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  108. ]
  109. ]
  110. });
  111. // 为表格1绑定事件
  112. Table.api.bindevent(table1);
  113. },
  114. second: function () {
  115. // 表格2
  116. var table2 = $("#table2");
  117. table2.bootstrapTable({
  118. url: 'qcode_bach/table2',
  119. extend: {
  120. index_url: '',
  121. add_url: '',
  122. edit_url: '',
  123. del_url: '',
  124. multi_url: '',
  125. table: '',
  126. },
  127. onClickRow:function(row, $element, field)
  128. {
  129. console.log(row)
  130. },
  131. sortOrder: 'asc',
  132. toolbar: '#toolbar2',
  133. pk: 'id',
  134. sortName: 'id',
  135. pageSize: 8,
  136. pageList: [8, 20, 50, 'All'],
  137. search: false,
  138. columns: [
  139. [
  140. {checkbox: true},
  141. {field: 'l_flow', title: __('当前托盘'), operate: 'LIKE'},
  142. {field: 'code', title: __('Code'), operate: 'LIKE'},
  143. {field: 'print_date', title: __('Print_date'), operate: false},
  144. {field: 'p_nums', title: __('P_nums'), operate: false},
  145. {field: 'small_num', title: __('Small_num'), operate: false},
  146. {field: 'l_weight', title: __('L_weight'), operate: false},
  147. {field: 'l_print', title: __('L_print'), operate: 'LIKE'},
  148. {field: 'l_status', title: __('L_status'), operate: 'LIKE'},
  149. {field: 'bach_id', title: __('bach_id'), operate: 'LIKE'},
  150. // {field: 'notes', title: __('Notes')},
  151. // {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  152. ]
  153. ]
  154. });
  155. // 为表格2绑定事件
  156. Table.api.bindevent(table2);
  157. }
  158. },
  159. /*recyclebin: function () {
  160. // 初始化表格参数配置
  161. Table.api.init({
  162. extend: {
  163. 'dragsort_url': ''
  164. }
  165. });
  166. var table = $("#table");
  167. // 初始化表格
  168. table.bootstrapTable({
  169. url: 'qcode_bach/recyclebin' + location.search,
  170. pk: 'id',
  171. sortName: 'id',
  172. columns: [
  173. [
  174. {checkbox: true},
  175. {field: 'id', title: __('Id')},
  176. {field: 'name', title: __('Name'), align: 'left'},
  177. {
  178. field: 'deletetime',
  179. title: __('Deletetime'),
  180. operate: 'RANGE',
  181. addclass: 'datetimerange',
  182. formatter: Table.api.formatter.datetime
  183. },
  184. {
  185. field: 'operate',
  186. width: '140px',
  187. title: __('Operate'),
  188. table: table,
  189. events: Table.api.events.operate,
  190. buttons: [
  191. {
  192. name: 'Restore',
  193. text: __('Restore'),
  194. classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
  195. icon: 'fa fa-rotate-left',
  196. url: 'qcode_bach/restore',
  197. refresh: true
  198. },
  199. {
  200. name: 'Destroy',
  201. text: __('Destroy'),
  202. classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
  203. icon: 'fa fa-times',
  204. url: 'qcode_bach/destroy',
  205. refresh: true
  206. }
  207. ],
  208. formatter: Table.api.formatter.operate
  209. }
  210. ]
  211. ]
  212. });
  213. // 为表格绑定事件
  214. Table.api.bindevent(table);
  215. },*/
  216. add: function () {
  217. Controller.api.bindevent();
  218. },
  219. edit: function () {
  220. Controller.api.bindevent();
  221. },
  222. print_l: function () {
  223. //大件码打印
  224. function print(data,qrcode){
  225. //打印二维码
  226. var html = '<style type="text/css">' +
  227. '.tg {border-collapse:collapse;border-spacing:0;font-weight:500;}' +
  228. '.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}' +
  229. '.tg .tg-s6z2{text-align:center;}</style>' +
  230. '<div width="340px"><table class="tg" width="340px">' +
  231. '<caption style="width: 300px;">'+data.company_name+'</caption>' +
  232. '<tr><td style="width: 70px;">规格:</td><td colspan="5" style="word-break:break-all;border-color:black;">'+data.product_name+'</td>' +
  233. '<tr><td>配盘数:</td><td colspan="2">'+data.sqrcd+'</td><td>辅单位:</td><td colspan="2">'+data.sec_unit+'</td></tr>' +
  234. '<tr><td>数量:</td><td colspan="2">'+data.num+'</td><td>主单位:</td><td colspan="2">'+data.main_unit+'</td></tr>' +
  235. '<tr><td>生产日期:</td><td colspan="5">'+data.date+'</td></tr>' +
  236. '<tr><td>生产批号:</td><td colspan="5">'+data.batch+'</td></tr>' +
  237. '<tr><td colspan="6" style="word-break:break-all; border-color:black; font-size: 13px;">'+data.qrcode+'</td></table>' +
  238. '<div style="position:absolute;top: 300px;left: 47px"><img src="'+data.pCode+'" > </td></div>' +
  239. '<div style="position:absolute;top: 400px;left: 300px;width: 50px;text-align: center;"><span style="font-weight: 500;word-break:normal;font-size: 16px">大件号'+data.l_flow+'</span></div>\n' +
  240. '</div>';
  241. var printPdf = (html,qrcode) => {
  242. var LODOP=getLodop();
  243. LODOP.SET_LICENSES("","152A06E8F6CBD6AC1F213ABFCB0D8604","C94CEE276DB2187AE6B65D56B3FC2848","");
  244. LODOP.PRINT_INIT("河南中烟大件二维码打码");
  245. LODOP.SET_PRINT_STYLE("FontSize",16);
  246. LODOP.SET_PRINT_STYLE("Bold",1);
  247. LODOP.SET_PRINT_PAGESIZE(1, 1000, 1500, "CreateCustomPage");
  248. LODOP.ADD_PRINT_HTM(15,20,350,545,html);
  249. // LODOP.SET_PRINT_STYLEA(0,"QRCodeVersion",14);
  250. // LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  251. // LODOP.ADD_PRINT_BARCODE(18,715,'27mm','27mm',"QRCode",qrcode);
  252. // LODOP.PRINT() // 直接打印
  253. // LODOP.PRINT_DESIGN() // 设计模式
  254. if (qrcode){
  255. LODOP.PREVIEW() //打印预览
  256. }else{
  257. LODOP.PRINT() // 直接打印
  258. }
  259. }
  260. printPdf(html,qrcode)
  261. }
  262. $('.content').css('min-height','100px');
  263. $("#btn").click(function (e) {
  264. e.preventDefault();
  265. var data = $("form").serialize();
  266. $.post('qcode_bach/print_l', {data}, function (res) {
  267. if(res.code==1){
  268. var p = 0;
  269. var flage = 0;
  270. for(i in res.data.rows) {
  271. if (!flage) {
  272. //判断预览情况
  273. if (res.data.type == 'v010'){
  274. print(res.data.rows[i], 1)
  275. }
  276. LODOP.On_Return = function (TaskID, Value) {
  277. if (Value == 1) {
  278. p = 1;
  279. }
  280. }
  281. flage++;
  282. }else{
  283. break;
  284. }
  285. }
  286. var cint = setInterval(function () {
  287. if (p == 1) {
  288. clearInterval(cint);
  289. flage = 0;
  290. //修改打印数量
  291. $.post('qcode_bach/set_num', {'status':1,'num':res.data.numn, 'ids':res.data.ids}, function (response) {})
  292. for(i in res.data.rows) {
  293. for(j=0;j<res.data.numn;j++){
  294. if (!flage){
  295. flage++;
  296. }else{
  297. if (res.data.type == 'v010'){
  298. print(res.data.rows[i]);//打印
  299. }
  300. flage++;
  301. }
  302. }
  303. }
  304. }
  305. },2000)
  306. return false
  307. }else{
  308. Toastr.error(res.msg);
  309. }
  310. })
  311. })
  312. Controller.api.bindevent();
  313. },
  314. print_s: function () {
  315. //小件码打印(10mmx2.5mm)
  316. function print1(data,qrcode){
  317. //打印二维码
  318. var html = "<style>.tg {font-weight:500;}.tg td{font-family:宋体,楷体;font-size:10px;overflow:hidden;word-break:break-all;border-color:black;}</style> " +
  319. "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
  320. "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
  321. "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
  322. "<tr> <td>日期:" + data.date + "</td> </tr></table>";
  323. var LODOP=getLodop();
  324. LODOP.PRINT_INIT("小件(10mmx2.5mm)");
  325. LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
  326. LODOP.SET_PRINT_PAGESIZE(1, 1000, 250, "CreateCustomPage");
  327. LODOP.ADD_PRINT_HTM(15, 10, 270, 160,html);
  328. LODOP.ADD_PRINT_TEXT(70,200,100,20,data.l_flow);
  329. LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
  330. LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
  331. LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
  332. LODOP.SET_PRINT_STYLEA(0,"Bold",1);
  333. LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  334. LODOP.ADD_PRINT_BARCODE(4,280,'25mm','25mm',"QRCode",data.qrcode);
  335. if (qrcode){
  336. LODOP.PREVIEW() //打印预览
  337. }else{
  338. LODOP.PRINT() // 直接打印
  339. }
  340. }
  341. //小件码打印(10mmx1.8mm)
  342. function print2(data,qrcode){
  343. //打印二维码
  344. var html = "<style>.tg {border-collapse:collapse;border-spacing:0;font-weight:500;}.tg td{font-family:宋体,楷体;font-size:9px;overflow:hidden;word-break:break-all;border-color:black;}</style>" +
  345. "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
  346. "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
  347. "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
  348. "<tr> <td>日期:" + data.date + "</td> </tr></table>";
  349. var LODOP=getLodop();
  350. LODOP.PRINT_INIT("小件(10mmx2.5mm)");
  351. LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
  352. LODOP.SET_PRINT_PAGESIZE(1, 1000, 180, "CreateCustomPage");
  353. LODOP.ADD_PRINT_HTM(3, 5, 300, 160, html);
  354. LODOP.ADD_PRINT_TEXT(50,200,100,18,data.l_flow);
  355. LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
  356. LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
  357. LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
  358. LODOP.SET_PRINT_STYLEA(0,"Bold",1);
  359. LODOP.SET_PRINT_STYLE("QRCodeVersion",10);
  360. LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  361. LODOP.ADD_PRINT_BARCODE(5,310,'25mm','25mm',"QRCode",data.qrcode);
  362. if (qrcode){
  363. LODOP.PREVIEW() //打印预览
  364. }else{
  365. LODOP.PRINT() // 直接打印
  366. }
  367. }
  368. //小件码打印(10mmx4mm)
  369. function print3(data,qrcode){
  370. //打印二维码
  371. var html = "<style>" +
  372. ".tg {border-collapse:collapse;border-spacing:0;font-weight:500;}" +
  373. ".tg td{font-family:宋体, 楷体;font-size:14px;overflow:hidden;word-break:break-all;border-color:black;}" +
  374. "</style>" +
  375. "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
  376. "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
  377. "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
  378. "<tr> <td>日期:" + data.date + "</td> </tr></table>";
  379. var LODOP=getLodop();
  380. LODOP.PRINT_INIT("小件(10mmx4mm)");
  381. LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
  382. LODOP.SET_PRINT_PAGESIZE(1, 1000, 400, "CreateCustomPage");
  383. LODOP.ADD_PRINT_HTM(9, 5, 230, 160, html);
  384. LODOP.ADD_PRINT_TEXT(130,110,100,20,data.l_flow);
  385. LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
  386. LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
  387. LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
  388. LODOP.SET_PRINT_STYLEA(0,"Bold",1);
  389. LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  390. LODOP.ADD_PRINT_BARCODE(9,240,'45mm','45mm',"QRCode",data.qrcode);
  391. if (qrcode){
  392. LODOP.PREVIEW() //打印预览
  393. }else{
  394. LODOP.PRINT() // 直接打印
  395. }
  396. }
  397. //小件码打印(10mmx5mm)
  398. function print4(data,qrcode){
  399. //打印二维码
  400. var html = "<style>" +
  401. ".tg {font-weight:500;}" +
  402. ".tg td{font-family:宋体, 楷体;font-size:14px;overflow:hidden;word-break:break-all;border-color:black;}" +
  403. "</style>" +
  404. "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
  405. "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
  406. "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
  407. "<tr> <td>日期:" + data.date + "</td> </tr></table>";
  408. var LODOP=getLodop();
  409. LODOP.PRINT_INIT("小件(10mmx5mm)");
  410. LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
  411. LODOP.SET_PRINT_PAGESIZE(1, 1000, 500, "CreateCustomPage");
  412. LODOP.ADD_PRINT_HTM(20, 10, 230, 160,html);
  413. LODOP.ADD_PRINT_TEXT(160, 100, 100, 20,data.l_flow);
  414. LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
  415. LODOP.SET_PRINT_STYLEA(0,"FontSize",16);
  416. LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
  417. LODOP.SET_PRINT_STYLEA(0,"Bold",1);
  418. LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  419. LODOP.ADD_PRINT_BARCODE(25, 235, '45mm', '45mm',"QRCode",data.qrcode);
  420. if (qrcode){
  421. LODOP.PREVIEW() //打印预览
  422. }else{
  423. LODOP.PRINT() // 直接打印
  424. }
  425. }
  426. //小件码打印(10mmx6mm)
  427. function print5(data,qrcode){
  428. //打印二维码
  429. var html = "<style>.tg {font-weight:500;}.tg td{font-family:宋体, 楷体;font-size:14px;padding:2px 2px;overflow:hidden;word-break:break-all;border-color:black;}</style> " +
  430. "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
  431. "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
  432. "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
  433. "<tr> <td>日期:" + data.date + "</td> </tr></table>";
  434. var LODOP=getLodop();
  435. LODOP.PRINT_INIT("小件(10mmx6mm)");
  436. LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
  437. LODOP.SET_PRINT_PAGESIZE(1, 1000, 600, "CreateCustomPage");
  438. LODOP.ADD_PRINT_HTM(25, 10, 180, 160, html);
  439. LODOP.ADD_PRINT_TEXT(180, 100, 100, 20,data.l_flow);
  440. LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
  441. LODOP.SET_PRINT_STYLEA(0,"FontSize",16);
  442. LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
  443. LODOP.SET_PRINT_STYLEA(0,"Bold",1);
  444. LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  445. LODOP.ADD_PRINT_BARCODE(25, 190, '55mm', '55mm',"QRCode",data.qrcode);
  446. if (qrcode){
  447. LODOP.PREVIEW() //打印预览
  448. }else{
  449. LODOP.PRINT() // 直接打印
  450. }
  451. }
  452. $('.content').css('min-height','100px');
  453. $("#btn").click(function (e) {
  454. e.preventDefault();
  455. var data = $("form").serialize();
  456. $.post('qcode_bach/print_s', {data}, function (res) {
  457. if(res.code==1){
  458. var p = 0;
  459. var flage = 0;
  460. for(i in res.data.rows) {
  461. if (!flage) {
  462. //判断预览情况
  463. if (res.data.type == 'v001'){
  464. print1(res.data.rows[i], 1)
  465. }else if(res.data.type == 'v002'){
  466. print2(res.data.rows[i], 1)
  467. }else if(res.data.type == 'v003'){
  468. print3(res.data.rows[i], 1)
  469. }else if(res.data.type == 'v004'){
  470. print4(res.data.rows[i], 1)
  471. }else if(res.data.type == 'v005'){
  472. print5(res.data.rows[i], 1)
  473. }
  474. LODOP.On_Return = function (TaskID, Value) {
  475. if (Value == 1) {
  476. p = 1;
  477. }
  478. }
  479. flage++;
  480. }else{
  481. break;
  482. }
  483. }
  484. var cint = setInterval(function () {
  485. if (p == 1) {
  486. clearInterval(cint);
  487. flage = 0;
  488. //修改打印数量
  489. $.post('qcode_bach/set_num', {'status':2,'num':res.data.numn, 'ids':res.data.ids}, function (response) {})
  490. for(i in res.data.rows) {
  491. for(j=0;j<res.data.numn;j++){
  492. if (!flage){
  493. flage++;
  494. }else{
  495. if (res.data.type == 'v001'){
  496. print1(res.data.rows[i])
  497. }else if(res.data.type == 'v002'){
  498. print2(res.data.rows[i])
  499. }else if(res.data.type == 'v003'){
  500. print3(res.data.rows[i])
  501. }else if(res.data.type == 'v004'){
  502. print4(res.data.rows[i])
  503. }else if(res.data.type == 'v005'){
  504. print5(res.data.rows[i])
  505. }
  506. flage++;
  507. }
  508. }
  509. }
  510. }
  511. },2000)
  512. return false
  513. }else{
  514. Toastr.error(res.msg);
  515. }
  516. })
  517. })
  518. Controller.api.bindevent();
  519. },
  520. reprint: function () {
  521. $("#sel-n").data("params", function (obj) {
  522. //obj为SelectPage对象
  523. return {custom: {name: $("#sel-n").val()}};
  524. });
  525. $("#sel-p").data("params", function (obj) {
  526. //obj为SelectPage对象
  527. return {custom: {name: $("#sel-p").val()}};
  528. });
  529. $("#sel-c").data("params", function (obj) {
  530. //obj为SelectPage对象
  531. return {custom: {name: $("#sel-c").val()}};
  532. });
  533. $("#btn").click(function (e) {
  534. e.preventDefault();
  535. var data = $("form").serialize();
  536. $.post('qcode_bach/reprint',{data},function (res) {
  537. if (res.code==1){
  538. //打印二维码
  539. var html = '<style type="text/css">\n' +
  540. '.tg {border-collapse:collapse;border-spacing:0;font-weight:500;}\n' +
  541. '.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}\n' +
  542. '.tg .tg-s6z2{text-align:center;}\n' +
  543. '</style>\n' +
  544. '<div width="340px">\n' +
  545. '<table class="tg" width="340px">\n' +
  546. '<caption style="width: 300px;">'+res.data.company_name+'</caption>\n' +
  547. '<tr>\n' +
  548. '<td style="width: 70px;">规格:</td>\n' +
  549. '<td colspan="5" style="word-break:break-all;border-color:black;">'+res.data.product_name+'</td>\n' +
  550. '</tr>\n' +
  551. '<tr>\n' +
  552. '<td>配盘数:</td>\n' +
  553. '<td colspan="2">'+res.data.sqrcd+'</td>\n' +
  554. '<td>辅单位:</td>\n' +
  555. '<td colspan="2">'+res.data.sec_unit+'</td>\n' +
  556. '</tr>\n' +
  557. '<tr>\n' +
  558. '<td>数量:</td>\n' +
  559. '<td colspan="2">'+res.data.num+'</td>\n' +
  560. '<td>主单位:</td>\n' +
  561. '<td colspan="2">'+res.data.main_unit+'</td>\n' +
  562. '</tr>\n' +
  563. '<tr>\n' +
  564. '<td>生产日期:</td>\n' +
  565. '<td colspan="5">'+res.data.date+'</td>\n' +
  566. '</tr>\n' +
  567. '<tr>\n' +
  568. '<td>生产批号:</td>\n' +
  569. '<td colspan="5">'+res.data.batch+'</td>\n' +
  570. '</tr>\n' +
  571. '<tr>\n' +
  572. '<td colspan="6" style="word-break:break-all; border-color:black; font-size: 13px;">'+res.data.qrcode+'</td>\n' +
  573. '</tr>\n' +
  574. '</table>\n' +
  575. '<div style="position:absolute;top: 300px;left: 47px">\n' +
  576. '<img src="'+res.data.pCode+'" > </td>\n' +
  577. '</div>\n' +
  578. '<div style="position:absolute;top: 400px;left: 300px;width: 50px;text-align: center;"><span style="font-weight: 500;word-break:normal;font-size: 16px">大件号'+res.data.l_flow+'</span></div>\n' +
  579. '</div>';
  580. var printPdf = (html,qrcode) => {
  581. let LODOP=getLodop();
  582. LODOP.SET_LICENSES("","152A06E8F6CBD6AC1F213ABFCB0D8604","C94CEE276DB2187AE6B65D56B3FC2848","");
  583. LODOP.PRINT_INIT("河南中烟大件二维码打码");
  584. LODOP.SET_PRINT_STYLE("FontSize",16);
  585. LODOP.SET_PRINT_STYLE("Bold",1);
  586. LODOP.SET_PRINT_PAGESIZE(1, 1000, 1500, "CreateCustomPage");
  587. LODOP.ADD_PRINT_HTM(15,20,350,545,html);
  588. // LODOP.SET_PRINT_STYLEA(0,"QRCodeVersion",14);
  589. // LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  590. // LODOP.ADD_PRINT_BARCODE(18,715,'27mm','27mm',"QRCode",qrcode);
  591. // LODOP.PRINT() // 直接打印
  592. // LODOP.PRINT_DESIGN() // 设计模式
  593. LODOP.PREVIEW() //打印预览
  594. }
  595. printPdf(html)
  596. }else{
  597. Toastr.error(res.msg);
  598. }
  599. })
  600. })
  601. Controller.api.bindevent();
  602. },
  603. api: {
  604. bindevent: function () {
  605. Form.api.bindevent($("form[role=form]"));
  606. }
  607. }
  608. };
  609. return Controller;
  610. });