SMMMR06900.xjs 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[
  3. /**
  4. * 최초 로딩시
  5. */
  6. // function fProcBtn() {
  7. // if (getUserInfo("jobkindcd").indexOf("03") > -1) { //의사인 경우 '저장만 보이게'
  8. // opener.btn_save.visible = "true";
  9. // opener.btn_complete.visible = "false";
  10. // opener.btn_cancel.visible = "false";
  11. // }
  12. // if (getUserInfo("dutplcecd") == "4072000000" || getUserInfo("dutplcecd") == '4070700000') { //심사팀, 심사파트인 경우
  13. // opener.btn_save.visible = "true";
  14. // opener.btn_complete.visible = "true";
  15. // opener.btn_cancel.visible = "true";
  16. //
  17. // }
  18. //
  19. // if (model.getValue("/root/main/detlinfo/master/status") == "C") {
  20. // opener.btn_save.disabled = true;
  21. // opener.btn_complete.disabled = true;
  22. // opener.btn_cancel.disabled = false;
  23. // } else {//if (model.getValue("/root/main/detlinfo/master/status") == "A") {
  24. // opener.btn_save.disabled = false;
  25. // opener.btn_complete.disabled = false;
  26. // opener.btn_cancel.disabled = true;
  27. // }
  28. // }
  29. //
  30. // /**
  31. // * 설명 비고 팝업
  32. // */
  33. // function fShowDesc(sarg,) {
  34. // var iEventX = parseInt(event.clientX, 10) - 315;
  35. // var iEventY = parseInt(event.clientY, 10) + 10;
  36. //
  37. // grp_desc.attribute("style") = style="left:"+ iEventX +"px; top:"+ iEventY +"px; width:315px; height:230px; ";
  38. //
  39. // var iLen = arguments.length;
  40. // var s = "";
  41. //
  42. // for (var i = 0; i < iLen; i++) {
  43. // var arr = arguments[i].split('|');
  44. // s += "\n"+ model.getValue("/root/init/hardcd"+arr[0]+"/hardcd[hardcd='"+arr[1]+"']/hardcdnm");
  45. // }
  46. //
  47. // if (iLen > 1) {
  48. // s = s.substr(1);
  49. // }
  50. //
  51. // model.setValue("/root/hidden/desc", s);
  52. // model.refresh();
  53. // grp_desc.visible = true;
  54. // }
  55. //
  56. //
  57. // /**
  58. // * 현재 의료질 향상 점검표 서식 정보 저장
  59. // */
  60. // function fConfirm(status) {
  61. // var msg = "저장";
  62. // model.makeValue("/root/main/detlinfo/master/status", status);
  63. // switch (status) {
  64. // case "A":
  65. // msg = "저장";
  66. // break;
  67. // case "C":
  68. // msg = "종결";
  69. // break;
  70. // case "R":
  71. // model.makeValue("/root/main/detlinfo/master/status", "A");
  72. // msg = "종결취소";
  73. // break;
  74. // default :
  75. // msg = "저장";
  76. // }
  77. //
  78. //
  79. // //기타진단 저장 그리드 자료를 서식 자료로
  80. // var s = "/root/main/diaginfo/diagcdlist";
  81. // var iCnt = getNodesetCount(s);
  82. // var iFirst = 9;
  83. //
  84. // var diagnm = "";
  85. // var poa = "";
  86. // var diagcd = "";
  87. // for (var i = 1; i<= 10; i++) {//i <= iCnt; i++) { //기타진단 저장 그리드 자료를 서식 자료로
  88. // if (i > iCnt) {
  89. // diagcd = "";
  90. // diagnm = "";
  91. // poa = "";
  92. // } else {
  93. // diagcd = model.getValue("/root/main/diaginfo/diagcdlist["+i+"]/diagcd");
  94. // diagnm = model.getValue("/root/main/diaginfo/diagcdlist["+i+"]/diaghngnm");
  95. // poa = model.getValue("/root/main/diaginfo/diagcdlist["+i+"]/poa");
  96. // }
  97. // model.setValue("/root/main/detlinfo/formdetl[itemcd='DI0100"+ ((iFirst++)+"").getLeftPad(2, "0") +"']/itemval1", diagcd);
  98. // model.setValue("/root/main/detlinfo/formdetl[itemcd='DI0100"+ ((iFirst++)+"").getLeftPad(2, "0") +"']/itemval1", diagnm);
  99. // model.setValue("/root/main/detlinfo/formdetl[itemcd='DI0100"+ ((iFirst++)+"").getLeftPad(2, "0") +"']/itemval1", poa);
  100. // }
  101. //
  102. // //수술 합병증 관련 그리드 선택을 델리미터('|') 포함된 문자열로
  103. // s = grd2_3.nodeset;
  104. // iCnt = getNodesetCount(s);
  105. // var rslt = "";
  106. // for (var i = 1; i <= iCnt; i++) {
  107. // if (model.getValue(s+"["+ i +"]/chk") == "true") {
  108. // rslt += "|" + model.getValue(s+"["+ i +"]/hardcd");
  109. // }
  110. // }
  111. //
  112. // //if (iCnt > 1) {
  113. // //rslt = rslt.substring(1);
  114. // model.setValue("/root/main/detlinfo/formdetl[itemcd='DI010054']/itemval1" , rslt);
  115. // //}
  116. //
  117. // if (!fValidAll()) {
  118. // return;
  119. // }
  120. //
  121. // //로그인 구분에 따라.. status설정?? 20130508
  122. // model.makeValue("/root/main/detlinfo/masterinfo", getPrcpNodeListCSV(instance1.selectNodes("/root/main/detlinfo/master")));
  123. //
  124. // if (submit("TXMMR09000")) {
  125. // if (model.getValue("/root/hidden/savedetl/rslt/success") == "true") {
  126. // messageBox(msg+"되었습니다.", "I000");
  127. // fProcBtn();
  128. // }
  129. // }
  130. //
  131. //
  132. // }
  133. //
  134. // /**
  135. // * 주/기타 진단 팝업
  136. // */
  137. // function fPopDiag(o) {
  138. // setParameter("SPMMO03100_patinfo", model.getValue("/root/send/reqdata/pid")+"▦"+model.getValue("/root/send/reqdata/orddd"));
  139. // fPrcpModal ("SPMMO03100", 5, 40);
  140. // if ( getParameter( "SPMMO03100_rtn_useyn" ) == "Y" ) {
  141. // var rtn = getParameter( "SPMMO03100_rtn" ); //이걸 왜 델리미터 문자열로 반환해서 이고생인지.. 걍 인스턴스로 주던가 하면 명확할텐데.. 넘겨줄때 스트링문자열로 바꿔 넘겨받아서 또 잘라서 배열이나 다른 형태로 또 바꿔.. 에효!!
  142. // var list = fTransList(rtn); //델리미터로 구분된 문자열을 자바형태의 ArrayList로 변환
  143. //
  144. // if (o.grid == "" || o.grid == "undefined" || o.grid == undefined) {
  145. // document.all(o.cd).value = list.get(0).get("diagcd");
  146. // document.all(o.nm).value = list.get(0).get("diaghngnm");
  147. // } else {
  148. // var t = document.all(o.grid);
  149. // var iRow = t.row;
  150. // var iTot = iRow + list.length();
  151. // var j = 0;
  152. //
  153. // for (var i = iRow; i < iTot; i++) { //현재 로우부터 선택된 행 만큼
  154. // var m = list.get(j++);
  155. // if (i >= t.rows) {
  156. // t.addRow(); //행이 없을 경우 행추가
  157. // }
  158. // t.valueMatrix(i, t.colRef(o.cd)) = m.get("diagcd");
  159. // t.valueMatrix(i, t.colRef(o.nm)) = m.get("diaghngnm");
  160. // }
  161. // }
  162. // model.refresh();
  163. // setParameter( "SPMMO03100_rtn_useyn", "" );
  164. // }
  165. //
  166. //
  167. // }
  168. //
  169. // /**
  170. // * 필수 입력 및 유효성 체크
  171. // * attribute이용
  172. // * ex) required="Y" , requiredEither="{obj:'rdo2_1_1b', msg:'예/아니오'}", requiredWith="{obj:['rdo1_1_1', 'rdo1_1_2', 'rdo1_1_3'], msg:'수술전 검사 시점', when:'B'}"
  173. // */
  174. // function fValidAll() {
  175. // var w = document.controls;
  176. // for (var i =0; i < w.length; i++) {
  177. // var o = w.item(i);
  178. //
  179. // var v = null;
  180. // //필수 입력
  181. // if (o.attribute("required") != "" ) {
  182. // eval("v = "+o.attribute("required")); //넣어두기는 object형태로 넣어뒀는데.. 문자열로 인식해서 eval로 다시 오브젝트 형태로 바꿔줌
  183. // if (o.value == "") {
  184. // messageBox(v.msg+"은(는)", "I003");
  185. // model.setFocus(o.attribute("id"));
  186. // return;
  187. // }
  188. // }
  189. //
  190. // //두개의 값중 하나는 필수
  191. // if (o.attribute("requiredEither") != "" ) {
  192. // if (o.value == "") {
  193. // eval("v = "+o.attribute("requiredEither"));
  194. //
  195. // if (document.all(v.obj).value == "") {
  196. // messageBox(v.msg+" 둘중 하나를 반드시 ", "C002");
  197. // model.setFocus(v.obj);
  198. // return;
  199. // }
  200. // }
  201. // }
  202. //
  203. // //연결된 다른 컨트롤의 값이 필수
  204. // if (o.attribute("requiredWithOne") != "") {
  205. //
  206. // if (o.value != "") {
  207. // eval("v ="+o.attribute("requiredWithOne"));
  208. // var arr = v.obj;
  209. // var bExist = false;
  210. // if (o.elementName == "xforms:select1" && o.attribute("appearance") == "full") { //라디오 일 경우 해당 컨트롤이 체크된 경우만 체크 수행
  211. // if (v.when != o.value) {
  212. // continue;
  213. // }
  214. // }
  215. // for (var j = 0; j < arr.length && !bExist; j++) {
  216. // var t = document.all(arr[j]);
  217. // if (t.value != "") {
  218. // bExist = true;
  219. // break;
  220. // }
  221. // }
  222. // if (!bExist) {
  223. // messageBox(v.msg+" 중 하나를 반드시 ", "C002");
  224. // model.setFocus(v.obj);
  225. // return;
  226. // }
  227. // }
  228. // }
  229. //
  230. // //연결된 다른 컨트롤의 값이 필수
  231. // if (o.attribute("requiredWithAll") != "") {
  232. //
  233. // if (o.value != "") {
  234. // eval("v ="+o.attribute("requiredWithAll"));
  235. // var arr = v.obj;
  236. // var bExist = true;
  237. // if (o.elementName == "xforms:select1" && o.attribute("appearance") == "full") { //라디오 일 경우 해당 컨트롤이 체크된 경우만 체크 수행
  238. // if (v.when != o.value) {
  239. // continue;
  240. // }
  241. // }
  242. // for (var j = 0; j < arr.length && bExist; j++) {
  243. // var t = document.all(arr[j]);
  244. //
  245. // if (t.elementName == "xforms:datagrid") { //데이타 그리드 일때 체크된 값이 있는지 체크
  246. // var iChk = getNodesetCount(t.nodeset+"[chk='true']");
  247. // if (iChk == 0) {
  248. // bExist = false;
  249. // }
  250. // } else {
  251. // if (t.value == "") {
  252. // bExist = false;
  253. // }
  254. // }
  255. // }
  256. // if (!bExist) {
  257. // messageBox(v.msg+" 를 반드시 ", "C002");
  258. // model.setFocus(v.obj);
  259. // return;
  260. // }
  261. // }
  262. // }
  263. // }
  264. //
  265. //
  266. //
  267. // var poi = model.getValue("/root/main/detlinfo/formdetl[itemcd='DI010008']/itemval1") ;
  268. // if (poi =="") {
  269. // messageBox("주진단의 POI이 없습니다", "I999");
  270. // return;
  271. // }
  272. //
  273. //
  274. // //외과 예외사항
  275. // var patdeptcd = model.getValue("/root/main/detlinfo/formdetl[itemcd='DI010001']/itemval1") ;
  276. // if (patdeptcd =="2040000000") {
  277. // if (rdo_5933.value == "" && rdo_5934.value =="") {
  278. // var msg ="[개복술/복강경수술] 여부 또는 [편측/양측] 여부를 반드시 입력하셔야 합니다";
  279. // messageBox(msg, "I999");
  280. // return;
  281. // }
  282. // }
  283. // return true;
  284. // }
  285. //
  286. // /**
  287. // * 진단 팝업으로 받은 델리미터 문자열을 ArrayList<Map>(emr/common/util.js)로 변경해서 반환
  288. // */
  289. // function fTransList(s) {
  290. // var colSep = "▦";
  291. // var rowSep = "▩";
  292. //
  293. // var arrRow = s.split(rowSep);
  294. // var list = new ArrayList();
  295. // for (var i = 1; i < arrRow.length; i++) {
  296. // var arrName = arrRow[0].split(colSep);
  297. // var arrCol = arrRow[i].split(colSep);
  298. // var curMap = new Map();
  299. // for (var j = 0; j < arrCol.length; j++) {
  300. // curMap.put(arrName[j], arrCol[j]);
  301. // }
  302. // if (arrCol.length > 0 && arrRow[i] != "") {
  303. // list.add(curMap);
  304. // }
  305. // }
  306. // return list;
  307. // }
  308. ]]></Script>