error 5 лет назад
Родитель
Сommit
f5ceca1c12

+ 7 - 0
globalinfo.cpp

@@ -104,6 +104,13 @@ void GlobalInfo::printerBox(QSharedPointer<BoxInfo> info)
     }
 }
 
+void GlobalInfo::printerBox1(QSharedPointer<BoxInfo> info)
+{
+    if(_printer){
+        emit _printer->printerBox1(info);
+    }
+}
+
 void GlobalInfo::printerBoxModel(QSharedPointer<BoxInfo> info,int ModelIndex)
 {
     if(_printer){

+ 2 - 0
globalinfo.h

@@ -36,6 +36,7 @@ public:
 
     bool addCacheInfo(QSharedPointer<ProjectInfo> & info);
     inline PackInfoManger * packInfoManger() {return packmanger;}
+    inline ProjectInfoManger * projectInfoManger() {return _projectmanger;}
 
     QString packNum();
 
@@ -59,6 +60,7 @@ public:
     inline const QList<QSharedPointer<PackModel>> & PackModelList() {return packModelList;}
 
     void printerBox(QSharedPointer<BoxInfo> info);
+    void printerBox1(QSharedPointer<BoxInfo> info);
     void printerBoxModel(QSharedPointer<BoxInfo> info,int ModelIndex);
     void printerPack(QSharedPointer<PackInfo> info);
     void printerPackModel(QSharedPointer<PackInfo> info,int ModelIndex);

+ 1 - 0
handle/packinfomanger.cpp

@@ -66,6 +66,7 @@ QDir PackInfoManger::getDir(const QDate & tm, bool create)
     if(create && !_dataDir.exists(dirName)){
         _dataDir.mkdir(dirName);
     }
+    qDebug()<<_dataDir.absoluteFilePath(dirName);
     return QDir(_dataDir.absoluteFilePath(dirName));
 }
 

+ 1 - 0
handle/printer/baseboxprinter.h

@@ -15,6 +15,7 @@ public:
     virtual ~BaseBoxPrinter();
 
     virtual QImage doPrinter(QSharedPointer<BoxInfo> box) = 0;
+    virtual QImage doPrinter1(QSharedPointer<BoxInfo> box) = 0;
     virtual QImage doPrinter(QSharedPointer<BoxInfo> box,int ModelIndex) = 0;
     virtual QImage Boxmodel() = 0;
     virtual QSize printSize() = 0;

+ 73 - 6
handle/printer/boxtemlateone.cpp

@@ -1,11 +1,10 @@
 #include "boxtemlateone.h"
 #include "pqQtlib/log/pqlog.h"
-
 BoxTemlateOne::BoxTemlateOne()
 {
 
 }
-
+//默认箱单
 QImage BoxTemlateOne::doPrinter(QSharedPointer<BoxInfo> box)
 {
     QSharedPointer<PackInfo> pinfo = box->parentPack();
@@ -77,9 +76,77 @@ QImage BoxTemlateOne::doPrinter(QSharedPointer<BoxInfo> box)
 
 //    print(image);
 
-//    QString path = PQ::PQLogManger::this_()->getSaveFilePath();
-//    if(save)
-//        image.save(path+"/xiangdan/code"+bar+".bmp");
+    QString path = PQ::PQLogManger::this_()->getSaveFilePath();
+        image.save(path+"/xiangdan/code"+bar+".bmp");
+    return image;
+
+//    return img;
+}
+
+//默认箱单2
+QImage BoxTemlateOne::doPrinter1(QSharedPointer<BoxInfo> box)
+{
+    QSharedPointer<PackInfo> pinfo = box->parentPack();
+    if(pinfo.isNull()) return QImage();
+    QSize size(MAXWIDTH*5,MAXHEIGHT*5);
+    QImage image(size,QImage::Format_ARGB32);
+    image.fill(qRgba(255, 255, 255, 255));
+    QPainter painter(&image);
+    painter.drawRect(5*5,5*5,90*5,60*5);
+    painter.drawLine(5*5,14*5,95*5,14*5);
+    painter.drawLine(5*5,23*5,95*5,23*5);
+    painter.drawLine(5*5,32*5,95*5,32*5);
+    painter.drawLine(5*5,41*5,95*5,41*5);
+    painter.drawLine(5*5,50*5,95*5,50*5);
+    painter.drawLine(50*5,32*5,50*5,60*5);
+    painter.drawLine(20*5,5*5,20*5,60*5);
+    painter.drawLine(65*5,32*5,65*5,60*5);
+    painter.drawRect(5*5,60*5,90*5,15*5);
+//    painter.drawRect(5*5,70*5,90*5,7*5);
+
+    QRect target(0*5, 62*5, 100*5, 70*5);
+//    QRect source(-10*5, 0, 65*5, 40*5);
+    QString bar = box->caseNumber();
+    code.draw(painter,target,bar);
+//    painter.drawImage(target,barCode.draw(barCode.CodeBinary(bar),bar),source);
+
+//    painter.setRenderHint(QPainter::Antialiasing,true);
+//    painter.setRenderHint(QPainter::TextAntialiasing,true);
+//    painter.setRenderHint(QPainter::HighQualityAntialiasing,true);
+    QFont font;
+    font.setFamily("宋体");
+    font.setPixelSize(18);
+    font.setBold(true);
+    painter.setFont(font);
+    painter.drawText(6*5,11*5,QStringLiteral("品   种"));
+    painter.drawText(6*5,20*5,QStringLiteral("规   格"));
+    painter.drawText(6*5,29*5,QStringLiteral("批   号"));
+    painter.drawText(6*5,38*5,QStringLiteral("等   级"));
+    painter.drawText(6*5,47*5,QStringLiteral("净   重"));
+    painter.drawText(6*5,56*5,QStringLiteral("筒   数"));
+    painter.drawText(50*5,38*5,QStringLiteral("纸管颜色"));
+    painter.drawText(51*5,47*5,QStringLiteral("毛   重"));
+    painter.drawText(51*5,56*5,QStringLiteral("箱   号"));
+//    painter.drawRect(text1);
+
+    font.setPixelSize(20);
+    painter.setFont(font);
+    painter.drawText(QRect(20*5,5*5,75*5,9*5),Qt::AlignCenter|Qt::AlignHCenter,pinfo->info()->product_type_code);
+    painter.drawText(QRect(20*5,14*5,75*5,9*5),Qt::AlignCenter|Qt::AlignHCenter,pinfo->info()->specs);
+    painter.drawText(QRect(20*5,23*5,75*5,9*5),Qt::AlignCenter|Qt::AlignHCenter,pinfo->info()->batch_no);
+    painter.drawText(QRect(20*5,32*5,30*5,9*5),Qt::AlignCenter|Qt::AlignHCenter,box->Level);
+    painter.drawText(QRect(20*5,41*5,30*5,9*5),Qt::AlignCenter|Qt::AlignHCenter,QString("%1 kg").arg(getDecimalbit(box->net_weight / 1000.00)));
+    painter.drawText(QRect(20*5,50*5,30*5,9*5),Qt::AlignCenter|Qt::AlignHCenter,QString::number(box->tube_number));
+    painter.drawText(QRect(65*5,32*5,30*5,9*5),Qt::AlignCenter|Qt::AlignHCenter,pinfo->info()->bucket_color);
+    painter.drawText(QRect(65*5,41*5,30*5,9*5),Qt::AlignCenter|Qt::AlignHCenter,QString("%1 kg").arg(getDecimalbit(box->gross_weight / 1000.00)));
+    font.setPixelSize(18);
+    painter.setFont(font);
+    painter.drawText(QRect(65*5,50*5,30*5,9*5),Qt::AlignCenter|Qt::AlignHCenter,box->caseNumber());
+
+//    print(image);
+
+    QString path = PQ::PQLogManger::this_()->getSaveFilePath();
+        image.save(path+"/xiangdan/code"+bar+".bmp");
     return image;
 
 //    return img;
@@ -265,7 +332,7 @@ QImage BoxTemlateOne::Boxmodel()
 
 PackTemlateOne::PackTemlateOne()
 {}
-
+//默认码单
 QImage PackTemlateOne::doPrinter(QSharedPointer<PackInfo> pack)
 {
     //TODO: 小宋,迁移打印 码单的逻辑

+ 2 - 1
handle/printer/boxtemlateone.h

@@ -9,7 +9,8 @@ class BoxTemlateOne : public BaseBoxPrinter
 public:
     BoxTemlateOne();
 
-    virtual QImage doPrinter(QSharedPointer<BoxInfo> box);
+    virtual QImage doPrinter(QSharedPointer<BoxInfo> box);//默认码单
+    virtual QImage doPrinter1(QSharedPointer<BoxInfo> box);//默认码单2
     virtual QImage doPrinter(QSharedPointer<BoxInfo> box,int ModelIndex);
     virtual QImage Boxmodel();
     virtual QSize printSize();

+ 14 - 0
handle/printer/printermanger.cpp

@@ -42,6 +42,20 @@ void PrinterManger::printerBox(QSharedPointer<BoxInfo> info)
     }
 }
 
+void PrinterManger::printerBox1(QSharedPointer<BoxInfo> info)
+{
+    if(_boxPrinter.isNull()) return;
+    auto image = _boxPrinter->doPrinter1(info);
+    if(image.isNull()) return;
+    QPrinter printer(QPrinterInfo::printerInfo(_printerName));
+    printer.setPageSize(QPrinter::Custom);
+    printer.setPageSizeMM(_boxPrinter->printSize());
+//    for(int i = 0; i < count; ++i) // TODO:
+    {
+        doPrinter(printer,image);
+    }
+}
+
 void PrinterManger::printerBoxModel(QSharedPointer<BoxInfo> info,int ModelIndex)
 {
     if(_boxPrinter.isNull()) return;

+ 1 - 0
handle/printer/printermanger.h

@@ -17,6 +17,7 @@ public:
 signals:
 public slots:
     void printerBox(QSharedPointer<BoxInfo> info);
+    void printerBox1(QSharedPointer<BoxInfo> info);
     void printerBoxModel(QSharedPointer<BoxInfo> info,int ModelIndex);
 
     void printerPack(QSharedPointer<PackInfo> info);

+ 1 - 0
handle/printerthreadhandle.cpp

@@ -20,6 +20,7 @@ void PrinterThreadHandle::start()
         connect(thread,&QThread::started,this,&PrinterThreadHandle::updateConfig);
         manger = new PrinterManger(this);
         connect(this,&PrinterThreadHandle::printerBox,manger,&PrinterManger::printerBox,Qt::QueuedConnection);
+        connect(this,&PrinterThreadHandle::printerBox1,manger,&PrinterManger::printerBox1,Qt::QueuedConnection);
         connect(this,&PrinterThreadHandle::printerBoxModel,manger,&PrinterManger::printerBoxModel,Qt::QueuedConnection);
         connect(this,&PrinterThreadHandle::printerPack,manger,&PrinterManger::printerPack,Qt::QueuedConnection);
         connect(this,&PrinterThreadHandle::printerPackModel,manger,&PrinterManger::printerPackModel,Qt::QueuedConnection);

+ 1 - 0
handle/printerthreadhandle.h

@@ -14,6 +14,7 @@ public:
 
 signals:
     void printerBox(QSharedPointer<BoxInfo> info);
+    void printerBox1(QSharedPointer<BoxInfo> info);
     void printerBoxModel(QSharedPointer<BoxInfo> info,int ModelIndex);
     void printerPack(QSharedPointer<PackInfo> info);
     void printerPackModel(QSharedPointer<PackInfo> info,int ModelIndex);

+ 10 - 1
handle/projectinfomanger.cpp

@@ -41,6 +41,7 @@ bool ProjectInfoManger::syncLocalList()
     for(int i = 0; i < info.size(); ++i){
         _pushQueue.append(info.at(i));
     }
+//    qDebug()<<"pushQueue.size"<<_pushQueue.size();
     QTimer::singleShot(0,this,&ProjectInfoManger::doSendCreate);
     return true;
 }
@@ -59,6 +60,12 @@ void ProjectInfoManger::doSendLoad()
     _requst.get(url);
 }
 
