From b11ad2bb1946cf5356037f7a16e4e42558fd955e Mon Sep 17 00:00:00 2001
From: wumu <mayi@mayi.com>
Date: 星期五, 10 五月 2024 22:37:52 +0800
Subject: [PATCH] 0510

---
 internal_system_v1/threemergeproblemlist.cpp |   18 ++++++++
 internal_system_v1/threemergeproblemlist.ui  |    2 
 internal_system_v1/datedelegate.cpp          |    5 +-
 internal_system_v1/comboboxdelegate.h        |    3 +
 internal_system_v1/comboboxdelegate.cpp      |   26 +++++++++++--
 internal_system_v1/datedelegate.h            |    4 +
 internal_system_v1/threemergeproblemlist.h   |    3 +
 7 files changed, 51 insertions(+), 10 deletions(-)

diff --git a/internal_system_v1/comboboxdelegate.cpp b/internal_system_v1/comboboxdelegate.cpp
index e5fde68..460506c 100644
--- a/internal_system_v1/comboboxdelegate.cpp
+++ b/internal_system_v1/comboboxdelegate.cpp
@@ -1,8 +1,10 @@
 锘�#include "comboboxdelegate.h"
+#include <QFileDialog>
 
-ComboBoxDelegate::ComboBoxDelegate(QStringList labels,QObject *parent)
+ComboBoxDelegate::ComboBoxDelegate(QStringList labels,QObject *parent,bool edit)
     :QItemDelegate(parent),
-      m_labels(labels)
+      m_labels(labels),
+      m_edit(edit)
 {
 
 }
