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

📄 zfrm_projectparamu.pas

📁 专业的评标管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  end; {while <1> E}

  //
end;

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


procedure Tzfrm_ProjectParam.Button2Click(Sender: TObject);
begin
  // 取消
  Close ;
  //
end;

procedure Tzfrm_ProjectParam.Button1Click(Sender: TObject);
begin
  // 确定
  if BitBtn1.Enabled then BitBtn1Click(Self);
  if BitBtn2.Enabled then BitBtn2Click(Self);
  Close ;
  //
end;

procedure Tzfrm_ProjectParam.FormCreate(Sender: TObject);
begin
  //
  PageControl1.ActivePage := TabSheet1 ;
  StringGrid1.RowCount := 1 ;
  StringGrid1.ColWidths[1] := 300;
  StringGrid2.ColWidths[1] := 300;
  //
end;

procedure Tzfrm_ProjectParam.BitBtn1Click(Sender: TObject);
begin
  // 应用1
  BitBtn1.Enabled := False ;

  // 更新对应项目参数值
  z_UpdateAssessParamValuesP; //***//
  //
end;

procedure Tzfrm_ProjectParam.StringGrid1SetEditText(Sender: TObject; ACol,
  ARow: Integer; const Value: String);
begin
  // 激活 “应用”
  BitBtn1.Enabled := True ;
  //
end;

procedure Tzfrm_ProjectParam.BitBtn2Click(Sender: TObject);
begin
  // 应用2
  BitBtn2.Enabled := False ;
  // 更新所有项目值
  z_UpdateAllAssessValuesP ; //***//
  //
end;

procedure Tzfrm_ProjectParam.StringGrid2SetEditText(Sender: TObject; ACol,
  ARow: Integer; const Value: String);
begin
  // 激活 “应用”
  BitBtn2.Enabled := True ;
  //
end;

procedure Tzfrm_ProjectParam.Button3Click(Sender: TObject);
var
  temp: string;
  z_I,I,J: integer;
  g_ai_id: integer;
  s :double;
  ParamTabName: string;

  z_sql_insertvalue:string;
begin
  // 方案另存为
  if BitBtn1.Enabled then BitBtn1Click(Self);
  if BitBtn2.Enabled then BitBtn2Click(Self);

  with zfrm_projectSetAdd do
  begin
    Edit1.Text:='';
    //判断是否确认增加
    if ShowModal<>mrOk then Exit ;
    temp := Trim(Edit1.Text) ;
    if temp = '' then Exit ;
  end;


  // 得到,新的“方案”序列值
  zh_GetNewIdS := 'ge_fp_id' ;
  z_I := zh_GetNewIdF(zh_GetNewIdS) ;

  // 向<评标项目方案表>插入记录
  try  {try <1> S}
    zh_Insert_SQL := 'insert into tm_assessitemplan values(:I,:J)';
    //showmessage(zh_Insert_SQL);
    Query1.Close;
    Query1.SQL.Clear ;
    Query1.SQL.Add(zh_Insert_SQL);
      Query1.ParamByName('I').AsInteger := z_I ;
      Query1.ParamByName('J').AsString  := temp ;
    Query1.Prepare ;
    Query1.ExecSQL ;
  except
      // 数据库错
      Application.MessageBox(
      '方案名称不唯一或数据库连接错误,请您检查',
      '数据库错',
      MB_OK+MB_ICONError);
      Exit ;
  end; {try <1> E}

  // 向<评标项目分值表>插入记录
  for I:=0 to StringGrid2.RowCount-1 do
  begin
    g_ai_id := StrToInt(StringGrid3.Cells[0,I]) ;
    s := StrToFloat(StringGrid2.Cells[1,I]) ;
    // 得到,参数表名
    ParamTabName := 'tm_funcparam' + IntToStr(g_ai_id) ;

    // 更新数据
    try  {try <1> S}
      zh_Insert_SQL := 'insert into tm_assessitemvalues values(:I,:J,:K)' ;
      Query1.Close;
      Query1.SQL.Clear ;
      Query1.SQL.Add(zh_Insert_SQL);
        Query1.ParamByName('I').AsInteger := z_I ;
        Query1.ParamByName('J').AsInteger := g_ai_id ;
        Query1.ParamByName('K').AsFloat   := s ;
      Query1.Prepare ;
      Query1.ExecSQL ;
    except
      // 数据库错
      Application.MessageBox(
        '数据库连接错误,请您检查或系统管理员联系',
        '数据库错',
        MB_OK+MB_ICONError) ;
        Exit ;
    end; {try <1> E}

    // 向<评标项目各个参数表>插入记录
    try  {try <1> S}
      zh_Select_SQL := 'select * from ' + ParamTabName + ' where g_fp_id=' + IntToStr(z_FuncParamPlanI) ;
      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 ;}
          Continue ;
      end; {try <1> E}

      z_sql_insertvalue := IntToStr(z_I) + ',' + FloatToStr(s) + ',' ;
      for J:=2 to Query4.FieldCount-1 do
      begin
        z_sql_insertvalue := z_sql_insertvalue + Query4.Fields[J].AsString + ',' ;
      end;
      Delete(z_sql_insertvalue,length(z_sql_insertvalue),1) ;

      zh_Insert_SQL := 'insert into ' + ParamTabName + ' values(' + z_sql_insertvalue + ')' ;
      Query1.Close;
      Query1.SQL.Clear ;
      Query1.SQL.Add(zh_Insert_SQL);
      Query1.Prepare ;
      Query1.ExecSQL ;
    except
      // 数据库错
    {  Application.MessageBox(
        '数据库连接错误,请您检查或系统管理员联系',
        '数据库错',
        MB_OK+MB_ICONError) ;
        Exit ;}
    end; {try <1> E}
    //
  end; // for - end




  // 方案代码
  z_FuncParamPlanI := z_I ; //*****//
  ComboBox1.Text := temp ;

  // 刷新
  zh_Select_SQL := 'select * from tm_assessitemplan' ;
  Query2.Close;
  Query2.SQL.Clear;
  Query2.SQL.Add(zh_Select_SQL);
  Query2.Open;
  ComboBox1.Items.Clear;
  Query2.First;
  while not Query2.Eof do
  begin
    ComboBox1.Items.Add(Trim(Query2.Fields[1].AsString));
    Query2.Next;
  end;

  //