+void ProjectInfoManger::addNewProject(QSharedPointer<ProjectInfo> pro)
+{
+    _pushQueue.append(pro);
+    QTimer::singleShot(20,this,&ProjectInfoManger::doSendCreate);
+}
+
 void ProjectInfoManger::doSendCreate()
 {
     if(!_pushQueue.isEmpty()){
@@ -67,7 +74,7 @@ void ProjectInfoManger::doSendCreate()
         // test:  调用新建批号的接口
         // docs: http://doc.vanlai.net:3001/web/#/1?page_id=59
 
-        QString url = GlobalInfo::this_()->config()->baseUrl+"/v1/goods/add";
+        QString url = GlobalInfo::this_()->config()->baseUrl+"/v2/goods/add";
         _requst.setUserToken(QString::number(GlobalInfo::this_()->user().accountId),GlobalInfo::this_()->user().acessToken);
         _requst.post(url,info->toObject());
     } else {
@@ -125,6 +132,8 @@ void ProjectInfoManger::handlSync(int code, const QJsonObject & body)
     }
 //    auto error = body.value("code").toInt();
 //    if(error == 200){
+        emit sync();
+
         _pushQueue.dequeue();
         QTimer::singleShot(50,this,&ProjectInfoManger::syncLocalList);
 //    } else {

+ 3 - 0
handle/projectinfomanger.h

@@ -28,12 +28,15 @@ public:
 signals:
     void inited(ProjectInfoManger * manger, bool inited);
     void synced(ProjectInfoManger * manger, bool inited);
+    void sync();
 public slots:
     bool loadServerList(bool local);
 
     bool syncLocalList();
 
     void setStatus();
+
+    void addNewProject(QSharedPointer<ProjectInfo> pro);
 private slots:
 
     void doSendLoad();

+ 20 - 4
mainwindow.cpp

@@ -57,6 +57,22 @@ MainWindow::MainWindow(QWidget *parent)
     ui->actionXiangDan->setVisible(true);
     ui->actionMaDan->setVisible(true);
     ui->actionXiangDan->setData(1);
+
+
+//    QDesktopWidget* desktopWidget =QApplication::desktop();
+//     QRect deskRect =desktopWidget->availableGeometry();   //获取可用桌面大小
+//     QRect screenRect =desktopWidget->screenGeometry();  //获取设备屏幕大小
+
+
+//    ui->bg_widget->setAutoFillBackground(true);
+//    QImage image;
+//    image.load(":/images/backImage.jpg");
+//    QPalette palette;
+//    palette.setBrush(QPalette::Background, QBrush(image.scaled(
+//        QSize(deskRect.width(),deskRect.height()),
+//        Qt::IgnoreAspectRatio,
+//        Qt::SmoothTransformation)));
+//    ui->bg_widget->setPalette(palette);
 }
 
 MainWindow::~MainWindow()