@@ -10,6 +12,7 @@
 QWidget *ComboBoxDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
 {
     QComboBox *cbb = new QComboBox(parent);
+    cbb->setEditable(m_edit);
     for(int i=0;i<m_labels.size();++i){
         cbb->addItem(m_labels.at(i));
     }
@@ -18,6 +21,21 @@
 
 void ComboBoxDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const
 {
-    QString val = ((QComboBox*)editor)->currentText();
-    model->setData(index,val);
+
+
+    if(m_edit){// 鍙紪杈戠姸鎬�
+        int idx = ((QComboBox*)editor)->currentIndex();
+        if(idx == 1){ // 闇�瑕佷笂浼�
+            QString fileName = QFileDialog::getOpenFileName();
+            model->setData(index,fileName);
+        }else if(idx == 0){ // 褰曞叆
+            ;
+        }else{
+            QString val = ((QComboBox*)editor)->currentText();
+            model->setData(index,val);
+        }
+    }else{
+        QString val = ((QComboBox*)editor)->currentText();
+        model->setData(index,val);
+    }
 }
diff --git a/internal_system_v1/comboboxdelegate.h b/internal_system_v1/comboboxdelegate.h
index 4e3afd9..77826a3 100644
--- a/internal_system_v1/comboboxdelegate.h
+++ b/internal_system_v1/comboboxdelegate.h
@@ -8,13 +8,14 @@
 class ComboBoxDelegate : public QItemDelegate
 {
 public:
-    ComboBoxDelegate(QStringList labels,QObject *parent=0);
+    ComboBoxDelegate(QStringList labels,QObject *parent=0,bool edit=false);
 
     QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const;
     void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const;
 
 private:
     QStringList m_labels;
+    bool m_edit;
 };
 
 #endif // COMBOBOXDELEGATE_H
diff --git a/internal_system_v1/datedelegate.cpp b/internal_system_v1/datedelegate.cpp
index a3be851..ab45367 100644
--- a/internal_system_v1/datedelegate.cpp
+++ b/internal_system_v1/datedelegate.cpp
@@ -1,6 +1,7 @@
 锘�#include "datedelegate.h"
 
-DateDelegate::DateDelegate(QObject *parent):QItemDelegate(parent)
+DateDelegate::DateDelegate(QObject *parent,QString format)
+    :QItemDelegate(parent),m_formate(format)
 {
 
 }
@@ -9,7 +10,7 @@
 {
     QDateTimeEdit *de = new QDateTimeEdit(parent);
     de->setDate(QDate::currentDate());
-    de->setDisplayFormat("yyyy");
+    de->setDisplayFormat(m_formate);
     return de;
 }
 
diff --git a/internal_system_v1/datedelegate.h b/internal_system_v1/datedelegate.h
index 5d4d690..b16db62 100644
--- a/internal_system_v1/datedelegate.h
+++ b/internal_system_v1/datedelegate.h
@@ -8,11 +8,13 @@
 class DateDelegate : public QItemDelegate
 {
 public:
-    DateDelegate(QObject *parent=0);
+    DateDelegate(QObject *parent=0,QString format="yyyy");
 
     QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const;
     void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const;
 
+private:
+    QString m_formate; // 鏃堕棿鏍煎紡鍖栫殑鏍煎紡
 };
 
 #endif // DATEDELEGATE_H
diff --git a/internal_system_v1/threemergeproblemlist.cpp b/internal_system_v1/threemergeproblemlist.cpp
index eb6c8ad..5326204 100644
--- a/internal_system_v1/threemergeproblemlist.cpp
+++ b/internal_system_v1/threemergeproblemlist.cpp
@@ -125,7 +125,23 @@
     ui->tableWidget->setItemDelegateForColumn(6,m_cbb_way);
 
         // 闂鎻忚堪浣愯瘉璧勬枡(涓婁紶鍙栬瘉鍗�) 褰曞叆鎴栬�呬笂浼�
-    ui->tableWidget->setItemDelegateForColumn(13,m_fdd);
+    //ui->tableWidget->setItemDelegateForColumn(13,m_fdd);
+    QStringList fwLabels;
+    fwLabels << "褰曞叆(鐩存帴杈撳叆鍚庡洖杞﹀嵆鍙�)"<<"涓婁紶";
+    m_cbb_file_wri = new ComboBoxDelegate(fwLabels,this,true);
+    ui->tableWidget->setItemDelegateForColumn(13,m_cbb_file_wri);
+    ui->tableWidget->setItemDelegateForColumn(17,m_cbb_file_wri);
+    ui->tableWidget->setItemDelegateForColumn(23,m_cbb_file_wri);
+
+        // 澶勭悊骞存湀鏃ユ椂闂�
+    m_date_ymd = new DateDelegate(this,"yyyy/MM/dd");
+    ui->tableWidget->setItemDelegateForColumn(19,m_date_ymd);
+    ui->tableWidget->setItemDelegateForColumn(21,m_date_ymd);
+    ui->tableWidget->setItemDelegateForColumn(24,m_date_ymd);
+    ui->tableWidget->setItemDelegateForColumn(29,m_date_ymd);
+    ui->tableWidget->setItemDelegateForColumn(31,m_date_ymd);
+    ui->tableWidget->setItemDelegateForColumn(34,m_date_ymd);
+
 
     // 鍔犺浇鍏徃鍚�
     readCompanyFromSQL();
diff --git a/internal_system_v1/threemergeproblemlist.h b/internal_system_v1/threemergeproblemlist.h
index e34ae3a..1600cd2 100644
--- a/internal_system_v1/threemergeproblemlist.h
+++ b/internal_system_v1/threemergeproblemlist.h
@@ -71,6 +71,9 @@
     ComboBoxDelegate *m_cbb_company; // 瀹¤鍗曚綅
     ComboBoxDelegate *m_cbb_way; // 瀹¤鏂瑰紡
     ComboBoxDelegate *m_cbb_pro; // 瀹¤椤圭洰
+    ComboBoxDelegate *m_cbb_file_wri; // 闂鎻忚堪浣愯瘉
+
+    DateDelegate *m_date_ymd; // 鏃堕棿 骞存湀鏃�
 };
 
 #endif // THREEMERGEPROBLEMLIST_H
diff --git a/internal_system_v1/threemergeproblemlist.ui b/internal_system_v1/threemergeproblemlist.ui
index d6c5bee..f4522ed 100644
--- a/internal_system_v1/threemergeproblemlist.ui
+++ b/internal_system_v1/threemergeproblemlist.ui
@@ -452,7 +452,7 @@
             </column>
             <column>
              <property name="text">
-              <string>娑夊強閲戦</string>
+              <string>娑夊強閲戦(涓囧厓)</string>
              </property>
             </column>
             <column>

--
Gitblit v1.8.0