himed_single.xadl 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <ADL version="1.0">
  3. <TypeDefinition url="default_typedef.xml"/>
  4. <GlobalVariables url="globalvars.xml"/>
  5. <Application id="himed_singlemode" codepage="" language="" themeid="XPKNU.xtheme" loginformurl="" loginformstyle="" windowopeneffect="" windowcloseeffect="" version="" tracemode="append" onload="application_onload" usewaitcursor="false" usesoftkeyboard="false" enginesetupkey="{E05CD7D8-28AF-4577-89AC-E4F1F8ABF046}" engineurl="../install/TobeSoft/XPlatform_922240/XPLATFORM9.2.2_SetupEngine.exe" engineversion="9.2.2.240" licenseurl="XPLATFORM_Client_License.xml" filesecurelevel="all" networksecurelevel="all" traceduration="14" httpretry="0" httptimeout="1800" proxyretry="0">
  6. <Layout>
  7. <MainFrame id="MainFrame" title="maintitle" resizable="true" showtitlebar="true" showstatusbar="false" position="absolute 0 0 0 0" showcascadestatustext="false" showcascadetitletext="false">
  8. <VFrameSet id="VFrameSet" separatesize="120,*,23">
  9. <Frames>
  10. <ChildFrame id="ChildFrameTop" formurl="com_hismainxp::form_top_singlemode.xfdl" dragmovetype="none" showtitlebar="false"/>
  11. <FrameSet id="FrameSet">
  12. <Frames>
  13. <ChildFrame id="ChildFrameWork" dragmovetype="none" resizable="false" showtitlebar="false"/>
  14. </Frames>
  15. </FrameSet>
  16. <ChildFrame id="ChildFrameBottom" formurl="com_hismainxp::form_bottom_singlemode.xfdl" dragmovetype="none" showtitlebar="false"/>
  17. </Frames>
  18. </VFrameSet>
  19. </MainFrame>
  20. </Layout>
  21. <Style url="CSS::xpknu_theme.css"/>
  22. </Application>
  23. <Script type="xscript4.0"><![CDATA[//=======================================================================================
  24. // Global Variable
  25. //---------------------------------------------------------------------------------------
  26. //상단 프레임
  27. var agv_objAppTopPath = null;
  28. //업무화면을 관리하는 프레임셋
  29. var agv_objAppWorkPath = null;
  30. //하단 프레임
  31. var agv_objAppBottomPath = null;
  32. //시스템 에러 구분 application_onerror에서 사용
  33. var agv_bSystemError = false;
  34. //업무용 세션 변수
  35. var agv_objBizVariable = null;
  36. //업무용 변수(TF model attribute)
  37. var agv_objBizAttribute = null;
  38. //Cache Variable
  39. var agv_objCommonCache = new Object();
  40. //last transaction time(milli)
  41. var agv_nLastTransactionTime = 0;
  42. //frmf_openForm 함수에서 인자값을 넘길때 사용(frmf_openForm) - frmf_getMainFormParam()에서 사용한다.
  43. var agv_objMainFormParam = null;
  44. function application_onload(obj:Object, e:LoadEventInfo)
  45. {
  46. var findRow = gds_single.findRow("prgmname", gv_SINGLE);
  47. if(findRow > -1) {
  48. gds_single.setColumn(findRow, "activeYN", "Y");
  49. gv_isSingleYN = "Y";
  50. var maintitle = gds_single.lookup("activeYN", "Y", "maintitle");
  51. if(!lf_isNull(maintitle))
  52. application.mainframe.titletext = maintitle;
  53. }
  54. agv_objAppTopPath = mainframe.VFrameSet.ChildFrameTop; // 상단정보
  55. agv_objAppWorkPath = mainframe.VFrameSet.FrameSet.ChildFrameWork; // 업무화면
  56. agv_objAppBottomPath = mainframe.VFrameSet.ChildFrameBottom; // 하단정보
  57. //업무용 세션 변수 초기화
  58. agv_objBizVariable = new Object();
  59. agv_objBizAttribute = new Object();
  60. // 익스플로어에서 url로 접속한 경우 (TFSmartUpdate 실행 안해도 되도록 설정)
  61. if(!lf_isNull(JSESSIONID)) {
  62. gv_bFromWeb = "Y";
  63. }
  64. gf_setUrl();
  65. gf_loginProcess();
  66. }
  67. function gf_setUrl(inst){
  68. application.mainframe.style.icon = "";
  69. var loginSaveInst = "";
  70. var urlTFArr = application.services["TFURL"].url;
  71. var xadlURLArr = application.xadl.split("/");
  72. if (xadlURLArr[0].indexOf("http") == 0) // 서버환경인 경우
  73. {
  74. // 시스템 구분 미저장 시
  75. if(xadlURLArr[2].indexOf("hisx031") != -1) { // 본원 접속
  76. loginSaveInst = "his031";
  77. }
  78. else if(xadlURLArr[2].indexOf("hisx032") != -1) { // 칠곡 접속
  79. loginSaveInst = "his032";
  80. }
  81. trace("loginSaveInst : " + loginSaveInst);
  82. var urlArr = application.services["SVR"].url.split("/");
  83. // 로컬서버
  84. if(xadlURLArr[2].indexOf("999dev") != -1){
  85. // if(loginSaveInst == "his031"){
  86. // urlArr = "http://hisx031edu.knuh.kr:80/himed/.lxp?".split("/");
  87. // urlTFArr = "http://his031edu.knuh.kr/himed";
  88. // }else if(loginSaveInst == "his032"){
  89. // urlArr = "http://hisx032edu.knuh.kr:80/himed/.lxp?".split("/");
  90. // urlTFArr = "http://his032edu.knuh.kr/himed";
  91. // }else if(loginSaveInst == "mis030"){
  92. // urlArr = "http://misx030edu.knuh.kr:80/himed/.lxp?".split("/");
  93. // urlTFArr = "http://mis030edu.knuh.kr/himed";
  94. // }
  95. gv_currentInstnm = "개인로컬";
  96. gv_bUseSSL = false;
  97. }
  98. // 교육서버
  99. else if(xadlURLArr[2].indexOf("edu") != -1){
  100. if(loginSaveInst == "his031"){
  101. urlArr = "http://hisx031edu.knuh.kr:80/himed/.lxp?".split("/");
  102. gv_currentInstnm = "본원교육";
  103. }else if(loginSaveInst == "his032"){
  104. urlArr = "http://hisx032edu.knuh.kr:80/himed/.lxp?".split("/");
  105. gv_currentInstnm = "칠곡교육";
  106. }
  107. gv_bUseSSL = true;
  108. }
  109. // 운영서버
  110. else {
  111. if(loginSaveInst == "his031"){
  112. urlArr = "http://hisx031.knuh.kr:80/himed/.lxp?".split("/");
  113. gv_currentInstnm = "본원운영";
  114. }else if(loginSaveInst == "his032"){
  115. urlArr = "http://hisx032.knuh.kr:80/himed/.lxp?".split("/");
  116. gv_currentInstnm = "칠곡운영";
  117. }
  118. gv_bUseSSL = true;
  119. }
  120. trace("urlArr : " + urlArr);
  121. trace("urlTFArr : " + urlTFArr);
  122. trace("gv_currentInstnm : " + gv_currentInstnm);
  123. var domainArr = urlArr[2].split(":");
  124. gv_sURLprefix = "http://"+urlArr[2]+"/"+urlArr[3];
  125. gv_sURLprefixSSL = "https://"+domainArr[0]+":443/"+urlArr[3];
  126. gv_bIsPreview = false;
  127. gv_isCommonPopup = true; // 공통 마우스 우측 팝업 사용
  128. }
  129. else // 개발자 환경인 경우 (미리보기환경)
  130. {
  131. var serviceURLArr = application.services["SVR"].url.split("/");
  132. // if(loginSaveInst != ""){
  133. // if(loginSaveInst == "his031"){
  134. // serviceURLArr = "http://hisx031edu.knuh.kr:80/himed/.lxp?".split("/");
  135. // }else if(loginSaveInst == "his032"){
  136. // serviceURLArr = "http://hisx032edu.knuh.kr:80/himed/.lxp?".split("/");
  137. // }else if(loginSaveInst == "mis030"){
  138. // serviceURLArr = "http://misx030edu.knuh.kr:80/himed/.lxp?".split("/");
  139. // }
  140. // }
  141. gv_currentInstnm = "개인로컬";
  142. var localDomainArr = serviceURLArr[2].split(":");
  143. gv_sURLprefix = "http://"+serviceURLArr[2]+"/"+serviceURLArr[3];
  144. gv_sURLprefixSSL = "https://"+localDomainArr[0]+":8443/"+serviceURLArr[3];
  145. gv_bIsPreview = true;
  146. gv_bUseSSL = false;
  147. application.mainframe.style.icon = lf_getIconImg("ico");
  148. }
  149. if(loginSaveInst == "his032"){
  150. gv_currentInstcd = "his032";
  151. gv_LoginSavedInst = "his032";
  152. } else {
  153. gv_currentInstcd = "his031";
  154. gv_LoginSavedInst = "his031";
  155. }
  156. application.mainframe.style.icon = lf_getIconImg("ico");
  157. // 접속시스템에 따라 타이틀바 아이콘 표시
  158. var objTitlebar = application.mainframe.titlebar;
  159. var oIv = objTitlebar.components["ivIcon"];
  160. if(lf_isNull(oIv)) {
  161. oIv = new ImageViewer();
  162. oIv.init("ivIcon", -1, -1, 27, 25);
  163. oIv.style.background = "#262d39ff";
  164. oIv.style.border = "0 none transparent";
  165. oIv.style.bordertype = "normal 0 0";
  166. oIv.style.padding = "2 0 0 0";
  167. oIv.imagealign = "right top";
  168. objTitlebar.addChild(oIv.name, oIv);
  169. oIv.show();
  170. }
  171. oIv.image = "";
  172. oIv.image = lf_getIconImg("png");
  173. gf_useSSL(gv_bUseSSL);
  174. }
  175. function gf_useSSL(usessl)
  176. {
  177. if(system.osversion == "Windows XP") {
  178. gv_bUseSSL = false;
  179. usessl = false;
  180. }
  181. if (usessl){
  182. application.services["SVR"].url = gv_sURLprefixSSL+"/.lxp?";
  183. }else{
  184. application.services["SVR"].url = gv_sURLprefix+"/.lxp?";
  185. }
  186. }
  187. function gf_loginProcess()
  188. {
  189. var nMoniterIndex;
  190. var nScreenLeft;
  191. var nScreenTop;
  192. var nScreenRight;
  193. var nScreenBottom;
  194. var nScreenWidth;
  195. var nScreenHeight;
  196. var arrScreenSize;
  197. var monitorIndex = application.getPrivateProfile("gv_nMonitorIndex");
  198. if(lf_isNull(monitorIndex)) monitorIndex = 1;
  199. nMoniterIndex = monitorIndex;//system.getMonitorIndex(system.cursorx, system.cursory); //모니터번호
  200. //alert("login process="+nMoniterIndex);
  201. objScreenSize = system.getScreenRect(nMoniterIndex);
  202. nScreenLeft = objScreenSize.left;
  203. nScreenTop = objScreenSize.top;
  204. nScreenRight = objScreenSize.right;
  205. nScreenBottom = objScreenSize.bottom;
  206. nScreenWidth = nScreenRight - nScreenLeft;
  207. nScreenHeight = nScreenBottom - nScreenTop;
  208. // //로그인 창 나올때 작업표시줄 아이콘 표시를 위하여 mainframe 크기를 0으로 줄인다.
  209. // var nMainLeft = application.mainframe.position.left;
  210. // var nMainTop = application.mainframe.position.top;
  211. // var nMainWidth = application.mainframe.position.width;
  212. // var nMainHeight = application.mainframe.position.height;
  213. //
  214. application.mainframe.position.left = Math.ceil(nScreenLeft+(nScreenWidth/2));
  215. application.mainframe.position.top = Math.ceil(nScreenTop+(nScreenHeight/2));
  216. application.mainframe.position.width = 3; // 0 인 상태로는 titletext 값 변경이 안됨
  217. application.mainframe.position.height = 3;
  218. application.mainframe.visible = true;
  219. //application.mainframe.style.icon = "theme://images\\icon_titlebar.png";
  220. //로그인 화면 기동
  221. var left = nScreenLeft + (nScreenWidth / 2) - 217;
  222. var top = nScreenTop + (nScreenHeight / 2) - 353;
  223. // left, top 좌표가 원격 접속시 -로 발생하는 현상이 있는 것에 대한 처리
  224. if(left < 0) left = 423;
  225. if(top < 0) top = 140;
  226. var right = left + 434;
  227. var bottom = top + 353;
  228. var objFrame = new ChildFrame("Login", left, top, right, bottom);
  229. objFrame.showtitlebar = false;
  230. objFrame.titlebar.minbutton.enable = true;
  231. objFrame.titlebar.maxbutton.enable = false;
  232. objFrame.layered = true;
  233. objFrame.style.background = "transparent";
  234. objFrame.formurl = "com_hismainxp::form_login.xfdl";
  235. objFrame.style.icon = lf_getIconImg("png");
  236. var rtn = objFrame.showModal("Login", application.mainframe);
  237. if(rtn=="OK"){
  238. // //로그인 창 나올때 mainframe를 원래 크기로 적용한다.
  239. // //gf_setFrameSize();
  240. // //설명처방 화면 오픈
  241. // var left = nScreenLeft + (nScreenWidth / 2) - 512;
  242. // var top = nScreenTop + (nScreenHeight / 2) - 768;
  243. //
  244. // // left, top 좌표가 원격 접속시 -로 발생하는 현상이 있는 것에 대한 처리
  245. // if(left < 0) left = 423;
  246. // if(top < 0) top = 140;
  247. //
  248. // var right = left + 1024;
  249. // var bottom = top + 353;
  250. //
  251. // var objFrameHiChart = new ChildFrame("HiChart", left, top, right, bottom);
  252. // //objFrame.showtitlebar = false;
  253. // //objFrame.titlebar.minbutton.enable = true;
  254. // //objFrame.titlebar.maxbutton.enable = false;
  255. // //objFrame.layered = true;
  256. // //objFrame.style.background = "transparent";
  257. // objFrameHiChart.formurl = "com_hichartxp::SPZMH00100_설명처방.xfdl";
  258. // //objFrame.style.icon = "IMG::" + gv_currentInstcd + ".png";
  259. //
  260. // var rtn = objFrameHiChart.showModal("HiChart", application.mainframe);
  261. // gv_isCanLogout = true;
  262. // exit();
  263. agv_objAppWorkPath.form.fSingleOpen();
  264. }else{
  265. gv_isCanLogout = true;
  266. exit();
  267. }
  268. }
  269. function lf_getIconImg(imgType) {
  270. var result = "";
  271. var prgmname = gds_single.lookup("activeYN", "Y", "prgmname");
  272. var instcd = gv_currentInstcd;
  273. if(lf_isNull(instcd)) instcd = "his031";
  274. if(imgType == "png") {
  275. if(lf_isNull(prgmname))
  276. result = "IMG::his031.png";
  277. else
  278. result = "IMG::" + prgmname + instcd.substr(3) + ".png";
  279. } else {
  280. if(lf_isNull(prgmname))
  281. result = "IMG::KU2_031.ico";
  282. else
  283. result = "IMG::" + prgmname + "_" + instcd.substr(3) + ".ico";
  284. }
  285. return result;
  286. }
  287. function lf_isNull(sValue)
  288. {
  289. if( ("x"+sValue == "xNaN") && ( new String(sValue.length).valueOf() == "undefined")) return true;
  290. if (sValue == null) return true;
  291. var v_ChkStr = new String(sValue);
  292. if (v_ChkStr == null) return true;
  293. if (v_ChkStr.toString().length == 0 ) return true;
  294. return false;
  295. }]]></Script>
  296. </ADL>