end;

procedure Tzfrm_ProjectParam.FormActivate(Sender: TObject);
begin
  // 初始化
  Timer1.Enabled := True ;
  //
end;

procedure Tzfrm_ProjectParam.TreeView1Click(Sender: TObject);
begin
  // 得到,选中节点属性
  try
  z_FlashParamStringGrid1P(PMyRec(TreeView1.Selected.Data)^.z_ai_id) ; //***//
  except
    //StringGrid1.Rows[0].Text := '没有可编辑参数' ;
    StringGrid1.Enabled := False ;
  end;
  //
end;

procedure Tzfrm_ProjectParam.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  //
  Timer1.Enabled := False ;
  //
end;

procedure Tzfrm_ProjectParam.Timer1Timer(Sender: TObject);
begin
  //
  if z_CountValuesP = 100 then
  begin
    label1.Caption := '工程各项指标分数,合计:100分' ;
    label2.Caption := '工程各项指标分数,合计:100分' ;
  end
  else
  begin
    label1.Caption := '工程各项指标分数,合计:' + FloatToStr(z_CountValuesP) + '分' ;
    label2.Caption := '工程各项指标分数,合计:' + FloatToStr(z_CountValuesP) + '分' ;
    BitBtn2.Enabled := False ;
  end;
  //
end;

procedure Tzfrm_ProjectParam.StringGrid2KeyPress(Sender: TObject;
  var Key: Char);
var
  Content: string;
begin
  //
  Content := (Sender as TStringGrid).Cells[1,z_y];
  If Key=#8 then
  begin
    Exit;
  end;
  If Key=#46 then //小数点
  begin
    //控制,只能输一个小数点
    If (Key=#46) and (pos('.',Content)>0) then
    begin
      Key := #0;
    end;
    Exit;
  end
  Else
  begin
    If Key in ['0'..'9'] then
    begin
      Exit ;
    end;
  end;
  Key := #0 ;
  //
end;

procedure Tzfrm_ProjectParam.StringGrid2SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  //
  z_x := ACol ;
  z_y := ARow ;
  //
end;

procedure Tzfrm_ProjectParam.FormShow(Sender: TObject);
begin
  //
  zh_Select_SQL := 'select * from tm_assessitemplan' ;
  Query2.Close;
  Query2.SQL.Clear;
  Query2.SQL.Add(zh_Select_SQL);
  Query2.Open;
  ComboBox1.Items.Clear;
  Query2.First;

  // 方案代码
  z_FuncParamPlanI := Query2.Fields[0].AsInteger ;
  ComboBox1.Text := Query2.Fields[1].AsString ;

  while not Query2.Eof do
  begin
   ComboBox1.Items.Add(Trim(Query2.Fields[1].AsString));
   Query2.Next;
  end;

  z_InitStringGridP ; //***//
  z_InitListView1P ;  //***//
//
end;

procedure Tzfrm_ProjectParam.ComboBox1KeyPress(Sender: TObject;
  var Key: Char);
begin
  //
  Key := #0 ;
  //
end;

procedure Tzfrm_ProjectParam.ComboBox1Change(Sender: TObject);
begin
  //
  if Trim(ComboBox1.Text) = '' then Exit ;
  zh_Select_SQL := 'select * from tm_assessitemplan where fp_name=' + '''' + ComboBox1.Text + '''' ;
  Query2.Close;
  Query2.SQL.Clear;
  Query2.SQL.Add(zh_Select_SQL);
  Query2.Open;
  Query2.First;

  // 方案代码
  if Query2.RecordCount = 0 then Exit ;
  z_FuncParamPlanI := Query2.Fields[0].AsInteger ;
  ComboBox1.Text := Query2.Fields[1].AsString ;

  //重新设置所有参数
  z_InitStringGridP ; //***//
  z_InitListView1P ;  //***//
  //
end;

procedure Tzfrm_ProjectParam.Button4Click(Sender: TObject);
begin
  // 删除方案
  if (z_FuncParamPlanI = 1) then
  begin
    Application.MessageBox(
        '您不能删除《方案1》',
        '相关权限',
        MB_Ok+MB_ICONINFORMATION );
    Exit;
  end;

  zh_returnV:=Application.MessageBox(
      '您是否要从本系统删除此方案?',
      '删除用户',
       MB_YesNo++MB_ICONWARNING);
  if zh_returnV=IDNO then Exit;

  // 删除用户
  try  {try <1> S}
    zh_Delete_SQL := 'delete from tm_assessitemplan where fp_name=:fp_name';
    //showmessage(zh_Insert_SQL);
    Query1.Close;
    Query1.SQL.Clear ;
    Query1.SQL.Add(zh_Delete_SQL);
      Query1.ParamByName('fp_name').AsString  := ComboBox1.Text ;
    Query1.Prepare ;
    Query1.ExecSQL ;
  except
      // 数据库错
      Application.MessageBox(
      '数据库连接错误,请您检查',
      '数据库错',
      MB_OK+MB_ICONError);
      Exit ;
  end; {try <1> E}

  FormShow(Self) ; //***//
  //
end;

end.

⌨️ 快捷键说明

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