SPZUM20000_비밀번호변경.xfdl 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPZUM20000" position="absolute 0 0 722 620" titletext="비밀번호변경" class="frm_POP" onload="SPZUM20000_onload" onbeforeclose="SPZUM20000_onbeforeclose" onkeydown="SPZUM20000_onkeydown" onlbuttondown="SPZUM20000_onlbuttondown">
  5. <Layouts>
  6. <Layout>
  7. <Static text="현재비밀번호" position="absolute 68 164 166 184" id="cap_keeppwd" class="cell_1"/>
  8. <Shape position="absolute 25 89 365 134" id="roundrect1" type="roundrectangle"/>
  9. <Static text="새비밀번호확인" position="absolute 68 318 166 338" id="cap_cnfmpwd" class="cell_1"/>
  10. <Edit position="absolute 169 262 299 282" id="sct_oldpwd" class="input_essential" password="true"/>
  11. <Edit position="absolute 169 290 299 310" id="sct_pwd" class="input_essential" password="true"/>
  12. <Static text="현재비밀번호" position="absolute 68 262 166 282" id="cap_oldpwd" class="cell_1"/>
  13. <Edit position="absolute 169 318 299 338" id="sct_cnfmpwd" class="input_essential" password="true"/>
  14. <Static text="새비밀번호" position="absolute 68 290 166 310" id="cap_pwd" class="cell_1"/>
  15. <Shape position="absolute 68 337 299 343" linetype="horizontal" id="line6" class="line_3"/>
  16. <Button position="absolute 120 352 272 372" id="btn_pwd" class="btn4" text="로그인비밀번호변경" onclick="btn_pwd_onclick"/>
  17. <Static text="변경된 비밀번호는 3개월간 유지" position="absolute 18 468 316 488" id="caption8" class="hand"/>
  18. <Static text="최소 10자리 이상 숫자, 영문, 특수문자 반드시 포함 &#13;&#10;(대소문자구분됨)" position="absolute 18 393 361 423" id="caption1" class="hand" style="linespace:5;"/>
  19. <Shape position="absolute 68 309 299 315" linetype="horizontal" id="line1" class="line_3"/>
  20. <Shape position="absolute 68 281 299 287" id="line2" class="line_3"/>
  21. <Static text="인증평가 및 개인정보보호를 위해 로그인 비밀번호를 &#13;&#10;변경해 주시기 바랍니다." position="absolute 40 94 361 129" id="caption2" style="linespace:5;font:Dotum,9,bold;"/>
  22. <Button position="absolute 143 197 247 217" id="btn_keeppwd" class="btn4" text="비밀번호유지" onclick="btn_keeppwd_onclick"/>
  23. <Static text="비밀번호 변경" position="absolute 30 239 150 259" id="caption4" class="tit_2"/>
  24. <Shape position="absolute 25 228 364 234" id="line3" class="line_6"/>
  25. <Edit position="absolute 169 164 299 184" id="sct_keeppwd" class="input_essential" password="true"/>
  26. <Shape position="absolute 68 183 299 189" linetype="horizontal" id="line4" class="line_3"/>
  27. <Static text="&lt;Caps Lock&gt;이 켜져 있습니다." position="absolute 167 35 375 56" id="cap_capslock" visible="false" style="background:beige;border:1 solid #808080ff ;color:#ff0000ff;bordertype:round 3 3 ;align:center middle;font:Dotum,9,bold;"/>
  28. <Static text="사용자계정(ID)은 비밀번호에 포함될 수 없음" position="absolute 18 426 334 446" id="caption5" class="hand"/>
  29. <Static text="문자/숫자 4자리 이상 반복될 수 없음" position="absolute 18 447 329 467" id="caption7" class="hand"/>
  30. <Static text="※ 관련근거: 진료지원실(의무기록)-1042호(본원)" position="absolute 27 494 327 514" align="align:left middle;" id="caption20" style="color:#3366ffff;font:Dotum,9,bold;"/>
  31. <Static text="기존 비밀번호 유지" position="absolute 30 144 168 164" id="caption9" class="tit_2"/>
  32. <Static position="absolute 8 53 383 81" align="align:center middle;" id="msg" style="color:#ff0000ff;align:center middle;font:Dotum,9,bold;"/>
  33. <Button position="absolute 655 7 703 29" id="btn_close" class="btn3" text="종료" style="imagealign:lefttext middle;" onclick="btn_close_onclick"/>
  34. <Static text="※ 문의: 전산실(T. 6597)" position="absolute 27 534 347 549" id="caption3" style="color:#3366ffff;font:Dotum,9,bold;"/>
  35. <Static text="진료행정과(의무기록)-267호(칠곡)" position="absolute 106 513 336 533" align="align:left middle;" id="caption10" style="color:#3366ffff;font:Dotum,9,bold;"/>
  36. <Static text="※ MIS 비밀번호 수정 시 &#13;&#10; - 5분 뒤 문서암호(DRM) 비번도 같이 변경됨&#13;&#10; - 1시간 뒤 무선AP(KNUH-STAFF) 비번도 같이 변경됨 " position="absolute 27 554 377 607" align="align:left middle;" id="caption11" style="linespace:5;color:#ff00ffff;font:Dotum,9,bold;"/>
  37. <Static id="stt_titleText" text="비밀번호 변경" onclick="stt_titleText_onclick" class="sta_POP_title" transparenthittest="true" position="absolute 12 8 121 28"/>
  38. <Shape id="Shape00" position="absolute 376 56 385 608" linetype="vertical" class="line_1"/>
  39. <Static id="Static00" text="연락처 수정" position="absolute 393 92 485 112" class="tit_2"/>
  40. <Shape id="Shape01" position="absolute 393 109 702 113" class="line_10"/>
  41. <Grid id="grd_license" taborder="1" useinputpanel="false" position="absolute 393 190 702 584" binddataset="ds_licenseinfo" autofittype="col" autoenter="key">
  42. <Formats>
  43. <Format id="default">
  44. <Columns>
  45. <Column size="24"/>
  46. <Column size="112"/>
  47. <Column size="66"/>
  48. <Column size="90"/>
  49. </Columns>
  50. <Rows>
  51. <Row size="24" band="head"/>
  52. <Row size="24"/>
  53. </Rows>
  54. <Band id="head">
  55. <Cell/>
  56. <Cell col="1" text="근무지"/>
  57. <Cell col="2" text="면허번호"/>
  58. <Cell col="3" text="전문의면허번호"/>
  59. </Band>
  60. <Band id="body">
  61. <Cell celltype="head"/>
  62. <Cell col="1" displaytype="text" text="bind:deptnm"/>
  63. <Cell col="2" edittype="text" style="align:center middle;" text="bind:licnsno"/>
  64. <Cell col="3" edittype="text" style="align:center middle;" text="bind:medispclno"/>
  65. </Band>
  66. </Format>
  67. </Formats>
  68. </Grid>
  69. <Static id="Static02" text="N-ZONE 번호" class="cell_1" position="absolute 393 136 485 158"/>
  70. <Static id="Static01" text="휴대전화번호" position="absolute 393 113 485 135" class="cell_1"/>
  71. <Edit id="edt_mpphono" taborder="2" position="absolute 487 113 590 133" autoselect="true"/>
  72. <Edit id="edt_zone" taborder="3" position="absolute 487 136 590 156" autoselect="true"/>
  73. <Shape id="Shape02" position="absolute 393 133 589 137"/>
  74. <Shape id="Shape03" position="absolute 394 156 590 160" class="line_1"/>
  75. <Static id="Static03" text="근무지별 면허번호 수정" class="tit_2" position="absolute 393 169 557 189"/>
  76. <Shape id="Shape04" class="line_10" position="absolute 393 186 701 190"/>
  77. <Button id="btn_init" taborder="4" text="원래대로" position="absolute 638 165 701 185" class="btn2" onclick="btn_init_onclick"/>
  78. <Static id="Static04" text="※ 면허번호 관련 직종은 꼭 확인하시길 바랍니다." position="absolute 391 587 699 607" style="color:orangered;font:Dotum,9,bold;"/>
  79. <Button id="btn_contactlicensesave" taborder="5" text="연락처 및&#13;&#10;면허번호 저장" position="absolute 593 113 702 156" class="btn4" style="padding:0 0 0 8;align:left middle;" onclick="btn_contactlicensesave_onclick"/>
  80. </Layout>
  81. </Layouts>
  82. <Objects>
  83. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  84. <ColumnInfo>
  85. <Column id="pwd" type="STRING" size="256" sumtext="비밀번호"/>
  86. <Column id="oldpwd" type="STRING" size="256" sumtext="이전비밀번호"/>
  87. <Column id="cnfmpwd" type="STRING" size="256" sumtext="비밀번호확인"/>
  88. <Column id="chkyn" type="STRING" size="256" sumtext="비밀번호 유지,변경 체크"/>
  89. <Column id="keeppwd" type="STRING" size="256" sumtext="이전비밀번호"/>
  90. </ColumnInfo>
  91. <Rows>
  92. <Row/>
  93. </Rows>
  94. </Dataset>
  95. <Dataset id="ds_result" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  96. <ColumnInfo>
  97. <Column id="msg" type="STRING" size="256"/>
  98. </ColumnInfo>
  99. </Dataset>
  100. <Dataset id="ds_contactinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  101. <ColumnInfo>
  102. <Column id="mpphonno" type="STRING" size="256"/>
  103. <Column id="pdano" type="STRING" size="256"/>
  104. </ColumnInfo>
  105. <Rows>
  106. <Row/>
  107. </Rows>
  108. </Dataset>
  109. <Dataset id="ds_licenseinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  110. <ColumnInfo>
  111. <Column id="deptnm" type="STRING" size="256"/>
  112. <Column id="licnsno" type="STRING" size="256"/>
  113. <Column id="medispclno" type="STRING" size="256"/>
  114. </ColumnInfo>
  115. </Dataset>
  116. <Dataset id="ds_save_licenseinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  117. </Objects>
  118. <Bind>
  119. <BindItem id="item0" compid="sct_keeppwd" propid="value" datasetid="ds_send" columnid="keeppwd"/>
  120. <BindItem id="item1" compid="sct_oldpwd" propid="value" datasetid="ds_send" columnid="oldpwd"/>
  121. <BindItem id="item2" compid="sct_pwd" propid="value" datasetid="ds_send" columnid="pwd"/>
  122. <BindItem id="item3" compid="sct_cnfmpwd" propid="value" datasetid="ds_send" columnid="cnfmpwd"/>
  123. <BindItem id="item4" compid="edt_mpphono" propid="value" datasetid="ds_contactinfo" columnid="mpphonno"/>
  124. <BindItem id="item5" compid="edt_zone" propid="value" datasetid="ds_contactinfo" columnid="pdano"/>
  125. </Bind>
  126. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  127. * System Name :
  128. * Job Name :
  129. * Creator :
  130. * Make Date : 2014-10-11
  131. * Description :
  132. *---------------------------------------------------------------------------------------
  133. * Modify Date Modifier Modify Description
  134. *---------------------------------------------------------------------------------------
  135. * 2014-10-11 Live Converter TF->XP
  136. *
  137. *---------------------------------------------------------------------------------------
  138. ****************************************************************************************/
  139. include "com_commonxp::comm_main.xjs"
  140. var lgv_bExcept = true;
  141. var forceClose = false;
  142. function SPZUM20000_onload(obj:Form, e:LoadEventInfo)
  143. {
  144. if(arg_checkloginpwyn == "Y" && sysf_getUserInfo("ispwvalidyn")=="N"){
  145. msg.text = "※ 기존 비밀번호가 규칙에 맞지 않습니다.";
  146. sct_keeppwd.enable = false;
  147. btn_keeppwd.enable = false;
  148. } else if(arg_adminityn == "Y") {
  149. msg.text = "※ 관리자에 의해 비밀번호가 초기화되어 재설정이 필요합니다.";
  150. sct_keeppwd.enable = true;
  151. btn_keeppwd.enable = true;
  152. } else{
  153. msg.text = "※ 비밀번호가 만료되었습니다.";
  154. sct_keeppwd.enable = true;
  155. btn_keeppwd.enable = true;
  156. }
  157. form.parent.winlevel = "top";
  158. form.parent.activate();
  159. fGetUserPhoneLicenseInfo();
  160. }
  161. function SPZUM20000_onbeforeclose(obj:Form, e:CloseEventInfo)
  162. {
  163. return forceClose;
  164. }
  165. function btn_close_onclick(obj:Button, e:ClickEventInfo)
  166. {
  167. forceClose = true;
  168. this.close("logout");
  169. }
  170. var objExtCommon = new ExtCommon();
  171. function SPZUM20000_onkeydown(obj:Form, e:KeyEventInfo)
  172. {
  173. if(objExtCommon.keyCheck("CAPSLOCK")) {
  174. cap_capslock.position.y = e.fromobject.position.y - cap_capslock.position.height;
  175. cap_capslock.visible = true;
  176. } else {
  177. cap_capslock.visible = false;
  178. }
  179. }
  180. function SPZUM20000_onlbuttondown(obj:Form, e:MouseEventInfo)
  181. {
  182. if(e.fromobject == "sct_keeppwd"
  183. || e.fromobject == "sct_pwd"
  184. || e.fromobject == "sct_oldpwd"
  185. || e.fromobject == "sct_cnfmpwd") {
  186. if(objExtCommon.keyCheck("CAPSLOCK")) {
  187. cap_capslock.visible = true;
  188. } else {
  189. cap_capslock.visible = false;
  190. }
  191. } else {
  192. cap_capslock.visible = false;
  193. }
  194. }
  195. function btn_keeppwd_onclick(obj:Button, e:ClickEventInfo)
  196. {
  197. if(!frmf_isRequiredControls(["sct_keeppwd"])) return;
  198. if(!sysf_commonCheckPassword(sct_keeppwd.value)){
  199. sct_oldpwd.setFocus();
  200. return;
  201. }
  202. if(fCheckUnSavedPhoneLicenseInfo()) {
  203. if(sysf_messageBox("저장하지 않은 연락처 또는 면허번호가 있습니다.\n\n저장하고 진행하시겠습니까?", "Q999") == 6) {
  204. fSetUserPhoneLicenseInfo();
  205. } else {
  206. return;
  207. }
  208. }
  209. ds_send.setColumn(0, "chkyn", "true");
  210. var oParam = {};
  211. oParam.id = "TXZUM01101";
  212. oParam.service = "hismainapp.HisMain";
  213. oParam.method = "reqSetPassword";
  214. oParam.inds = "req=ds_send";
  215. oParam.outds = "ds_result=result";
  216. oParam.async = false;
  217. oParam.callback = "cf_TXZUM01101";
  218. tranf_submit(oParam);
  219. }
  220. function cf_TXZUM01101(sSvcId, nErrorCode, sErrorMsg) {
  221. if(nErrorCode < 0) return;
  222. var sMsg = ds_result.getColumn(0, "msg");
  223. if(!utlf_isNull(sMsg)) {
  224. sysf_messageBox(sMsg, "E");
  225. sct_pwd.setFocus();
  226. return;
  227. }
  228. forceClose = true;
  229. this.close();
  230. }
  231. function btn_pwd_onclick(obj:Button, e:ClickEventInfo)
  232. {
  233. if(lf_checkPassword()){
  234. ds_send.setColumn(0, "chkyn", "false");
  235. var oParam = {};
  236. oParam.id = "TXZUM01101";
  237. oParam.service = "hismainapp.HisMain";
  238. oParam.method = "reqSetPassword";
  239. oParam.inds = "req=ds_send";
  240. oParam.outds = "ds_result=result";
  241. oParam.async = false;
  242. oParam.callback = "cf_TXZUM01101";
  243. tranf_submit(oParam);
  244. }
  245. }
  246. function lf_checkPassword() {
  247. if(frmf_isRequiredControls(["sct_oldpwd", "sct_pwd", "sct_cnfmpwd"])){
  248. if (sct_pwd.value != sct_cnfmpwd.value){
  249. sysf_messageBox("새비밀번호가 ","E004");
  250. sct_pwd.setFocus();
  251. return false;
  252. }
  253. }else{
  254. return false;
  255. }
  256. return sysf_commonCheckPassword(sct_pwd.value);
  257. }
  258. function btn_init_onclick(obj:Button, e:ClickEventInfo)
  259. {
  260. ds_licenseinfo.reset();
  261. }
  262. function btn_contactlicensesave_onclick(obj:Button, e:ClickEventInfo)
  263. {
  264. fSetUserPhoneLicenseInfo();
  265. }
  266. function fGetUserPhoneLicenseInfo() {
  267. grdf_setRowTypeIcon(grd_license, 0);
  268. var oParam = {};
  269. oParam.id = "TRZUM21000";
  270. oParam.service = "hismainapp.HisMain";
  271. oParam.method = "reqGetUserPhoneLicenseInfo";
  272. oParam.outds = "ds_contactinfo=contactinfo ds_licenseinfo=licenseinfo";
  273. oParam.async = true;
  274. tranf_submit(oParam);
  275. }
  276. function fSetUserPhoneLicenseInfo() {
  277. var oDs = grdf_getGridUpdateData(grd_license, "update");
  278. ds_save_licenseinfo.copyData(oDs, true);
  279. var oParam = {};
  280. oParam.id = "TRZUM21000";
  281. oParam.service = "hismainapp.HisMain";
  282. oParam.method = "reqSetUserPhoneLicenseInfo";
  283. oParam.inds = "req=ds_contactinfo license=ds_save_licenseinfo";
  284. oParam.async = false;
  285. oParam.callback = "cf_TRZUM21000";
  286. tranf_submit(oParam);
  287. }
  288. function cf_TRZUM21000(sSvcId, nErrorCode, sErrorMsg) {
  289. if(nErrorCode < 0) return;
  290. ds_contactinfo.applyChange();
  291. ds_licenseinfo.applyChange();
  292. }
  293. function fCheckUnSavedPhoneLicenseInfo() {
  294. return (dsf_datasetUpdateChk(ds_contactinfo) || dsf_datasetUpdateChk(ds_licenseinfo));
  295. }
  296. ]]></Script>
  297. </Form>
  298. </FDL>