123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219 |
- {*******************************************************************************
- 单元名称: FindUserFrm.pas
- 单元说明: 查找审核人。
- 作者时间: Chenshilong, 2014-07-11
- *******************************************************************************}
- unit FindUserFrm;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, JimPages, StdCtrls, cxLookAndFeelPainters, cxButtons,
- cxControls, cxContainer, cxEdit, cxTextEdit, ExtCtrls;
- type
- TFindUserForm = class(TForm)
- JimPageControl1: TJimPageControl;
- JimPageControl1Page1: TJimPage;
- JimPageControl1Page2: TJimPage;
- lbl1: TLabel;
- lbl2: TLabel;
- edtMail: TcxTextEdit;
- btnSearch: TcxButton;
- pnlUser: TPanel;
- bvl1: TBevel;
- lbl3: TLabel;
- imgUserPic: TImage;
- lblUserName: TLabel;
- lblUserRole: TLabel;
- lblUserCompany: TLabel;
- shp2: TShape;
- btnAdd: TcxButton;
- lblHint: TLabel;
- procedure btnSearchClick(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- procedure edtMailKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure btnAddClick(Sender: TObject);
- procedure edtMailClick(Sender: TObject);
- private
- FProjectData: TObject;
- FOwner: TObject;
- procedure SetProjectData(const Value: TObject);
- procedure SetOwner(const Value: TObject);
- { Private declarations }
- public
- { Public declarations }
- property ProjectData: TObject read FProjectData write SetProjectData;
- property Owner: TObject read FOwner write SetOwner;
- end;
- implementation
- uses PHPWebDm, ConstUnit, ProjectData, CheckerFme, ProjectFme,
- OrderCheckerFme;
- {$R *.dfm}
- var
- UserArr: array of string;
- PicPath: string;
- procedure TFindUserForm.btnSearchClick(Sender: TObject);
- var bUsed, bSelf, bFull: Boolean;
- begin
- Screen.Cursor := crHourGlass;
- try
- UserArr := VarArrayOf(['avatar', 'name', 'jobs', 'company', 'uid']);
- case PHPWeb.Search(PHPWeb.MeasureURL + 'user/get/search', ['uemail'], [Trim(edtMail.Text)], UserArr) of
- 1:
- begin
- lblHint.Caption := '';
- lblUserName.Caption := TOrderCheckerFrame(Owner).IsMe(StrToInt(UserArr[4]), UserArr[1]) ;
- lblUserRole.Caption := UserArr[2];
- lblUserCompany.Caption := UserArr[3];
- PicPath := PHPWeb.UserPath + '1_' + UserArr[4] + '.jpg';
- if PHPWeb.DownFile(UserArr[0], PicPath) then
- imgUserPic.Picture.LoadFromFile(PicPath);
- pnlUser.Visible := True;
- bUsed := TCheckerFrame(TOrderCheckerFrame(Owner).Owner).InCheckerList(StrToInt(UserArr[4]));
- bSelf := StrToInt(UserArr[4]) = PHPWeb.UserID;
- bFull := (TCheckerFrame(TOrderCheckerFrame(Owner).Owner).List.Count >= 15); // AddFrame包含在List.Count中,等效于原报不在List.Count中
- btnAdd.Enabled := (not bUsed) and (not bSelf) and (not bFull);
- if bFull then
- btnAdd.Caption := '限添加14人'
- else if bSelf then
- btnAdd.Caption := '不能添加自己'
- else if bUsed then
- btnAdd.Caption := '已使用'
- else
- btnAdd.Caption := '使用Ta';
- end;
- -1:
- begin
- Application.MessageBox(PChar(PHPWeb.NetError('无法查询用户')),
- '警告', MB_OK + MB_ICONWARNING);
- lblHint.Caption := '没有找到该用户的相关信息!';
- pnlUser.Visible := False;
- btnAdd.Enabled := False;
- Exit;
- end;
- 0:
- begin
- Application.MessageBox(PChar(PHPWeb.PageError('无法查询用户' + '[' + UserArr[0] + ']')),
- '警告', MB_OK + MB_ICONWARNING);
- lblHint.Caption := '没有找到该用户的相关信息!';
- pnlUser.Visible := False;
- btnAdd.Enabled := False;
- Exit;
- end;
- end;
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- procedure TFindUserForm.FormCreate(Sender: TObject);
- begin
- lblHint.Caption := '';
- pnlUser.Visible := False;
- if G_IsTest then
- edtMail.Text := 'sp1@qq.com';
- end;
- procedure TFindUserForm.edtMailKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- begin
- if Key = VK_Return then
- btnSearch.Click;
- end;
- procedure TFindUserForm.btnAddClick(Sender: TObject);
- var sURL: string;
- vArr: array of string;
- vProj: TProjectData;
- vOwner: TCheckerFrame;
- begin
- sURL := PHPWeb.MeasureURL + 'user/add/audit/measure';
- vArr := VarArrayOf(['msg']);
- vProj := TProjectData(ProjectData);
- // 标段ID(网络)、谁添加的、添加的谁、期号
- if PHPWeb.Search(sURL, ['pmid', 'creatoruid', 'auditoruid', 'numpname'],
- [IntToStr(vProj.WebID), IntToStr(PHPWeb.UserID), UserArr[4],
- IntToStr(vProj.PhaseIndex)], vArr) = 1 then
- begin
- btnAdd.Enabled := False;
- btnAdd.Caption := '添加成功';
- vOwner := TCheckerFrame(TOrderCheckerFrame(Owner).Owner);
- vOwner.AddNewChecker(cftChecker, StrToInt(UserArr[4]), UserArr[1], UserArr[2], UserArr[3], PicPath, '', csNotBegin);
- vOwner.RepairOrder;
- vOwner.RepairDelete(True);
- end;
- end;
- procedure TFindUserForm.SetProjectData(const Value: TObject);
- begin
- FProjectData := Value;
- end;
- procedure TFindUserForm.SetOwner(const Value: TObject);
- begin
- FOwner := Value;
- end;
- procedure TFindUserForm.edtMailClick(Sender: TObject);
- begin
- if G_IsTest then
- begin
- if edtMail.Text = '1' then
- begin
- edtMail.Text := '2636698008@qq.com';
- end
- else if edtMail.Text = '2' then
- begin
- edtMail.Text := '1971614655@qq.com';
- end
- else if edtMail.Text = '3' then
- begin
- edtMail.Text := '1835082984@qq.com';
- end
- else if edtMail.Text = '4' then
- begin
- edtMail.Text := '2417587264@qq.com';
- end
- else if edtMail.Text = '5' then
- begin
- edtMail.Text := '2609827960@qq.com';
- end
- else if edtMail.Text = '6' then
- begin
- edtMail.Text := '1240621850@qq.com';
- end
- else if edtMail.Text = '7' then
- begin
- edtMail.Text := '1014149875@qq.com';
- end
- else if edtMail.Text = '8' then
- begin
- edtMail.Text := '1525739553@qq.com';
- end
- else if edtMail.Text = '9' then
- begin
- edtMail.Text := '1391010261@qq.com';
- end
- else if edtMail.Text = '10' then
- begin
- edtMail.Text := '916960227@qq.com';
- end;
- end;
- end;
- end.
|