📄 tasw00_01.pas.svn-base
字号:
end;
procedure TTasW00_01Form.tvReportsDblClick(Sender: TObject);
begin
if adsReports.IsEmpty then Exit;
CreateFormInPackage('T'+adsReports.FieldByName('Code').Value+'_01Form',True);
end;
procedure GetStatusList(var AStringList:TStrings);
begin
if AStringList=nil then Exit;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select * from TAS120');
SYSDM.qryQuery.Open;
while not SYSDM.qryQuery.Eof do
begin
AStringList.Add(SYSDM.qryQuery.FieldByName('T120_003').Value);
SYSDM.qryQuery.Next;
end;
end;
procedure TTasW00_01Form.FilterDialogSelectField(Sender: TObject;
FieldName: String; var PictureMask: String; ComboList: TStrings);
begin
if FieldName='T120_003' then GetStatusList(ComboList);
end;
procedure TTasW00_01Form.tvListsGetImageIndex(Sender: TObject;
Node: TTreeNode);
begin
if Node.HasChildren then
begin
Node.ImageIndex:=0;
Node.SelectedIndex:=0;
end else
begin
Node.ImageIndex:=1;
Node.SelectedIndex:=1;
end;
end;
procedure TTasW00_01Form.tvListsDblClick(Sender: TObject);
begin
//类别选择
if tvLists.Items.Count=0 then Exit;
if tvLists.Selected=tvLists.Items.GetFirstNode then
begin
LockWindowUpdate(tvLists.Handle);
//取得所有任务类别
GetAllTasksClass(adsLists,cbTasClass);
sbSearch.Click;
LockWindowUpdate(0);
end else
begin
tvLists.Items.BeginUpdate;
tvLists.Items[0].Expand(True);
tvLists.Items.EndUpdate;
cbTasClass.ItemIndex:=cbTasClass.Items.IndexOf(adsListsName.Value);
cbTasClassChange(cbTasClass);
end;
end;
procedure TTasW00_01Form.cbTasClassChange(Sender: TObject);
begin
sbSearch.Click;
end;
procedure TTasW00_01Form.dbgMasterDblClick(Sender: TObject);
begin
//查看
ActOpen.Execute;
end;
procedure TTasW00_01Form.qryTas510T510_008GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
if qryTas510.IsEmpty then Exit;
case Sender.AsInteger of
0:Text:=AType[0]; //销售订单
1:Text:=AType[1]; //来电记录
2:Text:=AType[2]; //项目计划
3:Text:=AType[3]; //手工输入
end;
end;
procedure TTasW00_01Form.qryTas510T510_011GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
if qryTas510.IsEmpty then Exit;
case Sender.AsInteger of
0:Text:=AUnit[0]; //时
1:Text:=AUnit[1]; //天
2:Text:=AUnit[2]; //周
3:Text:=AUnit[3]; //月
end;
end;
procedure TTasW00_01Form.ActTas110Execute(Sender: TObject);
begin
//原因資料维护
CreateFormInPackage('TTas110_01Form',True);
end;
procedure TTasW00_01Form.ActTas300Execute(Sender: TObject);
begin
//项目计划跟踪
CreateFormInPackage('TTas300_01Form',True);
end;
procedure TTasW00_01Form.ActTas200Execute(Sender: TObject);
begin
//拖期任务报告
CreateFormInPackage('TTas200_01Form',True);
end;
procedure TTasW00_01Form.ActTas400Execute(Sender: TObject);
begin
//服务数量分析
CreateFormInPackage('TTas400_01Form',True);
end;
procedure TTasW00_01Form.ActTas410Execute(Sender: TObject);
begin
//月任务量分析
CreateFormInPackage('TTas410_01Form',True);
end;
procedure TTasW00_01Form.ActTas420Execute(Sender: TObject);
begin
//项目数量分析
CreateFormInPackage('TTas420_01Form',True);
end;
procedure TTasW00_01Form.ActTas430Execute(Sender: TObject);
begin
//完成时间分析
CreateFormInPackage('TTas430_01Form',True);
end;
procedure TTasW00_01Form.ActTas440Execute(Sender: TObject);
begin
//未完任務分析
CreateFormInPackage('TTas440_01Form',True);
end;
procedure TTasW00_01Form.ActTas450Execute(Sender: TObject);
begin
//服務客户數量
CreateFormInPackage('TTas450_01Form',True);
end;
procedure TTasW00_01Form.ActTas460Execute(Sender: TObject);
begin
//资源使用分析
CreateFormInPackage('TTas460_01Form',True);
end;
procedure TTasW00_01Form.ActTas470Execute(Sender: TObject);
begin
//員工績效分析
CreateFormInPackage('TTas470_01Form',True);
end;
procedure TTasW00_01Form.ActInv120Execute(Sender: TObject);
begin
//料品分类维护
CreateFormInPackage('TInv120_01Form',True);
end;
procedure TTasW00_01Form.ActInv140Execute(Sender: TObject);
begin
//计量单位维护
CreateFormInPackage('TInv140_01Form',True);
end;
procedure TTasW00_01Form.ActInv150Execute(Sender: TObject);
begin
//料品资料维护
CreateFormInPackage('TInv150_01Form',True);
end;
procedure TTasW00_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 TTasW00_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 TTasW00_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 TTasW00_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[dbgMasterT120_005.Index]<>null then AFont.Color:=ANode.Values[dbgMasterT120_005.Index];
end;
procedure TTasW00_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
else if ParName='AType' then ParValue:=lblClass.Caption //类别
else if ParName='ATypeValue' then ParValue:=cbTasClass.Text //
else if ParName='ADate' then ParValue:=lblDate.Caption //日期
else if ParName='AFromDate' then ParValue:=edtFromDate.Text //
else if ParName='AToDate' then ParValue:=edtToDate.Text //
else if ParName='T510_001' then ParValue:=qryTas510T510_001.DisplayLabel //
else if ParName='T510_002' then ParValue:=qryTas510T510_002.DisplayLabel //
else if ParName='T120_003' then ParValue:=qryTas510T120_003.DisplayLabel //
else if ParName='T510_006' then ParValue:=qryTas510T510_006.DisplayLabel //
else if ParName='O150_002' then ParValue:=qryTas510O150_002.DisplayLabel //
else if ParName='O150_003' then ParValue:=qryTas510O150_003.DisplayLabel //
else if ParName='I150_002' then ParValue:=qryTas510I150_002.DisplayLabel //
else if ParName='T510_018' then ParValue:=qryTas510T510_018.DisplayLabel //
end;
procedure TTasW00_01Form.ActTas210Execute(Sender: TObject);
begin
//工作报告查询
CreateFormInPackage('TTas210_01Form',True);
end;
procedure TTasW00_01Form.ActTas220Execute(Sender: TObject);
begin
//机床病历查询
CreateFormInPackage('TTas220_01Form',True);
end;
procedure TTasW00_01Form.ActOpenExecute(Sender: TObject);
var
ACode:string;
begin
//查看(&N)
if qryTas510.IsEmpty then Exit;
Screen.Cursor:=crHourGlass;
ACode:=qryTas510T510_001.Value;
Tas510_02Form:=TTas510_02Form.Create(Application);
Tas510_02Form.OpenData(qryTas510T510_001.Value);
Screen.Cursor:=crDefault;
Tas510_02Form.ShowModal;
sbSearch.Click;
try
qryTas510.DisableControls;
qryTas510.Locate('T510_001',ACode,[]);
qryTas510.EnableControls;
except
qryTas510.EnableControls;
Abort;
end;
end;
procedure TTasW00_01Form.ActInsertExecute(Sender: TObject);
var
ACode:string;
begin
//新增(&A)
try
Screen.Cursor:=crHourGlass;
ACode:=qryTas510T510_001.AsString;
Tas510_02Form:=TTas510_02Form.Create(Application);
Tas510_02Form.OpenData('');
Tas510_02Form.ActInsert.Execute;
Tas510_02Form.ShowModal;
sbSearch.Click;
qryTas510.DisableControls;
qryTas510.Locate('T510_001',ACode,[]);
qryTas510.EnableControls;
finally
qryTas510.EnableControls;
Screen.Cursor:=crDefault;
end;
end;
procedure TTasW00_01Form.ActUpdateExecute(Sender: TObject);
var
ACode:string;
begin
//修改(&E)
if qryTas510.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
if qryTas510T510_003.AsInteger in [2,3,4] then
begin
ShowMsg('UMS10000311'); //不允许修改执行、完成、返工状态的记录
Abort;
end;
try
Screen.Cursor:=crHourGlass;
ACode:=qryTas510T510_001.AsString;
Tas510_02Form:=TTas510_02Form.Create(Application);
Tas510_02Form.OpenData(qryTas510T510_001.Value);
Tas510_02Form.ActUpdate.Execute;
Screen.Cursor:=crDefault;
Tas510_02Form.ShowModal;
sbSearch.Click;
qryTas510.DisableControls;
qryTas510.Locate('T510_001',ACode,[]);
qryTas510.EnableControls;
finally
qryTas510.EnableControls;
Screen.Cursor:=crDefault;
end;
end;
procedure TTasW00_01Form.ActDeleteExecute(Sender: TObject);
var
ATypeNo:Integer;
AOrderID,ACode:string;
begin
//删除(&D)
if qryTas510.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
//仅状态=计划时可删除
if qryTas510T510_003.AsInteger<>1 then
begin
ShowMsg('UMS10000263'); //不允许删除非计划状态的记录
Abort;
end;
try
Screen.Cursor:=crHourGlass;
ATypeNo:=qryTas510.FieldByName('T510_008').AsInteger;
AOrderID:=qryTas510.FieldByName('T510_009').AsString;
ACode:=qryTas510T510_001.Value;
if ShowDialog('UMS10000008')=IDNO then Abort; //确定要删除此记录吗?
try
DeleteTableRecord(qryTas510,'TAS510','T510_001='+''''+ACode+'''');
ActRefresh.Execute;
//更新来源单据的相关字段
case ATypeNo of
0:UpdateOrderInfo(AOrderID,1); //销售定单
1:UpdateCallInfo(AOrderID,1); //来电记录
2:UpdateProjectInfo(AOrderID); //项目计划
end;
except
ShowMsg(SYSDM.ADOC.Errors[0].Description+#13+SYSDM.qryQuery.SQL.Text,1);
Abort;
end;
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TTasW00_01Form.ActRefreshExecute(Sender: TObject);
begin
//刷新(&R)
sbSearch.Click;
end;
procedure TTasW00_01Form.ActLocateExecute(Sender: TObject);
begin
//查找(&F)
if qryTas510.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
try
Screen.Cursor:=crHourGlass;
LocateDialog(dsTas510);
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TTasW00_01Form.ActSearchExecute(Sender: TObject);
begin
//查询(&S)
try
Screen.Cursor:=crHourGlass;
SYSDM.wwFilterDialog1.OnSelectField:=FilterDialogSelectField;
FilterDialog(dsTas510);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -