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

📄 unit_systemaffiche.pas

📁 delphi开发的中国移动大客户管理系统,后台数据库为oracle
💻 PAS
字号:
unit Unit_SystemAffiche;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, DBCtrls, ExtCtrls, Grids, DBGrids, Db, DBTables,
  TFlatPanelUnit, TFlatComboBoxUnit, TFlatMemoUnit, TFlatButtonUnit;

type
  TFrm_SystemAffiche = class(TForm)
    Query_gg: TQuery;
    DataSource1: TDataSource;
    Query2: TQuery;
    QueryRYJB: TQuery;
    Panel6: TPanel;
    Panel3: TPanel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label1: TLabel;
    Fcom_jx: TFlatComboBox;
    Fcom_jb: TFlatComboBox;
    Fcom_gglx: TFlatComboBox;
    FCom_city: TFlatComboBox;
    Panel5: TPanel;
    Query_ggxx: TQuery;
    FMemo_ggnr: TMemo;
    DBGrid1: TDBGrid;
    Panel2: TPanel;
    Panel1: TPanel;
    BitBtn_gb: TFlatButton;
    BitBtn_qx: TFlatButton;
    BitBtn_bc: TFlatButton;
    BitBtn_sc: TFlatButton;
    BitBtn_zj: TFlatButton;
    procedure BitBtn_zjClick(Sender: TObject);
    procedure BitBtn_scClick(Sender: TObject);
    procedure BitBtn_bcClick(Sender: TObject);
    procedure BitBtn_qxClick(Sender: TObject);
    procedure BitBtn_gbClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    Procedure SetButtonEnable;        //设置组件状态
    procedure FormShow(Sender: TObject);
    procedure Query_ggAfterScroll(DataSet: TDataSet);
    procedure FCom_cityChange(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure Fcom_jxKeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid1TitleClick(Column: TColumn);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frm_SystemAffiche: TFrm_SystemAffiche;
  V_state :String;

implementation
uses FunctionP, main, dmmain,crypt,procedurep, Unit_Public;
{$R *.DFM}

Procedure TFrm_SystemAffiche.SetButtonEnable;   //设置组件状态
begin
 If V_state='inse' then
    begin
       Bitbtn_zj.Enabled := False;
       Bitbtn_sc.Enabled := False;
       Bitbtn_bc.Enabled := True;
       Bitbtn_qx.Enabled := True;
       Dbgrid1.Enabled := False;
       FMemo_ggnr.ReadOnly := False;
       Panel3.Enabled := True;
       Fcom_jb.ItemIndex :=0;
       Fcom_gglx.ItemIndex :=0;
       Fcom_city.ItemIndex :=Fcom_jx.Items.IndexOf(PS_CityName);
       Fcom_jx.ItemIndex := Fcom_jx.Items.IndexOf(PS_CityName);
      If QueryRyjb.Locate('JBDM',JBDM,[]) Then
         Fcom_jb.ItemIndex :=Fcom_jb.Items.IndexOf(QueryRYJB.FieldByName('JBMC').AsString)
       Else
         Fcom_jb.ItemIndex :=0;
    end
 Else
    begin
       Bitbtn_zj.Enabled := True;

       Query_gg.Close;
       Query_gg.Open;
       If (Query_gg.Eof And  Query_gg.Bof) then
          BitBtn_sc.Enabled := False
       Else
          BitBtn_sc.Enabled := True;

       Bitbtn_bc.Enabled := False;
       Bitbtn_qx.Enabled := False;
       DbGrid1.Enabled := True;
       FMemo_ggnr.ReadOnly := True;
       Panel3.Enabled := False;
    end;
end;

procedure TFrm_SystemAffiche.BitBtn_zjClick(Sender: TObject);
begin
   //FCom_city.ItemIndex:=FCom_city.Items.IndexOf(PS_CityName);
   //FCom_JX.ItemIndex:=FCom_JX.Items.IndexOf(PS_HomeName);
   FCom_JB.ItemIndex:=0;
   FCom_GGLX.ItemIndex:=0;

   V_State :='inse';
   FMemo_ggnr.Text :='';
   FMemo_ggnr.SetFocus;
   SetButtonEnable;
end;

procedure TFrm_SystemAffiche.BitBtn_scClick(Sender: TObject);
begin
   IF Application.MessageBox('确实要删除吗?','提示',MB_ICONINFORMATION+MB_YESNO)=IDYES THEN
      BEGIN
         Query2.close;
         Query2.Sql.Clear;
         Query2.Sql.Add('Delete From t_f_affiche Where Id='+Query_GG.FieldByName('ID').AsString);
         Try
            Query2.ExecSQL;
         Except
            Application.MessageBox('删除时出错!!','提示',MB_ICONINFORMATION);
            Exit;
         End;
         V_state :='';
         SetButtonEnable;
      END
   ELSE
      EXIT;
end;

procedure TFrm_SystemAffiche.BitBtn_bcClick(Sender: TObject);
var
  v_id :String;
 // v_ggid :integer;
begin
///-----条件是否完全-----

   If Trim(FMemo_ggnr.Text) = '' then
      Begin
         showmessage('公告内容必须输入!!');
         FMemo_ggnr.SetFocus ;
         Exit;
      End;

   If V_state='inse' Then
      Begin
         With Query2 do
            begin
               Close;
               SQL.Clear;
               SQL.Add('Select seq_aff_id.NextVal ID From Dual');
               Open;
               V_id := Query2.FieldByName('ID').Asstring;
            end;
         Query2.Close;
         Query2.Sql.Clear;
         Query2.Sql.Add('Insert Into t_f_affiche (ID,AFFICHE,PUBTIME,AFF_FLAG,WK_NO,CITYNO,OFF_NO_HOME,JBDM,IMPORT)');
         Query2.Sql.Add(' Values(:ID,:AFFICHE,:PUBTIME,:AFF_FLAG,:WK_NO,:CITYNO,:OFF_NO_HOME,:JBDM,:IMPORT)');
         Query2.ParamByName('ID').AsString :=V_id;
         Query2.ParamByName('AFFICHE').AsString :=FMemo_ggnr.Text;
         Query2.ParamByName('PUBTIME').Asdatetime :=now;
         Query2.ParamByName('AFF_FLAG').AsString :='1';
         Query2.ParamByName('cityno').AsString :=Fun_GetCity(fcom_city,'',1);
         query2.ParamByName('off_no_home').asstring:=Fun_GetCounty(fcom_jx,'','',1);
         If QueryRYJB.Locate('JBMC',Fcom_jb.Text,[]) Then
            Query2.ParamByName('JBDM').AsString :=QueryRYJB.FieldByName('JBDM').AsString
         Else
            Query2.ParamByName('JBDM').AsString :='9';
         Query2.ParamByName('WK_NO').AsString :=GH;
         Query2.ParamByName('IMPORT').AsInteger :=Fcom_gglx.ItemIndex;
         Query2.ExecSQL;
      End;
   V_state :='';
   FMemo_ggnr.Text :='';
   SetButtonEnable;
end;

procedure TFrm_SystemAffiche.BitBtn_qxClick(Sender: TObject);
begin
   V_state :='';
   SetButtonEnable;
end;

procedure TFrm_SystemAffiche.BitBtn_gbClick(Sender: TObject);
begin
   Close;
end;

procedure TFrm_SystemAffiche.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   Action := CaFree;
   UserEnter_Log(Caption,'浏览',0,Gh,'登入窗体');
end;

procedure TFrm_SystemAffiche.FormShow(Sender: TObject);
begin

   UserEnter_Log(Caption,'浏览',-1,Gh,'登入窗体');
   setFunVisible(Self,gh);
   //
   //Fun_GetCity(fcom_city,'所有',0,ps_cityname);
   //Fun_GetCounty(fcom_jx,'所有',ps_cityname);
   Fun_GetCity(fcom_city,PS_CityName,0);//初始化所管辖的地市
   Fun_GetCounty(Fcom_jx,'',Trim(fcom_city.Text),0,PS_HomeName);//初始化所管辖的局向
   Fcom_city.Enabled:=(JBDM=0);
   Fcom_jx.Enabled:=(JBDM=0);
//初始级别代码
   Fcom_jb.Items.Clear;
   If JBDM<=1 then
      Fcom_jb.Items.Add('所有');
   QueryRyjb.Close;
   QueryRyjb.SQL.Clear;
   QueryRyjb.SQL.Add('Select * From t_v_level Where JBDM>='+IntToStr(JBDM));
   QueryRyjb.Open;
   While Not QueryRYJB.Eof Do
      Begin
         Fcom_jb.Items.Add(QueryRYJB.FieldByName('JBMC').AsString);
         QueryRYJB.Next;
      End;
   //太慢
   If QueryRyjb.Locate('JBDM',JBDM,[]) Then
      Fcom_jb.ItemIndex :=Fcom_jb.Items.IndexOf(QueryRYJB.FieldByName('JBMC').AsString)
   Else
      Fcom_jb.ItemIndex :=0;

   Fcom_gglx.ItemIndex :=0;

//不同级别管理人员所看到的纪录是不同的
   With Query_GG Do
      Begin
         Close;
         Sql.Clear;
         Sql.Add('Select A.wk_no wk_no,a.PUBTIME PUBTIME,a.ID ID,a.AFFICHE AFFICHE,a.IMPORT IMPORT,');
         Sql.Add('a.CITYNO CITYNO,a.OFF_NO_HOME OFF_NO_HOME,a.JBDM JBDM');
         Sql.Add(' From t_f_affiche A,t_f_manager B Where A.WK_NO=B.WK_NO');
         Sql.Add(' And b.LEVEL_SEQ>='+IntToStr(JBDM)+' and a.CITYNO='+PS_CityNo );
         Sql.Add(' Order By A.PUBTIME DESC');
         Open;
      End;
   SetButtonEnable;
   DBGrid1CellClick(nil);
end;

procedure TFrm_SystemAffiche.Query_ggAfterScroll(DataSet: TDataSet);
Var
   ValueString:String;
begin
   If Not Query_GG.IsEmpty Then
      Begin
         //地市
         ValueString:=Fun_GetCityCountyName(Query_GG,0);
         If ValueString='' Then
            FCom_city.ItemIndex:=0
         Else
            FCom_city.ItemIndex:=FCom_city.Items.IndexOf(ValueString);
         //局向
         ValueString:=Fun_GetCityCountyName(Query_GG,1);
         If ValueString='' Then
            FCom_JX.ItemIndex:=0
         Else
            FCom_JX.ItemIndex:=FCom_JX.Items.IndexOf(ValueString);
         //级别
         If QueryRYJB.Locate('JBDM',Query_GG.FieldByName('JBDM').AsInteger,[])=True Then
            Begin
               Fcom_jb.ItemIndex:=Fcom_jb.Items.IndexOf(QueryRYJB.FieldByName('JBMC').AsString);
            End
         Else
            Begin
               Fcom_jb.ItemIndex:=0;
            End;
         //公告类型
         Fcom_gglx.ItemIndex:=Query_GG.FieldByName('IMPORT').AsInteger;
         //公告内容
         FMemo_ggnr.Text:=Query_GG.FieldByName('AFFICHE').AsString;

      End;
end;

procedure TFrm_SystemAffiche.FCom_cityChange(Sender: TObject);
begin
  Fun_GetCounty(fcom_jx,'所有',fcom_city.Text);
end;

procedure TFrm_SystemAffiche.DBGrid1CellClick(Column: TColumn);
begin
  query_ggxx.Active:=false;
  query_ggxx.SQL.Clear;
  query_ggxx.SQL.Add('select b.CITYNAME CITYNAME,c.HOME_NAME HOME_NAME,d.JBmc JBMc,a.IMPORT IMPORT,a.AFFICHE AFFICHE ');
  query_ggxx.SQL.Add('from t_f_affiche a,t_d_city b,t_d_county c,t_v_level d where a.id=:id');
  query_ggxx.sql.add('and b.CITYNO=a.CITYNO and c.CITYNO=a.CITYNO and c.off_no_home=a.off_no_home and d.JBDM=a.JBDM');
  query_ggxx.ParamByName('ID').asinteger:=Query_gg.fieldbyname('id').asinteger;
  query_ggxx.Open;
  fcom_city.text:=query_ggxx.fieldbyname('cityname').asstring;
  fcom_jx.text:=query_ggxx.fieldbyname('home_name').asstring;
  fcom_jb.text:=query_ggxx.fieldbyname('jbmc').asstring;
  fcom_gglx.ItemIndex:=query_ggxx.fieldbyname('IMPORT').asinteger;
  fmemo_ggnr.text:=query_ggxx.fieldbyname('AFFICHE').asstring;
end;

procedure TFrm_SystemAffiche.Fcom_jxKeyPress(Sender: TObject;
  var Key: Char);
begin
  key:=#0;
end;

procedure TFrm_SystemAffiche.DBGrid1TitleClick(Column: TColumn);
begin
  Gp_SortDbgrid(column,Column.Grid as TDBGrid);
end;

end.

⌨️ 快捷键说明

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