MMR00502.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425
  1. /**
  2. * MMR00501.js
  3. * SMMMR00501_입원경과JCI.xrw
  4. */
  5. /**
  6. * @desc : [item코드목록]
  7. * "0008224001"//S&O
  8. * "0001129001"//A
  9. * "0022826001"//Care Plan
  10. * [버튼목록]
  11. * "btn_imge_0008224001" //S&O 이미지버튼
  12. * "btn_fmy_0008224001" //S&O 가계도버튼
  13. * "btn_etcrec_0008224001" //S&O 추가기록버튼
  14. * "btn_etcrec_0001129001" //A 추가기록버튼
  15. */
  16. var gItemCds = new Array(
  17. "0008224001"//S&O
  18. , "0001129001"//A
  19. , "0022826001"//Care Plan
  20. );
  21. /**
  22. * @desc : 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시를 위한 버튼목록
  23. * @id :
  24. * @authur : 안치원
  25. * @history : 2009.09.09 신규 안치원 ACW_090909A
  26. */
  27. var gExtnBtnIds = new Array(
  28. "btn_imge_0008224001" //S&O 이미지버튼
  29. , "btn_fmy_0008224001" //가계도버튼
  30. , "btn_etcrec_0008224001" //S&O 추가기록버튼
  31. , "btn_etcrec_0001129001" //A 추가기록버튼
  32. );
  33. var gLoadFormCnts = 0;
  34. /**
  35. * @group :
  36. * @ver : 2008.06.13
  37. * @by : snoweye
  38. * @---------------------------------------------------
  39. * @type : function
  40. * @access : private
  41. * @desc : 화면 로딩후 초기화 작업 수행
  42. * @param :
  43. * @return :
  44. * @---------------------------------------------------
  45. */
  46. function fFormReady()
  47. {
  48. grup_base.attribute("border-style") = "none";
  49. //섹션사이즈초기화
  50. setSectionSize(gItemCds, 0, 683);
  51. //섹션별 버튼초기화
  52. InitBtnImge(gItemCds);
  53. InitBtnFmy(gItemCds);
  54. InitBtnComn(gItemCds);
  55. InitBtnDiag("0001129001");
  56. InitBtnEtcRec(gItemCds);
  57. //기본 첫번째 부분서식을 로딩해서 보여준다.
  58. dispOnLoadComplete(COMN_FORM);//COMN_FORM : 1
  59. //폼레디 완료 후 MMRCommon.js의 initSection()에서 로딩되지 않은 부분서식 로딩한다.
  60. loadUnitForm_MMR00502(gItemCds);
  61. //2010.01.21, hkjoo
  62. initCmbExtnList(gItemCds);
  63. }
  64. /**
  65. * @desc : 기록데이터 조회
  66. * @id :
  67. * @event : xforms-ready
  68. * @return : void
  69. * @authur : 박종훈
  70. */
  71. function fLoadData()
  72. {
  73. InitPgmFormData();
  74. InitUnitFormData(gItemCds);
  75. }
  76. /**
  77. * @group :
  78. * @ver : 2008.06.13
  79. * @by : snoweye
  80. * @---------------------------------------------------
  81. * @type : function
  82. * @access : private
  83. * @desc : 부분서식 로딩
  84. * @param :
  85. * @return :
  86. * @---------------------------------------------------
  87. */
  88. function fLoadUnitForm()
  89. {
  90. initSection(gItemCds);
  91. }
  92. /**
  93. * @group :
  94. * @ver : 2008.06.13
  95. * @by : snoweye
  96. * @---------------------------------------------------
  97. * @type : function
  98. * @access : private
  99. * @desc : 부분서식 로딩후 후처리
  100. * @param :
  101. * @return :
  102. * @---------------------------------------------------
  103. */
  104. function fOnLoadComplete()
  105. {
  106. var curLoadFormCd = getParameter("loadformcd");
  107. var fstLevlItemCd = model.getValue(gPageInfo.forminfoRef + "/unitformmast[formcd='" + curLoadFormCd + "' and loaded != 'true']/orgsupdegnitemcd");
  108. var ivwObj = document.controls("ivw_" + fstLevlItemCd);
  109. var unitformload = model.getValue(gPageInfo.forminfoRef + "/unitformmast[formcd='" + curLoadFormCd + "' and loaded != 'true']/loaded");
  110. if(ivwObj != null && unitformload != "true")
  111. {
  112. setFstLevlItemCd(ivwObj, curLoadFormCd);
  113. model.setValue(gPageInfo.forminfoRef + "/unitformmast[formcd='" + curLoadFormCd + "']/loaded", "true");
  114. }
  115. //Care Plan load
  116. // if( fstLevlItemCd == "0022826001")
  117. // fSetSizeFormCC(fstLevlItemCd);
  118. //20091215 dhkim
  119. ////Care Plan load
  120. //if(fstLevlItemCd == "0022826001")
  121. // fSetSizeFormCarePlan(fstLevlItemCd);
  122. gLoadFormCnts++;
  123. if(gItemCds.length == gLoadFormCnts)
  124. {
  125. dispOnLoadComplete(UNIT_FORM);
  126. if (parent.window.javascript.fGetFormRec("status") == "C")
  127. {
  128. SetDefFocusMTX(gItemCds);
  129. }
  130. }
  131. }
  132. /**
  133. * @group :
  134. * @ver : 2008.11.28
  135. * @by : jonghun
  136. * @---------------------------------------------------
  137. * @type : function
  138. * @access : private
  139. * @desc : 동일 서식이 떠있을 경우 내부 인스턴스 로딩 후 디폴트 조회내용 조회
  140. * @param :
  141. * @return :
  142. * @---------------------------------------------------
  143. */
  144. function fGetDefData()
  145. {
  146. dispOnLoadComplete(UNIT_FORM);
  147. if (parent.window.javascript.fGetFormRec("status") == "C")
  148. {
  149. SetDefFocusMTX(gItemCds);
  150. }
  151. }
  152. /**
  153. * @desc : 서식 주호소 화면 로딩 후 사이즈 조절
  154. * care plan 화면 로딩 후 사이즈 조절
  155. * 퇴원계획화면 로딩 후 사이즈 조절
  156. * @id :
  157. * @event : xforms-ready
  158. * @return : void
  159. * @authur : dhkim
  160. */
  161. function fSetSizeFormCC(gItemCd_MMR00501)
  162. {
  163. //Care Plan 화면 로딩
  164. if(gItemCd_MMR00501 == "0022826001")//상용구 hidden
  165. ivw_0022826001.window.javascript.fInitPage(true, parseInt(ivw_0022826001.attribute("height")), parseInt(ivw_0022826001.attribute("width")));
  166. }
  167. /**
  168. * @group :
  169. * @ver : 2009.12.04
  170. * @by : dhkim
  171. * @---------------------------------------------------
  172. * @type : function
  173. * @access : private
  174. * @desc : 부분서식 로딩
  175. * (0022826001) Care Plan
  176. * @param : gItemCds
  177. * @return :
  178. * @---------------------------------------------------
  179. */
  180. function loadUnitForm_MMR00502(itemCds){
  181. var pageInfo = new PAGEINFO();
  182. copyNodeset("/root/main", "/root/main", "replace", model, parent.model);
  183. model.removeNodeset("/root/main/recinfo");
  184. makeRefByDegnitemno();
  185. for (var i = 0; i < itemCds.length; i++)
  186. {
  187. var formdegnseq = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']/formdegnseq");
  188. var unitformcd = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']/formcd");
  189. var ivwObj = document.controls("ivw_" + itemCds[i]);
  190. var tarObj = document.controls("tar_" + itemCds[i]);
  191. // if(itemCds[i] == "0022826001") //care plan
  192. // {
  193. // ivwObj.visible = true;
  194. // tarObj.visible = false;
  195. //
  196. // var unitformprogflag = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']/formprogflag");
  197. //
  198. // ivwObj.attribute("supdegnitemcd") = itemCds[i];
  199. // ivwObj.attribute("unitformcd") = unitformcd;
  200. //
  201. //
  202. // model.addLog(unitformcd + " Loading 시작 : " + getCurrentTime());
  203. // loadUnitForm(ivwObj, itemCds[i]);
  204. // model.addLog(unitformcd + " Loading 끝 : " + getCurrentTime());
  205. //
  206. // }
  207. }
  208. }
  209. /**
  210. * @desc : care plan ivw 확대
  211. * @
  212. * @param :
  213. * @return :
  214. * @authur : dhkim
  215. */
  216. function expandSection_MMR00502(){
  217. var ctrlID = event.target;
  218. var itemcd = ctrlID.replace("lbl_", "");
  219. var bFold = itemcd == gMaxSectionID ? true : false;
  220. var ctrl = null;
  221. var unitformcd = "";
  222. var itemCds = gItemCds;
  223. for (var i = 0; i < itemCds.length; i++)
  224. {
  225. var secCtrl = document.controls("lbl_" + itemCds[i]);
  226. var formdegnseq = model.getValue(gPageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']/formdegnseq");
  227. unitformcd = model.getValue(gPageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']/formcd");
  228. if(formdegnseq == "")
  229. ctrl = document.controls("tar_" + itemCds[i]);
  230. else
  231. ctrl = document.controls("ivw_" + itemCds[i]);
  232. //20100106 dhkim ivw 축소/확장
  233. if(itemcd == itemCds[i]){
  234. if(bFold){
  235. ctrl.attribute("height") = gMaxSectionHei;
  236. if (unitformcd == "0900006875")//care plan 상용구 hidden
  237. {
  238. ctrl.window.javascript.fInitPage(true, parseInt(gMaxSectionHei), parseInt(ctrl.attribute("width")));
  239. }else{
  240. ctrl.window.javascript.fInitPage(false, parseInt(gMaxSectionHei), parseInt(ctrl.attribute("width")));
  241. }
  242. }else{
  243. ctrl.attribute("height") = ctrl.attribute("orgheight");
  244. if (unitformcd == "0900006875")//care plan 상용구 hidden
  245. {
  246. ctrl.window.javascript.fInitPage(true, parseInt(ctrl.attribute("orgheight")), parseInt(ctrl.attribute("width")));
  247. }else{
  248. ctrl.window.javascript.fInitPage(false, parseInt(ctrl.attribute("orgheight")), parseInt(ctrl.attribute("width")));
  249. }
  250. }
  251. }
  252. /*
  253. if (unitformcd == "0900006875")//care plan 상용구 hidden
  254. {
  255. ctrl.window.javascript.fInitPage(true, parseInt(ctrl.attribute("height")), parseInt(ctrl.attribute("width")));
  256. }
  257. */
  258. }
  259. }
  260. /**
  261. * @desc : 서식 데이터 Clear
  262. * @id :
  263. * @event : xforms-ready
  264. * @return : void
  265. * @authur : 박종훈
  266. */
  267. function fClearComnFormData()
  268. {
  269. if (gMaxSectionID != "")
  270. {
  271. var MaxObj = document.controls("lbl_" + gMaxSectionID);
  272. MaxObj.dispatch("onclick");
  273. }
  274. ClearComnFormData(gItemCds);
  275. clearData();
  276. //포커스 처리
  277. SetDefFocusMTX(gItemCds);
  278. }
  279. /**
  280. * @desc : 기록 인스턴스 연결
  281. * @id :
  282. * @event : xforms-ready
  283. * @return : void
  284. * @authur : 박종훈
  285. */
  286. function fSetRecItemValue(reciteminfo)
  287. {
  288. return SetCommMediFormValue(gItemCds, reciteminfo);
  289. }
  290. /*****************************************************************************
  291. 튜닝
  292. ******************************************************************************/
  293. /**
  294. * @desc : 서식 주호소 화면 로딩 후 사이즈 조절
  295. * care plan 화면 로딩 후 사이즈 조절
  296. * 퇴원계획화면 로딩 후 사이즈 조절
  297. * @id :
  298. * @event : xforms-ready
  299. * @return : void
  300. * @authur : dhkim
  301. */
  302. function fSetSizeFormCarePlan()
  303. {
  304. ivw_0022826001.window.javascript.fInitPage(false, parseInt(ivw_0022826001.attribute("height")), parseInt(ivw_0022826001.attribute("width")));
  305. }
  306. /**
  307. * MMR01300.js에서 submit직전에 submitID를 설정하기 위해서 호출한다.
  308. * @return
  309. */
  310. function getSubmitID_MMR01300I() {
  311. parent.window.javascript.fSetFormRec("addexecflag", "careplan");
  312. //2010.02.23 dhkim - 통합기록조회용 JCI구분자추가(fSetXsltFlag없애고 getSubmitID_MMR01300I로 이동)
  313. parent.window.javascript.fSetFormRec("xsltflag", "JCI2");
  314. return TX_SUBMIT_EXTN_FORM;
  315. }
  316. /**
  317. * 20091230 dhkim 추가
  318. * MMR01100.js에서 서식load를 완료한 후에 호출한다.
  319. * @return
  320. */
  321. function initFormAtLast_MMR01100I() {
  322. //SMMMR00501을 완전히 로드한 후 careplan에 addrow한다.
  323. //ivw_0022826001.window.javascript.fAddrow();
  324. //2010.01.19 dhkim - 통합기록조회용 JCI구분자추가
  325. //parent.window.javascript.fSetFormRec("xsltflag", "JCI");//fSetXsltFlag없애고 getSubmitID_MMR01300I로 이동
  326. }
  327. /**
  328. * @ver : 2010.01.06 dhkim
  329. * @desc : 저장전 필수입력내역을 체크한다.(care plan)
  330. */
  331. function fChkPreSave(){
  332. var pageInfo = new PAGEINFO();
  333. var itemNm = model.instances(0).selectSingleNode(pageInfo.formdegnRef + "[degnitemcd = '0022826001']").getXPathString("itemnm");
  334. // Care Plan 입력방식 변경으로 인하여 막음(2014.01.22)
  335. // var rtnVal = ivw_0022826001.window.javascript.fChkGrdPreSave(itemNm);
  336. // if(rtnVal == false){
  337. // return rtnVal;
  338. // }
  339. }
  340. function fOpenTestTemplate(degnitemlevlcd, degnitemcd){
  341. setParameter("SPMMR09001_degnitemlevlcd",degnitemlevlcd);
  342. setParameter("SPMMR09001_degnitemcd",degnitemcd);
  343. modal("SPMMR09001");
  344. }