SMMNE05400_응급당직전문의관리.xrw 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. <?xml version="1.0" encoding="UTF-8"?>
  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>응급실 당직 전문의 (on-call) 스케줄 관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <grpmasterinfo>
  11. <grpmasterinfolist>
  12. <shownm/>
  13. <grtype/>
  14. <staffid/>
  15. <orddeptcd/>
  16. </grpmasterinfolist>
  17. </grpmasterinfo>
  18. <drinfo>
  19. <drinfolist>
  20. <drnm/>
  21. <drid/>
  22. <deptcd/>
  23. <phone/>
  24. <bbtel/>
  25. </drinfolist>
  26. </drinfo>
  27. <workerinfo>
  28. <workerinfolist/>
  29. </workerinfo>
  30. <titleinfo>
  31. <worktitle/>
  32. <grpmtitle/>
  33. <staffnm/>
  34. <staffid/>
  35. <fromtm/>
  36. <totm/>
  37. </titleinfo>
  38. <drdetlinfo>
  39. <drnm/>
  40. <drid/>
  41. <deptcd/>
  42. <phone/>
  43. <bbtel/>
  44. </drdetlinfo>
  45. </main>
  46. <cond>
  47. <srchym/>
  48. <orddeptcd/>
  49. <orddeptnm/>
  50. </cond>
  51. <init>
  52. <orddeptinfo>
  53. <orddeptinfolist>
  54. <orddeptcd/>
  55. <orddeptnm/>
  56. </orddeptinfolist>
  57. </orddeptinfo>
  58. <menu>
  59. <item>
  60. <name>추가</name>
  61. <func>fAddWorkDr</func>
  62. </item>
  63. <item>
  64. <name>삭제</name>
  65. <func>fSetWorkDr</func>
  66. </item>
  67. <item>
  68. <name>새로고침</name>
  69. <func>fRefreshWorkDr</func>
  70. </item>
  71. </menu>
  72. </init>
  73. <send/>
  74. </root>
  75. </instance>
  76. <script type="javascript" ev:event="xforms-ready">
  77. <![CDATA[
  78. //진료행정 에서만 출력
  79. //3310000000 - 본원 진료행정팀
  80. //3310100000 - 칠곡 진료행정파트
  81. /*if (getUserInfo("dutplcecd") == '3310000000' || getUserInfo("dutplcecd") == '3310100000') {
  82. btn_prt.disabled = false;
  83. } else {
  84. btn_prt.disabled = true;
  85. }*/ // 2012.09.27 김재철 교수 요청으로 출력 가능하도록 수정 KJS
  86. fInit();
  87. ]]>
  88. </script>
  89. <script type="javascript" ev:event="xforms-close">
  90. <![CDATA[
  91. //20090629 dhkim
  92. //당직자를 조회하기 전에 이전 변경내역이 있는지 조회하여 재조회할것인지 여부에 따라 조회를 진행한다.
  93. var isRefresh = isScheduleRefresh(true);
  94. if(isRefresh == 'N'){
  95. grd_grpmaster.row = curRow;
  96. return;
  97. }else{
  98. window.close();
  99. }
  100. ]]>
  101. </script>
  102. <submission id="TRMNE05401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/orddeptinfo/orddeptinfolist"/>
  103. <submission id="TRMNE05402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/drinfo/drinfolist"/>
  104. <submission id="TRMNE05403" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/workerinfo/workerinfolist"/>
  105. <submission id="TRMNE05404" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/basicinfo" resultref="/root/init/basicinfo"/>
  106. <submission id="TRMNE09002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  107. <submission id="TXMNE05401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/workerinfo/workerinfolist"/>
  108. <submission id="TXMNE05402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/deldata" resultref="/root/main/workerinfo/workerinfolist"/>
  109. </model>
  110. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  111. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  112. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  113. <script type="javascript" src="../../../emr/ercareweb/js/SMMNE05400.js"/>
  114. <script type="javascript" src="../../../emr/carecomweb/js/CareCom.js"/>
  115. <script type="javascript">
  116. <![CDATA[
  117. //이전 셀의 행,열 인덱스를 저장하는 변수
  118. var col = 0;
  119. var row = 0;
  120. ]]>
  121. </script>
  122. </xhtml:head>
  123. <xhtml:body pagewidth="920" pageheight="920" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  124. <group id="group3" scroll="auto" style="left:0px; top:16px; width:900px; height:904px; text-align:center; ">
  125. <!-- 트리그룹시작 -->
  126. <!-- 트리그룹종료 -->
  127. <!-- 당직리스트그룹시작 -->
  128. <group id="group1" style="left:363px; top:0px; width:532px; height:825px; vertical-align:top; ">
  129. <caption id="cpt_worktitle" ref="/root/main/titleinfo/worktitle" class="tit_2" style="left:2px; top:47px; width:288px; height:13px; ">당직 리스트</caption>
  130. <line id="line3" class="line_1" style="x1:2px; y1:62px; x2:520px; y2:62px; "/>
  131. <button id="button42" class="btn4_letter2" style="left:408px; top:40px; width:56px; height:22px; ">
  132. <caption>저장</caption>
  133. <script type="javascript" ev:event="DOMActivate">
  134. <![CDATA[
  135. fSaveWorkDr();//당직자스케줄을저장한다
  136. ]]>
  137. </script>
  138. </button>
  139. <datagrid id="grd_workerlist" nodeset="/root/main/workerinfo/workerinfolist" caption="일자^요일^의사^n-zone^hp no^drid^orddeptcd^orddeptnm" colsep="^" colwidth="120, 50, 100, 80, 120, 0, 0, 0" defaultrows="0" focuscolor="#ece1ec" mergecellsfixedrows="never" rowheader="update" rowsep="|" selectionmode="free" style="left:2px; top:68px; width:518px; height:752px; ">
  140. <col ref="workdd" format="yyyy-mm-dd"/>
  141. <col ref="datenm"/>
  142. <col ref="drnm"/>
  143. <col ref="nzone"/>
  144. <col ref="hpno"/>
  145. <col ref="drid" visibility="hidden"/>
  146. <col ref="orddeptcd" visibility="hidden"/>
  147. <col ref="orddeptnm" visibility="hidden"/>
  148. <script type="javascript" ev:event="onclick">
  149. <![CDATA[
  150. //당직의사세팅
  151. var clickRow = grd_workerlist.row;
  152. var clickCol = grd_workerlist.col;
  153. var clickColNm = grd_workerlist.colAttribute(3, "ref");
  154. if(clickColNm != 'workdd'){//기준일클릭한게 아니면 의사정보세팅
  155. fSetWorkDr('ADD');//당직리스트에 선택된 당직대상자를 그리드에 세팅
  156. /*
  157. var drid = model.getValue('/root/main/workerinfo/workerinfolist[' + clickRow + ']/drid' + clickColNm.substring(4));
  158. fSetDrInfo('worklist', drid);//의사상세정보를 세팅
  159. */
  160. }
  161. ]]>
  162. </script>
  163. <script type="javascript" ev:event="onmousedown">
  164. <![CDATA[
  165. if(event.button == 3){
  166. var curRow = grd_workerlist.mouseRow;
  167. if (curRow < 1) return;
  168. var del_workdd = model.getValue("/root/main/workerinfo/workerinfolist[" + curRow + "]/workdd");
  169. var del_drnm = model.getValue("/root/main/workerinfo/workerinfolist[" + curRow + "]/drnm");
  170. var del_deptcd = model.getValue("/root/main/workerinfo/workerinfolist[" + curRow + "]/orddeptcd");
  171. var vbYes = messageBox("[" + del_workdd + "/" + del_drnm + "] 일정을", "Q001");
  172. if (vbYes == 6) {
  173. fDelWorkDr (del_workdd, del_deptcd);
  174. }
  175. }
  176. ]]>
  177. </script>
  178. </datagrid>
  179. <button id="btn_prt" class="btn4_letter2" style="left:465px; top:40px; width:56px; height:22px; ">
  180. <caption>출력</caption>
  181. <script type="javascript" ev:event="DOMActivate">
  182. <![CDATA[
  183. model.setValue("/root/cond/orddeptnm", cmb_orddeptcd.label);
  184. exeReportPreview("RPMNE05400", "XMLSTR","","","");
  185. ]]>
  186. </script>
  187. </button>
  188. </group>
  189. <!-- 당직리스트그룹종료 -->
  190. <!-- 당직대상자그룹시작 -->
  191. <!-- 당직대상자그룹종료 -->
  192. <line id="line2" class="line_1" style="x1:1px; y1:62px; x2:361px; y2:62px; "/>
  193. <!-- 조회그룹 시작 -->
  194. <group id="group4" style="left:1px; top:0px; width:360px; height:60px; vertical-align:top; ">
  195. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:360px; height:60px; "/>
  196. <button id="btn_search" class="btn1_letter2" navindex="3" style="left:295px; top:20px; width:56px; height:22px; ">
  197. <caption>조회</caption>
  198. <script type="javascript" ev:event="DOMActivate">
  199. <![CDATA[
  200. //당직자를 조회하기 전에 이전 변경내역이 있는지 조회하여 재조회할것인지 여부에 따라 조회를 진행한다.
  201. var isRefresh = isScheduleRefresh();
  202. if(isRefresh == 'N'){
  203. grd_grpmaster.row = curRow;
  204. return;
  205. }
  206. var orddeptcd = model.getValue("/root/cond/orddeptcd");
  207. if(orddeptcd == null || orddeptcd == ''){
  208. messageBox("선택된 진료과가 없습니다.", "E999");
  209. return;
  210. }
  211. fGetDrInfo(orddeptcd); //선택된 진료과의 의사리스트조회
  212. fGetWorkScheduleList(orddeptcd); //선택된 진료과의 당직 스케줄 조회
  213. ]]>
  214. </script>
  215. </button>
  216. <line id="line13" class="line_4" style="x1:288px; y1:9px; x2:288px; y2:54px; "/>
  217. <caption id="caption4" class="search_name" style="left:5px; top:9px; width:91px; height:17px; ">당직년월 :</caption>
  218. <input id="ipt_srchym" ref="/root/cond/srchym" class="input_search" navindex="1" format="yyyy-mm" style="left:126px; top:8px; width:88px; height:19px; "/>
  219. <caption id="caption1" class="search_name" style="left:5px; top:32px; width:91px; height:17px; ">진 료 과 :</caption>
  220. <select1 id="cmb_orddeptcd" ref="/root/cond/orddeptcd" navindex="2" appearance="minimal" style="left:90px; top:32px; width:190px; height:19px; text-align:left; ">
  221. <choices>
  222. <itemset nodeset="/root/init/orddeptinfo/orddeptinfolist">
  223. <label ref="deptnm"/>
  224. <value ref="deptcd"/>
  225. </itemset>
  226. </choices>
  227. <script type="javascript" ev:event="xforms-value-changed">
  228. <![CDATA[
  229. //당직자를 조회하기 전에 이전 변경내역이 있는지 조회하여 재조회할것인지 여부에 따라 조회를 진행한다.
  230. var isRefresh = isScheduleRefresh();
  231. if(isRefresh == 'N'){
  232. grd_grpmaster.row = curRow;
  233. return;
  234. }
  235. btn_search.dispatch('DOMActivate');
  236. ]]>
  237. </script>
  238. </select1>
  239. <button id="btn_bfyear" class="icon_pre_year" style="left:90px; top:10px; width:16px; height:16px; ">
  240. <caption/>
  241. <script type="javascript" ev:event="DOMActivate">
  242. <![CDATA[
  243. fClkBfYear(model.getValue('/root/cond/srchym'));
  244. ]]>
  245. </script>
  246. </button>
  247. <button id="btn_bfmonth" class="icon_pre_month" style="left:108px; top:10px; width:16px; height:16px; ">
  248. <caption/>
  249. <script type="javascript" ev:event="DOMActivate">
  250. <![CDATA[
  251. fClkBfMonth(model.getValue('/root/cond/srchym'));
  252. ]]>
  253. </script>
  254. </button>
  255. <button id="btn_afmonth" class="icon_next_month" style="left:217px; top:10px; width:16px; height:16px; ">
  256. <caption/>
  257. <script type="javascript" ev:event="DOMActivate">
  258. <![CDATA[
  259. fClkAfMonth(model.getValue('/root/cond/srchym'));
  260. ]]>
  261. </script>
  262. </button>
  263. <button id="btn_afyear" class="icon_next_year" style="left:235px; top:10px; width:16px; height:16px; ">
  264. <caption/>
  265. <script type="javascript" ev:event="DOMActivate">
  266. <![CDATA[
  267. fClkAfYear(model.getValue('/root/cond/srchym'));
  268. ]]>
  269. </script>
  270. </button>
  271. </group>
  272. <!-- 조회그룹 종료 -->
  273. <datagrid id="grd_drlist" nodeset="/root/main/drinfo/drinfolist" allowselection="false" caption="사번^이름^nzone^Hp No" colsep="^" colwidth="70, 80, 70, 120" defaultrows="0" focuscolor="#7fef0f" mergecellsfixedrows="bycolrec" rowsep="|" style="left:1px; top:68px; width:360px; height:752px; ">
  274. <col ref="drid"/>
  275. <col ref="drnm"/>
  276. <col ref="nzone"/>
  277. <col ref="hpno"/>
  278. <col ref="orddeptcd"/>
  279. <script type="javascript" ev:event="onmouseover">
  280. <![CDATA[
  281. //데이터 셀에 마우스가 올라오면 스타일을 바꾼다
  282. if(grd_drlist.isCell(event.target) && grd_drlist.mouseRow >= grd_drlist.fixedRows && grd_drlist.mouseCol >= grd_drlist.fixedCols)
  283. {
  284. grd_drlist.rebuildStyle(row, col);
  285. grd_drlist.cellStyle("background-color", grd_drlist.mouseRow, grd_drlist.mouseCol) = "#ece1ec";
  286. row = grd_drlist.mouseRow;
  287. col = grd_drlist.mouseCol;
  288. }
  289. ]]>
  290. </script>
  291. <script type="javascript" ev:event="onmouseout">
  292. <![CDATA[
  293. grd_drlist.rebuildStyle(row, col);
  294. ]]>
  295. </script>
  296. </datagrid>
  297. <shape id="roundrect3" class="roundrect_example" appearance="roundrect" style="left:0px; top:828px; width:885px; height:72px; "/>
  298. <caption id="caption2" style="left:5px; top:840px; width:870px; height:20px; ">* on-call 시간은 평일 - 당일 17:30 ~ 익일 08:30 , 주말 및 공휴일 - 당일 08:30 ~ 익일 08:30까지 입니다.</caption>
  299. <caption id="caption5" style="left:5px; top:860px; width:870px; height:28px; ">
  300. <![CDATA[* on-call 명단은 반드시 전산으로 입력하여야 하며,
  301. 학회나 개인사정 등으로 수정 및 변경이 될 때에도 전산으로 입력하신 뒤 진료행정팀으로 수정된 명단을 제출하여 주시기 바랍니다.]]>
  302. </caption>
  303. </group>
  304. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">응급실 당직 전문의 (on-call) 스케줄 관리</caption>
  305. </xhtml:body>
  306. </xhtml:html>