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

📄 serw00_01.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 3 页
字号:
procedure TSerW00_01Form.cbTasClassChange(Sender: TObject);
begin
  sbSearch.Click;
end;

procedure TSerW00_01Form.dbgMasterDblClick(Sender: TObject);
begin
//查看
  ActOpen.Execute;
end;

procedure TSerW00_01Form.dbgDetailDblClick(Sender: TObject);
begin
  if bbtnUpdate.Enabled then bbtnUpdate.Click;
end;

procedure TSerW00_01Form.dxDBGrid1CustomDraw(Sender: TObject;
  ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
  AColumn: TdxDBTreeListColumn; const AText: String; AFont: TFont;
  var AColor: TColor; ASelected, AFocused: Boolean; var ADone: Boolean);
begin
  if SYSDM.qrySys910.IsEmpty then Exit;
  //1=新消息,2=旧消息
  case SYSDM.qrySys910S910_006.Value of
    1:AFont.Style:=[fsBold];
  else
    AFont.Style:=[];
  end;
end;

procedure TSerW00_01Form.mmiReadedClick(Sender: TObject);
begin
//标识为“已阅读”
  if not SYSDM.qrySys910.Active then Exit;
  if SYSDM.qrySys910.IsEmpty then Exit;
  SYSDM.qrySys910.Edit;
  SYSDM.qrySys910S910_006.Value:=2;
  SYSDM.qrySys910.Post;
end;

procedure TSerW00_01Form.FormShow(Sender: TObject);
begin
  cbTasClass.Left:=lblClass.Left+lblClass.Width+8;
  edtFromDate.Left:=lblDate.Left+lblDate.Width+8;
  edtToDate.Left:=edtFromDate.Left+edtFromDate.Width+8;
end;

procedure TSerW00_01Form.dbgMasterCustomDrawCell(Sender: TObject;
  ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
  AColumn: TdxTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean;
  var AText: String; var AColor: TColor; AFont: TFont;
  var AAlignment: TAlignment; var ADone: Boolean);
begin
  if not AIsColor then Exit;
  if ANode.HasChildren then Exit;
  if not ASelected then
    if ANode.Values[dbgMasterS110_005.Index]<>null then AFont.Color:=ANode.Values[dbgMasterS110_005.Index];
end;

procedure TSerW00_01Form.qrySer500FilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
  if AStringList.Count=0 then Exit;
  Accept:=AStringList.IndexOf(qrySer500.FieldByName('S500_004').AsString)<>-1;
end;

procedure TSerW00_01Form.ReportGetValue(const ParName: String; var ParValue: Variant);
begin
  if ParName='USENM' then ParValue:=AUserName
  else if ParName='PRNDT' then ParValue:=GetDBString('COM00006006')  //列印日期
  else if ParName='PRNNM' then ParValue:=GetDBString('COM00006007')  //列印人員
  else if ParName='REPNM' then ParValue:=AReportTitle
end;

procedure TSerW00_01Form.qrySer500S500_006GetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  if qrySer500.IsEmpty then Exit;
  case Sender.AsInteger of
    0:Text:=AFrom[0];  //电话
    1:Text:=AFrom[1];  //传真
    2:Text:=AFrom[2];  //电邮
    3:Text:=AFrom[3];  //其他
  end;
end;

procedure TSerW00_01Form.qrySer500S500_015GetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  if qrySer500.IsEmpty then Exit;
  case Sender.AsInteger of
    0:Text:=AType[0];  //项目计划
    1:Text:=AType[1];  //任务计划
    2:Text:=AType[2];  //手工输入
  end;
end;

procedure TSerW00_01Form.ActSer600Execute(Sender: TObject);
begin
//客戶调查计划
end;

procedure TSerW00_01Form.ActSer610Execute(Sender: TObject);
begin
//客戶调查维护
end;

procedure TSerW00_01Form.ActSer200Execute(Sender: TObject);
begin
//来电历史查询
  CreateFormInPackage('TSer200_01Form',True);
end;

procedure TSerW00_01Form.ActSer300Execute(Sender: TObject);
begin
//来电记录跟蹤
  CreateFormInPackage('TSer300_01Form',True);
end;

procedure TSerW00_01Form.ActSer310Execute(Sender: TObject);
begin
//客戶投诉跟蹤
  CreateFormInPackage('TSer310_01Form',True);
end;

