selectvalueform.cpp 4.5 KB

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