error %!s(int64=6) %!d(string=hai) anos
pai
achega
2637729211

+ 1 - 0
handle/danjumuban.cpp

@@ -98,6 +98,7 @@ QImage DanJuMuBan::printBoxInfo(QString bar,QSharedPointer<BoxInfo> info)
 
     if(save)
         image.save(path+"/xiangdan/code"+bar+".bmp");
+
     return image;
 }
 

+ 17 - 0
packinfo.cpp

@@ -72,3 +72,20 @@ void PackInfo::addBoxInfoList(QSharedPointer<BoxInfo> boxes)
 {
     _boxes.append(boxes);
 }
+
+void PackInfo::delBoxInfoAt(int num)
+{
+    qDebug()<<"size"<<_boxes.size();
+    qDebug()<<"num"<<num;
+    _boxes.removeAt(num);
+}
+
+QSharedPointer<BoxInfo> PackInfo::boxInfoAt(int num)
+{
+    return _boxes.at(num);
+}
+
+int PackInfo::boxInfoSize()
+{
+    return _boxes.size();
+}

+ 3 - 1
packinfo.h

@@ -60,7 +60,9 @@ public:
 
     QSharedPointer<BoxInfo> addBoxInfo();
     void addBoxInfoList(QSharedPointer<BoxInfo> boxes);
-
+    void delBoxInfoAt(int num);
+    QSharedPointer<BoxInfo> boxInfoAt(int num);
+    int boxInfoSize();
 private:
     QString buildPackId();
     QString buildBoxId();

+ 73 - 28
widget/fixedweightpackform.cpp

@@ -21,7 +21,7 @@ FixedWeightPackForm::FixedWeightPackForm(QWidget *parent) :
         ui->taiPhone->setText(list.at(1));
     }
     ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
-    ui->pushStart->hide();
+//    ui->pushStart->hide();
 }
 
 FixedWeightPackForm::~FixedWeightPackForm()
@@ -98,20 +98,13 @@ void FixedWeightPackForm::on_pushStart_clicked()
 
 void FixedWeightPackForm::on_addBoxList_clicked()
 {
-    if(packinfo.isNull()){
-        packinfo.reset(new PackInfo(_info));
-        packinfo->operator_id = GlobalInfo::this_()->user().userId;
-        packinfo->packing_time = QDate::currentDate().toString("yy-MM-dd");
-        packinfo->packing_type = _info.category;
-        ui->tableWidget->clearContents();
-        ui->tableWidget->setRowCount(0);
-        ui->tableWidget->setColumnWidth(0,20);
-        ui->tableWidget->setColumnWidth(1,20);
-        ui->tableWidget->setColumnWidth(2,80);
-        ui->tableWidget->setColumnWidth(3,80);
-        ui->tableWidget->setColumnWidth(4,80);
-        ui->tableWidget->setColumnWidth(5,40);
+    //当当前箱数大于等于最大箱数是启动on_addPackList_clicked();
+    if(packinfo->boxes().size() >= ui->comboBox->currentText().toInt()){
+        on_addPackList_clicked();
     }
+
+    setTableWidget();//检查packinfo isNull
+
     auto box = packinfo->addBoxInfo();
 
     box->box_weight = int(ui->pizhong->currentText().toDouble()*1000);
@@ -127,15 +120,8 @@ void FixedWeightPackForm::on_addBoxList_clicked()
     packinfo->level = ui->dengji->currentText();
     packinfo->level_id = ui->dengji->currentData().toInt();
 
-
     ui->tableWidget->setRowCount(ui->tableWidget->rowCount()+1);
-    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,0,new QTableWidgetItem(QString::number(ui->tableWidget->rowCount())));
-
-    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,1,new QTableWidgetItem(QString::number(box->tube_number)));
-    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,2,new QTableWidgetItem(getDecimalbit(box->gross_weight / 1000.00)));
-    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,3,new QTableWidgetItem(getDecimalbit(box->box_weight / 1000.00)));
-    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,4,new QTableWidgetItem(getDecimalbit(box->net_weight / 1000.00)));
-    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,5,new QTableWidgetItem(box->caseNumber()));
+    addTableWidget(box);
 
 
 //    把box数据添加到packinfo的boxes数据表里;
@@ -146,13 +132,54 @@ void FixedWeightPackForm::on_addBoxList_clicked()
     ui->labelTongZHong->setText(QString::number(packinfo->tube_number()));
     ui->labelWight->setText(getDecimalbit(packinfo->gross_weight() / 1000.00));
     ui->labelJing->setText(getDecimalbit(packinfo->net_weight() / 1000.00));
