feat(contract): 新增合同内容管理功能
- 添加合同内容窗口控制器及相关视图模型 - 实现合同内容基础信息标签页 - 添加金额计算功能 - 完善合同内容相关字段绑定 - 优化合同内容界面布局
This commit is contained in:
148
client/src/main/resources/ui/contract/contract-item.fxml
Normal file
148
client/src/main/resources/ui/contract/contract-item.fxml
Normal file
@@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.DatePicker?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.ScrollPane?>
|
||||
<?import javafx.scene.control.TextArea?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
<?import javafx.scene.layout.BorderPane?>
|
||||
<?import javafx.scene.layout.ColumnConstraints?>
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.layout.HBox?>
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.layout.VBox?>
|
||||
|
||||
<?import javafx.scene.control.TabPane?>
|
||||
<?import javafx.scene.control.Tab?>
|
||||
<BorderPane fx:id="root" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.ecep.contract.controller.contract.ContractItemWindowController">
|
||||
<center>
|
||||
<TabPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minWidth="150.0"
|
||||
tabClosingPolicy="UNAVAILABLE" tabMaxWidth="100.0" tabMinWidth="40.0">
|
||||
<tabs>
|
||||
<Tab fx:id="baseInfoTab" text="基本信息">
|
||||
<content>
|
||||
<ScrollPane fitToWidth="true" pannable="true">
|
||||
<VBox>
|
||||
<GridPane hgap="10.0" vgap="10.0" VBox.vgrow="ALWAYS">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="NEVER" minWidth="10.0" prefWidth="100.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="200.0" />
|
||||
<ColumnConstraints hgrow="NEVER" minWidth="10.0" prefWidth="100.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="200.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="NEVER" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="NEVER" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="NEVER" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="NEVER" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="NEVER" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="NEVER" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="NEVER" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="NEVER" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="NEVER" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="NEVER" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="NEVER" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="NEVER" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="80.0" vgrow="ALWAYS" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="NEVER" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="NEVER" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="NEVER" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="NEVER" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="NEVER" />
|
||||
</rowConstraints>
|
||||
<!-- ID -->
|
||||
<Label text="ID:" GridPane.rowIndex="0" GridPane.columnIndex="0" />
|
||||
<Label fx:id="idLabel" text="-" GridPane.rowIndex="0" GridPane.columnIndex="1" />
|
||||
|
||||
<!-- 合同内容代码 -->
|
||||
<Label text="内容代码:" GridPane.rowIndex="1" GridPane.columnIndex="0" />
|
||||
<TextField fx:id="codeField" GridPane.rowIndex="1" GridPane.columnIndex="1" />
|
||||
|
||||
<!-- 合同内容标题 -->
|
||||
<Label text="内容标题:" GridPane.rowIndex="2" GridPane.columnIndex="0" />
|
||||
<TextField fx:id="titleField" GridPane.rowIndex="2" GridPane.columnIndex="1" GridPane.columnSpan="3" />
|
||||
|
||||
<!-- 规格 -->
|
||||
<Label text="规格:" GridPane.rowIndex="3" GridPane.columnIndex="0" />
|
||||
<TextField fx:id="specificationField" GridPane.rowIndex="3" GridPane.columnIndex="1" GridPane.columnSpan="3" />
|
||||
|
||||
<!-- 单位 -->
|
||||
<Label text="单位:" GridPane.rowIndex="4" GridPane.columnIndex="0" />
|
||||
<TextField fx:id="unitField" GridPane.rowIndex="4" GridPane.columnIndex="1" />
|
||||
|
||||
<!-- 存货 -->
|
||||
<Label text="存货:" GridPane.rowIndex="5" GridPane.columnIndex="0" />
|
||||
<HBox GridPane.rowIndex="5" GridPane.columnIndex="1" GridPane.columnSpan="3">
|
||||
<TextField fx:id="inventoryField" editable="false" HBox.hgrow="ALWAYS" />
|
||||
<Button fx:id="openInventoryBtn" mnemonicParsing="false" text="查看" onAction="#onOpenInventoryAction" />
|
||||
</HBox>
|
||||
|
||||
<!-- 不含税单价 -->
|
||||
<Label text="不含税单价:" GridPane.rowIndex="6" GridPane.columnIndex="0" />
|
||||
<TextField fx:id="exclusiveTaxPriceField" GridPane.rowIndex="6" GridPane.columnIndex="1" />
|
||||
|
||||
<!-- 税率 -->
|
||||
<Label text="税率(%):" GridPane.rowIndex="6" GridPane.columnIndex="2" />
|
||||
<TextField fx:id="taxRateField" GridPane.rowIndex="6" GridPane.columnIndex="3" />
|
||||
|
||||
<!-- 含税单价 -->
|
||||
<Label text="含税单价:" GridPane.rowIndex="7" GridPane.columnIndex="0" />
|
||||
<TextField fx:id="taxPriceField" editable="false" GridPane.rowIndex="7" GridPane.columnIndex="1" />
|
||||
|
||||
<!-- 数量 -->
|
||||
<Label text="数量:" GridPane.rowIndex="7" GridPane.columnIndex="2" />
|
||||
<TextField fx:id="quantityField" GridPane.rowIndex="7" GridPane.columnIndex="3" />
|
||||
|
||||
<!-- 税额 -->
|
||||
<Label text="税额:" GridPane.rowIndex="8" GridPane.columnIndex="0" />
|
||||
<TextField fx:id="taxAmountField" editable="false" GridPane.rowIndex="8" GridPane.columnIndex="1" />
|
||||
|
||||
<!-- 不含税金额 -->
|
||||
<Label text="不含税金额:" GridPane.rowIndex="8" GridPane.columnIndex="2" />
|
||||
<TextField fx:id="exclusiveTaxAmountField" editable="false" GridPane.rowIndex="8" GridPane.columnIndex="3" />
|
||||
|
||||
<!-- 开始日期 -->
|
||||
<Label text="开始日期:" GridPane.rowIndex="9" GridPane.columnIndex="0" />
|
||||
<DatePicker fx:id="startDateField" GridPane.rowIndex="9" GridPane.columnIndex="1" />
|
||||
|
||||
<!-- 结束日期 -->
|
||||
<Label text="结束日期:" GridPane.rowIndex="9" GridPane.columnIndex="2" />
|
||||
<DatePicker fx:id="endDateField" GridPane.rowIndex="9" GridPane.columnIndex="3" />
|
||||
|
||||
<!-- 备注 -->
|
||||
<Label text="备注:" GridPane.rowIndex="10" GridPane.columnIndex="0" />
|
||||
<TextArea fx:id="remarkField" GridPane.rowIndex="10" GridPane.columnIndex="1" GridPane.columnSpan="3" />
|
||||
|
||||
<!-- 引用ID -->
|
||||
<Label text="引用ID:" GridPane.rowIndex="11" GridPane.columnIndex="0" />
|
||||
<TextField fx:id="refIdField" GridPane.rowIndex="11" GridPane.columnIndex="1" GridPane.columnSpan="3" />
|
||||
|
||||
<!-- 创建信息 -->
|
||||
<Label text="创建日期:" GridPane.rowIndex="12" GridPane.columnIndex="0" />
|
||||
<TextField fx:id="createDateLabel" editable="false" text="-" GridPane.rowIndex="12" GridPane.columnIndex="1" />
|
||||
|
||||
<Label text="创建人:" GridPane.rowIndex="13" GridPane.columnIndex="0" />
|
||||
<TextField fx:id="creatorLabel" editable="false" text="-" GridPane.rowIndex="13" GridPane.columnIndex="1" />
|
||||
|
||||
<Label text="更新日期:" GridPane.rowIndex="14" GridPane.columnIndex="0" />
|
||||
<TextField fx:id="updateDateLabel" editable="false" text="-" GridPane.rowIndex="14" GridPane.columnIndex="1" />
|
||||
|
||||
<Label text="更新人:" GridPane.rowIndex="15" GridPane.columnIndex="0" />
|
||||
<TextField fx:id="updaterLabel" editable="false" text="-" GridPane.rowIndex="15" GridPane.columnIndex="1" />
|
||||
</GridPane>
|
||||
<HBox alignment="CENTER" spacing="20.0" VBox.vgrow="NEVER">
|
||||
<Button mnemonicParsing="false" text="计算金额" onAction="#onCalculateAmountsAction" />
|
||||
</HBox>
|
||||
<padding>
|
||||
<Insets bottom="20.0" left="20.0" right="20.0" top="20.0" />
|
||||
</padding>
|
||||
</VBox>
|
||||
</ScrollPane>
|
||||
</content>
|
||||
</Tab>
|
||||
</tabs>
|
||||
</TabPane>
|
||||
</center>
|
||||
</BorderPane>
|
||||
Reference in New Issue
Block a user