SMMMR01400.xjs 13 KB

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