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

📄 tasw00_01.pas.svn-base

📁 一个用Delphi开发的ERP软件
💻 SVN-BASE
📖 第 1 页 / 共 4 页
字号:
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 + -