@@ -132,10 +148,10 @@ void MainWindow::changeToAddNew()
 //        QMessageBox::information(this,tr("注意"),tr("在线不能添加规格"));
 //        return;
 //    }
-    if(GlobalInfo::this_()->isNoLine() == true){
-        QMessageBox::information(this,tr("注意"),tr("离线不能添加规格"));
-        return;
-    }
+//    if(GlobalInfo::this_()->isNoLine() == true){
+//        QMessageBox::information(this,tr("注意"),tr("离线不能添加规格"));
+//        return;
+//    }
     ui->stackedWidget->setCurrentWidget(ui->pageAddNew);
 }
 

+ 98 - 74
mainwindow.ui

@@ -21,7 +21,7 @@
     <item row="0" column="0">
      <widget class="QStackedWidget" name="stackedWidget">
       <property name="currentIndex">
-       <number>0</number>
+       <number>5</number>
       </property>
       <widget class="QWidget" name="pageMain">
        <layout class="QGridLayout" name="gridLayout_4">
@@ -89,83 +89,107 @@
       <widget class="SettingsForm" name="pageSettings"/>
       <widget class="QWidget" name="pageLogin">
        <property name="styleSheet">
-        <string notr="true">background-color: rgb(119, 185, 255);</string>
+        <string notr="true"/>
        </property>
        <layout class="QVBoxLayout" name="verticalLayout_2">
