SMADC03200_NST공통코드관리.xrw 11 KB

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