SMAHA02600_건진고객관리.xrw 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>건진고객관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <popupendflag/>
  11. <patinfo>
  12. <patinfolist>
  13. <status/>
  14. <pid/>
  15. <factseq/>
  16. <sex/>
  17. <age/>
  18. <hngnm/>
  19. <engnm/>
  20. <rrgstno1/>
  21. <rrgstno2/>
  22. <clntgrde/>
  23. <telno/>
  24. <mpphon/>
  25. <tshirts/>
  26. <pants/>
  27. <height/>
  28. <bdwt/>
  29. <zipcd11/>
  30. <zipcd12/>
  31. <zipcdseq1/>
  32. <addr/>
  33. <detladdr1/>
  34. <emailid/>
  35. <emailtype/>
  36. <inclination/>
  37. <satsfctgrde/>
  38. <remfact/>
  39. <satsfctfact/>
  40. <complainfact/>
  41. <brthdd/>
  42. <lastupdtdt/>
  43. <cmpynm/>
  44. <nati/>
  45. <job/>
  46. <jobpos/>
  47. </patinfolist>
  48. <satsfctfactlist>
  49. <status/>
  50. <pid/>
  51. <factseq/>
  52. <lastupdtdt/>
  53. <satsfctgrde/>
  54. <satsfctfact/>
  55. </satsfctfactlist>
  56. <complainfactlist>
  57. <status/>
  58. <pid/>
  59. <factseq/>
  60. <lastupdtdt/>
  61. <satsfctgrde/>
  62. <complainfact/>
  63. </complainfactlist>
  64. <remfactlist>
  65. <lastupdtdt/>
  66. <remfact/>
  67. <factseq/>
  68. <pid/>
  69. <status/>
  70. </remfactlist>
  71. </patinfo>
  72. <result/>
  73. </main>
  74. <send>
  75. <pid/>
  76. <rrgstno1/>
  77. <rrgstno2/>
  78. <data1>
  79. <sess_posinstcd>012</sess_posinstcd>
  80. </data1>
  81. <updatedata>
  82. </updatedata>
  83. </send>
  84. <init>
  85. <A0118list>
  86. <A0118>
  87. <cdnm/>
  88. <cdid/>
  89. </A0118>
  90. </A0118list>
  91. <A0120list>
  92. <A0120>
  93. <cdnm/>
  94. <cdid/>
  95. </A0120>
  96. </A0120list>
  97. <baseinfo>
  98. <S920list/>
  99. </baseinfo>
  100. </init>
  101. <hidden>
  102. <source>
  103. <srchcond/>
  104. <pid/>
  105. <hngnm/>
  106. <rrgstno1/>
  107. <rrgstno2/>
  108. </source>
  109. <init>
  110. <disccd>
  111. <cd/>
  112. <nm/>
  113. </disccd>
  114. </init>
  115. <tmpnode>
  116. <patinfolist/>
  117. </tmpnode>
  118. </hidden>
  119. </root>
  120. </instance>
  121. <submission id="TRZBC00101"/>
  122. <submission id="TRAHA00001"/>
  123. <submission id="TRPMC02500" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/source" resultref="/root/main/result/patinfo"/>
  124. <submission id="TRAHA02601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/patinfo"/>
  125. <submission id="TXAHA02602" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/patinfo/patinfolist" resultref="/root/main/patinfo"/>
  126. <submission id="TXAHA02603" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/updatedata"/>
  127. <submission id="TXAHA02604" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/updatedata"/>
  128. </model>
  129. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  130. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  131. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  132. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  133. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  134. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  135. <script type="javascript" src="../../../pam/pamcomnweb/js/PAM.js"/>
  136. <script type="javascript" src="../../../com/zipcodeweb/js/ZBP001.js"/>
  137. <script type="javascript" src="../../../com/shortmsgweb/js/ZMS001.js"/>
  138. <script type="javascript" src="../../../ast/healexamweb/js/AHA001.js"/>
  139. <script type="javascript" src="../../../ast/healthexambaseweb/js/healcombolist.js"/>
  140. <script type="javascript" ev:event="xforms-ready">
  141. <![CDATA[
  142. model.copyNode("/root/hidden/tmpnode/patinfolist", "/root/main/patinfo/patinfolist");
  143. //A0118 - 고객관리(등급) , A0120 - email
  144. zbcfGetCodeList(new Array( "A0118","A0120"),
  145. new Array( "/root/init/A0118list","/root/init/A0120list"));
  146. submit("TRZBC00101");
  147. healGetCodeList( new Array("S920"), new Array("/root/init/baseinfo/S920list"));
  148. /*
  149. var spid = model.getValue("/root/hidden/source/pid");
  150. if (spid != "") {
  151. model.resetInstanceNode("/root/main/result");
  152. model.makeNode("/root/main/result/patinfo");
  153. if(submit("TRPMC02500")) {
  154. //메인화면의 fSearch() 함수 콜!
  155. if (getNodesetCount("/root/main/result/patinfo/patinfolist") > 0 ){
  156. model.copyNode("/root/main/patinfo", "/root/main/result/patinfo");
  157. model.setValue("/root/main/popupendflag", "ok");
  158. } else{
  159. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  160. model.resetInstanceNode("/root/main/detailinfo/patinsuinfo/patinsuinfolist");
  161. model.resetInstanceNode("/root/main/detailinfo/patdiscinfo/patdiscinfolist");
  162. fInitialize();
  163. }
  164. }else{
  165. fInitialize();
  166. }
  167. }else{
  168. }
  169. */
  170. model.refresh();
  171. ]]>
  172. </script>
  173. <script type="javascript">
  174. <![CDATA[
  175. function fCheckData(){
  176. //환자정보 체크
  177. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  178. if( pid.length <= 0 ){
  179. messageBox("등록번호가 입력되지 않았습니다.", "E999", "");
  180. return false;
  181. }
  182. var hngnm = model.getValue("/root/main/patinfo/patinfolist/hngnm");
  183. if( hngnm.length <= 0 ){
  184. messageBox("한글 이름이 정확히 입력되지 않았습니다.", "E999", "");
  185. return false;
  186. }
  187. //}else if( isResidentNo( rrgstno1.concat(rrgstno2) )){
  188. // if(messageBox("유효하지 않은 주민번호입니다! 계속","Q002","") != 6 ){
  189. // return false;
  190. // }
  191. //}//else if end
  192. var sex = model.getValue("/root/main/patinfo/patinfolist/sex");
  193. var brthdd = model.getValue("/root/main/patinfo/patinfolist/brthdd");
  194. if(brthdd == "" && sex == ""){
  195. if( fGetSexAgeBirthDD() == false ){
  196. return false;
  197. }
  198. }else if( isValidDateTime(brthdd, "YYYYMMDD") == false){
  199. messageBox("생년월일 형식이 정확하지 않습니다.", "E999", "");
  200. return false;
  201. }else if( sex.toUpperCase() != "M" && sex.toUpperCase() !="F" && sex.toUpperCase() != "A"){
  202. messageBox("생년월일 형식이 정확하지 않습니다.", "E999", "");
  203. return false;
  204. }//else if end
  205. var zipcd11 = model.getValue("/root/main/patinfo/patinfolist/zipcd11");
  206. var zipcd12 = model.getValue("/root/main/patinfo/patinfolist/zipcd12");
  207. if( zipcd11.length != 3 || zipcd12.length != 2 ){
  208. messageBox("우편번호 형식이 정확하지 않습니다.", "E999", "");
  209. model.setValue("/root/main/patinfo/patinfolist/zipcd11", "000");
  210. model.setValue("/root/main/patinfo/patinfolist/zipcd12", "00");
  211. return false;
  212. }
  213. return true;
  214. }//fCheckData end
  215. //환자기본정보 저장
  216. function fSave(){
  217. if( !fCheckData() ){
  218. return false;
  219. }
  220. if(submit("TXAHA02602")){
  221. }
  222. }//fSave end
  223. //주민번호 뒷자리 입력시 호출
  224. function fGetSexAgeBirthDD(){
  225. var brthdd;
  226. var rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  227. var rrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  228. if (rrgstno1.length != 6)
  229. {
  230. messageBox("환자주민번호1은 6자리입니다!","E999","");
  231. model.setFocus("ipt_rrgstno1");
  232. return false;
  233. }
  234. if (rrgstno2.length != 7)
  235. {
  236. messageBox("환자주민번호2는 7자리입니다!","E999","");
  237. model.setFocus("ipt_rrgstno2");
  238. return false;
  239. }
  240. var gubn = rrgstno2.substr(0,1);
  241. switch(gubn){
  242. case '1' :
  243. case '2' :
  244. case '5' :
  245. case '6' :
  246. brthdd = '19'.concat(rrgstno1);
  247. break;
  248. case '3' :
  249. case '4' :
  250. case '7' :
  251. case '8' :
  252. brthdd = '20'.concat(rrgstno1);
  253. break;
  254. case '9' :
  255. case '0' :
  256. brthdd = '18'.concat(rrgstno1);
  257. break;
  258. default :
  259. brthdd = '19'.concat(rrgstno1);
  260. break;
  261. }
  262. model.setValue("/root/main/patinfo/patinfolist/brthdd",brthdd);
  263. if (isValidDateTime(brthdd, "YYYYMMDD") == false)
  264. {
  265. messageBox("주민번호 오류입니다. 올바른 주민등록 번호를 입력하십시요!","E999","");
  266. model.setValue("/root/main/patinfo/patinfolist/rrgstno1","");
  267. model.setValue("/root/main/patinfo/patinfolist/rrgstno2","");
  268. model.setValue("/root/main/patinfo/patinfolist/brthdd","");
  269. ipt_rrgstno1.refresh();
  270. ipt_rrgstno2.refresh();
  271. return false;
  272. }
  273. var sex = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  274. model.setValue("/root/main/patinfo/patinfolist/sex",getGender(sex));//getGender - utilHelper
  275. var rrgstno = rrgstno1.concat(rrgstno2);
  276. //var age = rrgstno1;
  277. model.setValue("/root/main/patinfo/patinfolist/age",getFullAge(model.getValue("/root/main/patinfo/patinfolist/brthdd")));//getFullAge - utilHelper
  278. cmb_sex.refresh();
  279. ipt_age.refresh();
  280. if (isResidentNo(rrgstno) == false)
  281. {
  282. messageBox("유효하지 않은 주민번호입니다!","E999","");
  283. model.setValue("/root/main/patinfo/patinfolist/rrgstno1","");
  284. model.setValue("/root/main/patinfo/patinfolist/rrgstno2","");
  285. ipt_rrgstno1.refresh();
  286. ipt_rrgstno2.refresh();
  287. return false;
  288. }
  289. }//fGetSexAgeBirthDD end
  290. //초기화
  291. function fInitialize(){
  292. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  293. model.resetInstanceNode("/root/main/patinfo/satsfctfactlist");
  294. model.resetInstanceNode("/root/main/patinfo/complainfactlist");
  295. model.resetInstanceNode("/root/hidden/source");
  296. //초기값 세팅
  297. model.refresh();
  298. }//fInitialize end
  299. ]]>
  300. </script>
  301. </xhtml:head>
  302. <xhtml:body guideline="1,0;1,422;1,102;2,716;1,426;2,567;2,418;1,233;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  303. <group id="group2" style="left:0px; top:18px; width:1195px; height:744px; ">
  304. <group id="group4" style="left:0px; top:0px; width:450px; height:700px; ">
  305. <line id="line7" class="line_1" style="x1:0px; y1:25px; x2:422px; y2:25px; "/>
  306. <line id="line8" class="line_2" style="x1:0px; y1:52px; x2:422px; y2:52px; "/>
  307. <line id="line15" class="line_2" style="x1:0px; y1:76px; x2:422px; y2:76px; "/>
  308. <line id="line17" class="line_2" style="x1:0px; y1:124px; x2:422px; y2:124px; "/>
  309. <line id="line18" class="line_2" style="x1:0px; y1:172px; x2:422px; y2:172px; "/>
  310. <line id="line19" class="line_2" style="x1:0px; y1:196px; x2:422px; y2:196px; "/>
  311. <line id="line20" class="line_2" style="x1:0px; y1:244px; x2:422px; y2:244px; "/>
  312. <line id="line105" class="line_2" style="x1:0px; y1:100px; x2:420px; y2:100px; "/>
  313. <line id="line10" class="line_2" style="x1:0px; y1:148px; x2:422px; y2:148px; "/>
  314. <line id="line12" class="line_2" style="x1:0px; y1:220px; x2:422px; y2:220px; "/>
  315. <caption id="caption124" class="cell_1" style="left:0px; top:222px; width:100px; height:23px; vertical-align:middle; ">성향</caption>
  316. <caption id="caption2" class="tit_2" style="left:5px; top:10px; width:85px; height:13px; ">인적사항</caption>
  317. <caption id="caption82" class="cell_1" style="left:0px; top:30px; width:100px; height:23px; vertical-align:middle; ">등록번호</caption>
  318. <input id="ipt_pid" ref="/root/main/patinfo/patinfolist/pid" class="input_s_essential" navindex="1" autonext="false" maxlength="10" appearance="input" style="left:103px; top:31px; width:105px; height:19px; ">
  319. <script type="javascript" ev:event="onkeypress">
  320. <![CDATA[
  321. if (event.keyCode == '13') {
  322. model.setValue("/root/hidden/source/srchcond", "1");
  323. model.setValue("/root/hidden/source/pid", ipt_pid.currentText);
  324. //환자등록번호 체크
  325. if(ipt_pid.currentText.length >= 1 ){
  326. model.resetInstanceNode("/root/main/result");
  327. //submit("TRPMC02500") 이후 인스턴스 구조가 바뀌므로 /root/main/patinfo/patinfolist의 인스턴그 구조를 복사해둔다.
  328. //model.copyNode("/root/hidden/tmpnode/patinfolist", "/root/main/patinfo/patinfolist");
  329. if(submit("TRPMC02500")){
  330. if( getNodesetCount("/root/main/result/patinfo/patinfolist") > 0 ){
  331. //데이터를 가져온 후 인스턴스가 사라짐
  332. //02500후 pid가 있으면 TRAHA02601를 해서 aham에 데이터가 있는지 확인한다.
  333. model.setValue("/root/send/pid", model.getValue("/root/main/result/patinfo/patinfolist/pid"));
  334. submit("TRAHA02601");
  335. //aham에 데이터가 있으면 그 결과를 뿌려주고 없으면 TRPMC02500의 결과를 뿌려준다.
  336. if( getNodesetCount("/root/main/patinfo/patinfolist") <= 0 ){
  337. //submit("TRPMC02500") 이후 인스턴스 구조가 다 바뀌므로 /root/hidden/tmpnode/patinfolist를 가져오고 값을 넣는다.
  338. model.makeNode("/root/main/patinfo/patinfolist");
  339. model.copyNode("/root/main/patinfo/patinfolist", "/root/hidden/tmpnode/patinfolist");
  340. model.setValue("/root/main/patinfo/patinfolist/pid", model.getValue("/root/main/result/patinfo/patinfolist/pid"));
  341. model.setValue("/root/main/patinfo/patinfolist/sex", model.getValue("/root/main/result/patinfo/patinfolist/sex"));
  342. model.setValue("/root/main/patinfo/patinfolist/age", model.getValue("/root/main/result/patinfo/patinfolist/age"));
  343. model.setValue("/root/main/patinfo/patinfolist/brthdd", model.getValue("/root/main/result/patinfo/patinfolist/brthdd"));
  344. model.setValue("/root/main/patinfo/patinfolist/hngnm", model.getValue("/root/main/result/patinfo/patinfolist/hngnm"));
  345. model.setValue("/root/main/patinfo/patinfolist/engnm", model.getValue("/root/main/result/patinfo/patinfolist/engnm"));
  346. model.setValue("/root/main/patinfo/patinfolist/rrgstno1", model.getValue("/root/main/result/patinfo/patinfolist/rrgstno1"));
  347. model.setValue("/root/main/patinfo/patinfolist/rrgstno2", model.getValue("/root/main/result/patinfo/patinfolist/rrgstno2"));
  348. model.setValue("/root/main/patinfo/patinfolist/telno", model.getValue("/root/main/result/patinfo/patinfolist/hometel"));
  349. model.setValue("/root/main/patinfo/patinfolist/mpphon", model.getValue("/root/main/result/patinfo/patinfolist/mpphontel"));
  350. model.setValue("/root/main/patinfo/patinfolist/zipcd11", model.getValue("/root/main/result/patinfo/patinfolist/zipcd1"));
  351. model.setValue("/root/main/patinfo/patinfolist/zipcd12", model.getValue("/root/main/result/patinfo/patinfolist/zipcd2"));
  352. model.setValue("/root/main/patinfo/patinfolist/detladdr1", model.getValue("/root/main/result/patinfo/patinfolist/detladdr"));
  353. // 20100719 JHP 건진환자정보수정시 ptbs에 수정할때 주소가 안바뀜 내용적용하기 위해 addr, zipcdseq주석삭제함.
  354. model.setValue("/root/main/patinfo/patinfolist/addr", model.getValue("/root/main/result/patinfo/patinfolist/addr"));
  355. model.setValue("/root/main/patinfo/patinfolist/zipcdseq1",model.getValue("/root/main/result/patinfo/patinfolist/zipcdseq"));
  356. model.setValue("/root/main/patinfo/patinfolist/brthdd", model.getValue("/root/main/result/patinfo/patinfolist/brthdd"));
  357. model.setValue("/root/main/patinfo/patinfolist/cmpynm", "");
  358. model.setValue("/root/main/patinfo/patinfolist/nati", "");
  359. model.setValue("/root/main/patinfo/patinfolist/job","");
  360. model.setValue("/root/main/patinfo/patinfolist/jobpos","");
  361. // model.setValue("/root/main/patinfo/patinfolist/satsfctfact", '');
  362. // model.setValue("/root/main/patinfo/patinfolist/complainfact", '');
  363. // model.setValue("/root/main/patinfo/patinfolist/satsfctgrde", '');
  364. }//else end
  365. model.setValue("/root/main/patinfo/patinfolist/satsfctgrde", '');
  366. model.setValue("/root/main/patinfo/patinfolist/satsfctfact", '');
  367. model.setValue("/root/main/patinfo/patinfolist/complainfact", '');
  368. model.refresh();
  369. }else{
  370. messageBox("없는 환자 번호 입니다.", "E999", "");
  371. fInitialize();
  372. }//else end
  373. }//if end
  374. }else{
  375. messageBox("환자등록번호를 정확히", "C001");
  376. }//if end
  377. model.resetInstanceNode("/root/hidden/source");
  378. //2015/07/29 우편번호 변경에 따른 팝업안내
  379. var cnt = getNodesetCount("/root/init/baseinfo/S920list/S920[cdid='Y']");
  380. if(cnt>0){
  381. fNewZipCdCheck(model.getValue("/root/main/patinfo/patinfolist/zipcd11"), model.getValue("/root/main/patinfo/patinfolist/zipcd12"));
  382. }
  383. //2015/07/29 우편번호 변경에 따른 팝업안내
  384. }//if end
  385. ]]>
  386. </script>
  387. <script type="javascript" ev:event="xforms-value-changed">
  388. <![CDATA[
  389. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  390. //환자번호 수정시 화면 클리어!!
  391. // fInitialize();
  392. model.setValue("/root/main/patinfo/patinfolist/pid", pid);
  393. model.setFocus("ipt_pid");
  394. ]]>
  395. </script>
  396. </input>
  397. <button id="btn_search" class="icon_search" style="left:213px; top:32px; width:16px; height:16px; ">
  398. <caption/>
  399. <script type="javascript" ev:event="DOMActivate">
  400. <![CDATA[
  401. //팝업창 "/root/hidden/source/srchcond" - 1.pid 2.name 3.rrgstno
  402. modal("SPPMC02500", 1,150, 150, "SPPMC02500", "/root/hidden/source", "/root/send");
  403. if( model.getValue("/root/main/popupendflag") == "ok" ){
  404. //팝업의 결과가 메인으로 들어 오므로 결과 노드로 카피한다.
  405. model.makeNode("/root/main/result/patinfo/patinfolist");
  406. model.copyNode("/root/main/result/patinfo/patinfolist", "/root/main/patinfo/patinfolist");
  407. model.setValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  408. //인스턴스 구조가 바뀌었으므로 ready시 복사해뒀던 노드를 카피해온다.
  409. model.copyNode("/root/main/patinfo/patinfolist", "/root/hidden/tmpnode/patinfolist");
  410. //메인 노드를 초기화한다.
  411. //model.resetInstanceNode("/root/main/patinfo/patinfolist");
  412. submit("TRAHA02601");
  413. //aham에 데이터가 있으면 그 결과를 뿌려주고 없으면 TRPMC02500의 결과를 뿌려준다.
  414. if( getNodesetCount("/root/main/patinfo/patinfolist") <= 0 ){
  415. model.makeNode("/root/main/patinfo/patinfolist");
  416. model.copyNode("/root/main/patinfo/patinfolist", "/root/hidden/tmpnode/patinfolist");
  417. model.setValue("/root/main/patinfo/patinfolist/pid", model.getValue("/root/main/result/patinfo/patinfolist/pid"));
  418. model.setValue("/root/main/patinfo/patinfolist/sex", model.getValue("/root/main/result/patinfo/patinfolist/sex"));
  419. model.setValue("/root/main/patinfo/patinfolist/age", model.getValue("/root/main/result/patinfo/patinfolist/age"));
  420. model.setValue("/root/main/patinfo/patinfolist/brthdd", model.getValue("/root/main/result/patinfo/patinfolist/brthdd"));
  421. model.setValue("/root/main/patinfo/patinfolist/hngnm", model.getValue("/root/main/result/patinfo/patinfolist/hngnm"));
  422. model.setValue("/root/main/patinfo/patinfolist/engnm", model.getValue("/root/main/result/patinfo/patinfolist/engnm"));
  423. model.setValue("/root/main/patinfo/patinfolist/rrgstno1", model.getValue("/root/main/result/patinfo/patinfolist/rrgstno1"));
  424. model.setValue("/root/main/patinfo/patinfolist/rrgstno2", model.getValue("/root/main/result/patinfo/patinfolist/rrgstno2"));
  425. model.setValue("/root/main/patinfo/patinfolist/telno", model.getValue("/root/main/result/patinfo/patinfolist/hometel"));
  426. model.setValue("/root/main/patinfo/patinfolist/mpphon", model.getValue("/root/main/result/patinfo/patinfolist/mpphontel"));
  427. model.setValue("/root/main/patinfo/patinfolist/zipcd11", model.getValue("/root/main/result/patinfo/patinfolist/zipcd1"));
  428. model.setValue("/root/main/patinfo/patinfolist/zipcd12", model.getValue("/root/main/result/patinfo/patinfolist/zipcd2"));
  429. model.setValue("/root/main/patinfo/patinfolist/detladdr1", model.getValue("/root/main/result/patinfo/patinfolist/detladdr"));
  430. // 20100719 JHP 건진환자정보수정시 ptbs에 수정할때 주소가 안바뀜 내용적용하기 위해 addr, zipcdseq주석삭제함.
  431. model.setValue("/root/main/patinfo/patinfolist/addr", model.getValue("/root/main/result/patinfo/patinfolist/addr"));
  432. model.setValue("/root/main/patinfo/patinfolist/zipcdseq1",model.getValue("/root/main/result/patinfo/patinfolist/zipcdseq"));
  433. model.setValue("/root/main/patinfo/patinfolist/brthdd", model.getValue("/root/main/result/patinfo/patinfolist/brthdd"));
  434. model.setValue("/root/main/patinfo/patinfolist/cmpynm", "");
  435. model.setValue("/root/main/patinfo/patinfolist/nati", "");
  436. model.setValue("/root/main/patinfo/patinfolist/job","");
  437. model.setValue("/root/main/patinfo/patinfolist/jobpos","");
  438. model.setValue("/root/main/patinfo/patinfolist/remfact", '');
  439. model.setValue("/root/main/patinfo/patinfolist/satsfctfact", '');
  440. model.setValue("/root/main/patinfo/patinfolist/complainfact", '');
  441. model.setValue("/root/main/patinfo/patinfolist/satsfctgrde", '');
  442. }
  443. }
  444. model.resetInstanceNode("/root/hidden/source");
  445. model.refresh();
  446. ]]>
  447. </script>
  448. </button>
  449. <caption id="caption83" class="cell_1" style="left:234px; top:30px; width:66px; height:23px; vertical-align:middle; ">성별/나이</caption>
  450. <select1 id="cmb_sex" ref="/root/main/patinfo/patinfolist/sex" navindex="5" appearance="minimal" style="left:302px; top:30px; width:60px; height:19px; ">
  451. <choices>
  452. <item>
  453. <label>남</label>
  454. <value>M</value>
  455. </item>
  456. <item>
  457. <label>여</label>
  458. <value>F</value>
  459. </item>
  460. </choices>
  461. </select1>
  462. <input id="ipt_age" ref="/root/main/patinfo/patinfolist/age" class="input_default" style="left:364px; top:30px; width:58px; height:19px; "/>
  463. <caption id="caption79" class="cell_1" style="left:0px; top:54px; width:100px; height:23px; vertical-align:middle; ">성명[한/영]</caption>
  464. <input id="ipt_hngnm" ref="/root/main/patinfo/patinfolist/hngnm" class="input_s_essential" navindex="2" autonext="false" imemode="hangul" style="left:103px; top:55px; width:128px; height:19px; ">
  465. <script type="javascript" ev:event="onkeypress">
  466. <![CDATA[
  467. model.setValue("/root/hidden/source/srchcond", "2");
  468. model.setValue("/root/hidden/source/hngnm", ipt_hngnm.currentText);
  469. inputEnterKey("btn_search", "DOMActivate");
  470. ]]>
  471. </script>
  472. </input>
  473. <input id="ipt_engnm" ref="/root/main/patinfo/patinfolist/engnm" class="input_default" navindex="3" imemode="alpha" _chartype="upper" style="left:234px; top:55px; width:187px; height:19px; "/>
  474. <caption id="caption81" class="cell_1" style="left:0px; top:78px; width:100px; height:23px; vertical-align:middle; ">주민번호</caption>
  475. <input id="ipt_rrgstno1" ref="/root/main/patinfo/patinfolist/rrgstno1" class="input_s_essential" navindex="4" autonext="true" format="999999" min="6" max="6" style="left:103px; top:79px; width:60px; height:19px; ">
  476. <script type="javascript" ev:event="onkeypress">
  477. <![CDATA[
  478. model.setValue("/root/hidden/source/srchcond", "3");
  479. model.setValue("/root/hidden/source/rrgstno1", ipt_rrgstno1.currentText);
  480. model.setValue("/root/hidden/source/rrgstno2", ipt_rrgstno2.currentText);
  481. inputEnterKey("btn_search", "DOMActivate");
  482. ]]>
  483. </script>
  484. </input>
  485. <input id="ipt_rrgstno2" ref="/root/main/patinfo/patinfolist/rrgstno2" class="input_s_essential" navindex="5" autonext="true" format="9999999" min="7" max="7" style="left:166px; top:79px; width:65px; height:19px; ">
  486. <script type="javascript" ev:event="onkeypress">
  487. <![CDATA[
  488. model.setValue("/root/hidden/source/srchcond", "3");
  489. model.setValue("/root/hidden/source/rrgstno2", ipt_rrgstno2.currentText);
  490. model.setValue("/root/hidden/source/rrgstno1", ipt_rrgstno1.currentText);
  491. inputEnterKey("btn_search", "DOMActivate");
  492. ]]>
  493. </script>
  494. <script type="javascript" ev:event="DOMFocusOut">
  495. <![CDATA[
  496. if( model.getValue("/root/main/patinfo/patinfolist/sex") == "" || model.getValue("/root/main/patinfo/patinfolist/age") == "" ){
  497. fGetSexAgeBirthDD();
  498. }
  499. ]]>
  500. </script>
  501. </input>
  502. <caption id="caption20" class="cell_1" style="left:234px; top:76px; width:66px; height:23px; vertical-align:middle; ">고객관리</caption>
  503. <select1 id="cmb_clntgrde" ref="/root/main/patinfo/patinfolist/clntgrde" class="combo_default" navindex="6" appearance="minimal" style="left:302px; top:76px; width:119px; height:19px; ">
  504. <choices>
  505. <itemset nodeset="/root/init/A0118list/A0118">
  506. <label ref="cdnm"/>
  507. <value ref="cdid"/>
  508. </itemset>
  509. </choices>
  510. </select1>
  511. <caption id="caption85" class="cell_1" style="left:0px; top:102px; width:100px; height:23px; vertical-align:middle; ">연락처/휴대폰</caption>
  512. <input id="ipt_telno" ref="/root/main/patinfo/patinfolist/telno" class="input_default" navindex="7" format="9999999999999999" style="left:103px; top:103px; width:128px; height:19px; "/>
  513. <input id="ipt_mpphon" ref="/root/main/patinfo/patinfolist/mpphon" class="input_default" navindex="8" format="999-9999-9999" style="left:234px; top:103px; width:188px; height:19px; "/>
  514. <caption id="caption123" class="cell_1" style="left:0px; top:126px; width:100px; height:23px; vertical-align:middle; ">사이즈[상/하]</caption>
  515. <input id="ipt_tshirts" ref="/root/main/patinfo/patinfolist/tshirts" class="input_default" navindex="9" style="left:102px; top:126px; width:63px; height:19px; "/>
  516. <input id="ipt_pants" ref="/root/main/patinfo/patinfolist/pants" class="input_default" navindex="10" style="left:168px; top:126px; width:63px; height:19px; "/>
  517. <caption id="caption23" class="cell_1" style="left:234px; top:125px; width:66px; height:23px; vertical-align:middle; ">신장/체중</caption>
  518. <input id="ipt_height" ref="/root/main/patinfo/patinfolist/height" class="input_default" navindex="11" style="left:302px; top:125px; width:60px; height:19px; "/>
  519. <input id="ipt_bdwt" ref="/root/main/patinfo/patinfolist/bdwt" class="input_default" navindex="12" style="left:364px; top:125px; width:58px; height:19px; "/>
  520. <caption id="caption78" class="cell_1" style="left:0px; top:150px; width:100px; height:23px; vertical-align:middle; ">우편번호</caption>
  521. <input id="ipt_zipcd11" ref="/root/main/patinfo/patinfolist/zipcd11" class="input_default" navindex="13" maxlength="3" format="999" style="left:103px; top:151px; width:35px; height:19px; "/>
  522. <input id="ipt_zipcd12" ref="/root/main/patinfo/patinfolist/zipcd12" class="input_default" navindex="14" maxlength="3" format="999" style="left:141px; top:151px; width:35px; height:19px; "/>
  523. <input id="ipt_zipcdseq" ref="/root/main/patinfo/patinfolist/zipcdseq1" class="input_default" navindex="15" maxlength="1" format="999" style="left:179px; top:151px; width:25px; height:19px; "/>
  524. <button id="button37" class="icon_search" navindex="13" style="left:210px; top:152px; width:16px; height:16px; ">
  525. <caption/>
  526. <script type="javascript" ev:event="DOMActivate">
  527. <![CDATA[
  528. zbcfOpenZipCodeList("combination", "", "/root/main/patinfo/patinfolist/zipcd11", "/root/main/patinfo/patinfolist/zipcd12", "/root/main/patinfo/patinfolist/zipcdseq1", "/root/main/patinfo/patinfolist/addr")
  529. ]]>
  530. </script>
  531. </button>
  532. <output id="ipt_addr" ref="/root/main/patinfo/patinfolist/addr" class="output_fix" appearance="output" style="left:234px; top:151px; width:188px; height:19px; "/>
  533. <caption id="caption80" class="cell_1" style="left:0px; top:174px; width:100px; height:23px; vertical-align:middle; ">하위주소</caption>
  534. <input id="ipt_detladdr" ref="/root/main/patinfo/patinfolist/detladdr1" class="input_default" navindex="14" style="left:103px; top:175px; width:319px; height:19px; "/>
  535. <caption id="caption21" class="cell_1" style="left:0px; top:198px; width:100px; height:23px; vertical-align:middle; ">E-MAIL</caption>
  536. <input id="ipt_emailid" ref="/root/main/patinfo/patinfolist/emailid" class="input_default" navindex="15" imemode="alpha" style="left:103px; top:199px; width:128px; height:19px; "/>
  537. <select1 id="cmb_emailtype" ref="/root/main/patinfo/patinfolist/emailtype" class="combo_default" navindex="16" appearance="minimal" style="left:235px; top:199; width:86px; height:19px; ">
  538. <choices>
  539. <itemset nodeset="/root/init/A0120list/A0120">
  540. <label ref="cdnm"/>
  541. <value ref="cdid"/>
  542. </itemset>
  543. </choices>
  544. <script type="javascript" ev:event="xforms-select">
  545. <![CDATA[
  546. var idx = cmb_emailtype.value;
  547. if( idx == "01" ) //직접입력
  548. {
  549. ipt_emailtype.value = "@";
  550. model.setFocus("ipt_emailtype");
  551. }
  552. else {
  553. ipt_emailtype.value = cmb_emailtype.label ;
  554. }
  555. ]]>
  556. </script>
  557. </select1>
  558. <input id="ipt_emailtype" ref="/root/main/patinfo/patinfolist/emailtype" class="input_default" navindex="17" imemode="alpha" maxlength="30" style="left:325px; top:199px; width:97px; height:19px; "/>
  559. <input id="ipt_inclination" ref="/root/main/patinfo/patinfolist/inclination" class="input_default" navindex="18" style="left:102px; top:222px; width:128px; height:19px; "/>
  560. <caption id="caption1" class="cell_1" style="left:0px; top:294px; width:100px; height:102px; vertical-align:middle; ">참고사항</caption>
  561. <textarea id="tar_remfact" ref="/root/main/patinfo/patinfolist/remfact" navindex="20" style="left:104px; top:294px; width:317px; height:102px; "/>
  562. <caption id="caption3" class="cell_1" style="left:0px; top:398px; width:100px; height:150px; vertical-align:middle; ">만족사항</caption>
  563. <textarea id="tar_satsfctfact" ref="/root/main/patinfo/patinfolist/satsfctfact" navindex="21" style="left:104px; top:398px; width:317px; height:150px; "/>
  564. <caption id="caption4" class="cell_1" style="left:0px; top:550px; width:100px; height:150px; vertical-align:middle; ">불만사항</caption>
  565. <textarea id="tar_complainfact" ref="/root/main/patinfo/patinfolist/complainfact" navindex="22" style="left:104px; top:550px; width:317px; height:150px; "/>
  566. <caption id="caption6" class="cell_1" style="left:0px; top:246px; width:100px; height:23px; vertical-align:middle; ">단체명</caption>
  567. <input id="input1" ref="/root/main/patinfo/patinfolist/cmpynm" class="input_default" navindex="18" style="left:102px; top:246px; width:128px; height:19px; "/>
  568. <caption id="caption7" class="cell_1" style="left:233px; top:246px; width:66px; height:23px; vertical-align:middle; ">국적</caption>
  569. <input id="input2" ref="/root/main/patinfo/patinfolist/nati" class="input_default" navindex="17" imemode="alpha" maxlength="30" style="left:302px; top:246px; width:119px; height:19px; "/>
  570. <caption id="caption8" class="cell_1" style="left:0px; top:270px; width:100px; height:23px; vertical-align:middle; ">직위</caption>
  571. <input id="input3" ref="/root/main/patinfo/patinfolist/jobpos" class="input_default" navindex="18" style="left:102px; top:270px; width:128px; height:19px; "/>
  572. <input id="input4" ref="/root/main/patinfo/patinfolist/job" class="input_default" navindex="17" imemode="alpha" maxlength="30" style="left:302px; top:270px; width:119px; height:19px; "/>
  573. <caption id="caption9" class="cell_1" style="left:233px; top:270px; width:66px; height:23px; vertical-align:middle; ">직업</caption>
  574. <select1 id="cmb_satsfctgrde" ref="/root/main/patinfo/patinfolist/satsfctgrde" class="combo_default" navindex="19" appearance="minimal" style="left:0px; top:400px; width:100px; height:19px; ">
  575. <choices>
  576. <itemset nodeset="/root/init/A0118list/A0118">
  577. <label ref="cdnm"/>
  578. <value ref="cdid"/>
  579. </itemset>
  580. </choices>
  581. </select1>
  582. <button id="button3" class="btn5_letter2" style="left:380px; top:5px; width:42px; height:19px; ">
  583. <caption>저장</caption>
  584. <script type="javascript" ev:event="onclick">
  585. <![CDATA[
  586. if( !fCheckData() ){
  587. return false;
  588. }else{
  589. model.setValue("/root/hidden/source/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  590. model.makeNode("/root/main/patinfo/patinfolist/status");
  591. model.setValue("/root/main/patinfo/patinfolist/status","i");
  592. submit("TXAHA02602");
  593. //저장한 데이터 불러오기
  594. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  595. model.refresh();
  596. model.setValue("/root/send/pid", model.getValue("/root/hidden/source/pid"));
  597. submit("TRAHA02601");
  598. }//else end
  599. ]]>
  600. </script>
  601. </button>
  602. <button id="button4" class="btn5_letter2" style="left:337px; top:5px; width:42px; height:19px; ">
  603. <caption>수정</caption>
  604. <script type="javascript" ev:event="onclick">
  605. <![CDATA[
  606. if( !fCheckData() ){
  607. return false;
  608. }else{
  609. model.makeNode("/root/main/patinfo/patinfolist/status");
  610. model.setValue("/root/main/patinfo/patinfolist/status","u");
  611. submit("TXAHA02602");
  612. }//else end
  613. ]]>
  614. </script>
  615. </button>
  616. <button id="button5" class="btn2_letter3" style="left:283px; top:5px; width:53px; height:19px; ">
  617. <caption>초기화</caption>
  618. <script type="javascript" ev:event="onclick">
  619. <![CDATA[
  620. fInitialize();
  621. ]]>
  622. </script>
  623. </button>
  624. </group>
  625. <group id="group7" style="left:427px; top:240px; width:768px; height:230px; ">
  626. <line id="line1" class="line_1" style="x1:0px; y1:25px; x2:765px; y2:25px; "/>
  627. <caption id="caption18" class="tit_2" style="left:0px; top:10px; width:75px; height:13px; ">만족사항</caption>
  628. <button id="button1" class="btn5_letter2" disable.background-image="../../../com/commonweb/images/dis_btn4_letter2.gif" style="left:723px; top:5px; width:42px; height:19px; background-image:../../../com/commonweb/images/btn4_letter2.gif; ">
  629. <caption>수정</caption>
  630. <script type="javascript" ev:event="DOMActivate">
  631. <![CDATA[
  632. model.setValue("/root/send/updatedata", grd_satsfctfactlist.getUpdateData("update"));
  633. var chk = submit("TXAHA02603","false") ;
  634. if ( chk ) {
  635. grd_satsfctfactlist.clearStatus(); // submit() 성공하면 그리드의 d상태 제거
  636. grd_satsfctfactlist.refresh();
  637. }//end if
  638. ]]>
  639. </script>
  640. </button>
  641. <datagrid id="grd_satsfctfactlist" nodeset="/root/main/patinfo/satsfctfactlist" autoresize="true" caption="연도^만족도^만족사항^일련번호^환자번호" colsep="^" colwidth="70, 100, 570, 100, 50" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:30px; width:765px; height:197px; ">
  642. <col ref="lastupdtdt" format="yyyy-mm-dd"/>
  643. <col ref="satsfctgrde" type="combo">
  644. <choices>
  645. <itemset nodeset="/root/init/A0118list/A0118">
  646. <label ref="cdnm"/>
  647. <value ref="cdid"/>
  648. </itemset>
  649. </choices>
  650. </col>
  651. <col ref="satsfctfact" type="input" autoresize="true"/>
  652. <col ref="factseq" visibility="hidden"/>
  653. <col ref="pid" visibility="hidden"/>
  654. </datagrid>
  655. </group>
  656. <group id="group6" style="left:427px; top:470px; width:768px; height:228px; ">
  657. <line id="line113" class="line_1" style="x1:0px; y1:25px; x2:765px; y2:25px; "/>
  658. <caption id="caption90" class="tit_2" style="left:0px; top:10px; width:69px; height:14px; ">불만사항</caption>
  659. <button id="button2" class="btn5_letter2" disable.background-image="../../../com/commonweb/images/dis_btn4_letter2.gif" style="left:723px; top:5px; width:42px; height:19px; background-image:../../../com/commonweb/images/btn4_letter2.gif; ">
  660. <caption>수정</caption>
  661. <script type="javascript" ev:event="DOMActivate">
  662. <![CDATA[
  663. model.setValue("/root/send/updatedata", grd_complainfactlist.getUpdateData("update"));
  664. var chk = submit("TXAHA02603","false") ;
  665. if ( chk ) {
  666. grd_complainfactlist.clearStatus(); // submit() 성공하면 그리드의 d상태 제거
  667. grd_complainfactlist.refresh();
  668. }//end if
  669. ]]>
  670. </script>
  671. </button>
  672. <datagrid id="grd_complainfactlist" nodeset="/root/main/patinfo/complainfactlist" autoresize="true" caption="연도^만족도^불만사항^일련번호^환자번호" colsep="^" colwidth="70, 0, 671, 100, 80" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:31px; width:765px; height:197px; ">
  673. <col ref="lastupdtdt" format="yyyy-mm-dd"/>
  674. <col ref="satsfctgrde" type="combo" visibility="hidden">
  675. <choices>
  676. <itemset nodeset="/root/init/A0118list/A0118">
  677. <label ref="cdnm"/>
  678. <value ref="cdid"/>
  679. </itemset>
  680. </choices>
  681. </col>
  682. <col ref="complainfact" type="input"/>
  683. <col ref="factseq" visibility="hidden"/>
  684. <col ref="pid" visibility="hidden"/>
  685. </datagrid>
  686. </group>
  687. <group id="group1" style="left:427px; top:0px; width:768px; height:240px; ">
  688. <line id="line2" class="line_1" style="x1:0px; y1:25px; x2:765px; y2:25px; "/>
  689. <caption id="caption5" class="tit_2" style="left:0px; top:10px; width:75px; height:14px; ">참고사항</caption>
  690. <button id="button6" class="btn5_letter2" disable.background-image="../../../com/commonweb/images/dis_btn4_letter2.gif" style="left:723px; top:5px; width:42px; height:19px; background-image:../../../com/commonweb/images/btn4_letter2.gif; ">
  691. <caption>수정</caption>
  692. <script type="javascript" ev:event="DOMActivate">
  693. <![CDATA[
  694. model.setValue("/root/send/updatedata", grd_remfactlist.getUpdateData("update"));
  695. var chk = submit("TXAHA02603","false") ;
  696. if ( chk ) {
  697. grd_remfactlist.clearStatus(); // submit() 성공하면 그리드의 d상태 제거
  698. grd_remfactlist.refresh();
  699. }//end if
  700. ]]>
  701. </script>
  702. </button>
  703. <datagrid id="grd_remfactlist" nodeset="/root/main/patinfo/remfactlist" autoresize="true" caption="연도^참고사항^일련번호^환자번호^상태" colsep="^" colwidth="70, 671, 100, 50, 100" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:30px; width:765px; height:210px; ">
  704. <col ref="lastupdtdt" format="yyyy-mm-dd"/>
  705. <col ref="remfact" type="input" autoresize="true"/>
  706. <col ref="factseq" visibility="hidden"/>
  707. <col ref="pid" visibility="hidden"/>
  708. <col ref="status" visibility="hidden"/>
  709. </datagrid>
  710. </group>
  711. </group>
  712. <group id="group3" style="left:0px; top:0px; width:1195px; height:13px; ">
  713. <caption id="caption22" class="tit_1" style="left:0px; top:0px; width:189px; height:14px; ">건진고객관리</caption>
  714. </group>
  715. </xhtml:body>
  716. </xhtml:html>