+        <property name="spacing">
+         <number>0</number>
+        </property>
+        <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>
-         <spacer name="verticalSpacer">
-          <property name="orientation">
-           <enum>Qt::Vertical</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>20</width>
-            <height>150</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-        <item>
-         <layout class="QHBoxLayout" name="horizontalLayout_3">
-          <item>
-           <spacer name="horizontalSpacer">
-            <property name="orientation">
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>40</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item>
-           <widget class="LoginForm" name="widgetLogin" native="true">
-            <property name="minimumSize">
-             <size>
-              <width>400</width>
-              <height>270</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>400</width>
-              <height>270</height>
-             </size>
-            </property>
-            <property name="styleSheet">
-             <string notr="true">background-color: rgb(185, 229, 255);</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <spacer name="horizontalSpacer_2">
-            <property name="orientation">
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>40</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-         </layout>
-        </item>
-        <item>
-         <spacer name="verticalSpacer_2">
-          <property name="orientation">
-           <enum>Qt::Vertical</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>20</width>
-            <height>150</height>
-           </size>
+         <widget class="QWidget" name="bg_widget" native="true">
+          <property name="styleSheet">
+           <string notr="true">background-color: rgb(116, 190, 255);</string>
           </property>
-         </spacer>
+          <layout class="QGridLayout" name="gridLayout_5">
+           <item row="0" column="0">
+            <spacer name="verticalSpacer">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>150</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item row="2" column="0">
+            <spacer name="verticalSpacer_2">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>134</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item row="1" column="0">
+            <layout class="QHBoxLayout" name="horizontalLayout_3">
+             <item>
+              <spacer name="horizontalSpacer">
+               <property name="orientation">
+                <enum>Qt::Horizontal</enum>
+               </property>
+               <property name="sizeHint" stdset="0">
+                <size>
+                 <width>40</width>
+                 <height>20</height>
+                </size>
+               </property>
+              </spacer>
+             </item>
+             <item>
+              <widget class="LoginForm" name="widgetLogin" native="true">
+               <property name="minimumSize">
+                <size>
+                 <width>400</width>
+                 <height>270</height>
+                </size>
+               </property>
+               <property name="maximumSize">
+                <size>
+                 <width>400</width>
+                 <height>270</height>
+                </size>
+               </property>
+               <property name="styleSheet">
+                <string notr="true">background-color: rgb(185, 229, 255);</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <spacer name="horizontalSpacer_2">
+               <property name="orientation">
+                <enum>Qt::Horizontal</enum>
+               </property>
+               <property name="sizeHint" stdset="0">
+                <size>
+                 <width>40</width>
+                 <height>20</height>
+                </size>
+               </property>
+              </spacer>
+             </item>
+            </layout>
+           </item>
+          </layout>
+         </widget>
         </item>
        </layout>
       </widget>

