From 77d58298d00c11ade8862ca8acb0fdef5a45322e Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期五, 21 三月 2025 17:39:38 +0800
Subject: [PATCH] 修改

---
 src/main/java/com/example/client/service/Level2ManageService.java |   65 ++++++++++++++++++++------------
 1 files changed, 41 insertions(+), 24 deletions(-)

diff --git a/src/main/java/com/example/client/service/Level2ManageService.java b/src/main/java/com/example/client/service/Level2ManageService.java
index a4f3bf8..c39131d 100644
--- a/src/main/java/com/example/client/service/Level2ManageService.java
+++ b/src/main/java/com/example/client/service/Level2ManageService.java
@@ -4,6 +4,7 @@
 import com.example.client.dto.JComboBoxItem;
 import com.example.client.model.TableButton;
 import com.example.client.utils.CommonTable;
+import com.example.client.utils.Compute;
 import com.example.client.utils.GBC;
 import com.example.server.progressTrack.model.DjJdgzNetworkLevel1;
 import com.example.server.progressTrack.model.DjJdgzNetworkLevel2;
@@ -15,6 +16,7 @@
 import com.example.server.utils.DownLoadTmpFile;
 import org.jdesktop.swingx.JXDatePicker;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import javax.swing.*;
@@ -47,16 +49,18 @@
     private List<DjJdgzNetworkLevel2> list;
     private Map<String, Long> shipMap = new HashMap<>();
     private List<ColumnDto> columnDto;
+    @Value("${data.tmp-path}")
+    private String tmpPath;
 
 
     public JPanel createTable(Integer width, Integer height, JFrame jFrame) {
-        JPanel panel = new JPanel();
+        JPanel panel = new JPanel(new BorderLayout());
 
         JPanel topJpanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
-        topJpanel.setPreferredSize(new Dimension(width, 37));
+        topJpanel.setPreferredSize(new Dimension(width, 40));
         topJpanel.setBackground(Color.WHITE);
         JPanel centerJpanel = new JPanel();
-        centerJpanel.setPreferredSize(new Dimension(width - 20, height - 100));
+        centerJpanel.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeight(40,jFrame)));
         centerJpanel.setBackground(Color.WHITE);
         panel.add(topJpanel, BorderLayout.NORTH);
         panel.add(centerJpanel, BorderLayout.CENTER);
@@ -79,14 +83,14 @@
 
         columnDto = new ArrayList<>();
         //columnDto.add(new ColumnDto("ID", "id", -1, null,false));
-        columnDto.add(new ColumnDto("搴忓彿", "", (width - 10) / 4, "autoCreate", false, null,null));
-        columnDto.add(new ColumnDto("宸ョ▼", "ProjectName", (width - 10) / 4, null, false, null,null));
-        columnDto.add(new ColumnDto("涓�绾х綉缁滃浘鑺傜偣鍚嶇О", "processName", (width - 10) / 4, null, false, null,null));
-        columnDto.add(new ColumnDto("鎿嶄綔", "", (width - 10) / 4, "", true, buttonList,null));
+        columnDto.add(new ColumnDto("搴忓彿", "", (width - 10) / 4, "autoCreate", false, null, null));
+        columnDto.add(new ColumnDto("宸ョ▼", "ProjectName", (width - 10) / 4, null, false, null, null));
+        columnDto.add(new ColumnDto("涓�绾х綉缁滃浘鑺傜偣鍚嶇О", "processName", (width - 10) / 4, null, false, null, null));
+        columnDto.add(new ColumnDto("鎿嶄綔", "", (width - 10) / 4, "", true, buttonList, null));
 
         table = CommonTable.createCommonTable(list, columnDto);
         table.setRowHeight(25);
-        table.setAutoCreateRowSorter(true);
+
         table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
 
         final Boolean[] isFirstLoadData = {true};
@@ -96,13 +100,13 @@
                 Long shipId = shipMap.get(content);
                 list = level2Service.getList(shipId);
                 if (!isFirstLoadData[0]) {
-                    CommonTable.refreshTable(list, columnDto,table);
+                    CommonTable.refreshTable(list, columnDto, table);
                     table.setRowHeight(25);
-                    table.setAutoCreateRowSorter(true);
+
                     table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
 
-                    tableModelListener(table,jFrame);
-                }else{
+                    tableModelListener(table, jFrame);
+                } else {
                     isFirstLoadData[0] = false;
                 }
             }
