From 5efd96cc316f8a704f0f6315b85078b738ddee04 Mon Sep 17 00:00:00 2001
From: wumu <mayi@mayi.com>
Date: 星期二, 26 十一月 2024 23:37:02 +0800
Subject: [PATCH] 1126

---
 internal_system_v1/threemergeproblemlist.cpp |   77 ++++++++++++++++++-------
 internal_system_v1/internal_system_v1.pro    |    6 +
 internal_system_v1/noedititemdelegate.h      |   20 ++++++
 internal_system_v1/threemergeproblemlist.ui  |   10 +++
 internal_system_v1/noedititemdelegate.cpp    |   26 ++++++++
 internal_system_v1/threemergeproblemlist.h   |    5 +
 6 files changed, 121 insertions(+), 23 deletions(-)

diff --git a/internal_system_v1/internal_system_v1.pro b/internal_system_v1/internal_system_v1.pro
index 89a7341..619cfcf 100644
--- a/internal_system_v1/internal_system_v1.pro
+++ b/internal_system_v1/internal_system_v1.pro
@@ -47,7 +47,8 @@
     customheaderview.cpp \
     comboboxdelegate.cpp \
     datedelegate.cpp \
-    exporttofile.cpp
+    exporttofile.cpp \
+    noedititemdelegate.cpp
 
 HEADERS += \
         clientmainwindow.h \
@@ -72,7 +73,8 @@
     customheaderview.h \
     comboboxdelegate.h \
     datedelegate.h \
-    exporttofile.h
+    exporttofile.h \
+    noedititemdelegate.h
 
 FORMS += \
         clientmainwindow.ui \
diff --git a/internal_system_v1/noedititemdelegate.cpp b/internal_system_v1/noedititemdelegate.cpp
new file mode 100644
index 0000000..c6dda9f
--- /dev/null
+++ b/internal_system_v1/noedititemdelegate.cpp
@@ -0,0 +1,26 @@
+锘�#include "noedititemdelegate.h"
+
+NoEditItemDelegate::NoEditItemDelegate(QObject *p):QItemDelegate(p)
+{
+
+}
+
+QWidget *NoEditItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
+{
+    return nullptr;
+}
+
+void NoEditItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const
+{
+
+}
+
+void NoEditItemDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const
+{
+
+}
+
+void NoEditItemDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const
+{
+
+}
diff --git a/internal_system_v1/noedititemdelegate.h b/internal_system_v1/noedititemdelegate.h
new file mode 100644
index 0000000..794dce4
--- /dev/null
+++ b/internal_system_v1/noedititemdelegate.h
@@ -0,0 +1,20 @@
+锘�#ifndef NOEDITITEMDELEGATE_H
+#define NOEDITITEMDELEGATE_H
+
+#include <QItemDelegate>
+
+
+
+class NoEditItemDelegate : public QItemDelegate
+{
+    Q_OBJECT
+public:
+    NoEditItemDelegate(QObject *p = 0);
+
+    QWidget * createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const;
+    void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const;
+    void setEditorData(QWidget *editor, const QModelIndex &index) const;
+    void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const;
+};
+
+#endif // NOEDITITEMDELEGATE_H
diff --git a/internal_system_v1/threemergeproblemlist.cpp b/internal_system_v1/threemergeproblemlist.cpp
index fe1fb5e..5ccc493 100644
--- a/internal_system_v1/threemergeproblemlist.cpp
+++ b/internal_system_v1/threemergeproblemlist.cpp
@@ -6,6 +6,7 @@
 #include <QMessageBox>
 #include <QDir>
 #include <QFileDevice>
+#include "noedititemdelegate.h"
 
 #pragma execution_character_set("utf-8")
 
@@ -16,6 +17,7 @@
     ui->setupUi(this);
 
     m_fdd = new FileDialogDelegate;
+    //m_noEdit = new ThreeComboBox;
 
     ui->statusbar->hide();
     ui->menubar->hide();
@@ -50,6 +52,7 @@
 
 ThreeMergeProblemList::~ThreeMergeProblemList()
 {
+    //delete m_noEdit;
     delete ui;
 }
 