+ 17 - 7
widget/fixedweightpackform.cpp

@@ -169,8 +169,10 @@ void FixedWeightPackForm::on_addBoxList_clicked()
 //    把box数据添加到packinfo的boxes数据表里;
     packinfo->addBoxInfoList(box);
     if(ui->xiangdanPrint->isChecked()){
-        if(ui->xiangdan->currentIndex() == 0){
+        if(ui->xiangdan->currentText() == "默认箱单"){
             GlobalInfo::this_()->printerBox(box);
+        }else if(ui->xiangdan->currentText() == "默认箱单2"){
+            GlobalInfo::this_()->printerBox1(box);
         }else{
             GlobalInfo::this_()->printerBoxModel(box,ui->xiangdan->currentIndex()-1);
         }
@@ -381,10 +383,12 @@ void FixedWeightPackForm::upBoxModelList()
 {
     ui->xiangdan->clear();
     ui->xiangdan->addItem("默认箱单");
+    ui->xiangdan->addItem("默认箱单2");
     QList<QSharedPointer<BoxModel>> boxList = glo->BoxModelList();
     for(int i = 0;i<boxList.size();i++){
         ui->xiangdan->addItem(boxList.at(i)->Model_Name);
     }
+//    ui->xiangdan->setCurrentText("默认箱单2");
 }
 
 void FixedWeightPackForm::upPackModelList()
@@ -444,15 +448,21 @@ void FixedWeightPackForm::updateTableWidget(QList<QSharedPointer<ProjectInfo>> &
     int currt = -1;
     for(int i = 0; i < list.size(); ++i){
         auto & v = list.at(i);
-        ui->tableWidget_2->insertRow(i);
+        if(v->goods_id<0){
+            continue;
+        }
+//        ui->tableWidget_2->insertRow();
+        ui->tableWidget_2->setRowCount(ui->tableWidget_2->rowCount()+1);
         auto xuanze_btn =  new QRadioButton();
         QString batchno = prolist.at(i)->batch_no;
+//        qDebug()<<ui->tableWidget_2->rowCount()<<batchno;
         connect(xuanze_btn,&QPushButton::clicked,[batchno,this](){this->xuanZe_clicked(batchno);});
-        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));
-        ui->tableWidget_2->setItem(i,3,new QTableWidgetItem(v->batch_no));
-        ui->tableWidget_2->setItem(i,4,new QTableWidgetItem(v->color));
+        int row = ui->tableWidget_2->rowCount()-1;
+        ui->tableWidget_2->setCellWidget(row,0,xuanze_btn);
+        ui->tableWidget_2->setItem(row,1,new QTableWidgetItem(v->specs));
+        ui->tableWidget_2->setItem(row,2,new QTableWidgetItem(v->category));
+        ui->tableWidget_2->setItem(row,3,new QTableWidgetItem(v->batch_no));
+        ui->tableWidget_2->setItem(row,4,new QTableWidgetItem(v->color));
         if(!_info.isNull() && _info->batch_no == v->batch_no){
             xuanze_btn->setChecked(true);
             currt = i;

+ 0 - 2
widget/loginform.cpp

@@ -136,8 +136,6 @@ void LoginForm::on_pushButton_clicked()
         QMessageBox::warning(this,tr("请先成功登陆一次!"),tr("请先成功登陆一次!"));
         return;
     }
-//    GlobalInfo::this_()->isNoLine = true;
-//    GlobalInfo::this_()->setUser(user);
     GlobalInfo::this_()->start(user,true);
     emit loginFinish();
 }

+ 11 - 2
widget/loginform.ui

@@ -85,7 +85,7 @@
       <property name="geometry">
        <rect>
         <x>100</x>
-        <y>115</y>
+        <y>120</y>
         <width>81</width>
         <height>41</height>
        </rect>
@@ -96,12 +96,21 @@
       <property name="text">
        <string>登陆</string>
       </property>
+      <property name="autoDefault">
+       <bool>true</bool>
+      </property>
+      <property name="default">
+       <bool>true</bool>
+      </property>
+      <property name="flat">
+       <bool>false</bool>
+      </property>
      </widget>
      <widget class="QPushButton" name="pushButton">
       <property name="geometry">
        <rect>
         <x>210</x>
-        <y>115</y>
+        <y>120</y>
         <width>81</width>
         <height>41</height>
        </rect>

+ 26 - 1
widget/selectvalueform.cpp

@@ -19,6 +19,9 @@ SelectValueForm::SelectValueForm(QWidget *parent) :
 //    ui->specs->hide();
     ui->color->hide();
     ui->pushButton_2->setEnabled(false);
+    Manger = GlobalInfo::this_()->packInfoManger();
+    proinfo = new ProjectInfoManger(Manger,this);
+    connect(proinfo,&ProjectInfoManger::sync,this,&SelectValueForm::on_RefreshButton_clicked);
 //    ui->RefreshButton->hide();
 }
 
