dushibaiyu 6 лет назад
Родитель
Сommit
2a7c064be1
8 измененных файлов с 398 добавлено и 129 удалено
  1. 37 30
      handle/danjumuban.cpp
  2. 203 48
      handle/remotepackconfig.cpp
  3. 92 13
      handle/remotepackconfig.h
  4. 4 1
      main.cpp
  5. 2 2
      mainwindow.cpp
  6. 26 15
      widget/autopackform.cpp
  7. 3 1
      widget/autopackform.h
  8. 31 19
      widget/autopackform.ui

+ 37 - 30
handle/danjumuban.cpp

@@ -10,6 +10,7 @@ DanJuMuBan::DanJuMuBan()
 
 QImage DanJuMuBan::printBoxInfo(QString bar,QSharedPointer<BoxInfo> info)
 {
+    // TODO: 测试打印出来的单子
 //    if(datalist.isEmpty()){
 //        return;
 //    }
@@ -84,6 +85,7 @@ QImage DanJuMuBan::printBoxInfo(QString bar,QSharedPointer<BoxInfo> info)
 
 QImage DanJuMuBan::printPackInfo(QString bar, QSharedPointer<PackInfo> info)
 {
+    // TODO: 测试打印出来的单子
     QSize size(MAXWIDTH*5,MAXHEIGHT*5);
     QImage image(size,QImage::Format_ARGB32);
     image.fill(qRgba(255, 255, 255, 255));
@@ -118,33 +120,39 @@ QImage DanJuMuBan::printPackInfo(QString bar, QSharedPointer<PackInfo> info)
 
     font.setPixelSize(15);
     painter.setFont(font);
-    painter.drawText(9*5,27*5,QStringLiteral("1."));
-    painter.drawText(9*5,33*5,QStringLiteral("2."));
-    painter.drawText(9*5,39*5,QStringLiteral("3."));
-    painter.drawText(9*5,45*5,QStringLiteral("4."));
-    painter.drawText(9*5,51*5,QStringLiteral("5."));
-    painter.drawText(9*5,57*5,QStringLiteral("6."));
-
-    painter.drawText(28*5,27*5,QStringLiteral("7."));
-    painter.drawText(28*5,33*5,QStringLiteral("8."));
-    painter.drawText(28*5,39*5,QStringLiteral("9."));
-    painter.drawText(28*5,45*5,QStringLiteral("10."));
-    painter.drawText(28*5,51*5,QStringLiteral("11."));
-    painter.drawText(28*5,57*5,QStringLiteral("12."));
-
-    painter.drawText(47*5,27*5,QStringLiteral("13."));
-    painter.drawText(47*5,33*5,QStringLiteral("14."));
-    painter.drawText(47*5,39*5,QStringLiteral("15."));
-    painter.drawText(47*5,45*5,QStringLiteral("16."));
-    painter.drawText(47*5,51*5,QStringLiteral("17."));
-    painter.drawText(47*5,57*5,QStringLiteral("18."));
-
-    painter.drawText(66*5,27*5,QStringLiteral("19."));
-    painter.drawText(66*5,33*5,QStringLiteral("20."));
-
-    painter.drawText(8*5,64*5,QStringLiteral("总数"));
-    painter.drawText(38*5,64*5,QStringLiteral("总重量"));
-    painter.drawText(68*5,64*5,QStringLiteral("总筒数"));
+    int boxSize =  info->boxes().size();
+    for(int i = 0; i < boxSize; ++i){
+        int line = i / 5;
+        int cloun = i % 5;
+        painter.drawText((9 + line * 19)*5,(27 + cloun * 6)*5,QString("%1.").arg(i + 1));
+    }
+//    painter.drawText(9*5,27*5,QStringLiteral("1."));
+//    painter.drawText(9*5,33*5,QStringLiteral("2."));
+//    painter.drawText(9*5,39*5,QStringLiteral("3."));
+//    painter.drawText(9*5,45*5,QStringLiteral("4."));
+//    painter.drawText(9*5,51*5,QStringLiteral("5."));
+//    painter.drawText(9*5,57*5,QStringLiteral("6."));
+
+//    painter.drawText(28*5,27*5,QStringLiteral("7."));
+//    painter.drawText(28*5,33*5,QStringLiteral("8."));
+//    painter.drawText(28*5,39*5,QStringLiteral("9."));
+//    painter.drawText(28*5,45*5,QStringLiteral("10."));
+//    painter.drawText(28*5,51*5,QStringLiteral("11."));
+//    painter.drawText(28*5,57*5,QStringLiteral("12."));
+
+//    painter.drawText(47*5,27*5,QStringLiteral("13."));
+//    painter.drawText(47*5,33*5,QStringLiteral("14."));
+//    painter.drawText(47*5,39*5,QStringLiteral("15."));
+//    painter.drawText(47*5,45*5,QStringLiteral("16."));
+//    painter.drawText(47*5,51*5,QStringLiteral("17."));
+//    painter.drawText(47*5,57*5,QStringLiteral("18."));
+
+//    painter.drawText(66*5,27*5,QStringLiteral("19."));
+//    painter.drawText(66*5,33*5,QStringLiteral("20."));
+
+//    painter.drawText(8*5,64*5,QStringLiteral("总数"));
+//    painter.drawText(38*5,64*5,QStringLiteral("总重量"));
+//    painter.drawText(68*5,64*5,QStringLiteral("总筒数"));
 
     QRect target(0*5, 67*5, 100*5, 60*5);
     barCode.draw(painter,target,bar);
@@ -159,10 +167,9 @@ QImage DanJuMuBan::printPackInfo(QString bar, QSharedPointer<PackInfo> info)
     painter.drawText(70*5,15*5,info->info().category);//QStringLiteral("类型"));
     painter.drawText(19*5,21*5,info->info().batch_no);//QStringLiteral("批号"));
     painter.drawText(70*5,21*5,QString::number(info->level_id));//info.at(0));
-    for(int i = 0; i < 20; ++i)
+    for(int i = 0; i < boxSize; ++i)
     {
-        QString code = "";
-        if(i < info->boxes().size()) code = info->boxes().at(i)->caseNumber();
+        QString code = QString::number(info->boxes().at(i)->net_weight);
         int line = i / 5;
         int cloun = i % 5;
         painter.drawText((13 + line * 19)*5,(27.5 + cloun * 6 )*5 ,code);

+ 203 - 48
handle/remotepackconfig.cpp

@@ -4,10 +4,63 @@
 RemotePackConfig::RemotePackConfig(QObject *parent) : QObject(parent)
 {
     connect(&_request,&HttpRequest::result,this,&RemotePackConfig::result);
+    parsefUNS.insert("A1000100",[this](const QJsonObject & obj){this->_config.jitai = this->getConfigStringList(obj);});
+
+    parsefUNS.insert("A1000101",[this](const QJsonObject & obj){this->_config.dangchegongbanci = this->getConfigStringList(obj);});
+    parsefUNS.insert("A1000102",[this](const QJsonObject & obj){this->_config.daBaoGongBanCi = this->getConfigStringList(obj);});
+    parsefUNS.insert("A1000103",[this](const QJsonObject & obj){this->_config.xiangzhong = this->getConfigStringDouble(obj);});
+    parsefUNS.insert("A1000104",[this](const QJsonObject & obj){this->_config.tongZhong = this->getConfigStringDouble(obj);});
+    parsefUNS.insert("A1000105",[this](const QJsonObject & obj){this->_config.guanse = this->getConfigStringList(obj);});
+    parsefUNS.insert("A1000106",[this](const QJsonObject & obj){this->_config.nianxiang = this->getConfigStringList(obj);});
+    parsefUNS.insert("A1000107",[this](const QJsonObject & obj){this->_config.zhixiang = this->getConfigStringList(obj);});
+    parsefUNS.insert("A1000108",[this](const QJsonObject & obj){this->_config.mashu = this->getConfigStringInt(obj);});
+   parsefUNS.insert("A1000109",[this](const QJsonObject & obj){this->_config.cheZhong = this->getConfigStringList(obj);});
+   parsefUNS.insert("A1000110",[this](const QJsonObject & obj){this->_config.gangHao = this->getConfigStringList(obj);});
+   parsefUNS.insert("A1000111",[this](const QJsonObject & obj){this->_config.xiangHaoXianShiGuiZe = this->getConfigInt(obj);});
+   parsefUNS.insert("A1000112",[this](const QJsonObject & obj){this->_config.daBaoRuku = this->getConfigBool(obj);});
+   parsefUNS.insert("A1000113",[this](const QJsonObject & obj){this->_config.daBaoRiQiXianShiFangShi = this->getConfigInt(obj);});
+   parsefUNS.insert("A2000200",[this](const QJsonObject & obj){this->_config.ziDongDushu = this->getConfigBool(obj);});
+   parsefUNS.insert("A2000201",[this](const QJsonObject & obj){this->_config.buDingZhongDaBaoXianzhi = this->getConfigBool(obj);});
+   parsefUNS.insert("A2000202",[this](const QJsonObject & obj){this->_config.dingZhongDaBaoXianZhiKaiQi = this->getConfigBool(obj);});
+   parsefUNS.insert("A2000203",[this](const QJsonObject & obj){this->_config.jiTaiBangDingMaDan = this->getConfigBool(obj);});
+   parsefUNS.insert("A2000204",[this](const QJsonObject & obj){this->_config.morenTongZhongGUDing = this->getConfigBool(obj);});
+   parsefUNS.insert("A2000205",[this](const QJsonObject & obj){this->_config.morenXiandhiMaoZhong = this->getConfigBool(obj);});
+
+
+   parsefUNS.insert("A2000206",[this](const QJsonObject & obj){this->_config.morenDaYinRuKuMadan = this->getConfigBool(obj);});
+   parsefUNS.insert("A2000207",[this](const QJsonObject & obj){this->_config.morenBudingZhongMaoZhongXianZhi = this->getConfigBool(obj);});
+   parsefUNS.insert("A2000208",[this](const QJsonObject & obj){this->_config.daBaoZhuangLeiXingGuiZeKaiQi = this->getConfigBool(obj);});
+   parsefUNS.insert("A2000209",[this](const QJsonObject & obj){this->_config.daBaoZhuangMaoZhongXianZhiKaiQi = this->getConfigBool(obj);});
+   parsefUNS.insert("A2000210",[this](const QJsonObject & obj){this->_config.ziDongDaBaoKaiQi = this->getConfigBool(obj);});
+   parsefUNS.insert("A2000211",[this](const QJsonObject & obj){this->_config.pingBanZiDongTongBuShuJu = this->getConfigBool(obj);});
+   parsefUNS.insert("A2000212",[this](const QJsonObject & obj){
+       auto jingdu  = this->daBaoJingDu(obj);
+       this->_config.chengZhongJIngDu = jingdu.first;
+       this->_config.chengZhongJingDuMode = jingdu.second;
+   });
+
+   parsefUNS.insert("A2000213",[this](const QJsonObject & obj){this->_config.buDingZhongTongShuFanWei = this->getConfigpAIR(obj);});
+   parsefUNS.insert("A2000214",[this](const QJsonObject & obj){this->_config.dingZhongTongShuFanwei = this->getConfigpAIR(obj);});
+
+  //TODO:http://doc.vanlai.net:3001/web/#/1?page_id=57 补全剩下
+//http://erp.itwsw.cn/#/packageCon
+
+}
+
+
+QList<DIYPackConfig> RemotePackConfig::getDiys(const QJsonObject & data)
+{
+    // TODO:
+}
+
+QList<POYPackConfig> RemotePackConfig::getPoys(const QJsonObject & data)
+{
+        // TODO:
 }
 
 void RemotePackConfig::refConfig()
 {
+    getDdengji = false;
     GlobalInfo * glo = GlobalInfo::this_();
 //    _aid = QString::number(body["user_id"].toInt());
 //    _token = body["access_token"].toString();
@@ -23,63 +76,165 @@ void RemotePackConfig::result(int code, const QJsonObject & body)
         emit configUpdateError(ecode,body.value("message").toString(""));
         return;
     }
-    QJsonArray object = body.value("data").toArray();
-    _config.jitai = getConfig(object, "A1000100");//机台
-    _config.dangchegongbanci = getConfig(object, "A1000101");//挡车工班次
-    _config.dabaogongbanci = getConfig(object, "A1000102");//机台
-    _config.xiangzhong = getConfig(object, "A1000103");//箱重
+    if(!getDdengji){
+        QJsonArray object = body.value("data").toArray();
+        for(int i = 0; i < object.size(); ++ i){
+            QJsonObject obj = object.at(i).toObject();
+            QString key = obj.value("key").toString();
+            auto handle = parsefUNS.value(key,[](const QJsonObject &){});
+            handle(obj);
+        }
+        emit configUpdate(_config);
+        refDengJiList();
+    } else {
+        // TODO: 解析等级列表
+    }
+}
 
-    _config.tongzhong = getConfig(object, "A1000104");//筒重
+void RemotePackConfig::refDengJiList()
+{
+    // todo: http://doc.vanlai.net:3001/web/#/1?page_id=35
+}
 
-    _config.guanse = getConfig(object, "A1000105");//管色
-    _config.nianxiang = getConfig(object, "A1000106");//捻向
-    _config.zhixiang = getConfig(object, "A1000107");//纸箱
-    _config.mashu = getConfig(object, "A1000108");//码数
+bool RemotePackConfig::getConfigBool(const QJsonObject & data)
+{
+    QJsonArray value_array = data.value("value").toArray();
+    int vSize = value_array.size();
+    QString select;
+    for(int i = 0; i < vSize; ++i){
+    QJsonValue value_content = value_array.at(i);
+        if(value_content.isObject()){
+            QJsonObject value_object = value_content.toObject();
+            if(value_object.value("selected").toBool(false)){
+                select = value_object.value("name").toString();
+            }
+        }
+    }
+//    select = select.trimmed();
+    if(select.contains("是") || select.contains("yes",Qt::CaseInsensitive))
+        return true;
+    return false;
+}
 
-    _config.chezhong = getConfig(object, "A1000109");//车重
+QStringList RemotePackConfig::getConfigStringList(const QJsonObject & data)
+{
+        QJsonArray value_array = data.value("value").toArray();
+        QStringList list;
+        int vSize = value_array.size();
+        for(int i = 0; i < vSize; ++i){
+        QJsonValue value_content = value_array.at(i);
+        if(value_content.isObject()){
+            QJsonObject value_object = value_content.toObject();
+            list.append(value_object.value("value").toString());
+        }
+        }
 
-    _config.ganghao = getConfig(object, "A1000110");//缸号
-    _config.xianghaoxianshiguize = getConfig(object, "A1000111");//箱号显示规则
-    _config.dabaojiruku = getConfig(object, "A1000112");//打包即入库
+        return list;
+}
 
-    _config.dabaoriqishijianxianshifangshi = getConfig(object, "A100013");//打包日期时间显示方式
-    emit configUpdate(_config);
+int RemotePackConfig::getConfigInt(const QJsonObject & data)
+{
+    QJsonArray value_array = data.value("value").toArray();
+    int list;
+    int vSize = value_array.size();
+    for(int i = 0; i < vSize; ++i){
+    QJsonValue value_content = value_array.at(i);
+    if(value_content.isObject()){
+        QJsonObject value_object = value_content.toObject();
+        if(value_content.isObject()){
+            QJsonObject value_object = value_content.toObject();
+            if(value_object.value("selected").toBool(false)){
+                list = value_object.value("value").toInt();
+            }
+        }
+    }
+    }
+
+    return list;
 }
 
-QStringList RemotePackConfig::getConfig(const QJsonArray & data,const QString & key)
+
+QPair<int,int> getConfigpAIR(const QJsonObject & data)
 {
-//        QJsonArray data_array = data;
-    QStringList list;
-        int nSize = data.size();
-        for (int i = 0; i < nSize; ++i) {
-            QJsonValue data_content = data.at(i);
-            if (data_content.isObject()) {
-                QJsonObject data_object = data_content.toObject();
-                if(data_object["key"]==key){
-                    QJsonValue value = data_object.value("value");
-                    if (value.isArray()) {
-                        QJsonArray value_array = value.toArray();
-                        int vSize = value_array.size();
-                        for(int i = 0; i < vSize; ++i){
-                            QJsonValue value_content = value_array.at(i);
-                            if(value_content.isObject()){
-                                QJsonObject value_object = value_content.toObject();
-                                QString option;
-                                if(value_object["value"].isString())
-                                {
-                                    option = value_object["value"].toString();
-                                }
-                                if(value_object["value"].isDouble())
-                                {
-                                    double mid_key = value_object["value"].toDouble();
-                                    option = QString::number(mid_key);
-                                }
-                                list.append(option);
-                            }
-                        }
-                    }
+    QJsonArray value_array = data.value("value").toArray();
+    QPair<int,int> list;
+    int vSize = value_array.size();
+    bool frist = true;
+    for(int i = 0; i < vSize; ++i){
+            QJsonObject value_object = value_array.at(i).toObject();
+            if(value_object.value("selected").toBool(false)){
+                if(frist) {
+                    list.first = value_object.value("value").toInt();
+                    frist = false;
+                } else {
+                    list.second = value_object.value("value").toInt();
                 }
-            }
+
+        }
+
+
+    }
+
+    return list;
 }
+
+QPair<int,int> RemotePackConfig::daBaoJingDu(const QJsonObject & data)
+{
+    QJsonArray value_array = data.value("value").toArray();
+    QPair<int,int> list;
+    int vSize = value_array.size();
+    bool frist = true;
+    for(int i = 0; i < vSize; ++i){
+    QJsonValue value_content = value_array.at(i);
+    auto ary = value_content.toArray();
+        for(int j = 0; j < ary.size(); ++j){
+            QJsonObject value_object = ary.at(j).toObject();
+            if(value_object.value("selected").toBool(false)){
+                if(frist) {
+                    list.first = value_object.value("value").toInt();
+                    frist = false;
+                } else {
+                    list.second = value_object.value("value").toInt();
+                }
+
+        }
+
+    }
+    }
+
+    return list;
+}
+
+QList<double> RemotePackConfig::getConfigStringDouble(const QJsonObject & data)
+{
+        QJsonArray value_array = data.value("value").toArray();
+        QList<double>  list;
+        int vSize = value_array.size();
+        for(int i = 0; i < vSize; ++i){
+        QJsonValue value_content = value_array.at(i);
+        if(value_content.isObject()){
+            QJsonObject value_object = value_content.toObject();
+            list.append(value_object.value("value").toDouble());
+        }
+        }
+
+
+        return list;
+}
+
+QList<int> RemotePackConfig::getConfigStringInt(const QJsonObject & data)
+{
+        QJsonArray value_array = data.value("value").toArray();
+        QList<int>  list;
+        int vSize = value_array.size();
+        for(int i = 0; i < vSize; ++i){
+        QJsonValue value_content = value_array.at(i);
+        if(value_content.isObject()){
+            QJsonObject value_object = value_content.toObject();
+            list.append(value_object.value("value").toInt());
+        }
+        }
+
+
         return list;
 }

+ 92 - 13
handle/remotepackconfig.h

@@ -4,23 +4,85 @@
 #include <QObject>
 #include "httprequest.h"
 #include <QJsonArray>
+#include <QPair>
+#include <functional>
 
-struct RPConfig
+struct DIYPackConfig
 {
+    int type;//包装类型
+    int danDianXiaXian;//單点下限
+    int danDianShangXian;//單点上限
+    int jingZhongShangXian;//净重上限
+    int jingZhongXiaXian;//净重下限
+};
+
+struct POYPackConfig
+{
+    int type;//包装类型
+    int jingZhongShangXian;//净重上限
+    int jingZhongXiaXian;//净重下限
+};
+
+struct DaBaoConfig
+{
+    //基础配置
     QStringList jitai;//机台
     QStringList dangchegongbanci;//挡车工班次
-    QStringList dabaogongbanci;//机台
-    QStringList xiangzhong;//箱重
-    QStringList tongzhong;//筒重
+    QStringList daBaoGongBanCi;
+    QList<double> xiangzhong;//箱重
+    QList<double> tongZhong;// 桶
     QStringList guanse;//管色
     QStringList nianxiang;//捻向
     QStringList zhixiang;//纸箱
-    QStringList mashu;//码数
-    QStringList chezhong;//车重
-    QStringList ganghao;//缸号
-    QStringList xianghaoxianshiguize;//箱号显示规则
-    QStringList dabaojiruku;//打包即入库
-    QStringList dabaoriqishijianxianshifangshi;//打包日期时间显示方式
+    QList<int> mashu;//码数
+    QStringList cheZhong;//车重
+    QStringList gangHao;//缸号
+    int xiangHaoXianShiGuiZe;//箱号显示规则
+    int daBaoRiQiXianShiFangShi;//打包日期时间显示方式
+    bool daBaoRuku;//打包即入库
+    //打包配置
+    bool ziDongDushu; //自动读数开启
+    bool buDingZhongDaBaoXianzhi;//不定重打包筒数限制开启
+    bool dingZhongDaBaoXianZhiKaiQi;//定重打包筒数限制开启
+    bool jiTaiBangDingMaDan; //机台绑定码单
+    bool morenTongZhongGUDing ;// 默认筒重固定
+    bool morenXiandhiMaoZhong;//默认显示毛重
+    bool morenDaYinRuKuMadan;//默认打印入库码单
+    bool morenBudingZhongMaoZhongXianZhi;//默认不定重毛重限制
+    bool daBaoZhuangLeiXingGuiZeKaiQi;//大包装类型规则开启
+    bool daBaoZhuangMaoZhongXianZhiKaiQi;//大包装毛重限制开启
+    bool pingBanZiDongTongBuShuJu;// 平板自动同步数据
+    bool ziDongDaBaoKaiQi;//自动打包开启
+    int chengZhongJIngDu;
+    int chengZhongJingDuMode; // 0 四舍五入,1 二舍三入,2 一舍二入
+    QPair<int,int> buDingZhongTongShuFanWei;//不定重筒数范围
+    QPair<int,int> dingZhongTongShuFanwei;//定重筒数范围
+    int morenRuKuMaDanFenShu;//默认入库码单份数
+    QPair<int,int> buDingZhongXianZhiFanWei;//不定重毛重限制范围
+    int daBaoZhuangDaYinXiangDanFenShu;//默认大包装打印箱单份数
+    int daBaoZhuangMaoZhongFanWei;//大包装毛重范围
+    int ziDongDaBaoXiangZhongFanWei;//自动打包箱重范围
+    int zidongDaBaoMaoZhongFanWei;//自动打包毛重范围
+//出库配置
+    bool morenDaYinHuaMaDan;//默认打印划码单
+    bool morenXiaoShouXianShiJinE;//默认销售单显示金额
+    bool morenDayinXiaoShouMinXidan;//默认打印销售明细单
+    bool morenDaYinXIaoShouDan;//默认打印销售单
+    bool morenXianShiQianKuan;//默认销售单显示欠款
+    bool xiaoShouEJingDu;//销售额精度
+
+
+//DIY配置
+    QList<DIYPackConfig> diys;
+    //POY配置
+    QList<POYPackConfig> poys;
+};
+
+struct DengJiConfigItem
+{
+    int id;
+    QString value;
+    bool isEnable;
 };
 
 class RemotePackConfig : public QObject
@@ -30,18 +92,35 @@ public:
     explicit RemotePackConfig(QObject *parent = nullptr);
 
     inline HttpRequest & request() {return  _request;}
+
+    typedef std::function<void (const QJsonObject & obj)> ParseFun;
 signals:
-    void configUpdate(RPConfig & config);
+    void configUpdate(const DaBaoConfig & config);
+    void dengJIConfigUp(const QList<DengJiConfigItem> & dengJis);
     void configUpdateError(int code,const QString & msg);
 public slots:
     void refConfig();
 private slots:
     void result(int code, const QJsonObject & body);
+
+    void refDengJiList();
 private:
-    QStringList getConfig(const QJsonArray & obj, const QString & key);
+    QStringList getConfigStringList(const QJsonObject & obj);
+    QList<double> getConfigStringDouble(const QJsonObject & data);
+    QList<int> getConfigStringInt(const QJsonObject & data);
+    bool getConfigBool(const QJsonObject & data);
+    int getConfigInt(const QJsonObject & data);
+    QPair<int,int> daBaoJingDu(const QJsonObject & data);
+    QPair<int,int> getConfigpAIR(const QJsonObject & data);
+
+    QList<DIYPackConfig> getDiys(const QJsonObject & data);
+    QList<POYPackConfig> getPoys(const QJsonObject & data);
 private:
     HttpRequest _request;
-    RPConfig  _config;
+    DaBaoConfig  _config;
+    QList<DengJiConfigItem> dengji;
+    QMap<QString,ParseFun> parsefUNS;
+    bool getDdengji;
 };
 
 #endif // REMOTEPACKCONFIG_H

+ 4 - 1
main.cpp

@@ -1,4 +1,4 @@
-#include "mainwindow.h"
+#include "mainwindow.h"
 
 #include <QApplication>
 
@@ -9,3 +9,6 @@ int main(int argc, char *argv[])
     w.show();
     return a.exec();
 }
+
+
+// TODO: 打包详情

+ 2 - 2
mainwindow.cpp

@@ -1,6 +1,6 @@
-#include "mainwindow.h"
+#include "mainwindow.h"
 #include "ui_mainwindow.h"
-
+// TODO: 界面串起来
 MainWindow::MainWindow(QWidget *parent)
     : QMainWindow(parent)
     , ui(new Ui::MainWindow)

+ 26 - 15
widget/autopackform.cpp

@@ -22,6 +22,7 @@ void AutoPackForm::on_pushBack_clicked()
 
 void AutoPackForm::init()
 {
+    // TODO: 页面进入初始化
     ui->pushStart->setChecked(false);
     ui->widget->setEnabled(true);
 //    ui->madan
@@ -29,33 +30,40 @@ void AutoPackForm::init()
 
 void AutoPackForm::on_addPackList_clicked()
 {
+    //TODO: 缓存箱单数据,页面显示情空
     doSend(packinfo);
+    //TODO: 初始化码单信息
     packinfo.reset(new PackInfo(_info));
     packinfo->operator_id = GlobalInfo::this_()->user().userId;
 }
 
-void AutoPackForm::upconfig(const RPConfig & config)
+void AutoPackForm::upconfig(const DaBaoConfig &config)
 {
-    ui->jitai->clear();
-    ui->jitai->addItems(config.jitai);
+//    ui->jitai->clear();
+//    ui->jitai->addItems(config.jitai);
 
-    ui->dengji->clear();
+//    ui->dengji->clear();
 
-    ui->tongzhong->clear();
-    ui->tongzhong->addItems(config.tongzhong);
+//    ui->tongzhong->clear();
+//    ui->tongzhong->addItems(config.tongzhong);
 
-    ui->guanse->clear();
-    ui->guanse->addItems(config.guanse);
+//    ui->guanse->clear();
+//    ui->guanse->addItems(config.guanse);
 
-    ui->nianxiang->clear();
-    ui->nianxiang->addItems(config.nianxiang);
+//    ui->nianxiang->clear();
+//    ui->nianxiang->addItems(config.nianxiang);
 
-    ui->zhixiang->clear();
-    ui->zhixiang->addItems(config.zhixiang);
+//    ui->zhixiang->clear();
+//    ui->zhixiang->addItems(config.zhixiang);
 
-    ui->xiangdan->clear();
-    ui->madan->clear();
+//    ui->xiangdan->clear();
+//    ui->madan->clear();
+    // TODO:打包配置更新
+}
 
+void AutoPackForm::upDengjiInfo(const QList<DengJiConfigItem> & dengJis)
+{
+// TODO: 等级信息更新
 }
 
 void AutoPackForm::on_pushStart_clicked()
@@ -72,11 +80,14 @@ void AutoPackForm::on_pushStart_clicked()
 void AutoPackForm::doSend(QSharedPointer<PackInfo> &info)
 {
     if(info.isNull()) return;
-}
+    //TODO:发送码单 packinfo 数据
+}  // http://doc.vanlai.net:3001/web/#/1?page_id=64
 
 void AutoPackForm::on_addBoxList_clicked()
 {
     if(packinfo.isNull()) return;
     auto box = packinfo->addBoxInfo();
+    //TODO: 添加箱单 数据
+    //TODO: 缓存数据,显示数据
 
 }

+ 3 - 1
widget/autopackform.h

@@ -21,7 +21,8 @@ public:
     inline void setProInfo(const ProjectInfo & info){_info = info;}
 
 public slots:
-    void upconfig(const RPConfig & config);
+    void upconfig(const DaBaoConfig & config);
+    void upDengjiInfo(const QList<DengJiConfigItem> & dengJis);
     void init();
 signals:
     void back();
@@ -41,6 +42,7 @@ private:
     Ui::AutoPackForm *ui;
     ProjectInfo _info;
     QSharedPointer<PackInfo> packinfo;
+    QMap<QString,DengJiConfigItem> dengjiMap;// <name,详细信息>
 };
 
 #endif // AUTOPACKFORM_H

+ 31 - 19
widget/autopackform.ui

@@ -430,11 +430,7 @@ color: rgb(0, 170, 255);</string>
              </widget>
             </item>
             <item>
-             <widget class="QSpinBox" name="spinBox">
-              <property name="minimum">
-               <number>0</number>
-              </property>
-             </widget>
+             <widget class="QComboBox" name="comboBox"/>
             </item>
            </layout>
           </item>
@@ -560,16 +556,12 @@ color: rgb(0, 170, 255);</string>
             <item>
              <widget class="QLabel" name="label_2">
               <property name="text">
-               <string>预设</string>
+               <string>打包班次</string>
               </property>
              </widget>
             </item>
             <item>
-             <widget class="QSpinBox" name="spinBox_2">
-              <property name="value">
-               <number>20</number>
-              </property>
-             </widget>
+             <widget class="QComboBox" name="comboBox_2"/>
             </item>
            </layout>
           </item>
@@ -606,7 +598,7 @@ color: rgb(0, 170, 255);</string>
             <item>
              <widget class="QLabel" name="label_5">
               <property name="text">
-               <string>重</string>
+               <string>重</string>
               </property>
              </widget>
             </item>
@@ -664,18 +656,14 @@ color: rgb(0, 170, 255);</string>
           <item>
            <layout class="QVBoxLayout" name="verticalLayout_12">
             <item>
-             <widget class="QLabel" name="label_11">
+             <widget class="QLabel" name="label_21">
               <property name="text">
-               <string>箱单</string>
+               <string>筒重</string>
               </property>
              </widget>
             </item>
             <item>
-             <widget class="QComboBox" name="xiangdan">
-              <property name="enabled">
-               <bool>false</bool>
-              </property>
-             </widget>
+             <widget class="QComboBox" name="tongzhong_2"/>
             </item>
            </layout>
           </item>
@@ -699,6 +687,20 @@ color: rgb(0, 170, 255);</string>
               </property>
              </widget>
             </item>
+            <item>
+             <widget class="QLabel" name="label_11">
+              <property name="text">
+               <string>箱单</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QComboBox" name="xiangdan">
+              <property name="enabled">
+               <bool>false</bool>
+              </property>
+             </widget>
+            </item>
             <item>
              <spacer name="verticalSpacer">
               <property name="orientation">
@@ -726,6 +728,16 @@ color: rgb(0, 170, 255);</string>
             <item>
              <widget class="QLineEdit" name="taitou"/>
             </item>
+            <item>
+             <widget class="QLabel" name="label_22">
+              <property name="text">
+               <string>电话</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLineEdit" name="taitou_2"/>
+            </item>
             <item>
              <spacer name="verticalSpacer_2">
               <property name="orientation">