procedure TSerW00_01Form.ActSer400Execute(Sender: TObject);
begin
//来电数量分析
  CreateFormInPackage('TSer400_01Form',True);
end;

procedure TSerW00_01Form.ActSer410Execute(Sender: TObject);
begin
//月来电量分析
  CreateFormInPackage('TSer410_01Form',True);
end;

procedure TSerW00_01Form.ActSer430Execute(Sender: TObject);
begin
//接听时间分析
  CreateFormInPackage('TSer420_01Form',True);
end;

procedure TSerW00_01Form.ActOpenExecute(Sender: TObject);
var
  ACode:string;
begin
//查看(&N)
  if qrySer500.IsEmpty then Exit;
  ACode:=qrySer500S500_001.Value;
  Screen.Cursor:=crHourGlass;
  Ser500_02Form:=TSer500_02Form.Create(Application);
  Ser500_02Form.OpenData(qrySer500S500_001.Value);
  Screen.Cursor:=crDefault;
  Ser500_02Form.ShowModal;
  sbSearch.Click;
  try
    qrySer500.DisableControls;
    qrySer500.Locate('S500_001',ACode,[]);
    qrySer500.EnableControls;
  except
    qrySer500.EnableControls;
    Abort;
  end;
end;

procedure TSerW00_01Form.ActInsertExecute(Sender: TObject);
var
  ACode:string;
begin
//新增(&A)
  Screen.Cursor:=crHourGlass;
  ACode:=qrySer500S500_001.Value;
  Ser500_02Form:=TSer500_02Form.Create(Application);
  Ser500_02Form.OpenData('');
  Ser500_02Form.ActInsert.Execute;
  Screen.Cursor:=crDefault;
  Ser500_02Form.ShowModal;
  sbSearch.Click;
  try
    qrySer500.DisableControls;
    qrySer500.Locate('S500_001',ACode,[]);
    qrySer500.EnableControls;
  except
    qrySer500.EnableControls;
    Abort;
  end;
end;

procedure TSerW00_01Form.ActUpdateExecute(Sender: TObject);
var
  ACode:string;
begin
//修改(&E)
  if qrySer500.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;

  if qrySer500S500_003.AsInteger<>1 then
  begin
    ShowMsg('UMS10000361');  //不允许修改非受理状态的记录
    Abort;
  end;
  Screen.Cursor:=crHourGlass;
  ACode:=qrySer500S500_001.Value;
  Ser500_02Form:=TSer500_02Form.Create(Application);
  Ser500_02Form.OpenData(qrySer500S500_001.Value);
  Ser500_02Form.ActUpdate.Execute;
  Screen.Cursor:=crDefault;
  Ser500_02Form.ShowModal;
  sbSearch.Click;
  try
    qrySer500.DisableControls;
    qrySer500.Locate('S500_001',ACode,[]);
    qrySer500.EnableControls;
  except
    qrySer500.EnableControls;
    Abort;
  end;
end;

procedure TSerW00_01Form.ActDeleteExecute(Sender: TObject);
var
  ACode:string;
