Kaynağa Gözat

在建设项目管理界面,按Ctrl+Shift+右键,导出浙江电子招投标XML,不论导出是否成功,都会生成xml,文件名后面带copy

JimiZhang 2 hafta önce
ebeveyn
işleme
b91a3c2105

+ 9 - 9
MainUI/Forms/ScMainFrm.dfm

@@ -194,23 +194,23 @@ object ScMainForm: TScMainForm
     Left = 0
     Top = 0
     Width = 954
-    Height = 50
+    Height = 49
     Align = dalTop
     BarManager = xbmMain
   end
   object xbdLeft: TdxBarDockControl
     Left = 0
-    Top = 74
+    Top = 73
     Width = 3
-    Height = 527
+    Height = 529
     Align = dalLeft
     BarManager = xbmMain
   end
   object xbdRight: TdxBarDockControl
     Left = 951
-    Top = 74
+    Top = 73
     Width = 3
-    Height = 527
+    Height = 529
     Align = dalRight
     BarManager = xbmMain
   end
@@ -224,7 +224,7 @@ object ScMainForm: TScMainForm
   end
   object pnlTabs: TPanel
     Left = 0
-    Top = 50
+    Top = 49
     Width = 954
     Height = 24
     Align = alTop
@@ -613,7 +613,7 @@ object ScMainForm: TScMainForm
     AutoDockColor = False
     Font.Charset = DEFAULT_CHARSET
     Font.Color = clWindowText
-    Font.Height = -13
+    Font.Height = -12
     Font.Name = #23435#20307
     Font.Style = []
     Bars = <
@@ -685,7 +685,7 @@ object ScMainForm: TScMainForm
         DockControl = xbdTop
         DockedDockControl = xbdTop
         DockedLeft = 0
-        DockedTop = 23
+        DockedTop = 22
         FloatLeft = 232
         FloatTop = 274
         FloatClientWidth = 23
@@ -1089,7 +1089,7 @@ object ScMainForm: TScMainForm
       0
       0
       0
-      20)
+      19)
     object xsCurOperation: TdxBarStatic
       Caption = #23601#32490
       Category = 18

+ 3 - 2
MainUI/Forms/ScMainFrm.pas

