boxtemlateone.cpp 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512
  1. #include "boxtemlateone.h"
  2. #include "pqQtlib/log/pqlog.h"
  3. BoxTemlateOne::BoxTemlateOne()
  4. {
  5. }
  6. QImage BoxTemlateOne::doPrinter(QSharedPointer<BoxInfo> box)
  7. {
  8. QSharedPointer<PackInfo> pinfo = box->parentPack();
  9. if(pinfo.isNull()) return QImage();
  10. QSize size(MAXWIDTH*5,MAXHEIGHT*5);
  11. QImage image(size,QImage::Format_ARGB32);
  12. image.fill(qRgba(255, 255, 255, 255));
  13. QPainter painter(&image);
  14. painter.drawRect(5*5,5*5,90*5,15*5);
  15. painter.drawRect(5*5,20*5,90*5,35*5);
  16. painter.drawLine(20*5,20*5,20*5,55*5);
  17. painter.drawLine(50*5,20*5,50*5,55*5);
  18. painter.drawLine(66*5,20*5,66*5,55*5);
  19. painter.drawLine(5*5,27*5,95*5,27*5);
  20. painter.drawLine(5*5,34*5,95*5,34*5);
  21. painter.drawLine(5*5,41*5,95*5,41*5);
  22. painter.drawLine(5*5,48*5,95*5,48*5);
  23. painter.drawRect(5*5,55*5,90*5,15*5);
  24. painter.drawRect(5*5,70*5,90*5,7*5);
  25. QRect target(0*5, 57*5, 100*5, 65*5);
  26. // QRect source(-10*5, 0, 65*5, 40*5);
  27. QString bar = box->caseNumber();
  28. code.draw(painter,target,bar);
  29. // painter.drawImage(target,barCode.draw(barCode.CodeBinary(bar),bar),source);
  30. painter.setRenderHint(QPainter::Antialiasing,true);
  31. painter.setRenderHint(QPainter::TextAntialiasing,true);
  32. painter.setRenderHint(QPainter::HighQualityAntialiasing,true);
  33. QFont font;
  34. font.setFamily("宋体");
  35. font.setPixelSize(40);
  36. font.setWeight(QFont::ExtraLight);
  37. painter.setFont(font);
  38. painter.drawText(6*5,15*5,box->parentPack()->customer);
  39. font.setPixelSize(20);
  40. font.setBold(true);
  41. painter.setFont(font);
  42. painter.drawText(8*5,25*5,QStringLiteral("品名"));
  43. painter.drawText(53*5,25*5,QStringLiteral("毛重"));
  44. painter.drawText(8*5,32*5,QStringLiteral("批号"));
  45. painter.drawText(53*5,32*5,QStringLiteral("净重"));
  46. painter.drawText(8*5,39*5,QStringLiteral("规格"));
  47. painter.drawText(53*5,39*5,QStringLiteral("筒数"));
  48. painter.drawText(8*5,46*5,QStringLiteral("等级"));
  49. painter.drawText(53*5,46*5,QStringLiteral("捻向"));
  50. painter.drawText(8*5,53*5,QStringLiteral("箱号"));
  51. painter.drawText(50*5,53*5,QStringLiteral("纸管颜色"));
  52. painter.drawText(21*5,25*5,pinfo->info()->product_type_code);
  53. painter.drawText(21*5,32*5,pinfo->info()->batch_no);
  54. painter.drawText(21*5,39*5,pinfo->info()->specs);
  55. painter.drawText(67*5,25*5,QString("%1 kg").arg(getDecimalbit(box->gross_weight / 1000.00)));//datalist.at(0));
  56. painter.drawText(67*5,32*5,QString("%1 kg").arg(getDecimalbit(box->net_weight / 1000.00)));//datalist.at(1));
  57. painter.drawText(67*5,39*5,QString::number(box->tube_number));//datalist.at(2));
  58. painter.drawText(21*5,46*5,box->Level);//datalist.at(3));
  59. painter.drawText(67*5,46*5,box->twist_type);//datalist.at(4));
  60. painter.drawText(67*5,53*5,box->bucket_color);//datalist.at(6));
  61. font.setPixelSize(17);
  62. painter.setFont(font);
  63. painter.drawText(21*5,53*5,box->caseNumber());//datalist.at(5));
  64. painter.drawText(4*5,75*5," 电话:"+ box->parentPack()->telephone);
  65. // print(image);
  66. // QString path = PQ::PQLogManger::this_()->getSaveFilePath();
  67. // if(save)
  68. // image.save(path+"/xiangdan/code"+bar+".bmp");
  69. return image;
  70. // return img;
  71. }
  72. QImage BoxTemlateOne::doPrinter(QSharedPointer<BoxInfo> box,int ModelIndex)
  73. {
  74. boxM = GlobalInfo::this_()->BoxModelList().at(ModelIndex);
  75. QSharedPointer<PackInfo> pinfo = box->parentPack();
  76. QJsonObject info = pinfo->info()->toObject();
  77. QJsonObject obj = box->toObject();
  78. if(pinfo.isNull()) return QImage();
  79. QSize size(MAXWIDTH*5,MAXHEIGHT*5);
  80. QImage image(size,QImage::Format_ARGB32);
  81. image.fill(qRgba(255, 255, 255, 255));
  82. QPainter painter(&image);
  83. painter.drawRect(5*5,5*5,90*5,15*5);
  84. painter.drawRect(5*5,20*5,90*5,35*5);
  85. painter.drawLine(20*5,20*5,20*5,55*5);
  86. painter.drawLine(50*5,20*5,50*5,55*5);
  87. painter.drawLine(66*5,20*5,66*5,55*5);
  88. painter.drawLine(5*5,27*5,95*5,27*5);
  89. painter.drawLine(5*5,34*5,95*5,34*5);
  90. painter.drawLine(5*5,41*5,95*5,41*5);
  91. painter.drawLine(5*5,48*5,95*5,48*5);
  92. painter.drawRect(5*5,55*5,90*5,15*5);
  93. painter.drawRect(5*5,70*5,90*5,7*5);
  94. QRect target(0*5, 57*5, 100*5, 65*5);
  95. // QRect source(-10*5, 0, 65*5, 40*5);
  96. QString bar = box->caseNumber();
  97. code.draw(painter,target,bar);
  98. // painter.drawImage(target,barCode.draw(barCode.CodeBinary(bar),bar),source);
  99. painter.setRenderHint(QPainter::Antialiasing,true);
  100. painter.setRenderHint(QPainter::TextAntialiasing,true);
  101. painter.setRenderHint(QPainter::HighQualityAntialiasing,true);
  102. QFont font;
  103. font.setFamily("宋体");
  104. font.setPixelSize(40);
  105. font.setWeight(QFont::ExtraLight);
  106. painter.setFont(font);
  107. painter.drawText(6*5,15*5,box->parentPack()->customer);
  108. font.setPixelSize(20);
  109. font.setBold(true);
  110. painter.setFont(font);
  111. // painter.drawText(8*5,25*5,boxM->text1_1);
  112. // painter.drawText(53*5,25*5,boxM->text1_2);
  113. // painter.drawText(8*5,32*5,boxM->text2_1);
  114. // painter.drawText(53*5,32*5,boxM->text2_2);
  115. // painter.drawText(8*5,39*5,boxM->text3_1);
  116. // painter.drawText(53*5,39*5,boxM->text3_2);
  117. // painter.drawText(8*5,46*5,boxM->text4_1);
  118. // painter.drawText(53*5,46*5,boxM->text4_2);
  119. // painter.drawText(8*5,53*5,boxM->text5_1);
  120. // painter.drawText(50*5,53*5,boxM->text5_2);
  121. painter.drawText(8*5,25*5,boxM->Type_Name.at(0).toString());
  122. painter.drawText(53*5,25*5,boxM->Type_Name.at(5).toString());
  123. painter.drawText(8*5,32*5,boxM->Type_Name.at(1).toString());
  124. painter.drawText(53*5,32*5,boxM->Type_Name.at(6).toString());
  125. painter.drawText(8*5,39*5,boxM->Type_Name.at(2).toString());
  126. painter.drawText(53*5,39*5,boxM->Type_Name.at(7).toString());
  127. painter.drawText(8*5,46*5,boxM->Type_Name.at(3).toString());
  128. painter.drawText(53*5,46*5,boxM->Type_Name.at(8).toString());
  129. painter.drawText(8*5,53*5,boxM->Type_Name.at(4).toString());
  130. painter.drawText(53*5,53*5,boxM->Type_Name.at(9).toString());
  131. // painter.drawText(50*5,53*5,boxM->Type_Name.at(9).toString());
  132. painter.drawText(21*5,25*5,FindData(box,boxM->Type_Data.at(0).toString()));
  133. painter.drawText(21*5,32*5,FindData(box,boxM->Type_Data.at(1).toString()));
  134. painter.drawText(21*5,39*5,FindData(box,boxM->Type_Data.at(2).toString()));
  135. painter.drawText(21*5,46*5,FindData(box,boxM->Type_Data.at(3).toString()));
  136. painter.drawText(21*5,53*5,FindData(box,boxM->Type_Data.at(4).toString()));
  137. painter.drawText(67*5,25*5,FindData(box,boxM->Type_Data.at(5).toString()));//datalist.at(0));
  138. painter.drawText(67*5,32*5,FindData(box,boxM->Type_Data.at(6).toString()));
  139. painter.drawText(67*5,39*5,FindData(box,boxM->Type_Data.at(7).toString()));//datalist.at(2));
  140. painter.drawText(67*5,46*5,FindData(box,boxM->Type_Data.at(8).toString()));//datalist.at(4));
  141. painter.drawText(67*5,53*5,FindData(box,boxM->Type_Data.at(9).toString()));//datalist.at(6));
  142. font.setPixelSize(17);
  143. painter.setFont(font);
  144. painter.drawText(4*5,75*5," 电话:"+ box->parentPack()->telephone);
  145. // QString path = PQ::PQLogManger::this_()->getSaveFilePath();
  146. // image.save(path+"/xiangdan/code"+bar+".bmp");
  147. return image;
  148. }
  149. QString BoxTemlateOne::FindData(QSharedPointer<BoxInfo> box,QString data){
  150. QSharedPointer<PackInfo> pinfo = box->parentPack();
  151. // QJsonObject info = pinfo->info()->toObject();
  152. // QJsonObject obj = box->toObject();
  153. if(data=="品名"){
  154. return pinfo->info()->product_type_code;
  155. }else if(data=="批号"){
  156. return pinfo->info()->batch_no;
  157. }else if(data=="规格"){
  158. return pinfo->info()->specs;
  159. }else if(data=="毛重"){
  160. return QString("%1 kg").arg(getDecimalbit( box->gross_weight / 1000.00));
  161. }else if(data=="净重"){
  162. return QString("%1 kg").arg(getDecimalbit(box->net_weight / 1000.00));
  163. }else if(data=="筒数"){
  164. return QString::number(box->tube_number);
  165. }else if(data=="等级"){
  166. return box->Level;
  167. }else if(data=="捻向"){
  168. return box->twist_type;
  169. }else if(data=="管色"){
  170. return box->bucket_color;
  171. }else if(data=="箱号"){
  172. return box->caseNumber();
  173. }else if(data=="类型"){
  174. return pinfo->info()->category;
  175. }else if(data=="旦数"){
  176. return pinfo->info()->denier;
  177. }else if(data=="分特"){
  178. return pinfo->info()->dtex;
  179. }else if(data=="孔数"){
  180. return pinfo->info()->fiber;
  181. }else if(data=="颜色"){
  182. return pinfo->info()->color;
  183. }else if(data=="皮重"){
  184. return pinfo->info()->box_weight;
  185. }else if(data=="筒重"){
  186. return pinfo->info()->bucket_weight;
  187. }else if(data!="空"){
  188. return data;
  189. }
  190. return "";
  191. }
  192. QSize BoxTemlateOne::printSize()
  193. {
  194. return QSize(100,80);
  195. }
  196. QImage BoxTemlateOne::Boxmodel()
  197. {
  198. QSize size(MAXWIDTH*5,MAXHEIGHT*5);
  199. QImage image(size,QImage::Format_ARGB32);
  200. image.fill(qRgba(255, 255, 255, 255));
  201. QPainter painter(&image);
  202. painter.drawRect(5*5,5*5,90*5,15*5);
  203. painter.drawRect(5*5,20*5,90*5,35*5);
  204. painter.drawLine(20*5,20*5,20*5,55*5);
  205. painter.drawLine(50*5,20*5,50*5,55*5);
  206. painter.drawLine(66*5,20*5,66*5,55*5);
  207. painter.drawLine(5*5,27*5,95*5,27*5);
  208. painter.drawLine(5*5,34*5,95*5,34*5);
  209. painter.drawLine(5*5,41*5,95*5,41*5);
  210. painter.drawLine(5*5,48*5,95*5,48*5);
  211. painter.drawRect(5*5,55*5,90*5,15*5);
  212. painter.drawRect(5*5,70*5,90*5,7*5);
  213. QRect target(0*5, 57*5, 100*5, 65*5);
  214. QString bar = "200324155812001";
  215. code.draw(painter,target,bar);
  216. QFont font;
  217. font.setPixelSize(40);
  218. painter.setFont(font);
  219. painter.drawText(5*5,15*5,"公司名称");
  220. font.setPixelSize(17);
  221. painter.setFont(font);
  222. painter.drawText(4*5,75*5," 电话:11111111111");
  223. // QString path = PQ::PQLogManger::this_()->getSaveFilePath();
  224. // if(save)
  225. // image.save(path+"/xiangdan/code"+"11111"+".bmp");
  226. return image;
  227. }
  228. PackTemlateOne::PackTemlateOne()
  229. {}
  230. QImage PackTemlateOne::doPrinter(QSharedPointer<PackInfo> pack)
  231. {
  232. //TODO: 小宋,迁移打印 码单的逻辑
  233. QSize size(MAXWIDTH*5,MAXHEIGHT*5);
  234. QImage image(size,QImage::Format_ARGB32);
  235. image.fill(qRgba(255, 255, 255, 255));
  236. QPainter painter(&image);
  237. painter.drawRect(4*5,4*5,92*5,68*5);
  238. QFont font;
  239. font.setFamily("宋体");
  240. font.setPixelSize(30);
  241. font.setWeight(QFont::ExtraLight);
  242. painter.setFont(font);
  243. painter.drawText(38*5,10*5,QStringLiteral("入 库 单"));
  244. font.setPixelSize(20);
  245. painter.setFont(font);
  246. painter.drawText(8*5,15*5,QStringLiteral("规格:"));
  247. painter.drawText(59*5,15*5,QStringLiteral("类型:"));
  248. painter.drawText(8*5,21*5,QStringLiteral("批号:"));
  249. painter.drawText(59*5,21*5,QStringLiteral("等级:"));
  250. font.setPixelSize(15);
  251. painter.setFont(font);
  252. painter.drawText(8*5,64*5,QStringLiteral("总数"));
  253. painter.drawText(38*5,64*5,QStringLiteral("总重量"));
  254. painter.drawText(68*5,64*5,QStringLiteral("总筒数"));
  255. // QFont font;
  256. font.setPixelSize(15);
  257. painter.setFont(font);
  258. int boxSize = pack->boxes().size();
  259. for(int i = 0; i < boxSize; ++i){
  260. int line = i / 5;
  261. int cloun = i % 5;
  262. painter.drawText((9 + line * 19)*5,(27 + cloun * 6)*5,QString("%1.").arg(i + 1));
  263. }
  264. QRect target(0*5, 67*5, 100*5, 75*5);
  265. QString bar = pack->codeSingle();
  266. code.draw(painter,target,bar);
  267. font.setPixelSize(20);
  268. font.setFamily("黑体");
  269. painter.setFont(font);
  270. painter.drawText(19*5,15*5,pack->info()->specs);//QStringLiteral("规格"));
  271. painter.drawText(70*5,15*5,pack->info()->category);//QStringLiteral("类型"));
  272. painter.drawText(19*5,21*5,pack->info()->batch_no);//QStringLiteral("批号"));
  273. painter.drawText(70*5,21*5,pack->level);//info.at(0));
  274. for(int i = 0; i < boxSize; ++i)
  275. {
  276. QString code = getDecimalbit(pack->boxes().at(i)->net_weight / 1000.00);
  277. int line = i / 5;
  278. int cloun = i % 5;
  279. painter.drawText((13 + line * 19)*5,(27.5 + cloun * 6 )*5 ,code);
  280. }
  281. painter.drawText(15*5,64*5,QString::number(pack->boxes().size()));
  282. painter.drawText(48*5,64*5,QString("%1 kg").arg(getDecimalbit(pack->net_weight() / 1000.00)));
  283. painter.drawText(78*5,64*5,QString::number(pack->tube_number()));
  284. // QString path = PQ::PQLogManger::this_()->getSaveFilePath();
  285. // image.save(path+"/rukudan/code"+bar+".bmp");
  286. return image;
  287. }
  288. QImage PackTemlateOne::doPrinter(QSharedPointer<PackInfo> pack, int ModelIndex)
  289. {
  290. //TODO: 小宋,迁移打印 码单的逻辑
  291. packM = GlobalInfo::this_()->PackModelList().at(ModelIndex);
  292. QSize size(MAXWIDTH*5,MAXHEIGHT*5);
  293. QImage image(size,QImage::Format_ARGB32);
  294. image.fill(qRgba(255, 255, 255, 255));
  295. QPainter painter(&image);
  296. painter.drawRect(4*5,4*5,92*5,68*5);
  297. QFont font;
  298. font.setFamily("宋体");
  299. font.setPixelSize(30);
  300. font.setWeight(QFont::ExtraLight);
  301. painter.setFont(font);
  302. painter.drawText(38*5,10*5,QStringLiteral("入 库 单"));
  303. font.setPixelSize(20);
  304. painter.setFont(font);
  305. painter.drawText(8*5,15*5,packM->Type_Name.at(0).toString());
  306. painter.drawText(59*5,15*5,packM->Type_Name.at(1).toString());
  307. painter.drawText(8*5,21*5,packM->Type_Name.at(2).toString());
  308. painter.drawText(59*5,21*5,packM->Type_Name.at(3).toString());
  309. font.setPixelSize(15);
  310. painter.setFont(font);
  311. painter.drawText(8*5,64*5,packM->Type_Name.at(4).toString());
  312. painter.drawText(38*5,64*5,packM->Type_Name.at(5).toString());
  313. painter.drawText(68*5,64*5,packM->Type_Name.at(6).toString());
  314. // QFont font;
  315. font.setPixelSize(15);
  316. painter.setFont(font);
  317. int boxSize = pack->boxes().size();
  318. for(int i = 0; i < boxSize; ++i){
  319. int line = i / 5;
  320. int cloun = i % 5;
  321. painter.drawText((9 + line * 19)*5,(27 + cloun * 6)*5,QString("%1.").arg(i + 1));
  322. }
  323. QRect target(0*5, 67*5, 100*5, 75*5);
  324. QString bar = pack->codeSingle();
  325. code.draw(painter,target,bar);
  326. font.setPixelSize(20);
  327. font.setFamily("黑体");
  328. painter.setFont(font);
  329. painter.drawText(19*5,15*5,FindData(pack,packM->Type_Data.at(0).toString()));//QStringLiteral("规格"));
  330. painter.drawText(70*5,15*5,FindData(pack,packM->Type_Data.at(1).toString()));//QStringLiteral("类型"));
  331. painter.drawText(19*5,21*5,FindData(pack,packM->Type_Data.at(2).toString()));//QStringLiteral("批号"));
  332. painter.drawText(70*5,21*5,FindData(pack,packM->Type_Data.at(3).toString()));//info.at(0));
  333. for(int i = 0; i < boxSize; ++i)
  334. {
  335. QString code = Find20Data(pack,packM->Type_Data.at(4).toString(),i);
  336. int line = i / 5;
  337. int cloun = i % 5;
  338. painter.drawText((13 + line * 19)*5,(27.5 + cloun * 6 )*5 ,code);
  339. }
  340. painter.drawText(15*5,64*5,FindData(pack,packM->Type_Data.at(5).toString()));
  341. painter.drawText(48*5,64*5,FindData(pack,packM->Type_Data.at(6).toString()));
  342. painter.drawText(78*5,64*5,FindData(pack,packM->Type_Data.at(7).toString()));
  343. // QString path = PQ::PQLogManger::this_()->getSaveFilePath();
  344. // image.save(path+"/rukudan/code"+bar+".bmp");
  345. return image;
  346. }
  347. QImage PackTemlateOne::Packmodel()
  348. {
  349. QSize size(MAXWIDTH*5,MAXHEIGHT*5);
  350. QImage image(size,QImage::Format_ARGB32);
  351. image.fill(qRgba(255, 255, 255, 255));
  352. QPainter painter(&image);
  353. painter.drawRect(4*5,4*5,92*5,68*5);
  354. QFont font;
  355. font.setFamily("宋体");
  356. font.setPixelSize(30);
  357. font.setWeight(QFont::ExtraLight);
  358. painter.setFont(font);
  359. painter.drawText(38*5,10*5,QStringLiteral("入 库 单"));
  360. QRect target(0*5, 67*5, 100*5, 75*5);
  361. QString bar = "0000200313170054032";
  362. code.draw(painter,target,bar);
  363. font.setPixelSize(20);
  364. font.setFamily("黑体");
  365. return image;
  366. }
  367. QString PackTemlateOne::FindData(QSharedPointer<PackInfo> pack, QString data)
  368. {
  369. if(data=="批号"){
  370. return pack->info()->batch_no;
  371. }else if(data=="类型"){
  372. return pack->info()->category;
  373. }else if(data=="品种"){
  374. return pack->info()->product_type_code;
  375. }else if(data=="旦数"){
  376. return pack->info()->denier;
  377. }else if(data=="分特"){
  378. return pack->info()->dtex;
  379. }else if(data=="等级"){
  380. return pack->level;
  381. }else if(data=="孔数"){
  382. return pack->info()->fiber;
  383. }else if(data=="规格"){
  384. return pack->info()->specs;
  385. }else if(data=="颜色"){
  386. return pack->info()->color;
  387. }else if(data=="捻向"){
  388. return pack->info()->twist_type;
  389. }else if(data=="管色"){
  390. return pack->info()->bucket_color;
  391. }else if(data=="皮重"){
  392. return pack->info()->box_weight;
  393. }else if(data=="机台"){
  394. return pack->info()->machine_no;
  395. }else if(data=="纸箱"){
  396. return pack->info()->carton_type;
  397. }else if(data=="总筒数"){
  398. return QString::number(pack->tube_number());
  399. }else if(data=="总毛重"){
  400. return QString("%1 kg").arg(getDecimalbit(pack->gross_weight() / 1000.00));
  401. }else if(data=="总净重"){
  402. return QString("%1 kg").arg(getDecimalbit(pack->net_weight() / 1000.00));
  403. }else if(data!="空"){
  404. return data;
  405. }
  406. return "";
  407. }
  408. QString PackTemlateOne::Find20Data(QSharedPointer<PackInfo> pack, QString data, int index)
  409. {
  410. if(data=="毛重"){
  411. return QString("%1 kg").arg(getDecimalbit(pack->boxInfoAt(index)->gross_weight / 1000.00));
  412. }else if(data=="净重"){
  413. return QString("%1 kg").arg(getDecimalbit(pack->boxInfoAt(index)->net_weight / 1000.00));
  414. }else if(data=="筒重"){
  415. return QString::number(pack->boxInfoAt(index)->tube_number);
  416. }else if(data=="捻向"){
  417. return pack->boxInfoAt(index)->twist_type;
  418. }else if(data=="管色"){
  419. return pack->boxInfoAt(index)->bucket_color;
  420. }else if(data=="总筒重"){
  421. return QString("%1 kg").arg(getDecimalbit(pack->boxInfoAt(index)->bucket_weight / 1000.00));
  422. }else if(data=="筒数"){
  423. return QString::number(pack->boxInfoAt(index)->tube_number);
  424. }else if(data!="空"){
  425. return data;
  426. }
  427. return "";
  428. }
  429. QSize PackTemlateOne::printSize()
  430. {
  431. return QSize(100,80);
  432. }