+}
 
-    //当当前箱数大于等于最大箱数是启动on_addPackList_clicked();
-    if(packinfo->boxes().size() >= ui->comboBox->currentText().toInt()){
-        on_addPackList_clicked();
+//检查packinfo isNull
+void FixedWeightPackForm::setTableWidget()
+{
+    if(packinfo.isNull()){
+        packinfo.reset(new PackInfo(_info));
+        packinfo->operator_id = GlobalInfo::this_()->user().userId;
+        packinfo->packing_time = QDate::currentDate().toString("yy-MM-dd");
+        packinfo->packing_type = _info.category;
+        ui->tableWidget->clearContents();
+        ui->tableWidget->setRowCount(0);
+        ui->tableWidget->setColumnWidth(0,20);
+        ui->tableWidget->setColumnWidth(1,20);
+        ui->tableWidget->setColumnWidth(2,80);
+        ui->tableWidget->setColumnWidth(3,80);
+        ui->tableWidget->setColumnWidth(4,80);
+        ui->tableWidget->setColumnWidth(5,40);
     }
 }
 
+void FixedWeightPackForm::addTableWidget(QSharedPointer<BoxInfo> box)
+{
+    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,0,new QTableWidgetItem(QString::number(ui->tableWidget->rowCount())));
+
+    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,1,new QTableWidgetItem(QString::number(box->tube_number)));
+    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,2,new QTableWidgetItem(getDecimalbit(box->gross_weight / 1000.00)));
+    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,3,new QTableWidgetItem(getDecimalbit(box->box_weight / 1000.00)));
+    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,4,new QTableWidgetItem(getDecimalbit(box->net_weight / 1000.00)));
+    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,5,new QTableWidgetItem(box->caseNumber()));
+
+    auto btn_1 = new QPushButton("删除");
+    auto btn_2 = new QPushButton("修改");
+    auto btn_3 = new QPushButton("补打");
+
+
+    QWidget *tmp_widget = new QWidget();
+    QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget);
+    tmp_layout->addWidget(btn_1);
+    tmp_layout->addWidget(btn_2);
+    tmp_layout->addWidget(btn_3);
+    tmp_layout->setMargin(0);
+    int i = ui->tableWidget->rowCount()-1;
+    connect(btn_1,&QPushButton::clicked,[i,this](){this->del_clicked(i);});
+    connect(btn_3,&QPushButton::clicked,[i,this](){this->Makeup_clicked(i);});
+    ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1,6,tmp_widget);
+}
+
 void FixedWeightPackForm::init()
 {
     ui->pushStart->setChecked(false);
@@ -167,7 +194,7 @@ void FixedWeightPackForm::init()
     }
     ui->comboBox->setCurrentText("20");
     specs.getInfo(0,20);
-//    on_addPackList_clicked();
+    setTableWidget();//检查packinfo isNull
 }
 
 void FixedWeightPackForm::upconfig(const DaBaoConfig &config)
@@ -246,7 +273,7 @@ void FixedWeightPackForm::changeSpecs()
         auto & v = specs.currtInfo.at(i);
         ui->tableWidget_2->insertRow(i);
         auto xuanze_btn =  new QRadioButton();
-        connect(xuanze_btn,&QPushButton::clicked,[i,this](){this->xuanze_clicked(i);});
+        connect(xuanze_btn,&QPushButton::clicked,[i,this](){this->xuanZe_clicked(i);});
         ui->tableWidget_2->setCellWidget(i,0,xuanze_btn);
         ui->tableWidget_2->setItem(i,1,new QTableWidgetItem(v.specs));
         ui->tableWidget_2->setItem(i,2,new QTableWidgetItem(v.category));
@@ -255,7 +282,25 @@ void FixedWeightPackForm::changeSpecs()
     }
 }
 
-void FixedWeightPackForm::xuanze_clicked(int row)
+void FixedWeightPackForm::xuanZe_clicked(int row)
 {
+    setProInfo(specs.currtInfo.at(row));
+    packConfig.refConfig();
+}
 
