SMMNO04100_진료실대기자관리.xrw 47 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.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. <cond>
  11. <orddd/>
  12. <orddeptcd/>
  13. <orddr/>
  14. <condwait/>
  15. </cond>
  16. <ordschelist>
  17. <ordschelistinfo>
  18. <dspflag/>
  19. <ordtm/>
  20. <nursacptdt/>
  21. <pid/>
  22. <patnm/>
  23. <sexage/>
  24. <chk/>
  25. <statenm/>
  26. <lateyn/>
  27. <prcptdayaftrcptyn/>
  28. <lastupdtrnm/>
  29. <ordrsrvtm/>
  30. <instcd/>
  31. <orddd/>
  32. <cretno/>
  33. <centcd/>
  34. <orddeptcd/>
  35. <subdeptcd/>
  36. <orddrid/>
  37. </ordschelistinfo>
  38. <ordscheretelistinfo>
  39. <chk/>
  40. <ordtm/>
  41. <nursacptdt/>
  42. <pid/>
  43. <patnm/>
  44. <sexage/>
  45. <lateyn/>
  46. <prcptdayaftrcptyn/>
  47. <ordstatyn/>
  48. <lastupdtrnm/>
  49. <statenm/>
  50. <instcd/>
  51. <orddd/>
  52. <cretno/>
  53. <centcd/>
  54. <orddeptcd/>
  55. <subdeptcd/>
  56. <orddrid/>
  57. </ordscheretelistinfo>
  58. <ordschereteendlistinfo>
  59. <chk/>
  60. <ordtm/>
  61. <nursacptdt/>
  62. <pid/>
  63. <patnm/>
  64. <sexage/>
  65. <lateyn/>
  66. <prcptdayaftrcptyn/>
  67. <lastupdtrnm/>
  68. <instcd/>
  69. <orddd/>
  70. <cretno/>
  71. <centcd/>
  72. <orddeptcd/>
  73. <subdeptcd/>
  74. <orddrid/>
  75. </ordschereteendlistinfo>
  76. </ordschelist>
  77. </main>
  78. <send>
  79. <savedata/>
  80. <reqdata/>
  81. </send>
  82. <init>
  83. </init>
  84. <hidden/>
  85. <temp>
  86. <popmenu>
  87. <menu>
  88. <name>보류</name>
  89. <func>fOrdPatWaitRete</func>
  90. </menu>
  91. </popmenu>
  92. <popmenu2>
  93. <menu>
  94. <name>대기</name>
  95. <func>fOrdPatWait</func>
  96. </menu>
  97. <menu>
  98. <name>완료</name>
  99. <func>fOrdReteRoomOut</func>
  100. </menu>
  101. </popmenu2>
  102. <popmenu5>
  103. <menu>
  104. <name>대기</name>
  105. <func>fOrdPatEndWait</func>
  106. </menu>
  107. </popmenu5>
  108. </temp>
  109. <chkvalue>
  110. <chk/>
  111. </chkvalue>
  112. </root>
  113. </instance>
  114. <script type="javascript" ev:event="xforms-ready">
  115. <![CDATA[
  116. fInit();
  117. ]]>
  118. </script>
  119. <submission id="TRZSD00206" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  120. <submission id="TRMNO00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/init/orddr"/>
  121. <submission id="TRMNO04101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/ordschelist"/>
  122. <submission id="TXMNO04101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root/main/returnsts"/>
  123. <submission id="TXMNO04102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root"/>
  124. <submission id="TXMNO04103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root"/>
  125. </model>
  126. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  127. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  128. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  129. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  130. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  131. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  132. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  133. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  134. <script type="javascript">
  135. <![CDATA[
  136. function fInit() {
  137. var CurrentDate = getCurrentDate();
  138. var dutplcecd = getUserInfo("dutplcecd"); //근무지부서코드
  139. var dutinstcd = getUserInfo("dutplceinstcd"); //근무지기관코드
  140. model.setValue("/root/main/cond/orddd",CurrentDate);
  141. model.setValue("/root/main/cond/condwait","1"); // 진료예정 대기로 디폴트 값 셋팅
  142. model.removeNodeset("/root/main/ordschelist");
  143. grd_ordschelistinfo.visible = true;
  144. grd_ordschereteendlistinfo.visible = false;
  145. // 간호외래진료부서콤보 (특정하위부서를 포함- 분만실, 육아상담실, 인공신장실)
  146. zsdfGetCareOutOrderDepartmentList(dutinstcd, "/root/init/orddept", CurrentDate);
  147. model.resetInstanceNode("/root/main/cond/orddept");
  148. if (dutplcecd != "") {
  149. model.setValue("/root/main/cond/orddeptcd", dutplcecd); // 근무지부서코드
  150. fDeptDoctSearch(); // 의사리스트조회
  151. }
  152. model.refresh();
  153. }
  154. //진료과별 진료의 조회
  155. function fDeptDoctSearch(){
  156. model.removeNodeset("/root/main/ordschelist");
  157. model.removenode("/root/send");
  158. model.makeNode("/root/send/reqdata");
  159. model.makeValue("/root/send/reqdata/orddd", model.getValue("/root/main/cond/orddd"));
  160. model.makeValue("/root/send/reqdata/orddeptcd", model.getValue("/root/main/cond/orddeptcd"));
  161. model.makeValue("/root/send/reqdata/prcpspecflag", "Y");
  162. submit("TRMNO00104");
  163. }
  164. //진료예정자리스트
  165. function fOrdScheList() {
  166. model.removenode("/root/send");
  167. model.makeNode("/root/send/reqdata");
  168. var orddd = model.getValue("/root/main/cond/orddd");
  169. var orddeptcd = model.getValue("/root/main/cond/orddeptcd");
  170. var orddrid = model.getValue("/root/main/cond/orddr");
  171. if(isNull(orddd)) {
  172. messageBox("진료일자는","I003");
  173. model.setFocus("ipt_orddd");
  174. return;
  175. }
  176. if(isNull(orddeptcd)) {
  177. messageBox("진료과는","I003");
  178. model.setFocus("cmb_orddept");
  179. return;
  180. }
  181. if(isNull(orddrid)) {
  182. messageBox("진료의는","I003");
  183. model.setFocus("cmb_orddr");
  184. return;
  185. }
  186. model.makeValue("/root/send/reqdata/orddd",orddd);
  187. model.makeValue("/root/send/reqdata/centcd","-");
  188. model.makeValue("/root/send/reqdata/orddeptcd",orddeptcd);
  189. model.makeValue("/root/send/reqdata/orddrid",orddrid);
  190. submit("TRMNO04101");
  191. }
  192. // 진료대기 예정자 리스트에서 보류 버튼 클릭시 보류 상태로 변하는 함수
  193. function fOrdPatWaitRete()
  194. {
  195. var idxRow=grd_ordschelistinfo.row;
  196. var idxfixRows=grd_ordschelistinfo.fixedRows;
  197. var idxRows=grd_ordschelistinfo.rows;
  198. var chkCount=0;
  199. for(i=1;i<=idxRows-idxfixRows;i++) // 그리드에 체크된 개수만큼 for문 돌려서 값을 체크한다.
  200. {
  201. var chkFlag=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/chk");
  202. if(chkFlag=='1')
  203. {
  204. chkCount=chkCount+1;
  205. }
  206. }
  207. if(idxRow<=0 && chkCount=='0') // 체크가 안되어 있으면서 그리드 밖을 클릭시
  208. {
  209. messageBox("환자를 선택","I008");
  210. return;
  211. }
  212. if(chkCount!='0')
  213. {
  214. fOrdPaitReteToWait(); // 여러개 체크시 보류 멀티 저장함수 태운다.
  215. return;
  216. }
  217. var pid=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/pid");
  218. var orddd=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/orddd");
  219. var cretno=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/cretno");
  220. var ordrsrvtm=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/ordrsrvtm");
  221. var ordrsrvseqno=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/ordrsrvseqno");
  222. var orddrid=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/orddrid");
  223. var orddeptcd=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/orddeptcd");
  224. model.makeValue("/root/send/savedata/pid",pid);
  225. model.makeValue("/root/send/savedata/orddd",orddd);
  226. model.makeValue("/root/send/savedata/cretno",cretno);
  227. model.makeValue("/root/send/savedata/ordrsrvtm",ordrsrvtm);
  228. model.makeValue("/root/send/savedata/ordrsrvseqno",ordrsrvseqno);
  229. model.makeValue("/root/send/savedata/patstat",'B'); //보류B로 저장
  230. model.makeValue("/root/send/savedata/orddrid",orddrid);
  231. model.makeValue("/root/send/savedata/orddeptcd",orddeptcd);
  232. if(submit("TXMNO04101")) // 외래대기환자상태관리 table에 진료예정자리스트 대기인 환자 insert
  233. {
  234. fOrdScheList();
  235. }
  236. }
  237. //보류환자 대기 상태로 셋팅
  238. function fOrdPatWait() {
  239. var idxRow=grd_ordscheretelistinfo.row;
  240. var idxfixRows=grd_ordscheretelistinfo.fixedRows;
  241. var idxRows=grd_ordscheretelistinfo.rows;
  242. var chkCount=0;
  243. for(i=1;i<=idxRows-idxfixRows;i++) // 그리드에 체크된 개수만큼 for문 돌려서 값을 체크한다.
  244. {
  245. var chkFlag=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/chk");
  246. if(chkFlag=='1')
  247. {
  248. chkCount=chkCount+1;
  249. }
  250. }
  251. if(idxRow<=0 && chkCount=='0') // 체크가 안되어 있으면서 그리드 밖을 클릭시
  252. {
  253. messageBox("환자를 선택","I008");
  254. return;
  255. }
  256. if(chkCount!='0')
  257. {
  258. fOrdPatWaitToRete(); // 여러개 체크시 여러명 보류 환자 대기로 보내는 저장함수 태운다.
  259. return;
  260. }
  261. var pid=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/pid");
  262. var orddd=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/orddd");
  263. var cretno=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/cretno");
  264. var ordrsrvtm=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/ordrsrvtm");
  265. var ordrsrvseqno=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/ordrsrvseqno");
  266. var orddrid=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/orddrid");
  267. var orddeptcd=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/orddeptcd");
  268. var centcd=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/centcd");
  269. model.makeValue("/root/send/savedata/pid",pid);
  270. model.makeValue("/root/send/savedata/orddd",orddd);
  271. model.makeValue("/root/send/savedata/cretno",cretno);
  272. model.makeValue("/root/send/savedata/ordrsrvtm",ordrsrvtm);
  273. model.makeValue("/root/send/savedata/ordrsrvseqno",ordrsrvseqno);
  274. model.makeValue("/root/send/savedata/patstat",'D'); //대기 D로 저장
  275. model.makeValue("/root/send/savedata/orddrid",orddrid);
  276. model.makeValue("/root/send/savedata/orddeptcd",orddeptcd);
  277. model.makeValue("/root/send/savedata/centcd",centcd);
  278. if(submit("TXMNO04101")) // 외래대기환자상태관리 table에 진료예정자리스트 대기인 환자 insert
  279. {
  280. fOrdScheList();
  281. }
  282. }
  283. // 보류 환자를 완료 환자로 바꾸는 함수
  284. function fOrdReteRoomOut()
  285. {
  286. var idxRow=grd_ordscheretelistinfo.row;
  287. var idxfixRows=grd_ordscheretelistinfo.fixedRows;
  288. var idxRows=grd_ordscheretelistinfo.rows;
  289. var chkCount=0;
  290. for(i=1;i<=idxRows-idxfixRows;i++) // 그리드에 체크된 개수만큼 for문 돌려서 값을 체크한다.
  291. {
  292. var chkFlag=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/chk");
  293. if(chkFlag=='1')
  294. {
  295. chkCount=chkCount+1;
  296. }
  297. }
  298. if(idxRow<=0 && chkCount=='0') // 체크가 안되어 있으면서 그리드 밖을 클릭시
  299. {
  300. messageBox("환자를 선택","I008");
  301. return;
  302. }
  303. if(chkCount!='0')
  304. {
  305. fOrdPatWaitToReteEnd(); // 여러개 체크시 여러명 보류 환자 대기로 보내는 저장함수 태운다.
  306. return;
  307. }
  308. var pid=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/pid");
  309. var orddd=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/orddd");
  310. var cretno=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/cretno");
  311. var ordrsrvtm=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/ordrsrvtm");
  312. var ordrsrvseqno=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/ordrsrvseqno");
  313. var orddrid=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/orddrid");
  314. var orddeptcd=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+idxRow+"]/orddeptcd");
  315. model.makeValue("/root/send/savedata/pid",pid);
  316. model.makeValue("/root/send/savedata/orddd",orddd);
  317. model.makeValue("/root/send/savedata/cretno",cretno);
  318. model.makeValue("/root/send/savedata/ordrsrvtm",ordrsrvtm);
  319. model.makeValue("/root/send/savedata/ordrsrvseqno",ordrsrvseqno);
  320. model.makeValue("/root/send/savedata/patstat",'C'); //퇴실 C로 저장
  321. model.makeValue("/root/send/savedata/orddrid",orddrid);
  322. model.makeValue("/root/send/savedata/orddeptcd",orddeptcd);
  323. if(submit("TXMNO04101")) // 외래대기환자상태관리 table에 진료예정자리스트 퇴실인 환자 update
  324. {
  325. fOrdScheList();
  326. }
  327. }
  328. //완료환자 대기 상태로 셋팅
  329. function fOrdPatEndWait()
  330. {
  331. var idxRow=grd_ordschereteendlistinfo.row;
  332. if(idxRow<0)
  333. {
  334. messageBox("환자를 선택","I008");
  335. return;
  336. }
  337. var pid=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+idxRow+"]/pid");
  338. var orddd=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+idxRow+"]/orddd");
  339. var cretno=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+idxRow+"]/cretno");
  340. var ordrsrvtm=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+idxRow+"]/ordrsrvtm");
  341. var ordrsrvseqno=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+idxRow+"]/ordrsrvseqno");
  342. var orddrid=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+idxRow+"]/orddrid");
  343. var orddeptcd=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+idxRow+"]/orddeptcd");
  344. var centcd=model.getValue("/root/main/ordschelist/ordschereteendlistinfo"+"["+idxRow+"]/centcd");
  345. model.makeValue("/root/send/savedata/ordrsrvtm",ordrsrvtm);
  346. model.makeValue("/root/send/savedata/pid",pid);
  347. model.makeValue("/root/send/savedata/orddd",orddd);
  348. model.makeValue("/root/send/savedata/cretno",cretno);
  349. model.makeValue("/root/send/savedata/patstat",'D'); //대기 D로 저장
  350. model.makeValue("/root/send/savedata/orddrid",orddrid);
  351. model.makeValue("/root/send/savedata/ordrsrvseqno",ordrsrvseqno);
  352. model.makeValue("/root/send/savedata/orddeptcd",orddeptcd);
  353. model.makeValue("/root/send/savedata/centcd",centcd);
  354. if(submit("TXMNO04101")) // 외래대기환자상태관리 table에 진료예정자리스트 대기인 환자 insert
  355. {
  356. fOrdScheList();
  357. }
  358. }
  359. // 대기환자 여러 명 보류로 보내는 함수
  360. function fOrdPaitReteToWait()
  361. {
  362. var idxRow=grd_ordschelistinfo.rows;
  363. var idxRows=grd_ordschelistinfo.fixedRows;
  364. var chkCount=0;
  365. var chkdata = 'chk'
  366. + '▦pid'
  367. + '▦orddd'
  368. + '▦cretno'
  369. + '▦ordrsrvtm'
  370. + '▦ordrsrvseqno'
  371. + '▦orddrid'
  372. + '▦orddeptcd'
  373. + '▦patstat'
  374. + '▩' ;
  375. for(i=1;i<=idxRow-idxRows;i++) // 그리드에 체크된 개수만큼 for문 돌려서 값을 체크한다.
  376. {
  377. var chkFlag=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/chk");
  378. if(chkFlag=='1')
  379. {
  380. chkdata+= chkFlag
  381. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/pid")
  382. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/orddd")
  383. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/cretno")
  384. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/ordrsrvtm")
  385. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/ordrsrvseqno")
  386. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/orddrid")
  387. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/orddeptcd")
  388. + '▦' +'B' //환자 상태 보류 B로 저장
  389. + '▩' ;
  390. chkCount=chkCount+1;
  391. }
  392. }
  393. if(chkCount=='0')
  394. {
  395. messageBox("보류 시킬 환자를 대기 리스트에서 선택","I008");
  396. return;
  397. }
  398. model.removeNodeset("/root/send/savedata");
  399. model.makeNode("/root/send/savedata");
  400. model.makeValue("/root/send/savedata/chkdata", chkdata);
  401. if(submit("TXMNO04102")) // 외래대기환자상태관리 table에 진료예정자리스트 대기인 환자 insert
  402. {
  403. fOrdScheList();
  404. }
  405. }
  406. // 보류 환자 대기 상태로 멀티 저장하는 함수
  407. function fOrdPatWaitToRete()
  408. {
  409. var idxRow=grd_ordscheretelistinfo.rows;
  410. var idxRows=grd_ordscheretelistinfo.fixedRows;
  411. var chkCount=0;
  412. var chkdata = 'chk'
  413. + '▦pid'
  414. + '▦orddd'
  415. + '▦cretno'
  416. + '▦ordrsrvtm'
  417. + '▦ordrsrvseqno'
  418. + '▦orddrid'
  419. + '▦orddeptcd'
  420. + '▦centcd'
  421. + '▦patstat'
  422. + '▩' ;
  423. for(i=1;i<=idxRow-idxRows;i++) // 그리드에 체크된 개수만큼 for문 돌려서 값을 체크한다.
  424. {
  425. var chkFlag=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/chk");
  426. if(chkFlag=='1')
  427. {
  428. chkdata+= chkFlag
  429. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/pid")
  430. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/orddd")
  431. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/cretno")
  432. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/ordrsrvtm")
  433. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/ordrsrvseqno")
  434. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/orddrid")
  435. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/orddeptcd")
  436. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/centcd")
  437. + '▦' +'D' //환자 상태 대기 D로 저장
  438. + '▩' ;
  439. chkCount=chkCount+1;
  440. }
  441. }
  442. if(chkCount=='0')
  443. {
  444. messageBox("대기시킬 환자를 보류 리스트에서 선택","I008");
  445. return;
  446. }
  447. model.removeNodeset("/root/send/savedata");
  448. model.makeNode("/root/send/savedata");
  449. model.makeValue("/root/send/savedata/chkdata", chkdata);
  450. if(submit("TXMNO04102")) // 외래대기환자상태관리 table에 진료예정자리스트 대기인 환자 insert
  451. {
  452. fOrdScheList();
  453. }
  454. }
  455. // 보류 환자 완료 상태로 멀티 저장하는 함수
  456. function fOrdPatWaitToReteEnd()
  457. {
  458. var idxRow=grd_ordscheretelistinfo.rows;
  459. var idxRows=grd_ordscheretelistinfo.fixedRows;
  460. var chkCount=0;
  461. var chkdata = 'chk'
  462. + '▦pid'
  463. + '▦orddd'
  464. + '▦cretno'
  465. + '▦ordrsrvtm'
  466. + '▦ordrsrvseqno'
  467. + '▦orddrid'
  468. + '▦orddeptcd'
  469. + '▦centcd'
  470. + '▦patstat'
  471. + '▩' ;
  472. for(i=1;i<=idxRow-idxRows;i++) // 그리드에 체크된 개수만큼 for문 돌려서 값을 체크한다.
  473. {
  474. var chkFlag=model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/chk");
  475. if(chkFlag=='1')
  476. {
  477. chkdata+= chkFlag
  478. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/pid")
  479. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/orddd")
  480. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/cretno")
  481. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/ordrsrvtm")
  482. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/ordrsrvseqno")
  483. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/orddrid")
  484. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/orddeptcd")
  485. + '▦' +model.getValue("/root/main/ordschelist/ordscheretelistinfo"+"["+i+"]/centcd")
  486. + '▦' +'C' //환자 상태 완료 C로 저장
  487. + '▩' ;
  488. chkCount=chkCount+1;
  489. }
  490. }
  491. if(chkCount=='0')
  492. {
  493. messageBox("완료시킬 환자를 보류 리스트에서 선택","I008");
  494. return;
  495. }
  496. model.removeNodeset("/root/send/savedata");
  497. model.makeNode("/root/send/savedata");
  498. model.makeValue("/root/send/savedata/chkdata", chkdata);
  499. if(submit("TXMNO04102")) // 외래대기환자상태관리 table에 진료예정자리스트 대기인 환자 insert
  500. {
  501. fOrdScheList();
  502. }
  503. }
  504. // 순서 변경 함수
  505. function fSetMenuGroupSeq(toSeq, type, flag)
  506. {
  507. var isSeq = grd_ordschelistinfo.row; //클릭한 로우
  508. var fixRow = grd_ordschelistinfo.fixedRows;
  509. if(isSeq > 0){ // 클릭한 로우가 존재할 때
  510. var srcSeq = (isSeq > toSeq) ? isSeq+1 : isSeq; //클릭한 행과 이동할 행을 비교하여 클릭한 행이 클 때는
  511. grd_ordschelistinfo.insertRow(toSeq, type, false); // 이동할 위치에 행을 하나 삽입한다.
  512. model.copyNode("/root/main/ordschelist/ordschelistinfo["+grd_ordschelistinfo.row+"]", "/root/main/ordschelist/ordschelistinfo["+srcSeq+"]");
  513. grd_ordschelistinfo.deleteRow(srcSeq, false);
  514. if(isSeq > toSeq){
  515. startRow = toSeq;
  516. endRow = isSeq;
  517. grd_ordschelistinfo.row = startRow; //위로 올릴때 포커스는 시작점
  518. if(isSeq==startRow) // 순서 위로 변경시 변경한 순서와 처음 순서가 같을 때
  519. {
  520. model.makeValue("/root/chkvalue/chk","Y");
  521. }
  522. }else{
  523. startRow = isSeq;
  524. endRow = toSeq;
  525. grd_ordschelistinfo.row = endRow; //밑으로 내릴 때 포커스는 끝나는점
  526. if(isSeq==endRow) // 순서 밑으로 변경시 변경한 순서와 처음 순서가 같을 때
  527. {
  528. model.makeValue("/root/chkvalue/chk","Y");
  529. }
  530. }
  531. model.refresh();
  532. fOrdPatWaitSeqChng(flag); //순서변경
  533. }else{
  534. messageBox("변경할 메뉴그룹을","C002");
  535. }
  536. }
  537. //대기환자 순서변경
  538. function fOrdPatWaitSeqChng(flag)
  539. {
  540. var idxRows=grd_ordschelistinfo.rows;
  541. var idxFixRows=grd_ordschelistinfo.fixedRows;
  542. var idxRow=grd_ordschelistinfo.row; //클릭한 행 반환
  543. var upRow=idxRow-1; //클릭한 행 윗 행
  544. var downRow=idxRow+1; //클릭한 행 아래 행
  545. if(idxRows-idxFixRows=='0') //조회된 행이 없을 때
  546. {
  547. messageBox("환자 리스트가","I004");
  548. return;
  549. }
  550. if(idxRow<=0) // 환자 선택하지 않았을때
  551. {
  552. messageBox("순서 변경할 환자를 선택","I008");
  553. return;
  554. }
  555. if(model.getValue("/root/chkvalue/chk")=="Y") //순서가 변경되지 않았을 때
  556. {
  557. messageBox("순서 변경 유무를","I007");
  558. return;
  559. }
  560. var idxordrsrvtm=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/ordrsrvtm");
  561. var upordrsrvtm=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+upRow+"]/ordrsrvtm");
  562. var downordrsrvtm=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+downRow+"]/ordrsrvtm");
  563. var idxordrsrvseqno=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/ordrsrvseqno");
  564. var upordrsrvseqno=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+upRow+"]/ordrsrvseqno");
  565. var downordrsrvseqno=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+downRow+"]/ordrsrvseqno");
  566. var chkordrsrvtm = "";
  567. var chkordrsrvseqno = "";
  568. if(flag == "upseq"){
  569. chkordrsrvtm = upordrsrvtm;
  570. }else if(flag == "downseq"){
  571. chkordrsrvtm = downordrsrvtm;
  572. }
  573. if(isNull(upordrsrvtm)) {
  574. chkordrsrvtm = eval(downordrsrvtm) -1;
  575. if(chkordrsrvtm >= 100 && chkordrsrvtm <= 999){
  576. chkordrsrvtm = "0"+ chkordrsrvtm;
  577. }else if(chkordrsrvtm >= 10 && chkordrsrvtm <= 99){
  578. chkordrsrvtm = "00"+ chkordrsrvtm;
  579. }else if(chkordrsrvtm >= 0 && chkordrsrvtm <= 9){
  580. chkordrsrvtm = "000"+ chkordrsrvtm;
  581. }else if(chkordrsrvtm < 0){
  582. chkordrsrvtm = "0000";
  583. }else{
  584. chkordrsrvtm = chkordrsrvtm;
  585. }
  586. }
  587. if(isNull(downordrsrvtm)) {
  588. chkordrsrvtm = eval(upordrsrvtm) +1;
  589. if(chkordrsrvtm >= 100 && chkordrsrvtm <= 999){
  590. chkordrsrvtm = "0"+ chkordrsrvtm;
  591. }else if(chkordrsrvtm >= 10 && chkordrsrvtm <= 99){
  592. chkordrsrvtm = "00"+ chkordrsrvtm;
  593. }else if(chkordrsrvtm >= 0 && chkordrsrvtm <= 9){
  594. chkordrsrvtm = "000"+ chkordrsrvtm;
  595. }else if(chkordrsrvtm < 0){
  596. chkordrsrvtm = "0000";
  597. }else{
  598. chkordrsrvtm = chkordrsrvtm;
  599. }
  600. }
  601. if (isNull(upordrsrvseqno) || upordrsrvseqno == "1.#Q") {
  602. upordrsrvseqno = "0000";
  603. }
  604. if (isNull(downordrsrvseqno) || downordrsrvseqno == "1.#Q") {
  605. downordrsrvseqno = "0000";
  606. }
  607. // ordrsrvtm이 위 아래 같으면 down+up/2, 다르면 up+10000/2
  608. if(upordrsrvseqno=='0000'&& downordrsrvseqno=='0000') {
  609. chkordrsrvseqno = '5000';
  610. }else if(upordrsrvseqno>downordrsrvseqno) {
  611. var midseqno=(parseInt(10000)+parseInt(upordrsrvseqno))/2;
  612. var subordrsrvseqno=Math.round(midseqno);
  613. chkordrsrvseqno = subordrsrvseqno;
  614. }else if(upordrsrvseqno<downordrsrvseqno) {
  615. var midseqno2=(parseInt(upordrsrvseqno)+parseInt(downordrsrvseqno))/2;
  616. var subordrsrvseqno=Math.round(midseqno2);
  617. chkordrsrvseqno = subordrsrvseqno;
  618. } else if (upordrsrvseqno ==downordrsrvseqno) {
  619. chkordrsrvseqno = '5000';
  620. }
  621. var pid=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/pid");
  622. var orddd=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/orddd");
  623. var cretno=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/cretno");
  624. var orddrid=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/orddrid");
  625. var orddeptcd=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/orddeptcd");
  626. model.setValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/chkseq", 'Y');
  627. model.setValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/ordrsrvtm", chkordrsrvtm);
  628. model.setValue("/root/main/ordschelist/ordschelistinfo"+"["+idxRow+"]/ordrsrvseqno", chkordrsrvseqno);
  629. model.refresh();
  630. }
  631. //대기환자 순서변경 저장
  632. function fOrdPatWaitSeqChngSave(){
  633. var idxRows=grd_ordschelistinfo.rows;
  634. var idxFixRows=grd_ordschelistinfo.fixedRows;
  635. var idxRow=grd_ordschelistinfo.row; //클릭한 행 반환
  636. var upRow=idxRow-1; //클릭한 행 윗 행
  637. var downRow=idxRow+1; //클릭한 행 아래 행
  638. if(rdo_condwait.value=='2')
  639. {
  640. messageBox("순서 변경은 대기 환자만","I006");
  641. return;
  642. }
  643. if(idxRows-idxFixRows=='0') //조회된 행이 없을 때
  644. {
  645. messageBox("환자 리스트가","I004");
  646. return;
  647. }
  648. if(idxRow<=0) // 환자 선택하지 않았을때
  649. {
  650. messageBox("순서 변경할 환자를 선택","I008");
  651. return;
  652. }
  653. if(model.getValue("/root/chkvalue/chk")=="Y") //순서가 변경되지 않았을 때
  654. {
  655. messageBox("순서 변경 유무를","I007");
  656. return;
  657. }
  658. var chkdata = 'pid'
  659. + '▦orddd'
  660. + '▦cretno'
  661. + '▦orddrid'
  662. + '▦orddeptcd'
  663. + '▦ordrsrvtm'
  664. + '▦ordrsrvseqno'
  665. + '▦dspflag'
  666. + '▦patstat'
  667. + '▩' ;
  668. for(i=1;i<=idxRows-idxFixRows;i++) // 그리드에 체크된 개수만큼 for문 돌려서 값을 체크한다.
  669. {
  670. var chkFlag=model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/chkseq");
  671. if(chkFlag=='Y')
  672. {
  673. chkdata+= model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/pid")
  674. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/orddd")
  675. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/cretno")
  676. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/orddrid")
  677. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/orddeptcd")
  678. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/ordrsrvtm")
  679. + '▦' +model.getValue("/root/main/ordschelist/ordschelistinfo"+"["+i+"]/ordrsrvseqno")
  680. + '▦' +'D' //환자 대기 상태로 셋팅
  681. + '▦' +'D' //진료구분
  682. + '▩' ;
  683. }
  684. }
  685. model.removeNodeset("/root/send/savedata");
  686. model.makeNode("/root/send/savedata");
  687. model.makeValue("/root/send/savedata/chkdata", chkdata);
  688. if(submit("TXMNO04103"))
  689. {
  690. fOrdScheList();
  691. model.removeNodeset("/root/chkvalue/chk"); //체크값 리셋
  692. }
  693. }
  694. ]]>
  695. </script>
  696. </xhtml:head>
  697. <xhtml:body pagewidth="511" pageheight="755" guideline="1,1388;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  698. <group id="group1" style="left:0px; top:0px; width:495px; height:13px; ">
  699. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:257px; height:14px; ">진료실 대기자 관리</caption>
  700. </group>
  701. <group id="group5" class="datagrid2" scroll="auto" style="left:0px; top:13px; width:495px; height:742px; ">
  702. <datagrid id="grd_ordschereteendlistinfo" nodeset="/root/main/ordschelist/ordschereteendlistinfo" scroll="auto" caption="예약^도착^등록번호^환자명^S/A^지각^오늘^수정자" colsep="^" colwidth="40, 40, 65, 70, 45, 60, 35, 70" dataheight="25" frozencols="3" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:0px; top:105px; width:495px; height:470px; ">
  703. <col disabled="true" ref="ordtm" style="text-align:center; "/>
  704. <col ref="nursacptdt" style="text-align:center; "/>
  705. <col ref="pid" style="text-align:center; "/>
  706. <col ref="patnm" style="text-align:center; "/>
  707. <col ref="sexage" style="left:250px; top:23px; width:89px; height:23px; text-align:center; "/>
  708. <col ref="lateyn" style="text-align:center; "/>
  709. <col ref="prcptdayaftrcptyn" style="text-align:center; "/>
  710. <col ref="lastupdtrnm" style="text-align:center; "/>
  711. <script type="javascript" ev:event="onmousedown">
  712. <![CDATA[
  713. if(grd_ordschereteendlistinfo.isCell(event.target) && grd_ordschereteendlistinfo.mouseRow >= grd_ordschereteendlistinfo.fixedrows) { // 01클릭하는 위치가 그리드 안에 있을 때만 함수 실행
  714. window.setPopupMenu(true,"/root/temp/popmenu5/menu","name","func",false);
  715. }else{
  716. window.setPopupMenu(false);
  717. }
  718. ]]>
  719. </script>
  720. <script type="javascript" ev:event="DOMFocusOut">
  721. <![CDATA[
  722. window.setPopupMenu(false);
  723. ]]>
  724. </script>
  725. </datagrid>
  726. <datagrid id="grd_ordschelistinfo" nodeset="/root/main/ordschelist/ordschelistinfo" scroll="auto" caption="예약^도착^등록번호^환자명^S/A^보류^지각^수정자^순서^ordrsrvseqno^종료시간^회의제목" colsep="^" colwidth="40, 40, 65, 70, 45, 35, 60, 70, 0, 0" dataheight="25" frozencols="7" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:0px; top:105px; width:495px; height:470px; ">
  727. <col disabled="true" ref="ordtm" style="text-align:center; "/>
  728. <col ref="nursacptdt" style="text-align:center; "/>
  729. <col ref="pid" style="text-align:center; "/>
  730. <col ref="patnm" style="left:178px; top:23px; width:66px; height:23px; text-align:center; "/>
  731. <col ref="sexage" style="text-align:center; "/>
  732. <col checkvalue="1,0" ref="chk" type="checkbox"/>
  733. <col ref="lateyn" style="left:349px; top:23px; width:58px; height:23px; text-align:center; "/>
  734. <col ref="lastupdtrnm" style="text-align:center; "/>
  735. <col ref="ordrsrvtm" style="text-align:center; "/>
  736. <col ref="instcd" visibility="hidden"/>
  737. <script type="javascript" ev:event="onmousedown">
  738. <![CDATA[
  739. if(grd_ordschelistinfo.isCell(event.target) && grd_ordschelistinfo.mouseRow >= grd_ordschelistinfo.fixedrows) { // 01클릭하는 위치가 그리드 안에 있을 때만 함수 실행
  740. window.setPopupMenu(true,"/root/temp/popmenu/menu","name","func",false);
  741. }else{
  742. window.setPopupMenu(false);
  743. }
  744. ]]>
  745. </script>
  746. <script type="javascript" ev:event="DOMFocusOut">
  747. <![CDATA[
  748. window.setPopupMenu(false);
  749. ]]>
  750. </script>
  751. </datagrid>
  752. <group id="grp_sea" style="left:0px; top:10px; width:495px; height:65px; vertical-align:top; ">
  753. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:495px; height:65px; "/>
  754. <caption id="caption3" class="search_name" style="left:11px; top:10px; width:86px; height:17px; ">진료일자 :</caption>
  755. <caption id="caption2" class="search_name" style="left:11px; top:38px; width:83px; height:17px; ">진 료 과 :</caption>
  756. <caption id="caption4" class="search_name" style="left:231px; top:38px; width:83px; height:17px; ">진 료 의 :</caption>
  757. <select1 id="cmb_orddr" ref="/root/main/cond/orddr" class="combo_s_essential" navindex="4" appearance="minimal" style="left:320px; top:37px; width:80px; height:19px; ">
  758. <choices>
  759. <itemset nodeset="/root/init/orddr/orddr">
  760. <label ref="userdepthngnm"/>
  761. <value ref="userid"/>
  762. </itemset>
  763. </choices>
  764. <script type="javascript" ev:event="xforms-value-changed">
  765. <![CDATA[
  766. fOrdScheList();
  767. ]]>
  768. </script>
  769. </select1>
  770. <select1 id="cmb_orddept" ref="/root/main/cond/orddeptcd" class="combo_s_essential" navindex="3" appearance="minimal" style="left:100px; top:35px; width:105px; height:19px; ">
  771. <choices>
  772. <itemset nodeset="/root/init/orddept/dept">
  773. <label ref="depthngnm"/>
  774. <value ref="deptcd"/>
  775. </itemset>
  776. </choices>
  777. <script type="javascript" ev:event="xforms-value-changed">
  778. <![CDATA[
  779. fDeptDoctSearch();
  780. ]]>
  781. </script>
  782. </select1>
  783. <input id="ipt_orddd" ref="/root/main/cond/orddd" class="input_s_essential" navindex="1" inputtype="date" style="left:100px; top:9px; width:105px; height:19px; ">
  784. <script type="javascript" ev:event="xforms-value-changed">
  785. <![CDATA[
  786. fDeptDoctSearch();
  787. ]]>
  788. </script>
  789. </input>
  790. <line id="line11" class="line_4" style="x1:420px; y1:6px; x2:420px; y2:57px; "/>
  791. <button id="button1" class="btn1_letter2" navindex="5" style="left:430px; top:20px; width:56px; height:22px; ">
  792. <caption>조회</caption>
  793. <script type="javascript" ev:event="DOMActivate">
  794. <![CDATA[
  795. fOrdScheList();
  796. ]]>
  797. </script>
  798. </button>
  799. <select1 id="rdo_condwait" ref="/root/main/cond/condwait" appearance="full" cols="5" overflow="visible" style="left:320px; top:11px; width:95px; height:15px; font-weight:bold; border-style:none; ">
  800. <choices>
  801. <item>
  802. <label>대기</label>
  803. <value>1</value>
  804. </item>
  805. <item>
  806. <label>완료</label>
  807. <value>2</value>
  808. </item>
  809. </choices>
  810. <script type="javascript" ev:event="xforms-value-changed">
  811. <![CDATA[
  812. if(model.getValue("/root/main/cond/condwait") == '1'){ // 대기
  813. grd_ordschelistinfo.visible = true;
  814. grd_ordschereteendlistinfo.visible = false;
  815. }else{ //완료
  816. grd_ordschelistinfo.visible = false;
  817. grd_ordschereteendlistinfo.visible = true;
  818. }
  819. fOrdScheList();
  820. ]]>
  821. </script>
  822. </select1>
  823. <caption id="caption1" class="search_name" style="left:231px; top:10px; width:85px; height:17px; ">구 분 :</caption>
  824. </group>
  825. <button id="button7" class="icon_top" style="left:311px; top:80px; width:26px; height:19px; ">
  826. <caption/>
  827. <script type="javascript" ev:event="DOMActivate">
  828. <![CDATA[
  829. if(rdo_condwait.value=='2') {
  830. messageBox("순서 변경은 대기 환자만","I006");
  831. return;
  832. }
  833. if(grd_ordschelistinfo.row <= 0) {
  834. messageBox("환자를 선택","I008");
  835. return;
  836. }
  837. //상위 두명도 순서를 변경가능
  838. if ( grd_ordschelistinfo.row == "1") {
  839. messageBox("최상위환자입니다.", "I");
  840. return;
  841. } else {
  842. fSetMenuGroupSeq("1", "above", "max");
  843. }
  844. ]]>
  845. </script>
  846. <hint>
  847. <![CDATA[맨위로]]>
  848. </hint>
  849. </button>
  850. <line id="line14" class="line_1" style="x1:0px; y1:100px; x2:495px; y2:100px; "/>
  851. <button id="button8" class="icon_bottom" style="left:401px; top:80px; width:26px; height:19px; ">
  852. <caption/>
  853. <script type="javascript" ev:event="DOMActivate">
  854. <![CDATA[
  855. if(rdo_condwait.value=='2') {
  856. messageBox("순서 변경은 대기 환자만","I006");
  857. return;
  858. }
  859. if(grd_ordschelistinfo.row <= 0) {
  860. messageBox("환자를 선택","I008");
  861. return;
  862. }
  863. if( grd_ordschelistinfo.rows-grd_ordschelistinfo.fixedRows > grd_ordschelistinfo.row ) {
  864. fSetMenuGroupSeq(grd_ordschelistinfo.rows-grd_ordschelistinfo.fixedRows, "below", "min");
  865. } else {
  866. messageBox("최하위 메뉴그룹이","E005");
  867. return;
  868. }
  869. ]]>
  870. </script>
  871. <hint>
  872. <![CDATA[맨아래로]]>
  873. </hint>
  874. </button>
  875. <button id="button9" class="icon_top_direction" disable.background-image="../../../com/commonweb/images/dis_btn2_letter3.gif" style="left:341px; top:80px; width:26px; height:19px; ">
  876. <caption/>
  877. <script type="javascript" ev:event="DOMActivate">
  878. <![CDATA[
  879. if(rdo_condwait.value=='2') {
  880. messageBox("순서 변경은 대기 환자만","I006");
  881. return;
  882. }
  883. if(grd_ordschelistinfo.row<= 0) {
  884. messageBox("환자를 선택","I008");
  885. return;
  886. }
  887. //상위 두명도 순서를 변경가능
  888. if (grd_ordschelistinfo.row <= 1 ) {
  889. messageBox("최상위입니다.","I");
  890. return;
  891. } else {
  892. fSetMenuGroupSeq(grd_ordschelistinfo.row-1, "above", "upseq");
  893. }
  894. ]]>
  895. </script>
  896. <hint>
  897. <![CDATA[위로]]>
  898. </hint>
  899. </button>
  900. <button id="btn_to_down" class="icon_bottom_direction" disable.background-image="../../../com/commonweb/images/dis_btn2_letter3.gif" style="left:371px; top:80px; width:26px; height:19px; ">
  901. <caption/>
  902. <script type="javascript" ev:event="DOMActivate">
  903. <![CDATA[
  904. if(rdo_condwait.value=='2') {
  905. messageBox("순서 변경은 대기 환자만","I006");
  906. return;
  907. }
  908. if(grd_ordschelistinfo.row <= 0) {
  909. messageBox("환자를 선택","I008");
  910. return;
  911. }
  912. if( grd_ordschelistinfo.rows-grd_ordschelistinfo.fixedRows > grd_ordschelistinfo.row ) {
  913. fSetMenuGroupSeq(grd_ordschelistinfo.row+1, "below", "downseq");
  914. } else {
  915. messageBox("최하위 메뉴그룹이","E005");
  916. return;
  917. }
  918. ]]>
  919. </script>
  920. <hint>
  921. <![CDATA[아래로]]>
  922. </hint>
  923. </button>
  924. <caption id="caption16" class="tit_2" style="left:2px; top:85px; width:102px; height:14px; ">대기자 리스트</caption>
  925. <button id="button12" class="btn2_letter4" style="left:431px; top:80px; width:64px; height:19px; font-weight:bold; ">
  926. <caption>순서저장</caption>
  927. <script type="javascript" ev:event="DOMActivate">
  928. <![CDATA[
  929. fOrdPatWaitSeqChngSave();
  930. ]]>
  931. </script>
  932. </button>
  933. <caption id="caption20" class="tit_2" style="left:3px; top:586px; width:74px; height:13px; ">보류 환자</caption>
  934. <line id="line2" class="line_1" style="x1:0px; y1:602px; x2:495px; y2:602px; "/>
  935. <datagrid id="grd_ordscheretelistinfo" nodeset="/root/main/ordschelist/ordscheretelistinfo" caption="선택^예약^도착^등록번호^환자명^S/A^지각^진료^수정자" colsep="^" colwidth="32, 40, 40, 65, 70, 43, 51, 37, 70" dataheight="25" frozencols="5" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:0px; top:605px; width:495px; height:135px; ">
  936. <col checkvalue="1,0" ref="chk" type="checkbox"/>
  937. <col ref="ordtm" style="text-align:center; "/>
  938. <col ref="nursacptdt" style="text-align:center; "/>
  939. <col ref="pid" style="left:20px; top:23px; width:98px; height:18px; text-align:center; "/>
  940. <col ref="patnm" style="text-align:center; "/>
  941. <col ref="sexage" style="text-align:center; "/>
  942. <col ref="lateyn" style="text-align:center; "/>
  943. <col ref="ordstatyn" style="text-align:center; "/>
  944. <col ref="lastupdtrnm" style="text-align:center; "/>
  945. <script type="javascript" ev:event="onmousedown">
  946. <![CDATA[
  947. if(grd_ordscheretelistinfo.isCell(event.target) && grd_ordscheretelistinfo.mouseRow >= grd_ordscheretelistinfo.fixedrows) { // 01클릭하는 위치가 그리드 안에 있을 때만 함수 실행
  948. window.setPopupMenu(true,"/root/temp/popmenu2/menu","name","func",false);
  949. } else {
  950. window.setPopupMenu(false);
  951. }
  952. ]]>
  953. </script>
  954. <script type="javascript" ev:event="DOMFocusOut">
  955. <![CDATA[
  956. window.setPopupMenu(false);
  957. ]]>
  958. </script>
  959. </datagrid>
  960. </group>
  961. </xhtml:body>
  962. </xhtml:html>