begin
//删除(&D)
  if qrySer500.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;

  //仅状态=受理时可删除
  if qrySer500S500_003.AsInteger<>1 then
  begin
    ShowMsg('UMS10000362');  //不允许删除非受理状态的记录
    Abort;
  end;
  try
    if ShowDialog('UMS10000008')=IDNO then Abort;  //确定要删除此记录吗?
    ACode:=qrySer500S500_001.AsString;
    DeleteTableRecord(qrySer500,'SER500','S500_001='+''''+ACode+'''');
  except
    ShowMsg(SYSDM.ADOC.Errors[0].Description+#13+SYSDM.qryQuery.SQL.Text,1);
    Abort;
  end;
end;

procedure TSerW00_01Form.ActRefreshExecute(Sender: TObject);
begin
//刷新(&R)
  sbSearch.Click;
end;

procedure TSerW00_01Form.ActLocateExecute(Sender: TObject);
begin
//查找(&F)
  if qrySer500.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  LocateDialog(dsSer500);
end;

procedure TSerW00_01Form.ActSearchExecute(Sender: TObject);
begin
//查询(&S)
  SYSDM.wwFilterDialog1.OnSelectField:=FilterDialogSelectField;
  FilterDialog(dsSer500);
end;

procedure TSerW00_01Form.ActPrintExecute(Sender: TObject);
var
  AReportName:string;
begin
//打印(&P)
  AReportName:='SER510.frf';
  SelectReport(qrySer500,AProgramID,AReportName,ReportGetValue);
  ActRefresh.Execute;
end;

procedure TSerW00_01Form.ActExportExecute(Sender: TObject);
begin
//导出数据
  if qrySer500.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  HwExportForm:=THwExportForm.Create(Application);
  HwExportForm.GetDataFields('SER500',qrySer500);
  HwExportForm.ShowModal;
end;

procedure TSerW00_01Form.qrySer500S500_008GetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
var
  ATime:TTime;
  AHour,AMin:Integer;
begin
//来电时间
  if qrySer500.IsEmpty then Exit;
  AHour:=Sender.Value div 60;
  AMin:=Sender.Value-AHour*60;
  ATime:=EncodeTime(AHour,AMin,0,0);
  Text:=FormatDateTime('hh:mm',ATime);
end;

procedure TSerW00_01Form.ActOpenTaskExecute(Sender: TObject);
var
  ACode:string;
begin
//查看任务计划(&T)...
  if qrySer500.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  //判断是否存在任务计划
  ACode:=qrySer500S500_001.Value;
  SYSDM.qryQuery.Close;
  SYSDM.qryQuery.SQL.Clear;
  SYSDM.qryQuery.SQL.Add('select T510_001 from TAS510 where T510_008=1 and T510_009='+''''+ACode+'''');
  SYSDM.qryQuery.Open;
  if SYSDM.qryQuery.IsEmpty then
  begin
    ShowMsg('UMS10000367');  //该来电记录不存在相关的任务计划单
    Abort;
  end;
  ACode:=SYSDM.qryQuery.FieldByName('T510_001').AsString;
  //查看工单
  Screen.Cursor:=crHourGlass;
  Tas510_02Form:=TTas510_02Form.Create(Application);
  Tas510_02Form.OpenData(ACode);
  Screen.Cursor:=crDefault;
  Tas510_02Form.ShowModal;
  try
    ACode:=qrySer500S500_001.Value;
    sbSearch.Click;
    qrySer500.DisableControls;
    qrySer500.Locate('S500_001',ACode,[]);
    qrySer500.EnableControls;
  except
    qrySer500.EnableControls;
    Abort;
  end;
end;

procedure TSerW00_01Form.ActNewTaskExecute(Sender: TObject);
var
  ACode:string;
begin
//新增任务计划(&T)...
  if qrySer500.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  //判断是否为受理状态且有派工要求
  if (qrySer500S500_003.AsInteger<>1) and (qrySer500S500_020.AsBoolean) then
  begin
    ShowMsg('UMS10000368');  //非受理状态或非派工的来电记录不允许建立任务计划
    Abort;
  end;
  //新增任务计划
  ACode:=qrySer500S500_001.AsString;
  Screen.Cursor:=crHourGlass;
  Tas510_02Form:=TTas510_02Form.Create(Application);
  Tas510_02Form.OpenData('');
  Tas510_02Form.ActInsert.Execute;
  Tas510_02Form.edtName.Text:=qrySer500S500_002.Value;
  Tas510_02Form.cbClass.Text:=qrySer500S100_002.Value;
  Tas510_02Form.qryTas100.Locate('T100_002',qrySer500S100_002.Value,[]);
  Tas510_02Form.cbFrom.ItemIndex:=1;   //来源类型=来电记录
  Tas510_02Form.cbFromChange(Tas510_02Form.cbFrom);
  Tas510_02Form.edtOrder.Text:=ACode;
  Tas510_02Form.edtOrderExit(Tas510_02Form.edtOrder);
  Tas510_02Form.edtDate.Date:=qrySer500S500_007.Value;
  Tas510_02Form.edtReqDate.Date:=qrySer500S500_007.Value;
  Tas510_02Form.memDetails.Text:=qrySer500S500_033.Value;
  Screen.Cursor:=crDefault;
  Tas510_02Form.ShowModal;
  try
    ACode:=qrySer500S500_001.Value;
    sbSearch.Click;
    qrySer500.DisableControls;
    qrySer500.Locate('S500_001',ACode,[]);
    qrySer500.EnableControls;
  except
    qrySer500.EnableControls;
    Abort;
  end;
end;

end.

⌨️ 快捷键说明

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