qcode_bach.js 49 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021
  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. $.get('qcode_bach/exp', {}, function (data) {
  11. if(data.code==1){
  12. top.window.$('[addtabs="'+data.data.id+'"]').trigger("click");
  13. }else{
  14. Toastr.error(data.msg)
  15. }
  16. }, 'json');
  17. })
  18. //自动打码(大件)
  19. $('#print_l').click(function (e) {
  20. var rows = $('#table2').bootstrapTable('getSelections');
  21. var ids = rows.map(function(item) {
  22. return item.id;
  23. });
  24. Fast.api.open("qcode_bach/print_l?ids="+ids, "自动打码(大件)", {
  25. shadeClose: true,
  26. shade: [0.5,'#393D49'],
  27. area: ['400px','200px'],
  28. callback:function(value){
  29. return false;
  30. // 在这里可以接收弹出层中使用`Fast.api.close(data)`进行回传数据
  31. }
  32. });
  33. })
  34. //自动打码(小件)
  35. $('#print_s').click(function (e) {
  36. var rows = $('#table2').bootstrapTable('getSelections');
  37. var ids = rows.map(function(item) {
  38. return item.id;
  39. });
  40. Fast.api.open("qcode_bach/print_s?ids="+ids, "自动打码(小件)", {
  41. shadeClose: true,
  42. shade: [0.5,'#393D49'],
  43. area: ['400px','400px'],
  44. callback:function(value){
  45. return false;
  46. // 在这里可以接收弹出层中使用`Fast.api.close(data)`进行回传数据
  47. }
  48. });
  49. })
  50. //修改
  51. $('#edit').click(function (e) {
  52. var rows = $('#table2').bootstrapTable('getSelections');
  53. var ids = rows.map(function(item) {
  54. return item.id;
  55. });
  56. Fast.api.open("qcode_bach/edit?ids="+ids, "修改", {
  57. shadeClose: true,
  58. shade: [0.5,'#393D49'],
  59. area: ['400px','200px'],
  60. callback:function(value){
  61. return false;
  62. // 在这里可以接收弹出层中使用`Fast.api.close(data)`进行回传数据
  63. }
  64. });
  65. })
  66. },
  67. table: {
  68. first: function () {
  69. // 表格1
  70. var table1 = $("#table1");
  71. table1.bootstrapTable({
  72. url: 'qcode_bach/bach',
  73. extend: {
  74. index_url: 'qcode_bach/bach' + location.search,
  75. add_url: 'qcode_bach/add',
  76. edit_url: 'qcode_bach/edit',
  77. del_url: 'qcode_bach/del',
  78. table: 'qcode_bach',
  79. },
  80. onClickRow:function(row, $element, field)
  81. {
  82. $("#myTabContent2 .form-commonsearch input[name='bach_id']").val(row.id);
  83. $("#myTabContent2 .btn-refresh").trigger("click");
  84. },
  85. toolbar: '#toolbar1',
  86. pk: 'id',
  87. sortName: 'id',
  88. pageSize: 8,
  89. pageList: [8, 20, 50, 'All'],
  90. search: false,
  91. showExport: false,
  92. singleSelect: true,
  93. columns: [
  94. [
  95. {checkbox: true},
  96. {field: 'matter_name', title: __('Matter_name'), operate: 'LIKE'},
  97. {field: 'l_flow', title: __('L_flow'), operate: 'LIKE'},
  98. {field: 'large_endnum', title: __('Large_endnum'), operate: 'LIKE'},
  99. {field: 'bach_num', title: __('Bach_num'), operate: 'LIKE'},
  100. {field: 'larger_num', title: __('Larger_num'), operate: 'LIKE'},
  101. {field: 'print_date', title: __('Print_date'), operate: 'LIKE'},
  102. {field: 'supplier_name', title: __('Company_name'), operate: 'LIKE'},
  103. {field: 'matter_no', title: __('Matter_no'), operate: 'LIKE'},
  104. // {field: 'notes', title: __('Notes')},
  105. // {field: 'operate', title: __('Operate'), table: table1, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  106. ]
  107. ]
  108. });
  109. // 为表格1绑定事件
  110. Table.api.bindevent(table1);
  111. },
  112. second: function () {
  113. // 表格2
  114. var table2 = $("#table2");
  115. table2.bootstrapTable({
  116. url: 'qcode_bach/large',
  117. extend: {
  118. index_url: '',
  119. add_url: '',
  120. edit_url: '',
  121. del_url: '',
  122. multi_url: '',
  123. table: '',
  124. },
  125. onClickRow:function(row, $element, field)
  126. {
  127. Fast.api.open("qcode_bach/small?large_id="+row.id+'&l_flow='+row.l_flow, "小件列表", {
  128. shadeClose: true,
  129. shade: [0.5,'#393D49'],
  130. area: ['80%','80%'],
  131. callback:function(value){
  132. return false;
  133. // 在这里可以接收弹出层中使用`Fast.api.close(data)`进行回传数据
  134. }
  135. });
  136. },
  137. sortOrder: 'asc',
  138. toolbar: '#toolbar2',
  139. pk: 'id',
  140. sortName: 'id',
  141. pageSize: 8,
  142. pageList: [8, 20, 50, 'All'],
  143. search: false,
  144. showExport: false,
  145. columns: [
  146. [
  147. {checkbox: true},
  148. {field: 'l_flow', title: __('当前托盘'), operate: 'LIKE'},
  149. {field: 'code', title: __('Code'), operate: 'LIKE'},
  150. {field: 'print_date', title: __('Print_date'), operate: false},
  151. {field: 'p_nums', title: __('P_nums'), operate: false},
  152. {field: 'small_num', title: __('Small_num'), operate: false},
  153. {field: 'l_weight', title: __('L_weight'), operate: false},
  154. {field: 'l_num', title: __('Large_num'), operate: false},
  155. {field: 'l_print', title: __('L_print'), operate: 'LIKE', formatter:function (value, row, index) {
  156. if(value==1){
  157. return '<span style="color: green">已打印</span>';
  158. }else{
  159. return '<span>未打印</span>';
  160. }
  161. }},
  162. {field: 'l_status', title: __('L_status'), operate: 'LIKE', formatter:function (value, row, index) {
  163. if(value==1){
  164. return '<span style="color: green">已导出</span>';
  165. }else{
  166. return '<span style="color: red">未导出</span>';
  167. }
  168. }},
  169. {field: 'bach_id', title: __('bach_id'), visible:false, operate: 'LIKE'},
  170. // {field: 'notes', title: __('Notes')},
  171. // {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  172. ]
  173. ],
  174. onLoadSuccess:function(data){
  175. if (data.rows[0]!=undefined){
  176. if(data.rows[0].l_num == null || data.rows[0].l_num == 0){
  177. $("#table2").bootstrapTable("hideColumn", "l_num"); // 设置隐藏列
  178. $("#table2").bootstrapTable("showColumn", "l_weight"); // 设置显示列
  179. }else{
  180. $("#table2").bootstrapTable("hideColumn", "l_weight"); // 设置隐藏列
  181. $("#table2").bootstrapTable("showColumn", "l_num"); // 设置显示列
  182. }
  183. }
  184. },
  185. });
  186. // 为表格2绑定事件
  187. Table.api.bindevent(table2);
  188. }
  189. },
  190. small: function () {
  191. // 初始化表格参数配置
  192. Table.api.init();
  193. var table = $("#table");
  194. table.bootstrapTable({
  195. url: 'qcode_bach/small' + location.search,
  196. sortOrder: 'asc',
  197. toolbar: '#toolbar',
  198. pk: 'id',
  199. sortName: 'id',
  200. search: false,
  201. showExport: false,
  202. singleSelect: true,
  203. columns: [
  204. [
  205. // {checkbox: true},
  206. {field: 'code', title: __('Code'), cellStyle: function () {return {css: {"max-width": "200px","overflow":"hidden",}}}, operate: false},
  207. {field: 'l_flow', title: __('Flow'), width:80, operate: false},
  208. {field: 'p_nums', title: __('P_nums'), width:80, operate: false},
  209. {field: 'status', title: __('Status'), width:80, formatter:function (value, row, index) {
  210. if(value==1){
  211. return '<span style="color: red">已删除</span>';
  212. }else{
  213. return '<span style="color: green">正常</span>';
  214. }
  215. }, operate: false},
  216. {field: 'buttons', width: "120px", title: __('按钮组'), table: table, events: Table.api.events.operate,
  217. buttons: [
  218. {
  219. name: 'click',
  220. text: __('切换'),
  221. title: __('切换'),
  222. classname: 'btn btn-xs btn-success btn-click',
  223. icon: 'fa',
  224. click: function (data,row,index) {
  225. $.get('qcode_bach/small_status',{'ids':row.id},function (res){
  226. if (res.code==1){
  227. //修改成功
  228. //1. 提示
  229. Toastr.success(res.msg)
  230. //2. 刷新页面
  231. table.bootstrapTable('refresh');
  232. }
  233. })
  234. }
  235. }
  236. ],
  237. formatter: Table.api.formatter.buttons
  238. },
  239. // {field: 'notes', title: __('Notes')},
  240. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,
  241. buttons: [
  242. {
  243. name: 'click',
  244. text: __('打印'),
  245. title: __('打印'),
  246. classname: 'btn btn-xs btn-success btn-click',
  247. icon: 'fa fa-print',
  248. click: function (data,row,index) {
  249. Fast.api.open("qcode_bach/print_ls?ids="+row.id, "打码(小件)", {
  250. shadeClose: true,
  251. shade: [0.5,'#393D49'],
  252. area: ['400px','400px'],
  253. callback:function(value){
  254. return false;
  255. // 在这里可以接收弹出层中使用`Fast.api.close(data)`进行回传数据
  256. }
  257. });
  258. }
  259. }
  260. ],formatter: Table.api.formatter.buttons}
  261. ]
  262. ]
  263. });
  264. // 为表格1绑定事件
  265. Table.api.bindevent(table);
  266. Controller.api.bindevent();
  267. },
  268. add: function () {
  269. Controller.api.bindevent();
  270. },
  271. edit: function () {
  272. $('.content').css('min-height','100px');
  273. $("#type").change(function (e){
  274. if(this.value==0){
  275. $("#msg").text('')
  276. $("#numn").prop('disabled',true)
  277. }
  278. if(this.value==1){
  279. $("#msg").text('重量必填(不能大于4位数)')
  280. $("#numn").prop('disabled',false)
  281. }
  282. if(this.value==2){
  283. $("#msg").text('总张数必填不能有小数点,且不大于10位')
  284. $("#numn").prop('disabled',false)
  285. }
  286. })
  287. $("#btn").click(function (e) {
  288. e.preventDefault();
  289. var data = $("form").serialize();
  290. $.post('qcode_bach/edit', {data}, function (res) {
  291. if(res.code==1){
  292. Toastr.success(res.msg)
  293. Fast.api.close(1);
  294. parent.$("#toolbar2 .btn-refresh").trigger("click"); // 触发窗体的父页面刷新
  295. }else{
  296. Toastr.error(res.msg);
  297. }
  298. })
  299. })
  300. Controller.api.bindevent();
  301. },
  302. print_l: function () {
  303. //大件码打印
  304. function print(data,qrcode){
  305. //打印二维码
  306. var html = '<style type="text/css">' +
  307. '.tg {border-collapse:collapse;border-spacing:0;font-weight:500;}' +
  308. '.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;}' +
  309. '.tg .tg-s6z2{text-align:center;}</style>' +
  310. '<div width="340px"><table class="tg" width="340px">' +
  311. '<caption style="width: 300px;">'+data.company_name+'</caption>' +
  312. '<tr><td style="width: 70px;">规格:</td><td colspan="5" style="word-break:break-all;border-color:black;">'+data.product_name+'</td>' +
  313. '<tr><td>配盘数:</td><td colspan="2">'+data.sqrcd+'</td><td>辅单位:</td><td colspan="2">'+data.sec_unit+'</td></tr>' +
  314. '<tr><td>数量:</td><td colspan="2">'+data.num+'</td><td>主单位:</td><td colspan="2">'+data.main_unit+'</td></tr>' +
  315. '<tr><td>生产日期:</td><td colspan="5">'+data.date+'</td></tr>' +
  316. '<tr><td>生产批号:</td><td colspan="5">'+data.batch+'</td></tr>' +
  317. '<tr><td colspan="6" style="word-break:break-all; border-color:black; font-size: 13px;">'+data.qrcode+'</td></table>' +
  318. '<div style="position:absolute;top: 300px;left: 47px"><img src="'+data.pCode+'" > </td></div>' +
  319. '<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' +
  320. '</div>';
  321. var printPdf = (html,qrcode) => {
  322. var LODOP=getLodop();
  323. LODOP.SET_LICENSES("","152A06E8F6CBD6AC1F213ABFCB0D8604","C94CEE276DB2187AE6B65D56B3FC2848","");
  324. LODOP.PRINT_INIT("河南中烟大件二维码打码");
  325. LODOP.SET_PRINT_STYLE("FontSize",16);
  326. LODOP.SET_PRINT_STYLE("Bold",1);
  327. LODOP.SET_PRINT_PAGESIZE(1, 1000, 1500, "CreateCustomPage");
  328. LODOP.ADD_PRINT_HTM(15,20,350,545,html);
  329. // LODOP.SET_PRINT_STYLEA(0,"QRCodeVersion",14);
  330. // LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  331. // LODOP.ADD_PRINT_BARCODE(18,715,'27mm','27mm',"QRCode",qrcode);
  332. // LODOP.PRINT() // 直接打印
  333. // LODOP.PRINT_DESIGN() // 设计模式
  334. if (qrcode){
  335. LODOP.PREVIEW() //打印预览
  336. }else{
  337. LODOP.PRINT() // 直接打印
  338. }
  339. }
  340. printPdf(html,qrcode)
  341. }
  342. $('.content').css('min-height','100px');
  343. $("#btn").click(function (e) {
  344. e.preventDefault();
  345. var data = $("form").serialize();
  346. $.post('qcode_bach/print_l', {data}, function (res) {
  347. if(res.code==1){
  348. var p = 0;
  349. var flage = 0;
  350. for(i in res.data.rows) {
  351. if (!flage) {
  352. //判断预览情况
  353. if (res.data.type == 'v010'){
  354. print(res.data.rows[i], 1)
  355. }
  356. LODOP.On_Return = function (TaskID, Value) {
  357. if (Value == 1) {
  358. p = 1;
  359. }
  360. }
  361. flage++;
  362. }else{
  363. break;
  364. }
  365. }
  366. var cint = setInterval(function () {
  367. if (p == 1) {
  368. clearInterval(cint);
  369. flage = 0;
  370. //修改打印数量
  371. $.post('qcode_bach/set_num', {'status':1,'num':res.data.numn, 'ids':res.data.ids}, function (response) {})
  372. for(i in res.data.rows) {
  373. for(j=0;j<res.data.numn;j++){
  374. if (!flage){
  375. flage++;
  376. }else{
  377. if (res.data.type == 'v010'){
  378. print(res.data.rows[i]);//打印
  379. }
  380. flage++;
  381. }
  382. }
  383. }
  384. }
  385. },2000)
  386. return false
  387. }else{
  388. Toastr.error(res.msg);
  389. }
  390. })
  391. })
  392. Controller.api.bindevent();
  393. },
  394. print_s: function () {
  395. //小件码打印(10mmx2.5mm)
  396. function print1(data,qrcode){
  397. //打印二维码
  398. var html = "<style>.tg {font-weight:500;}.tg td{font-family:宋体,楷体;font-size:10px;overflow:hidden;word-break:break-all;border-color:black;}</style> " +
  399. "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
  400. "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
  401. "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
  402. "<tr> <td>日期:" + data.date + "</td> </tr></table>";
  403. var LODOP=getLodop();
  404. LODOP.PRINT_INIT("小件(10mmx2.5mm)");
  405. LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
  406. LODOP.SET_PRINT_PAGESIZE(1, 1000, 250, "CreateCustomPage");
  407. LODOP.ADD_PRINT_HTM(15, 10, 270, 160,html);
  408. LODOP.ADD_PRINT_TEXT(70,200,100,20,data.l_flow);
  409. LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
  410. LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
  411. LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
  412. LODOP.SET_PRINT_STYLEA(0,"Bold",1);
  413. LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  414. LODOP.ADD_PRINT_BARCODE(4,280,'25mm','25mm',"QRCode",data.qrcode);
  415. if (qrcode){
  416. LODOP.PREVIEW() //打印预览
  417. }else{
  418. LODOP.PRINT() // 直接打印
  419. }
  420. }
  421. //小件码打印(10mmx1.8mm)
  422. function print2(data,qrcode){
  423. //打印二维码
  424. 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>" +
  425. "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
  426. "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
  427. "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
  428. "<tr> <td>日期:" + data.date + "</td> </tr></table>";
  429. var LODOP=getLodop();
  430. LODOP.PRINT_INIT("小件(10mmx2.5mm)");
  431. LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
  432. LODOP.SET_PRINT_PAGESIZE(1, 1000, 180, "CreateCustomPage");
  433. LODOP.ADD_PRINT_HTM(3, 5, 300, 160, html);
  434. LODOP.ADD_PRINT_TEXT(50,200,100,18,data.l_flow);
  435. LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
  436. LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
  437. LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
  438. LODOP.SET_PRINT_STYLEA(0,"Bold",1);
  439. LODOP.SET_PRINT_STYLE("QRCodeVersion",10);
  440. LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  441. LODOP.ADD_PRINT_BARCODE(5,310,'25mm','25mm',"QRCode",data.qrcode);
  442. if (qrcode){
  443. LODOP.PREVIEW() //打印预览
  444. }else{
  445. LODOP.PRINT() // 直接打印
  446. }
  447. }
  448. //小件码打印(10mmx4mm)
  449. function print3(data,qrcode){
  450. //打印二维码
  451. var html = "<style>" +
  452. ".tg {border-collapse:collapse;border-spacing:0;font-weight:500;}" +
  453. ".tg td{font-family:宋体, 楷体;font-size:14px;overflow:hidden;word-break:break-all;border-color:black;}" +
  454. "</style>" +
  455. "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
  456. "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
  457. "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
  458. "<tr> <td>日期:" + data.date + "</td> </tr></table>";
  459. var LODOP=getLodop();
  460. LODOP.PRINT_INIT("小件(10mmx4mm)");
  461. LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
  462. LODOP.SET_PRINT_PAGESIZE(1, 1000, 400, "CreateCustomPage");
  463. LODOP.ADD_PRINT_HTM(9, 5, 230, 160, html);
  464. LODOP.ADD_PRINT_TEXT(130,110,100,20,data.l_flow);
  465. LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
  466. LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
  467. LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
  468. LODOP.SET_PRINT_STYLEA(0,"Bold",1);
  469. LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  470. LODOP.ADD_PRINT_BARCODE(9,240,'45mm','45mm',"QRCode",data.qrcode);
  471. if (qrcode){
  472. LODOP.PREVIEW() //打印预览
  473. }else{
  474. LODOP.PRINT() // 直接打印
  475. }
  476. }
  477. //小件码打印(10mmx5mm)
  478. function print4(data,qrcode){
  479. //打印二维码
  480. var html = "<style>" +
  481. ".tg {font-weight:500;}" +
  482. ".tg td{font-family:宋体, 楷体;font-size:14px;overflow:hidden;word-break:break-all;border-color:black;}" +
  483. "</style>" +
  484. "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
  485. "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
  486. "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
  487. "<tr> <td>日期:" + data.date + "</td> </tr></table>";
  488. var LODOP=getLodop();
  489. LODOP.PRINT_INIT("小件(10mmx5mm)");
  490. LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
  491. LODOP.SET_PRINT_PAGESIZE(1, 1000, 500, "CreateCustomPage");
  492. LODOP.ADD_PRINT_HTM(20, 10, 230, 160,html);
  493. LODOP.ADD_PRINT_TEXT(160, 100, 100, 20,data.l_flow);
  494. LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
  495. LODOP.SET_PRINT_STYLEA(0,"FontSize",16);
  496. LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
  497. LODOP.SET_PRINT_STYLEA(0,"Bold",1);
  498. LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  499. LODOP.ADD_PRINT_BARCODE(25, 235, '45mm', '45mm',"QRCode",data.qrcode);
  500. if (qrcode){
  501. LODOP.PREVIEW() //打印预览
  502. }else{
  503. LODOP.PRINT() // 直接打印
  504. }
  505. }
  506. //小件码打印(10mmx6mm)
  507. function print5(data,qrcode){
  508. //打印二维码
  509. 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> " +
  510. "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
  511. "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
  512. "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
  513. "<tr> <td>日期:" + data.date + "</td> </tr></table>";
  514. var LODOP=getLodop();
  515. LODOP.PRINT_INIT("小件(10mmx6mm)");
  516. LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
  517. LODOP.SET_PRINT_PAGESIZE(1, 1000, 600, "CreateCustomPage");
  518. LODOP.ADD_PRINT_HTM(25, 10, 180, 160, html);
  519. LODOP.ADD_PRINT_TEXT(180, 100, 100, 20,data.l_flow);
  520. LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
  521. LODOP.SET_PRINT_STYLEA(0,"FontSize",16);
  522. LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
  523. LODOP.SET_PRINT_STYLEA(0,"Bold",1);
  524. LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  525. LODOP.ADD_PRINT_BARCODE(25, 190, '55mm', '55mm',"QRCode",data.qrcode);
  526. if (qrcode){
  527. LODOP.PREVIEW() //打印预览
  528. }else{
  529. LODOP.PRINT() // 直接打印
  530. }
  531. }
  532. $('.content').css('min-height','100px');
  533. $("#btn").click(function (e) {
  534. e.preventDefault();
  535. var data = $("form").serialize();
  536. $.post('qcode_bach/print_s', {data}, function (res) {
  537. if(res.code==1){
  538. var p = 0;
  539. var flage = 0;
  540. for(i in res.data.rows) {
  541. if (!flage) {
  542. //判断预览情况
  543. if (res.data.type == 'v001'){
  544. print1(res.data.rows[i], 1)
  545. }else if(res.data.type == 'v002'){
  546. print2(res.data.rows[i], 1)
  547. }else if(res.data.type == 'v003'){
  548. print3(res.data.rows[i], 1)
  549. }else if(res.data.type == 'v004'){
  550. print4(res.data.rows[i], 1)
  551. }else if(res.data.type == 'v005'){
  552. print5(res.data.rows[i], 1)
  553. }
  554. LODOP.On_Return = function (TaskID, Value) {
  555. if (Value == 1) {
  556. p = 1;
  557. }
  558. }
  559. flage++;
  560. }else{
  561. break;
  562. }
  563. }
  564. var cint = setInterval(function () {
  565. if (p == 1) {
  566. clearInterval(cint);
  567. flage = 0;
  568. //修改打印数量
  569. $.post('qcode_bach/set_num', {'status':2,'num':res.data.numn, 'ids':res.data.ids}, function (response) {})
  570. for(i in res.data.rows) {
  571. for(j=0;j<res.data.numn;j++){
  572. if (!flage){
  573. flage++;
  574. }else{
  575. if (res.data.type == 'v001'){
  576. print1(res.data.rows[i])
  577. }else if(res.data.type == 'v002'){
  578. print2(res.data.rows[i])
  579. }else if(res.data.type == 'v003'){
  580. print3(res.data.rows[i])
  581. }else if(res.data.type == 'v004'){
  582. print4(res.data.rows[i])
  583. }else if(res.data.type == 'v005'){
  584. print5(res.data.rows[i])
  585. }
  586. flage++;
  587. }
  588. }
  589. }
  590. }
  591. },2000)
  592. return false
  593. }else{
  594. Toastr.error(res.msg);
  595. }
  596. })
  597. })
  598. Controller.api.bindevent();
  599. },
  600. print_ls: function () {
  601. //小件码打印(10mmx2.5mm)
  602. function print1(data,qrcode){
  603. //打印二维码
  604. var html = "<style>.tg {font-weight:500;}.tg td{font-family:宋体,楷体;font-size:10px;overflow:hidden;word-break:break-all;border-color:black;}</style> " +
  605. "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
  606. "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
  607. "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
  608. "<tr> <td>日期:" + data.date + "</td> </tr></table>";
  609. var LODOP=getLodop();
  610. LODOP.PRINT_INIT("小件(10mmx2.5mm)");
  611. LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
  612. LODOP.SET_PRINT_PAGESIZE(1, 1000, 250, "CreateCustomPage");
  613. LODOP.ADD_PRINT_HTM(15, 10, 270, 160,html);
  614. LODOP.ADD_PRINT_TEXT(70,200,100,20,data.l_flow);
  615. LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
  616. LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
  617. LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
  618. LODOP.SET_PRINT_STYLEA(0,"Bold",1);
  619. LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  620. LODOP.ADD_PRINT_BARCODE(4,280,'25mm','25mm',"QRCode",data.qrcode);
  621. if (qrcode){
  622. LODOP.PREVIEW() //打印预览
  623. }else{
  624. LODOP.PRINT() // 直接打印
  625. }
  626. }
  627. //小件码打印(10mmx1.8mm)
  628. function print2(data,qrcode){
  629. //打印二维码
  630. 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>" +
  631. "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
  632. "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
  633. "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
  634. "<tr> <td>日期:" + data.date + "</td> </tr></table>";
  635. var LODOP=getLodop();
  636. LODOP.PRINT_INIT("小件(10mmx2.5mm)");
  637. LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
  638. LODOP.SET_PRINT_PAGESIZE(1, 1000, 180, "CreateCustomPage");
  639. LODOP.ADD_PRINT_HTM(3, 5, 300, 160, html);
  640. LODOP.ADD_PRINT_TEXT(50,200,100,18,data.l_flow);
  641. LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
  642. LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
  643. LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
  644. LODOP.SET_PRINT_STYLEA(0,"Bold",1);
  645. LODOP.SET_PRINT_STYLE("QRCodeVersion",10);
  646. LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  647. LODOP.ADD_PRINT_BARCODE(5,310,'25mm','25mm',"QRCode",data.qrcode);
  648. if (qrcode){
  649. LODOP.PREVIEW() //打印预览
  650. }else{
  651. LODOP.PRINT() // 直接打印
  652. }
  653. }
  654. //小件码打印(10mmx4mm)
  655. function print3(data,qrcode){
  656. //打印二维码
  657. var html = "<style>" +
  658. ".tg {border-collapse:collapse;border-spacing:0;font-weight:500;}" +
  659. ".tg td{font-family:宋体, 楷体;font-size:14px;overflow:hidden;word-break:break-all;border-color:black;}" +
  660. "</style>" +
  661. "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
  662. "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
  663. "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
  664. "<tr> <td>日期:" + data.date + "</td> </tr></table>";
  665. var LODOP=getLodop();
  666. LODOP.PRINT_INIT("小件(10mmx4mm)");
  667. LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
  668. LODOP.SET_PRINT_PAGESIZE(1, 1000, 400, "CreateCustomPage");
  669. LODOP.ADD_PRINT_HTM(9, 5, 230, 160, html);
  670. LODOP.ADD_PRINT_TEXT(130,110,100,20,data.l_flow);
  671. LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
  672. LODOP.SET_PRINT_STYLEA(0,"FontSize",14);
  673. LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
  674. LODOP.SET_PRINT_STYLEA(0,"Bold",1);
  675. LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  676. LODOP.ADD_PRINT_BARCODE(9,240,'45mm','45mm',"QRCode",data.qrcode);
  677. if (qrcode){
  678. LODOP.PREVIEW() //打印预览
  679. }else{
  680. LODOP.PRINT() // 直接打印
  681. }
  682. }
  683. //小件码打印(10mmx5mm)
  684. function print4(data,qrcode){
  685. //打印二维码
  686. var html = "<style>" +
  687. ".tg {font-weight:500;}" +
  688. ".tg td{font-family:宋体, 楷体;font-size:14px;overflow:hidden;word-break:break-all;border-color:black;}" +
  689. "</style>" +
  690. "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
  691. "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
  692. "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
  693. "<tr> <td>日期:" + data.date + "</td> </tr></table>";
  694. var LODOP=getLodop();
  695. LODOP.PRINT_INIT("小件(10mmx5mm)");
  696. LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
  697. LODOP.SET_PRINT_PAGESIZE(1, 1000, 500, "CreateCustomPage");
  698. LODOP.ADD_PRINT_HTM(20, 10, 230, 160,html);
  699. LODOP.ADD_PRINT_TEXT(160, 100, 100, 20,data.l_flow);
  700. LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
  701. LODOP.SET_PRINT_STYLEA(0,"FontSize",16);
  702. LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
  703. LODOP.SET_PRINT_STYLEA(0,"Bold",1);
  704. LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  705. LODOP.ADD_PRINT_BARCODE(25, 235, '45mm', '45mm',"QRCode",data.qrcode);
  706. if (qrcode){
  707. LODOP.PREVIEW() //打印预览
  708. }else{
  709. LODOP.PRINT() // 直接打印
  710. }
  711. }
  712. //小件码打印(10mmx6mm)
  713. function print5(data,qrcode){
  714. //打印二维码
  715. 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> " +
  716. "<table class=\"tg\"> <tr> <td>" + data.company_name + "</td> </tr> " +
  717. "<tr> <td >规格:" + data.product_name + "</td> </tr> " +
  718. "<tr> <td>生产批号:" + data.batch + "</td> </tr> " +
  719. "<tr> <td>日期:" + data.date + "</td> </tr></table>";
  720. var LODOP=getLodop();
  721. LODOP.PRINT_INIT("小件(10mmx6mm)");
  722. LODOP.SET_LICENSES("", "152A06E8F6CBD6AC1F213ABFCB0D8604", "C94CEE276DB2187AE6B65D56B3FC2848", "");
  723. LODOP.SET_PRINT_PAGESIZE(1, 1000, 600, "CreateCustomPage");
  724. LODOP.ADD_PRINT_HTM(25, 10, 180, 160, html);
  725. LODOP.ADD_PRINT_TEXT(180, 100, 100, 20,data.l_flow);
  726. LODOP.SET_PRINT_STYLEA(0,"FontName","宋体");
  727. LODOP.SET_PRINT_STYLEA(0,"FontSize",16);
  728. LODOP.SET_PRINT_STYLEA(0,"FontColor","#000000");
  729. LODOP.SET_PRINT_STYLEA(0,"Bold",1);
  730. LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  731. LODOP.ADD_PRINT_BARCODE(25, 190, '55mm', '55mm',"QRCode",data.qrcode);
  732. if (qrcode){
  733. LODOP.PREVIEW() //打印预览
  734. }else{
  735. LODOP.PRINT() // 直接打印
  736. }
  737. }
  738. $('.content').css('min-height','100px');
  739. $("#btn").click(function (e) {
  740. e.preventDefault();
  741. var data = $("form").serialize();
  742. $.post('qcode_bach/print_ls', {data}, function (res) {
  743. if(res.code==1){
  744. var p = 0;
  745. var flage = 0;
  746. for(i in res.data.rows) {
  747. if (!flage) {
  748. //判断预览情况
  749. if (res.data.type == 'v001'){
  750. print1(res.data.rows[i], 1)
  751. }else if(res.data.type == 'v002'){
  752. print2(res.data.rows[i], 1)
  753. }else if(res.data.type == 'v003'){
  754. print3(res.data.rows[i], 1)
  755. }else if(res.data.type == 'v004'){
  756. print4(res.data.rows[i], 1)
  757. }else if(res.data.type == 'v005'){
  758. print5(res.data.rows[i], 1)
  759. }
  760. LODOP.On_Return = function (TaskID, Value) {
  761. if (Value == 1) {
  762. p = 1;
  763. }
  764. }
  765. flage++;
  766. }else{
  767. break;
  768. }
  769. }
  770. var cint = setInterval(function () {
  771. if (p == 1) {
  772. clearInterval(cint);
  773. flage = 0;
  774. //修改打印数量
  775. $.post('qcode_bach/set_num', {'status':3,'num':res.data.numn, 'ids':res.data.ids}, function (response) {})
  776. for(i in res.data.rows) {
  777. for(j=0;j<res.data.numn;j++){
  778. if (!flage){
  779. flage++;
  780. }else{
  781. if (res.data.type == 'v001'){
  782. print1(res.data.rows[i])
  783. }else if(res.data.type == 'v002'){
  784. print2(res.data.rows[i])
  785. }else if(res.data.type == 'v003'){
  786. print3(res.data.rows[i])
  787. }else if(res.data.type == 'v004'){
  788. print4(res.data.rows[i])
  789. }else if(res.data.type == 'v005'){
  790. print5(res.data.rows[i])
  791. }
  792. flage++;
  793. }
  794. }
  795. }
  796. }
  797. },2000)
  798. return false
  799. }else{
  800. Toastr.error(res.msg);
  801. }
  802. })
  803. })
  804. Controller.api.bindevent();
  805. },
  806. reprint: function () {
  807. $("#sel-n").data("params", function (obj) {
  808. //obj为SelectPage对象
  809. return {custom: {name: $("#sel-n").val()}};
  810. });
  811. $("#sel-p").data("params", function (obj) {
  812. //obj为SelectPage对象
  813. return {custom: {name: $("#sel-p").val()}};
  814. });
  815. $("#sel-c").data("params", function (obj) {
  816. //obj为SelectPage对象
  817. return {custom: {name: $("#sel-c").val()}};
  818. });
  819. $("#btn").click(function (e) {
  820. e.preventDefault();
  821. var data = $("form").serialize();
  822. $.post('qcode_bach/reprint',{data},function (res) {
  823. if (res.code==1){
  824. //打印二维码
  825. var html = '<style type="text/css">\n' +
  826. '.tg {border-collapse:collapse;border-spacing:0;font-weight:500;}\n' +
  827. '.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' +
  828. '.tg .tg-s6z2{text-align:center;}\n' +
  829. '</style>\n' +
  830. '<div width="340px">\n' +
  831. '<table class="tg" width="340px">\n' +
  832. '<caption style="width: 300px;">'+res.data.company_name+'</caption>\n' +
  833. '<tr>\n' +
  834. '<td style="width: 70px;">规格:</td>\n' +
  835. '<td colspan="5" style="word-break:break-all;border-color:black;">'+res.data.product_name+'</td>\n' +
  836. '</tr>\n' +
  837. '<tr>\n' +
  838. '<td>配盘数:</td>\n' +
  839. '<td colspan="2">'+res.data.sqrcd+'</td>\n' +
  840. '<td>辅单位:</td>\n' +
  841. '<td colspan="2">'+res.data.sec_unit+'</td>\n' +
  842. '</tr>\n' +
  843. '<tr>\n' +
  844. '<td>数量:</td>\n' +
  845. '<td colspan="2">'+res.data.num+'</td>\n' +
  846. '<td>主单位:</td>\n' +
  847. '<td colspan="2">'+res.data.main_unit+'</td>\n' +
  848. '</tr>\n' +
  849. '<tr>\n' +
  850. '<td>生产日期:</td>\n' +
  851. '<td colspan="5">'+res.data.date+'</td>\n' +
  852. '</tr>\n' +
  853. '<tr>\n' +
  854. '<td>生产批号:</td>\n' +
  855. '<td colspan="5">'+res.data.batch+'</td>\n' +
  856. '</tr>\n' +
  857. '<tr>\n' +
  858. '<td colspan="6" style="word-break:break-all; border-color:black; font-size: 13px;">'+res.data.qrcode+'</td>\n' +
  859. '</tr>\n' +
  860. '</table>\n' +
  861. '<div style="position:absolute;top: 300px;left: 47px">\n' +
  862. '<img src="'+res.data.pCode+'" > </td>\n' +
  863. '</div>\n' +
  864. '<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' +
  865. '</div>';
  866. var printPdf = (html,qrcode) => {
  867. let LODOP=getLodop();
  868. LODOP.SET_LICENSES("","152A06E8F6CBD6AC1F213ABFCB0D8604","C94CEE276DB2187AE6B65D56B3FC2848","");
  869. LODOP.PRINT_INIT("河南中烟大件二维码打码");
  870. LODOP.SET_PRINT_STYLE("FontSize",16);
  871. LODOP.SET_PRINT_STYLE("Bold",1);
  872. LODOP.SET_PRINT_PAGESIZE(1, 1000, 1500, "CreateCustomPage");
  873. LODOP.ADD_PRINT_HTM(15,20,350,545,html);
  874. // LODOP.SET_PRINT_STYLEA(0,"QRCodeVersion",14);
  875. // LODOP.SET_PRINT_STYLEA(0,"QRCodeErrorLevel","M");
  876. // LODOP.ADD_PRINT_BARCODE(18,715,'27mm','27mm',"QRCode",qrcode);
  877. // LODOP.PRINT() // 直接打印
  878. // LODOP.PRINT_DESIGN() // 设计模式
  879. LODOP.PREVIEW() //打印预览
  880. }
  881. printPdf(html)
  882. }else{
  883. Toastr.error(res.msg);
  884. }
  885. })
  886. })
  887. Controller.api.bindevent();
  888. },
  889. api: {
  890. bindevent: function () {
  891. Form.api.bindevent($("form[role=form]"));
  892. }
  893. }
  894. };
  895. return Controller;
  896. });