SPMNV07001_환자별메시지관리.xrw 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.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>Untitle</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <patmsg>
  11. <patmsglist>
  12. <status/>
  13. <suppdeptcd/>
  14. <useflag/>
  15. <wgdmcd/>
  16. <excuroomcd/>
  17. <wgdmnm/>
  18. <rem/>
  19. </patmsglist>
  20. </patmsg>
  21. </main>
  22. <send>
  23. <savadata/>
  24. <reqdata>
  25. <orddeptcd/>
  26. <useflag/>
  27. </reqdata>
  28. </send>
  29. <init/>
  30. <hidden/>
  31. </root>
  32. </instance>
  33. <submission id="TRMNV07009" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/patmsg"/>
  34. <submission id="TXMNV07011" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savadata" resultref="/root/main/patmsg"/>
  35. <script type="javascript" ev:event="xforms-ready">
  36. <![CDATA[
  37. fGetPatMsgList();
  38. ]]>
  39. </script>
  40. </model>
  41. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  42. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  43. <script type="javascript" src="../../../com/userdeptinfoweb/js/ZSU001.js"/>
  44. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  45. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  46. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  47. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  48. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  49. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  50. <script type="javascript">
  51. <![CDATA[
  52. function fGetPatMsgList(){
  53. model.makeValue("/root/send/reqdata/orddeptcd", opener.model.getValue("/root/hidden/con/orddeptcd"));
  54. submit("TRMNV07009");
  55. }
  56. ]]>
  57. </script>
  58. </xhtml:head>
  59. <xhtml:body pagewidth="271" pageheight="224">
  60. <datagrid id="grd_patmsglist" nodeset="/root/main/patmsg/patmsglist" caption="status^useflag^cdid^개인별 안내문구^진료과" colsep="^" colwidth="0, 0, 0, 245, 0" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:53px; width:268px; height:169px; ">
  61. <col ref="status" visibility="hidden"/>
  62. <col ref="useflag" visibility="hidden"/>
  63. <col ref="wgdmcd" visibility="hidden"/>
  64. <col id="patmsg" ref="wgdmnm" type="input"/>
  65. <col ref="suppdeptcd" type="output" visibility="hidden"/>
  66. <script type="javascript" ev:event="xforms-value-changed">
  67. <![CDATA[
  68. var status = model.getValue(grd_patmsglist.nodeset + "[" + grd_patmsglist.row + "]/status");
  69. if( status == "S" ){
  70. grd_patmsglist.addStatus(grd_patmsglist.row, "update");
  71. model.setValue(grd_patmsglist.nodeset + "[" + grd_patmsglist.row + "]/status", "U");
  72. }
  73. ]]>
  74. </script>
  75. </datagrid>
  76. <button id="btn_addRow" class="btn2_letter3" style="left:31px; top:26px; width:53px; height:19px; ">
  77. <caption>행추가</caption>
  78. <script type="javascript" ev:event="DOMActivate">
  79. <![CDATA[
  80. var curRow = grd_patmsglist.row;
  81. var curCol = grd_patmsglist.col;
  82. grd_patmsglist.addRow(true, true);
  83. model.makeValue(grd_patmsglist.nodeset + "[" + grd_patmsglist.row + "]/status", "I");
  84. grd_patmsglist.addStatus(grd_patmsglist.row, "insert");
  85. ]]>
  86. </script>
  87. </button>
  88. <button id="btn_delRow" class="btn2_letter3" style="left:87px; top:26px; width:53px; height:19px; ">
  89. <caption>삭제</caption>
  90. <script type="javascript" ev:event="DOMActivate">
  91. <![CDATA[
  92. var curRow = grd_patmsglist.row;
  93. var curCol = grd_patmsglist.col;
  94. var curStatus = model.getValue(grd_patmsglist.nodeset + "[" + curRow + "]/status");
  95. if(curStatus == "I"){
  96. grd_patmsglist.deleteItem(curRow);
  97. }
  98. else if( curStatus == "S" || curStatus == "U" ){
  99. model.setValue(grd_patmsglist.nodeset + "[" + curRow + "]/status", "D");
  100. grd_patmsglist.addStatus(curRow, "delete");
  101. }
  102. ]]>
  103. </script>
  104. </button>
  105. <button id="btn_save" class="btn5_letter3" style="left:143px; top:26px; width:53px; height:19px; ">
  106. <caption>저장</caption>
  107. <script type="javascript" ev:event="DOMActivate">
  108. <![CDATA[
  109. var nodes = instance1.selectNodes("/root/main/patmsg/patmsglist[status = 'U' or status = 'I']");
  110. if( nodes.length > 0 ){
  111. var node = nodes.item(0);
  112. var wgdmnm = node.selectSingleNode("wgdmnm");
  113. if( isNull(wgdmnm.nodeValue)){
  114. messageBox( "메세지 내용을 ", "C001");
  115. return;
  116. }
  117. }
  118. // 메세지 사용부서 정보 오프너로 부터 받아옴
  119. var suppdeptcd = opener.model.getValue("/root/hidden/con/orddeptcd");
  120. if(isNull(suppdeptcd) ){
  121. messageBox("진료과 정보가", "I004");
  122. return;
  123. }
  124. var useflag = "B";
  125. // 신규 메시지정보에 opener의 부서정보를 저장
  126. // useflag가 B일때 개인메시지
  127. for(var i=1; i <= grd_patmsglist.rows; i++){
  128. var status = model.getValue(grd_patmsglist.nodeset + "[" + i + "]/status");
  129. if(status == "I"){
  130. model.setValue(grd_patmsglist.nodeset + "[" + i + "]/suppdeptcd", suppdeptcd);
  131. // alert("suppdeptcd : " + model.getValue(grd_patmsglist.nodeset + "[" + i + "]/suppdeptcd") );
  132. model.setValue(grd_patmsglist.nodeset + "[" + i + "]/useflag", useflag);
  133. // alert("useflag : " + model.getValue(grd_patmsglist.nodeset + "[" + i + "]/useflag") );
  134. }
  135. // 개인별 안내문구 길이가 10이상인지 체크
  136. if( status == "I" || status == "U" ){
  137. var msg = model.getValue(grd_patmsglist.nodeset + "[" + i + "]/wgdmnm");
  138. // alert(msg.length);
  139. if( msg.length >= 11 ){
  140. messageBox("안내문구 내용을 10글자 까지", "C001");
  141. grd_patmsglist.editCell();
  142. return;
  143. }
  144. }
  145. }
  146. var saveNodes = instance1.selectNodes("/root/main/patmsg/patmsglist[status = 'U' or status = 'I' or status = 'D']");
  147. if( saveNodes.length > 0 ){
  148. model.makeValue("/root/send/savadata/msglist", grd_patmsglist.getUpdateData()); // 저장할 데이터 셋
  149. model.makeValue("/root/send/savadata/req_orddeptcd", suppdeptcd); // 진료과 정보
  150. if(submit("TXMNV07011", false)){
  151. model.refresh();
  152. grd_patmsglist.clearStatus();
  153. opener.javaScript.fGetPatMsgCd(); //환자별 개인 메시지 정보 조회
  154. opener.javaScript.fOrdScheList(); //대기환자리스트 조회
  155. }
  156. }
  157. else{
  158. messageBox("저장할 데이터가", "I004");
  159. }
  160. ]]>
  161. </script>
  162. </button>
  163. <button id="btn_search" class="btn2_letter3" style="left:199px; top:26px; width:53px; height:19px; ">
  164. <caption>조회</caption>
  165. <script type="javascript" ev:event="DOMActivate">
  166. <![CDATA[
  167. // alert(opener.model.getValue("/root/hidden/con/orddeptcd"));
  168. fGetPatMsgList();
  169. ]]>
  170. </script>
  171. </button>
  172. <line id="line1" class="line_1" style="x1:0px; y1:50px; x2:266px; y2:51px; "/>
  173. <caption id="caption1" class="tit_2" style="left:4px; top:9px; width:209px; height:13px; ">개인별 안내문구 상용구 등록</caption>
  174. </xhtml:body>
  175. </xhtml:html>