+void FixedWeightPackForm::del_clicked(int row)
+{
+    qDebug()<<row;
+    packinfo->delBoxInfoAt(row);
+    ui->tableWidget->clear();
+    ui->tableWidget->setRowCount(0);
+    for(int i = 0;i<packinfo->boxInfoSize();i++){
+        ui->tableWidget->setRowCount(ui->tableWidget->rowCount()+1);
+        addTableWidget(packinfo->boxInfoAt(row));
+    }
+}
+
+void FixedWeightPackForm::Makeup_clicked(int row)
+{
+    djmb.printBoxInfo(packinfo->boxInfoAt(row)->caseNumber(),packinfo->boxInfoAt(row));
 }

+ 8 - 1
widget/fixedweightpackform.h

@@ -45,7 +45,13 @@ public slots:
     void upDengjiInfo(const QList<DengJiConfigItem> & dengJis);
     void init();
     void changeSpecs();
-    void xuanze_clicked(int row);
+    void xuanZe_clicked(int row);
+    void del_clicked(int row);
+    void Makeup_clicked(int row);
+
+public:
+    void setTableWidget();
+    void addTableWidget(QSharedPointer<BoxInfo> box);
 
 signals:
     void back();
@@ -61,6 +67,7 @@ private:
     double netNum = 0.00;
     AutoPackUtils aputils;
     SelectSpecs specs;
+    int row;
 };
 
 #endif // FIXEDWEIGHTPACKFORM_H

+ 71 - 45
widget/fixedweightpackform.ui

@@ -22,9 +22,6 @@
      <item>
       <widget class="QWidget" name="widget_4" native="true">
        <layout class="QGridLayout" name="gridLayout_4">
-        <property name="leftMargin">
-         <number>0</number>
-        </property>
         <item row="0" column="0">
          <layout class="QGridLayout" name="gridLayout_3">
           <item row="0" column="0">
@@ -121,49 +118,78 @@
          </layout>
         </item>
         <item row="1" column="0">
-         <widget class="QTableWidget" name="tableWidget">
-          <property name="minimumSize">
-           <size>
-            <width>562</width>
-            <height>0</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>9999</width>
-            <height>16777215</height>
-           </size>
+         <widget class="QStackedWidget" name="stackedWidget">
+          <property name="currentIndex">
+           <number>0</number>
           </property>
-          <column>
-           <property name="text">
-            <string>序号</string>
-           </property>
-          </column>
-          <column>
-           <property name="text">
-            <string>筒数</string>
-           </property>
-          </column>
-          <column>
-           <property name="text">
-            <string>毛重</string>
-           </property>
-          </column>
-          <column>
-           <property name="text">
-            <string>皮重</string>
-           </property>
-          </column>
-          <column>
-           <property name="text">
-            <string>净重</string>
-           </property>
-          </column>
-          <column>
-           <property name="text">
-            <string>箱号</string>
-           </property>
-          </column>
+          <widget class="QWidget" name="page">
+           <layout class="QGridLayout" name="gridLayout_11">
+            <property name="leftMargin">
+             <number>0</number>
+            </property>
+            <property name="topMargin">
+             <number>0</number>
+            </property>
+            <property name="rightMargin">
+             <number>0</number>
+            </property>
+            <property name="bottomMargin">
+             <number>0</number>
+            </property>
+            <item row="0" column="0">
+             <widget class="QTableWidget" name="tableWidget">
+              <property name="minimumSize">
+               <size>
+                <width>562</width>
+                <height>0</height>
+               </size>
+              </property>
+              <property name="maximumSize">
+               <size>
+                <width>9999</width>
+                <height>16777215</height>
+               </size>
+              </property>
+              <column>
+               <property name="text">
+                <string>序号</string>
+               </property>
+              </column>
+              <column>
+               <property name="text">
+                <string>筒数</string>
+               </property>
+              </column>
+              <column>
+               <property name="text">
+                <string>毛重</string>
+               </property>
+              </column>
+              <column>
+               <property name="text">
+                <string>皮重</string>
+               </property>
+              </column>
+              <column>
+               <property name="text">
+                <string>净重</string>
+               </property>
+              </column>
+              <column>
+               <property name="text">
+                <string>箱号</string>
+               </property>
+              </column>
+              <column>
+               <property name="text">
+                <string/>
+               </property>
+              </column>
+             </widget>
+            </item>
+           </layout>
+          </widget>
+          <widget class="QWidget" name="page_2"/>
          </widget>
         </item>
        </layout>

+ 74 - 28
widget/uncertainweightpackform.cpp

