SMPMB03500_수혈대체기준자료관리.xrw 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  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>수혈 대체 기준 자료 관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <bldclist>
  11. <bldcinfo>
  12. <grupcalcscorcd/>
  13. <grupcalcscornm/>
  14. <snglcalcscorcd/>
  15. <snglcalcscornm/>
  16. <grupsnglflag/>
  17. <bldabbrgb/>
  18. <bldvol/>
  19. <ordtype/>
  20. <calcflag/>
  21. <fromdd/>
  22. <todd/>
  23. </bldcinfo>
  24. </bldclist>
  25. </main>
  26. <send>
  27. <bldc/>
  28. </send>
  29. <init>
  30. <P0470list>
  31. <P0470>
  32. <cdid/>
  33. <cdnm/>
  34. </P0470>
  35. </P0470list>
  36. </init>
  37. <hidden>
  38. <popupmenu>
  39. <grup>
  40. <item>
  41. <name>그룹 수가 추가</name>
  42. <func>fAddGrup</func>
  43. </item>
  44. <item>
  45. <name>그룹 수가 삭제</name>
  46. <func>fDelGrup</func>
  47. </item>
  48. </grup>
  49. <sngl>
  50. <item>
  51. <name>싱글 수가 추가</name>
  52. <func>fAddSngl</func>
  53. </item>
  54. <item>
  55. <name>싱글 수가 삭제</name>
  56. <func>fDelSngl</func>
  57. </item>
  58. </sngl>
  59. </popupmenu>
  60. </hidden>
  61. <temp>
  62. <bldclist>
  63. <bldcinfo/>
  64. </bldclist>
  65. </temp>
  66. </root>
  67. </instance>
  68. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post"/>
  69. <submission id="TRPMB03501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/bldclist/bldcinfo"/>
  70. <submission id="TXPMB03501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/bldclist/bldcinfo"/>
  71. </model>
  72. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  73. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  74. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  75. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  76. <script type="javascript">
  77. <![CDATA[
  78. function fAddGrup() {
  79. model.setFocus("grd_bldc");
  80. grd_bldc.row = grd_bldc.rows - 1;
  81. setParameter("SPPMB02300_gsflag", "G");
  82. setParameter("SPPMB02300_row", grd_bldc.rows);
  83. modal("SPPMB02300");
  84. var path = grd_bldc.nodeset;
  85. var tmpath = "/root/temp/bldclist/bldcinfo";
  86. var row = grd_bldc.rows - 1;
  87. var cnt = instance1.selectNodes(tmpath).length;
  88. for (var i = 1; i <= cnt; i++) {
  89. grd_bldc.addRow(false);
  90. model.setValue(path + "[" + ( row + i ) + "]/grupcalcscorcd", model.getValue(tmpath + "[" + i + "]/grupcalcscorcd"));
  91. model.setValue(path + "[" + ( row + i ) + "]/grupcalcscornm", model.getValue(tmpath + "[" + i + "]/grupcalcscornm"));
  92. model.setValue(path + "[" + ( row + i ) + "]/snglcalcscorcd", model.getValue(tmpath + "[" + i + "]/snglcalcscorcd"));
  93. model.setValue(path + "[" + ( row + i ) + "]/snglcalcscornm", model.getValue(tmpath + "[" + i + "]/snglcalcscornm"));
  94. model.setValue(path + "[" + ( row + i ) + "]/grupsnglflag", model.getValue(tmpath + "[" + i + "]/grupsnglflag"));
  95. model.setValue(path + "[" + ( row + i ) + "]/bldabbrgb", model.getValue(tmpath + "[" + i + "]/bldabbrgb"));
  96. model.setValue(path + "[" + ( row + i ) + "]/bldvol", model.getValue(tmpath + "[" + i + "]/bldvol"));
  97. model.setValue(path + "[" + ( row + i ) + "]/ordtype", model.getValue(tmpath + "[" + i + "]/ordtype"));
  98. model.setValue(path + "[" + ( row + i ) + "]/calcflag", model.getValue(tmpath + "[" + i + "]/calcflag"));
  99. model.setValue(path + "[" + ( row + i ) + "]/fromdd", model.getValue(tmpath + "[" + i + "]/fromdd"));
  100. model.setValue(path + "[" + ( row + i ) + "]/todd", model.getValue(tmpath + "[" + i + "]/todd"));
  101. }
  102. grd_bldc.refresh();
  103. grd_bldc.cellStyle("font-weight", row + 1, grd_bldc.colRef("grupcalcscorcd"), row + cnt, grd_bldc.colRef("calcflag")) = "bold";
  104. model.removenode("/root/temp/bldclist");
  105. model.setFocus("grd_bldc");
  106. grd_bldc.row = grd_bldc.rows - 1;
  107. }
  108. function fDelGrup() {
  109. var grupcd = model.getValue("/root/main/bldclist/bldcinfo[" + grd_bldc.row + "]/grupcalcscorcd");
  110. for (var i = 1; i < grd_bldc.rows; i++) {
  111. if (model.getValue("/root/main/bldclist/bldcinfo[" + i + "]/grupcalcscorcd") == grupcd) {
  112. grd_bldc.addStatus(i, "delete");
  113. }
  114. }
  115. }
  116. function fAddSngl() {
  117. var path = grd_bldc.nodeset;
  118. var row = grd_bldc.row;
  119. grd_bldc.insertRow(row, "above", false);
  120. model.setValue(path + "[" + row + "]/grupcalcscorcd", model.getValue(path + "[" + (row + 1) + "]/grupcalcscorcd"));
  121. model.setValue(path + "[" + row + "]/grupcalcscornm", model.getValue(path + "[" + (row + 1) + "]/grupcalcscornm"));
  122. model.setValue(path + "[" + row + "]/snglcalcscorcd", "클릭하여추가");
  123. model.setValue(path + "[" + row + "]/snglcalcscornm", "");
  124. model.setValue(path + "[" + row + "]/grupsnglflag", "G");
  125. model.setValue(path + "[" + row + "]/bldabbrgb", "");
  126. model.setValue(path + "[" + row + "]/bldvol", "");
  127. model.setValue(path + "[" + row + "]/ordtype", "");
  128. model.setValue(path + "[" + row + "]/calcflag", "");
  129. model.setValue(path + "[" + row + "]/fromdd", "");
  130. model.setValue(path + "[" + row + "]/todd", "");
  131. grd_bldc.refresh();
  132. grd_bldc.cellStyle("font-weight", row, grd_bldc.colRef("snglcalcscorcd"), row, grd_bldc.colRef("calcflag")) = "bold";
  133. }
  134. function fDelSngl() {
  135. grd_bldc.addStatus(grd_bldc.row, "delete");
  136. }
  137. ]]>
  138. </script>
  139. <script type="javascript" ev:event="xforms-ready">
  140. <![CDATA[
  141. zbcfGetCodeList(new Array("P0470"), new Array("/root/init/P0470list"));
  142. for (var i = 3; i < grd_bldc.cols; i++) {
  143. grd_bldc.mergeCol(i) = false;
  144. }
  145. btn_search.dispatch("DOMActivate");
  146. ]]>
  147. </script>
  148. </xhtml:head>
  149. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  150. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:20px; width:1195px; height:41px; background-color:#fffbf2; border-color:#ffd799; "/>
  151. <button id="btn_search" class="btn1_letter2" navindex="4" style="left:1045px; top:30px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  152. <caption>조회</caption>
  153. <script type="javascript" ev:event="DOMActivate">
  154. <![CDATA[
  155. submit("TRPMB03501");
  156. grd_bldc.rebuildStyle();
  157. ]]>
  158. </script>
  159. </button>
  160. <button id="btn_excel1" class="btn2_letter2" disable.background-image="../../../com/commonweb/images/dis_btn2_letter3.gif" style="left:1153px; top:65px; width:42px; height:19px; background-image:../../../com/commonweb/images/btn2_letter3.gif; ">
  161. <caption>엑셀</caption>
  162. <script type="javascript" ev:event="DOMActivate">
  163. <![CDATA[
  164. var filename = window.fileDialog("save", ",", false, "수혈대체기준자료", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  165. grd_bldc.saveExcel(filename, "sheetname:수혈대체기준자료;colhiddenextend:false;rowhiddenextend:false");
  166. messageBox("엑셀 저장이 완료되었습니다.", "I999");
  167. ]]>
  168. </script>
  169. </button>
  170. <caption id="cap_title" class="tit_1" style="left:0px; top:0px; width:165px; height:14px; font-family:돋움; vertical-align:middle; ">수혈 대체 기준 자료 관리</caption>
  171. <caption id="cap_grid" class="tit_2" style="left:0px; top:70px; width:136px; height:14px; ">수혈 대체 기준 자료</caption>
  172. <line id="line2" class="line_1" style="x1:0px; y1:85px; x2:1195px; y2:85px; "/>
  173. <datagrid id="grd_bldc" nodeset="/root/main/bldclist/bldcinfo" caption="그룹수가코드^그룹수가명^싱글수가코드^싱글수가명^구분^혈액명^용량^ORDTYPE^구분^적용시작일^적용종료일" colsep="^" colwidth="100, 300, 100, 300, 0, 80, 50, 0, 60, 80, 80" mergecells="bycol" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:90px; width:1195px; height:675px; ">
  174. <col ref="grupcalcscorcd" style="padding-left:1; "/>
  175. <col ref="grupcalcscornm" style="padding-left:1; "/>
  176. <col ref="snglcalcscorcd" style="padding-left:1; "/>
  177. <col ref="snglcalcscornm" style="padding-left:1; "/>
  178. <col ref="grupsnglflag" visibility="hidden" style="text-align:center; "/>
  179. <col ref="bldabbrgb" type="combo" style="text-align:center; ">
  180. <choices>
  181. <itemset nodeset="/root/init/P0470list/P0470">
  182. <label ref="cdnm"/>
  183. <value ref="cdid"/>
  184. </itemset>
  185. </choices>
  186. </col>
  187. <col ref="bldvol" type="input" format="#" style="text-align:center; "/>
  188. <col ref="ordtype" visibility="hidden" style="text-align:center; "/>
  189. <col ref="calcflag" type="combo" style="text-align:center; ">
  190. <choices>
  191. <item>
  192. <label>1차</label>
  193. <value>1</value>
  194. </item>
  195. <item>
  196. <label>2차</label>
  197. <value>2</value>
  198. </item>
  199. </choices>
  200. </col>
  201. <col ref="fromdd" format="yyyy-mm-dd" style="text-align:center; "/>
  202. <col ref="todd" format="yyyy-mm-dd" style="text-align:center; "/>
  203. <script type="javascript" ev:event="onmousedown">
  204. <![CDATA[
  205. var col = grd_bldc.mouseCol;
  206. if (col < 1) {
  207. return;
  208. }
  209. if (col == grd_bldc.colRef("grupcalcscorcd") || col == grd_bldc.colRef("grupcalcscornm")) {
  210. setPopupMenu("grd_bldc", false, "/root/hidden/popupmenu/grup/item", "name", "func");
  211. } else if (col == grd_bldc.colRef("snglcalcscorcd") || col == grd_bldc.colRef("snglcalcscornm")) {
  212. setPopupMenu("grd_bldc", false, "/root/hidden/popupmenu/sngl/item", "name", "func");
  213. }
  214. ]]>
  215. </script>
  216. <script type="javascript" ev:event="DOMFocusOut">
  217. <![CDATA[
  218. initPopupMenu();
  219. ]]>
  220. </script>
  221. <script type="javascript" ev:event="onclick">
  222. <![CDATA[
  223. if (grd_bldc.col == grd_bldc.colRef("snglcalcscorcd") && grd_bldc.rowStatus(grd_bldc.row) == 1) {
  224. setParameter("SPPMB02300_gsflag", "S");
  225. setParameter("SPPMB02300_row", grd_bldc.row);
  226. modal("SPPMB02300");
  227. }
  228. ]]>
  229. </script>
  230. </datagrid>
  231. <button id="btn_save" class="btn4_letter2" style="left:1130px; top:30px; width:56px; height:22px; ">
  232. <caption>저장</caption>
  233. <script type="javascript" ev:event="DOMActivate">
  234. <![CDATA[
  235. if (grd_bldc.getUpdateDataXml("insert") == "" &&
  236. grd_bldc.getUpdateDataXml("update") == "" &&
  237. grd_bldc.getUpdateDataXml("delete") == "") {
  238. messageBox("변경사항이 없습니다", "E999");
  239. return;
  240. }
  241. var nodeset = grd_bldc.nodeset;
  242. for (var i = grd_bldc.fixedRows; i < grd_bldc.rows; i++) {
  243. if (grd_bldc.rowStatus(i) < 4) {
  244. if (model.getValue(nodeset + "[" + i + "]/grupcalcscorcd") == "") {
  245. messageBox("그룹수가코드를 입력하십시오", "E999");
  246. return;
  247. }
  248. if (model.getValue(nodeset + "[" + i + "]/snglcalcscorcd") == "클릭하여추가") {
  249. messageBox("싱글수가코드를 입력하십시오", "E999");
  250. return;
  251. }
  252. if (model.getValue(nodeset + "[" + i + "]/bldabbrgb") == "") {
  253. messageBox("혈액명을 입력하십시오", "E999");
  254. return;
  255. }
  256. if (model.getValue(nodeset + "[" + i + "]/bldvol") == "") {
  257. messageBox("용량을 입력하십시오", "E999");
  258. return;
  259. }
  260. if (model.getValue(nodeset + "[" + i + "]/calcflag") == "") {
  261. messageBox("구분을 입력하십시오", "E999");
  262. return;
  263. }
  264. }
  265. }
  266. model.setValue("/root/send/bldc", grd_bldc.getUpdateData());
  267. if (submit("TXPMB03501")) {
  268. grd_bldc.rebuildStyle();
  269. }
  270. ]]>
  271. </script>
  272. </button>
  273. <line id="line13" style="x1:1115px; y1:28px; x2:1115px; y2:55px; border-color:#FFD799; border-left-style:solid; "/>
  274. </xhtml:body>
  275. </xhtml:html>