boxtemlateone.cpp 18 KB

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