@@ -121,7 +124,15 @@ void SelectValueForm::refPage(int page, int pageListNum)
         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));
+        ui->tableWidget->setItem(i,8,new QTableWidgetItem(v->goods_id>=0?"已同步":"未同步"));
+        if(v->goods_id<0){
+            ui->tableWidget->item(i,8)->setBackground(QBrush(QColor(255,85,0,100)));
+        }else{
+            ui->tableWidget->item(i,8)->setBackground(QBrush(QColor(85,255,0,100)));
+        }
     }
+    ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);    //根据tablewidget宽度平均分配宽度
+//    ui->tableWidget->horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents);//根据内容适应宽度
 
     totlePage = totleNum / pageListNum;
     if(totleNum % pageListNum > 0)
@@ -152,6 +163,10 @@ void SelectValueForm::on_pushButton_2_clicked()
     if(now<0){
         QMessageBox::information(this,tr("注意"),tr("请先选择一个数据"));
         return;
+    }
+    if(ui->tableWidget->item(now,8)->text()=="未同步"){
+        QMessageBox::information(this,tr("注意"),tr("请先同步批号"));
+        return;
     }
         emit selectProject(ui->tableWidget->item(now,0)->text());
 
@@ -200,5 +215,15 @@ void SelectValueForm::on_closeButton_clicked()
 
 void SelectValueForm::on_RefreshButton_clicked()
 {
-    GlobalInfo::this_()->selectProject(!GlobalInfo::this_()->isNoLine());
+    GlobalInfo::this_()->selectProject(false);
+}
+
+//同步按钮
+void SelectValueForm::on_synButtong_clicked()
+{
+    for(int i = 0;i<prolist.size();i++){
+        if(prolist.at(i)->goods_id<0){
+            proinfo->addNewProject(prolist.at(i));
+        }
+    }
 }

