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

📄 unit_serviceextra.pas

📁 管理软件/可以用于有会员积分管理的场所,支持会员卡管理
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  begin
    MessageBox(handle,'你已经对服务提成采用分别设置,保存统一设置不予处理!','提示',mb_ok+mb_iconinformation);
    exit;
  end;
  for i:=1 to sg_specific.RowCount-2 do
  begin
    if (sg_specific.cells[3,i]='') or (sg_specific.cells[4,i]='') then
    begin
      MessageBox(handle,'服务提成设置不完全,请重试!','提示',mb_ok+mb_iconinformation);
      exit;
    end;
  end;
  try
    dmod.Database.StartTransaction ;
    with dmod.qrydata do
    begin
      Close;
      SQL.Text :='select count(*) as count from serviceextra where emp_no='+#39+temp+#39;
      Open;
      if FieldByName('count').AsInteger >0 then
      begin
        Close;
        SQL.Text :='delete from serviceextra where emp_no='+#39+temp+#39;
        ExecSQL;
      end;

      for i:=1 to sg_specific.RowCount-2 do
      begin
        Close;
        SQL.Text :='insert into serviceextra(item_id,emp_no,tc_type,tc_value,conf_type) '+
                 'values(:itemid,:empno,:tctype,:tcvalue,:conftype)';
        ParamByName('itemid').AsString :=sg_specific.Cells[0,i];
        ParamByName('empno').AsString  :=temp;
        if sg_specific.Cells[3,i]='固定提成' then
          ParamByName('tctype').AsString :='0'
        else  if sg_specific.Cells[3,i]='按百分比' then
          ParamByName('tctype').AsString :='1';
        ParamByName('tcvalue').AsFloat :=StrToFloat(sg_specific.Cells[4,i]);
        ParamByName('conftype').AsString :='1';
        ExecSQL;
      end;
    end;
  finally
    try
      dmod.Database.Commit ;
      isConfig:=true;
      isSameConfig:=false;
      StatusBar1.panels[0].text:='友好提示:服务提成按分别方法设置';
    except
      dmod.Database.Rollback ;
    end;
  end;
end;
{***************************************************}

procedure Tfrm_serviceitemextra.sbtn_closeClick(Sender: TObject);
begin
  close;
end;

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

procedure Tfrm_serviceitemextra.sg_sameSelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  if ARow = sg_Same.RowCount - 1 then
    CanSelect:= false
  else
  begin
    sbtn_back.Enabled := true;
    sbtn_front.Enabled := true;
    if ARow = sg_Same.RowCount - 2 then sbtn_back.Enabled := false;
    if ARow = 1 then sbtn_front.Enabled := false;
    CanSelect := true;
  end;
end;

procedure Tfrm_serviceitemextra.sbtn_backClick(Sender: TObject);
begin
  if pagecontrol1.ActivePage = sht_same then
  begin
    if sg_Same.Row > sg_Same.RowCount-2 then
    begin
       sbtn_back.Enabled := false;
       exit;
    end;
    sbtn_front.Enabled := true;
    sg_Same.Row := sg_Same.Row+1;
  end else if pagecontrol1.ActivePage = sht_specific then
  begin
    if sg_Specific.Row > sg_Specific.RowCount-2 then
    begin
       sbtn_back.Enabled := false;
       exit;
    end;
    sbtn_front.Enabled := true;
    sg_Specific.Row := sg_Specific.Row+1;
  end;
end;

procedure Tfrm_serviceitemextra.sbtn_frontClick(Sender: TObject);
begin
  if pagecontrol1.ActivePage = sht_same then
  begin
    if sg_Same.Row=1 then
    begin
      sbtn_front.Enabled := false;
      exit;
    end;
    sbtn_back.Enabled := true;
    sg_Same.Row := sg_Same.Row-1;
  end else if pagecontrol1.ActivePage = sht_specific then
  begin
    if sg_Specific.Row=1 then
    begin
      sbtn_front.Enabled := false;
      exit;
    end;
    sbtn_back.Enabled := true;
    sg_specific.Row := sg_specific.Row-1;
  end;
end;

procedure Tfrm_serviceitemextra.sbtn_sure1Click(Sender: TObject);
var
  temp:double;
begin
  if sg_Same.Cells[0,sg_Same.Row]='' then exit;

  try
    temp:=StrToFloat(edt_tcnumber1.Text);
  except
    MessageBox(handle,'请正确输入提成数目!','提示',mb_ok+mb_iconinformation);
    edt_tcnumber1.SetFocus ;
    exit;
  end;
  sg_Same.Cells[3,sg_Same.Row]:=radiogroup1.Items[radiogroup1.itemindex];
  sg_Same.Cells[4,sg_Same.Row]:=FloatToStr(temp);

  sbtn_backClick(nil);
  edt_tcnumber1.Text :='';
  sbtn_save.enabled:=true;
end;