@@ -258,6 +261,7 @@
         QTableWidgetItem *item_1 = new QTableWidgetItem(label);
         item_1->setForeground(QBrush(QColor("#ff00ff")));
         ui->tableWidget->setHorizontalHeaderItem(i,item_1);
+        //ui->tableWidget->setItem(1,i,item_1);
     }
 
     for(int i=14;i<14+10;++i){
@@ -323,19 +327,50 @@
     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);
+    ui->tableWidget->setItemDelegateForColumn(13+2,m_cbb_file_wri);
+    ui->tableWidget->setItemDelegateForColumn(17+2,m_cbb_file_wri);
+    ui->tableWidget->setItemDelegateForColumn(23+2,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);
+    ui->tableWidget->setItemDelegateForColumn(19+2,m_date_ymd);
+    ui->tableWidget->setItemDelegateForColumn(21+2,m_date_ymd);
+    ui->tableWidget->setItemDelegateForColumn(24+2,m_date_ymd);
+    ui->tableWidget->setItemDelegateForColumn(29+2,m_date_ymd);
+    ui->tableWidget->setItemDelegateForColumn(31+2,m_date_ymd);
+    ui->tableWidget->setItemDelegateForColumn(34+2,m_date_ymd);
 
+
+    // 灏嗘爣棰樺鍏ョ涓夎
+    for(int i=0;i<ui->tableWidget->columnCount();++i){
+        QString label = ui->tableWidget->horizontalHeaderItem(i)->text();
+        QTableWidgetItem *item = new QTableWidgetItem(label);
+        if(i < 16){
+            item->setBackground(QBrush(QColor("#ff00ff")));
+        }else if(i < 16+10){
+            item->setBackground(QBrush(QColor("#00aaff")));
+        }
+
+        ui->tableWidget->setItem(2,i,item);
+    }
+
+    // 骞朵笖绂佺敤缂栬緫鍔熻兘
+    //ui->tableWidget->setItemDelegateForRow(1,m_noEdit);
+    //ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
+    m_noEdit = new TableItemDelegate;
+    ui->tableWidget->setItemDelegateForRow(0,m_noEdit);
+    ui->tableWidget->setItemDelegateForRow(1,m_noEdit);
+    ui->tableWidget->setItemDelegateForRow(2,m_noEdit);
+
+
+    // 鍚堝苟绗竴琛岀殑鎯呭喌锛岃繘琛屽垎绫�
+
+
+    ui->tableWidget->setItem(0,1,new QTableWidgetItem("鍙戠幇闂"));
+    ui->tableWidget->setItem(0,18,new QTableWidgetItem("鍙戠幇闂22"));
+    ui->tableWidget->setSpan(0,1,2,15);
+    ui->tableWidget->item(0,1)->setTextAlignment(Qt::AlignCenter);
+    ui->tableWidget->item(0,1)->font().setBold(true);
 
     // 鍔犺浇鍏徃鍚�
     readCompanyFromSQL();
