qcode_bach.js 49 KB

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