You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

136 lines
4.7 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. /*调用js打印标签*/
  2. import getLodop from '@/utils/LodopFuncs.js'
  3. /*打印材料卷标签*/
  4. export function printMaterialLabel(printList) {
  5. const LODOP = getLodop()
  6. if (LODOP) {
  7. LODOP.SET_LICENSES("", "13F0BE83846277CB60918577C6281375", "", "");
  8. //循环调用打印机
  9. for(let i = 0; i < printList.length; i++){
  10. let printData = printList[i];
  11. LODOP.NewPage();
  12. LODOP.SET_PRINT_PAGESIZE(0,700,600,"");
  13. LODOP.ADD_PRINT_LINE(5,5,6,255,0,1);
  14. LODOP.ADD_PRINT_LINE(25,5,26,255,0,1);
  15. LODOP.ADD_PRINT_LINE(42,5,43,255,0,1);
  16. LODOP.ADD_PRINT_LINE(59,5,60,255,0,1);
  17. LODOP.ADD_PRINT_LINE(84,5,85,255,0,1);
  18. LODOP.ADD_PRINT_LINE(119,5,120,255,0,1);
  19. LODOP.ADD_PRINT_LINE(136,5,137,255,0,1);
  20. LODOP.ADD_PRINT_LINE(153,5,154,185,0,1);
  21. LODOP.ADD_PRINT_LINE(170,5,171,185,0,1);
  22. LODOP.ADD_PRINT_LINE(187,5,188,185,0,1);
  23. LODOP.ADD_PRINT_LINE(205,5,204,255,0,1);
  24. LODOP.ADD_PRINT_LINE(220,5,221,255,0,1);
  25. LODOP.ADD_PRINT_LINE(220,5,5,6,0,1);
  26. LODOP.ADD_PRINT_LINE(220,256,5,257,0,1);
  27. LODOP.ADD_PRINT_LINE(220,65,25,66,0,1);
  28. LODOP.ADD_PRINT_LINE(120,135,136,136,0,1);
  29. LODOP.ADD_PRINT_LINE(120,174,136,175,0,1);
  30. LODOP.ADD_PRINT_LINE(204,186,136,187,0,1);
  31. LODOP.ADD_PRINT_TEXT(7,91,90,15,"原材料标签");
  32. LODOP.SET_PRINT_STYLEA(0,"FontName","黑体");
  33. LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
  34. LODOP.ADD_PRINT_TEXT(28,7,60,15,"卷序号");
  35. LODOP.ADD_PRINT_TEXT(45,7,60,15,"料号");
  36. LODOP.ADD_PRINT_TEXT(65,7,60,20,"厂商");
  37. LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
  38. LODOP.ADD_PRINT_TEXT(95,7,70,30,"品名规格");
  39. LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
  40. LODOP.ADD_PRINT_TEXT(122,7,60,15,"数量");
  41. LODOP.ADD_PRINT_TEXT(139,7,60,15,"单位");
  42. LODOP.ADD_PRINT_TEXT(156,7,60,15,"入库日期");
  43. LODOP.ADD_PRINT_TEXT(173,7,60,15,"有效期");
  44. LODOP.ADD_PRINT_TEXT(190,7,60,15,"入库人员");
  45. LODOP.ADD_PRINT_TEXT(206,7,60,15,"校验签章");
  46. LODOP.ADD_PRINT_TEXT(122,137,38,20,"库位");
  47. LODOP.ADD_PRINT_TEXT(27,122,100,20, printData.rollNo);
  48. LODOP.ADD_PRINT_TEXT(45,115,100,20, printData.partNo);
  49. LODOP.ADD_PRINT_TEXT(66,70,165,20, printData.supplierDesc);
  50. LODOP.ADD_PRINT_TEXT(88,70,187,35, printData.partDesc +' '+ printData.spec);
  51. LODOP.ADD_PRINT_TEXT(122,69,43,20, printData.rollQty);
  52. LODOP.ADD_PRINT_TEXT(121,176,83,20,printData.locationId);
  53. LODOP.ADD_PRINT_TEXT(138,130,50,20, printData.umid);
  54. LODOP.ADD_PRINT_TEXT(155,100,80,17, printData.rollDate);
  55. LODOP.ADD_PRINT_TEXT(174,100,80,20, printData.expiredDate);
  56. LODOP.ADD_PRINT_BARCODE(137,187,100,75,"QRCode", printData.rollNo);
  57. LODOP.ADD_PRINT_TEXT(189,120,90,17, printData.createdBy);
  58. }
  59. //LODOP.PRINT_DESIGN();
  60. //LODOP.PREVIEW();
  61. LODOP.PRINT();
  62. console.log("操作成功!")
  63. }
  64. }
  65. /**
  66. * 是否有权限
  67. * @param {*} key
  68. */
  69. export function isAuth (key) {
  70. return JSON.parse(sessionStorage.getItem('permissions') || '[]').indexOf(key) !== -1 || false
  71. }
  72. /**
  73. * 树形数据转换
  74. * @param {*} data
  75. * @param {*} id
  76. * @param {*} pid
  77. */
  78. export function treeDataTranslate (data, id = 'id', pid = 'parentId') {
  79. var res = []
  80. var temp = {}
  81. for (var i = 0; i < data.length; i++) {
  82. temp[data[i][id]] = data[i]
  83. }
  84. for (var k = 0; k < data.length; k++) {
  85. if (temp[data[k][pid]] && data[k][id] !== data[k][pid]) {
  86. if (!temp[data[k][pid]]['children']) {
  87. temp[data[k][pid]]['children'] = []
  88. }
  89. if (!temp[data[k][pid]]['_level']) {
  90. temp[data[k][pid]]['_level'] = 1
  91. }
  92. data[k]['_level'] = temp[data[k][pid]]._level + 1
  93. temp[data[k][pid]]['children'].push(data[k])
  94. } else {
  95. res.push(data[k])
  96. }
  97. }
  98. return res
  99. }
  100. /**
  101. * 清除登录信息
  102. */
  103. export function clearLoginInfo () {
  104. Vue.cookie.delete('token')
  105. store.commit('resetStore')
  106. router.options.isAddDynamicMenuRoutes = false
  107. }
  108. export function handleExport(data) {
  109. // 动态创建iframe下载文件
  110. let fileName = this.selectedTabelRow[0].dirName;
  111. if (!data) {
  112. return;
  113. }
  114. let blob = new Blob([data], { type: "application/octet-stream" });
  115. if ("download" in document.createElement("a")) {
  116. // 不是IE浏览器
  117. let url = window.URL.createObjectURL(blob);
  118. let link = document.createElement("a");
  119. link.style.display = "none";
  120. link.href = url;
  121. link.setAttribute("download", fileName);
  122. document.body.appendChild(link);
  123. link.click();
  124. document.body.removeChild(link); // 下载完成移除元素
  125. window.URL.revokeObjectURL(url); // 释放掉blob对象
  126. } else {
  127. // IE 10+
  128. window.navigator.msSaveBlob(blob, fileName);
  129. }
  130. }