#include "selectvalueform.h" #include "ui_selectvalueform.h" #include "globalinfo.h" #include SelectValueForm::SelectValueForm(QWidget *parent) : QWidget(parent), ui(new Ui::SelectValueForm),nowPage(0),pageListNum(20),totlePage(1),totleNum(0) { ui->setupUi(this); connect(&_request,&HttpRequest::result,this,&SelectValueForm::result); ui->widget->hide(); } SelectValueForm::~SelectValueForm() { delete ui; } void SelectValueForm::getInfo(int page, int pageListNum) { nowPage = page; this->pageListNum = pageListNum; auto glo = GlobalInfo::this_(); auto url = glo->config().baseUrl + QString("/v1/goods/list?page=%1&limit=%2").arg(nowPage).arg(pageListNum); _request.setUserToken(QString::number(GlobalInfo::this_()->user().accountId),GlobalInfo::this_()->user().acessToken); _request.get(url); } void SelectValueForm::result(int code, const QJsonObject & body) { if(body.value("code").toInt(404) != 200){ nowPage = 0; pageListNum = 20; totlePage = 0; totleNum = 0; return; } currtInfo.clear(); totleNum = body.value("total").toInt(); QJsonArray ary = body.value("data").toArray(); for(int i =0; i < ary.size(); ++i){ parseObject(ary.at(i).toObject()); } refPage(); } void SelectValueForm::parseObject(const QJsonObject & obj) { ProjectInfo info; info.dtex = obj.value("detx").toString(); info.goods_id = obj.value("goods_id").toInt(); info.batch_no = obj.value("batch_no").toString(); info.category = obj.value("category").toString(); info.product_type_code = obj.value("product_type_code").toString(); info.spec_role = obj.value("spec_role").toString(); info.denier = obj.value("denier").toString(); // info.dtex = obj.value("detx").toString(); info.fiber = obj.value("fiber").toString(); info.specs = obj.value("specs").toString(); info.color = obj.value("color").toString(); info.twist_type = obj.value("twist_type").toString(); info.bucket_color = obj.value("bucket_color").toString(); info.box_weight = obj.value("box_weight").toString(); info.bucket_weight = obj.value("bucket_weight").toString(); info.machine_no = obj.value("machine_no").toString(); info.carton_type = obj.value("carton_type").toString(); info.limit_number = obj.value("limit_number").toString(); info.bucket_number = obj.value("bucket_number").toString(); info.cake_float = obj.value("cake_float").toString(); info.box_float = obj.value("box_float").toString(); info.box_rule = obj.value("box_rule").toString(); info.customer = obj.value("customer").toString(); info.remark = obj.value("remark").toString(); info.is_disable = obj.value("is_disable").toBool(); info.create_time = obj.value("create_time").toInt(); info.modified_time = obj.value("modified_time").toInt(); currtInfo.append(info); } void SelectValueForm::refPage() { ui->tableWidget->clearContents(); ui->tableWidget->setRowCount(0); for(int i = 0; i < currtInfo.size(); ++i){ auto & v = currtInfo.at(i); ui->tableWidget->insertRow(i); ui->tableWidget->setItem(i,0,new QTableWidgetItem(v.batch_no)); ui->tableWidget->setItem(i,1,new QTableWidgetItem(v.specs)); ui->tableWidget->setItem(i,2,new QTableWidgetItem(v.product_type_code)); ui->tableWidget->setItem(i,3,new QTableWidgetItem(v.category)); ui->tableWidget->setItem(i,4,new QTableWidgetItem(v.machine_no)); ui->tableWidget->setItem(i,5,new QTableWidgetItem(v.bucket_color)); ui->tableWidget->setItem(i,6,new QTableWidgetItem(v.twist_type)); ui->tableWidget->setItem(i,7,new QTableWidgetItem(v.color)); } this->ui->labelTotle->setText(QString::number(totleNum)); totlePage = totleNum / pageListNum; if(totleNum % pageListNum > 0) totlePage ++; this->ui->labelPages->setText(QString("%1/%2").arg(nowPage).arg(totlePage)); } void SelectValueForm::on_pushPrev_clicked() { if(nowPage > 0) { nowPage --; getInfo(nowPage); } } void SelectValueForm::on_pushNext_clicked() { if(nowPage < totlePage){ nowPage ++; getInfo(nowPage); } } void SelectValueForm::on_pushButton_2_clicked() { int now = ui->tableWidget->currentRow(); if(now >=0 && now < currtInfo.size()){ emit selectProject(currtInfo.at(now),status); } } void SelectValueForm::on_pushButton_3_clicked() { emit back(); }