SPPMI02400_환자상세전화번호.xfdl 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPPMI02400" position="absolute 0 0 587 290" titletext="Untitle" onload="SPPMI02400_onload">
  5. <Layouts>
  6. <Layout>
  7. <Button position="absolute 528 5 581 24" id="button4" class="btn2" text="행삭제" onclick="button4_onclick"/>
  8. <Static id="caption1" text="환자상세정보" class="tit_2" position="absolute 5 7 108 24"/>
  9. <Shape id="line1" class="line_1" position="absolute 0 25 581 31" style="strokepen:3 solid #33bbbbff;"/>
  10. <Shape id="line2" linetype="vertical" class="line_2" position="absolute 0 49 581 55"/>
  11. <Static id="caption4" text="등록번호" class="cell_1" position="absolute 0 30 85 53"/>
  12. <Static id="caption2" text="환자성명" class="cell_1" position="absolute 203 30 297 53"/>
  13. <Static id="caption3" text="성별/나이" class="cell_1" position="absolute 415 30 489 53"/>
  14. <Button id="button3" taborder="2" text="행추가" class="btn2" position="absolute 416 5 469 24" onclick="button3_onclick"/>
  15. <Button id="button5" taborder="3" text="행삽입" class="btn2" position="absolute 472 5 525 24" onclick="button5_onclick"/>
  16. <Grid id="grd_patinfolist" taborder="4" binddataset="ds_main_grdpatdetlinfo" useinputpanel="false" position="absolute 0 57 581 263" onkeydown="grd_patinfolist_onkeydown" autoenter="select" cellclickbound="cell">
  17. <Formats>
  18. <Format id="default">
  19. <Columns>
  20. <Column size="25"/>
  21. <Column size="78"/>
  22. <Column size="104"/>
  23. <Column size="375"/>
  24. <Column size="0"/>
  25. </Columns>
  26. <Rows>
  27. <Row size="24" band="head"/>
  28. <Row size="24"/>
  29. </Rows>
  30. <Band id="head">
  31. <Cell/>
  32. <Cell col="1" text="관계"/>
  33. <Cell col="2" text="전화번호"/>
  34. <Cell col="3" text="특기사항"/>
  35. <Cell col="4" text="순서"/>
  36. </Band>
  37. <Band id="body">
  38. <Cell celltype="head"/>
  39. <Cell col="1" displaytype="combo" edittype="combo" style="padding:0 0 0 4;" text="bind:patrela" combodataset="ds_init_P0016list" combocodecol="cdid" combodatacol="cdnm"/>
  40. <Cell col="2" displaytype="text" edittype="text" style="padding:0 0 0 4;" text="bind:tel"/>
  41. <Cell col="3" displaytype="text" edittype="text" style="padding:0 0 0 4;" text="bind:etcremfact"/>
  42. <Cell col="4" text="bind:seqno"/>
  43. </Band>
  44. </Format>
  45. </Formats>
  46. </Grid>
  47. <Edit id="output1" taborder="5" readonly="true" position="absolute 300 32 412 51" style="background:#f2f2f2ff stretch 5,5;border:1 solid #808080ff ;"/>
  48. <Edit id="output2" taborder="6" readonly="true" position="absolute 492 32 535 51" style="background:#f2f2f2ff stretch 5,5;border:1 solid #808080ff ;"/>
  49. <Edit id="output3" taborder="7" readonly="true" position="absolute 538 32 581 51" style="background:#f2f2f2ff stretch 5,5;border:1 solid #808080ff ;"/>
  50. <Edit id="output4" taborder="8" readonly="true" position="absolute 88 32 200 51" style="background:#f2f2f2ff stretch 5,5;border:1 solid #808080ff ;"/>
  51. <Button id="button1" taborder="9" text="저장" class="btn4" position="absolute 466 268 522 290" onclick="button1_onclick"/>
  52. <Button id="button2" taborder="10" text="닫기" class="btn4" position="absolute 525 268 581 290" onclick="button2_onclick"/>
  53. <Shape id="line5" class="line_6" position="absolute 0 262 581 268"/>
  54. </Layout>
  55. </Layouts>
  56. <Objects>
  57. <Dataset id="ds_main_grdpatdetlinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  58. <ColumnInfo>
  59. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  60. <Column id="patrela" type="STRING" size="256" sumtext="관계"/>
  61. <Column id="tel" type="STRING" size="256" sumtext="전화번호"/>
  62. <Column id="etcremfact" type="STRING" size="256" sumtext="특이사항"/>
  63. <Column id="seqno" type="INT" size="256" sumtext="일련번호"/>
  64. </ColumnInfo>
  65. </Dataset>
  66. <Dataset id="ds_init_P0016list" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  67. <ColumnInfo>
  68. <Column id="cdid" type="STRING" size="256"/>
  69. <Column id="cdnm" type="STRING" size="256"/>
  70. </ColumnInfo>
  71. </Dataset>
  72. <Dataset id="ds_main_ptbs" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  73. <ColumnInfo>
  74. <Column id="ptbs_pid" type="STRING" size="256"/>
  75. <Column id="ptbs_hngnm" type="STRING" size="256"/>
  76. <Column id="ptbs_sex" type="STRING" size="256"/>
  77. <Column id="ptbs_age" type="STRING" size="256"/>
  78. </ColumnInfo>
  79. <Rows>
  80. <Row>
  81. <Col id="ptbs_pid"/>
  82. <Col id="ptbs_hngnm"/>
  83. <Col id="ptbs_sex"/>
  84. <Col id="ptbs_age"/>
  85. </Row>
  86. </Rows>
  87. </Dataset>
  88. <Dataset id="ds_tmp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  89. <Dataset id="ds_send_pdtt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  90. <ColumnInfo>
  91. <Column id="pid" type="STRING" size="256"/>
  92. </ColumnInfo>
  93. <Rows>
  94. <Row/>
  95. </Rows>
  96. </Dataset>
  97. <Dataset id="ds_send_data2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  98. <ColumnInfo>
  99. <Column id="grd_pdtt" type="STRING" size="256"/>
  100. </ColumnInfo>
  101. <Rows>
  102. <Row/>
  103. </Rows>
  104. </Dataset>
  105. </Objects>
  106. <Bind>
  107. <BindItem id="item0" compid="output4" propid="value" datasetid="ds_main_ptbs" columnid="ptbs_pid"/>
  108. <BindItem id="item1" compid="output1" propid="value" datasetid="ds_main_ptbs" columnid="ptbs_hngnm"/>
  109. <BindItem id="item2" compid="output2" propid="value" datasetid="ds_main_ptbs" columnid="ptbs_sex"/>
  110. <BindItem id="item3" compid="output3" propid="value" datasetid="ds_main_ptbs" columnid="ptbs_age"/>
  111. </Bind>
  112. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  113. * System Name :
  114. * Job Name :
  115. * Creator :
  116. * Make Date : 2016-05-24
  117. * Description :
  118. *---------------------------------------------------------------------------------------
  119. * Modify Date Modifier Modify Description
  120. *---------------------------------------------------------------------------------------
  121. * 2016-05-24 Live Converter TF->XP
  122. *
  123. *---------------------------------------------------------------------------------------
  124. ****************************************************************************************/
  125. //=======================================================================================
  126. // Lib Include
  127. //---------------------------------------------------------------------------------------
  128. include 'com_commonxp::comm_main.xjs';
  129. var arErrorCode = new HashArray();
  130. //=======================================================================================
  131. // Local methods
  132. //---------------------------------------------------------------------------------------
  133. /****************************************************************************************
  134. * Argument :
  135. * Description :
  136. ****************************************************************************************/
  137. function fPatTelInfoRef(){
  138. var pid = utlf_transNullToEmpty(ds_send_data1.getColumn(0, 'pid'));
  139. ds_main_ptbs.setColumn(0, 'ptbs_pid', pid);
  140. if(pid == '' || pid == ' '){
  141. sysf_messagBox('환자번호가', 'I004');
  142. return false;
  143. }
  144. else{
  145. dsf_createDsRow('ds_req', [{ col: 'pid', type: 'string', size: 256, val: pid }], false);
  146. ds_main_ptbs.clearData();
  147. ds_main_ptbs.addRow();
  148. ds_main_grdpatdetlinfo.clearData();
  149. ds_main_grdpatdetlinfo.addRow();
  150. var oParam = {};
  151. oParam.id = "TRPMI02401";
  152. oParam.service = "ipatmngtapp.InRgst";
  153. oParam.method = "reqGetPatTelInfo";
  154. oParam.inds = "req=ds_req";
  155. oParam.outds = "ds_main_ptbs=ptbs ds_main_grdpatdetlinfo=grdpatdetlinfo";
  156. oParam.async = false;
  157. //oParam.callback = "callback";
  158. tranf_submit(oParam);
  159. dsf_copyDsWithPrefix(ds_tmp, ds_main_ptbs, 'ptbs_');
  160. ds_main_ptbs.copyData(ds_tmp, true);
  161. }
  162. }
  163. /****************************************************************************************
  164. * Argument :
  165. * Description : fPatTelInfoRef
  166. ****************************************************************************************/
  167. function fPatTelInfoRef(){
  168. ds_main_ptbs.setColumn(0, 'ptbs_pid', arg_ds_send_data1.getColumn(0, 'pid'));
  169. var pid = utlf_transNullToEmpty(ds_main_ptbs.getColumn(0, 'ptbs_pid'));
  170. if(pid == '' || pid == ' '){
  171. sysf_messageBox('환자번호가', 'I004');
  172. return false;
  173. }
  174. else{
  175. dsf_createDsRow('ds_req', [{ col: 'pid', type: 'string', size: 256, val: pid }], false);
  176. ds_main_ptbs.clearData();
  177. ds_main_ptbs.addRow();
  178. ds_main_grdpatdetlinfo.clearData();
  179. ds_main_grdpatdetlinfo.addRow();
  180. var oParam = {};
  181. oParam.id = "TRPMI02401";
  182. oParam.service = "ipatmngtapp.InRgst";
  183. oParam.method = "reqGetPatTelInfo";
  184. oParam.inds = "req=ds_req";
  185. oParam.outds = "ds_main_ptbs=ptbs ds_main_grdpatdetlinfo=grdpatdetlinfo";
  186. oParam.async = false;
  187. //oParam.callback = "callback";
  188. tranf_submit(oParam);
  189. dsf_copyDsWithPrefix(ds_tmp, ds_main_ptbs, 'ptbs_');
  190. ds_main_ptbs.copyData(ds_tmp, true);
  191. }
  192. }
  193. //=======================================================================================
  194. // callback
  195. //---------------------------------------------------------------------------------------
  196. function callback(sSvcId, nErrorCode, sErrorMsg){
  197. arErrorCode.push(sSvcId, nErrorCode);
  198. }
  199. //=======================================================================================
  200. // Events
  201. //---------------------------------------------------------------------------------------
  202. /****************************************************************************************
  203. * Argument :
  204. * Description : onload
  205. ****************************************************************************************/
  206. function SPPMI02400_onload(obj:Form, e:LoadEventInfo){
  207. frmf_initForm(obj);
  208. if(frmf_checkOpener()){
  209. ds_tmp.copyData(arg_ds_send_data1);
  210. }
  211. appf_getCodeList([{ dsNm: 'ds_init_P0016list', cdGrpId: 'P0016' }]);
  212. dsf_addDsItem(ds_init_P0016list, 'cdid', 'cdnm', ' ', ' ', 'above');
  213. fPatTelInfoRef();
  214. grdf_setRowTypeIcon(grd_patinfolist, 0);
  215. }
  216. /****************************************************************************************
  217. * Argument :
  218. * Description : 행추가 버튼 클릭
  219. ****************************************************************************************/
  220. function button3_onclick(obj:Button, e:ClickEventInfo){
  221. ds_main_grdpatdetlinfo.addRow();
  222. // 행추가, 행삽입 버튼 클릭시 셀 단위로 선택할 수 있도록 변경. 입력시 방향키로 이동 함.
  223. }
  224. /****************************************************************************************
  225. * Argument :
  226. * Description : 행추가 버튼 클릭
  227. ****************************************************************************************/
  228. function button5_onclick(obj:Button, e:ClickEventInfo){
  229. ds_main_grdpatdetlinfo.insertRow(grd_patinfolist.currentRow);
  230. }
  231. /****************************************************************************************
  232. * Argument :
  233. * Description : 행삭제 버튼 클릭
  234. ****************************************************************************************/
  235. function button4_onclick(obj:Button, e:ClickEventInfo){
  236. ds_main_grdpatdetlinfo.deleteRow(grd_patinfolist.currentRow);
  237. }
  238. /****************************************************************************************
  239. * Argument :
  240. * Description : 그리드 키보드 입력 이벤트
  241. ****************************************************************************************/
  242. function grd_patinfolist_onkeydown(obj:Grid, e:KeyEventInfo){
  243. if(e.keycode == 13){
  244. obj.moveToNextCell();
  245. }
  246. }
  247. /****************************************************************************************
  248. * Argument :
  249. * Description : 저장 버튼 클릭 이벤트
  250. ****************************************************************************************/
  251. function button1_onclick(obj:Button, e:ClickEventInfo){
  252. // var updated = grdf_getGridUpdateData(grd_patinfolist, 'all');
  253. // grdf_setStatusColumn(updated, 'status');
  254. var updchk = ds_send_data2.getColumn(0, 'grd_pdtt');
  255. if(updated == '' || updated == ' '){
  256. sysf_messageBox('변경사항이', 'I004');
  257. return false;
  258. }
  259. else{
  260. ds_send_pdtt.setColumn(0, 'pid', ds_main_ptbs.getColumn(0, 'ptbs_pid'));
  261. var updated = grdf_getGridUpdateData(grd_patinfolist, 'all');
  262. grdf_setStatusColumn(updated, 'status');
  263. var oParam = {};
  264. oParam.id = "TXPMI02401";
  265. oParam.service = "ipatmngtapp.InRgst";
  266. oParam.method = "reqExeInRgstPatInfo";
  267. oParam.inds = "grd_pdtt=updated s_pdtt=ds_send_pdtt";
  268. oParam.outds = "";
  269. oParam.async = false;
  270. //oParam.callback = "cf_TXPMI02401";
  271. tranf_submit(oParam);
  272. fPatTelInfoRef();
  273. }
  274. }
  275. /****************************************************************************************
  276. * Argument :
  277. * Description : 닫기 버튼 클릭 이벤트
  278. ****************************************************************************************/
  279. function button2_onclick(obj:Button, e:ClickEventInfo){
  280. this.close();
  281. }
  282. ]]></Script>
  283. </Form>
  284. </FDL>