SMADB04100_약국공통코드관리.xrw 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. <?xml version="1.0" encoding="EUC-KR"?>
  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>약국 공통코드관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <codeinfo>
  11. <codelist>
  12. <cdid/>
  13. <cdnm/>
  14. <useyn/>
  15. <cmt/>
  16. <cdgrupid/>
  17. </codelist>
  18. </codeinfo>
  19. </main>
  20. <send>
  21. <reqdata>
  22. <cdgrupid/>
  23. <srcd/>
  24. </reqdata>
  25. </send>
  26. <senddata>
  27. <execdata>
  28. <codelist/>
  29. </execdata>
  30. </senddata>
  31. <popdata>
  32. <cdgrupid/>
  33. </popdata>
  34. </root>
  35. </instance>
  36. <script type="javascript" ev:event="xforms-ready">
  37. <![CDATA[
  38. model.removeNodeset("/root/main/codeinfo/codelist");
  39. btn_grdadd.disabled = true;
  40. btn_grddel.disabled = true;
  41. btn_save.disabled = true;
  42. if (model.getValue("/root/popdata/cdgrupid") != ""){
  43. model.setValue("/root/send/reqdata/cdgrupid", model.getValue("/root/popdata/cdgrupid"));
  44. btn_grdadd.disabled = false;
  45. btn_grddel.disabled = false;
  46. btn_save.disabled = false;
  47. readfunc();
  48. }
  49. model.refresh();
  50. ]]>
  51. </script>
  52. <script type="javascript" ev:event="xforms-model-destruct">
  53. <![CDATA[
  54. window.close();;
  55. ]]>
  56. </script>
  57. <submission id="TRADB04011" ref="/root/send/reqdata" method="post" mediatype="application/x-www-form-urlencoded" resultref="/root/main/codeinfo"/>
  58. <submission id="TXADB04011" ref="/root/senddata/execdata" method="post" mediatype="application/x-www-form-urlencoded" resultref="/root/hidden"/>
  59. </model>
  60. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  61. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  62. <script type="javascript">
  63. <![CDATA[
  64. function readfunc(){ // 해당 조건에 대한 사용자 권한내역을 조회한다.
  65. if (model.getValue("/root/send/reqdata/cdgrupid") == ""){
  66. messageBox("구분코드를 선택한 후 조회하시기 바랍니다.", "E999", "");
  67. return;
  68. }
  69. model.removeNodeset("/root/main/codeinfo/codelist");
  70. btn_save.disabled = false;
  71. if (submit("TRADB04011")){
  72. }
  73. model.refresh();
  74. }
  75. function datacheck(){
  76. var scdid1 = "";
  77. var scdid2 = "";
  78. for (var i = 1; i < datagrid1.rows; i ++){
  79. if (model.getValue("/root/main/codeinfo/codelist[" + i + "]/cdid") == ""){
  80. messageBox("코드는 필수 입력항목입니다.", "E999", "");
  81. return false;
  82. }
  83. if (model.getValue("/root/main/codeinfo/codelist[" + i + "]/cdnm") == ""){
  84. messageBox("코드명은 필수 입력항목입니다.", "E999", "");
  85. return false;
  86. }
  87. scdid1 = model.getValue("/root/main/codeinfo/codelist[" + i + "]/cdid");
  88. var k = i + 1;
  89. for (var j = k; j < datagrid1.rows; j++){
  90. scdid2 = model.getValue("/root/main/codeinfo/codelist[" + j + "]/cdid");
  91. if (i != j){
  92. if (scdid1 == scdid2){
  93. messageBox(j + "번째에서 중복된 자료가 존재합니다", "E999", "");
  94. return false;
  95. }
  96. }
  97. }
  98. }
  99. return true;
  100. }
  101. function ExecData(){
  102. var update = getGridUpdateData(datagrid1);
  103. model.setValue("/root/senddata/execdata/codelist", update);
  104. if (submit("TXADB04011")){
  105. readfunc();
  106. }
  107. }
  108. function isDate(str) { // 날짜 형식에 대한 적합여부 체크
  109. if (str == "") return true; // 빈건 체크안함
  110. if (trim(str) == "") return true; // 빈건 체크안함
  111. if (isNaN(parseInt(str))) return false; // 숫자가 아니면 false
  112. if (str.length != 8) return false; // 8자리(yyyymmdd)가 아니면 false
  113. var yy = new Number(str.substring(0, 4));
  114. var mm = new Number(str.substring(4, 6)) - 1;
  115. var dd = new Number(str.substring(6, 8));
  116. var date = new Date(yy, mm, dd);
  117. //alert(date.getFullYear() +"-" + (date.getMonth()+1) + "-" + date.getDate());
  118. if (yy != date.getFullYear() ||
  119. mm != date.getMonth() ||
  120. dd != date.getDate()) {
  121. return false; // 존재하지 않는 날짜
  122. }
  123. return true; // 존재하는 날짜
  124. }
  125. function trim(data){ // 문자에 대한 TRIM 작업
  126. return data.replace(/(^\s*)|(\s*$)/g, "");
  127. }
  128. ]]>
  129. </script>
  130. </xhtml:head>
  131. <xhtml:body pagewidth="730px" pageheight="580px" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
  132. <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:252px; height:14px; ">약국 공통코드관리</caption>
  133. <shape id="rectangle1" appearance="roundrect" style="left:3px; top:18px; width:707px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  134. <caption id="caption11" class="search_name" visibility="hidden" style="left:394px; top:26px; width:94px; height:17px; ">코드명검색:</caption>
  135. <input id="input13" ref="/root/send/reqdata/srcd" class="input_search" visibility="hidden" style="left:496px; top:25px; width:109px; height:19px; "/>
  136. <button id="btn_sea" class="btn1_letter2" style="left:627px; top:24px; width:56px; height:22px; ">
  137. <caption>조회</caption>
  138. <script type="javascript" ev:event="DOMActivate">
  139. <![CDATA[
  140. readfunc();
  141. ]]>
  142. </script>
  143. </button>
  144. <line id="line6" style="x1:617px; y1:24px; x2:617px; y2:46px; border-color:#ffe4bb; border-left-style:solid; "/>
  145. <line id="line7" class="line_1" style="x1:3px; y1:81px; x2:708px; y2:81px; "/>
  146. <datagrid id="datagrid1" nodeset="/root/main/codeinfo/codelist" caption="Code^Name^사용여부^비고^caption1" colwidth="67, 329, 66, 201, 39" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" colsep="^" style="left:3px; top:85px; width:707px; height:450px; ">
  147. <col ref="cdid" type="input" maxlength="3" style="text-align:center; "/>
  148. <col ref="cdnm" type="input" style="text-align:left; "/>
  149. <col ref="useyn" type="combo" style="text-align:center; ">
  150. <choices>
  151. <item>
  152. <label>YES</label>
  153. <value>Y</value>
  154. </item>
  155. <item>
  156. <label>NO</label>
  157. <value>N</value>
  158. </item>
  159. </choices>
  160. </col>
  161. <col ref="cmt" type="input" style="text-align:left; "/>
  162. <col ref="cdgrupid" visibility="hidden"/>
  163. <script type="javascript" ev:event="xforms-value-changed">
  164. <![CDATA[
  165. /*
  166. var scol = datagrid1.col;
  167. datagrid1.col = scol;
  168. datagrid1.dispatch("onentercell");
  169. datagrid1.editCell();
  170. */
  171. ]]>
  172. </script>
  173. </datagrid>
  174. <caption id="caption4" class="tit_2" style="left:3px; top:65px; width:113px; height:13px; ">코드별 상세정보</caption>
  175. <button id="btn_grdadd" class="btn2_letter3" style="left:599px; top:61px; width:53px; height:19px; ">
  176. <caption>행추가</caption>
  177. <script type="javascript" ev:event="DOMActivate">
  178. <![CDATA[
  179. if (model.getValue("/root/send/reqdata/cdgrupid") == ""){
  180. messageBox("구분코드를 선택한 후 작업하시기 바랍니다.", "E999", "");
  181. return;
  182. }
  183. datagrid1.addRow();
  184. var irow = datagrid1.row;
  185. model.setValue("/root/main/codeinfo/codelist[" + irow + "]/cdgrupid", model.getValue("/root/send/reqdata/cdgrupid"));
  186. model.setValue("/root/main/codeinfo/codelist[" + irow + "]/useyn", "Y");
  187. model.setFocus("datagrid1");
  188. datagrid1.row = irow;
  189. datagrid1.col = 1;
  190. datagrid1.dispatch("onentercell");
  191. datagrid1.editCell();
  192. datagrid1.refresh();
  193. ]]>
  194. </script>
  195. </button>
  196. <button id="btn_grddel" class="btn2_letter3" style="left:654px; top:61px; width:53px; height:19px; ">
  197. <caption>행삭제</caption>
  198. <script type="javascript" ev:event="DOMActivate">
  199. <![CDATA[
  200. datagrid1.deleteRow(datagrid1.row);
  201. ]]>
  202. </script>
  203. </button>
  204. <button id="button27" class="btn2_letter3" visibility="hidden" style="left:544px; top:61px; width:53px; height:19px; ">
  205. <caption>행복사</caption>
  206. </button>
  207. <button id="btn_save" class="btn4_letter2" style="left:651px; top:540px; width:56px; height:22px; ">
  208. <caption>저장</caption>
  209. <script type="javascript" ev:event="DOMActivate">
  210. <![CDATA[
  211. if (datacheck() == false){
  212. return;
  213. }
  214. ExecData();
  215. ]]>
  216. </script>
  217. </button>
  218. <line id="line1" class="line_3" style="x1:3px; y1:536px; x2:708px; y2:536px; "/>
  219. <caption id="caption2" class="search_name" style="left:24px; top:26px; width:63px; height:17px; ">구분:</caption>
  220. <select1 id="combo1" ref="/root/send/reqdata/cdgrupid" appearance="minimal" style="left:86px; top:25px; width:300px; height:19px; ">
  221. <choices>
  222. <item>
  223. <label>외래처방출력마감부서</label>
  224. <value>P010</value>
  225. </item>
  226. <item>
  227. <label>DSC 처방부서</label>
  228. <value>P020</value>
  229. </item>
  230. <item>
  231. <label>유해증상대분류</label>
  232. <value>P030</value>
  233. </item>
  234. <item>
  235. <label>ACS판막종류</label>
  236. <value>P040</value>
  237. </item>
  238. </choices>
  239. <script type="javascript" ev:event="xforms-value-changed">
  240. <![CDATA[
  241. btn_grdadd.disabled = false;
  242. btn_grddel.disabled = false;
  243. btn_save.disabled = false;
  244. readfunc();
  245. ]]>
  246. </script>
  247. </select1>
  248. </xhtml:body>
  249. </xhtml:html>