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

📄 cl_dj.pas

📁 汽配前台收费,一个具有详细功能的小系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:
          if Trim(txt_cph.Text) = '' then begin
            MessageBox(Handle, '请确定车牌号', '沈阳信德', MB_ICONQUESTION or MB_OK);
            txt_cph.SetFocus;
            intResult := 1;
          end else begin
            if Trim(txt_cx.Text) = '' then begin
              MessageBox(Handle, '请确定车型', '沈阳信德', MB_ICONQUESTION or MB_OK);
              txt_cx.SetFocus;
              intResult := 1;
            end else begin
              if (Trim(txt_cz.Text) = '') and (Trim(txt_czdw.Text) = '') then begin
                MessageBox(Handle, '请确定车主姓名或者车主单位', '沈阳信德', MB_ICONQUESTION or MB_OK);
                txt_cz.SetFocus;
                intResult := 1;
              end else begin
                if (cb_yj.Checked) and (Trim(txt_yj.Text) = '') then begin
                  MessageBox(Handle, '请确定押金金额', '沈阳信德', MB_ICONQUESTION or MB_OK);
                  txt_yj.SetFocus;
                  intResult := 1;
                end else begin
                  if (cb_yj.Checked) then begin
                    Val(Trim(txt_yj.Text), v, code);
                    if (code <> 0) or (v < 0.01) then begin
                      MessageBox(Handle, '押金金额无效', '沈阳信德', MB_ICONQUESTION or MB_OK);
                      txt_yj.SetFocus;
                      Result := 1;
                      Exit;
                    end;
                  end;
                  //
                  if (cb_bx.Checked) and (combo_bx_kind.ItemIndex = -1) then begin
                    MessageBox(Handle, '请确定保险类型', '沈阳信德', MB_ICONQUESTION or MB_OK);
                    combo_bx_kind.SetFocus;
                    Result := 1;
                    Exit;
                  end;
                  //
                  if (not cb_bx.Checked) and (combo_wx_kind.ItemIndex = -1) then begin
                    MessageBox(Handle, '请确定维修类型', '沈阳信德', MB_ICONQUESTION or MB_OK);
                    combo_wx_kind.SetFocus;
                    Result := 1;
                    Exit;
                  end;
                end;
              end;
            end;
          end;
        end;
      end;
    end;
  end;
  //
  Result := intResult;
end;

procedure Tfrm_cl_dj.NewInit;
begin
  SetNewBH;
  //
  pe_edit.Enabled := True;
  pe_info.Enabled := False;
  //
  txt_dj_time.Text := frm_log.controlDate(DateToStr(Date()));
  txt_jc_time.Text := frm_log.controlDate(DateToStr(Date()));
  txt_cph.Text := '';
  txt_cx.Text := '';
  txt_fdjh.Text := '';
  txt_dph.Text := '';
  txt_cz.Text := '';
  txt_czdw.Text := '';
  txt_tel.Text := '';
  txt_addr.Text := '';
  //
  cb_yj.Checked := False;
  txt_yj.Text := '';
  pe_yj.Enabled := False;
  //
  cb_bx.Checked := False;
  lbl_kind.Caption := '维修类型';
  combo_wx_kind.Visible := True;
  combo_wx_kind.ItemIndex := -1;
  combo_bx_kind.Visible := False;
  combo_bx_kind.ItemIndex := -1;
  //
  cmd_new.Enabled := True;
  cmd_edit.Enabled := False;
  cmd_save.Enabled := False;
  cmd_cancel.Enabled := True;
  cmd_print.Enabled := False;
  cmd_refresh.Enabled := False;
  //
  txt_dj_time.SetFocus;
  //
  qe_cl.Append;
end;

procedure Tfrm_cl_dj.EditInit;
var
  intPos: integer;