@@ -70,6 +70,7 @@ void UncertainWeightPackForm::calcData()
 void UncertainWeightPackForm::on_addPackList_clicked()
 {
     if(packinfo.isNull()) return;
+    qDebug()<<"this";
 
     if(packinfo->boxes().size()>0){
         packinfo->quantity = packinfo->boxes().size();
@@ -108,24 +109,18 @@ void UncertainWeightPackForm::on_pushStart_clicked()
 
 void UncertainWeightPackForm::on_addBoxList_clicked()
 {
+    setTableWidget();
         if(ui->tongshu->text()!="0"&&!ui->tongshu->text().toInt()){
             QMessageBox::information(this,tr("注意"),tr("筒数异常"));
             return;
         }
-    if(packinfo.isNull()){
-        packinfo.reset(new PackInfo(_info));
-        packinfo->operator_id = GlobalInfo::this_()->user().userId;
-        packinfo->packing_time = QDate::currentDate().toString("yy-MM-dd");
-        packinfo->packing_type = _info.category;
-        ui->tableWidget->clearContents();
-        ui->tableWidget->setRowCount(0);
-        ui->tableWidget->setColumnWidth(0,20);
-        ui->tableWidget->setColumnWidth(1,20);
-        ui->tableWidget->setColumnWidth(2,80);
-        ui->tableWidget->setColumnWidth(3,80);
-        ui->tableWidget->setColumnWidth(4,80);
-        ui->tableWidget->setColumnWidth(5,40);
-    }
+        //当当前箱数大于等于最大箱数是启动on_addPackList_clicked();
+        if(packinfo->boxes().size()>=ui->mashu->currentText().toInt()){
+            on_addPackList_clicked();
+        }
+
+    setTableWidget();
+
     auto box = packinfo->addBoxInfo();
 
     box->box_weight = int(ui->pizhong->currentText().toDouble()*1000);
@@ -142,14 +137,8 @@ void UncertainWeightPackForm::on_addBoxList_clicked()
     packinfo->level = ui->dengji->currentText();
     packinfo->level_id = ui->dengji->currentData().toInt();
 
-
     ui->tableWidget->setRowCount(ui->tableWidget->rowCount()+1);
-    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,0,new QTableWidgetItem(QString::number(ui->tableWidget->rowCount())));
-    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,1,new QTableWidgetItem(QString::number(box->tube_number)));
-    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,2,new QTableWidgetItem(getDecimalbit(box->gross_weight / 1000.00)));
-    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,3,new QTableWidgetItem(getDecimalbit(box->box_weight / 1000.00)));
-    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,4,new QTableWidgetItem(getDecimalbit(box->net_weight/1000.00)));
-    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,5,new QTableWidgetItem(box->caseNumber()));
+    addTableWidget(box);//添加tablewidget
 
 //    把box数据添加到packinfo的boxes数据表里;
     packinfo->addBoxInfoList(box);
@@ -161,10 +150,6 @@ void UncertainWeightPackForm::on_addBoxList_clicked()
     ui->labelWight->setText(getDecimalbit(packinfo->gross_weight() / 1000.00));
     ui->labelJing->setText(getDecimalbit(packinfo->net_weight() / 1000.00));
 
-    //当当前箱数大于等于最大箱数是启动on_addPackList_clicked();
-    if(packinfo->boxes().size()>=ui->mashu->currentText().toInt()){
-        on_addPackList_clicked();
-    }
 }
 
 //自动读数按钮
@@ -203,6 +188,51 @@ void UncertainWeightPackForm::on_tongshuxianzhi_stateChanged(int arg1)
     istubeNumTure = false;
 }
 
