SMMMR01400.js 11 KB

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