From aaa8090205a1ee7de4d87941b37c063439a71d49 Mon Sep 17 00:00:00 2001 From: fei550 <1420031550@qq.com> Date: Thu, 5 Mar 2026 19:26:42 +0800 Subject: [PATCH] =?UTF-8?q?=20=20feat(HJGL):=20=E6=96=B0=E5=A2=9E=E6=9D=90?= =?UTF-8?q?=E6=96=99=E4=BB=93=E5=BA=93=E7=AE=A1=E7=90=86=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E7=AE=A1=E7=BA=BF=E5=88=92=E5=88=86=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **新增功能:** - 添加材料仓库管理模块(增删改查) - 管线划分页面支持按流水段和管线划分筛选 - 管线划分页面支持批量设置仓库 **技术改进:** - 新增 Base_Warehouse 表和模型 - 扩展 HJGL_Pipeline 模型添加 WarehouseId 字段 - 优化管线查询支持多条件组合 --- DataBase/版本日志/SGGLDB_V2026-03-05-001.sql | 144 ++++++++++++++++++ SGGL/BLL/CLGL/TwArrivalStatisticsService.cs | 4 +- SGGL/BLL/CLGL/TwInOutplanmasterService.cs | 8 +- .../HJGL/WeldingManage/WeldMatMatch.aspx | 41 +++-- .../HJGL/WeldingManage/WeldMatMatch.aspx.cs | 47 +++--- .../WeldMatMatch.aspx.designer.cs | 26 +++- SGGL/FineUIPro.Web/common/Menu_DigData.xml | 63 ++++++-- SGGL/FineUIPro.Web/common/Menu_HTGL.xml | 6 +- SGGL/FineUIPro.Web/common/Menu_JDGL.xml | 6 +- SGGL/FineUIPro.Web/common/Menu_PHTGL.xml | 2 +- SGGL/FineUIPro.Web/common/Menu_ZHGL.xml | 42 ----- 11 files changed, 283 insertions(+), 106 deletions(-) create mode 100644 DataBase/版本日志/SGGLDB_V2026-03-05-001.sql diff --git a/DataBase/版本日志/SGGLDB_V2026-03-05-001.sql b/DataBase/版本日志/SGGLDB_V2026-03-05-001.sql new file mode 100644 index 00000000..6a1c92b1 --- /dev/null +++ b/DataBase/版本日志/SGGLDB_V2026-03-05-001.sql @@ -0,0 +1,144 @@ +-- ============================================= +-- 材料仓库管理与管线划分优化 - 数据库变更脚本 +-- 生成时间: 2026-03-05 +-- 说明: 请在执行前备份数据库 +-- ============================================= + +-- ============================================= +-- 第一部分: 创建材料仓库表 +-- ============================================= + +-- 检查表是否存在,如果存在则删除(仅用于开发环境) +-- IF OBJECT_ID('dbo.Base_Warehouse', 'U') IS NOT NULL +-- DROP TABLE dbo.Base_Warehouse; +-- GO + +-- 创建材料仓库表 +CREATE TABLE dbo.Base_Warehouse ( + WarehouseId NVARCHAR(50) NOT NULL, + WarehouseName NVARCHAR(200) NOT NULL, + Remark NVARCHAR(500) NULL, + ProjectId NVARCHAR(50) NOT NULL, + CreateUserId NVARCHAR(50) NULL, + CreateTime DATETIME NULL, + ModifyUserId NVARCHAR(50) NULL, + ModifyTime DATETIME NULL, + CONSTRAINT PK_Base_Warehouse PRIMARY KEY CLUSTERED (WarehouseId ASC), + CONSTRAINT FK_Base_Warehouse_Project FOREIGN KEY (ProjectId) + REFERENCES dbo.Project_Project (ProjectId) + ON DELETE NO ACTION +); +GO + +-- 创建索引以提升查询性能 +CREATE NONCLUSTERED INDEX IX_Base_Warehouse_ProjectId + ON dbo.Base_Warehouse(ProjectId); +GO + +CREATE NONCLUSTERED INDEX IX_Base_Warehouse_WarehouseName + ON dbo.Base_Warehouse(WarehouseName); +GO + +-- 添加表说明 +EXEC sys.sp_addextendedproperty + @name=N'MS_Description', + @value=N'材料仓库基础信息表' , + @level0type=N'SCHEMA', + @level0name=N'dbo', + @level1type=N'TABLE', + @level1name=N'Base_Warehouse'; +GO + +-- 添加字段说明 +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'仓库ID(主键)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_Warehouse', @level2type=N'COLUMN',@level2name=N'WarehouseId'; +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'仓库名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_Warehouse', @level2type=N'COLUMN',@level2name=N'WarehouseName'; +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_Warehouse', @level2type=N'COLUMN',@level2name=N'Remark'; +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_Warehouse', @level2type=N'COLUMN',@level2name=N'ProjectId'; +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建人ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_Warehouse', @level2type=N'COLUMN',@level2name=N'CreateUserId'; +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_Warehouse', @level2type=N'COLUMN',@level2name=N'CreateTime'; +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'修改人ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_Warehouse', @level2type=N'COLUMN',@level2name=N'ModifyUserId'; +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Base_Warehouse', @level2type=N'COLUMN',@level2name=N'ModifyTime'; +GO + +PRINT '材料仓库表创建完成'; +GO + +-- ============================================= +-- 第二部分: 为管线表添加仓库字段 +-- ============================================= + +-- 检查字段是否已存在 +IF NOT EXISTS ( + SELECT 1 FROM sys.columns + WHERE object_id = OBJECT_ID('dbo.HJGL_Pipeline') + AND name = 'WarehouseId' +) +BEGIN + -- 添加 WarehouseId 字段(允许NULL以兼容现有数据) + ALTER TABLE dbo.HJGL_Pipeline + ADD WarehouseId NVARCHAR(50) NULL; + GO + + -- 添加字段说明 + EXEC sys.sp_addextendedproperty + @name=N'MS_Description', + @value=N'仓库ID(关联Base_Warehouse表)' , + @level0type=N'SCHEMA', + @level0name=N'dbo', + @level1type=N'TABLE', + @level1name=N'HJGL_Pipeline', + @level2type=N'COLUMN', + @level2name=N'WarehouseId'; + GO + + -- 添加外键约束(可选,根据实际需求决定是否启用) + -- ALTER TABLE dbo.HJGL_Pipeline + -- ADD CONSTRAINT FK_HJGL_Pipeline_Warehouse + -- FOREIGN KEY (WarehouseId) + -- REFERENCES dbo.Base_Warehouse(WarehouseId) + -- ON DELETE SET NULL; + -- GO + + PRINT '管线表WarehouseId字段添加完成'; +END +ELSE +BEGIN + PRINT '管线表WarehouseId字段已存在,跳过添加'; +END +GO + +-- ============================================= +-- 第三部分: 验证脚本 +-- ============================================= + +-- 验证表和字段创建成功 +SELECT + 'Base_Warehouse表' AS 对象类型, + CASE WHEN EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Base_Warehouse') + THEN '已创建 ✓' + ELSE '未创建 ✗' + END AS 状态; + +SELECT + 'HJGL_Pipeline.WarehouseId字段' AS 对象类型, + CASE WHEN EXISTS ( + SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_NAME = 'HJGL_Pipeline' + AND COLUMN_NAME = 'WarehouseId' + ) + THEN '已添加 ✓' + ELSE '未添加 ✗' + END AS 状态; +GO + +PRINT '========================================'; +PRINT '数据库变更脚本执行完成!'; +PRINT '========================================'; +PRINT ''; +PRINT '重要提示:'; +PRINT '1. 请在生产环境执行前备份数据库'; +PRINT '2. 建议在维护窗口执行ALTER TABLE操作'; +PRINT '3. 现有管线数据的WarehouseId默认为NULL'; +PRINT '4. 可通过批量设置功能逐步完善数据'; +PRINT '========================================'; +GO diff --git a/SGGL/BLL/CLGL/TwArrivalStatisticsService.cs b/SGGL/BLL/CLGL/TwArrivalStatisticsService.cs index b3c4aa53..85306403 100644 --- a/SGGL/BLL/CLGL/TwArrivalStatisticsService.cs +++ b/SGGL/BLL/CLGL/TwArrivalStatisticsService.cs @@ -12,12 +12,12 @@ namespace BLL { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { - string PipeArea = WarehouseCode == "工厂预制" ? "1" : "2"; + string WarehouseId = Base_WarehouseService.GetWarehouseList(projectid).Where(x => x.WarehouseName == WarehouseCode).Select(x => x.WarehouseId).FirstOrDefault(); ///所需材料数量列表 var NeedOutMateriaList = from x in db.HJGL_PipeLineMat join y in db.HJGL_MaterialCodeLib on x.MaterialCode equals y.MaterialCode join z in db.HJGL_Pipeline on x.PipelineId equals z.PipelineId - where z.ProjectId == projectid && (string.IsNullOrEmpty(materialCode) || x.MaterialCode.Contains(materialCode)) && z.PipeArea == PipeArea + where z.ProjectId == projectid && (string.IsNullOrEmpty(materialCode) || x.MaterialCode.Contains(materialCode)) && z.WarehouseId == WarehouseId group x by x.MaterialCode into g select new diff --git a/SGGL/BLL/CLGL/TwInOutplanmasterService.cs b/SGGL/BLL/CLGL/TwInOutplanmasterService.cs index 87d567f9..39b09813 100644 --- a/SGGL/BLL/CLGL/TwInOutplanmasterService.cs +++ b/SGGL/BLL/CLGL/TwInOutplanmasterService.cs @@ -1,5 +1,6 @@ using EmitMapper; using FineUIPro; +using Microsoft.SqlServer.Dts.Runtime; using MiniExcelLibs; using Model; using System; @@ -264,7 +265,7 @@ namespace BLL string errorWarehouseCode = ""; foreach (var item in warehouseCodeList) { - if (!DropListService.HJGL_WarehouseCode().Select(x => x.Value == item).Any()) + if (!Base_WarehouseService.GetWarehouseList(projectid).Select(x => x.WarehouseName == item).Any()) { errorWarehouseCode += item + ","; } @@ -607,10 +608,7 @@ namespace BLL public static Dictionary GetWarehouseCode(string projectId) { - var q = (from x in Funs.DB.Tw_InOutPlanMaster - where x.ProjectId == projectId && - x.InOutType == (int)TwConst.InOutType.入库 - select x.WarehouseCode).Distinct().ToDictionary(x => x, x => x); + var q = Base_WarehouseService.GetWarehouseList(projectId).Distinct().ToDictionary(x => x.WarehouseName, x => x.WarehouseName); return q; } public static string GetDataInCusBillCode(string projectid, string unitcode, string typeString, string unitWorkCode = "", string Category = "") diff --git a/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldMatMatch.aspx b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldMatMatch.aspx index be578e6c..08f8d3d3 100644 --- a/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldMatMatch.aspx +++ b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldMatMatch.aspx @@ -33,8 +33,9 @@ .f-grid-row.green { background-color: green; } + .f-grid-row { - font-size:smaller; + font-size: smaller; } @@ -50,6 +51,13 @@ IconFont="ArrowCircleLeft"> + + + + + + @@ -57,17 +65,18 @@ - - - + + + + + runat="server" LabelWidth="80px" + Width="180px" LabelAlign="Left"> - + - + @@ -84,14 +93,14 @@ + BodyPadding="10px" AutoScroll="true"> @@ -99,12 +108,12 @@ - + - - + - + @@ -141,7 +150,7 @@ + SortField="PipelineId" SortDirection="ASC" EnableCheckBoxSelect="true"> + SortField="Id" SortDirection="ASC" OnSort="Grid1_Sort"> dicSeclectPipeLine = new Dictionary(); - //public static List tw_PipeMatMatchOutputs ; public static decimal Rate = 0; - public string WarehouseCode + public string WarehouseId { get { - return (string)ViewState["WarehouseCode"]; + return (string)ViewState["WarehouseId"]; } set { - ViewState["WarehouseCode"] = value; + ViewState["WarehouseId"] = value; } } public string PipeArea @@ -79,15 +78,12 @@ namespace FineUIPro.Web.HJGL.WeldingManage { tw_PipeMatMatchOutputs = new List(); PipeArea = Request.Params["PipeArea"]; - if (PipeArea == "2") - { - WarehouseCode = "现场安装"; - } - else - { - WarehouseCode = "工厂预制"; - } - HJGL_MaterialService.materialStockItems_FIELD = new List(); + drpWarehouse.DataTextField = "Key"; + drpWarehouse.DataValueField = "Value"; + drpWarehouse.DataSource = BLL.TwInOutplanmasterService.GetWarehouseCode(this.CurrUser.LoginProjectId); + drpWarehouse.DataBind(); + drpWarehouse_SelectedIndexChanged(null, null); +; HJGL_MaterialService.materialStockItems_FIELD = new List(); HJGL_MaterialService.materialStockItems_SHOP = new List(); dicSeclectPipeLine = new Dictionary(); var pipeline = (from x in Funs.DB.HJGL_Pipeline @@ -159,7 +155,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage foreach (var q in unitWork1) { - int a = (from x in Funs.DB.HJGL_Pipeline where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == q.UnitWorkId && x.PipeArea == PipeArea select x).Count(); + int a = (from x in Funs.DB.HJGL_Pipeline where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == q.UnitWorkId && x.PipeArea == PipeArea && x.WarehouseId == WarehouseId select x).Count(); var unitNamesUnitIds = BLL.UnitService.getUnitNamesUnitIds(q.UnitId); TreeNode tn1 = new TreeNode(); tn1.NodeID = q.UnitWorkId; @@ -182,7 +178,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage { foreach (var q in unitWork2) { - int a = (from x in Funs.DB.HJGL_Pipeline where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == q.UnitWorkId && x.PipeArea == PipeArea select x).Count(); + int a = (from x in Funs.DB.HJGL_Pipeline where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == q.UnitWorkId && x.PipeArea == PipeArea && x.WarehouseId == WarehouseId select x).Count(); // var NowComPipelineCode = PipelineService.GetNoComPipelinesByUnitWordId(q.UnitWorkId); //int a = NowComPipelineCode.Count(); var unitNamesUnitIds = BLL.UnitService.getUnitNamesUnitIds(q.UnitId); @@ -221,14 +217,14 @@ namespace FineUIPro.Web.HJGL.WeldingManage //} var CompleteInOutPlanDetail_RelationList = from x in Funs.DB.Tw_InOutPlanDetail_Relation join y in Funs.DB.Tw_InOutPlanMaster on x.InOutPlanMasterId equals y.Id - where y.State == (int)TwConst.State.已完成 && y.WarehouseCode == WarehouseCode + where y.State == (int)TwConst.State.已完成 && y.WarehouseCode == drpWarehouse.SelectedValue select x; var pipeline = (from x in Funs.DB.HJGL_Pipeline join y in CompleteInOutPlanDetail_RelationList on x.PipelineId equals y.PipelineId into temp from y in temp.DefaultIfEmpty() where y == null && x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == node.NodeID - && x.PipelineCode.Contains(this.txtPipelineCode.Text.Trim()) + && x.PipelineCode.Contains(this.txtPipelineCode.Text.Trim()) && x.WarehouseId==WarehouseId orderby x.PipelineCode select x).ToList(); if (!string.IsNullOrEmpty(drpFlowingSection.SelectedValue) && drpFlowingSection.SelectedValue != Const._Null) @@ -396,7 +392,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage var model2 = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(model)); string pipeid = model2.First().Value; - var relationModle = TwInoutplandetailRelationService.GetByPipelineId(pipeid, WarehouseCode); + var relationModle = TwInoutplandetailRelationService.GetByPipelineId(pipeid, drpWarehouse.SelectedValue); if (relationModle != null) { Grid3.Rows[i].RowCssClass = "yellow"; @@ -499,7 +495,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage { parameter3D.ModelName = HJGL_DataImportService.Getlatest3DModelNameByUnitWorkId(tvControlItem.SelectedNodeID); var pipeline = (from x in Funs.DB.HJGL_Pipeline - where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == tvControlItem.SelectedNodeID && x.PipeArea == PipeArea + where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == tvControlItem.SelectedNodeID && x.PipeArea == PipeArea && x.WarehouseId == WarehouseId orderby x.PipelineCode select x).ToList(); List pipelineList = new List(); @@ -570,7 +566,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage dicSeclectPipeLine.Add(node.NodeID, node.Text); } } - tw_PipeMatMatchOutputs = TwArrivalStatisticsService.GetPipeMatMatch(this.CurrUser.LoginProjectId, dicSeclectPipeLine.Keys.ToList(), WarehouseCode); + tw_PipeMatMatchOutputs = TwArrivalStatisticsService.GetPipeMatMatch(this.CurrUser.LoginProjectId, dicSeclectPipeLine.Keys.ToList(), drpWarehouse.SelectedValue); BindGrid3(); BindGrid2(); @@ -587,7 +583,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage node.Checked = false; } - tw_PipeMatMatchOutputs = TwArrivalStatisticsService.GetPipeMatMatch(this.CurrUser.LoginProjectId, dicSeclectPipeLine.Keys.ToList(), WarehouseCode); + tw_PipeMatMatchOutputs = TwArrivalStatisticsService.GetPipeMatMatch(this.CurrUser.LoginProjectId, dicSeclectPipeLine.Keys.ToList(), drpWarehouse.SelectedValue); BindGrid3(); BindGrid2(); @@ -765,8 +761,13 @@ namespace FineUIPro.Web.HJGL.WeldingManage return isCover; } + #endregion - + protected void drpWarehouse_SelectedIndexChanged(object sender, EventArgs e) + { + WarehouseId = Base_WarehouseService.GetWarehouseList(this.CurrUser.LoginProjectId).Where(x => x.WarehouseName == drpWarehouse.SelectedValue).Select(x => x.WarehouseId).FirstOrDefault(); + this.InitTreeMenu();//加载树 + } } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldMatMatch.aspx.designer.cs b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldMatMatch.aspx.designer.cs index 525a976f..943a5341 100644 --- a/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldMatMatch.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldMatMatch.aspx.designer.cs @@ -59,6 +59,24 @@ namespace FineUIPro.Web.HJGL.WeldingManage /// protected global::FineUIPro.Toolbar Toolbar1; + /// + /// drpWarehouse 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpWarehouse; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + /// /// txtPipelineCode 控件。 /// @@ -78,13 +96,13 @@ namespace FineUIPro.Web.HJGL.WeldingManage protected global::FineUIPro.HiddenField hdUnitWorkId; /// - /// Toolbar5 控件。 + /// Toolbar6 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.Toolbar Toolbar5; + protected global::FineUIPro.Toolbar Toolbar6; /// /// drpFlowingSection 控件。 @@ -96,13 +114,13 @@ namespace FineUIPro.Web.HJGL.WeldingManage protected global::FineUIPro.DropDownList drpFlowingSection; /// - /// Toolbar2 控件。 + /// Toolbar5 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.Toolbar Toolbar2; + protected global::FineUIPro.Toolbar Toolbar5; /// /// btnTreeFind 控件。 diff --git a/SGGL/FineUIPro.Web/common/Menu_DigData.xml b/SGGL/FineUIPro.Web/common/Menu_DigData.xml index b532a9bb..bb7a7a34 100644 --- a/SGGL/FineUIPro.Web/common/Menu_DigData.xml +++ b/SGGL/FineUIPro.Web/common/Menu_DigData.xml @@ -1,9 +1,51 @@  - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16,12 +58,15 @@ + + + - - - - - + + + + + \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/common/Menu_HTGL.xml b/SGGL/FineUIPro.Web/common/Menu_HTGL.xml index 95eeab91..129ab5fd 100644 --- a/SGGL/FineUIPro.Web/common/Menu_HTGL.xml +++ b/SGGL/FineUIPro.Web/common/Menu_HTGL.xml @@ -1,8 +1,8 @@  - - - + + + diff --git a/SGGL/FineUIPro.Web/common/Menu_JDGL.xml b/SGGL/FineUIPro.Web/common/Menu_JDGL.xml index 8d4aa005..fd6a0762 100644 --- a/SGGL/FineUIPro.Web/common/Menu_JDGL.xml +++ b/SGGL/FineUIPro.Web/common/Menu_JDGL.xml @@ -1,7 +1,11 @@  - + + + + + \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/common/Menu_PHTGL.xml b/SGGL/FineUIPro.Web/common/Menu_PHTGL.xml index 56efca63..53b0bd32 100644 --- a/SGGL/FineUIPro.Web/common/Menu_PHTGL.xml +++ b/SGGL/FineUIPro.Web/common/Menu_PHTGL.xml @@ -4,10 +4,10 @@ - + diff --git a/SGGL/FineUIPro.Web/common/Menu_ZHGL.xml b/SGGL/FineUIPro.Web/common/Menu_ZHGL.xml index 8398186c..403b874b 100644 --- a/SGGL/FineUIPro.Web/common/Menu_ZHGL.xml +++ b/SGGL/FineUIPro.Web/common/Menu_ZHGL.xml @@ -58,49 +58,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -