From c74f3f6478a1171244438fb09a0de849a91f3d2a Mon Sep 17 00:00:00 2001 From: zzk0803 Date: Fri, 7 Jun 2019 21:03:39 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84BeanConfiguration=E5=B7=A5?= =?UTF-8?q?=E5=8E=82=E7=B1=BB=E4=BB=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 6 -- .../BeanConfigurationForDormitoryView.java | 55 ++++++------------ .../dms/ui/dormitory/DormitoryEditDialog.java | 15 +++-- .../dms/ui/dormitory/DormitoryEditForm.java | 16 +++-- .../finance/BeanConfigureForFinanceView.java | 42 +++----------- .../dms/ui/finance/FinanceRecordDialog.java | 4 ++ .../dms/ui/finance/FinanceRecordEditForm.java | 17 ++++-- .../BeanConfigurationForTenementView.java | 58 +++++-------------- .../dms/ui/tenement/TenementEditDialog.java | 10 +++- .../dms/ui/tenement/TenementEditForm.java | 26 +++++---- 10 files changed, 97 insertions(+), 152 deletions(-) diff --git a/pom.xml b/pom.xml index f8ec000..864a5e5 100644 --- a/pom.xml +++ b/pom.xml @@ -72,12 +72,6 @@ ${card.version} - - com.github.appreciated - app-layout-addon - LATEST - - org.apache.poi diff --git a/src/main/java/zzk/project/dms/ui/dormitory/BeanConfigurationForDormitoryView.java b/src/main/java/zzk/project/dms/ui/dormitory/BeanConfigurationForDormitoryView.java index 4c7df8c..33ae8cc 100644 --- a/src/main/java/zzk/project/dms/ui/dormitory/BeanConfigurationForDormitoryView.java +++ b/src/main/java/zzk/project/dms/ui/dormitory/BeanConfigurationForDormitoryView.java @@ -68,7 +68,7 @@ public TreeGrid spaceTreeGrid() { final DormitorySpace space = clickedItemEvent.getItem(); if (spaceTreeGrid.isExpanded(space)) { spaceTreeGrid.collapse(space); - }else { + } else { spaceTreeGrid.expand(space); } }); @@ -285,20 +285,6 @@ public H1 headerH1() { return new H1(DormitoryView.VIEW_TITLE); } - @Bean - @UIScope - public DormitoryEditForm dormitoryEditForm() { - return new DormitoryEditForm( - dormitorySpaceService, - spaceBinder(), - spaceNameField(), - capacityField(), - availableCheckbox(), - operationalCheckbox(), - spaceTypeComboBox(), - upperSpaceComboBox() - ); - } //-------------------------------------------------------------------------------- //------------ 住户管理编辑对话框 ----------------- @@ -306,22 +292,10 @@ public DormitoryEditForm dormitoryEditForm() { @Bean @UIScope - public DormitoryEditDialog dormitoryEditDialog() { - return new DormitoryEditDialog( - dormitoryEditForm(), - commitButton(), - giveUpButton() - ); + public H4 dialogHeaderForDormitory() { + return new H4("新建&编辑宿舍空间"); } - @Bean - @UIScope - public Button giveUpButton() { - Button giveUpButton = new Button("放弃并关闭"); - giveUpButton.addThemeVariants(ButtonVariant.LUMO_TERTIARY_INLINE); - giveUpButton.getStyle().set("color", "red"); - return giveUpButton; - } @Bean @UIScope @@ -331,7 +305,7 @@ public Binder spaceBinder() { @Bean @UIScope - public TextField spaceNameField() { + public TextField dormitorySpaceNameField() { TextField spaceNameField = new TextField("名称", "请输入名称或编号"); spaceNameField.setRequired(true); spaceNameField.setRequiredIndicatorVisible(true); @@ -340,7 +314,7 @@ public TextField spaceNameField() { @Bean @UIScope - public TextField capacityField() { + public TextField dormitoryCapacityField() { TextField capacityField = new TextField("容积", "最大容纳人数"); capacityField.setRequiredIndicatorVisible(true); return capacityField; @@ -348,19 +322,19 @@ public TextField capacityField() { @Bean @UIScope - public Checkbox availableCheckbox() { + public Checkbox dormitoryAvailableCheckbox() { return new Checkbox("设置为可用(未满)"); } @Bean @UIScope - public Checkbox operationalCheckbox() { + public Checkbox dormitoryOperationalCheckbox() { return new Checkbox("设置为启用"); } @Bean @UIScope - public ComboBox spaceTypeComboBox() { + public ComboBox dormitorySpaceTypeComboBox() { ComboBox spaceTypeComboBox = new ComboBox<>("空间类型"); spaceTypeComboBox.setItems(DormitorySpaceType.values()); spaceTypeComboBox.setItemLabelGenerator(DormitorySpaceType::getCn); @@ -369,7 +343,7 @@ public ComboBox spaceTypeComboBox() { @Bean @UIScope - public ComboBox upperSpaceComboBox() { + public ComboBox dormitoryUpperSpaceComboBox() { ComboBox upperSpaceComboBox = new ComboBox<>("上层空间"); upperSpaceComboBox.setVisible(false); upperSpaceComboBox.setItemLabelGenerator(DormitorySpace::getName); @@ -378,9 +352,18 @@ public ComboBox upperSpaceComboBox() { @Bean @UIScope - public Button commitButton() { + public Button dormitoryDialogCommitButton() { Button commit = new Button("提交"); commit.addThemeVariants(ButtonVariant.LUMO_PRIMARY); return commit; } + + @Bean + @UIScope + public Button dormitoryDialogGiveUpButton() { + Button giveUpButton = new Button("放弃并关闭"); + giveUpButton.addThemeVariants(ButtonVariant.LUMO_TERTIARY_INLINE); + giveUpButton.getStyle().set("color", "red"); + return giveUpButton; + } } diff --git a/src/main/java/zzk/project/dms/ui/dormitory/DormitoryEditDialog.java b/src/main/java/zzk/project/dms/ui/dormitory/DormitoryEditDialog.java index eda734b..873446b 100644 --- a/src/main/java/zzk/project/dms/ui/dormitory/DormitoryEditDialog.java +++ b/src/main/java/zzk/project/dms/ui/dormitory/DormitoryEditDialog.java @@ -7,12 +7,18 @@ import com.vaadin.flow.component.orderedlayout.HorizontalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.component.treegrid.TreeGrid; +import com.vaadin.flow.spring.annotation.SpringComponent; +import com.vaadin.flow.spring.annotation.UIScope; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import zzk.project.dms.domain.entities.DormitorySpace; +@SpringComponent +@UIScope public class DormitoryEditDialog extends Dialog { private VerticalLayout root = new VerticalLayout(); + private H4 dialogHeader; private DormitoryEditForm dormitoryEditForm; private TreeGrid spaceTreeGrid; @@ -21,10 +27,12 @@ public class DormitoryEditDialog extends Dialog { @Autowired public DormitoryEditDialog( + @Qualifier("dialogHeaderForDormitory") H4 dialogHeader, DormitoryEditForm dormitoryEditForm, - Button commitButton, - Button giveUpButton + @Qualifier("dormitoryDialogCommitButton") Button commitButton, + @Qualifier("dormitoryDialogGiveUpButton") Button giveUpButton ) { + this.dialogHeader = dialogHeader; this.dormitoryEditForm = dormitoryEditForm; this.commitButton = commitButton; this.giveUpButton = giveUpButton; @@ -43,8 +51,7 @@ private void init() { this.setCloseOnOutsideClick(false); this.setCloseOnEsc(false); - H4 headerH4 = new H4("新建&编辑宿舍空间"); - root.add(headerH4); + root.add(dialogHeader); root.add(dormitoryEditForm); root.add(new HorizontalLayout(commitButton, giveUpButton)); addComponentAsFirst(root); diff --git a/src/main/java/zzk/project/dms/ui/dormitory/DormitoryEditForm.java b/src/main/java/zzk/project/dms/ui/dormitory/DormitoryEditForm.java index e8a27ed..9e122f7 100644 --- a/src/main/java/zzk/project/dms/ui/dormitory/DormitoryEditForm.java +++ b/src/main/java/zzk/project/dms/ui/dormitory/DormitoryEditForm.java @@ -10,6 +10,8 @@ import com.vaadin.flow.data.binder.ValidationResult; import com.vaadin.flow.data.converter.StringToIntegerConverter; import com.vaadin.flow.data.provider.ListDataProvider; +import com.vaadin.flow.spring.annotation.SpringComponent; +import com.vaadin.flow.spring.annotation.UIScope; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import zzk.project.dms.domain.DormitoryManageException; @@ -19,6 +21,8 @@ import java.util.Objects; +@SpringComponent +@UIScope public class DormitoryEditForm extends VerticalLayout { private Binder dormitorySpaceBinder; @@ -39,12 +43,12 @@ public class DormitoryEditForm extends VerticalLayout { public DormitoryEditForm( DormitorySpaceService dormitorySpaceService, Binder dormitorySpaceBinder, - @Qualifier("spaceNameField") TextField spaceNameField, - @Qualifier("capacityField") TextField capacityField, - @Qualifier("availableCheckbox") Checkbox availableCheckbox, - Checkbox operationalCheckbox, - ComboBox spaceTypeComboBox, - ComboBox upperSpaceComboBox + @Qualifier("dormitorySpaceNameField") TextField spaceNameField, + @Qualifier("dormitoryCapacityField") TextField capacityField, + @Qualifier("dormitoryAvailableCheckbox") Checkbox availableCheckbox, + @Qualifier("dormitoryOperationalCheckbox") Checkbox operationalCheckbox, + @Qualifier("dormitorySpaceTypeComboBox") ComboBox spaceTypeComboBox, + @Qualifier("dormitoryUpperSpaceComboBox") ComboBox upperSpaceComboBox ) { this.dormitorySpaceService = dormitorySpaceService; this.dormitorySpaceBinder = dormitorySpaceBinder; diff --git a/src/main/java/zzk/project/dms/ui/finance/BeanConfigureForFinanceView.java b/src/main/java/zzk/project/dms/ui/finance/BeanConfigureForFinanceView.java index 9f61798..a956abb 100644 --- a/src/main/java/zzk/project/dms/ui/finance/BeanConfigureForFinanceView.java +++ b/src/main/java/zzk/project/dms/ui/finance/BeanConfigureForFinanceView.java @@ -108,33 +108,19 @@ public Grid financialRecordGrid() { return financialRecordGrid; } - @Bean - @UIScope - public FinanceRecordDialog financeRecordDialog() { - FinanceRecordDialog dialog = new FinanceRecordDialog( - financeRecordFormDialogHeader(), - financeRecordFormEntityEditForm(), - financeRecordFormOkButton(), - financeRecordFormCancelButton() - ); - dialog.setCloseOnEsc(false); - dialog.setCloseOnOutsideClick(false); - return dialog; - } - //-------------------------------------------------------------------------------- //------------ 财务表单页面 ----------------- //-------------------------------------------------------------------------------- @Bean @UIScope - public Binder financialRecordBinder() { - return new Binder<>(); + public Binder financialBinder() { + return new Binder(); } @Bean @UIScope - public ComboBox tenementComboBox() { + public ComboBox financialTenementComboBox() { ComboBox tenementComboBox = new ComboBox<>("住户"); tenementComboBox.setDataProvider(tenementDataProviderForComboBox()); tenementComboBox.setItemLabelGenerator(Tenement::getName); @@ -149,7 +135,7 @@ public TenementNameFilterAndPageableDataProvider tenementDataProviderForComboBox @Bean @UIScope - public DatePicker recordDateDatePicker() { + public DatePicker financialRecordDatePicker() { DatePicker recordDateDatePicker = new DatePicker(); recordDateDatePicker.setLabel("结算日期"); return recordDateDatePicker; @@ -157,7 +143,7 @@ public DatePicker recordDateDatePicker() { @Bean @UIScope - public NumberField checkInField() { + public NumberField financialCheckInField() { NumberField numberField = new NumberField("应收金额"); numberField.setHasControls(true); numberField.setSuffixComponent(VaadinIcon.DOLLAR.create()); @@ -166,7 +152,7 @@ public NumberField checkInField() { @Bean @UIScope - public TextArea descriptionArea() { + public TextArea financialDescriptionArea() { TextArea descriptionArea = new TextArea("备忘录"); descriptionArea.setHeight("20em"); return descriptionArea; @@ -174,7 +160,7 @@ public TextArea descriptionArea() { @Bean @UIScope - public Checkbox markCheckBox() { + public Checkbox financialMarkCheckBox() { return new Checkbox("是否已收款"); } @@ -188,20 +174,6 @@ public H4 financeRecordFormDialogHeader() { return new H4("新建&编辑收费记录"); } - @Bean - @UIScope - public FinanceRecordEditForm financeRecordFormEntityEditForm() { - return new FinanceRecordEditForm( - financialRecordBinder(), - recordDateDatePicker(), - tenementComboBox(), - checkInField(), - descriptionArea(), - markCheckBox(), - financialRecordService - ); - } - @Bean @UIScope public Button financeRecordFormOkButton() { diff --git a/src/main/java/zzk/project/dms/ui/finance/FinanceRecordDialog.java b/src/main/java/zzk/project/dms/ui/finance/FinanceRecordDialog.java index f0a8d9e..1d454c4 100644 --- a/src/main/java/zzk/project/dms/ui/finance/FinanceRecordDialog.java +++ b/src/main/java/zzk/project/dms/ui/finance/FinanceRecordDialog.java @@ -8,10 +8,14 @@ import com.vaadin.flow.component.orderedlayout.FlexComponent; import com.vaadin.flow.component.orderedlayout.HorizontalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout; +import com.vaadin.flow.spring.annotation.SpringComponent; +import com.vaadin.flow.spring.annotation.UIScope; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import zzk.project.dms.domain.entities.FinancialRecord; +@SpringComponent +@UIScope public class FinanceRecordDialog extends Dialog { private H4 dialogHeader; diff --git a/src/main/java/zzk/project/dms/ui/finance/FinanceRecordEditForm.java b/src/main/java/zzk/project/dms/ui/finance/FinanceRecordEditForm.java index e673e5c..1cdf261 100644 --- a/src/main/java/zzk/project/dms/ui/finance/FinanceRecordEditForm.java +++ b/src/main/java/zzk/project/dms/ui/finance/FinanceRecordEditForm.java @@ -9,12 +9,17 @@ import com.vaadin.flow.component.textfield.TextArea; import com.vaadin.flow.data.binder.*; import com.vaadin.flow.data.converter.Converter; +import com.vaadin.flow.spring.annotation.SpringComponent; +import com.vaadin.flow.spring.annotation.UIScope; +import org.springframework.beans.factory.annotation.Qualifier; import zzk.project.dms.domain.entities.FinancialRecord; import zzk.project.dms.domain.entities.Tenement; import zzk.project.dms.domain.services.FinancialRecordService; import java.math.BigDecimal; +@SpringComponent +@UIScope public class FinanceRecordEditForm extends VerticalLayout { private Binder binder; private FinancialRecord editingRecord; @@ -35,12 +40,12 @@ public class FinanceRecordEditForm extends VerticalLayout { private FinancialRecordService financialRecordService; public FinanceRecordEditForm( - Binder binder, - DatePicker recordDatePicker, - ComboBox tenementComboBox, - NumberField checkInField, - TextArea descriptionArea, - Checkbox markCheckBox, + @Qualifier("financialBinder") Binder binder, + @Qualifier("financialRecordDatePicker") DatePicker recordDatePicker, + @Qualifier("financialTenementComboBox") ComboBox tenementComboBox, + @Qualifier("financialCheckInField") NumberField checkInField, + @Qualifier("financialDescriptionArea") TextArea descriptionArea, + @Qualifier("financialMarkCheckBox") Checkbox markCheckBox, FinancialRecordService financialRecordService ) { this.financialRecordService = financialRecordService; diff --git a/src/main/java/zzk/project/dms/ui/tenement/BeanConfigurationForTenementView.java b/src/main/java/zzk/project/dms/ui/tenement/BeanConfigurationForTenementView.java index 8d5a437..48bd2e9 100644 --- a/src/main/java/zzk/project/dms/ui/tenement/BeanConfigurationForTenementView.java +++ b/src/main/java/zzk/project/dms/ui/tenement/BeanConfigurationForTenementView.java @@ -169,17 +169,6 @@ public Grid tenementGrid() { return tenementGrid; } - @Bean - @UIScope - public TenementEditDialog tenementEditDialog() { - return new TenementEditDialog( - dialogHeader(), - tenementEditForm(), - okButton(), - cancelButton() - ); - } - //-------------------------------------------------------------------------------- //------------ 住户表单页面 ----------------- //-------------------------------------------------------------------------------- @@ -192,19 +181,19 @@ public Binder tenementBinder() { @Bean @UIScope - public Checkbox distributeCurrently() { + public Checkbox tenementDistributeCurrently() { return new Checkbox("显示房间分配"); } @Bean @UIScope - public TextField nameField() { + public TextField tenementNameField() { return new TextField("姓名"); } @Bean @UIScope - public Select genderSelect() { + public Select tenementGenderSelect() { Select genderSelect = new Select<>(); genderSelect.setLabel("性别"); genderSelect.setItems(TenementGender.values()); @@ -219,31 +208,31 @@ public Select genderSelect() { @Bean @UIScope - public TextField personIdentityIDField() { + public TextField tenementPersonIdentityIDField() { return new TextField("身份证号码"); } @Bean @UIScope - public TextField houseTelephoneField() { + public TextField tenementHouseTelephoneField() { return new TextField("座机号码"); } @Bean @UIScope - public TextField mobilePhone() { + public TextField tenementMobilePhone() { return new TextField("手机号码"); } @Bean @UIScope - public EmailField primaryEmailField() { + public EmailField tenementPrimaryEmailField() { return new EmailField("电子邮箱"); } @Bean @UIScope - public Label berthLabel() { + public Label tenementBerthLabel() { return new Label(); } @@ -299,7 +288,7 @@ public Label berthLabel() { @Bean @Scope("prototype") - public DatePicker datePicker() { + public DatePicker tenementDatePicker() { DatePicker datePicker = new DatePicker(); datePicker.setLocale(Locale.CHINA); // datePicker.setI18n(datePickerI18n()); @@ -308,7 +297,7 @@ public DatePicker datePicker() { @Bean @UIScope - public Checkbox validCheckbox() { + public Checkbox tenementValidCheckbox() { return new Checkbox("有效"); } @@ -319,34 +308,13 @@ public Checkbox validCheckbox() { @Bean @UIScope - public H4 dialogHeader() { + public H4 tenementDialogHeader() { return new H4("编辑&新建住户"); } @Bean @UIScope - public TenementEditForm tenementEditForm() { - return new TenementEditForm( - tenementBinder(), - tenementService, - dormitorySpaceService, - distributeCurrently(), - nameField(), - genderSelect(), - personIdentityIDField(), - houseTelephoneField(), - mobilePhone(), - primaryEmailField(), - berthLabel(), - datePicker(), - datePicker(), - validCheckbox() - ); - } - - @Bean - @UIScope - public Button okButton() { + public Button tenementOkButton() { Button button = new Button("提交"); button.addThemeVariants(ButtonVariant.LUMO_PRIMARY); return button; @@ -354,7 +322,7 @@ public Button okButton() { @Bean @UIScope - public Button cancelButton() { + public Button tenementCancelButton() { Button cancel = new Button("放弃并返回"); cancel.addThemeVariants(ButtonVariant.LUMO_TERTIARY_INLINE); cancel.getStyle().set("color", "red"); diff --git a/src/main/java/zzk/project/dms/ui/tenement/TenementEditDialog.java b/src/main/java/zzk/project/dms/ui/tenement/TenementEditDialog.java index 0c26558..4486183 100644 --- a/src/main/java/zzk/project/dms/ui/tenement/TenementEditDialog.java +++ b/src/main/java/zzk/project/dms/ui/tenement/TenementEditDialog.java @@ -7,10 +7,14 @@ import com.vaadin.flow.component.orderedlayout.FlexComponent; import com.vaadin.flow.component.orderedlayout.HorizontalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout; +import com.vaadin.flow.spring.annotation.SpringComponent; +import com.vaadin.flow.spring.annotation.UIScope; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import zzk.project.dms.domain.entities.Tenement; +@SpringComponent +@UIScope public class TenementEditDialog extends Dialog { private VerticalLayout root = new VerticalLayout(); @@ -23,10 +27,10 @@ public class TenementEditDialog extends Dialog { @Autowired public TenementEditDialog( - @Qualifier("dialogHeader") H4 dialogHeader, + @Qualifier("tenementDialogHeader") H4 dialogHeader, @Qualifier("tenementEditForm") TenementEditForm tenementEditForm, - @Qualifier("okButton") Button okButton, - @Qualifier("cancelButton") Button cancelButton + @Qualifier("tenementOkButton") Button okButton, + @Qualifier("tenementCancelButton") Button cancelButton ) { this.dialogHeader = dialogHeader; this.tenementEditForm = tenementEditForm; diff --git a/src/main/java/zzk/project/dms/ui/tenement/TenementEditForm.java b/src/main/java/zzk/project/dms/ui/tenement/TenementEditForm.java index a00d125..33d7a2c 100644 --- a/src/main/java/zzk/project/dms/ui/tenement/TenementEditForm.java +++ b/src/main/java/zzk/project/dms/ui/tenement/TenementEditForm.java @@ -14,6 +14,8 @@ import com.vaadin.flow.data.binder.PropertyId; import com.vaadin.flow.data.binder.ValidationException; import com.vaadin.flow.data.binder.ValidationResult; +import com.vaadin.flow.spring.annotation.SpringComponent; +import com.vaadin.flow.spring.annotation.UIScope; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import zzk.project.dms.domain.DormitoryManageException; @@ -28,6 +30,8 @@ import java.util.Objects; +@SpringComponent +@UIScope public class TenementEditForm extends VerticalLayout { private Tenement editTenement; private Tenement completedTenement; @@ -83,17 +87,17 @@ public TenementEditForm( @Qualifier("tenementBinder") Binder tenementBinder, TenementService tenementService, DormitorySpaceService dormitorySpaceService, - @Qualifier("distributeCurrently") Checkbox distributeCurrentlyCheckbox, - @Qualifier("nameField") TextField nameField, - @Qualifier("genderSelect") Select genderSelect, - @Qualifier("personIdentityIDField") TextField personIdentityIDField, - @Qualifier("houseTelephoneField") TextField houseTelephoneField, - @Qualifier("mobilePhone") TextField mobilePhone, - @Qualifier("primaryEmailField") EmailField primaryEmailField, - @Qualifier("berthLabel") Label berthLabel, - @Qualifier("datePicker") DatePicker tenementDateField, - @Qualifier("datePicker") DatePicker expireDateField, - @Qualifier("validCheckbox") Checkbox validCheckbox + @Qualifier("tenementDistributeCurrently") Checkbox distributeCurrentlyCheckbox, + @Qualifier("tenementNameField") TextField nameField, + @Qualifier("tenementGenderSelect") Select genderSelect, + @Qualifier("tenementPersonIdentityIDField") TextField personIdentityIDField, + @Qualifier("tenementHouseTelephoneField") TextField houseTelephoneField, + @Qualifier("tenementMobilePhone") TextField mobilePhone, + @Qualifier("tenementPrimaryEmailField") EmailField primaryEmailField, + @Qualifier("tenementBerthLabel") Label berthLabel, + @Qualifier("tenementDatePicker") DatePicker tenementDateField, + @Qualifier("tenementDatePicker") DatePicker expireDateField, + @Qualifier("tenementValidCheckbox") Checkbox validCheckbox ) { this.tenementBinder = tenementBinder;