From 57055d7b83ebec919b801c764bb4e0b172b8af09 Mon Sep 17 00:00:00 2001 From: "lidy@connor.net.cn" Date: Thu, 8 Aug 2024 01:23:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA/=E7=BC=96=E8=BE=91=E6=9B=B4?= =?UTF-8?q?=E6=94=B9=E9=80=9A=E7=9F=A5=E5=8D=95=E5=A6=82=E6=9E=9C=E5=8F=97?= =?UTF-8?q?=E5=BD=B1=E5=93=8D=E5=88=86=E6=9E=90=E7=9A=84=E5=9C=B0=E6=96=B9?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=8B=BE=E4=B8=80=E4=B8=AA=E6=98=AF=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E5=85=81=E8=AE=B8=E7=82=B9=E5=87=BB=E6=8C=87=E6=B4=BE?= =?UTF-8?q?=E4=BA=BA=E5=91=98=EF=BC=8C=E6=8C=87=E6=B4=BE=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E4=B8=BA=E7=81=B0=E8=89=B2=EF=BC=8C=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E5=A1=AB=E5=86=99=E4=B9=9F=E4=B8=8D=E8=AE=A9=E5=86=99?= =?UTF-8?q?=EF=BC=8C=E5=A6=82=E6=9E=9C=E9=83=A8=E9=97=A8=E4=B8=8B=E9=83=BD?= =?UTF-8?q?=E6=94=B9=E4=BA=86=E5=90=A6=EF=BC=8C=E9=82=A3=E4=B9=88=E4=B9=9F?= =?UTF-8?q?=E6=B8=85=E7=A9=BA=E6=8E=89=E5=90=8E=E9=9D=A2=E7=9A=84=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plm/createEcn/CreateEcnController.java | 93 +++++++++++++++---- .../com/chint/plm/createEcn/RefTableBean.java | 7 +- 2 files changed, 79 insertions(+), 21 deletions(-) diff --git a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/CreateEcnController.java b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/CreateEcnController.java index f8e0f28..f29b491 100644 --- a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/CreateEcnController.java +++ b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/CreateEcnController.java @@ -54,6 +54,8 @@ import edu.emory.mathcs.backport.java.util.Arrays; import javafx.application.Platform; import javafx.beans.property.SimpleIntegerProperty; import javafx.beans.property.SimpleStringProperty; +import javafx.beans.value.ChangeListener; +import javafx.beans.value.ObservableValue; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.event.ActionEvent; @@ -846,10 +848,13 @@ public class CreateEcnController extends KFXPanelController { if (split.length >= 2) { refTableBean.setUserUUid(split[1]); } - if(split[0].equals("null")) + if(split.length > 0) { + if(split[0].equals("null")) + refTableBean.setUserPane(""); + else + refTableBean.setUserPane(split[0]); + }else refTableBean.setUserPane(""); - else - refTableBean.setUserPane(split[0]); String result = read.getString("result"); if (result.equals("否")) { refTableBean.setShNo(true); @@ -1120,27 +1125,25 @@ public class CreateEcnController extends KFXPanelController { */ private void addAssignAction(List refTableBeans) { // Auto-generated method stub - Button userBtn = refTableBeans.get(0).getUserBtn(); - assignBtnAction(userBtn, 0, 7, refTableBeans); - assignBtnAction(refTableBeans.get(7).getUserBtn(), 7, 11, refTableBeans); - assignBtnAction(refTableBeans.get(11).getUserBtn(), 11, 15, refTableBeans); - assignBtnAction(refTableBeans.get(15).getUserBtn(), 15, 19, refTableBeans); - assignBtnAction(refTableBeans.get(19).getUserBtn(), 19, 24, refTableBeans); - assignBtnAction(refTableBeans.get(24).getUserBtn(), 24, 27, refTableBeans); - assignBtnAction(refTableBeans.get(27).getUserBtn(), 27, 28, refTableBeans); + assignBtnAction(refTableBeans.get(0), 0, 7, refTableBeans); + assignBtnAction(refTableBeans.get(7), 7, 11, refTableBeans); + assignBtnAction(refTableBeans.get(11), 11, 15, refTableBeans); + assignBtnAction(refTableBeans.get(15), 15, 19, refTableBeans); + assignBtnAction(refTableBeans.get(19), 19, 24, refTableBeans); + assignBtnAction(refTableBeans.get(24), 24, 27, refTableBeans); + assignBtnAction(refTableBeans.get(27), 27, 28, refTableBeans); } /** - * @param userBtn - * @param start - * @param end - * @param userVal - * @param refTableBeans - * @function + * 添加影响分析表格按钮事件 + * @param bean 影响分析表格行对象 + * @param start 部门起始行 + * @param end 部门终止行 + * @param refTableBeans 影响分析表格行对象集合 */ - private void assignBtnAction(Button userBtn, int start, int end, List refTableBeans) { + private void assignBtnAction(RefTableBean bean, int start, int end, List refTableBeans) { // Auto-generated method stub - userBtn.setOnAction(e -> { + bean.getUserBtn().setOnAction(e -> { try { String userVal = refTableBeans.get(start).getUserVal(); if(userVal == null || userVal.isEmpty() || userVal.equals("null")) { @@ -1185,6 +1188,58 @@ public class CreateEcnController extends KFXPanelController { showAlertBox("指派失败:" + e1, "提示", AlertType.ERROR); } }); + + for (int i = start; i < end; i++) { + RefTableBean row = refTableBeans.get(i); + row.getShYes().selectedProperty().addListener(new ChangeListener() { + @Override + public void changed(ObservableValue observable, Boolean oldValue, Boolean newValue) { + // Auto-generated method stub +// System.out.println("oldValue"+oldValue); + if (newValue) { + row.getShNo().setSelected(false); + } + setRefEnable(start, end, refTableBeans); + } + }); + + row.getShNo().selectedProperty().addListener(new ChangeListener() { + @Override + public void changed(ObservableValue observable, Boolean oldValue, Boolean newValue) { + // Auto-generated method stub +// System.out.println("oldValue"+oldValue); + if (newValue) { + row.getShYes().setSelected(false); + } + setRefEnable(start, end, refTableBeans); + } + }); + } + setRefEnable(start, end, refTableBeans); + } + /** + * 如果受影响分析的地方没有勾一个是,不允许点击指派人员,指派人员按钮为灰色,人员填写也不让写,如果部门下都改了否,那么也清空掉后面的人员信息 + * @param start 部门起始行 + * @param end 部门终止行 + * @param refTableBeans 影响分析表格行对象集合 + */ + private void setRefEnable(int start, int end, List refTableBeans) { + boolean set = true; + for(int i = start; i < end; i++) { + if(refTableBeans.get(i).getShYes().isSelected()) { + set = false; + break; + } + } + RefTableBean top = refTableBeans.get(start); + top.getUserBtn().setDisable(set); + top.getUserText().setDisable(set); + if(set) { + for (int i = start; i < end; i++) { + refTableBeans.get(i).setUserPane(""); + refTableBeans.get(i).setUserUUid(""); + } + } } /** diff --git a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/RefTableBean.java b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/RefTableBean.java index c84e5c0..babec85 100644 --- a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/RefTableBean.java +++ b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/RefTableBean.java @@ -38,6 +38,9 @@ public class RefTableBean { } return userPane; } + public TextField getUserText() { + return userText; + } public String getUserVal() { if (userPane instanceof SimpleStringProperty) { SimpleStringProperty userProp = (SimpleStringProperty) userPane; @@ -127,7 +130,7 @@ public class RefTableBean { shNo.setSelected(true); - shYes.selectedProperty().addListener(new ChangeListener() { + /*shYes.selectedProperty().addListener(new ChangeListener() { @Override public void changed(ObservableValue observable, Boolean oldValue, Boolean newValue) { // Auto-generated method stub @@ -146,7 +149,7 @@ public class RefTableBean { shYes.setSelected(false); } } - }); + });*/ } }