FindUserFrm.pas 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. {*******************************************************************************
  2. 单元名称: FindUserFrm.pas
  3. 单元说明: 查找审核人。
  4. 作者时间: Chenshilong, 2014-07-11
  5. *******************************************************************************}
  6. unit FindUserFrm;
  7. interface
  8. uses
  9. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  10. Dialogs, JimPages, StdCtrls, cxLookAndFeelPainters, cxButtons,
  11. cxControls, cxContainer, cxEdit, cxTextEdit, ExtCtrls;
  12. type
  13. TFindUserForm = class(TForm)
  14. JimPageControl1: TJimPageControl;
  15. JimPageControl1Page1: TJimPage;
  16. JimPageControl1Page2: TJimPage;
  17. lbl1: TLabel;
  18. lbl2: TLabel;
  19. edtMail: TcxTextEdit;
  20. btnSearch: TcxButton;
  21. pnlUser: TPanel;
  22. bvl1: TBevel;
  23. lbl3: TLabel;
  24. imgUserPic: TImage;
  25. lblUserName: TLabel;
  26. lblUserRole: TLabel;
  27. lblUserCompany: TLabel;
  28. shp2: TShape;
  29. btnAdd: TcxButton;
  30. lblHint: TLabel;
  31. procedure btnSearchClick(Sender: TObject);
  32. procedure FormCreate(Sender: TObject);
  33. procedure edtMailKeyDown(Sender: TObject; var Key: Word;
  34. Shift: TShiftState);
  35. procedure btnAddClick(Sender: TObject);
  36. procedure edtMailClick(Sender: TObject);
  37. private
  38. FProjectData: TObject;
  39. FOwner: TObject;
  40. procedure SetProjectData(const Value: TObject);
  41. procedure SetOwner(const Value: TObject);
  42. { Private declarations }
  43. public
  44. { Public declarations }
  45. property ProjectData: TObject read FProjectData write SetProjectData;
  46. property Owner: TObject read FOwner write SetOwner;
  47. end;
  48. implementation
  49. uses PHPWebDm, ConstUnit, ProjectData, CheckerFme, ProjectFme,
  50. OrderCheckerFme;
  51. {$R *.dfm}
  52. var
  53. UserArr: array of string;
  54. PicPath: string;
  55. procedure TFindUserForm.btnSearchClick(Sender: TObject);
  56. var bUsed, bSelf, bFull: Boolean;
  57. begin
  58. Screen.Cursor := crHourGlass;
  59. try
  60. UserArr := VarArrayOf(['avatar', 'name', 'jobs', 'company', 'uid']);
  61. case PHPWeb.Search(PHPWeb.MeasureURL + 'user/get/search', ['uemail'], [Trim(edtMail.Text)], UserArr) of
  62. 1:
  63. begin
  64. lblHint.Caption := '';
  65. lblUserName.Caption := TOrderCheckerFrame(Owner).IsMe(StrToInt(UserArr[4]), UserArr[1]) ;
  66. lblUserRole.Caption := UserArr[2];
  67. lblUserCompany.Caption := UserArr[3];
  68. PicPath := PHPWeb.UserPath + '1_' + UserArr[4] + '.jpg';
  69. if PHPWeb.DownFile(UserArr[0], PicPath) then
  70. imgUserPic.Picture.LoadFromFile(PicPath);
  71. pnlUser.Visible := True;
  72. bUsed := TCheckerFrame(TOrderCheckerFrame(Owner).Owner).InCheckerList(StrToInt(UserArr[4]));
  73. bSelf := StrToInt(UserArr[4]) = PHPWeb.UserID;
  74. bFull := (TCheckerFrame(TOrderCheckerFrame(Owner).Owner).List.Count >= 15); // AddFrame包含在List.Count中,等效于原报不在List.Count中
  75. btnAdd.Enabled := (not bUsed) and (not bSelf) and (not bFull);
  76. if bFull then
  77. btnAdd.Caption := '限添加14人'
  78. else if bSelf then
  79. btnAdd.Caption := '不能添加自己'
  80. else if bUsed then
  81. btnAdd.Caption := '已使用'
  82. else
  83. btnAdd.Caption := '使用Ta';
  84. end;
  85. -1:
  86. begin
  87. Application.MessageBox(PChar(PHPWeb.NetError('无法查询用户')),
  88. '警告', MB_OK + MB_ICONWARNING);
  89. lblHint.Caption := '没有找到该用户的相关信息!';
  90. pnlUser.Visible := False;
  91. btnAdd.Enabled := False;
  92. Exit;
  93. end;
  94. 0:
  95. begin
  96. Application.MessageBox(PChar(PHPWeb.PageError('无法查询用户' + '[' + UserArr[0] + ']')),
  97. '警告', MB_OK + MB_ICONWARNING);
  98. lblHint.Caption := '没有找到该用户的相关信息!';
  99. pnlUser.Visible := False;
  100. btnAdd.Enabled := False;
  101. Exit;
  102. end;
  103. end;
  104. finally
  105. Screen.Cursor := crDefault;
  106. end;
  107. end;
  108. procedure TFindUserForm.FormCreate(Sender: TObject);
  109. begin
  110. lblHint.Caption := '';
  111. pnlUser.Visible := False;
  112. if G_IsTest then
  113. edtMail.Text := 'sp1@qq.com';
  114. end;
  115. procedure TFindUserForm.edtMailKeyDown(Sender: TObject; var Key: Word;
  116. Shift: TShiftState);
  117. begin
  118. if Key = VK_Return then
  119. btnSearch.Click;
  120. end;
  121. procedure TFindUserForm.btnAddClick(Sender: TObject);
  122. var sURL: string;
  123. vArr: array of string;
  124. vProj: TProjectData;
  125. vOwner: TCheckerFrame;
  126. begin
  127. sURL := PHPWeb.MeasureURL + 'user/add/audit/measure';
  128. vArr := VarArrayOf(['msg']);
  129. vProj := TProjectData(ProjectData);
  130. // 标段ID(网络)、谁添加的、添加的谁、期号
  131. if PHPWeb.Search(sURL, ['pmid', 'creatoruid', 'auditoruid', 'numpname'],
  132. [IntToStr(vProj.WebID), IntToStr(PHPWeb.UserID), UserArr[4],
  133. IntToStr(vProj.PhaseIndex)], vArr) = 1 then
  134. begin
  135. btnAdd.Enabled := False;
  136. btnAdd.Caption := '添加成功';
  137. vOwner := TCheckerFrame(TOrderCheckerFrame(Owner).Owner);
  138. vOwner.AddNewChecker(cftChecker, StrToInt(UserArr[4]), UserArr[1], UserArr[2], UserArr[3], PicPath, '', csNotBegin);
  139. vOwner.RepairOrder;
  140. vOwner.RepairDelete(True);
  141. end;
  142. end;
  143. procedure TFindUserForm.SetProjectData(const Value: TObject);
  144. begin
  145. FProjectData := Value;
  146. end;
  147. procedure TFindUserForm.SetOwner(const Value: TObject);
  148. begin
  149. FOwner := Value;
  150. end;
  151. procedure TFindUserForm.edtMailClick(Sender: TObject);
  152. begin
  153. if G_IsTest then
  154. begin
  155. if edtMail.Text = '1' then
  156. begin
  157. edtMail.Text := '2636698008@qq.com';
  158. end
  159. else if edtMail.Text = '2' then
  160. begin
  161. edtMail.Text := '1971614655@qq.com';
  162. end
  163. else if edtMail.Text = '3' then
  164. begin
  165. edtMail.Text := '1835082984@qq.com';
  166. end
  167. else if edtMail.Text = '4' then
  168. begin
  169. edtMail.Text := '2417587264@qq.com';
  170. end
  171. else if edtMail.Text = '5' then
  172. begin
  173. edtMail.Text := '2609827960@qq.com';
  174. end
  175. else if edtMail.Text = '6' then
  176. begin
  177. edtMail.Text := '1240621850@qq.com';
  178. end
  179. else if edtMail.Text = '7' then
  180. begin
  181. edtMail.Text := '1014149875@qq.com';
  182. end
  183. else if edtMail.Text = '8' then
  184. begin
  185. edtMail.Text := '1525739553@qq.com';
  186. end
  187. else if edtMail.Text = '9' then
  188. begin
  189. edtMail.Text := '1391010261@qq.com';
  190. end
  191. else if edtMail.Text = '10' then
  192. begin
  193. edtMail.Text := '916960227@qq.com';
  194. end;
  195. end;
  196. end;
  197. end.