SPMRI01300.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  1. /*
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 통합기록조회 ( SPMRI01300_진료대상자리스트.xrw - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. - Author : 박종훈
  7. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  8. */
  9. /**
  10. * @desc : 화면초기화
  11. * @id :
  12. * @event : xforms-ready
  13. * @return : void
  14. * @authur : 박종훈
  15. */
  16. function fInitalize()
  17. {
  18. setParameter("SPMRI01300_openerid", "SMMRI00400");
  19. model.removeNodeset("/root/main/patlist");
  20. model.setValue("/root/cond/fromdd", getCurrentDate());
  21. model.setValue("/root/cond/todd", getCurrentDate());
  22. //mmbfGetDeptCodeComboList("/root/init/reqdata", "/root/init/deptlist", "D");
  23. //reqGetDeptList("/root/init/reqdata", "/root/init/deptlist", "", "012");
  24. fClickChosflag();
  25. addComboInstance("/root/init/deptlist", "deptcd^deptnm", "-^전체", "orddept"); //진료과 전체항목 추가
  26. model.setValue("/root/cond/orddeptcd", "-");
  27. //fClickChosflag();
  28. model.refresh();
  29. }
  30. /**
  31. * @desc : 진료과 조회
  32. * @id :
  33. * @event : xforms-ready
  34. * @return : void
  35. * @authur : 박종훈
  36. function fInitalize()
  37. {
  38. var chosflag = model.getValue("/root/cond/chosflag");
  39. var srchcond = "";
  40. if (chosflag == "I" || chosflag == "E")
  41. {
  42. srchcond = "D";
  43. }
  44. else
  45. {
  46. srchcond = "O";
  47. }
  48. mmbfGetDeptCodeComboList("/root/init/reqdata", "/root/init/deptlist", srchcond);
  49. }
  50. */
  51. /**
  52. * @desc : 환자조회 버튼 클릭
  53. * @id :
  54. * @event : xforms-select
  55. * @return : void
  56. * @authur : 박종훈
  57. */
  58. function fClickChosflag()
  59. {
  60. var chosflag = model.getValue("/root/cond/chosflag");
  61. var srchcond = "";
  62. if (chosflag == "I" || chosflag == "E")
  63. {
  64. srchcond = "D";
  65. }
  66. else
  67. {
  68. srchcond = "O";
  69. }
  70. mmbfGetDeptCodeComboList("/root/init/reqdata", "/root/init/deptlist", srchcond);
  71. if (chosflag == "O")
  72. {
  73. model.setValue("/root/cond/inoutddflag", "orddd");
  74. cmb_inoutddflag.visible = true;
  75. cmb_inoutddflag.disabled = true;
  76. cmb_ward.disabled = true;
  77. }
  78. else if (chosflag == "I")
  79. {
  80. mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/wardlist", "W"); //병동코드 콤보
  81. addComboInstance("/root/init/wardlist", "deptcd^depthngnm", "-^전체", "dept"); //병동 전체항목 추가
  82. model.setValue("/root/cond/ward", "-");
  83. cmb_inoutddflag.disabled = false;
  84. cmb_ward.disabled = false;
  85. }
  86. else if (chosflag == "E")
  87. {
  88. model.setValue("/root/cond/inoutddflag", "orddd");
  89. cmb_inoutddflag.disabled = false;
  90. cmb_ward.disabled = true;
  91. }
  92. model.refresh();
  93. }
  94. /**
  95. * @desc : 부서선택
  96. * @id :
  97. * @event : xforms-select
  98. * @return : void
  99. * @authur : 박종훈
  100. */
  101. function fAfterChoiRecvDeptCd()
  102. {
  103. model.removeNodeset("/root/init/userlist");
  104. model.makeNode("/root/init/userlist/usercombo");
  105. mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist", cmb_orddept.value, "0330");
  106. addComboInstance("/root/init/userlist", "userid^usernm", "-^전체", "usercombo"); //의사콤보 전체항목 추가
  107. model.setValue("/root/cond/orddrid", "-");
  108. model.refresh();
  109. }
  110. /**
  111. * @desc : 환자조회
  112. * @id :
  113. * @event : DOMActivate
  114. * @return : void
  115. * @authur : 박종훈
  116. */
  117. function fGetPtlist()
  118. {
  119. var orddrid = model.getValue("/root/cond/orddrid");
  120. if (orddrid == "")
  121. orddrid = "-";
  122. model.removeNodeset("/root/send");
  123. model.makeValue("/root/send/chosflag", model.getValue("/root/cond/chosflag"));
  124. model.makeValue("/root/send/inoutddflag", model.getValue("/root/cond/inoutddflag"));
  125. model.makeValue("/root/send/orddeptcd", model.getValue("/root/cond/orddeptcd"));
  126. model.makeValue("/root/send/orddrid", orddrid);
  127. model.makeValue("/root/send/ward", model.getValue("/root/cond/ward"));
  128. model.makeValue("/root/send/fromdd", model.getValue("/root/cond/fromdd"));
  129. model.makeValue("/root/send/todd", model.getValue("/root/cond/todd"));
  130. model.makeValue("/root/send/pid", model.getValue("/root/cond/pid"));
  131. if(submit("TRMRI01301"))
  132. {
  133. var openerid = opener.window.javascript.getParameter("SPMRI01300_openerid") //오픈한 화면의 ID
  134. if (openerid == "SPMMR05400")
  135. {
  136. var chosflag = model.getValue("/root/cond/chosflag");
  137. var grdtit = "";
  138. var grdsize = "";
  139. if (chosflag == "O")
  140. {
  141. grdtit = "orddd^pid^ptnm^sa^dpdr^nursacptdt^indd^dschdd^cretno^instcd^roomcd^badcd^chosflag";
  142. grdsize = "100^55^55^40^110^100^60^0^0^0^0^0^0^0";
  143. }
  144. else if (chosflag == "I")
  145. {
  146. grdtit = "pid^ptnm^sa^dpdr^indd^dschdd^roomcd^nursacptdt^chosflag^orddd^cretno^instcd^badcd";
  147. grdsize = "70^55^55^110^80^80^60^0^0^0^0^0^0";
  148. }
  149. else if (chosflag == "E")
  150. {
  151. grdtit = "pid^ptnm^sa^badcd^dpdr^roomcd^indd^dschdd^nursacptdt^chosflag^orddd^cretno^instcd";
  152. grdsize = "70^55^55^50^0^0^0^0^0^0^0^0^0";
  153. }
  154. if (grdtit != "" && grdsize != "")
  155. {
  156. setOrderInfoOfCol("grd_patlist", grdtit, grdsize);
  157. }
  158. }
  159. }
  160. }
  161. /**
  162. * @desc : 컬럼 순서 정보 설정
  163. * @
  164. * @param : grid ID : 그리드ID
  165. * : refdata : 그리드 ref데이터 구분자 '^'
  166. * : sizedata : 그리드 size데이터 구분자 '^'
  167. * @return :
  168. * @author : 오지훈
  169. * @---------------------------------------------------
  170. */
  171. function setOrderInfoOfCol(grdid, refdata, sizedata)
  172. {
  173. var grdobj = document.controls.item(grdid);
  174. var refarr = refdata.split("^");
  175. var sizearr = sizedata.split("^");
  176. for(var i = 0; i < refarr.length; i++){
  177. var colcnt = grdobj.colref("" + refarr[i] + "");
  178. grdobj.colMove(i, colcnt, "before", false);
  179. var size = sizearr[i];
  180. if(size == 0){ // size of column 0 -> hidden
  181. grdobj.colHidden(i) = true;
  182. }else{
  183. grdobj.colHidden(i) = false;
  184. }
  185. grdobj.colWidth(i) = eval(size);
  186. }
  187. grdobj.rebuild();
  188. }
  189. /**
  190. * @desc : 환자선택
  191. * @id :
  192. * @event : DOMActivate
  193. * @return : void
  194. * @authur : 박종훈
  195. */
  196. function fPatListDbclick()
  197. {
  198. if (isPopup())
  199. {
  200. return;
  201. }
  202. else
  203. {
  204. var openerid = opener.window.javascript.getParameter("SPMRI01300_openerid") //오픈한 화면의 ID
  205. if (openerid == "SMMRI00400")
  206. {
  207. if((grd_patlist.isCell(event.target) && grd_patlist.mouserow >= grd_patlist.fixedrows && (grd_patlist.Rows > 1))) //그리드에서 데이타영역만
  208. {
  209. var pid = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/pid");
  210. parent.ipt_pid.value = pid;
  211. parent.ivw_patlist.visible = false;
  212. parent.window.javascript.fPidKeyPress();
  213. parent.button8.text = "기록조회";
  214. }
  215. }
  216. else if (openerid == "SPMRI01200")
  217. {
  218. if((grd_patlist.isCell(event.target) && grd_patlist.mouserow >= grd_patlist.fixedrows && (grd_patlist.Rows > 1))) //그리드에서 데이타영역만
  219. {
  220. var pid = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/pid");
  221. var ptnm = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/ptnm");
  222. var dpdr = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/dpdr"); //진료과
  223. var chosflag = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/chosflag"); //내원구분
  224. var indd = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/indd"); //입원일자
  225. var dschdd = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/dschdd"); //퇴원일자
  226. var orddd = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/orddd"); //진료일자
  227. var orddeptcd = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/orddeptcd"); //진료과코드
  228. var orddrid = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/orddrid"); //진료의사id
  229. var cretno = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/cretno"); //생성번호
  230. var instcd = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/instcd"); //생성번호
  231. //미비기록리스트에 추가
  232. parent.model.makeValue("/root/temp/unpreprec/pid", pid);
  233. parent.model.makeValue("/root/temp/unpreprec/ptnm", ptnm);
  234. parent.model.makeValue("/root/temp/unpreprec/dpdr", dpdr);
  235. parent.model.makeValue("/root/temp/unpreprec/dschdd", dschdd);
  236. parent.model.makeValue("/root/temp/unpreprec/chosflag", chosflag);
  237. parent.model.makeValue("/root/temp/unpreprec/cretno", cretno);
  238. parent.model.makeValue("/root/temp/unpreprec/instcd", instcd);
  239. parent.model.makeValue("/root/temp/unpreprec/orddeptcd", orddeptcd);
  240. parent.model.makeValue("/root/temp/unpreprec/orddrid", orddrid);
  241. if(chosflag == "O"){
  242. parent.model.makeValue("/root/temp/unpreprec/orddd",orddd);
  243. }else if(chosflag == "I"){
  244. parent.model.makeValue("/root/temp/unpreprec/orddd",indd);
  245. }else if(chosflag == "E"){
  246. parent.model.makeValue("/root/temp/unpreprec/orddd",indd);
  247. }
  248. parent.model.makeValue("/root/temp/unpreprec/indschflag",model.getValue("/root/cond/inoutddflag")); //내원구분
  249. //미비기록 조회
  250. parent.model.makeValue("/root/send/cond/pid" , pid);
  251. }
  252. //미비기록 조회
  253. parent.model.makeValue("/root/send/cond/ioflag", model.getValue("/root/cond/chosflag"));
  254. parent.model.makeValue("/root/hidden/condition/formnm", model.getValue("/root/cond/inoutddflag"));
  255. parent.model.makeValue("/root/send/cond/fromdd", model.getValue("/root/cond/orddschdd"));
  256. parent.model.makeValue("/root/send/cond/deptcd", model.getValue("/root/cond/orddeptcd"));
  257. parent.model.makeValue("/root/send/cond/drid", model.getValue("/root/cond/orddrid"));
  258. parent.model.makeValue("/root/send/cond/wardlist", model.getValue("/root/cond/ward"));
  259. parent.window.javascript.fSrchFormrec();
  260. //parent.window.javascript.fReqUnpr();
  261. }
  262. else if (openerid == "SPMMR05400")
  263. {
  264. if((grd_patlist.isCell(event.target) && grd_patlist.mouserow >= grd_patlist.fixedrows && (grd_patlist.Rows > 1))) //그리드에서 데이타영역만
  265. {
  266. var pid = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/pid");
  267. var patnm = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/ptnm");
  268. var ioflag = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/chosflag"); //내원구분
  269. var orddd = "";
  270. if (ioflag == "O" || ioflag == "S")
  271. {
  272. orddd = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/orddd"); //진료일자
  273. }
  274. else if (ioflag == "I" || ioflag == "E" || ioflag == "D")
  275. {
  276. orddd = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/indd"); //진료일자
  277. }
  278. var orddeptcd = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/orddeptcd"); //진료과코드
  279. var orddrid = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/orddrid"); //진료의사id
  280. var cretno = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/cretno"); //생성번호
  281. var sa = model.getValue("/root/main/patlist[" + grd_patlist.row + "]/sa"); //생성번호
  282. parent.window.javascript.fIvwSetPamInfo(pid, orddd, cretno, ioflag, orddeptcd, orddrid, patnm, sa);
  283. }
  284. }
  285. else if (openerid == "SPMRI02100")
  286. {
  287. parent.model.makeNode("/root/temp/patsubinfo");
  288. parent.model.copyNode("/root/temp/patsubinfo" , grd_patlist.getNode(grd_patlist.row));
  289. parent.model.makeValue("/root/temp/patsubinfo/orddschdd" , model.getValue("/root/cond/orddschdd"));
  290. parent.model.makeValue("/root/temp/patsubinfo/inoutddflag" , model.getValue("/root/cond/inoutddflag"));
  291. parent.model.makeValue("/root/temp/patsubinfo/chosflag" , model.getValue("/root/cond/chosflag"));
  292. parent.model.makeValue("/root/temp/patsubinfo/orddeptcd" , model.getValue("/root/main/patlist[" + grd_patlist.row + "]/orddeptcd"));
  293. parent.window.javascript.fRetUnprep();
  294. model.refresh();
  295. }
  296. }
  297. }
  298. /**
  299. * @desc : 사이즈조절
  300. * @id :
  301. * @event : DOMActivate
  302. * @return : void
  303. * @authur : 박종훈
  304. */
  305. function fInitSize(wid, heig)
  306. {
  307. body.attribute("width") = wid;
  308. body.attribute("height") = heig;
  309. grd_patlist.attribute("width") = wid - 10;
  310. grd_patlist.attribute("height") = parseInt(grd_patlist.attribute("height")) - 5;
  311. grup_patlist.attribute("top") = 0;
  312. grup_patlist.attribute("width") = wid - 2;
  313. grup_patlist.attribute("height") = heig - 2;
  314. roundrect1.attribute("width") = wid - 10;
  315. button7.attribute("left") = parseInt(button7.attribute("left")) + parseInt(button7.attribute("width"));
  316. }