selectvalueform.cpp 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. #include "selectvalueform.h"
  2. #include "ui_selectvalueform.h"
  3. #include <QJsonArray>
  4. SelectValueForm::SelectValueForm(QWidget *parent) :
  5. QWidget(parent),
  6. ui(new Ui::SelectValueForm),nowPage(0),pageListNum(20),totlePage(1),totleNum(0)
  7. {
  8. ui->setupUi(this);
  9. connect(&_request,&HttpRequest::result,this,&SelectValueForm::result);
  10. ui->widget->hide();
  11. nowPage = 0;
  12. connect(glo,&GlobalInfo::doInited,this,&SelectValueForm::Start);
  13. }
  14. SelectValueForm::~SelectValueForm()
  15. {
  16. delete ui;
  17. }
  18. void SelectValueForm::Start()
  19. {
  20. prolist = GlobalInfo::this_()->project().values();
  21. // if(prolist.isEmpty()){
  22. // return;
  23. // }
  24. totleNum = prolist.size();
  25. refPage(nowPage);
  26. ui->labelTotle->setText(QString::number(totleNum));
  27. }
  28. void SelectValueForm::result(int code, const QJsonObject & body)
  29. {
  30. if(body.value("code").toInt(404) != 200){
  31. nowPage = 0;
  32. pageListNum = 20;
  33. totlePage = 0;
  34. totleNum = 0;
  35. return;
  36. }
  37. // currtInfo.clear();
  38. totleNum = body.value("total").toInt();
  39. QJsonArray ary = body.value("data").toArray();
  40. for(int i =0; i < ary.size(); ++i){
  41. parseObject(ary.at(i).toObject());
  42. }
  43. // refPage();
  44. }
  45. void SelectValueForm::parseObject(const QJsonObject & obj)
  46. {
  47. ProjectInfo info;
  48. info.dtex = obj.value("detx").toString();
  49. info.goods_id = obj.value("goods_id").toInt();
  50. info.batch_no = obj.value("batch_no").toString();
  51. info.category = obj.value("category").toString();
  52. info.product_type_code = obj.value("product_type_code").toString();
  53. info.spec_role = obj.value("spec_role").toString();
  54. info.denier = obj.value("denier").toString();
  55. // info.dtex = obj.value("detx").toString();
  56. info.fiber = obj.value("fiber").toString();
  57. info.specs = obj.value("specs").toString();
  58. info.color = obj.value("color").toString();
  59. info.twist_type = obj.value("twist_type").toString();
  60. info.bucket_color = obj.value("bucket_color").toString();
  61. info.box_weight = obj.value("box_weight").toString();
  62. info.bucket_weight = obj.value("bucket_weight").toString();
  63. info.machine_no = obj.value("machine_no").toString();
  64. info.carton_type = obj.value("carton_type").toString();
  65. info.limit_number = obj.value("limit_number").toString();
  66. info.bucket_number = obj.value("bucket_number").toString();
  67. info.cake_float = obj.value("cake_float").toString();
  68. info.box_float = obj.value("box_float").toString();
  69. info.box_rule = obj.value("box_rule").toString();
  70. info.customer = obj.value("customer").toString();
  71. info.remark = obj.value("remark").toString();
  72. info.is_disable = obj.value("is_disable").toBool();
  73. info.create_time = obj.value("create_time").toInt();
  74. info.modified_time = obj.value("modified_time").toInt();
  75. // currtInfo.append(info);
  76. }
  77. void SelectValueForm::refPage(int page, int pageListNum)
  78. {
  79. ui->tableWidget->clearContents();
  80. ui->tableWidget->setRowCount(0);
  81. for(int i = 0; i < pageListNum; ++i){
  82. if(page*20+i>=prolist.size()){
  83. break;
  84. }
  85. auto & v = prolist.at(page*20+i);
  86. ui->tableWidget->insertRow(i);
  87. ui->tableWidget->setItem(i,0,new QTableWidgetItem(v->batch_no));
  88. ui->tableWidget->setItem(i,1,new QTableWidgetItem(v->specs));
  89. ui->tableWidget->setItem(i,2,new QTableWidgetItem(v->product_type_code));
  90. ui->tableWidget->setItem(i,3,new QTableWidgetItem(v->category));
  91. ui->tableWidget->setItem(i,4,new QTableWidgetItem(v->machine_no));
  92. ui->tableWidget->setItem(i,5,new QTableWidgetItem(v->bucket_color));
  93. ui->tableWidget->setItem(i,6,new QTableWidgetItem(v->twist_type));
  94. ui->tableWidget->setItem(i,7,new QTableWidgetItem(v->color));
  95. }
  96. totlePage = totleNum / pageListNum;
  97. if(totleNum % pageListNum > 0)
  98. totlePage ++;
  99. this->ui->labelPages->setText(QString("%1/%2").arg(nowPage+1).arg(totlePage));
  100. }
  101. void SelectValueForm::on_pushPrev_clicked()
  102. {
  103. if(nowPage > 0) {
  104. nowPage --;
  105. refPage(nowPage);
  106. }
  107. }
  108. void SelectValueForm::on_pushNext_clicked()
  109. {
  110. if(nowPage < totlePage-1){
  111. nowPage ++;
  112. refPage(nowPage);
  113. }
  114. }
  115. void SelectValueForm::on_pushButton_2_clicked()
  116. {
  117. int now = ui->tableWidget->currentRow();
  118. emit selectProject(ui->tableWidget->itemAt(now,0)->text());
  119. }
  120. void SelectValueForm::on_pushButton_3_clicked()
  121. {
  122. emit back();
  123. }
  124. void SelectValueForm::on_searchButton_clicked()
  125. {
  126. UserInfo user = GlobalInfo::this_()->user();
  127. bool isNoLine = GlobalInfo::this_()->isNoLine();
  128. GlobalInfo::this_()->start(user,isNoLine);
  129. qDebug()<<user.userName<<user.accountId<<user.acessToken;
  130. }