diff --git a/client/src/main/java/com/ecep/contract/controller/contract/ContractWindowController.java b/client/src/main/java/com/ecep/contract/controller/contract/ContractWindowController.java index 069de3a..ca8873d 100644 --- a/client/src/main/java/com/ecep/contract/controller/contract/ContractWindowController.java +++ b/client/src/main/java/com/ecep/contract/controller/contract/ContractWindowController.java @@ -151,6 +151,7 @@ public class ContractWindowController registerTabSkin(contractTab, t -> new ContractTabSkinSubContract(this)); tabs.remove(bidVendorTab); Tab saleOrderTab = new Tab("销售订单"); + payPlanTab.setText("收款计划"); tabs.add(saleOrderTab); registerTabSkin(saleOrderTab, tab -> new ContractTabSkinSaleOrders(this, tab)); tabs.add(new Tab("票据")); @@ -166,6 +167,7 @@ public class ContractWindowController tabs.add(new Tab("发货单")); tabs.add(new Tab("签收单")); tabs.add(new Tab("付款单")); + payPlanTab.setText("付款计划"); } registerTabSkin(itemTab, tab -> new ContractTabSkinItemsV2(this)); diff --git a/client/src/main/java/com/ecep/contract/controller/tab/ContractTabSkinItemsV2.java b/client/src/main/java/com/ecep/contract/controller/tab/ContractTabSkinItemsV2.java index 8331e3c..1fa7608 100644 --- a/client/src/main/java/com/ecep/contract/controller/tab/ContractTabSkinItemsV2.java +++ b/client/src/main/java/com/ecep/contract/controller/tab/ContractTabSkinItemsV2.java @@ -5,6 +5,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.util.HashMap; +import com.ecep.contract.ContractPayWay; import com.ecep.contract.SpringApp; import com.ecep.contract.controller.contract.AbstContractTableTabSkin; import com.ecep.contract.controller.contract.ContractWindowController; @@ -132,7 +133,11 @@ public class ContractTabSkinItemsV2 taxPriceColumn.setCellFactory(TextFieldTableCell.forTableColumn(currencyStringConverter)); quantityColumn.setCellValueFactory(param -> param.getValue().getQuantity()); - quantityColumn.setCellFactory(QuantityTableCell.forTableColumn(new NumberStringConverter(getLocale()))); + if (getEntity().getPayWay() == ContractPayWay.PAY) { + quantityColumn.setCellFactory(QuantityTableCell.forTableColumn(new NumberStringConverter(getLocale()))); + } else { + quantityColumn.setCellFactory(TextFieldTableCell.forTableColumn(new NumberStringConverter(getLocale()))); + } taxAmountColumn.setCellValueFactory(param -> param.getValue().getTaxAmount()); taxAmountColumn.setCellFactory(TextFieldTableCell.forTableColumn(currencyStringConverter)); diff --git a/client/src/main/java/com/ecep/contract/controller/vendor/purchase/order/PurchaseOrderTabSkinBase.java b/client/src/main/java/com/ecep/contract/controller/vendor/purchase/order/PurchaseOrderTabSkinBase.java index ad162b7..8387aa5 100644 --- a/client/src/main/java/com/ecep/contract/controller/vendor/purchase/order/PurchaseOrderTabSkinBase.java +++ b/client/src/main/java/com/ecep/contract/controller/vendor/purchase/order/PurchaseOrderTabSkinBase.java @@ -47,8 +47,12 @@ public class PurchaseOrderTabSkinBase initializeEmployeeField(controller.verifierField, viewModel.getVerifier()); initializeEmployeeField(controller.closerField, viewModel.getCloser()); - viewModel.getTaxRate(); - viewModel.getTaxRateLocked(); + // 税率和税率锁定绑定 + controller.taxRateField.textProperty().bindBidirectional(viewModel.getTaxRate(), + new javafx.util.converter.NumberStringConverter(getLocale(), "#.##")); + controller.taxRateLockedField.selectedProperty().bindBidirectional(viewModel.getTaxRateLocked()); + + viewModel.getVendorCode().bindBidirectional(controller.vendorCodeField.textProperty()); controller.makeDateField.textProperty().bind(viewModel.getMakerDate().map(MyDateTimeUtils::format)); controller.verifierDateField.textProperty().bind(viewModel.getVerifierDate().map(MyDateTimeUtils::format)); diff --git a/client/src/main/java/com/ecep/contract/controller/vendor/purchase/order/PurchaseOrderWindowController.java b/client/src/main/java/com/ecep/contract/controller/vendor/purchase/order/PurchaseOrderWindowController.java index 50afc46..819b862 100644 --- a/client/src/main/java/com/ecep/contract/controller/vendor/purchase/order/PurchaseOrderWindowController.java +++ b/client/src/main/java/com/ecep/contract/controller/vendor/purchase/order/PurchaseOrderWindowController.java @@ -14,6 +14,7 @@ import com.ecep.contract.vm.PurchaseOrderViewModel; import com.ecep.contract.vo.PurchaseOrderVo; import javafx.scene.control.Button; +import javafx.scene.control.CheckBox; import javafx.scene.control.Label; import javafx.scene.control.Tab; import javafx.scene.control.TabPane; @@ -49,6 +50,9 @@ public class PurchaseOrderWindowController public TextField closerDateField; public TextField closerField; public Label versionLabel; + public TextField taxRateField; + public CheckBox taxRateLockedField; + public TextField vendorCodeField; @Autowired private PurchaseOrdersService service; diff --git a/client/src/main/java/com/ecep/contract/vm/PurchaseOrderItemViewModel.java b/client/src/main/java/com/ecep/contract/vm/PurchaseOrderItemViewModel.java index 464c3b0..a8f1087 100644 --- a/client/src/main/java/com/ecep/contract/vm/PurchaseOrderItemViewModel.java +++ b/client/src/main/java/com/ecep/contract/vm/PurchaseOrderItemViewModel.java @@ -23,6 +23,11 @@ public class PurchaseOrderItemViewModel extends IdentityViewModel inventory = new SimpleObjectProperty<>(); + /** + * 关联的采购合同条目, ContractItem + */ + private SimpleObjectProperty contractItem = new SimpleObjectProperty<>(); + private SimpleIntegerProperty refId = new SimpleIntegerProperty(); private SimpleDoubleProperty quantity = new SimpleDoubleProperty(); private SimpleDoubleProperty price = new SimpleDoubleProperty(); @@ -36,6 +41,7 @@ public class PurchaseOrderItemViewModel extends IdentityViewModel - + diff --git a/client/src/main/resources/ui/contract/purchase-orders.fxml b/client/src/main/resources/ui/contract/purchase-orders.fxml index 30afadd..faef937 100644 --- a/client/src/main/resources/ui/contract/purchase-orders.fxml +++ b/client/src/main/resources/ui/contract/purchase-orders.fxml @@ -2,6 +2,7 @@ + @@ -19,8 +20,7 @@ - +
@@ -44,22 +44,25 @@ +