SPMMB02200_임상소견.xfdl 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMB02200" position="absolute 0 0 494 284" titletext="임상소견" oninit="SPMMB02200_oninit" onload="SPMMB02200_onload">
  5. <Layouts>
  6. <Layout>
  7. <Grid position="absolute 0 23 494 259" id="grd_clinccmtlist" binddataset="ds_clinccmtlist" autofittype="col" oncelldblclick="grd_clinccmtlist_oncelldblclick" onrbuttondown="grd_clinccmtlist_onrbuttondown" selecttype="multirow" onenterdown="grd_clinccmtlist_onenterdown">
  8. <Formats>
  9. <Format id="default">
  10. <Columns>
  11. <Column size="35"/>
  12. <Column size="459"/>
  13. </Columns>
  14. <Rows>
  15. <Row size="24" band="head"/>
  16. <Row size="24"/>
  17. </Rows>
  18. <Band id="head">
  19. <Cell/>
  20. <Cell col="1" text="임상소견"/>
  21. </Band>
  22. <Band id="body">
  23. <Cell displaytype="combo" edittype="none" text="bind:status" combodataset="ds_status" combocodecol="value" combodatacol="label"/>
  24. <Cell col="1" displaytype="text" edittype="text" text="bind:etccnts" editimemode="hangul"/>
  25. </Band>
  26. </Format>
  27. </Formats>
  28. </Grid>
  29. <Button position="absolute 440 0 494 20" id="button2" class="btn4" text="저장" onclick="button2_onclick"/>
  30. <Button position="absolute 377 264 433 284" id="button1" class="btn4" text="확인" onclick="button1_onclick"/>
  31. <Button position="absolute 394 0 436 20" id="button37" class="btn2" text="추가" onclick="button37_onclick"/>
  32. <Button position="absolute 437 264 493 284" id="button3" class="btn3" text="취소" onclick="button3_onclick"/>
  33. <PopupMenu id="pmn_menu" innerdataset="@ds_mouserght" idcolumn="func" captioncolumn="label" levelcolumn="level" onmenuclick="pmn_menu_onmenuclick" position="absolute 500 8 600 30"/>
  34. </Layout>
  35. </Layouts>
  36. <Objects>
  37. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  38. <ColumnInfo>
  39. <Column id="cond1" type="STRING" size="256" sumtext="진료과코드"/>
  40. <Column id="cond2" type="STRING" size="256" sumtext="코드종류 (1:병리의뢰지 소견, 2:영상의학 임상소견)"/>
  41. </ColumnInfo>
  42. <Rows>
  43. <Row/>
  44. </Rows>
  45. </Dataset>
  46. <Dataset id="ds_clinccmtlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_clinccmtlist_oncolumnchanged">
  47. <ColumnInfo>
  48. <Column id="status" type="STRING" size="256" sumtext="상태"/>
  49. <Column id="cdkind" type="STRING" size="256" sumtext="코드종류 (1:병리의뢰지 소견, 2:영상의학 임상소견)"/>
  50. <Column id="cdno" type="STRING" size="256" sumtext="코드번호 - 진료과코드, 코드종류별로 코드번호를 생성"/>
  51. <Column id="etccnts" type="STRING" size="256" sumtext="기타내용 (코드종류별 내용)"/>
  52. <Column id="orddeptcd" type="STRING" size="256" sumtext="진료과코드"/>
  53. </ColumnInfo>
  54. </Dataset>
  55. <Dataset id="ds_status" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  56. <ColumnInfo>
  57. <Column id="label" type="STRING" size="256"/>
  58. <Column id="value" type="STRING" size="256"/>
  59. </ColumnInfo>
  60. <Rows>
  61. <Row>
  62. <Col id="label">-</Col>
  63. <Col id="value">-</Col>
  64. </Row>
  65. <Row>
  66. <Col id="label">신규</Col>
  67. <Col id="value">I</Col>
  68. </Row>
  69. <Row>
  70. <Col id="label">수정</Col>
  71. <Col id="value">U</Col>
  72. </Row>
  73. <Row>
  74. <Col id="label">삭제</Col>
  75. <Col id="value">D</Col>
  76. </Row>
  77. </Rows>
  78. </Dataset>
  79. <Dataset id="ds_reset_clinccmtlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  80. <ColumnInfo>
  81. <Column id="status" type="STRING" size="256"/>
  82. <Column id="cdkind" type="STRING" size="256"/>
  83. <Column id="cdno" type="STRING" size="256"/>
  84. <Column id="etccnts" type="STRING" size="256"/>
  85. <Column id="orddeptcd" type="STRING" size="256"/>
  86. </ColumnInfo>
  87. <Rows>
  88. <Row>
  89. <Col id="status">I</Col>
  90. </Row>
  91. </Rows>
  92. </Dataset>
  93. <Dataset id="ds_mouserght" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  94. <ColumnInfo>
  95. <Column id="label" type="STRING" size="256"/>
  96. <Column id="func" type="STRING" size="256"/>
  97. <Column id="level" type="STRING" size="256"/>
  98. </ColumnInfo>
  99. <Rows>
  100. <Row>
  101. <Col id="label">삭제</Col>
  102. <Col id="func">fDeleteRow</Col>
  103. <Col id="level">0</Col>
  104. </Row>
  105. </Rows>
  106. </Dataset>
  107. </Objects>
  108. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  109. * System Name :
  110. * Job Name :
  111. * Creator :
  112. * Make Date : 2014-12-10
  113. * Description :
  114. *---------------------------------------------------------------------------------------
  115. * Modify Date Modifier Modify Description
  116. *---------------------------------------------------------------------------------------
  117. * 2014-12-10 Live Converter TF->XP
  118. *
  119. *---------------------------------------------------------------------------------------
  120. ****************************************************************************************/
  121. include "com_commonxp::comm_main.xjs";
  122. include "emr_prcpmngtxp::MMO001.xjs";
  123. function SPMMB02200_oninit(obj:Form, e:InitEventInfo)
  124. {
  125. frmf_initForm(obj);
  126. }
  127. function SPMMB02200_onload(obj:Form, e:LoadEventInfo)
  128. {
  129. grdf_setToolTipBind(grd_clinccmtlist);
  130. opener.frmf_setParameter ( "SPMMB02200_clinccmt", "" );
  131. if ( opener.frmf_getParameter ( "SPMMB02200_cond2" ) == "3" ) {
  132. grd_clinccmtlist.setCellProperty("head", 1, "text", "전달사항");
  133. titletext = "전달사항";
  134. } else if ( opener.frmf_getParameter ( "SPMMB02200_cond2" ) == "4" ) {
  135. grd_clinccmtlist.setCellProperty("head", 1, "text", "임부금기");
  136. titletext = "임부금기";
  137. } else if ( opener.frmf_getParameter ( "SPMMB02200_cond2" ) == "5" ) {
  138. grd_clinccmtlist.setCellProperty("head", 1, "text", "처방명");
  139. titletext = "처방명 선택";
  140. }
  141. if ( opener.frmf_getParameter ( "SPMMB02200_cond2" ) == "5" ) {
  142. ds_send.setColumn(0, "cond1", "5555555555");
  143. } else {
  144. ds_send.setColumn(0, "cond1", sysf_getUserInfo("dutplcecd"));
  145. }
  146. ds_send.setColumn(0, "cond2", opener.frmf_getParameter ( "SPMMB02200_cond2" ));
  147. var oParam = {};
  148. oParam.id = "TRMMB02211";
  149. oParam.service = "prcpbaseapp.OrdPrcpMngt";
  150. oParam.method = "reqGetClincCmtList";
  151. oParam.inds = "req=ds_send";
  152. oParam.outds = "ds_clinccmtlist=clinccmtlist";
  153. oParam.async = true;
  154. oParam.callback = "cf_TRMMB02211";
  155. tranf_submit(oParam);
  156. }
  157. function cf_TRMMB02211(sSvcId, nErrorCode, sErrorMsg) {
  158. if(nErrorCode < 0) return;
  159. ds_clinccmtlist.rowposition = -1;
  160. }
  161. function ds_clinccmtlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  162. {
  163. var status = obj.getColumn(e.row, "status");
  164. if (status == "-" ) {
  165. obj.setColumn(e.row, "status", "U");
  166. }
  167. }
  168. function grd_clinccmtlist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  169. {
  170. if( e.row < 0 || e.col < 0) return;
  171. if ( ds_clinccmtlist.getColumn(e.row, "status") != "I" ) {
  172. var etccnts = ds_clinccmtlist.getColumn(e.row, "etccnts");
  173. opener.frmf_setParameter ( "SPMMB02200_clinccmt", etccnts);
  174. close();
  175. } else {
  176. sysf_messageBox ( "신규입력은 선택", "E001" );
  177. }
  178. }
  179. function grd_clinccmtlist_onenterdown(obj:Grid, e:GridEditEventInfo)
  180. {
  181. obj.showEditor(false);
  182. }
  183. function grd_clinccmtlist_onrbuttondown(obj:Grid, e:GridMouseEventInfo)
  184. {
  185. if(e.row < 0 || e.col < 0) return;
  186. grdf_setSelectedCell(obj, e);
  187. pmn_menu.trackPopup(e.screenX,e.screenY);
  188. }
  189. function pmn_menu_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo)
  190. {
  191. eval(e.id + "()");
  192. }
  193. function button37_onclick(obj:Button, e:ClickEventInfo)
  194. {
  195. ds_reset_clinccmtlist.setColumn(0, "cdkind", opener.frmf_getParameter ( "SPMMB02200_cond2" ));
  196. if ( opener.frmf_getParameter ( "SPMMB02200_cond2" ) == "5" ) {
  197. ds_reset_clinccmtlist.setColumn(0, "orddeptcd", "5555555555");
  198. } else {
  199. ds_reset_clinccmtlist.setColumn(0, "orddeptcd", sysf_getUserInfo("dutplcecd") );
  200. }
  201. lf_appendChildPrcp ( "ds_reset_clinccmtlist", "ds_clinccmtlist", "main" );
  202. ds_clinccmtlist.rowposition = ds_clinccmtlist.rowcount - 1;
  203. grd_clinccmtlist.setCellPos(1);
  204. grd_clinccmtlist.showEditor(true);
  205. }
  206. function button2_onclick(obj:Button, e:ClickEventInfo)
  207. {
  208. ds_clinccmtlist.applyChange();
  209. var oParam = {};
  210. oParam.id = "TXMMB02211";
  211. oParam.service = "prcpbaseapp.OrdPrcpMngt";
  212. oParam.method = "reqExeSaveClincCmt";
  213. oParam.inds = "clinccmtlist=ds_clinccmtlist";
  214. oParam.outds = "ds_clinccmtlist=clinccmtlist";
  215. oParam.async = false;
  216. tranf_submit(oParam);
  217. ds_clinccmtlist.rowposition = -1;
  218. }
  219. function button1_onclick(obj:Button, e:ClickEventInfo)
  220. {
  221. var currow = ds_clinccmtlist.rowposition;
  222. if( currow >= 0 ) {
  223. if ( ds_clinccmtlist.getColumn(currow, "status" ) != "I" ) {
  224. var etccnts = ds_clinccmtlist.getColumn(currow, "etccnts");
  225. opener.frmf_setParameter ( "SPMMB02200_clinccmt", etccnts );
  226. close();
  227. } else {
  228. sysf_messageBox ( "신규입력은 선택", "E001" );
  229. }
  230. } else {
  231. var message = "";
  232. if ( opener.frmf_getParameter ( "SPMMB02200_cond2" ) == "3" ) {
  233. message = "선택된 전달사항이";
  234. } else if ( opener.frmf_getParameter ( "SPMMB02200_cond2" ) == "2" ) {
  235. message = "선택된 임상소견이";
  236. }
  237. sysf_messageBox ( message, "I004" );
  238. }
  239. }
  240. function button3_onclick(obj:Button, e:ClickEventInfo)
  241. {
  242. close();
  243. }
  244. function fDeleteRow () {
  245. var selectedRows = grdf_getSelectedRows(grd_clinccmtlist);
  246. for (var i = selectedRows.length - 1; i >= 0; i--){
  247. var status = ds_clinccmtlist.getColumn(selectedRows[i], "status");
  248. if (status == "-" || status == "U" ) {
  249. var message = "";
  250. if ( opener.frmf_getParameter ( "SPMMB02200_cond2" ) == "3" ) {
  251. message = "부서전달사항 상용구를";
  252. } else if ( opener.frmf_getParameter ( "SPMMB02200_cond2" ) == "2" ) {
  253. message = "부서임상소견 상용구를";
  254. }
  255. if ( sysf_messageBox ( message, "Q001" ) == "6" ) {
  256. ds_clinccmtlist.setColumn(selectedRows[i], "status", "D");
  257. }
  258. } else if ( status =="I" ){
  259. ds_clinccmtlist.deleteRow(selectedRows[i]);
  260. } else if (status=="D" ) {
  261. ds_clinccmtlist.setColumn(selectedRows[i], "status", "-" );
  262. }
  263. }
  264. }]]></Script>
  265. </Form>
  266. </FDL>