feat(HJGL): 新增材料仓库管理并优化管线划分页面

**新增功能:**
   - 添加材料仓库管理模块(增删改查)
   - 管线划分页面支持按流水段和管线划分筛选
   - 管线划分页面支持批量设置仓库

   **技术改进:**
   - 新增 Base_Warehouse 表和模型
   - 扩展 HJGL_Pipeline 模型添加 WarehouseId 字段
   - 优化管线查询支持多条件组合
This commit is contained in:
2026-03-05 19:26:42 +08:00
parent b9f4db1a04
commit aaa8090205
11 changed files with 283 additions and 106 deletions
@@ -33,8 +33,9 @@
.f-grid-row.green {
background-color: green;
}
.f-grid-row {
font-size:smaller;
font-size: smaller;
}
</style>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
@@ -50,6 +51,13 @@
IconFont="ArrowCircleLeft">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DropDownList ID="drpWarehouse" runat="server" Label="仓库" AutoSelectFirstItem="true"
Width="230px" LabelWidth="65px" OnSelectedIndexChanged="drpWarehouse_SelectedIndexChanged" AutoPostBack="true">
</f:DropDownList>
</Items>
</f:Toolbar>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox ID="txtPipelineCode" runat="server" Label="管线号"
EmptyText="输入查询条件" Width="230px" LabelWidth="65px">
@@ -57,17 +65,18 @@
<f:HiddenField runat="server" ID="hdUnitWorkId"></f:HiddenField>
</Items>
</f:Toolbar>
<f:Toolbar ID="Toolbar5" Position="Top" runat="server" ToolbarAlign="Left" >
<Items >
<f:Toolbar ID="Toolbar6" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DropDownList ID="drpFlowingSection" Label="流水段" AutoPostBack="true"
runat="server" LabelWidth="80px"
Width="180px" LabelAlign="Left">
runat="server" LabelWidth="80px"
Width="180px" LabelAlign="Left">
</f:DropDownList>
</Items>
</f:Toolbar>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<f:Toolbar ID="Toolbar5" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:Button ID="btnTreeFind" ToolTip="查询" Icon="SystemSearch"
EnablePostBack="true" OnClick="btnTreeFind_Click" runat="server">
@@ -84,14 +93,14 @@
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Height="560px" Title="装置区域"
OnNodeCommand="tvControlItem_NodeCommand" runat="server" ShowBorder="false" EnableCollapse="true"
EnableSingleClickExpand="false" AutoLeafIdentification="true" EnableSingleExpand="true" EnableCheckBox="true"
EnableSingleClickExpand="false" AutoLeafIdentification="true" EnableSingleExpand="true" EnableCheckBox="true"
EnableTextSelection="true" OnNodeExpand="tvControlItem_TreeNodeExpanded">
</f:Tree>
</Items>
</f:Panel>
<f:Panel runat="server" ID="panel3" RegionPosition="Left" RegionSplit="true" EnableCollapse="true"
Width="230px" Title="匹配管线(棕色为正在出库中管线)" ShowBorder="true" ShowHeader="true"
BodyPadding="10px" AutoScroll="true">
BodyPadding="10px" AutoScroll="true">
<Toolbars>
<f:Toolbar ID="Toolbar4" Position="Bottom" runat="server" ToolbarAlign="Left">
<Items>
@@ -99,12 +108,12 @@
</f:Button>
<f:Button ID="btnDeletePipelineMatchMat" Icon="Delete" runat="server" OnClick="btnDeletePipelineMatchMat_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Items>
<f:Grid ID="Grid3" ShowBorder="false" ShowHeader="false" runat="server" EnableCollapse="false"
<f:Grid ID="Grid3" ShowBorder="false" ShowHeader="false" runat="server" EnableCollapse="false"
DataKeyNames="Key" DataIDField="Key" ShowGridHeader="false" EnableRowLines="false" EnableAlternateRowColor="false">
<Columns>
<f:RenderField Width="200px" ColumnID="Value" DataField="Value" SortField="Value"
@@ -129,10 +138,10 @@
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:Label ID="lbRate" runat="server" LabelWidth="100px" Hidden="true"></f:Label>
<f:Label ID="lbNote" runat="server" LabelWidth="100px" Text="绿色为匹配率100%,红色为匹配率小于100%"></f:Label>
<f:Label ID="lbNote" runat="server" LabelWidth="100px" Text="绿色为匹配率100%,红色为匹配率小于100%"></f:Label>
<f:Button ID="btnGenTask" ToolTip="生成任务单" Icon="ApplicationViewIcons" runat="server" OnClick="btnGenTask_Click" ConfirmText="确定生成任务单吗?">
</f:Button>
<f:CheckBox ID="cbSelectCom" ShowLabel="false" runat="server" Text="默认勾选匹配100%" Checked="true" >
<f:CheckBox ID="cbSelectCom" ShowLabel="false" runat="server" Text="默认勾选匹配100%" Checked="true">
</f:CheckBox>
</Items>
</f:Toolbar>
@@ -141,7 +150,7 @@
<f:Grid ID="Grid2" ShowBorder="true" ShowHeader="false" Title="材料匹配" EnableRowClickEvent="true"
EnableCollapse="true" runat="server" BoxFlex="1" DataKeyNames="PipelineId" ForceFit="true"
EnableColumnLines="true" DataIDField="PipelineId" AllowSorting="true" OnRowClick="Grid2_RowClick"
SortField="PipelineId" SortDirection="ASC" EnableCheckBoxSelect="true" >
SortField="PipelineId" SortDirection="ASC" EnableCheckBoxSelect="true">
<Columns>
<f:RenderField Width="150px" ColumnID="UnitWorkName" DataField="UnitWorkName" SortField="UnitWorkName"
FieldType="String" HeaderText="主项" HeaderTextAlign="Center"
@@ -167,7 +176,7 @@
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="材料匹配明细" EnableRowClickEvent="true"
EnableCollapse="true" runat="server" BoxFlex="1" DataKeyNames="Id" ForceFit="true"
EnableColumnLines="true" DataIDField="Id" AllowSorting="true" OnRowDataBound="Grid1_RowDataBound"
SortField="Id" SortDirection="ASC" OnSort="Grid1_Sort" >
SortField="Id" SortDirection="ASC" OnSort="Grid1_Sort">
<Columns>
<f:RenderField Width="200px" ColumnID="PipelineCode" DataField="PipelineCode" SortField="PipelineCode"
FieldType="String" HeaderText="管线号" HeaderTextAlign="Center"