SMABO02100_BMT진단관리.xrw 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>BMT 기준자료관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <lrglist>
  11. <item>
  12. <hsctlrgcd/>
  13. <hsctlrgnm/>
  14. <icd10/>
  15. <testflag/>
  16. </item>
  17. </lrglist>
  18. <mdllist>
  19. <item>
  20. <hsctmdlcd/>
  21. <hsctmdlnm/>
  22. </item>
  23. </mdllist>
  24. </main>
  25. <send>
  26. <data>
  27. <mdldata/>
  28. <lrgdata/>
  29. </data>
  30. <hsctlrgcd/>
  31. <lrggrupcd/>
  32. </send>
  33. <init>
  34. <testflag>
  35. <item>
  36. <cdnm>진단명</cdnm>
  37. <cdid>DI</cdid>
  38. </item>
  39. <item>
  40. <cdnm>이식 전 검사코드</cdnm>
  41. <cdid>WK</cdid>
  42. </item>
  43. <item>
  44. <cdnm>공통코드</cdnm>
  45. <cdid>CC</cdid>
  46. </item>
  47. </testflag>
  48. </init>
  49. <hidden>
  50. <count/>
  51. </hidden>
  52. </root>
  53. </instance>
  54. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  55. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  56. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  57. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  58. <script type="javascript" src="../../../ast/commonweb/js/AST.js"/>
  59. <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
  60. <script type="javascript" ev:event="xforms-ready">
  61. <![CDATA[
  62. grd_exptdeptlist.colDisabled(1) = true;
  63. grd_exptdeptlist.colDisabled(2) = true;
  64. grd_voldivlist.colDisabled(1) = true;
  65. grd_voldivlist.colDisabled(2) = true;
  66. cmb_lrggrupcd.select(0); //화면 로딩 시 대분류가 자동으로 진단명이 되도록...
  67. submit("TRABO02101"); //진단명 대분류 조회
  68. //타부서에서는 버튼 비활성화
  69. btn_save.disabled = !checkAuth("X");
  70. model.refresh();
  71. ]]>
  72. </script>
  73. <script type="javascript">
  74. <![CDATA[
  75. /* @group : BMT 진단관리
  76. * @ver : 2008.09.29
  77. * @by : 김은지
  78. * @type : function
  79. * @access : public
  80. * @desc :
  81. * @param : 코드 변경 사항을 저장(추가, 수정 삭제)
  82. */
  83. function fSaveData(){
  84. //대분류, 중분류 코드 변경 사항
  85. model.setValue("/root/send/data/lrgdata", grd_exptdeptlist.getUpdateData());
  86. model.setValue("/root/send/data/mdldata",grd_voldivlist.getUpdateData());
  87. // var nodelist = instance1.selectNodes("/root/send/data/lrgdata");
  88. // for(var i = 1; i <= nodelist.length; i++){
  89. // if(model.getValue("/root/send/data/lrgdata[" + i + "]/m") == "i" ){
  90. // alert(model.getValue("/root/send/data/lrgdata[" + i + "]/m"), model.getValue("/root/send/data/lrgdata[" + i + "]/hsctlrgcd") );
  91. // if(model.getValue("/root/send/data/lrgdata[" + i + "]/hsctlrgcd") == "" ){
  92. // messageBox("대분류코드는 필수 입력사항 입니다.", "E999", "");
  93. // return false;
  94. // }
  95. // }
  96. // alert(model.getValue("/root/send/data/lrgdata[" + i + "]/m"), model.getValue("/root/send/data/lrgdata[" + i + "]/hsctlrgcd") );
  97. // if(model.getValue("/root/send/data/mdldata[" + i + "]/m") != "" && model.getValue("/root/send/data/mdldata[" + i + "]/hsctmdlcd") == "" ){
  98. // messageBox("중분류코드는 필수 입력사항 입니다.", "E999", "");
  99. // return false;
  100. // }
  101. //
  102. // }
  103. submit("TXABO02101"); //대분류 저장
  104. submit("TXABO02102"); //소분류 저장
  105. submit("TRABO02101"); //대분류 재조회
  106. submit("TRABO02102"); //소분류 재조회
  107. }
  108. /* @group : BMT 진단관리
  109. * @ver : 2009.02.06
  110. * @by : 박상환
  111. * @type : function
  112. * @access : public
  113. * @desc :
  114. * @param : 진단코드 팝업으로 연결
  115. */
  116. function fExeDiagPopup() {
  117. var sNode = "/root/main/lrglist/item["+ grd_exptdeptlist.row +"]";
  118. var sDiagNm = model.getValue(sNode+"/icd10");
  119. var sDiagInfo = "";
  120. var status = grd_exptdeptlist.rowStatus(grd_exptdeptlist.row);
  121. //--------------------------------------------
  122. // 영문,숫자, 한글일때는 3글자 넣어야 검색가능
  123. if ( sDiagNm.length < 2 ) {
  124. messageBox ( "2글자 이상", "C001" );
  125. return;
  126. }
  127. //-----------------------------------------
  128. setParameter("SPMMO00800_cond1", "2" ); // 첫단어검색을 먼저하는 것으로 수정한다.(1:코드검색)
  129. setParameter("SPMMO00800_cond2", "4"); // 명칭검색구분(1:코드, 2:단어, 3:문장, 4:첫단어)
  130. setParameter("SPMMO00800_cond3", "E" ); // 한영구분(H: 한글, E:영문)
  131. setParameter("SPMMO00800_cond4", getCurrentDate()); // 기준일자: 외래일때는 진료일자, 입원일때는 처방일자
  132. setParameter("SPMMO00800_cond5", sDiagNm ); // 검색내용
  133. setParameter("SPMMO00800_rtn", "" ); // 반환값
  134. setParameter("SPMMO00800_rtn_useyn", "N" ); // 검색내용
  135. modal ( "SPMMO00800", null, null, null, "diagsrch", "", "", "", false );
  136. if ( getParameter( "SPMMO00800_rtn_useyn" ) == "Y" ) {
  137. //-----------------------------------------
  138. sDiagInfo = getParameter("SPMMO00800_rtn");
  139. var icd10cd = fExeGetArrayData( sDiagInfo, 1, 8, "▩", "▦" );
  140. var diagcd = fExeGetArrayData( sDiagInfo, 1, 9, "▩", "▦" );
  141. var diagengnm = fExeGetArrayData( sDiagInfo, 1, 2, "▩", "▦" );
  142. var diaghngnm = fExeGetArrayData( sDiagInfo, 1, 3, "▩", "▦" );
  143. var spclinfo = fExeGetArrayData( sDiagInfo, 1, 5, "▩", "▦" );
  144. //-------------------------------------------
  145. // model.makeValue(sNode+"/diagcnts", diagengnm);
  146. model.setValue("/root/main/lrglist/item["+ grd_exptdeptlist.row +"]/icd10" , diagcd);
  147. if(grd_exptdeptlist.rowStatus(grd_exptdeptlist.row) != "1" ){
  148. grd_exptdeptlist.rowStatus(grd_exptdeptlist.row) = 2 ;
  149. }
  150. //-----------------------------------------
  151. setParameter( "SPMMO00800_rtn_useyn", "" );
  152. // setParameter("SPMMO00800_cond1", "" );
  153. // setParameter("SPMMO00800_cond2", "");
  154. // setParameter("SPMMO00800_cond3", "" );
  155. // setParameter("SPMMO00800_cond4", "");
  156. // setParameter("SPMMO00800_cond5", "" );
  157. setParameter("SPMMO00800_rtn", "" );
  158. }
  159. grd_exptdeptlist.rowStatus(grd_exptdeptlist.row) = status ;
  160. //--------------
  161. model.refresh();
  162. }
  163. /* @group : BMT 진단관리
  164. * @ver : 2009.02.06
  165. * @by : 박상환
  166. * @type : function
  167. * @access : public
  168. * @desc :
  169. * @param : 반환된 코드값 처리
  170. */
  171. function fExeGetArrayData (pData, pRow, pCol, pRowSep, pColSep ) {
  172. var arrRow = pData.split(pRowSep);
  173. if(arrRow.length <= pRow) return "";
  174. var arrCol = arrRow[pRow].split(pColSep);
  175. if(arrCol.length <= pCol) return "";
  176. return arrCol[pCol];
  177. }
  178. ]]>
  179. </script>
  180. <submission id="TRABO02101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/lrglist"/>
  181. <submission id="TRABO02102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/mdllist"/>
  182. <submission id="TXABO02101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/count"/>
  183. <submission id="TXABO02102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/count"/>
  184. </model>
  185. </xhtml:head>
  186. <xhtml:body guideline="1,1194;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  187. <group id="group1" style="left:0px; top:0px; width:1194px; height:13px; ">
  188. <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:130px; height:13px; ">BMT 기준자료관리</caption>
  189. </group>
  190. <group id="group3" scroll="auto" style="left:0px; top:40px; width:1194px; height:744px; ">
  191. <caption id="caption2" class="tit_2" style="left:575px; top:10px; width:144px; height:14px; ">중분류</caption>
  192. <caption id="caption4" class="tit_2" style="left:10px; top:10px; width:144px; height:14px; ">대분류</caption>
  193. <caption id="caption5" class="cell_1" style="left:635px; top:275px; width:85px; height:23px; vertical-align:middle; ">분할코드내역</caption>
  194. <line id="line1" class="line_1" style="x1:570px; y1:25px; x2:1185px; y2:25px; "/>
  195. <line id="line2" class="line_1" style="x1:5px; y1:25px; x2:565px; y2:25px; "/>
  196. <line id="line4" class="line_3" style="x1:5px; y1:742px; x2:1185px; y2:742px; "/>
  197. <datagrid id="grd_exptdeptlist" nodeset="/root/main/lrglist/item" visibility="visible" caption="대분류코드^대분류명^진단코드^진단코드^testflag" colsep="^" colwidth="110, 327, 100, 25, 100" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:5px; top:30px; width:560px; height:710px; ">
  198. <col ref="hsctlrgcd" type="input" _key="true"/>
  199. <col ref="hsctlrgnm" type="input"/>
  200. <col ref="icd10" type="inputbutton"/>
  201. <col class="icon_search" type="output" visibility="hidden"/>
  202. <col ref="testflag" visibility="hidden"/>
  203. <script type="javascript" ev:event="onclick">
  204. <![CDATA[
  205. if(grd_exptdeptlist.row > 0 && grd_exptdeptlist.col < 3){ //그리드 헤더 제외
  206. model.setValue("/root/send/hsctlrgcd",model.getValue("/root/main/lrglist/item["+ grd_exptdeptlist.row+"]/hsctlrgcd"));
  207. submit("TRABO02102"); //해당 대분류 코드 그룹에 대한 소분류를 조회
  208. }
  209. if(grd_exptdeptlist.col >= 3 && grd_exptdeptlist.col < 4 ){
  210. grd_exptdeptlist.editCell();
  211. model.removeNodeset("/root/main/mdllist/item");
  212. model.refresh();
  213. }
  214. // if(grd_exptdeptlist.col >= 4 ){
  215. // model.removeNodeset("/root/main/mdllist/item");
  216. //
  217. // setParameter("SPMMO03100_openflag", "ocs");
  218. // setParameter("SPMMO03100_prcpdd", model.getValue ( "/root/init/prcpdd" ));
  219. // fPrcpModal ("SPMMO03100", 5, 40);
  220. // if ( getParameter( "SPMMO03100_rtn_useyn" ) == "Y" ) {
  221. // addDiagSetValue (getParameter( "SPMMO03100_rtn" ));
  222. // setParameter( "SPMMO03100_rtn_useyn", "" );
  223. // }
  224. // model.recalculate();
  225. // model.refresh();
  226. // }
  227. ]]>
  228. </script>
  229. <script type="javascript" ev:event="onaftersort">
  230. <![CDATA[
  231. grd_exptdeptlist.gridToInstance(); //정렬 후 인스턴스 재구성
  232. ]]>
  233. </script>
  234. <script type="javascript" ev:event="onbuttonclick">
  235. <![CDATA[
  236. fExeDiagPopup();
  237. model.refresh();
  238. ; ]]>
  239. </script>
  240. </datagrid>
  241. <datagrid id="grd_voldivlist" nodeset="/root/main/mdllist/item" visibility="visible" caption="중분류코드^중분류명" colsep="^" colwidth="100, 467" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:570px; top:30px; width:615px; height:710px; ">
  242. <col ref="hsctmdlcd" type="input"/>
  243. <col ref="hsctmdlnm" type="input"/>
  244. <script type="javascript" ev:event="onaftersort">
  245. <![CDATA[
  246. grd_exptdeptlist.gridToInstance();
  247. ]]>
  248. </script>
  249. </datagrid>
  250. <button id="btn_grdadd1" class="btn2_letter3" style="left:455px; top:5px; width:53px; height:19px; ">
  251. <caption>행추가</caption>
  252. <script type="javascript" ev:event="DOMActivate">
  253. <![CDATA[
  254. grd_exptdeptlist.addItem();
  255. ]]>
  256. </script>
  257. </button>
  258. <button id="btn_grddel1" class="btn2_letter3" style="left:511px; top:5px; width:53px; height:19px; ">
  259. <caption>행삭제</caption>
  260. <script type="javascript" ev:event="DOMActivate">
  261. <![CDATA[
  262. if ( messageBox("코드가 삭제 됩니다.", "Q003") != 6 ) {
  263. return false;
  264. }
  265. grd_exptdeptlist.addStatus(grd_exptdeptlist.row,"delete");
  266. ]]>
  267. </script>
  268. </button>
  269. <button id="btn_grdadd2" class="btn2_letter3" style="left:1075px; top:5px; width:53px; height:19px; ">
  270. <caption>행추가</caption>
  271. <script type="javascript" ev:event="DOMActivate">
  272. <![CDATA[
  273. grd_voldivlist.addItem();
  274. ]]>
  275. </script>
  276. </button>
  277. <button id="btn_grddel2" class="btn2_letter3" style="left:1131px; top:5px; width:53px; height:19px; ">
  278. <caption>행삭제</caption>
  279. <script type="javascript" ev:event="DOMActivate">
  280. <![CDATA[
  281. if ( messageBox("코드가 삭제 됩니다.", "Q003") != 6 ) {
  282. return false;
  283. }
  284. grd_voldivlist.addStatus(grd_voldivlist.row,"delete");
  285. ]]>
  286. </script>
  287. </button>
  288. <select1 id="cmb_lrggrupcd" ref="/root/send/lrggrupcd" class="combo_essential" appearance="minimal" style="left:75px; top:5px; width:125px; height:19px; ">
  289. <choices>
  290. <itemset nodeset="/root/init/testflag/item">
  291. <label ref="cdnm"/>
  292. <value ref="cdid"/>
  293. </itemset>
  294. </choices>
  295. <script type="javascript" ev:event="xforms-value-changed">
  296. <![CDATA[
  297. if(model.getValue("/root/send/lrggrupcd") == "CC" || model.getValue("/root/send/lrggrupcd") == "WK") {
  298. btn_grdadd1.disabled = true;
  299. //공콩코드와 이식전 검사코드는 대분명을 변경할 수 있음.
  300. grd_exptdeptlist.colDisabled(2) = false;
  301. // 진단코드컬럼 숨기기
  302. grd_exptdeptlist.colHidden(3) = true;
  303. grd_exptdeptlist.colWidth(2) = 427;
  304. //이식전 검사코드는 중분류코드를 수정할 수 있도록 수정.
  305. if(model.getValue("/root/send/lrggrupcd") == "WK") {
  306. grd_voldivlist.colDisabled(2) = false;
  307. } else {
  308. grd_voldivlist.colDisabled(2) = true;
  309. }
  310. } else if(model.getValue("/root/send/lrggrupcd") == "DI") {
  311. btn_grdadd1.disabled = false;
  312. //진단명은 대분류명 변경 불가.
  313. grd_exptdeptlist.colDisabled(2) = true;
  314. // 진단코드컬럼 보이기
  315. grd_exptdeptlist.colHidden(3) = false;
  316. grd_exptdeptlist.colWidth(2) = 327;
  317. }
  318. submit("TRABO02101"); //대분류 조회
  319. model.resetInstanceNode("/root/main/mdllist/item");
  320. grd_voldivlist.refresh();
  321. ]]>
  322. </script>
  323. </select1>
  324. </group>
  325. <group id="group4" scroll="auto" style="left:0px; top:13px; width:1194px; height:27px; ">
  326. <button id="btn_save" class="btn4_letter2" style="left:1129px; top:5px; width:56px; height:22px; ">
  327. <caption>저장</caption>
  328. <script type="javascript" ev:event="DOMActivate">
  329. <![CDATA[
  330. fSaveData();
  331. ]]>
  332. </script>
  333. </button>
  334. </group>
  335. </xhtml:body>
  336. </xhtml:html>