qcode_bach.js 49 KB

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