+ 5 - 0
widget/selectvalueform.h

@@ -5,6 +5,7 @@
 #include "configinfo.h"
 #include "handle/httprequest.h"
 #include "globalinfo.h"
+#include "handle/projectinfomanger.h"
 
 namespace Ui {
 class SelectValueForm;
@@ -57,6 +58,8 @@ private slots:
 
     void on_RefreshButton_clicked();
 
+    void on_synButtong_clicked();
+
 private:
     Ui::SelectValueForm *ui;
     int nowPage;
@@ -67,6 +70,8 @@ private:
     int status;
     QList<QSharedPointer<ProjectInfo>> prolist;
     GlobalInfo *glo = GlobalInfo::this_();
+    ProjectInfoManger *proinfo;
+    PackInfoManger *Manger;
 };
 
 #endif // SELECTVALUEFORM_H

+ 12 - 0
widget/selectvalueform.ui

@@ -211,6 +211,11 @@
            <string>颜色</string>
           </property>
          </column>
+         <column>
+          <property name="text">
+           <string>同步状态</string>
+          </property>
+         </column>
         </widget>
        </item>
        <item>
@@ -331,6 +336,13 @@
               </property>
              </widget>
             </item>
+            <item>
+             <widget class="QPushButton" name="synButtong">
+              <property name="text">
+               <string>同步</string>
+              </property>
+             </widget>
+            </item>
             <item>
              <spacer name="horizontalSpacer_4">
               <property name="orientation">

