qcode_bach.js 49 KB

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