begin
  qe_jy.Close;
  qe_jy.SQL.Clear;
  qe_jy.SQL.Add('SELECT * FROM CL_DJ WHERE DJ_BH = ''' + Trim(txt_dj_bh.Caption) + ''' AND DJ_ZF_BS = 0');
  qe_jy.Open;
  qe_jy.First;
  //
  if (qe_jy.Bof) and (qe_jy.Eof) then begin
    MessageBox(Handle, '该登记已经作废,不能编辑,请按<刷新登记>刷新当前登记', '沈阳信德', MB_ICONQUESTION or MB_OK);
    Exit;
  end;
  intPos := qe_jy.FieldByName('dj_yj_jsbs').AsInteger;
  if intPos = 1 then begin
    MessageBox(Handle, '押金凭证已经打印,前台无权修改登记基本信息', '沈阳信德', MB_ICONQUESTION or MB_OK);
    Exit;
  end;
  //
  pe_edit.Enabled := True;
  pe_info.Enabled := False;
  txt_dj_time.SetFocus;
  //
  cmd_new.Enabled := False;
  cmd_edit.Enabled := False;
  cmd_save.Enabled := False;
  cmd_cancel.Enabled := True;
  cmd_print.Enabled := False;
  cmd_refresh.Enabled := False;
  //
  qe_cl.Edit;
end;

procedure Tfrm_cl_dj.SaveInit;
begin
  pe_edit.Enabled := False;
  pe_info.Enabled := True;
  //
  EnabledComponent(dsBrowse);
end;

procedure Tfrm_cl_dj.CancelInit;
begin
  qe_cl.Cancel;
  //
  if (qe_cl.Bof) and (qe_cl.Eof) then begin
    txt_dj_bh.Caption := '';
    //
    txt_dj_time.EditText := '0000-00-00';
    txt_jc_time.EditText := '0000-00-00';
    txt_cph.Text := '';
    txt_cx.Text := '';
    txt_dph.Text := '';
    txt_fdjh.Text := '';
    txt_cz.Text := '';
    txt_czdw.Text := '';
    txt_tel.Text := '';
    txt_addr.Text := '';
    //
    cb_yj.Checked := False;
    txt_yj.Text := '';
    cb_bx.Checked := False;
    lbl_kind.Caption := '维修类型:';
    combo_wx_kind.Visible := True;
    combo_bx_kind.Visible := False;
    combo_bx_kind.ItemIndex := -1;
    combo_wx_kind.ItemIndex := -1;
  end else begin
    txt_dj_bh.Caption := Trim(qe_cl.FieldByName('dj_bh').AsString);
    txt_cph.Text := Trim(qe_cl.FieldByName('dj_cph').AsString);
    txt_cx.Text := Trim(qe_cl.FieldByName('dj_cx').AsString);
    txt_dph.Text := Trim(qe_cl.FieldByName('dj_dph').AsString);
    txt_fdjh.Text := Trim(qe_cl.FieldByName('dj_fdjh').AsString);
    txt_cz.Text := Trim(qe_cl.FieldByName('dj_cz').AsString);
    txt_czdw.Text := Trim(qe_cl.FieldByName('dj_czdw').AsString);
    txt_tel.Text := Trim(qe_cl.FieldByName('dj_tel').AsString);
    txt_addr.Text := Trim(qe_cl.FieldByName('dj_addr').AsString);
    txt_dj_time.EditText := Trim(qe_cl.FieldByName('dj_time').AsString);
    txt_jc_time.EditText := Trim(qe_cl.FieldByName('dj_jctime').AsString);
    //
    if qe_cl.FieldByName('dj_bx_bs').AsInteger = 1 then begin
      cb_bx.Checked := True;
      lbl_kind.Caption := '保险类型:';
      combo_bx_kind.ItemIndex := combo_bx_kind.Items.IndexOf(Trim(qe_cl.FieldByName('dj_bx_kind').AsString));
      combo_wx_kind.Visible := False;
      combo_bx_kind.Visible := True;
    end else begin
      cb_bx.Checked := False;
      lbl_kind.Caption := '维修类型:';
      combo_wx_kind.ItemIndex := combo_wx_kind.Items.IndexOf(Trim(qe_cl.FieldByName('dj_wx_kind').AsString));
      combo_wx_kind.Visible := True;
      combo_bx_kind.Visible := False;
    end;
    //
    if qe_cl.FieldByName('dj_yj_bs').AsInteger = 1 then begin
      cb_yj.Checked := True;
      txt_yj.Text := FloatToStr(qe_cl.FieldByName('dj_yj_zf').Value);
    end else begin
      cb_yj.Checked := False;
      txt_yj.Text := '';
    end;
  end;
  //
  pe_edit.Enabled := False;
  pe_info.Enabled := True;
  //
  EnabledComponent(dsBrowse);
end;

procedure Tfrm_cl_dj.controlKeyPress1(Sender: TObject; var Key: Char);
begin
  if Ord(Key) = 13 then controlSetFocus(TWinControl(Sender).Tag);
end;

procedure Tfrm_cl_dj.controlKeyPress2(Sender: TObject; var Key: Char);
begin
  if not (((Key >= '0') and (Key <= '9')) or (Ord(Key) = 8) or (Ord(Key) = 46) or (Ord(Key) = 13)) then
    Key := Chr(0);
  if Ord(Key) = 13 then controlSetFocus(TWinControl(Sender).Tag);
end;

procedure Tfrm_cl_dj.controlKeyPress3(Sender: TObject; var Key: Char);
begin
  if Ord(Key) = 13 then begin
    qe_jy.Close;
    qe_jy.SQL.Clear;
    qe_jy.SQL.Add('SELECT * FROM CL_DJ WHERE DJ_CPH = ''' + Trim(txt_cph.Text) + ''' ORDER BY DJ_TIME DESC ');
    qe_jy.Open;
    qe_jy.First;
    //
    if (qe_jy.Bof) and (qe_jy.Eof) then begin
      ///
    end else begin
      txt_cx.Text := Trim(qe_jy.FieldByName('dj_cx').AsString);
      txt_fdjh.Text := Trim(qe_jy.FieldByName('dj_fdjh').AsString);
      txt_dph.Text := Trim(qe_jy.FieldByName('dj_dph').AsString);
      txt_cz.Text := Trim(qe_jy.FieldByName('dj_cz').AsString);
      txt_czdw.Text := Trim(qe_jy.FieldByName('dj_czdw').AsString);
      txt_tel.Text := Trim(qe_jy.FieldByName('dj_tel').AsString);
      txt_addr.Text := Trim(qe_jy.FieldByName('dj_addr').AsString);
    end;
    //
    qe_jy.Close;
    //
    controlSetFocus(TWinControl(Sender).Tag);
  end;
end;

procedure Tfrm_cl_dj.controlChange1(Sender: TObject);
begin
  if qe_cl.State = dsEdit then
    EnabledComponent(dsEdit)
  else if qe_cl.State = dsInsert then
    EnabledComponent(dsInsert);
end;

procedure Tfrm_cl_dj.controlSetFocus(intpos: integer);
begin
  case intpos of
    1: txt_jc_time.SetFocus;
    2: txt_cph.SetFocus;
    3: txt_cx.SetFocus;
    4: txt_fdjh.SetFocus;
    5: txt_dph.SetFocus;
    6: txt_cz.SetFocus;
    7: txt_tel.SetFocus;
    8: txt_czdw.SetFocus;
    9: txt_addr.SetFocus;
    10: cb_yj.SetFocus;
    11: combo_wx_kind.SetFocus;
  end;  
end;

procedure Tfrm_cl_dj.EnabledComponent(intState: TDataSetState);
begin
  case intState of
    dsBrowse: begin
                cmd_new.Enabled := True;
                cmd_edit.Enabled := True;
                cmd_save.Enabled := False;
                cmd_cancel.Enabled := False;
                cmd_print.Enabled := True;
                cmd_refresh.Enabled := True;
                //
                if (qe_cl.Bof) and (qe_cl.Eof) then begin
                  cmd_edit.Enabled := False;
                  cmd_print.Enabled := False;
                end else begin
                  if cb_yj.Checked then
                    cmd_print.Enabled := True
                  else
                    cmd_print.Enabled := False;
                end;
              end;
    dsEdit  : begin
                cmd_new.Enabled := False;
                cmd_edit.Enabled := False;
                cmd_save.Enabled := True;
                cmd_cancel.Enabled := True;
                cmd_print.Enabled := False;
                cmd_refresh.Enabled := False;
              end;
    dsInsert: begin
                cmd_new.Enabled := True;
                cmd_edit.Enabled := False;
                cmd_save.Enabled := True;
                cmd_cancel.Enabled := True;
                cmd_print.Enabled := False;
                cmd_refresh.Enabled := False;
              end;
  end;
end;

procedure Tfrm_cl_dj.cb_yjClick(Sender: TObject);
begin
  if qe_cl.State = dsEdit then
    EnabledComponent(dsEdit)
  else if qe_cl.State = dsInsert then
    EnabledComponent(dsInsert);
  //
  if (qe_cl.State = dsEdit) or (qe_cl.State = dsInsert) then begin
    if cb_yj.Checked then begin
      pe_yj.Enabled := True;
      txt_yj.SetFocus;
    end else begin
      txt_yj.OnChange := nil;
      txt_yj.Text := '';
      txt_yj.OnChange := frm_cl_dj.controlChange1;
      pe_yj.Enabled := False;
    end;

⌨️ 快捷键说明

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