+//检查packinfo isNull
+void UncertainWeightPackForm::setTableWidget()
+{
+    if(packinfo.isNull()){
+        packinfo.reset(new PackInfo(_info));
+        packinfo->operator_id = GlobalInfo::this_()->user().userId;
+        packinfo->packing_time = QDate::currentDate().toString("yy-MM-dd");
+        packinfo->packing_type = _info.category;
+        ui->tableWidget->clearContents();
+        ui->tableWidget->setRowCount(0);
+        ui->tableWidget->setColumnWidth(0,20);
+        ui->tableWidget->setColumnWidth(1,20);
+        ui->tableWidget->setColumnWidth(2,80);
+        ui->tableWidget->setColumnWidth(3,80);
+        ui->tableWidget->setColumnWidth(4,80);
+        ui->tableWidget->setColumnWidth(5,40);
+    }
+}
+
+void UncertainWeightPackForm::addTableWidget(QSharedPointer<BoxInfo> box)
+{
+    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,0,new QTableWidgetItem(QString::number(ui->tableWidget->rowCount())));
+
+    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,1,new QTableWidgetItem(QString::number(box->tube_number)));
+    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,2,new QTableWidgetItem(getDecimalbit(box->gross_weight / 1000.00)));
+    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,3,new QTableWidgetItem(getDecimalbit(box->box_weight / 1000.00)));
+    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,4,new QTableWidgetItem(getDecimalbit(box->net_weight / 1000.00)));
+    ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,5,new QTableWidgetItem(box->caseNumber()));
+
+    auto btn_1 = new QPushButton("删除");
+    auto btn_2 = new QPushButton("修改");
+    auto btn_3 = new QPushButton("补打");
+
+
+    QWidget *tmp_widget = new QWidget();
+    QHBoxLayout *tmp_layout = new QHBoxLayout(tmp_widget);
+    tmp_layout->addWidget(btn_1);
+    tmp_layout->addWidget(btn_2);
+    tmp_layout->addWidget(btn_3);
+    tmp_layout->setMargin(0);
+    int i = ui->tableWidget->rowCount()-1;
+    connect(btn_1,&QPushButton::clicked,[i,this](){this->del_clicked(i);});
+    connect(btn_3,&QPushButton::clicked,[i,this](){this->Makeup_clicked(i);});
+    ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1,6,tmp_widget);
+}
 
 void UncertainWeightPackForm::init()
 {
@@ -220,7 +250,6 @@ void UncertainWeightPackForm::init()
     }
     ui->mashu->setCurrentText("20");
     specs.getInfo(0,20);
-//    on_addPackList_clicked();
 }
 
 void UncertainWeightPackForm::upconfig(const DaBaoConfig &config)
@@ -292,7 +321,7 @@ void UncertainWeightPackForm::changeSpecs()
         auto & v = specs.currtInfo.at(i);
         ui->tableWidget_2->insertRow(i);
         auto xuanze_btn =  new QRadioButton();
-        connect(xuanze_btn,&QPushButton::clicked,[i,this](){this->xuanze_clicked(i);});
+        connect(xuanze_btn,&QPushButton::clicked,[i,this](){this->xuanZe_clicked(i);});
         ui->tableWidget_2->setCellWidget(i,0,xuanze_btn);
         ui->tableWidget_2->setItem(i,1,new QTableWidgetItem(v.specs));
         ui->tableWidget_2->setItem(i,2,new QTableWidgetItem(v.category));
@@ -301,7 +330,24 @@ void UncertainWeightPackForm::changeSpecs()
     }
 }
 
-void UncertainWeightPackForm::xuanze_clicked(int row)
+void UncertainWeightPackForm::xuanZe_clicked(int row)
 {
+    setProInfo(specs.currtInfo.at(row));
+    packConfig.refConfig();
+}
 
+void UncertainWeightPackForm::del_clicked(int row)
+{
+    packinfo->delBoxInfoAt(row);
+    ui->tableWidget->clear();
+    ui->tableWidget->setRowCount(0);
+    for(int i = 0;i<packinfo->boxInfoSize();i++){
+        ui->tableWidget->setRowCount(ui->tableWidget->rowCount()+1);
+        addTableWidget(packinfo->boxInfoAt(row));
+    }
+}
+
+void UncertainWeightPackForm::Makeup_clicked(int row)
+{
+    djmb.printBoxInfo(packinfo->boxInfoAt(row)->caseNumber(),packinfo->boxInfoAt(row));
 }

+ 7 - 1
widget/uncertainweightpackform.h

@@ -51,7 +51,13 @@ public slots:
     void upDengjiInfo(const QList<DengJiConfigItem> & dengJis);
     void init();
     void changeSpecs();
-    void xuanze_clicked(int row);
+    void xuanZe_clicked(int row);
+    void del_clicked(int row);
+    void Makeup_clicked(int row);
+
+public:
+    void setTableWidget();
+    void addTableWidget(QSharedPointer<BoxInfo> box);
 
 signals:
     void back();

+ 6 - 1
widget/uncertainweightpackform.ui

@@ -6,7 +6,7 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>1085</width>
+    <width>1090</width>
     <height>685</height>
    </rect>
   </property>
@@ -897,6 +897,11 @@ color: rgb(0, 170, 255);</string>
           <string>箱号</string>
          </property>
         </column>
+        <column>
+         <property name="text">
+          <string/>
+         </property>
+        </column>
        </widget>
       </item>
      </layout>