⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zfrm_popedomu.pas

📁 专业的评标管理系统
💻 PAS
字号:
{
'┌───────────────────────────────────┐
'│**********************************************************************│
'│*** 文件名称:zfrm_popedomU                                          *│
'│*** 功能描述:                                                       *│
'│*** 编写人员:朱华                                *│
'│*** 编写日期:2001-06-16                             *│
'│*** 修改人员:                                    *│
'│*** 修改日期:                                                       *│
'│**********************************************************************│
'└───────────────────────────────────┘
}

unit zfrm_popedomU;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, ImgList, ToolWin, Menus, ExtCtrls, ActnList, Db, DBTables,
  StdCtrls;

type
  Tzfrm_popedom = class(TForm)
    MainMenu1: TMainMenu;
    M1: TMenuItem;
    H1: TMenuItem;
    S1: TMenuItem;
    N1: TMenuItem;
    X1: TMenuItem;
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ImageList1: TImageList;
    StatusBar1: TStatusBar;
    TreeView1: TTreeView;
    Panel1: TPanel;
    Image1: TImage;
    C1: TMenuItem;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ListView1: TListView;
    PopupMenu1: TPopupMenu;
    ActionList1: TActionList;
    z_setcustomer: TAction;
    z_customermanager: TAction;
    ToolButton6: TToolButton;
    z_deletecustomer: TAction;
    S2: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    Query1: TQuery;
    ImageList2: TImageList;
    Query4: TQuery;
    D1: TMenuItem;
    N4: TMenuItem;
    procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormResize(Sender: TObject);
    procedure X1Click(Sender: TObject);
    procedure z_setcustomerExecute(Sender: TObject);
    procedure z_customermanagerExecute(Sender: TObject);
    procedure z_deletecustomerExecute(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
  private
    { Private declarations }

  public
    { Public declarations }
    Procedure CreateParams(Var Params: TCreateParams); Override;
    procedure z_FlashTreeView1P();
    procedure z_FlashCustomerListView1P(z_pi_code:string);
  end;
{
type
  PMyRec = ^TMyRec;
  TMyRec = record
    z_pi_code  :string;    // 声明-(工程代码)-变量
end;
}
var
  zfrm_popedom: Tzfrm_popedom;

  // 自定义变量
//  z_TreeViewDate_STU: PMyRec;
//  z_nodesA   :array[0..10000] of TtreeNode;  // 声明-(工程节点)-数组

implementation

uses zfrm_customerU, zfrm_setcustomerU, zmod_commonDateU;

{$R *.DFM}

Procedure Tzfrm_popedom.CreateParams(Var Params: TCreateParams);
begin
  Inherited ;
  With Params Do
     exStyle := exStyle Or WS_EX_APPWINDOW;
end;

////////////////////// 用户自定义- <开始> //////////////////////
//
procedure Tzfrm_popedom.z_FlashCustomerListView1P(z_pi_code:string);
var
  NewItem: TListItem;
begin
  //
  ListView1.Items.Clear;

  zh_Select_SQL := 'select * from tm_customerprojectinfoV where pi_code=' + '''' + z_pi_code + '''' ;

  try  {try <1> S}
    Query4.Close ;
    Query4.SQL.Clear ;
    Query4.SQL.Add(zh_Select_SQL) ;
    Query4.Prepare ;
    Query4.Open ;
    Query4.First ;
  except
      // 数据库错
      Application.MessageBox(
      '数据库连接错误,请您检查或系统管理员联系',
      '数据库错',
      MB_OK+MB_ICONError) ;
      Exit ;
  end; {try <1> E}

  while not Query4.Eof do
  begin {while <1> S}
    NewItem:=ListView1.Items.add ;
    NewItem.Caption :=Query4.Fields[0].AsString ;
    NewItem.SubItems.Add(Query4.Fields[1].AsString) ;
    NewItem.SubItems.Add(Query4.Fields[2].AsString) ;
    NewItem.SubItems.Add(Query4.Fields[3].AsString) ;
    NewItem.SubItems.Add(Query4.Fields[4].AsString) ;
    NewItem.SubItems.Add(Query4.Fields[5].AsString) ;
    NewItem.ImageIndex := 1 ;
    Query4.Next ;
  end; {while <1> E}
  //
end;
//
procedure Tzfrm_popedom.z_FlashTreeView1P();
var
  I :integer;
  pi_id    :string ;    // 声明-(工程代码)-变量
  pi_name  :string ;    // 声明-(工程名称)-变量
begin
  // TreeView1 — 部门结构,初始化
  TreeView1.Items.Clear ;

  I := 0 ;
  // 为结构赋值
  New(z_TreeViewDate_STU);
  z_nodesA[I] := TreeView1.Items.AddObject(TreeView1.Items.GetFirstNode, '工程列表', z_TreeViewDate_STU) ;
  z_nodesA[I].ImageIndex := 0 ;
  z_nodesA[I].SelectedIndex := 0 ;


  //try
    zh_Select_SQL := 'select g_pi_id, pi_code, pi_name from tm_projectinfo where pi_statetype<>' + '''' + '关闭' + '''' + ' order by g_pi_id desc' ;
    Query1.Close ;
    Query1.SQL.Clear ;
    Query1.SQL.Add(zh_Select_SQL) ;
    Query1.Prepare ;
    Query1.Open ;
    Query1.First ;
    While not Query1.Eof do
    begin
      I :=  Query1.FieldByName('g_pi_id').AsInteger ;
      pi_id := Query1.FieldByName('pi_code').AsString ;
      pi_name := Query1.FieldByName('pi_name').AsString ;

      // 为结构赋值
      New(z_TreeViewDate_STU);
      z_TreeViewDate_STU.z_pi_code := pi_id ;

      z_nodesA[I] := TreeView1.Items.AddChildObject(z_nodesA[0], pi_name, z_TreeViewDate_STU) ;
      z_nodesA[I].ImageIndex := 1 ;
      z_nodesA[I].SelectedIndex := 2 ;
      Query1.Next ;
    end;

    // 展开所有树结构
    z_nodesA[0].Expanded := True ;
  //except

  //end;
  //
end;
//
////////////////////// 用户自定义- <结束> //////////////////////

procedure Tzfrm_popedom.Image1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
var
  temp1 :integer;
begin
  //
  if  (ssLeft in Shift)then
  begin
    temp1 := X + TreeView1.Width ;
    if (temp1 < 30) then Exit ;
    if (temp1 > 600) then Exit ;
    Panel1.Left := temp1 ;
    Panel1.Height := image1.Height ;
  end;
  //
end;
procedure Tzfrm_popedom.Image1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  //
  if  (ssLeft in Shift)then
  begin
    Panel1.Visible := True ;
  end;
  //
end;

procedure Tzfrm_popedom.Image1MouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  //
  TreeView1.Width := Panel1.Left ;
  Panel1.Visible  := False ;
  //
end;

procedure Tzfrm_popedom.FormResize(Sender: TObject);
begin
  //
  Panel1.Top    := image1.Top ;
  Panel1.Left   := image1.Left ;
  Panel1.Height := image1.Height ;
  Panel1.Width  := image1.Width ;
  //
end;

procedure Tzfrm_popedom.X1Click(Sender: TObject);
begin
  //
  Close ;
  //
end;

procedure Tzfrm_popedom.z_setcustomerExecute(Sender: TObject);
var
  tempS :string;
begin
  // 设置用户
  try
    tempS := PMyRec(TreeView1.Selected.Data)^.z_pi_code ;
    if tempS = '' then Exit ;
  except
    Exit ;
  end;

  z_pi_code := tempS ;
  z_pi_name := TreeView1.Selected.Text ;
  zfrm_setcustomer.ShowModal ;

  // 刷新
  z_FlashCustomerListView1P(PMyRec(TreeView1.Selected.Data)^.z_pi_code) ; //***//
  //
end;

procedure Tzfrm_popedom.z_customermanagerExecute(Sender: TObject);
begin
  // 用户管理
  with zfrm_customer do
  begin
    Show ;
    WindowState := wsNormal;
  end;
  //
end;

procedure Tzfrm_popedom.z_deletecustomerExecute(Sender: TObject);
var
  I,J :integer ;
  z_pi_code:string;
  z_ci_loginname:string;
begin
  // 删除对于工程用户

  // 得到用户ID
  J := ListView1.Items.Count-1 ;
  for I:=0 to J do
  begin
    if ListView1.Items.Item[I].Selected then
    begin
      z_ci_loginname := ListView1.Items.Item[I].Caption ;
      z_pi_code := ListView1.Items.Item[I].SubItems[4] ;
      break ;
    end;
  end;
  if z_ci_loginname='' then Exit;


  // 删除提示
  zh_returnV:=Application.MessageBox(
      '您是否要从该工程中删除此用户?',
      '删除用户',
       MB_YesNo++MB_ICONWARNING);
  if zh_returnV=IDNO then Exit;

  // 删除用户
  try  {try <2> S}
    zh_Delete_SQL := 'delete from tm_customerproject where (ci_loginname=:cu_loginname) and (pi_code=:g_de_id)';
    //showmessage(zh_Insert_SQL);
    Query1.Close;
    Query1.SQL.Clear ;
    Query1.SQL.Add(zh_Delete_SQL);
      Query1.ParamByName('cu_loginname').AsString  := z_ci_loginname ;
      Query1.ParamByName('g_de_id').AsString       := z_pi_code ;
    Query1.Prepare ;
    Query1.ExecSQL ;
  except
      // 数据库错
      Application.MessageBox(
      '数据库连接错误,请您检查',
      '数据库错',
      MB_OK+MB_ICONError);
      Exit ;
  end; {try <2> E}

  // 刷新
  TreeView1Click(Self);
  //
end;
procedure Tzfrm_popedom.FormActivate(Sender: TObject);
begin
  // 刷新
  z_FlashTreeView1P ; //***//
  //
end;

procedure Tzfrm_popedom.TreeView1Click(Sender: TObject);
begin
  // 得到,选中节点属性
  try
  z_FlashCustomerListView1P(PMyRec(TreeView1.Selected.Data)^.z_pi_code) ; //***//
  except
  end;
  //
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -