SMRAH04100_프로젝트진행사항.xfdl 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRAH04100" position="absolute 0 0 619 300" titletext="프로젝트 진행사항" oninit="SMRAH04100_oninit" onload="SMRAH04100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="프로젝트 진행사항" class="tit_1" position="absolute 0 0 157 25"/>
  8. <Shape id="line2" linetype="horizontal" class="line_6" position="absolute 0 38 615 44"/>
  9. <Button id="btn_save" taborder="1" text="저장" class="btn4" enable="false" position="absolute 501 18 557 40" onclick="btn_save_onclick"/>
  10. <Button id="btn_close" taborder="2" text="닫기" class="btn4" position="absolute 559 18 615 40" onclick="btn_close_onclick"/>
  11. <Button id="btn_delete" taborder="3" text="삭제" class="btn4" enable="false" position="absolute 443 18 499 40" onclick="btn_delete_onclick"/>
  12. <Shape id="line1" class="line_10" position="absolute 0 58 615 64"/>
  13. <Shape id="line13" linetype="horizontal" class="line_2" position="absolute 1 84 613 90"/>
  14. <Static id="caption20" text="보고서" class="tit_2" position="absolute 1 42 122 58"/>
  15. <Static id="cap_matrcd" text="프로젝트 번호" class="cell_1" position="absolute 0 63 90 86"/>
  16. <Static id="cap_matrnm" text="프로젝트 명" class="cell_1" position="absolute 0 88 90 111"/>
  17. <Shape id="line4" linetype="horizontal" class="line_2" position="absolute 1 109 613 115"/>
  18. <Static id="caption25" text="보고내용" class="cell_1" position="absolute 0 138 90 202"/>
  19. <Shape id="line7" linetype="horizontal" class="line_2" position="absolute 1 200 613 206"/>
  20. <Shape id="line20" linetype="horizontal" class="line_2" position="absolute 1 134 613 140"/>
  21. <Static id="caption11" text="보고일자" class="cell_1" position="absolute 0 113 90 136"/>
  22. <Static id="caption1" text="보고자" class="cell_1" position="absolute 295 113 385 136"/>
  23. <TextArea id="txt_reptcontext" taborder="4" enable="false" position="absolute 93 140 615 198"/>
  24. <Edit id="ipt_prjtuser" taborder="5" class="input_default" enable="false" position="absolute 389 115 430 134" onkeyup="ipt_prjtuser_onkeyup"/>
  25. <Button id="btn_prjtuser" taborder="6" class="icon_search" visible="false" position="absolute 530 118 546 134" onclick="btn_prjtuser_onclick"/>
  26. <Edit id="ipt_prjtusernm" taborder="7" class="input_default" enable="false" position="absolute 431 115 526 134" onkeyup="ipt_prjtusernm_onkeyup"/>
  27. <Calendar id="ipt_reptdd" taborder="8" class="input_default" enable="false" position="absolute 94 115 201 134"/>
  28. <Edit id="opt_prjtsqno" taborder="9" readonly="true" position="absolute 94 65 145 84"/>
  29. <Edit id="opt_prjttitle" taborder="10" readonly="true" position="absolute 94 90 615 109"/>
  30. <TextArea id="txt_comtcontext" taborder="11" enable="false" position="absolute 93 206 615 264"/>
  31. <Static id="caption2" text="관리자&#13;&#10;comment" class="cell_1" position="absolute 0 204 90 268"/>
  32. <Shape id="line3" linetype="horizontal" class="line_2" position="absolute 1 266 613 272"/>
  33. </Layout>
  34. </Layouts>
  35. <Objects>
  36. <Dataset id="ds_main_condition" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  37. <ColumnInfo>
  38. <Column id="status" type="STRING" size="256"/>
  39. <Column id="instcd" type="STRING" size="256"/>
  40. <Column id="prjtsqno" type="STRING" size="256"/>
  41. <Column id="reptdd" type="STRING" size="256"/>
  42. <Column id="reptuser" type="STRING" size="256"/>
  43. <Column id="prjttitle" type="STRING" size="256"/>
  44. </ColumnInfo>
  45. <Rows>
  46. <Row/>
  47. </Rows>
  48. </Dataset>
  49. <Dataset id="ds_main_reptinfo_detail" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  50. <ColumnInfo>
  51. <Column id="status" type="STRING" size="256"/>
  52. <Column id="instcd" type="STRING" size="256"/>
  53. <Column id="prjtsqno" type="STRING" size="256"/>
  54. <Column id="prjttitle" type="STRING" size="256"/>
  55. <Column id="reptdd" type="STRING" size="256"/>
  56. <Column id="reptuser" type="STRING" size="256"/>
  57. <Column id="reptusernm" type="STRING" size="256"/>
  58. <Column id="reptcontext" type="STRING" size="256"/>
  59. <Column id="comtcontext" type="STRING" size="256"/>
  60. <Column id="prjtuser" type="STRING" size="256"/>
  61. <Column id="prjtmanager" type="STRING" size="256"/>
  62. <Column id="old_reptdd" type="STRING" size="256"/>
  63. </ColumnInfo>
  64. <Rows>
  65. <Row>
  66. <Col id="status"/>
  67. <Col id="instcd"/>
  68. <Col id="prjtsqno"/>
  69. <Col id="prjttitle"/>
  70. <Col id="reptdd"/>
  71. <Col id="reptuser"/>
  72. <Col id="reptusernm"/>
  73. <Col id="reptcontext"/>
  74. <Col id="comtcontext"/>
  75. <Col id="prjtuser"/>
  76. <Col id="prjtmanager"/>
  77. <Col id="old_reptdd"/>
  78. </Row>
  79. </Rows>
  80. </Dataset>
  81. </Objects>
  82. <Bind>
  83. <BindItem id="item0" compid="opt_prjtsqno" propid="value" datasetid="ds_main_reptinfo_detail" columnid="prjtsqno"/>
  84. <BindItem id="item1" compid="opt_prjttitle" propid="value" datasetid="ds_main_reptinfo_detail" columnid="prjttitle"/>
  85. <BindItem id="item2" compid="ipt_reptdd" propid="value" datasetid="ds_main_reptinfo_detail" columnid="reptdd"/>
  86. <BindItem id="item3" compid="ipt_prjtuser" propid="value" datasetid="ds_main_reptinfo_detail" columnid="reptuser"/>
  87. <BindItem id="item4" compid="ipt_prjtusernm" propid="value" datasetid="ds_main_reptinfo_detail" columnid="reptusernm"/>
  88. <BindItem id="item5" compid="txt_reptcontext" propid="value" datasetid="ds_main_reptinfo_detail" columnid="reptcontext"/>
  89. <BindItem id="item6" compid="txt_comtcontext" propid="value" datasetid="ds_main_reptinfo_detail" columnid="comtcontext"/>
  90. </Bind>
  91. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  92. * System Name :
  93. * Job Name :
  94. * Creator :
  95. * Make Date : 2017-06-19
  96. * Description :
  97. *---------------------------------------------------------------------------------------
  98. * Modify Date Modifier Modify Description
  99. *---------------------------------------------------------------------------------------
  100. * 2017-06-19 Live Converter TF->XP
  101. *
  102. *---------------------------------------------------------------------------------------
  103. ****************************************************************************************/
  104. include "com_commonxp::comm_main.xjs";
  105. include "mis_miscommonxp::MIS.xjs";
  106. include "mis_miscommonxp::RAC001.xjs";
  107. include "mis_miscommonxp::RSZ001.xjs";
  108. include "mis_humtrafactmngtxp::RPB001.xjs";
  109. var A;
  110. function SMRAH04100_oninit(obj:Form, e:InitEventInfo)
  111. {
  112. frmf_initForm(obj);
  113. }
  114. function SMRAH04100_onload(obj:Form, e:LoadEventInfo)
  115. {
  116. try
  117. {
  118. ds_main_condition.copyData(arg_ds_popdata);
  119. }catch(e){}
  120. fOpenForm();
  121. }
  122. //화면 로드시 초기화 함수
  123. function fOpenForm()
  124. {
  125. if(ds_main_condition.getColumn(0, "status") == "u") //u: 수정mode
  126. {
  127. fGetReptInfo(); //프로젝트 정보 조회
  128. //본인이 보고자이면 보고일자, 보고내용을 수정, 삭제가 가능하다.
  129. if(ds_main_reptinfo_detail.getColumn(0, "reptuser") == sysf_getUserInfo("userid"))
  130. {
  131. btn_delete.enable = true;
  132. btn_save.enable = true;
  133. ipt_reptdd.enable = true;
  134. txt_reptcontext.enable = true;
  135. }
  136. //본인이 담당자이면
  137. if(ds_main_reptinfo_detail.getColumn(0, "prjtuser") == sysf_getUserInfo("userid"))
  138. {
  139. }
  140. //본인이 관리자이면 comment를 작성 가능하다.
  141. if(ds_main_reptinfo_detail.getColumn(0, "prhtmanager") == sysf_getUserInfo("userid"))
  142. {
  143. btn_save.enable = true;
  144. txt_comtcontext.enable = true;
  145. }
  146. }
  147. else //i: 입력 mode
  148. {
  149. ds_main_reptinfo_detail.setColumn(0, "status", "i"); //i: 입력 mode
  150. ds_main_reptinfo_detail.setColumn(0, "instcd", ds_main_condition.getColumn(0, "instcd"));
  151. ds_main_reptinfo_detail.setColumn(0, "prjtsqno", ds_main_condition.getColumn(0, "prjtsqno"));
  152. ds_main_reptinfo_detail.setColumn(0, "prjttitle", ds_main_condition.getColumn(0, "prjttitle"));
  153. ds_main_reptinfo_detail.setColumn(0, "reptdd", utlf_getCurrentDate());
  154. ds_main_reptinfo_detail.setColumn(0, "reptuser", sysf_getUserInfo("userid"));
  155. ds_main_reptinfo_detail.setColumn(0, "reptusernm", sysf_getUserInfo("usernm"));
  156. //입력mode에는 누구나 입력 가능
  157. btn_save.enable = true;
  158. ipt_reptdd.enable = true;
  159. txt_reptcontext.enable = true;
  160. //본인이 관리자이면 comment도 입력 가능토록
  161. if(ds_main_reptinfo_detail.getColumn(0, "prjtmanager") == sysf_getUserInfo("userid"))
  162. {
  163. txt_comtcontext.enable = true;
  164. }
  165. }
  166. }
  167. function btn_delete_onclick(obj:Button, e:ClickEventInfo)
  168. {
  169. if(sysf_messageBox("보고서를 삭제하시겠습니까? ", "Q999", "") != 6) return;
  170. ds_main_reptinfo_detail.setColumn(0, "status", "d"); //d: 삭제 mode
  171. if(fClickSaveBtn())
  172. {
  173. this.close();
  174. }
  175. }
  176. // 저장버튼 클릭시 저장 수행 함수
  177. function fClickSaveBtn()
  178. {
  179. var oParam = {};
  180. oParam.id = "TXRAH04101";
  181. oParam.service = "acntknuhapp.Acntknuh";
  182. oParam.method = "reqExeSaveReptInfo";
  183. oParam.inds = "req=ds_main_reptinfo_detail";
  184. oParam.outds = "";
  185. oParam.async = false;
  186. oParam.callback = "cf_TXRAH04101";
  187. tranf_submit(oParam);
  188. return A;
  189. }
  190. function cf_TXRAH04101(sSvcId, nErrorCode, sErrorMsg)
  191. {
  192. if(nErrorCode < 0)
  193. {
  194. A = false;
  195. }
  196. else
  197. {
  198. this.opener.ds_popdata.setColumn(0, "workflag", "Y");
  199. A = true;
  200. }
  201. }
  202. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  203. {
  204. if(fClickSaveBtn())
  205. {
  206. this.close();
  207. }
  208. }
  209. function btn_close_onclick(obj:Button, e:ClickEventInfo)
  210. {
  211. this.close();
  212. }
  213. function btn_prjtuser_onclick(obj:Button, e:ClickEventInfo)
  214. {
  215. var recv_list = "prjtuser,prjtusernm";
  216. rpbfOpenPopUpList("SPRPB00101", ipt_prjtuser, recv_list,"","","","emplno,emplnm");
  217. }
  218. function ipt_prjtuser_onkeyup(obj:Edit, e:KeyEventInfo)
  219. {
  220. if(e.keycode == 13)
  221. {
  222. if(!utlf_isNull(ipt_prjtuser.text))
  223. {
  224. inputEnterKey("ipt_prjtuser", "xforms-value-changed");
  225. }
  226. }
  227. }
  228. function ipt_prjtusernm_onkeyup(obj:Edit, e:KeyEventInfo)
  229. {
  230. if(e.keycode == 13)
  231. {
  232. if(!utlf_isNull(ipt_prjtusernm.text))
  233. {
  234. inputEnterKey("ipt_prjtusernm", "xforms-value-changed");
  235. }
  236. }
  237. }
  238. ]]></Script>
  239. </Form>
  240. </FDL>