@@ -6162,7 +6162,8 @@ procedure TScMainForm.BigProjManageViewzgBuildProjectsContextPopup(
 begin
   // ÓÒ¼üʼþ
   //BigProjManageView.zgBuildProjectsMouseDown(Sender, Button, Shift, X, Y);
-  xppBuildProject.PopupFromCursorPos;
+  if not BigProjManageView.IsDebugContextPopup then
+    xppBuildProject.PopupFromCursorPos;
 end;
 
 procedure TScMainForm.BigProjManageViewzgRelaFilesContextPopup(
@@ -8367,7 +8368,7 @@ procedure TScMainForm.actnExpXML_ZJExecute(Sender: TObject);
 begin
   if BigProjManageView <> nil then
   begin
-    BigProjManageView.ExpXML_ZJ;
+    BigProjManageView.ExpXML_ZJ(False);
   end;
 end;
 

+ 15 - 2
MainUI/ProjectManage/ScBigProjManageView.dfm

@@ -187,6 +187,7 @@ object ScfrmBigProjManage: TScfrmBigProjManage
       OnEditorSaveCell = zgBuildProjectsEditorSaveCell
       OnCellGetColor = zgBuildProjectsCellGetColor
       OnMouseDown = zgBuildProjectsMouseDown
+      OnMouseUp = zgBuildProjectsMouseUp
       Align = alClient
       object dtpEditDate: TDateTimePicker
         Left = 26
@@ -294,7 +295,7 @@ object ScfrmBigProjManage: TScfrmBigProjManage
             Width = 145
             Height = 20
             ImeName = #20013#25991' - QQ'#25340#38899#36755#20837#27861
-            ItemHeight = 0
+            ItemHeight = 12
             TabOrder = 2
             Visible = False
           end
@@ -304,7 +305,7 @@ object ScfrmBigProjManage: TScfrmBigProjManage
             Width = 145
             Height = 20
             ImeName = #20013#25991' - QQ'#25340#38899#36755#20837#27861
-            ItemHeight = 0
+            ItemHeight = 12
             TabOrder = 3
             Visible = False
           end
@@ -2627,4 +2628,16 @@ object ScfrmBigProjManage: TScfrmBigProjManage
     Left = 1048
     Top = 560
   end
+  object pmDebug: TPopupMenu
+    Left = 16
+    Top = 224
+    object pmiOutputProjectFile: TMenuItem
+      Caption = #21482#23548#20986#20998#27573#25991#20214
+      OnClick = pmiOutputProjectFileClick
+    end
+    object pmiOutputZJXML: TMenuItem
+      Caption = #23548#20986#27993#27743#25307#25237#26631'xml'#25991#20214
+      OnClick = pmiOutputZJXMLClick
+    end
+  end
 end

+ 58 - 9
MainUI/ProjectManage/ScBigProjManageView.pas

@@ -141,6 +141,9 @@ type
     zgBPBasic: TZJGrid;
     zgBPZhaoBiao: TZJGrid;
     zgBPTouBiao: TZJGrid;
+    pmDebug: TPopupMenu;
+    pmiOutputProjectFile: TMenuItem;
+    pmiOutputZJXML: TMenuItem;
     procedure actnOpenUpdate(Sender: TObject);
     procedure actnNewBPExecute(Sender: TObject);
     procedure actnImportBPUpdate(Sender: TObject);
@@ -283,6 +286,10 @@ type
       Row: Integer);
     procedure zgBPTouBiaoCellTextChanged(Sender: TObject; Col,
       Row: Integer);
+    procedure pmiOutputProjectFileClick(Sender: TObject);
+    procedure pmiOutputZJXMLClick(Sender: TObject);
+    procedure zgBuildProjectsMouseUp(Sender: TObject; Button: TMouseButton;
+      Shift: TShiftState; X, Y: Integer);
   private
     { Private declarations }
     FProjectParent, FFeeParent, FPriceParent, FRationParent: TZjTreeNode;
@@ -291,7 +298,8 @@ type
     FIsLoading: Boolean;
     FIsPropLoading: Boolean;
     FCurProjIsStaticBills: Boolean; //当前分段是否是固化清单
-    FIsOutputTB: Boolean; // 是否在导出投标文件
+    FIsOutputTB: Boolean;
+    FIsDebugContextPopup: Boolean; // 是否在导出投标文件
     procedure SetActive(const Value: Boolean);
     procedure InitViews;
     procedure ClearRelaFilesView;
@@ -344,9 +352,6 @@ type
     function ValidateXML_ZJ(AXMLFile: string): Boolean;
   public
     { Public declarations }
-    // 判断是否是从业主的源文件导出的 固化清单
-    function IsOwnerStaticBills(AFileName: string): Boolean;
-
     constructor Create(AOwner: TComponent); override;
     procedure Init(AManageProjects: TManageProjects);
     procedure BatchExportBuildProject;
@@ -355,7 +360,7 @@ type
     procedure ImportBP(const AFileName: string);
     procedure ExportCurBuildProject(const AFileName: string);
     procedure ExpXML_QG;
-    procedure ExpXML_ZJ;
+    procedure ExpXML_ZJ(ANeedXMLFile: Boolean);
     function CurSelNodeIsBP: Boolean;
     function GetCurrentBPName: string;
     function GetCurrentFullBuildProjectName: string;
@@ -374,9 +379,12 @@ type
     function CanCalculateCurrentBP: Boolean;
     procedure CalculateCurrentBP;
     function NeedBatchCalc: Boolean;
+    // 判断是否是从业主的源文件导出的 固化清单
+    function IsOwnerStaticBills(AFileName: string): Boolean;
 
     property Active: Boolean read FActive write SetActive;
     property ShowFiles: Boolean read GetShowFiles write SetShowFiles;
+    property IsDebugContextPopup: Boolean read FIsDebugContextPopup;
   end;
 
 implementation
@@ -421,6 +429,7 @@ begin
     actnImportProject.Visible := False;
   end;
   ShowFiles := True;
+  FIsDebugContextPopup := False;
 end;
 
 procedure TScfrmBigProjManage.Init(AManageProjects: TManageProjects);
@@ -2482,7 +2491,7 @@ begin
 end; 
 
 // 浙江:项目管理-建设项目-导出多标段
-procedure TScfrmBigProjManage.ExpXML_ZJ;
+procedure TScfrmBigProjManage.ExpXML_ZJ(ANeedXMLFile: Boolean);
 var
   vNode: TScProjManagerTreeNode;
   iID, i, iZTBType: Integer;
@@ -2566,6 +2575,8 @@ begin
     vPort.ProgressiveFile := CommonFeeLib.GetProgressiveFeeFile(ProjectManager.GetProgressiveFileID(CurBuildProjID));
     vPort.FirtProjIsNewOpen := isNewOpen; // 这个很重要!后台打开的项目用完一定要关,否则会有车船税同步错误等。
     vPort.SaveToXML(False);
+    if ANeedXMLFile then
+      CopyFile(PChar(sXMLFile), PChar(ExtractFileNameWithoutExt(sXMLFile) + '-copy.xml'), False);
 
     if (not vPort.ProjectResult) or (not ValidateXML_ZJ(sXMLFile)) then
     begin
@@ -3992,6 +4003,7 @@ procedure TScfrmBigProjManage.zgBuildProjectsMouseDown(Sender: TObject;
   Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
 var
   vNode: TScProjManagerTreeNode;
+  P: TPoint;
 begin
   vNode := TScProjManagerTreeNode(staBuildProjects.IDTree.Selected);
   if (zgBuildProjects.CurCol = 1) and (ssDouble in Shift) and (Button = mbLeft) and Assigned(vNode) and vNode.IsTender then
@@ -4003,11 +4015,38 @@ begin
     {$ENDIF}
   end;
   if (zgBuildProjects.CurCol = 1) and
-      (Button = mbRight) and (ssCtrl in Shift) and (ssAlt in Shift) and (ssShift in Shift)
-      and Assigned(vNode) and vNode.IsTender then
-    ExportCurrentProjectFile(False);
+      (Button = mbRight) and (ssCtrl in Shift) and (ssShift in Shift)
+      and Assigned(vNode) then
+  begin
+    if vNode.IsTender then
+    begin
+      pmiOutputProjectFile.Enabled := True;
+      pmiOutputZJXML.Enabled := False;
+    end
+    else if vNode.IsBuildProj then
+    begin
+      pmiOutputProjectFile.Enabled := False;
+      pmiOutputZJXML.Enabled := True;
+    end
+    else
+    begin
+      pmiOutputProjectFile.Enabled := False;
+      pmiOutputZJXML.Enabled := False;
+    end;
+    FIsDebugContextPopup := True;
+    //P := ClientToScreen(Point(X, Y));
+    GetCursorPos(P);
+    pmDebug.Popup(P.X, P.Y);
+  end;
 end;
 
+procedure TScfrmBigProjManage.zgBuildProjectsMouseUp(Sender: TObject;
+  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
+begin
+  FIsDebugContextPopup := False;
+end;
+
+
 procedure TScfrmBigProjManage.actnNewFolderUpdate(Sender: TObject);
 var
   vNode: TScProjManagerTreeNode;
@@ -5371,4 +5410,14 @@ begin
   end;
 end;
 
+procedure TScfrmBigProjManage.pmiOutputProjectFileClick(Sender: TObject);
+begin
+  ExportCurrentProjectFile(False);
+end;
+
+procedure TScfrmBigProjManage.pmiOutputZJXMLClick(Sender: TObject);
+begin
+  ExpXML_ZJ(True);
+end;
+
 end.