showxiangdanlabelform.cpp 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. #include "showxiangdanlabelform.h"
  2. #include "ui_showxiangdanlabelform.h"
  3. #include "QDebug"
  4. ShowXiangDanLabelForm::ShowXiangDanLabelForm(QWidget *parent) :
  5. QWidget(parent),
  6. ui(new Ui::ShowXiangDanLabelForm)
  7. {
  8. ui->setupUi(this);
  9. ui->showWidget->setAutoFillBackground(true);
  10. // addComboBox();
  11. // controlHide();
  12. _dataDir = PQ::AppPath::this_()->dataDir();
  13. if(!_dataDir.exists("BoxModel")){
  14. _dataDir.mkdir("BoxModel");
  15. }
  16. _dataDir.cd("BoxModel");
  17. // connect(glo,&GlobalInfo::boxModelUped,this,&ShowXiangDanLabelForm::upBoxModel);
  18. addComboBox();
  19. }
  20. ShowXiangDanLabelForm::~ShowXiangDanLabelForm()
  21. {
  22. delete ui;
  23. }
  24. void ShowXiangDanLabelForm::on_backButton_clicked()
  25. {
  26. emit back();
  27. }
  28. void ShowXiangDanLabelForm::init(QString baseModelName,int status,QString modelName)
  29. {
  30. ui->saveButton->hide();
  31. ui->upModel->hide();
  32. BaseModel = baseModelName;
  33. Status = status;
  34. QPalette palette;
  35. _boxPrinter.reset(new BoxTemlateOne());
  36. palette.setBrush(ui->showWidget->backgroundRole(), QBrush(_boxPrinter->Boxmodel().scaled(// 缩放背景图.
  37. ui->showWidget->size(),
  38. Qt::IgnoreAspectRatio,
  39. Qt::SmoothTransformation)));
  40. ui->showWidget->setPalette(palette);
  41. if(status == 1){
  42. ui->modelName->clear();
  43. ui->saveButton->show();
  44. controlShow();
  45. }else if(status == 2){
  46. controlHide();
  47. showBaseModel();
  48. }else if(status == 3){
  49. ui->upModel->show();
  50. ModelName = modelName;
  51. controlShow();
  52. ui->modelName->setText(ModelName);
  53. for(int i = 0;i<glo->BoxModelList().size();i++){
  54. if(ModelName == glo->BoxModelList().at(i)->Model_Name){
  55. upData(glo->BoxModelList().at(i));
  56. ui->modelName->setText(ModelName);
  57. break;
  58. }
  59. }
  60. }
  61. }
  62. void ShowXiangDanLabelForm::upData(QSharedPointer<BoxModel> boxModelData)
  63. {
  64. ui->text1->setText(boxModelData->Type_Name.at(0).toString());
  65. ui->text2->setText(boxModelData->Type_Name.at(1).toString());
  66. ui->text3->setText(boxModelData->Type_Name.at(2).toString());
  67. ui->text4->setText(boxModelData->Type_Name.at(3).toString());
  68. ui->text5->setText(boxModelData->Type_Name.at(4).toString());
  69. ui->text1_2->setText(boxModelData->Type_Name.at(5).toString());
  70. ui->text2_2->setText(boxModelData->Type_Name.at(6).toString());
  71. ui->text3_2->setText(boxModelData->Type_Name.at(7).toString());
  72. ui->text4_2->setText(boxModelData->Type_Name.at(8).toString());
  73. ui->text5_2->setText(boxModelData->Type_Name.at(9).toString());
  74. ui->data1->setCurrentText(boxModelData->Type_Data.at(0).toString());
  75. ui->data2->setCurrentText(boxModelData->Type_Data.at(1).toString());
  76. ui->data3->setCurrentText(boxModelData->Type_Data.at(2).toString());
  77. ui->data4->setCurrentText(boxModelData->Type_Data.at(3).toString());
  78. ui->data5->setCurrentText(boxModelData->Type_Data.at(4).toString());
  79. ui->data1_2->setCurrentText(boxModelData->Type_Data.at(5).toString());
  80. ui->data2_2->setCurrentText(boxModelData->Type_Data.at(6).toString());
  81. ui->data3_2->setCurrentText(boxModelData->Type_Data.at(7).toString());
  82. ui->data4_2->setCurrentText(boxModelData->Type_Data.at(8).toString());
  83. ui->data5_2->setCurrentText(boxModelData->Type_Data.at(9).toString());
  84. }
  85. void ShowXiangDanLabelForm::showBaseModel()
  86. {
  87. QImage image;
  88. image.load(":/images/moren.bmp");
  89. QPalette palette;
  90. // _boxPrinter.reset(new BoxTemlateOne());
  91. palette.setBrush(ui->showWidget->backgroundRole(), QBrush(image.scaled(
  92. ui->showWidget->size(),
  93. Qt::IgnoreAspectRatio,
  94. Qt::SmoothTransformation)));
  95. ui->showWidget->setPalette(palette);
  96. }
  97. void ShowXiangDanLabelForm::controlHide()
  98. {
  99. ui->text1->hide();//第一行从上而下
  100. ui->text2->hide();
  101. ui->text3->hide();
  102. ui->text4->hide();
  103. ui->text5->hide();
  104. ui->text1_2->hide();//第二行从上而下
  105. ui->text2_2->hide();
  106. ui->text3_2->hide();
  107. ui->text4_2->hide();
  108. ui->text5_2->hide();
  109. ui->data1->hide();
  110. ui->data2->hide();
  111. ui->data3->hide();
  112. ui->data4->hide();
  113. ui->data5->hide();
  114. ui->data1_2->hide();
  115. ui->data2_2->hide();
  116. ui->data3_2->hide();
  117. ui->data4_2->hide();
  118. ui->data5_2->hide();
  119. }
  120. void ShowXiangDanLabelForm::controlShow()
  121. {
  122. ui->text1->show();//第一行从上而下
  123. ui->text2->show();
  124. ui->text3->show();
  125. ui->text4->show();
  126. ui->text5->show();
  127. ui->text1_2->show();//第二行从上而下
  128. ui->text2_2->show();
  129. ui->text3_2->show();
  130. ui->text4_2->show();
  131. ui->text5_2->show();
  132. ui->data1->show();
  133. ui->data2->show();
  134. ui->data3->show();
  135. ui->data4->show();
  136. ui->data5->show();
  137. ui->data1_2->show();
  138. ui->data2_2->show();
  139. ui->data3_2->show();
  140. ui->data4_2->show();
  141. ui->data5_2->show();
  142. }
  143. void ShowXiangDanLabelForm::addComboBox()
  144. {
  145. QList<QString> text;
  146. text.append("空");
  147. text.append("品名");
  148. text.append("批号");
  149. text.append("规格");
  150. text.append("等级");
  151. // text.append("箱号");
  152. text.append("毛重");
  153. text.append("净重");
  154. text.append("筒数");
  155. text.append("捻向");
  156. text.append("类型");
  157. text.append("旦数");
  158. text.append("分特");
  159. text.append("孔数");
  160. text.append("颜色");
  161. text.append("皮重");
  162. text.append("筒重");
  163. text.append("管色");
  164. ui->data1->addItems(text);
  165. ui->data2->addItems(text);
  166. ui->data3->addItems(text);
  167. ui->data4->addItems(text);
  168. ui->data5->addItems(text);
  169. ui->data1_2->addItems(text);
  170. ui->data2_2->addItems(text);
  171. ui->data3_2->addItems(text);
  172. ui->data4_2->addItems(text);
  173. ui->data5_2->addItems(text);
  174. }
  175. void ShowXiangDanLabelForm::on_delModel_clicked()
  176. {
  177. pack->getBoxModel();
  178. }
  179. void ShowXiangDanLabelForm::on_saveButton_clicked()
  180. {
  181. if(ui->modelName->text().isEmpty()){
  182. QMessageBox::information(this,tr("注意"),tr("请输入模板名称"));
  183. return;
  184. }
  185. boxModel.reset(new BoxModel);
  186. boxModel->baseModel_Name = BaseModel;
  187. boxModel->Model_Name = ui->modelName->text();
  188. addBoxData();
  189. QString name = boxModel->Model_Name;
  190. name += "_Model.json";
  191. QString ret = _dataDir.absoluteFilePath(name);
  192. if(PQ::writeAbsoluteFile(ret,QJsonDocument(boxModel->toObject()).toJson())){
  193. QMessageBox::information(this,tr("提示"),tr("保存成功"));
  194. // ui->addNewModel->setText("新建模板");
  195. glo->selectBoxModel();
  196. return;
  197. }
  198. QMessageBox::information(this,tr("提示"),tr("保存失败"));
  199. }
  200. void ShowXiangDanLabelForm::addBoxData()
  201. {
  202. boxModel->Type_Name.append(ui->text1->text());
  203. boxModel->Type_Name.append(ui->text2->text());
  204. boxModel->Type_Name.append(ui->text3->text());
  205. boxModel->Type_Name.append(ui->text4->text());
  206. boxModel->Type_Name.append(ui->text5->text());
  207. boxModel->Type_Name.append(ui->text1_2->text());
  208. boxModel->Type_Name.append(ui->text2_2->text());
  209. boxModel->Type_Name.append(ui->text3_2->text());
  210. boxModel->Type_Name.append(ui->text4_2->text());
  211. boxModel->Type_Name.append(ui->text5_2->text());
  212. boxModel->Type_Data.append(ui->data1->currentText());
  213. boxModel->Type_Data.append(ui->data2->currentText());
  214. boxModel->Type_Data.append(ui->data3->currentText());
  215. boxModel->Type_Data.append(ui->data4->currentText());
  216. boxModel->Type_Data.append(ui->data5->currentText());
  217. boxModel->Type_Data.append(ui->data1_2->currentText());
  218. boxModel->Type_Data.append(ui->data2_2->currentText());
  219. boxModel->Type_Data.append(ui->data3_2->currentText());
  220. boxModel->Type_Data.append(ui->data4_2->currentText());
  221. boxModel->Type_Data.append(ui->data5_2->currentText());
  222. }
  223. void ShowXiangDanLabelForm::on_upModel_clicked()
  224. {
  225. // QList<QSharedPointer<BoxModel>> boxModelList = glo->BoxModelList();
  226. // for(int i = 0;i<boxModelList.size();i++){
  227. // }
  228. boxModel.reset(new BoxModel);
  229. boxModel->baseModel_Name = BaseModel;
  230. boxModel->Model_Name = ModelName;
  231. addBoxData();
  232. QString name = boxModel->Model_Name;
  233. name += "_Model.json";
  234. QString ret = _dataDir.absoluteFilePath(name);
  235. if(PQ::writeAbsoluteFile(ret,QJsonDocument(boxModel->toObject()).toJson())){
  236. QMessageBox::information(this,tr("提示"),tr("更新成功"));
  237. // ui->addNewModel->setText("新建模板");
  238. glo->selectBoxModel();
  239. return;
  240. }
  241. QMessageBox::information(this,tr("提示"),tr("更新失败"));
  242. }