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