@@ -616,9 +651,9 @@
         int rows = saveDataLine(row);
         if(rows>0){
             // 闇�瑕佸皢鏂囦欢鎷疯礉鍒癷d鐩綍
-            QString fpath = ui->tableWidget->item(row,13)->text();
-            QString spath = ui->tableWidget->item(row,17)->text();
-            QString tpath = ui->tableWidget->item(row,23)->text();
+            QString fpath = ui->tableWidget->item(row,13+2)->text();
+            QString spath = ui->tableWidget->item(row,17+2)->text();
+            QString tpath = ui->tableWidget->item(row,23+2)->text();
             QString fid = ui->tableWidget->item(row,0)->text();
             QString proName = ui->tableWidget->item(row,7)->text(); // 椤圭洰鍚嶇О
             qDebug()<<"鎷疯礉鏂囦欢:"<<fid<<proName<<fpath;
@@ -627,15 +662,15 @@
 
             int sflag1 = saveFile(fpath,fid,absSavePath1,proName); // 淇濆瓨绗竴涓�
             if(sflag1==1){
-                ui->tableWidget->setItem(row,13,new QTableWidgetItem(absSavePath1));
+                ui->tableWidget->setItem(row,13+2,new QTableWidgetItem(absSavePath1));
             }
             int sflag2 = saveFile(spath,fid,absSavePath2,proName); // 淇濆瓨绗簩涓�
             if(sflag2==1){
-                ui->tableWidget->setItem(row,17,new QTableWidgetItem(absSavePath2));
+                ui->tableWidget->setItem(row,17+2,new QTableWidgetItem(absSavePath2));
             }
             int sflag3 = saveFile(tpath,fid,absSavePath3,proName); // 淇濆瓨绗笁涓�
             if(sflag3==1){
-                ui->tableWidget->setItem(row,23,new QTableWidgetItem(absSavePath3));
+                ui->tableWidget->setItem(row,23+2,new QTableWidgetItem(absSavePath3));
             }
             qDebug()<<"save falg:"<<sflag1<<sflag2<<sflag3;
             if(sflag1 || sflag2 || sflag3){
@@ -847,15 +882,15 @@
 
             int sflag1 = saveFile(fpath,fid,absSavePath1,proName); // 淇濆瓨绗竴涓�
             if(sflag1==1){
-                ui->tableWidget->setItem(i,13,new QTableWidgetItem(absSavePath1));
+                ui->tableWidget->setItem(i,13+2,new QTableWidgetItem(absSavePath1));
             }
             int sflag2 = saveFile(spath,fid,absSavePath2,proName); // 淇濆瓨绗簩涓�
             if(sflag2==1){
-                ui->tableWidget->setItem(i,17,new QTableWidgetItem(absSavePath2));
+                ui->tableWidget->setItem(i,17+2,new QTableWidgetItem(absSavePath2));
             }
             int sflag3 = saveFile(tpath,fid,absSavePath3,proName); // 淇濆瓨绗笁涓�
             if(sflag3==1){
-                ui->tableWidget->setItem(i,23,new QTableWidgetItem(absSavePath3));
+                ui->tableWidget->setItem(i,23+2,new QTableWidgetItem(absSavePath3));
             }
             qDebug()<<"save falg:"<<sflag1<<sflag2<<sflag3;
             if(sflag1 || sflag2 || sflag3){
@@ -973,9 +1008,9 @@
     if(row>=0 && item){
         qDebug()<<"row"<<row;
         // 鍙栦笅鏍�  13  17  23
-        auto item_13 = ui->tableWidget->item(row,13);
-        auto item_17 = ui->tableWidget->item(row,17);
-        auto item_23 = ui->tableWidget->item(row,23);
+        auto item_13 = ui->tableWidget->item(row,13+2);
+        auto item_17 = ui->tableWidget->item(row,17+2);
+        auto item_23 = ui->tableWidget->item(row,23+2);
         if(item_13){
             qDebug()<<item_13->text();
             QString text = item_13->text();
diff --git a/internal_system_v1/threemergeproblemlist.h b/internal_system_v1/threemergeproblemlist.h
index b02af12..0f5402e 100644
--- a/internal_system_v1/threemergeproblemlist.h
+++ b/internal_system_v1/threemergeproblemlist.h
@@ -12,6 +12,9 @@
 #include "comboboxdelegate.h"
 #include "datedelegate.h"
 #include "struct_data.h"
+//#include "threecombobox.h"
+#include "tableitemdelegate.h"
+
 
 #include <QPdfWriter>
 //#include <QtWebEngineWidgets/QtWebEngineWidgets>
@@ -102,6 +105,8 @@
     ComboBoxDelegate *m_cbb_file_wri; // 闂鎻忚堪浣愯瘉
 
     DateDelegate *m_date_ymd; // 鏃堕棿 骞存湀鏃�
+    //ThreeComboBox *m_noEdit; // 绂佺敤缂栬緫鍔熻兘
+    TableItemDelegate *m_noEdit;
 
     //QWebEngineView *m_pdfView;  // 浣跨敤娴忚鍣ㄥ姞杞絧df鏂囦欢
 };
diff --git a/internal_system_v1/threemergeproblemlist.ui b/internal_system_v1/threemergeproblemlist.ui
index aaaf2e1..f5c0cee 100644
--- a/internal_system_v1/threemergeproblemlist.ui
+++ b/internal_system_v1/threemergeproblemlist.ui
@@ -830,6 +830,16 @@
             </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>

--
Gitblit v1.8.0