+ 15 - 7
widget/uncertainweightpackform.cpp

@@ -182,8 +182,10 @@ void UncertainWeightPackForm::on_addBoxList_clicked()
 //    把box数据添加到packinfo的boxes数据表里;
     packinfo->addBoxInfoList(box);
     if(ui->xiangdanPrint->isChecked()){
-        if(ui->xiangdan->currentIndex() == 0){
+        if(ui->xiangdan->currentText() == "默认箱单"){
             GlobalInfo::this_()->printerBox(box);
+        }else if(ui->xiangdan->currentText() == "默认箱单2"){
+            GlobalInfo::this_()->printerBox1(box);
         }else{
             GlobalInfo::this_()->printerBoxModel(box,ui->xiangdan->currentIndex()-1);
         }
@@ -425,6 +427,7 @@ void UncertainWeightPackForm::upBoxModelList()
 {
     ui->xiangdan->clear();
     ui->xiangdan->addItem("默认箱单");
+    ui->xiangdan->addItem("默认箱单2");
     QList<QSharedPointer<BoxModel>> boxList = glo->BoxModelList();
     for(int i = 0;i<boxList.size();i++){
         ui->xiangdan->addItem(boxList.at(i)->Model_Name);
@@ -476,16 +479,21 @@ void UncertainWeightPackForm::updateTableWidget(QList<QSharedPointer<ProjectInfo
     int currt = -1;
     for(int i = 0; i < list.size(); ++i){
         auto & v = list.at(i);
-        ui->tableWidget_2->insertRow(i);
+        if(v->goods_id<0){
+            continue;
+        }
+//        ui->tableWidget_2->insertRow(i);
+        ui->tableWidget_2->setRowCount(ui->tableWidget_2->rowCount()+1);
         auto xuanze_btn =  new QRadioButton();
         xuanze_btn->setMaximumWidth(20);
         QString batchno = prolist.at(i)->batch_no;
         connect(xuanze_btn,&QPushButton::clicked,[batchno,this](){this->xuanZe_clicked(batchno);});
-        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));
-        ui->tableWidget_2->setItem(i,3,new QTableWidgetItem(v->batch_no));
-        ui->tableWidget_2->setItem(i,4,new QTableWidgetItem(v->color));
+        int row = ui->tableWidget_2->rowCount()-1;
+        ui->tableWidget_2->setCellWidget(row,0,xuanze_btn);
+        ui->tableWidget_2->setItem(row,1,new QTableWidgetItem(v->specs));
+        ui->tableWidget_2->setItem(row,2,new QTableWidgetItem(v->category));
+        ui->tableWidget_2->setItem(row,3,new QTableWidgetItem(v->batch_no));
+        ui->tableWidget_2->setItem(row,4,new QTableWidgetItem(v->color));
         if(!_info.isNull() && _info->batch_no == v->batch_no){
             xuanze_btn->setChecked(true);
             currt = i;

+ 2 - 2
widget/uncertainweightpackform.ui

@@ -846,7 +846,7 @@ color: rgb(0, 170, 255);</string>
         <item row="0" column="1">
          <widget class="QLineEdit" name="lineEdit">
           <property name="placeholderText">
-           <string>请输入规格或批号</string>
+           <string>请输入批号</string>
           </property>
          </widget>
         </item>
@@ -1078,7 +1078,7 @@ color: rgb(0, 170, 255);</string>
         </property>
         <column>
          <property name="text">
-          <string>筒数</string>
+          <string>箱号</string>
          </property>
         </column>
         <column>