SMMNW10600_Todo기준자료관리.xrw 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  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>간호 ALIAS 관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <prcpinfo>
  11. <prcplist>
  12. <check/>
  13. <prcpcd/>
  14. <prcpnm/>
  15. </prcplist>
  16. <todoprcplist>
  17. <check/>
  18. <prcpcd/>
  19. <prcpnm/>
  20. <alias/>
  21. <stat/>
  22. <baseflag/>
  23. <bloodyn/>
  24. </todoprcplist>
  25. </prcpinfo>
  26. </main>
  27. <send>
  28. </send>
  29. <temp>
  30. <prcpclscd/>
  31. <prcpflag>C</prcpflag>
  32. <prcpcode/>
  33. <baseflag>C</baseflag>
  34. </temp>
  35. <init>
  36. <prcpcdinfo>
  37. <prcpclscdlist>
  38. <cdid/>
  39. <cdnm/>
  40. </prcpclscdlist>
  41. </prcpcdinfo>
  42. </init>
  43. </root>
  44. </instance>
  45. <submission id="TRMNW10601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/prcpcdinfo"/>
  46. <submission id="TRMNW10602" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/prcpinfo"/>
  47. <submission id="TXMNW10601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send"/>
  48. <script type="javascript" ev:event="xforms-ready">
  49. <![CDATA[
  50. //20090728 김홍점 추가 진통제마스터코드 추가
  51. var mParam = getScreenMenuParameter();
  52. model.removenode("/root/send");
  53. model.removenodeset("/root/init/prcpcdinfo/prcpclscdlist" );
  54. model.removeNodeset("/root/main/prcpinfo/prcplist");
  55. model.removeNodeset("/root/main/prcpinfo/todoprcplist");
  56. //20090728 김홍점 추가 진통제마스터코드 추가
  57. if ( mParam == "NARC" ){
  58. model.makeValue("/root/send/narcflag","Y");
  59. document.title = "마약성 진통제 관리";
  60. model.setValue("/root/temp/baseflag","G");//mnwmactb.baseflag
  61. grd_todoprcplist.colHidden( grd_todoprcplist.colRef("bloodyn") )= true;
  62. grd_todoprcplist.colHidden( grd_todoprcplist.colRef("prnyn") )= false;
  63. }else{
  64. grd_todoprcplist.colHidden( grd_todoprcplist.colRef("bloodyn") )= false;
  65. grd_todoprcplist.colHidden( grd_todoprcplist.colRef("prnyn") )= true;
  66. }
  67. submit("TRMNW10601");
  68. model.setValue("/root/temp/prcpclscd","-");
  69. combo1.refresh();
  70. model.setFocus("ipt_prcp");
  71. ]]>
  72. </script>
  73. </model>
  74. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  75. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  76. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  77. <script type="javascript">
  78. <![CDATA[
  79. function fSerch(pFlag){//"CUD" : 저장후 조회시
  80. var todoNodeList = instance1.selectNodes("/root/main/prcpinfo/todoprcplist[stat = 'i' or stat = 'u' or stat = 'd']");
  81. if (pFlag != "CUD" && todoNodeList != null && todoNodeList.length > 0 ){
  82. var returnMsg = messageBox("저장하지 않은 기준자료가 존재합니다. 무시하고 ", "Q003");// 계속 진행하시겠습니까?
  83. if ( returnMsg != 6 ) {
  84. return;
  85. }
  86. }
  87. if(combo1.value == "-"){
  88. if (model.getvalue("/root/temp/prcpcode").length < 2) {
  89. messageBox("2자리 이상 ","C001");
  90. model.setFocus("ipt_prcp");
  91. return;
  92. }else{
  93. model.removenode("/root/send");
  94. model.makeValue("/root/send/prcpclscd",model.getValue("/root/temp/prcpclscd"));
  95. model.makeValue("/root/send/prcpflag" ,model.getValue("/root/temp/prcpflag"));
  96. model.makeValue("/root/send/baseflag" ,model.getValue("/root/temp/baseflag"));
  97. model.makeValue("/root/send/prcpcode" ,model.getValue("/root/temp/prcpcode"));
  98. model.removenodeset("/root/main/prcpinfo/prcplist" );
  99. model.removenodeset("/root/main/prcpinfo/todoprcplistt" );
  100. model.refresh();
  101. submit("TRMNW10602");
  102. for(var i = 1 ; i < grd_todoprcplist.rows ; i++ ){
  103. grd_todoprcplist.cellStyle("background-image", i,0) = "../../../com/commonweb/images/icon_n.gif";
  104. }
  105. model.refresh();
  106. }
  107. }else{
  108. model.removenode("/root/send");
  109. model.makeValue("/root/send/prcpclscd",model.getValue("/root/temp/prcpclscd"));
  110. model.makeValue("/root/send/prcpflag" ,model.getValue("/root/temp/prcpflag"));
  111. model.makeValue("/root/send/baseflag" ,model.getValue("/root/temp/baseflag"));
  112. model.makeValue("/root/send/prcpcode" ,model.getValue("/root/temp/prcpcode"));
  113. model.removenodeset("/root/main/prcpinfo/prcplist" );
  114. model.removenodeset("/root/main/prcpinfo/todoprcplistt" );
  115. model.refresh();
  116. submit("TRMNW10602");
  117. for(var i = 1 ; i < grd_todoprcplist.rows ; i++ ){
  118. grd_todoprcplist.cellStyle("background-image", i,0) = "../../../com/commonweb/images/icon_n.gif";
  119. }
  120. model.refresh();
  121. }
  122. }
  123. ]]>
  124. </script>
  125. </xhtml:head>
  126. <xhtml:body style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
  127. <group id="group1" scroll="auto" style="left:0px; top:15px; width:900px; height:744px; ">
  128. <line id="line2" class="line_1" style="x1:0px; y1:59px; x2:890px; y2:60px; "/>
  129. <button id="btn_prcpins" class="btn5_letter2" style="left:849px; top:39px; width:42px; height:19px; ">
  130. <caption>저장</caption>
  131. <script type="javascript" ev:event="DOMActivate">
  132. <![CDATA[
  133. //if(messageBox("","Q002") != 6) return;
  134. var todoNodeList = instance1.selectNodes("/root/main/prcpinfo/todoprcplist[bloodyn = 'N']");
  135. var statNodeList = instance1.selectNodes(xTodoPath + "[stat = 'i' or stat = 'u' or stat = 'd']");
  136. if( combo1.value == "B4" && todoNodeList != null && todoNodeList.length > 0 ){
  137. messageBox("처방분류가 수혈인 처방은 TODO 기준자료로 저장 할수 없습니다. 혈액여부를 ","C002"); //선택하십시오
  138. return;
  139. } else if (statNodeList != null && statNodeList.length > 0){
  140. messageBox("저장할 항목이 존재하지 ","I011");//않습니다
  141. return;
  142. } else {
  143. if(messageBox("","Q002") != 6) return;
  144. }
  145. var xTodoPath = "/root/main/prcpinfo/todoprcplist";
  146. var sTodoData =
  147. "prcpcd"
  148. + "▦prcpnm"
  149. + "▦alias"
  150. + "▦stat"
  151. + "▦bloodyn"
  152. + "▦prnyn"
  153. + "▦baseflag"
  154. + "▩" ;
  155. for (i=1;i <= grd_todoprcplist.rows ; i++ ) {
  156. if ( model.getValue(xTodoPath + "["+ i + "]/stat") == "i"
  157. || model.getValue(xTodoPath + "["+ i + "]/stat") == "u"
  158. || model.getValue(xTodoPath + "["+ i + "]/stat") == "d"
  159. ){
  160. sTodoData +=
  161. model.getValue(xTodoPath + "["+ i + "]/prcpcd" )
  162. + "▦" + model.getValue(xTodoPath + "["+ i + "]/prcpnm" )
  163. + "▦" + model.getValue(xTodoPath + "["+ i + "]/alias" )
  164. + "▦" + model.getValue(xTodoPath + "["+ i + "]/stat" )
  165. + "▦" + model.getValue(xTodoPath + "["+ i + "]/bloodyn" )
  166. + "▦" + model.getValue(xTodoPath + "["+ i + "]/prnyn" )
  167. + "▦" + ( model.getValue("/root/temp/baseflag") == "G" ? model.getValue("/root/temp/baseflag") : model.getValue(xTodoPath + "["+ i + "]/bloodyn" ) == "Y" ? "H" : "C" )
  168. + "▩" ;
  169. //NARC 마약성진통제일경우 baseflag는 G, alias등록시 혈액여부가 체크되어진 경우 H, 아닌경우 todo기준자료이므로 C 로 저장된다.
  170. }
  171. }
  172. model.removenode("/root/send");
  173. model.makeNode("/root/send");
  174. model.makeValue("/root/send/sTodoData" ,sTodoData );
  175. submit("TXMNW10601");
  176. model.refresh();
  177. fSerch("CUD");
  178. ]]>
  179. </script>
  180. </button>
  181. <datagrid id="grd_prcplist" nodeset="/root/main/prcpinfo/prcplist" caption="선택^처방코드^처방명^검사명^^caption4^caption3^caption2^caption1^caption5^caption6^caption8^caption7^caption19^caption18^caption17^caption16^caption15^caption14^caption13^caption12^caption11^caption10^caption9" colsep="^" colwidth="30, 79, 210" mergecellsfixedrows="bycolrec" rowsep="|" tooltip="true" style="left:0px; top:64px; width:340px; height:676px; ">
  182. <col ref="check" type="checkbox"/>
  183. <col ref="prcpcd" style="left:132px; top:23px; width:140px; height:23px; "/>
  184. <col ref="prcpnm"/>
  185. <script type="javascript" ev:event="onclick">
  186. <![CDATA[
  187. if(grd_prcplist.col < 1){
  188. return;
  189. }else{
  190. if(grd_prcplist.valueMatrix(grd_prcplist.row,0) == "true"){
  191. grd_prcplist.valueMatrix(grd_prcplist.row,0) = "false";
  192. }else{
  193. grd_prcplist.valueMatrix(grd_prcplist.row,0) = "true";
  194. }
  195. }
  196. ]]>
  197. </script>
  198. <script type="javascript" ev:event="onmouseup">
  199. <![CDATA[
  200. if(grd_prcplist.selectedRows > 1){
  201. for ( var i= 0; i<grd_prcplist.selectedRows; i++)
  202. {
  203. grd_prcplist.valueMatrix(grd_prcplist.selectedrow(i),0) = "true";
  204. }
  205. model.refresh();
  206. }
  207. ]]>
  208. </script>
  209. </datagrid>
  210. <group id="group2" style="left:0px; top:0px; width:895px; height:35px; vertical-align:top; ">
  211. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:895px; height:35px; "/>
  212. <line id="line13" class="line_4" style="x1:826px; y1:7px; x2:826px; y2:29px; border-color:#ffe4bb; border-left-style:solid; "/>
  213. <button id="btn_search" class="btn1_letter2" style="left:831px; top:7px; width:56px; height:22px; ">
  214. <caption>조회</caption>
  215. <script type="javascript" ev:event="DOMActivate">
  216. <![CDATA[
  217. fSerch();
  218. ]]>
  219. </script>
  220. </button>
  221. <caption id="caption4" class="search_name" style="left:1px; top:9px; width:91px; height:17px; ">처방분류 :</caption>
  222. <select1 id="combo1" ref="/root/temp/prcpclscd" appearance="minimal" style="left:90px; top:8px; width:100px; height:19px; ">
  223. <choices>
  224. <itemset nodeset="/root/init/prcpcdinfo/prcpclscdlist">
  225. <label ref="cdnm"/>
  226. <value ref="cdid"/>
  227. </itemset>
  228. </choices>
  229. <script type="javascript" ev:event="xforms-value-changed">
  230. <![CDATA[
  231. ipt_prcp.value = "";
  232. ]]>
  233. </script>
  234. </select1>
  235. <caption id="caption1" class="search_name" style="left:200px; top:9px; width:91px; height:17px; ">조회구분 :</caption>
  236. <input id="ipt_prcp" ref="/root/temp/prcpcode" class="input_s_essential" imemode="alpha" style="left:415px; top:9px; width:100px; height:19px; ">
  237. <script type="javascript" ev:event="onkeypress">
  238. <![CDATA[
  239. // 조회하기
  240. var keycode = event.keyCode;
  241. if(keycode == 13){
  242. model.setFocus("btn_search");
  243. btn_search.dispatch("DOMActivate");
  244. }
  245. ]]>
  246. </script>
  247. <script type="javascript" ev:event="DOMFocusOut">
  248. <![CDATA[
  249. ipt_prcp.value = ipt_prcp.value.toUpperCase();
  250. ]]>
  251. </script>
  252. </input>
  253. <select1 id="rdo_prcp" ref="/root/temp/prcpflag" class="radio_search" appearance="full" cols="2" overflow="visible" style="left:285px; top:9px; width:125px; height:20px; border-style:none; ">
  254. <choices>
  255. <item>
  256. <label>처방코드</label>
  257. <value>C</value>
  258. </item>
  259. <item>
  260. <label>처방명</label>
  261. <value>N</value>
  262. </item>
  263. </choices>
  264. <script type="javascript" ev:event="onclick">
  265. <![CDATA[
  266. // Clear
  267. ipt_prcp.value = "";
  268. model.removeNodeSet("/root/main/prcpinfo/prcplist");
  269. // 구분에 따른 입력창 모드변경
  270. // 처방코드
  271. if (rdo_prcp.value == "C") {
  272. ipt_prcp.attribute("imemode") = "alpha";
  273. }
  274. // 처방명
  275. else if (rdo_prcp.value == "N") {
  276. ipt_prcp.attribute("imemode") = "hangul";
  277. }
  278. model.setFocus("ipt_prcp");
  279. ]]>
  280. </script>
  281. </select1>
  282. </group>
  283. <datagrid id="grd_todoprcplist" nodeset="/root/main/prcpinfo/todoprcplist" caption="^처방코드^처방명^Alias name^혈액여부^PRN여부^검사명^^caption4^caption3^caption2^caption1^caption5^caption6^caption8^caption7^caption19^caption18^caption17^caption16^caption15^caption14^caption13^caption12^caption11^caption10^caption9" colsep="^" colwidth="30, 90, 191, 120, 60, 0, 0" mergecellsfixedrows="bycolrec" rowsep="|" style="left:375px; top:64px; width:520px; height:677px; ">
  284. <col class="update_n" ref="check"/>
  285. <col ref="prcpcd" style="left:132px; top:23px; width:140px; height:23px; "/>
  286. <col ref="prcpnm"/>
  287. <col ref="alias" type="input"/>
  288. <col checkvalue="Y,N" ref="bloodyn" type="checkbox"/>
  289. <col checkvalue="Y,N" ref="prnyn" type="checkbox"/>
  290. <col ref="stat"/>
  291. <script type="javascript" ev:event="xforms-value-changed">
  292. <![CDATA[
  293. // 항목변경시 상태값 변경
  294. //var stat = grd_todoprcplist.valueMatrix(grd_todoprcplist.row,grd_todoprcplist.colRef("stat"));
  295. var stat = model.getValue("/root/main/prcpinfo/todoprcplist["+ grd_todoprcplist.row +"]/stat");
  296. if( (stat =="i") || (stat =="d") ){
  297. return;
  298. }
  299. grd_todoprcplist.cellStyle("background-image", grd_todoprcplist.row, 0) = "../../../com/commonweb/images/icon_u.gif";
  300. // grd_todoprcplist.valueMatrix(grd_todoprcplist.row,grd_todoprcplist.colRef("stat")) = "u";
  301. model.setValue("/root/main/prcpinfo/todoprcplist["+ grd_todoprcplist.row +"]/stat","u");
  302. ]]>
  303. </script>
  304. </datagrid>
  305. <button id="btn_apply" class="icon_right" style="left:345px; top:250px; width:26px; height:19px; ">
  306. <script type="javascript" ev:event="DOMActivate">
  307. <![CDATA[
  308. var prcpcd = "";
  309. var todoprcpcd = "";
  310. for(var j = 1 ; j < grd_prcplist.rows ; j++ ){
  311. if(grd_prcplist.valueMatrix(j,0)=="true"){
  312. prcpcd = grd_prcplist.valueMatrix(j,1);
  313. prcpnm = grd_prcplist.valueMatrix(j,2);
  314. }else{
  315. continue;
  316. }
  317. for(var i = 1 ; i < grd_todoprcplist.rows ; i++ ){
  318. todoprcpcd = grd_todoprcplist.valueMatrix(i,1);
  319. if(prcpcd == todoprcpcd ){
  320. messageBox(prcpcd+"처방코드가 ","E006");
  321. return;
  322. }
  323. }
  324. grd_todoprcplist.addRow(false);
  325. grd_todoprcplist.cellStyle("background-image", grd_todoprcplist.row, 0) = "../../../com/commonweb/images/icon_i.gif";
  326. grd_todoprcplist.valueMatrix(grd_todoprcplist.row,1) = prcpcd;
  327. grd_todoprcplist.valueMatrix(grd_todoprcplist.row,2) = prcpnm;
  328. if(combo1.value == "F2"){
  329. grd_todoprcplist.valueMatrix(grd_todoprcplist.row,3) = "PT";
  330. }else if(combo1.value == "G2"){
  331. grd_todoprcplist.valueMatrix(grd_todoprcplist.row,3) = "RT";
  332. }else if(combo1.value == "B2"){
  333. grd_todoprcplist.valueMatrix(grd_todoprcplist.row,3) = "Lab";
  334. }else if(combo1.value == "B6"){
  335. grd_todoprcplist.valueMatrix(grd_todoprcplist.row,3) = "Lab";
  336. }else if(combo1.value == "B4"){
  337. grd_todoprcplist.valueMatrix(grd_todoprcplist.row,3) = "T/F";
  338. grd_todoprcplist.valueMatrix(grd_todoprcplist.row,4) = "Y";
  339. }
  340. model.setValue("/root/main/prcpinfo/todoprcplist["+ grd_todoprcplist.row +"]/stat","i");
  341. // grd_todoprcplist.valueMatrix(grd_todoprcplist.row,grd_todoprcplist.colRef("stat")) = 'i';
  342. grd_prcplist.deleteRow(j,false);
  343. j= j-1;
  344. }
  345. ]]>
  346. </script>
  347. <caption/>
  348. </button>
  349. <button id="button1" class="btn2_letter3" style="left:795px; top:39px; width:53px; height:19px; ">
  350. <caption>행삭제</caption>
  351. <script type="javascript" ev:event="DOMActivate">
  352. <![CDATA[
  353. var iRow = 0;
  354. for( var idx = 0 ; idx < grd_todoprcplist.selectedRows ; idx++ ){
  355. //grd_todoprcplist.valueMatrix(grd_todoprcplist.selectedRow(idx),grd_todoprcplist.colRef("stat")) = 'd';
  356. iRow = grd_todoprcplist.selectedRow(idx);
  357. model.setValue("/root/main/prcpinfo/todoprcplist["+ iRow +"]/stat","d");
  358. grd_todoprcplist.cellStyle("background-image", grd_todoprcplist.selectedRow(idx),0) = "../../../com/commonweb/images/icon_d.gif";
  359. }
  360. ]]>
  361. </script>
  362. </button>
  363. </group>
  364. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:106px; height:14px; ">기준자료관리</caption>
  365. </xhtml:body>
  366. </xhtml:html>