@@ -114,26 +118,39 @@
         }
         comboBox.setSelectedItem(shipList.get(0).getShipNo());
 
-        tableModelListener(table,jFrame);
+        tableModelListener(table, jFrame);
 
         btnInsert.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
+                jFrame.setEnabled(false);
                 insert(jFrame);
             }
         });
         btnDown.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
-                DownLoadTmpFile.down("浜岀骇缃戠粶鍥惧鍏ユā鏉�.xlsx",jFrame);
+                jFrame.setEnabled(false);
+                DownLoadTmpFile.down(tmpPath + "浜岀骇缃戠粶鍥惧鍏ユā鏉�.xlsx", jFrame);
             }
         });
 
         JScrollPane scrollPane = new JScrollPane(table, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
         scrollPane.setViewportView(table);
         scrollPane.getViewport().setBackground(Color.WHITE);
-        scrollPane.setPreferredSize(new Dimension(width - 20, height - 100));
+        scrollPane.setPreferredSize(new Dimension(width - 20, Compute.ComputeHeightWithScroll(40,jFrame)));
         centerJpanel.add(scrollPane);
+        jFrame.addComponentListener(new ComponentAdapter() {
+            @Override
+            public void componentResized(ComponentEvent e) {
+                centerJpanel.setPreferredSize(new Dimension(width  - 20, Compute.ComputeHeight(40,jFrame)));
+                scrollPane.setPreferredSize(new Dimension(width  - 20,Compute.ComputeHeightWithScroll(40,jFrame)));
+                centerJpanel.revalidate();
+                centerJpanel.repaint();
+                scrollPane.revalidate();
+                scrollPane.repaint();
+            }
+        });
 
         return panel;
     }
@@ -185,7 +202,7 @@
 
         JButton btnSave = new JButton("淇濆瓨");
 
-        frame1.add(JLabel1, new GBC(0, 0,1,1).setAnchor(GBC.SOUTHEAST).setInsets(5));
+        frame1.add(JLabel1, new GBC(0, 0, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
         frame1.add(comboBox0, new GBC(1, 0, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
 
         frame1.add(JLabel2, new GBC(0, 1, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
@@ -202,17 +219,17 @@
             data.setLevel1NodeId(level1Node.getId());
             level2Service.insert(data);
             list = level2Service.getList(level1Data.getShipId());
-            CommonTable.refreshTable(list,columnDto,table);
+            CommonTable.refreshTable(list, columnDto, table);
             table.setRowHeight(25);
-            table.setAutoCreateRowSorter(true);
+
             table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
-            tableModelListener(table,jFrame);
+            tableModelListener(table, jFrame);
             frame1.dispose();
             jFrame.setEnabled(true);//灏嗕富鐣岄潰鍐嶈缃负鍙搷浣滅殑
         });
     }
 
-    public void tableModelListener(JTable table,JFrame jFrame){
+    public void tableModelListener(JTable table, JFrame jFrame) {
         table.getModel().addTableModelListener(e -> {
             // 妫�鏌ヤ簨浠剁被鍨�
             if (e.getType() == TableModelEvent.UPDATE) {
@@ -223,11 +240,11 @@
                 // 鑾峰彇鏂扮殑鍊�
                 Object newValue = table.getModel().getValueAt(row, column);
                 // 杈撳嚭鍙樺寲淇℃伅
-                if (newValue.equals("edit")){
-                    DjJdgzNetworkLevel2 data = list.get(row);
-                    addOrUpdate.openDialog(data,jFrame);
+                if (newValue.equals("edit")) {
                     jFrame.setEnabled(false);
-                }else if(newValue.equals("del")) {
+                    DjJdgzNetworkLevel2 data = list.get(row);
+                    addOrUpdate.openDialog(data, jFrame);
+                } else if (newValue.equals("del")) {
                     int n = JOptionPane.showConfirmDialog(null, "鏄惁鍒犻櫎?", "鎻愮ず", JOptionPane.YES_NO_OPTION);
                     if (n == 0) {
                         DefaultTableModel model = (DefaultTableModel) table.getModel();

--
Gitblit v1.9.1