procedure Tfrm_serviceitemextra.sg_sameClick(Sender: TObject);
begin
  if sg_Same.Cells[0,sg_Same.Row]='' then
  begin
    radiogroup1.ItemIndex :=0;
    edt_tcnumber1.Text:='';
    exit;
 end;

 if sg_Same.Cells[3,sg_Same.Row]='固定提成' then
    radiogroup1.ItemIndex :=0
 else if sg_Same.Cells[3,sg_Same.Row]='按百分比' then
    radiogroup1.ItemIndex :=1;

  edt_tcnumber1.Text := sg_Same.Cells[4,sg_Same.Row];
end;

procedure Tfrm_serviceitemextra.sbtn_saveClick(Sender: TObject);
begin
  if not isConfig then             //如果还没有进行服务设置
  begin
    if pagecontrol1.ActivePage = sht_same then
    begin
      SaveSameServiceExtra;
      isConfig:=true;
      isSameConfig:=true;
      sbtn_reconfig.Enabled :=true;
      sbtn_save.enabled:=false;
      exit;
    end;

    if pagecontrol1.activepage = sht_specific then
    begin
      SaveSpecificServiceExtra(sg_Employee.cells[0,sg_Employee.row]);
      isConfig:=true;
      isSameConfig:=false;
      sbtn_reconfig.Enabled :=true;
      sbtn_save.enabled:=false;
      exit;
    end;
  end;

  if isConfig and isSameConfig then //如果已经设置而且按统一方法设置
  begin
    SaveSameServiceExtra;
    sbtn_reconfig.Enabled :=true;
    sbtn_save.enabled:=false;
    exit;
  end;

  if isConfig and (not isSameConfig) then
  begin
    SaveSpecificServiceExtra(sg_Employee.cells[0,sg_Employee.row]);
    sbtn_reconfig.Enabled :=true;
    sbtn_save.enabled:=false;
    exit;
  end;

end;

procedure Tfrm_serviceitemextra.sbtn_sure2Click(Sender: TObject);
var
  temp:double;
begin
  if sg_specific.Cells[0,sg_specific.Row]='' then exit;
  try
    temp:=StrToFloat(edt_tcnumber2.Text);
  except
    MessageBox(handle,'请正确输入提成数目!','提示',mb_ok+mb_iconinformation);
    edt_tcnumber2.SetFocus ;
    exit;
  end;
  sg_specific.Cells[3,sg_specific.Row]:=radiogroup2.Items[radiogroup2.itemindex];
  sg_specific.Cells[4,sg_specific.Row]:=FloatToStr(temp);
  sbtn_backClick(nil);
  edt_tcnumber2.Text :='';
  sbtn_save.enabled:=true;
end;

procedure Tfrm_serviceitemextra.sg_EmployeeClick(Sender: TObject);
var
  temp_str:string;
begin
  if not sbtn_save.Enabled then
  begin
    temp_str:=sg_Employee.Cells[0,sg_Employee.Row];
    SearchSpecificServiceExtra(temp_str);
    sg_specific.Row :=1;
  end;
end;

procedure Tfrm_serviceitemextra.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
  if not isConfig then AllowChange:=true;

  if pagecontrol1.ActivePage = sht_same then
  begin
    if isConfig and isSameConfig then
    begin
      MessageBox(handle,'服务提成采用统一方法设置,要重新设置请点击按钮!','提示',mb_ok+mb_iconinformation);
      AllowChange:=false;
    end else if isConfig and (not isSameConfig) then
    begin
      AllowChange:=true;
    end;
  end;

  if pagecontrol1.ActivePage = sht_specific then
  begin
    if isConfig and isSameConfig then
    begin
      AllowChange:=true;
    end else if isConfig and (not isSameConfig) then
    begin
      MessageBox(handle,'服务提成采用分别方法设置,要重新设置请点击按钮!','提示',mb_ok+mb_iconinformation);
      AllowChange:=false;
    end;
  end;
end;

procedure Tfrm_serviceitemextra.sbtn_ReconfigClick(Sender: TObject);
begin
  if MessageBox(handle,'重新设置将清除数据库中的数据,继续吗?','提示',mb_YESNO+mb_iconinformation)<>IDYES then exit;
  if pagecontrol1.ActivePage = sht_same then
    StringGridClear(sg_Same)
  else if pagecontrol1.ActivePage = sht_specific then
    StringGridClear(sg_specific);
  with dmod.qrydata do
  begin
    Close;
    SQL.Text :='delete from serviceextra';
    ExecSQL;
  end;
  isConfig:=false;
  sbtn_reconfig.Enabled :=false;
  InitialServiceExtra;
end;

procedure Tfrm_serviceitemextra.sg_specificSelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  if ARow = sg_Specific.RowCount - 1 then
    CanSelect:= false
  else
  begin
    sbtn_back.Enabled := true;
    sbtn_front.Enabled := true;
    if ARow = sg_Specific.RowCount - 2 then sbtn_back.Enabled := false;
    if ARow = 1 then sbtn_front.Enabled := false;
    CanSelect := true;
  end;
end;

procedure Tfrm_serviceitemextra.sg_EmployeeSelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  if sbtn_save.enabled then
  begin
    MessageBox(handle,'请先保存部分的服务提成设置!','提示',mb_ok+mb_iconinformation);
    CanSelect:=false;
    exit;
  end;
end;

end.

⌨️ 快捷键说明

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