Browse Source

恢复代码遗漏

MaiXinRong 9 years ago
parent
commit
7422306bdd
1 changed files with 21 additions and 8 deletions
  1. 21 8
      Frames/ProjectFme.pas

+ 21 - 8
Frames/ProjectFme.pas

@@ -568,8 +568,17 @@ procedure TProjectFrame.dxsbViewControlItemClick(Sender: TObject;
   end;
 
   procedure DisplayPriceMargin;
+  var
+    vPM_Node: TsdIDTreeNode;
   begin
-    if ProjectData.ProjProperties.PhaseCount = 0 then
+    vPM_Node := FProjectData.BillsCompileData.BillsCompileTree.FindNode(iPriceMarginID);
+    if not Assigned(vPM_Node) then
+    begin
+      ErrorMessage('台账中无预定义价差节点,不可使用价差功能。');
+      dxsbViewControl.SelectedItem := dxsbViewControl.ActiveGroup.Items[jpsMain.ActivePageIndex];
+      Abort;
+    end
+    else if ProjectData.ProjProperties.PhaseCount = 0 then
     begin
       TipMessage('未计量前不可进行材料调差。');
       dxsbViewControl.SelectedItem := dxsbViewControl.ActiveGroup.Items[jpsMain.ActivePageIndex];
@@ -578,11 +587,12 @@ procedure TProjectFrame.dxsbViewControlItemClick(Sender: TObject;
     ChangeView;
   end;
 
+var
+  bCloseCompare: Boolean;
 begin
   if Item.Tag = jpsMain.ActivePageIndex then Exit;
 
-  if (Item.Tag in [0..3]) and (jpsMain.ActivePageIndex = 4) then
-    CloseCompare;
+  bCloseCompare := (Item.Tag in [0..3]) and (jpsMain.ActivePageIndex = 4);
 
   case Item.Tag of
     0..2: ChangeView;
@@ -590,6 +600,9 @@ begin
     4: DisplayCompare;
     5: DisplayReports;
   end;
+
+  if bCloseCompare then
+    CloseCompare;
 end;
 
 procedure TProjectFrame.CreateBillsFrame;
@@ -627,8 +640,8 @@ end;
 procedure TProjectFrame.dxpmExpandBillsPopup(Sender: TObject);
 begin
   dxpmExpandBills.ItemLinks.Items[8].Visible := G_IsTest;
-  dxpmExpandBills.ItemLinks.Items[7].Visible := jpsMain.ActivePageIndex in [0, 1, 3];
-  dxpmExpandBills.ItemLinks.Items[6].Visible := jpsMain.ActivePageIndex in [1, 3];
+  dxpmExpandBills.ItemLinks.Items[7].Visible := jpsMain.ActivePageIndex in [0, 1, 4];
+  dxpmExpandBills.ItemLinks.Items[6].Visible := jpsMain.ActivePageIndex in [1, 4];
   SetDxBtnAction(actnFirstLevel, MainForm.dxbtnFirstLevel);
   SetDxBtnAction(actnSecondLevel, MainForm.dxbtnSecondLevel);
   SetDxBtnAction(actnThirdLevel, MainForm.dxbtnThirdLevel);
@@ -669,7 +682,7 @@ begin
     case jpsMain.ActivePageIndex of
       0: FBillsCompileFrame.ExpandNodeTo(ALevel);
       1: FBillsMeasureFrame.ExpandNodeTo(ALevel);
-      3: FPhaseCompareFrame.ExpandNodeTo(ALevel);
+      4: FPhaseCompareFrame.ExpandNodeTo(ALevel);
     end;
   finally
     UpdateSysProgress(0, '就绪');
@@ -685,7 +698,7 @@ begin
     case jpsMain.ActivePageIndex of
       0: FBillsCompileFrame.ExpandXmjNode;
       1: FBillsMeasureFrame.ExpandXmjNode;
-      3: FPhaseCompareFrame.ExpandXmjNode;
+      4: FPhaseCompareFrame.ExpandXmjNode;
     end;
   finally
     UpdateSysProgress(0, '就绪');
@@ -1374,7 +1387,7 @@ begin
   try
     case jpsMain.ActivePageIndex of
       1: FBillsMeasureFrame.ExpandCurPhase;
-      3: FPhaseCompareFrame.ExpandCurPhase;
+      4: FPhaseCompareFrame.ExpandCurPhase;
     end;
   finally
     UpdateSysProgress(0, '就绪');