📄 serw00_01.pas.svn-base
字号:
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 + -