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

📄 frm_feepayu.~pas

📁 这是一个小区物业管理系统
💻 ~PAS
字号:
unit frm_FeePayU;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids,db,ADOdb,Config;

type
  Tfrm_FeePay = class(TForm)
    DBGridFee: TDBGrid;
    DBGridRecord: TDBGrid;
    Edt_du: TEdit;
    Edt_fee: TEdit;
    btn_js: TButton;
    btn_ok: TButton;
    btn_cancel: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    lab_yzname: TLabel;
    Label6: TLabel;
    edt_dubefore: TEdit;
    DataS_fee: TDataSource;
    DataS_record: TDataSource;
    procedure FormShow(Sender: TObject);
    procedure DBGridFeeCellClick(Column: TColumn);
    procedure btn_jsClick(Sender: TObject);
    procedure btn_cancelClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btn_okClick(Sender: TObject);
  private
    procedure FillUI;
    procedure FillRecord;
    procedure GetRecord;
    procedure AddRecord;
  public
    yzID:integer;
  end;

var
  frm_FeePay: Tfrm_FeePay;

implementation

uses DataMU,Control_yzU,Control_feeU,ClassesU;

{$R *.dfm}
procedure Tfrm_FeePay.FillRecord;
begin
  DataS_record.DataSet:=Control_yzU.GetFeeRecordByYZID(self.yzID);
  self.DBGridRecord.DataSource:=DataS_record;
end;
procedure Tfrm_FeePay.AddRecord;
var
  feeDegree:double;
  feeRecord:TfeeRecord;
begin
  if(edt_fee.Text ='') then
    begin
      MessageBox(Handle, '请先计算!', '小区物业', MB_ICONASTERISK);
      exit;
    end;
  feeDegree:=Control_feeU.GetLastRecord(DataS_fee.DataSet.FieldValues['id'],self.yzID);
  if (feeDegree>=strtofloat(edt_du.Text))
      and (edt_dubefore.Text <>'0') then
     begin
       edt_dubefore.Text:=floattostr(feeDegree);
       MessageBox(Handle, '本次缴费度数小于或等于上次度数,请重新输入', '小区物业', MB_ICONEXCLAMATION);
       exit;
     end;
  feeRecord:=TfeeRecord.Create;
  feeRecord.yzID:=self.yzID;
  feeRecord.feeID:=DataS_fee.DataSet.FieldValues['id'];
  feeRecord.degree:=strtofloat(edt_du.Text);
  feeRecord.fee:=strtofloat(edt_fee.Text);
  if Control_feeU.AddFeeRecord(feeRecord) then
    begin
      MessageBox(Handle, '缴费成功', '小区物业', MB_ICONASTERISK);
      FillRecord;
      edt_dubefore.Text:='';
      edt_du.Text:='';
      edt_fee.Text:='';
    end
  else
    begin
      MessageBox(Handle, '缴费失败', '小区物业', MB_ICONEXCLAMATION);
    end;

end;
procedure Tfrm_FeePay.GetRecord;
var
  feeDegree:double;
begin
  if(DataS_fee.DataSet.FieldValues['id'] =null)then
    exit;
  self.Edt_du.Text:='';
  self.edt_dubefore.Text:='';
  self.Edt_fee.Text:='';
  self.btn_js.Enabled:=true;
  if(DataS_fee.DataSet.FieldValues['收费方式']='按户') then
    begin
      self.Edt_du.text:='0';
      self.edt_dubefore.text:='0';
      self.Edt_fee.Text:=floattostr(DataS_fee.DataSet.FieldValues['价格']);
      self.btn_js.Enabled:=false;
    end
  else
    begin
      self.Edt_du.Enabled:=true;
      self.edt_dubefore.Enabled:=true;
      feeDegree:=Control_feeU.GetLastRecord(DataS_fee.DataSet.FieldValues['id'],self.yzID);
      self.Edt_dubefore.Text:=floattostr(feeDegree);
    end;
end;


procedure Tfrm_FeePay.FillUI;
begin
  DataS_fee.DataSet:=Control_feeU.GetFeeSetArray;
  DataS_fee.DataSet.FieldByName('id').Visible:=false;
  self.DBGridFee.DataSource:=DataS_fee;
  FillRecord;
end;
procedure Tfrm_FeePay.FormShow(Sender: TObject);
begin
FillUI;
end;

procedure Tfrm_FeePay.DBGridFeeCellClick(Column: TColumn);
begin
GetRecord;
end;

procedure Tfrm_FeePay.btn_jsClick(Sender: TObject);
var
  val:real;
begin
if DataS_fee.DataSet.FieldValues['id']<>null then
  begin
    if trim(edt_du.Text)='' then
      begin
        MessageBox(Handle, '请先添加度数', '小区物业', MB_ICONASTERISK);
        exit;
      end;
    val:=strtofloat(edt_du.text)-strtofloat(edt_dubefore.Text);
    val:=val*DataS_fee.DataSet.FieldValues['价格'];
    edt_fee.Text:=floattoStr(val);
  end;
end;

procedure Tfrm_FeePay.btn_cancelClick(Sender: TObject);
begin
close;
end;

procedure Tfrm_FeePay.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;

procedure Tfrm_FeePay.btn_okClick(Sender: TObject);
begin
if MessageBox(Handle, '确认要添加缴费记录?', '小区物业', MB_ICONQUESTION or MB_OKCANCEL) = IDOK then
  begin
    AddRecord;
  end;
end;

end.

⌨️ 快捷键说明

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