until.js 70 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563
  1. export default {
  2. isType(obj) {
  3. //类型判断
  4. var regexp = /\s(\w+)\]/;
  5. var result = regexp.exec(Object.prototype.toString.call(obj))[1];
  6. return result;
  7. },
  8. //深拷贝公共方法
  9. deep(dest,obj){ //dest表示 对象 ; obj传入的值
  10. var date = dest;//定义的变量
  11. for(var key in obj){ //拿到键的值 key
  12. if(typeof obj[key] === 'object'){ //类型检测
  13. // constructor (属性检测)判断类型是数组还是对象
  14. date[key] = (obj[key].constructor === Array) ? [] : {};
  15. this.deep(date[key], obj[key]);
  16. }else{ //如果obj[key] 不是对象类型,直接复制
  17. date[key] = obj[key]
  18. }
  19. }
  20. return date;
  21. },
  22. dateFormat(time) {
  23. const t = new Date(time * 1000);
  24. // 日期格式
  25. const format = 'Y-m-d h:i:s';
  26. const year = t.getFullYear();
  27. // 由于 getMonth 返回值会比正常月份小 1
  28. const month = t.getMonth() + 1;
  29. const day = t.getDate();
  30. const hours = t.getHours();
  31. const minutes = t.getMinutes();
  32. const seconds = t.getSeconds();
  33. const hash = {
  34. Y: year,
  35. m: month,
  36. d: day,
  37. h: hours,
  38. i: minutes,
  39. s: seconds,
  40. };
  41. return format.replace(/\w/g, (o) => {
  42. return hash[o];
  43. });
  44. },
  45. replaceDate(str, flag) {
  46. //时间戳转换
  47. if (str) {
  48. str = str.toString().length == 10 ? str * 1000 : str;
  49. let now = str ? new Date(str) : new Date(),
  50. y = now.getFullYear(),
  51. m = now.getMonth() + 1,
  52. d = now.getDate();
  53. if (flag) {
  54. return y + '-' + (m < 10 ? '0' + m : m) + '-' + (d < 10 ? '0' + d : d);
  55. }
  56. return (
  57. y +
  58. '-' +
  59. (m < 10 ? '0' + m : m) +
  60. '-' +
  61. (d < 10 ? '0' + d : d) +
  62. ' ' +
  63. now.toTimeString().substr(0, 8)
  64. );
  65. } else {
  66. return null;
  67. }
  68. },
  69. replaceDateNoHMS(str) {
  70. //时间戳转换
  71. if (str) {
  72. str = str.toString().length == 10 ? str * 1000 : str;
  73. let now = str ? new Date(str) : new Date(),
  74. y = now.getFullYear(),
  75. m = now.getMonth() + 1,
  76. d = now.getDate();
  77. return y + '-' + (m < 10 ? '0' + m : m) + '-' + (d < 10 ? '0' + d : d);
  78. } else {
  79. return null;
  80. }
  81. },
  82. //文字时间转y-m-d;
  83. timestampToTime(timestamp) {
  84. // var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
  85. let Y,M,D
  86. let date = new Date(timestamp);
  87. Y = date.getFullYear() + '-';
  88. M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
  89. D = (date.getDate()<10?"0"+(date.getDate()):date.getDate()) + ' ';
  90. return Y+M+D;
  91. },
  92. //时间转换
  93. setDate(time) {
  94. let data = '';
  95. if (Object.prototype.toString.call(time) === '[object Date]') {
  96. data = new Date(time).toLocaleDateString().replace(/\//g, '-');
  97. }
  98. return data;
  99. },
  100. uniquesObjs(obj) {
  101. //去除统一数组中相同的对象
  102. let uniques = [];
  103. let stringify = {};
  104. for (let i = 0; i < obj.length; i++) {
  105. let keys = Object.keys(obj[i]);
  106. keys.sort(function(a, b) {
  107. return Number(a) - Number(b);
  108. });
  109. let str = '';
  110. for (let j = 0; j < keys.length; j++) {
  111. str += JSON.stringify(keys[j]);
  112. str += JSON.stringify(obj[i][keys[j]]);
  113. }
  114. if (!stringify.hasOwnProperty(str)) {
  115. uniques.push(obj[i]);
  116. stringify[str] = true;
  117. }
  118. }
  119. uniques = uniques;
  120. return uniques;
  121. },
  122. throttle(func, wait) {
  123. //节流
  124. let timer = null;
  125. let fn = function() {
  126. if (!timer) {
  127. let args = Array.from(arguments);
  128. timer = setTimeout(() => {
  129. func.apply(this, args);
  130. timer = null;
  131. }, wait);
  132. }
  133. };
  134. return fn;
  135. },
  136. shake(func, t) {
  137. //防抖
  138. let fn = function() {
  139. let args = Array.from(arguments);
  140. clearTimeout(func.id);
  141. func.id = setTimeout(() => {
  142. func.apply(this, args);
  143. }, t);
  144. };
  145. return fn;
  146. },
  147. objToParams(obj) {
  148. let result = '';
  149. for (let i in obj) {
  150. result += `&${i}=${obj[i]}`;
  151. }
  152. result = '?' + result.substr(1, result.length - 1);
  153. return result;
  154. },
  155. computedForm(array, header) {
  156. const result = array.reduce((pre, cur) => {
  157. const data = header.filter(
  158. (row) => (cur.is_show && row.serverName == cur.key) && (
  159. row.title = cur.title, row.name == 'Input' ? row.placeholder = `请输入${cur.title}` : row.name == 'Select' ? row.placeholder = `请选择${cur.title}` : ''
  160. )
  161. );
  162. if (data && data.length == 1) {
  163. return pre.concat(data);
  164. } else {
  165. return pre;
  166. }
  167. }, []);
  168. return result;
  169. },
  170. computedHeader(array, header) {
  171. const result = array.reduce((pre, cur) => {
  172. const data = header.filter((row) => (cur.is_show && row.key == cur.key) && (row.title = cur.title));
  173. if (data && data.length == 1) {
  174. return pre.concat(data);
  175. } else {
  176. return pre;
  177. }
  178. }, []);
  179. return result;
  180. },
  181. splitArr(data, senArrLen){ //处理数组变成二维数组
  182. //处理成len个一组的数据
  183. let data_len = data.length;
  184. let arrOuter_len = data_len % senArrLen === 0 ? data_len / senArrLen : parseInt((data_len / senArrLen) + '') + 1;
  185. let arrSec_len = data_len > senArrLen ? senArrLen : data_len;//内层数组的长度
  186. let arrOuter = new Array(arrOuter_len);//最外层数组
  187. let arrOuter_index = 0;//外层数组的子元素下标
  188. // console.log(data_len % len);
  189. for (let i = 0; i < data_len; i++) {
  190. if (i % senArrLen === 0) {
  191. arrOuter_index++;
  192. let len = arrSec_len * arrOuter_index;
  193. //将内层数组的长度最小取决于数据长度对len取余,平时最内层由下面赋值决定
  194. arrOuter[arrOuter_index - 1] = new Array(data_len % senArrLen);
  195. if (arrOuter_index === arrOuter_len)//最后一组
  196. data_len % senArrLen === 0 ?
  197. len = data_len % senArrLen + senArrLen * arrOuter_index :
  198. len = data_len % senArrLen + senArrLen * (arrOuter_index - 1);
  199. let arrSec_index = 0;//第二层数组的索引
  200. for (let k = i; k < len; k++) {//第一层数组的开始取决于第二层数组长度*当前第一层的索引
  201. arrOuter[arrOuter_index - 1][arrSec_index] = data[k];
  202. arrSec_index++;
  203. }
  204. }
  205. }
  206. return arrOuter
  207. },
  208. PrintChipsUsb(contents,type,printerUsbPort,sub_type) {
  209. //30*50
  210. if(sub_type==1){
  211. let data = {};
  212. // let url = "http://192.168.0.145:888/postek/print"; //request_url
  213. //request_url
  214. data.reqParam = "1"; //这个一般不用改,如需改,查api
  215. let printparamsJsonArray = [];
  216. // let IP = "192.168.1.58";//print_url
  217. // let IP = "192.168.0.199"; //print_url
  218. // printparamsJsonArray.push({printPort:"1",printName:"POSTEK TX3r"});
  219. printparamsJsonArray.push({ PTK_OpenUSBPort:printerUsbPort});
  220. printparamsJsonArray.push({ PTK_ClearBuffer: "" });
  221. printparamsJsonArray.push({ PTK_SetDirection: "B" });
  222. printparamsJsonArray.push({ PTK_SetPrintSpeed: "4" });
  223. printparamsJsonArray.push({ PTK_SetDarkness: "10" });
  224. printparamsJsonArray.push({
  225. PTK_SetLabelHeight: type!=1&&type!=100?240 + "," + 24 + ",0,false":624 + "," + 24 + ",0,false",
  226. });
  227. printparamsJsonArray.push({ PTK_SetLabelWidth: 1080 });
  228. // 打印类型 1江山 2贝斯特
  229. if (type == 1) {
  230. contents.map((content) => {
  231. //江山打印格式
  232. //上
  233. const printContent_l1 = `单号:${content.order_no}`;
  234. printparamsJsonArray.push({
  235. PTK_DrawText_TrueType:
  236. "100,40,60,0,微软雅黑,1,700,0,0,0," + printContent_l1,
  237. });
  238. const printContent_l1_2 = `型号:${content.product_title}`;
  239. printparamsJsonArray.push({
  240. PTK_DrawText_TrueType:
  241. "600,40,60,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
  242. });
  243. const printContent_l2 = `尺寸:${content.measure}`;
  244. printparamsJsonArray.push({
  245. PTK_DrawText_TrueType:
  246. "100,110,60,0,微软雅黑,1,700,0,0,0," + printContent_l2,
  247. });
  248. const printContent_l2_2 = `工艺:${content.process_title}`;
  249. printparamsJsonArray.push({
  250. PTK_DrawText_TrueType:
  251. "600,110,60,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
  252. });
  253. const printContent_l3 = `颜色:${content.color_title}`;
  254. printparamsJsonArray.push({
  255. PTK_DrawText_TrueType:
  256. "100,250,60,0,微软雅黑,1,700,0,0,0," + printContent_l3,
  257. });
  258. const printContent_l3_2 = `部件:${content.part_title}`;
  259. printparamsJsonArray.push({
  260. PTK_DrawText_TrueType:
  261. "100,180,60,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
  262. });
  263. //下
  264. printparamsJsonArray.push({
  265. PTK_DrawText_TrueType:
  266. "100,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1,
  267. });
  268. printparamsJsonArray.push({
  269. PTK_DrawText_TrueType:
  270. "600,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
  271. });
  272. printparamsJsonArray.push({
  273. PTK_DrawText_TrueType:
  274. "100,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2,
  275. });
  276. printparamsJsonArray.push({
  277. PTK_DrawText_TrueType:
  278. "600,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
  279. });
  280. printparamsJsonArray.push({
  281. PTK_DrawText_TrueType:
  282. "100,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3,
  283. });
  284. printparamsJsonArray.push({
  285. PTK_DrawText_TrueType:
  286. "600,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
  287. });
  288. printparamsJsonArray.push({
  289. PTK_RWRFIDLabel:
  290. "1,0,0," + content.chip.length / 2 + ",1," + content.chip,
  291. });
  292. printparamsJsonArray.push({ PTK_PrintLabel: "1,1" });
  293. });
  294. } else if(type==100) {
  295. contents.map((content) => {
  296. //贝斯特打印格式
  297. //上
  298. const printContent_l1 = `项目:${content.client_name}`;
  299. printparamsJsonArray.push({
  300. PTK_DrawText_TrueType:
  301. "150,40,60,0,微软雅黑,1,700,0,0,0," + printContent_l1,
  302. });
  303. const printContent_l1_2 = `区域:${
  304. content.house ? content.house + "-" : ""
  305. }${content.layer ? content.layer : ""}${
  306. content.position ? content.position : ""
  307. }`;
  308. printparamsJsonArray.push({
  309. PTK_DrawText_TrueType:
  310. "650,40,60,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
  311. });
  312. const printContent_l2 = `房号:${content.number_detail}`;
  313. printparamsJsonArray.push({
  314. PTK_DrawText_TrueType:
  315. "150,110,60,0,微软雅黑,1,700,0,0,0," + printContent_l2,
  316. });
  317. const printContent_l2_2 = `产品:${content.product_title}`;
  318. printparamsJsonArray.push({
  319. PTK_DrawText_TrueType:
  320. "650,110,60,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
  321. });
  322. const printContent_l3 = `图号:${content.url_number}`;
  323. printparamsJsonArray.push({
  324. PTK_DrawText_TrueType:
  325. "150,180,60,0,微软雅黑,1,700,0,0,0," + printContent_l3,
  326. });
  327. const printContent_l3_2 = `部件:${content.part_title}`;
  328. printparamsJsonArray.push({
  329. PTK_DrawText_TrueType:
  330. "650,180,60,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
  331. });
  332. const printContent_l4 = `木皮:${content.color_title}`;
  333. printparamsJsonArray.push({
  334. PTK_DrawText_TrueType:
  335. "150,320,60,0,微软雅黑,1,700,0,0,0," + printContent_l4,
  336. });
  337. const printContent_l4_2 = `尺寸:${content.measure}`;
  338. printparamsJsonArray.push({
  339. PTK_DrawText_TrueType:
  340. "150,250,60,0,微软雅黑,1,700,0,0,0," + printContent_l4_2,
  341. });
  342. let space_str = '\u0000'
  343. let printContent_l5_data= (function() {
  344. let hexCharCodeStr = content.chip;
  345. let trimedStr = hexCharCodeStr.trim();
  346. let rawStr = trimedStr.substr(0,2).toLowerCase() === "0x"?trimedStr.substr(2):trimedStr;
  347. let len = rawStr.length;
  348. if(len % 2 !== 0) {
  349. alert("Illegal Format ASCII Code!");
  350. return "";}
  351. let curCharCode;
  352. let resultStr = [];
  353. for(var i = 0; i < len;i = i + 2) {
  354. curCharCode = parseInt(rawStr.substr(i, 2), 16); // ASCII Code Value
  355. resultStr.push(String.fromCharCode(curCharCode));
  356. }
  357. return resultStr.join("");
  358. })();
  359. printContent_l5_data = printContent_l5_data.replace(space_str,'')
  360. const printContent_l5 = `芯片编码:${printContent_l5_data}`;
  361. // console.log(printContent_l5_data)
  362. printparamsJsonArray.push({
  363. PTK_DrawText_TrueTypeEx:
  364. "970,330,25,0,微软雅黑,1,700,0,0,0,11,0,0,0," + printContent_l5,
  365. });
  366. //下
  367. printparamsJsonArray.push({
  368. PTK_DrawText_TrueType:
  369. "150,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1,
  370. });
  371. printparamsJsonArray.push({
  372. PTK_DrawText_TrueType:
  373. "650,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
  374. });
  375. printparamsJsonArray.push({
  376. PTK_DrawText_TrueType:
  377. "150,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2,
  378. });
  379. printparamsJsonArray.push({
  380. PTK_DrawText_TrueType:
  381. "650,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
  382. });
  383. printparamsJsonArray.push({
  384. PTK_DrawText_TrueType:
  385. "150,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3,
  386. });
  387. printparamsJsonArray.push({
  388. PTK_DrawText_TrueType:
  389. "650,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
  390. });
  391. printparamsJsonArray.push({
  392. PTK_DrawText_TrueType:
  393. "150,570,45,0,微软雅黑,1,700,0,0,0," + printContent_l4,
  394. });
  395. printparamsJsonArray.push({
  396. PTK_DrawText_TrueType:
  397. "650,570,45,0,微软雅黑,1,700,0,0,0," + printContent_l4_2,
  398. });
  399. printparamsJsonArray.push({
  400. PTK_DrawText_TrueTypeEx:
  401. "970,530,25,0,微软雅黑,1,700,0,0,0,10,0,0,0," + printContent_l5,
  402. });
  403. // 17,35 420
  404. printparamsJsonArray.push({
  405. PTK_RWRFIDLabel:
  406. "1,0,0," + content.chip.length / 2 + ",1," + content.chip,
  407. });
  408. printparamsJsonArray.push({ PTK_PrintLabel: "1,1" });
  409. });
  410. }else{
  411. contents.map((content) => {
  412. //贝斯特打印格式
  413. //上
  414. const printContent_l1 = `项目:${content.client_name}`;
  415. printparamsJsonArray.push({
  416. PTK_DrawText_TrueType:
  417. "90,40,40,0,微软雅黑,1,700,0,0,0," + printContent_l1,
  418. });
  419. const printContent_l1_2 = `区域:${
  420. content.house ? content.house + "-" : ""
  421. }${content.layer ? content.layer : ""}${
  422. content.position ? content.position : ""
  423. }`;
  424. printparamsJsonArray.push({
  425. PTK_DrawText_TrueType:
  426. "464,40,40,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
  427. });
  428. const printContent_l2 = `房号:${content.number_detail}`;
  429. printparamsJsonArray.push({
  430. PTK_DrawText_TrueType:
  431. "90,90,40,0,微软雅黑,1,700,0,0,0," + printContent_l2,
  432. });
  433. const printContent_l2_2 = `产品:${content.product_title}`;
  434. printparamsJsonArray.push({
  435. PTK_DrawText_TrueType:
  436. "464,90,40,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
  437. });
  438. const printContent_l3 = `图号:${content.url_number}`;
  439. printparamsJsonArray.push({
  440. PTK_DrawText_TrueType:
  441. "464,140,40,0,微软雅黑,1,700,0,0,0," + printContent_l3,
  442. });
  443. const printContent_l3_2 = `部件:${content.part_title}`;
  444. printparamsJsonArray.push({
  445. PTK_DrawText_TrueType:
  446. "90,140,40,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
  447. });
  448. const printContent_l4 = `木皮:${content.color_title}`;
  449. printparamsJsonArray.push({
  450. PTK_DrawText_TrueType:
  451. "464,190,40,0,微软雅黑,1,700,0,0,0," + printContent_l4,
  452. });
  453. const printContent_l4_2 = `尺寸:${content.measure}`;
  454. printparamsJsonArray.push({
  455. PTK_DrawText_TrueType:
  456. "90,190,40,0,微软雅黑,1,700,0,0,0," + printContent_l4_2,
  457. });
  458. let space_str = '\u0000'
  459. let printContent_l5_data= (function() {
  460. let hexCharCodeStr = content.chip;
  461. let trimedStr = hexCharCodeStr.trim();
  462. let rawStr = trimedStr.substr(0,2).toLowerCase() === "0x"?trimedStr.substr(2):trimedStr;
  463. let len = rawStr.length;
  464. if(len % 2 !== 0) {
  465. alert("Illegal Format ASCII Code!");
  466. return "";}
  467. let curCharCode;
  468. let resultStr = [];
  469. for(var i = 0; i < len;i = i + 2) {
  470. curCharCode = parseInt(rawStr.substr(i, 2), 16); // ASCII Code Value
  471. resultStr.push(String.fromCharCode(curCharCode));
  472. }
  473. return resultStr.join("");
  474. })();
  475. printContent_l5_data = printContent_l5_data.replace(space_str,'')
  476. // const printContent_l5 = `芯片编码:${printContent_l5_data}`;
  477. const printContent_l5 = printContent_l5_data;
  478. // console.log(printContent_l5_data)
  479. printparamsJsonArray.push({
  480. PTK_DrawText_TrueTypeEx:
  481. "800,152,25,0,微软雅黑,1,700,0,0,0,11,0,0,0," + printContent_l5,
  482. });
  483. //下
  484. // printparamsJsonArray.push({
  485. // PTK_DrawText_TrueType:
  486. // "150,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1,
  487. // });
  488. // printparamsJsonArray.push({
  489. // PTK_DrawText_TrueType:
  490. // "650,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
  491. // });
  492. // printparamsJsonArray.push({
  493. // PTK_DrawText_TrueType:
  494. // "150,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2,
  495. // });
  496. // printparamsJsonArray.push({
  497. // PTK_DrawText_TrueType:
  498. // "650,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
  499. // });
  500. // printparamsJsonArray.push({
  501. // PTK_DrawText_TrueType:
  502. // "150,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3,
  503. // });
  504. // printparamsJsonArray.push({
  505. // PTK_DrawText_TrueType:
  506. // "650,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
  507. // });
  508. // printparamsJsonArray.push({
  509. // PTK_DrawText_TrueType:
  510. // "150,570,45,0,微软雅黑,1,700,0,0,0," + printContent_l4,
  511. // });
  512. // printparamsJsonArray.push({
  513. // PTK_DrawText_TrueType:
  514. // "650,570,45,0,微软雅黑,1,700,0,0,0," + printContent_l4_2,
  515. // });
  516. // printparamsJsonArray.push({
  517. // PTK_DrawText_TrueTypeEx:
  518. // "970,530,25,0,微软雅黑,1,700,0,0,0,10,0,0,0," + printContent_l5,
  519. // });
  520. // 17,35 420
  521. printparamsJsonArray.push({
  522. PTK_RWRFIDLabel:
  523. "1,0,0," + content.chip.length / 2 + ",1," + content.chip,
  524. });
  525. printparamsJsonArray.push({ PTK_PrintLabel: "1,1" });
  526. });
  527. }
  528. printparamsJsonArray.push({ PTK_CloseUSBPort: "" });
  529. data.printparams = printparamsJsonArray;
  530. let sub_data = JSON.parse(JSON.stringify(data));
  531. sub_data.printparams = JSON.stringify(sub_data.printparams);
  532. return sub_data
  533. }
  534. //70*20
  535. if(sub_type==2){
  536. let data = {};
  537. // let url = "http://192.168.0.145:888/postek/print"; //request_url
  538. //request_url
  539. data.reqParam = "1"; //这个一般不用改,如需改,查api
  540. let printparamsJsonArray = [];
  541. // let IP = "192.168.1.58";//print_url
  542. // let IP = "192.168.0.199"; //print_url
  543. // printparamsJsonArray.push({printPort:"1",printName:"POSTEK TX3r"});
  544. printparamsJsonArray.push({ PTK_OpenUSBPort:printerUsbPort});
  545. printparamsJsonArray.push({ PTK_ClearBuffer: "" });
  546. printparamsJsonArray.push({ PTK_SetDirection: "B" });
  547. printparamsJsonArray.push({ PTK_SetPrintSpeed: "4" });
  548. printparamsJsonArray.push({ PTK_SetDarkness: "10" });
  549. printparamsJsonArray.push({
  550. PTK_SetLabelHeight: 330 + "," + 24 + ",0,false",
  551. });
  552. printparamsJsonArray.push({ PTK_SetLabelWidth: 1080 });
  553. // 打印类型 1江山 2贝斯特
  554. if (type == 1) {
  555. contents.map((content) => {
  556. //江山打印格式
  557. //上
  558. const printContent_l1 = `单号:${content.order_no}`;
  559. printparamsJsonArray.push({
  560. PTK_DrawText_TrueType:
  561. "100,40,60,0,微软雅黑,1,700,0,0,0," + printContent_l1,
  562. });
  563. const printContent_l1_2 = `型号:${content.product_title}`;
  564. printparamsJsonArray.push({
  565. PTK_DrawText_TrueType:
  566. "600,40,60,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
  567. });
  568. const printContent_l2 = `尺寸:${content.measure}`;
  569. printparamsJsonArray.push({
  570. PTK_DrawText_TrueType:
  571. "100,110,60,0,微软雅黑,1,700,0,0,0," + printContent_l2,
  572. });
  573. const printContent_l2_2 = `工艺:${content.process_title}`;
  574. printparamsJsonArray.push({
  575. PTK_DrawText_TrueType:
  576. "600,110,60,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
  577. });
  578. const printContent_l3 = `颜色:${content.color_title}`;
  579. printparamsJsonArray.push({
  580. PTK_DrawText_TrueType:
  581. "100,250,60,0,微软雅黑,1,700,0,0,0," + printContent_l3,
  582. });
  583. const printContent_l3_2 = `部件:${content.part_title}`;
  584. printparamsJsonArray.push({
  585. PTK_DrawText_TrueType:
  586. "100,180,60,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
  587. });
  588. //下
  589. printparamsJsonArray.push({
  590. PTK_DrawText_TrueType:
  591. "100,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1,
  592. });
  593. printparamsJsonArray.push({
  594. PTK_DrawText_TrueType:
  595. "600,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
  596. });
  597. printparamsJsonArray.push({
  598. PTK_DrawText_TrueType:
  599. "100,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2,
  600. });
  601. printparamsJsonArray.push({
  602. PTK_DrawText_TrueType:
  603. "600,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
  604. });
  605. printparamsJsonArray.push({
  606. PTK_DrawText_TrueType:
  607. "100,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3,
  608. });
  609. printparamsJsonArray.push({
  610. PTK_DrawText_TrueType:
  611. "600,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
  612. });
  613. printparamsJsonArray.push({
  614. PTK_RWRFIDLabel:
  615. "1,0,0," + content.chip.length / 2 + ",1," + content.chip,
  616. });
  617. printparamsJsonArray.push({ PTK_PrintLabel: "1,1" });
  618. });
  619. } else {
  620. contents.map((content) => {
  621. //贝斯特打印格式
  622. //上
  623. const printContent_l1 = `项目:${content.client_name}`;
  624. printparamsJsonArray.push({
  625. PTK_DrawText_TrueType:
  626. "364,20,40,0,微软雅黑,1,700,0,0,0," + printContent_l1,
  627. });
  628. const printContent_l4_2 = `尺寸:${content.measure}`;
  629. printparamsJsonArray.push({
  630. PTK_DrawText_TrueType:
  631. "612,20,40,0,微软雅黑,1,700,0,0,0," + printContent_l4_2,
  632. });
  633. const printContent_l3_2 = `部件:${content.part_title}`;
  634. printparamsJsonArray.push({
  635. PTK_DrawText_TrueType:
  636. "364,70,40,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
  637. });
  638. const printContent_l3 = `图号:${content.url_number}`;
  639. printparamsJsonArray.push({
  640. PTK_DrawText_TrueType:
  641. "732,70,40,0,微软雅黑,1,700,0,0,0," + printContent_l3,
  642. });
  643. const printContent_l1_2 = `区域:${
  644. content.house ? content.house + "-" : ""
  645. }${content.layer ? content.layer : ""}${
  646. content.position ? content.position : ""
  647. }`;
  648. printparamsJsonArray.push({
  649. PTK_DrawText_TrueType:
  650. "364,120,40,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
  651. });
  652. const printContent_l2 = `房号:${content.number_detail}`;
  653. printparamsJsonArray.push({
  654. PTK_DrawText_TrueType:
  655. "364,170,40,0,微软雅黑,1,700,0,0,0," + printContent_l2,
  656. });
  657. const printContent_l2_2 = `产品:${content.product_title}`;
  658. printparamsJsonArray.push({
  659. PTK_DrawText_TrueType:
  660. "364,220,40,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
  661. });
  662. const printContent_l4 = `木皮:${content.color_title}`;
  663. printparamsJsonArray.push({
  664. PTK_DrawText_TrueType:
  665. "364,270,40,0,微软雅黑,1,700,0,0,0," + printContent_l4,
  666. });
  667. let space_str = '\u0000'
  668. let printContent_l5_data= (function() {
  669. let hexCharCodeStr = content.chip;
  670. let trimedStr = hexCharCodeStr.trim();
  671. let rawStr = trimedStr.substr(0,2).toLowerCase() === "0x"?trimedStr.substr(2):trimedStr;
  672. let len = rawStr.length;
  673. if(len % 2 !== 0) {
  674. alert("Illegal Format ASCII Code!");
  675. return "";}
  676. let curCharCode;
  677. let resultStr = [];
  678. for(var i = 0; i < len;i = i + 2) {
  679. curCharCode = parseInt(rawStr.substr(i, 2), 16); // ASCII Code Value
  680. resultStr.push(String.fromCharCode(curCharCode));
  681. }
  682. return resultStr.join("");
  683. })();
  684. printContent_l5_data = printContent_l5_data.replace(space_str,'')
  685. // const printContent_l5 = `芯片编码:${printContent_l5_data}`;
  686. const printContent_l5 = printContent_l5_data;
  687. // console.log(printContent_l5_data)
  688. printparamsJsonArray.push({
  689. PTK_DrawText_TrueTypeEx:
  690. "792,250,25,0,微软雅黑,1,700,0,0,0,11,0,0,0," + printContent_l5,
  691. });
  692. //下
  693. // printparamsJsonArray.push({
  694. // PTK_DrawText_TrueType:
  695. // "150,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1,
  696. // });
  697. // printparamsJsonArray.push({
  698. // PTK_DrawText_TrueType:
  699. // "650,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
  700. // });
  701. // printparamsJsonArray.push({
  702. // PTK_DrawText_TrueType:
  703. // "150,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2,
  704. // });
  705. // printparamsJsonArray.push({
  706. // PTK_DrawText_TrueType:
  707. // "650,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
  708. // });
  709. // printparamsJsonArray.push({
  710. // PTK_DrawText_TrueType:
  711. // "150,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3,
  712. // });
  713. // printparamsJsonArray.push({
  714. // PTK_DrawText_TrueType:
  715. // "650,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
  716. // });
  717. // printparamsJsonArray.push({
  718. // PTK_DrawText_TrueType:
  719. // "150,570,45,0,微软雅黑,1,700,0,0,0," + printContent_l4,
  720. // });
  721. // printparamsJsonArray.push({
  722. // PTK_DrawText_TrueType:
  723. // "650,570,45,0,微软雅黑,1,700,0,0,0," + printContent_l4_2,
  724. // });
  725. // printparamsJsonArray.push({
  726. // PTK_DrawText_TrueTypeEx:
  727. // "970,530,25,0,微软雅黑,1,700,0,0,0,10,0,0,0," + printContent_l5,
  728. // });
  729. // // 17,35 420
  730. printparamsJsonArray.push({
  731. PTK_RWRFIDLabel:
  732. "1,0,0," + content.chip.length / 2 + ",1," + content.chip,
  733. });
  734. printparamsJsonArray.push({ PTK_PrintLabel: "1,1" });
  735. });
  736. }
  737. printparamsJsonArray.push({ PTK_CloseUSBPort: "" });
  738. data.printparams = printparamsJsonArray;
  739. let sub_data = JSON.parse(JSON.stringify(data));
  740. sub_data.printparams = JSON.stringify(sub_data.printparams);
  741. return sub_data
  742. }
  743. //17*90
  744. if(sub_type==3){
  745. let data = {};
  746. // let url = "http://192.168.0.145:888/postek/print"; //request_url
  747. //request_url
  748. data.reqParam = "1"; //这个一般不用改,如需改,查api
  749. let printparamsJsonArray = [];
  750. // let IP = "192.168.1.58";//print_url
  751. // let IP = "192.168.0.199"; //print_url
  752. // printparamsJsonArray.push({printPort:"1",printName:"POSTEK TX3r"});
  753. printparamsJsonArray.push({ PTK_OpenUSBPort:printerUsbPort});
  754. printparamsJsonArray.push({ PTK_ClearBuffer: "" });
  755. printparamsJsonArray.push({ PTK_SetDirection: "B" });
  756. printparamsJsonArray.push({ PTK_SetPrintSpeed: "4" });
  757. printparamsJsonArray.push({ PTK_SetDarkness: "10" });
  758. printparamsJsonArray.push({
  759. PTK_SetLabelHeight: type!=1?204 + "," + 24 + ",0,false":624 + "," + 24 + ",0,false",
  760. });
  761. printparamsJsonArray.push({ PTK_SetLabelWidth: 1080 });
  762. // 打印类型 1江山 2贝斯特
  763. if (type == 1) {
  764. contents.map((content) => {
  765. //江山打印格式
  766. //上
  767. const printContent_l1 = `单号:${content.order_no}`;
  768. printparamsJsonArray.push({
  769. PTK_DrawText_TrueType:
  770. "100,40,60,0,微软雅黑,1,700,0,0,0," + printContent_l1,
  771. });
  772. const printContent_l1_2 = `型号:${content.product_title}`;
  773. printparamsJsonArray.push({
  774. PTK_DrawText_TrueType:
  775. "600,40,60,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
  776. });
  777. const printContent_l2 = `尺寸:${content.measure}`;
  778. printparamsJsonArray.push({
  779. PTK_DrawText_TrueType:
  780. "100,110,60,0,微软雅黑,1,700,0,0,0," + printContent_l2,
  781. });
  782. const printContent_l2_2 = `工艺:${content.process_title}`;
  783. printparamsJsonArray.push({
  784. PTK_DrawText_TrueType:
  785. "600,110,60,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
  786. });
  787. const printContent_l3 = `颜色:${content.color_title}`;
  788. printparamsJsonArray.push({
  789. PTK_DrawText_TrueType:
  790. "100,250,60,0,微软雅黑,1,700,0,0,0," + printContent_l3,
  791. });
  792. const printContent_l3_2 = `部件:${content.part_title}`;
  793. printparamsJsonArray.push({
  794. PTK_DrawText_TrueType:
  795. "100,180,60,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
  796. });
  797. //下
  798. printparamsJsonArray.push({
  799. PTK_DrawText_TrueType:
  800. "100,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1,
  801. });
  802. printparamsJsonArray.push({
  803. PTK_DrawText_TrueType:
  804. "600,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
  805. });
  806. printparamsJsonArray.push({
  807. PTK_DrawText_TrueType:
  808. "100,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2,
  809. });
  810. printparamsJsonArray.push({
  811. PTK_DrawText_TrueType:
  812. "600,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
  813. });
  814. printparamsJsonArray.push({
  815. PTK_DrawText_TrueType:
  816. "100,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3,
  817. });
  818. printparamsJsonArray.push({
  819. PTK_DrawText_TrueType:
  820. "600,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
  821. });
  822. printparamsJsonArray.push({
  823. PTK_RWRFIDLabel:
  824. "1,0,0," + content.chip.length / 2 + ",1," + content.chip,
  825. });
  826. printparamsJsonArray.push({ PTK_PrintLabel: "1,1" });
  827. });
  828. } else {
  829. contents.map((content) => {
  830. //贝斯特打印格式
  831. //上
  832. const printContent_l1 = `项目:${content.client_name}`;
  833. printparamsJsonArray.push({
  834. PTK_DrawText_TrueType:
  835. "150,15,45,0,微软雅黑,1,700,0,0,0," + printContent_l1,
  836. });
  837. const printContent_l1_2 = `区域:${
  838. content.house ? content.house + "-" : ""
  839. }${content.layer ? content.layer : ""}${
  840. content.position ? content.position : ""
  841. }`;
  842. printparamsJsonArray.push({
  843. PTK_DrawText_TrueType:
  844. "650,15,45,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
  845. });
  846. const printContent_l2 = `房号:${content.number_detail}`;
  847. printparamsJsonArray.push({
  848. PTK_DrawText_TrueType:
  849. "150,60,45,0,微软雅黑,1,700,0,0,0," + printContent_l2,
  850. });
  851. const printContent_l2_2 = `产品:${content.product_title}`;
  852. printparamsJsonArray.push({
  853. PTK_DrawText_TrueType:
  854. "650,60,45,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
  855. });
  856. const printContent_l3 = `图号:${content.url_number}`;
  857. printparamsJsonArray.push({
  858. PTK_DrawText_TrueType:
  859. "150,105,45,0,微软雅黑,1,700,0,0,0," + printContent_l3,
  860. });
  861. const printContent_l3_2 = `部件:${content.part_title}`;
  862. printparamsJsonArray.push({
  863. PTK_DrawText_TrueType:
  864. "650,105,45,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
  865. });
  866. const printContent_l4 = `木皮:${content.color_title}`;
  867. printparamsJsonArray.push({
  868. PTK_DrawText_TrueType:
  869. "150,150,45,0,微软雅黑,1,700,0,0,0," + printContent_l4,
  870. });
  871. const printContent_l4_2 = `尺寸:${content.measure}`;
  872. printparamsJsonArray.push({
  873. PTK_DrawText_TrueType:
  874. "650,150,45,0,微软雅黑,1,700,0,0,0," + printContent_l4_2,
  875. });
  876. let space_str = '\u0000'
  877. let printContent_l5_data= (function() {
  878. let hexCharCodeStr = content.chip;
  879. let trimedStr = hexCharCodeStr.trim();
  880. let rawStr = trimedStr.substr(0,2).toLowerCase() === "0x"?trimedStr.substr(2):trimedStr;
  881. let len = rawStr.length;
  882. if(len % 2 !== 0) {
  883. alert("Illegal Format ASCII Code!");
  884. return "";}
  885. let curCharCode;
  886. let resultStr = [];
  887. for(var i = 0; i < len;i = i + 2) {
  888. curCharCode = parseInt(rawStr.substr(i, 2), 16); // ASCII Code Value
  889. resultStr.push(String.fromCharCode(curCharCode));
  890. }
  891. return resultStr.join("");
  892. })();
  893. printContent_l5_data = printContent_l5_data.replace(space_str,'')
  894. const printContent_l5 =printContent_l5_data;
  895. // console.log(printContent_l5_data)
  896. printparamsJsonArray.push({
  897. PTK_DrawText_TrueTypeEx:
  898. "990,135,25,0,微软雅黑,1,700,0,0,0,11,0,0,0," + printContent_l5,
  899. });
  900. // 17,35 420
  901. printparamsJsonArray.push({
  902. PTK_RWRFIDLabel:
  903. "1,0,0," + content.chip.length / 2 + ",1," + content.chip,
  904. });
  905. printparamsJsonArray.push({ PTK_PrintLabel: "1,1" });
  906. });
  907. }
  908. printparamsJsonArray.push({ PTK_CloseUSBPort: "" });
  909. data.printparams = printparamsJsonArray;
  910. let sub_data = JSON.parse(JSON.stringify(data));
  911. sub_data.printparams = JSON.stringify(sub_data.printparams);
  912. return sub_data
  913. }
  914. //竖着打印纸48*160
  915. if(sub_type==4){
  916. let data = {};
  917. // let url = "http://192.168.0.145:888/postek/print"; //request_url
  918. //request_url
  919. data.reqParam = "1"; //这个一般不用改,如需改,查api
  920. let printparamsJsonArray = [];
  921. // let IP = "192.168.1.58";//print_url
  922. // let IP = "192.168.0.199"; //print_url
  923. // printparamsJsonArray.push({printPort:"1",printName:"POSTEK TX3r"});
  924. printparamsJsonArray.push({ PTK_OpenUSBPort:printerUsbPort});
  925. printparamsJsonArray.push({ PTK_ClearBuffer: "" });
  926. printparamsJsonArray.push({ PTK_SetDirection: "B" });
  927. printparamsJsonArray.push({ PTK_SetPrintSpeed: "4" });
  928. printparamsJsonArray.push({ PTK_SetDarkness: "10" });
  929. printparamsJsonArray.push({
  930. PTK_SetLabelHeight: 1896 + "," + 24 + ",0,false",
  931. });
  932. printparamsJsonArray.push({ PTK_SetLabelWidth: 1080 });
  933. contents.map((content) => {
  934. const printContent_l1 = `项目:${content.client_name}`;
  935. printparamsJsonArray.push({
  936. PTK_DrawText_TrueType:
  937. "870,0,100,0,微软雅黑,2,700,0,0,0," + printContent_l1,
  938. });
  939. const printContent_l1_2 = `区域:${
  940. content.house ? content.house + "-" : ""
  941. }${content.layer ? content.layer : ""}${
  942. content.position ? content.position : ""
  943. }`;
  944. printparamsJsonArray.push({
  945. PTK_DrawText_TrueType:
  946. "870,780,100,0,微软雅黑,2,700,0,0,0," + printContent_l1_2,
  947. });
  948. const printContent_l2 = `房号:${content.number_detail}`;
  949. printparamsJsonArray.push({
  950. PTK_DrawText_TrueType:
  951. "720,0,100,0,微软雅黑,2,700,0,0,0," + printContent_l2,
  952. });
  953. const printContent_l2_2 = `产品:${content.product_title}`;
  954. printparamsJsonArray.push({
  955. PTK_DrawText_TrueType:
  956. "720,780,100,0,微软雅黑,2,700,0,0,0," + printContent_l2_2,
  957. });
  958. const printContent_l3 = `图号:${content.url_number}`;
  959. printparamsJsonArray.push({
  960. PTK_DrawText_TrueType:
  961. "570,0,100,0,微软雅黑,2,700,0,0,0," + printContent_l3,
  962. });
  963. const printContent_l3_2 = `部件:${content.part_title}`;
  964. printparamsJsonArray.push({
  965. PTK_DrawText_TrueType:
  966. "570,780,100,0,微软雅黑,2,700,0,0,0," + printContent_l3_2,
  967. });
  968. const printContent_l4 = `木皮:${content.color_title}`;
  969. printparamsJsonArray.push({
  970. PTK_DrawText_TrueType:
  971. "420,0,100,0,微软雅黑,2,700,0,0,0," + printContent_l4,
  972. });
  973. const printContent_l4_2 = `尺寸:${content.measure}`;
  974. printparamsJsonArray.push({
  975. PTK_DrawText_TrueType:
  976. "420,780,100,0,微软雅黑,2,700,0,0,0," + printContent_l4_2,
  977. });
  978. let space_str = '\u0000'
  979. let printContent_l5_data= (function() {
  980. let hexCharCodeStr = content.chip;
  981. let trimedStr = hexCharCodeStr.trim();
  982. let rawStr = trimedStr.substr(0,2).toLowerCase() === "0x"?trimedStr.substr(2):trimedStr;
  983. let len = rawStr.length;
  984. if(len % 2 !== 0) {
  985. alert("Illegal Format ASCII Code!");
  986. return "";}
  987. let curCharCode;
  988. let resultStr = [];
  989. for(var i = 0; i < len;i = i + 2) {
  990. curCharCode = parseInt(rawStr.substr(i, 2), 16); // ASCII Code Value
  991. resultStr.push(String.fromCharCode(curCharCode));
  992. }
  993. return resultStr.join("");
  994. })();
  995. printContent_l5_data = printContent_l5_data.replace(space_str,'')
  996. const printContent_l5 =printContent_l5_data;
  997. // console.log(printContent_l5_data)
  998. printparamsJsonArray.push({
  999. PTK_DrawText_TrueTypeEx:
  1000. "380,1610,45,0,微软雅黑,2,700,0,0,0,11,0,0,0," + printContent_l5,
  1001. });
  1002. // 17,35 420
  1003. printparamsJsonArray.push({
  1004. PTK_RWRFIDLabel:
  1005. "1,0,0," + content.chip.length / 2 + ",1," + content.chip,
  1006. });
  1007. printparamsJsonArray.push({ PTK_PrintLabel: "1,1" });
  1008. });
  1009. printparamsJsonArray.push({ PTK_CloseUSBPort: "" });
  1010. data.printparams = printparamsJsonArray;
  1011. let sub_data = JSON.parse(JSON.stringify(data));
  1012. sub_data.printparams = JSON.stringify(sub_data.printparams);
  1013. return sub_data
  1014. }
  1015. if(sub_type==5){
  1016. let data = {};
  1017. // let url = "http://192.168.0.145:888/postek/print"; //request_url
  1018. //request_url
  1019. data.reqParam = "1"; //这个一般不用改,如需改,查api
  1020. let printparamsJsonArray = [];
  1021. // let IP = "192.168.1.58";//print_url
  1022. // let IP = "192.168.0.199"; //print_url
  1023. // printparamsJsonArray.push({printPort:"1",printName:"POSTEK TX3r"});
  1024. printparamsJsonArray.push({ PTK_OpenUSBPort:printerUsbPort});
  1025. printparamsJsonArray.push({ PTK_ClearBuffer: "" });
  1026. printparamsJsonArray.push({ PTK_SetDirection: "B" });
  1027. printparamsJsonArray.push({ PTK_SetPrintSpeed: "4" });
  1028. printparamsJsonArray.push({ PTK_SetDarkness: "10" });
  1029. printparamsJsonArray.push({
  1030. PTK_SetLabelHeight: 624 + "," + 24 + ",0,false",
  1031. });
  1032. printparamsJsonArray.push({ PTK_SetLabelWidth: 1080 });
  1033. contents.map((content) => {
  1034. //贝斯特打印格式
  1035. //上
  1036. const printContent_l1 = `项目:${content.client_name}`;
  1037. printparamsJsonArray.push({
  1038. PTK_DrawText_TrueType:
  1039. "80,40,60,0,微软雅黑,1,700,0,0,0," + printContent_l1,
  1040. });
  1041. const printContent_l1_2 = `区域:${
  1042. content.house ? content.house + "-" : ""
  1043. }${content.layer ? content.layer : ""}${
  1044. content.position ? content.position : ""
  1045. }`;
  1046. printparamsJsonArray.push({
  1047. PTK_DrawText_TrueType:
  1048. "580,40,60,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
  1049. });
  1050. const printContent_l2 = `房号:${content.number_detail}`;
  1051. printparamsJsonArray.push({
  1052. PTK_DrawText_TrueType:
  1053. "80,110,60,0,微软雅黑,1,700,0,0,0," + printContent_l2,
  1054. });
  1055. const printContent_l2_2 = `产品:${content.product_title}`;
  1056. printparamsJsonArray.push({
  1057. PTK_DrawText_TrueType:
  1058. "580,110,60,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
  1059. });
  1060. const printContent_l3 = `图号:${content.url_number}`;
  1061. printparamsJsonArray.push({
  1062. PTK_DrawText_TrueType:
  1063. "80,180,60,0,微软雅黑,1,700,0,0,0," + printContent_l3,
  1064. });
  1065. const printContent_l3_2 = `部件:${content.part_title}`;
  1066. printparamsJsonArray.push({
  1067. PTK_DrawText_TrueType:
  1068. "580,180,60,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
  1069. });
  1070. const printContent_l4 = `木皮:${content.color_title}`;
  1071. printparamsJsonArray.push({
  1072. PTK_DrawText_TrueType:
  1073. "80,320,60,0,微软雅黑,1,700,0,0,0," + printContent_l4,
  1074. });
  1075. const printContent_l4_2 = `尺寸:${content.measure}`;
  1076. printparamsJsonArray.push({
  1077. PTK_DrawText_TrueType:
  1078. "80,250,60,0,微软雅黑,1,700,0,0,0," + printContent_l4_2,
  1079. });
  1080. let space_str = '\u0000'
  1081. let printContent_l5_data= (function() {
  1082. let hexCharCodeStr = content.chip;
  1083. let trimedStr = hexCharCodeStr.trim();
  1084. let rawStr = trimedStr.substr(0,2).toLowerCase() === "0x"?trimedStr.substr(2):trimedStr;
  1085. let len = rawStr.length;
  1086. if(len % 2 !== 0) {
  1087. alert("Illegal Format ASCII Code!");
  1088. return "";}
  1089. let curCharCode;
  1090. let resultStr = [];
  1091. for(var i = 0; i < len;i = i + 2) {
  1092. curCharCode = parseInt(rawStr.substr(i, 2), 16); // ASCII Code Value
  1093. resultStr.push(String.fromCharCode(curCharCode));
  1094. }
  1095. return resultStr.join("");
  1096. })();
  1097. printContent_l5_data = printContent_l5_data.replace(space_str,'')
  1098. const printContent_l5 = `芯片编码:${printContent_l5_data}`;
  1099. // console.log(printContent_l5_data)
  1100. printparamsJsonArray.push({
  1101. PTK_DrawText_TrueTypeEx:
  1102. "900,330,25,0,微软雅黑,1,700,0,0,0,10,0,0,0," + printContent_l5,
  1103. });
  1104. //下
  1105. printparamsJsonArray.push({
  1106. PTK_DrawText_TrueType:
  1107. "80,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1,
  1108. });
  1109. printparamsJsonArray.push({
  1110. PTK_DrawText_TrueType:
  1111. "580,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
  1112. });
  1113. printparamsJsonArray.push({
  1114. PTK_DrawText_TrueType:
  1115. "80,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2,
  1116. });
  1117. printparamsJsonArray.push({
  1118. PTK_DrawText_TrueType:
  1119. "580,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
  1120. });
  1121. printparamsJsonArray.push({
  1122. PTK_DrawText_TrueType:
  1123. "80,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3,
  1124. });
  1125. printparamsJsonArray.push({
  1126. PTK_DrawText_TrueType:
  1127. "580,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
  1128. });
  1129. printparamsJsonArray.push({
  1130. PTK_DrawText_TrueType:
  1131. "80,570,45,0,微软雅黑,1,700,0,0,0," + printContent_l4,
  1132. });
  1133. printparamsJsonArray.push({
  1134. PTK_DrawText_TrueType:
  1135. "580,570,45,0,微软雅黑,1,700,0,0,0," + printContent_l4_2,
  1136. });
  1137. printparamsJsonArray.push({
  1138. PTK_DrawText_TrueTypeEx:
  1139. "900,530,25,0,微软雅黑,1,700,0,0,0,10,0,0,0," + printContent_l5,
  1140. });
  1141. // 17,35 420
  1142. printparamsJsonArray.push({
  1143. PTK_RWRFIDLabel:
  1144. "1,0,0," + content.chip.length / 2 + ",1," + content.chip,
  1145. });
  1146. printparamsJsonArray.push({ PTK_PrintLabel: "1,1" });
  1147. });
  1148. printparamsJsonArray.push({ PTK_CloseUSBPort: "" });
  1149. data.printparams = printparamsJsonArray;
  1150. let sub_data = JSON.parse(JSON.stringify(data));
  1151. sub_data.printparams = JSON.stringify(sub_data.printparams);
  1152. return sub_data
  1153. }
  1154. if(sub_type==6){
  1155. let data = {};
  1156. // let url = "http://192.168.0.145:888/postek/print"; //request_url
  1157. //request_url
  1158. data.reqParam = "1"; //这个一般不用改,如需改,查api
  1159. let printparamsJsonArray = [];
  1160. // let IP = "192.168.1.58";//print_url
  1161. // let IP = "192.168.0.199"; //print_url
  1162. // printparamsJsonArray.push({printPort:"1",printName:"POSTEK TX3r"});
  1163. printparamsJsonArray.push({ PTK_OpenUSBPort:printerUsbPort});
  1164. printparamsJsonArray.push({ PTK_ClearBuffer: "" });
  1165. printparamsJsonArray.push({ PTK_SetDirection: "B" });
  1166. printparamsJsonArray.push({ PTK_SetPrintSpeed: "4" });
  1167. printparamsJsonArray.push({ PTK_SetDarkness: "10" });
  1168. printparamsJsonArray.push({
  1169. PTK_SetLabelHeight: 1920 + "," + 84 + ",0,false",
  1170. });
  1171. printparamsJsonArray.push({ PTK_SetLabelWidth: 1080 });
  1172. contents.map((content) => {
  1173. const printContent_l1 = `项目:${content.client_name}`;
  1174. printparamsJsonArray.push({
  1175. PTK_DrawText_TrueType:
  1176. "720,84,100,0,微软雅黑,2,700,0,0,0," + printContent_l1,
  1177. });
  1178. const printContent_l1_2 = `区域:${
  1179. content.house ? content.house + "-" : ""
  1180. }${content.layer ? content.layer : ""}${
  1181. content.position ? content.position : ""
  1182. }`;
  1183. printparamsJsonArray.push({
  1184. PTK_DrawText_TrueType:
  1185. "720,840,100,0,微软雅黑,2,700,0,0,0," + printContent_l1_2,
  1186. });
  1187. const printContent_l2 = `房号:${content.number_detail}`;
  1188. printparamsJsonArray.push({
  1189. PTK_DrawText_TrueType:
  1190. "580,84,100,0,微软雅黑,2,700,0,0,0," + printContent_l2,
  1191. });
  1192. const printContent_l2_2 = `产品:${content.product_title}`;
  1193. printparamsJsonArray.push({
  1194. PTK_DrawText_TrueType:
  1195. "580,840,100,0,微软雅黑,2,700,0,0,0," + printContent_l2_2,
  1196. });
  1197. const printContent_l3 = `图号:${content.url_number}`;
  1198. printparamsJsonArray.push({
  1199. PTK_DrawText_TrueType:
  1200. "440,84,100,0,微软雅黑,2,700,0,0,0," + printContent_l3,
  1201. });
  1202. const printContent_l3_2 = `部件:${content.part_title}`;
  1203. printparamsJsonArray.push({
  1204. PTK_DrawText_TrueType:
  1205. "440,840,100,0,微软雅黑,2,700,0,0,0," + printContent_l3_2,
  1206. });
  1207. const printContent_l4 = `木皮:${content.color_title}`;
  1208. printparamsJsonArray.push({
  1209. PTK_DrawText_TrueType:
  1210. "300,84,100,0,微软雅黑,2,700,0,0,0," + printContent_l4,
  1211. });
  1212. const printContent_l4_2 = `尺寸:${content.measure}`;
  1213. printparamsJsonArray.push({
  1214. PTK_DrawText_TrueType:
  1215. "300,840,100,0,微软雅黑,2,700,0,0,0," + printContent_l4_2,
  1216. });
  1217. let space_str = '\u0000'
  1218. let printContent_l5_data= (function() {
  1219. let hexCharCodeStr = content.chip;
  1220. let trimedStr = hexCharCodeStr.trim();
  1221. let rawStr = trimedStr.substr(0,2).toLowerCase() === "0x"?trimedStr.substr(2):trimedStr;
  1222. let len = rawStr.length;
  1223. if(len % 2 !== 0) {
  1224. alert("Illegal Format ASCII Code!");
  1225. return "";}
  1226. let curCharCode;
  1227. let resultStr = [];
  1228. for(var i = 0; i < len;i = i + 2) {
  1229. curCharCode = parseInt(rawStr.substr(i, 2), 16); // ASCII Code Value
  1230. resultStr.push(String.fromCharCode(curCharCode));
  1231. }
  1232. return resultStr.join("");
  1233. })();
  1234. printContent_l5_data = printContent_l5_data.replace(space_str,'')
  1235. const printContent_l5 =printContent_l5_data;
  1236. // console.log(printContent_l5_data)
  1237. printparamsJsonArray.push({
  1238. PTK_DrawText_TrueTypeEx:
  1239. "260,1610,45,0,微软雅黑,2,700,0,0,0,11,0,0,0," + printContent_l5,
  1240. });
  1241. // 17,35 420
  1242. printparamsJsonArray.push({
  1243. PTK_RWRFIDLabel:
  1244. "1,0,0," + content.chip.length / 2 + ",1," + content.chip,
  1245. });
  1246. printparamsJsonArray.push({ PTK_PrintLabel: "1,1" });
  1247. });
  1248. printparamsJsonArray.push({ PTK_CloseUSBPort: "" });
  1249. data.printparams = printparamsJsonArray;
  1250. let sub_data = JSON.parse(JSON.stringify(data));
  1251. sub_data.printparams = JSON.stringify(sub_data.printparams);
  1252. return sub_data
  1253. }
  1254. //HXY17*90调整小芯片
  1255. if(sub_type==7){
  1256. let data = {};
  1257. // let url = "http://192.168.0.145:888/postek/print"; //request_url
  1258. //request_url
  1259. data.reqParam = "1"; //这个一般不用改,如需改,查api
  1260. let printparamsJsonArray = [];
  1261. // let IP = "192.168.1.58";//print_url
  1262. // let IP = "192.168.0.199"; //print_url
  1263. // printparamsJsonArray.push({printPort:"1",printName:"POSTEK TX3r"});
  1264. printparamsJsonArray.push({ PTK_OpenUSBPort:printerUsbPort});
  1265. printparamsJsonArray.push({ PTK_ClearBuffer: "" });
  1266. printparamsJsonArray.push({ PTK_SetDirection: "B" });
  1267. printparamsJsonArray.push({ PTK_SetPrintSpeed: "4" });
  1268. printparamsJsonArray.push({ PTK_SetDarkness: "10" });
  1269. printparamsJsonArray.push({
  1270. PTK_SetLabelHeight: type!=1?204 + "," + 24 + ",0,false":624 + "," + 24 + ",0,false",
  1271. });
  1272. printparamsJsonArray.push({ PTK_SetLabelWidth: 1080 });
  1273. // 打印类型 1江山 2贝斯特
  1274. if (type == 1) {
  1275. contents.map((content) => {
  1276. //江山打印格式
  1277. //上
  1278. const printContent_l1 = `单号:${content.order_no}`;
  1279. printparamsJsonArray.push({
  1280. PTK_DrawText_TrueType:
  1281. "100,40,60,0,微软雅黑,1,700,0,0,0," + printContent_l1,
  1282. });
  1283. const printContent_l1_2 = `型号:${content.product_title}`;
  1284. printparamsJsonArray.push({
  1285. PTK_DrawText_TrueType:
  1286. "600,40,60,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
  1287. });
  1288. const printContent_l2 = `尺寸:${content.measure}`;
  1289. printparamsJsonArray.push({
  1290. PTK_DrawText_TrueType:
  1291. "100,110,60,0,微软雅黑,1,700,0,0,0," + printContent_l2,
  1292. });
  1293. const printContent_l2_2 = `工艺:${content.process_title}`;
  1294. printparamsJsonArray.push({
  1295. PTK_DrawText_TrueType:
  1296. "600,110,60,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
  1297. });
  1298. const printContent_l3 = `颜色:${content.color_title}`;
  1299. printparamsJsonArray.push({
  1300. PTK_DrawText_TrueType:
  1301. "100,250,60,0,微软雅黑,1,700,0,0,0," + printContent_l3,
  1302. });
  1303. const printContent_l3_2 = `部件:${content.part_title}`;
  1304. printparamsJsonArray.push({
  1305. PTK_DrawText_TrueType:
  1306. "100,180,60,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
  1307. });
  1308. //下
  1309. printparamsJsonArray.push({
  1310. PTK_DrawText_TrueType:
  1311. "100,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1,
  1312. });
  1313. printparamsJsonArray.push({
  1314. PTK_DrawText_TrueType:
  1315. "600,435,45,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
  1316. });
  1317. printparamsJsonArray.push({
  1318. PTK_DrawText_TrueType:
  1319. "100,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2,
  1320. });
  1321. printparamsJsonArray.push({
  1322. PTK_DrawText_TrueType:
  1323. "600,480,45,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
  1324. });
  1325. printparamsJsonArray.push({
  1326. PTK_DrawText_TrueType:
  1327. "100,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3,
  1328. });
  1329. printparamsJsonArray.push({
  1330. PTK_DrawText_TrueType:
  1331. "600,525,45,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
  1332. });
  1333. printparamsJsonArray.push({
  1334. PTK_RWRFIDLabel:
  1335. "1,0,0," + content.chip.length / 2 + ",1," + content.chip,
  1336. });
  1337. printparamsJsonArray.push({ PTK_PrintLabel: "1,1" });
  1338. });
  1339. } else {
  1340. contents.map((content) => {
  1341. //贝斯特打印格式
  1342. //上
  1343. const printContent_l1 = `项目:${content.client_name}`;
  1344. printparamsJsonArray.push({
  1345. PTK_DrawText_TrueType:
  1346. "102,15,45,0,微软雅黑,1,700,0,0,0," + printContent_l1,
  1347. });
  1348. const printContent_l1_2 = `区域:${
  1349. content.house ? content.house + "-" : ""
  1350. }${content.layer ? content.layer : ""}${
  1351. content.position ? content.position : ""
  1352. }`;
  1353. printparamsJsonArray.push({
  1354. PTK_DrawText_TrueType:
  1355. "602,15,45,0,微软雅黑,1,700,0,0,0," + printContent_l1_2,
  1356. });
  1357. const printContent_l2 = `房号:${content.number_detail}`;
  1358. printparamsJsonArray.push({
  1359. PTK_DrawText_TrueType:
  1360. "102,60,45,0,微软雅黑,1,700,0,0,0," + printContent_l2,
  1361. });
  1362. const printContent_l2_2 = `产品:${content.product_title}`;
  1363. printparamsJsonArray.push({
  1364. PTK_DrawText_TrueType:
  1365. "602,60,45,0,微软雅黑,1,700,0,0,0," + printContent_l2_2,
  1366. });
  1367. const printContent_l3 = `图号:${content.url_number}`;
  1368. printparamsJsonArray.push({
  1369. PTK_DrawText_TrueType:
  1370. "102,105,45,0,微软雅黑,1,700,0,0,0," + printContent_l3,
  1371. });
  1372. const printContent_l3_2 = `部件:${content.part_title}`;
  1373. printparamsJsonArray.push({
  1374. PTK_DrawText_TrueType:
  1375. "602,105,45,0,微软雅黑,1,700,0,0,0," + printContent_l3_2,
  1376. });
  1377. const printContent_l4 = `木皮:${content.color_title}`;
  1378. printparamsJsonArray.push({
  1379. PTK_DrawText_TrueType:
  1380. "102,150,45,0,微软雅黑,1,700,0,0,0," + printContent_l4,
  1381. });
  1382. const printContent_l4_2 = `尺寸:${content.measure}`;
  1383. printparamsJsonArray.push({
  1384. PTK_DrawText_TrueType:
  1385. "602,150,45,0,微软雅黑,1,700,0,0,0," + printContent_l4_2,
  1386. });
  1387. let space_str = '\u0000'
  1388. let printContent_l5_data= (function() {
  1389. let hexCharCodeStr = content.chip;
  1390. let trimedStr = hexCharCodeStr.trim();
  1391. let rawStr = trimedStr.substr(0,2).toLowerCase() === "0x"?trimedStr.substr(2):trimedStr;
  1392. let len = rawStr.length;
  1393. if(len % 2 !== 0) {
  1394. alert("Illegal Format ASCII Code!");
  1395. return "";}
  1396. let curCharCode;
  1397. let resultStr = [];
  1398. for(var i = 0; i < len;i = i + 2) {
  1399. curCharCode = parseInt(rawStr.substr(i, 2), 16); // ASCII Code Value
  1400. resultStr.push(String.fromCharCode(curCharCode));
  1401. }
  1402. return resultStr.join("");
  1403. })();
  1404. printContent_l5_data = printContent_l5_data.replace(space_str,'')
  1405. const printContent_l5 =printContent_l5_data;
  1406. // console.log(printContent_l5_data)
  1407. printparamsJsonArray.push({
  1408. PTK_DrawText_TrueTypeEx:
  1409. "942,135,25,0,微软雅黑,1,700,0,0,0,11,0,0,0," + printContent_l5,
  1410. });
  1411. // 17,35 420
  1412. printparamsJsonArray.push({
  1413. PTK_RWRFIDLabel:
  1414. "1,0,0," + content.chip.length / 2 + ",1," + content.chip,
  1415. });
  1416. printparamsJsonArray.push({ PTK_PrintLabel: "1,1" });
  1417. });
  1418. }
  1419. printparamsJsonArray.push({ PTK_CloseUSBPort: "" });
  1420. data.printparams = printparamsJsonArray;
  1421. let sub_data = JSON.parse(JSON.stringify(data));
  1422. sub_data.printparams = JSON.stringify(sub_data.printparams);
  1423. return sub_data
  1424. }
  1425. },
  1426. printDemo(data,wxsoect,type) {
  1427. if(type==1){
  1428. setTimeout(()=>{
  1429. if (!data) return 0;
  1430. const st = wxsoect;
  1431. const {
  1432. client_name,
  1433. product_title,
  1434. part_title,
  1435. measure,
  1436. process,
  1437. url_number,
  1438. color_title,
  1439. chip,
  1440. chip_bin,
  1441. house,
  1442. unit,
  1443. layer,
  1444. number_detail,
  1445. position,
  1446. } = data;
  1447. st.send("OpenPort|255");
  1448. st.send("ZM_ClearBuffer");
  1449. st.send("ZM_SetPrintSpeed|4");
  1450. st.send("ZM_SetDarkness|12");
  1451. if (location.origin.indexOf("121.37.173.82") > -1) {
  1452. st.send("ZM_SetLabelHeight|136|32");
  1453. } else {
  1454. st.send("ZM_SetLabelHeight|160|16");
  1455. }
  1456. st.send("ZM_SetLabelWidth|664");
  1457. st.send(
  1458. `ZM_DrawTextTrueTypeW|70|0|24|0|Arial|1|600|0|0|0|A1| 项目:${client_name ||
  1459. ""}`
  1460. );
  1461. st.send(
  1462. `ZM_DrawTextTrueTypeW|280|0|24|0|Arial|1|600|0|0|0|A1| 区域: ${layer||''}`
  1463. );
  1464. st.send(
  1465. `ZM_DrawTextTrueTypeW|70|35|24|0|Arial|1|600|0|0|0|A2| 房号:${number_detail||''}`
  1466. );
  1467. st.send(
  1468. `ZM_DrawTextTrueTypeW|280|35|24|0|Arial|1|600|0|0|0|A2| 产品:${product_title ||
  1469. ""} `
  1470. );
  1471. st.send(
  1472. `ZM_DrawTextTrueTypeW|70|70|24|0|Arial|1|600|0|0|0|A3| 部件:${part_title || ""} `
  1473. );
  1474. st.send(
  1475. `ZM_DrawTextTrueTypeW|280|70|24|0|Arial|1|600|0|0|0|A3| 图号: ${url_number ||
  1476. ""} `
  1477. );
  1478. st.send(
  1479. `ZM_DrawTextTrueTypeW|70|105|24|0|Arial|1|600|0|0|0|A4| 尺寸: ${measure ||
  1480. ""} `
  1481. );
  1482. st.send(
  1483. `ZM_DrawTextTrueTypeW|280|105|24|0|Arial|1|600|0|0|0|A4| 木皮:${color_title || ""}`
  1484. );
  1485. st.send(
  1486. `ZM_DrawTextTrueTypeW|520|70|12|0|Arial|1|600|0|0|0|A4| ${chip_bin || ""}`
  1487. );
  1488. st.send(`ZM_RW_RfidFormat|1|0|0|${chip.length}|1|${chip}`);
  1489. st.send("ZM_PrintLabel_R|1|1");
  1490. st.send("ClosePort");
  1491. },1000)
  1492. }else if(type==2){
  1493. setTimeout(()=>{
  1494. if (!data) return 0;
  1495. const st = wxsoect;
  1496. const {
  1497. client_name,
  1498. product_title,
  1499. part_title,
  1500. measure,
  1501. process,
  1502. url_number,
  1503. color_title,
  1504. chip,
  1505. chip_bin,
  1506. house,
  1507. unit,
  1508. layer,
  1509. number_detail,
  1510. position,
  1511. } = data;
  1512. st.send("OpenPort|255");
  1513. st.send("ZM_ClearBuffer");
  1514. st.send("ZM_SetPrintSpeed|4");
  1515. st.send("ZM_SetDarkness|12");
  1516. st.send("ZM_SetLabelHeight|130|16");
  1517. st.send("ZM_SetLabelWidth|900");
  1518. st.send(
  1519. `ZM_DrawTextTrueTypeW|80|28|18|0|Arial|1|600|0|0|0|A1| 项目:${client_name ||
  1520. ""}`
  1521. );
  1522. st.send(
  1523. `ZM_DrawTextTrueTypeW|480|28|18|0|Arial|1|600|0|0|0|A1| 区域: ${layer||''}`
  1524. );
  1525. st.send(
  1526. `ZM_DrawTextTrueTypeW|80|54|18|0|Arial|1|600|0|0|0|A2| 房号:${number_detail||''}`
  1527. );
  1528. st.send(
  1529. `ZM_DrawTextTrueTypeW|480|54|18|0|Arial|1|600|0|0|0|A2| 产品:${product_title ||
  1530. ""} `
  1531. );
  1532. st.send(
  1533. `ZM_DrawTextTrueTypeW|80|80|18|0|Arial|1|600|0|0|0|A3| 部件:${part_title || ""} `
  1534. );
  1535. st.send(
  1536. `ZM_DrawTextTrueTypeW|480|80|18|0|Arial|1|600|0|0|0|A3| 图号: ${url_number ||
  1537. ""} `
  1538. );
  1539. st.send(
  1540. `ZM_DrawTextTrueTypeW|80|106|18|0|Arial|1|600|0|0|0|A4| 尺寸: ${measure ||
  1541. ""} `
  1542. );
  1543. st.send(
  1544. `ZM_DrawTextTrueTypeW|480|106|18|0|Arial|1|600|0|0|0|A4| 木皮:${color_title || ""}`
  1545. );
  1546. st.send(
  1547. `ZM_DrawTextTrueTypeW|680|90|12|0|Arial|1|600|0|0|0|A4| ${chip_bin || ""}`
  1548. );
  1549. st.send(`ZM_RW_RfidFormat|1|0|0|${chip.length}|1|${chip}`);
  1550. st.send("ZM_PrintLabel_R|1|1");
  1551. st.send("ClosePort");
  1552. },1000)
  1553. }
  1554. },
  1555. };