SMAEA05600_EDC스케줄관리.xrw 42 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046
  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>EDCIS Schedule 당직관리</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. <scheftm/>
  50. <schettm/>
  51. </cond>
  52. <init>
  53. <orddeptinfo>
  54. <orddeptinfolist>
  55. <orddeptcd/>
  56. <orddeptnm/>
  57. </orddeptinfolist>
  58. </orddeptinfo>
  59. <menu>
  60. <item>
  61. <name>추가</name>
  62. <func>fAddWorkDr</func>
  63. </item>
  64. <item>
  65. <name>삭제</name>
  66. <func>fSetWorkDr</func>
  67. </item>
  68. <item>
  69. <name>새로고침</name>
  70. <func>fRefreshWorkDr</func>
  71. </item>
  72. </menu>
  73. <dept_info>
  74. <initprcpexecdeptcd/>
  75. </dept_info>
  76. </init>
  77. <send>
  78. <globalinstance>
  79. <instance1/>
  80. </globalinstance>
  81. <srchym/>
  82. </send>
  83. </root>
  84. </instance>
  85. <script type="javascript" ev:event="xforms-ready">
  86. <![CDATA[
  87. fInit();
  88. ]]>
  89. </script>
  90. <script type="javascript" ev:event="xforms-close">
  91. <![CDATA[
  92. //20090629 dhkim
  93. //당직자를 조회하기 전에 이전 변경내역이 있는지 조회하여 재조회할것인지 여부에 따라 조회를 진행한다.
  94. var isRefresh = isScheduleRefresh(true);
  95. if(isRefresh == "N"){
  96. grd_grpmaster.row = curRow;
  97. return;
  98. }else{
  99. window.close();
  100. }
  101. ]]>
  102. </script>
  103. <submission id="TRMNE05101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/orddeptinfo/orddeptinfolist"/>
  104. <submission id="TRMNE05102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/grpmasterinfo/grpmasterinfolist"/>
  105. <submission id="TRMNE05103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/drinfo/drinfolist"/>
  106. <submission id="TRMNE05104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/drdetlinfo"/>
  107. <submission id="TRMNE05105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/workerinfo/workerinfolist"/>
  108. <submission id="TXMNE05101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/workerinfo/workerinfolist"/>
  109. <submission id="TRAEB00205" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/globalinstance" replace="instance" resultref="/root/init/dept_info"/>
  110. <submission id="TRAEA05601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/drinfo/drinfolist"/>
  111. <!-- [20091116 dhkim] 간호환경설정테이블기관코드정보조회 -->
  112. <submission id="TRMNW00001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/code/codelist"/>
  113. </model>
  114. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  115. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  116. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  117. <script type="javascript" src="../../../ast/examcureweb/js/AEZ0001.js"/>
  118. <script type="javascript" src="../../../emr/carecomweb/js/CareCom.js"/>
  119. <script type="javascript">
  120. <![CDATA[
  121. //이전 셀의 행,열 인덱스를 저장하는 변수
  122. var col = 0;
  123. var row = 0;
  124. //20090629 dhkim
  125. //당직스케줄 그리드의 수정상태값
  126. var isEdited = "N";
  127. var curRow = 0; //중증분류그리드의 선택된 row값
  128. var orddept = null;//
  129. //20090609 dhkim
  130. //화면초기화
  131. function fInit(){
  132. //2010.01.12 dhkim 당직기준시간 추가
  133. var scheftm = "9999";//0900
  134. var schettm = "8888";//0859
  135. var curym = getCurrentDate().substring(0, 6);
  136. var worktitle = curym.substring(0, 4) + "년 " + curym.substring(4, 6) + "월 당직리스트";
  137. //2010.01.12 dhkim 기관별 당직기준시간 조회 추가
  138. //변경요청번호:10623번. itc서소영
  139. var pCode = "'175'"; // 조회할 CdGrupID 코드정보
  140. var pDate = getCurrentDate(); //조회기준일자
  141. model.makeValue("/root/send/cdgrupid", pCode); // 조회할 CdGrupID 코드정보
  142. model.makeValue("/root/send/srchdd" , pDate); // 조회기준일자
  143. submit("TRMNW00001",false); // wardcareweb
  144. var cdnm = model.getValue("/root/code/codeinfo/codelist[cdgrupid = '175' and cdid = '"+ getUserInfo("dutplceinstcd") +"']/cdnm");
  145. if(cdnm != "" && cdnm.split("|").length > 0){
  146. scheftm = cdnm.split("|")[0];//당직시작시간
  147. schettm = cdnm.split("|")[1];//당직종료시간
  148. }
  149. model.setValue("/root/send/srchym", curym);
  150. model.setValue("/root/cond/scheftm" , scheftm);
  151. model.setValue("/root/cond/schettm" , scheftm);
  152. aezfSetSuppDeptcd();
  153. if(submit("TRMNE05101")){
  154. // // 수행부서 코드 가져오기
  155. // submit("TRAEB00205");
  156. var orddeptcd = getUserInfo("posdeptcd");
  157. //조회조건 초기화
  158. model.removenode("/root/cond");
  159. model.removenode("/root/main/titleinfo");
  160. model.makeValue("/root/cond/srchym", curym);
  161. model.makeValue("/root/cond/orddeptcd", orddeptcd);
  162. cpt_worktitle.text = worktitle; //조회년월로 세팅
  163. cpt_grpmtitle.text = "중증분류명"; //초기화
  164. model.refresh();
  165. orddeptcd = model.getValue("/root/cond/orddeptcd");
  166. fGetGroupMaster(orddeptcd);//선택된 진료과의 중증분류마스터조회
  167. fGetDrInfo(orddeptcd);//선택된 진료과의 의사리스트조회
  168. cmb_orddeptcd.disabled = false;
  169. }else{
  170. messageBox("화면초기화 진료과 조회를 실패하였습니다.", "E999");
  171. return false;
  172. }
  173. }
  174. //20090609 dhkim
  175. //선택된 진료과의 중증분류마스터 조회
  176. function fGetGroupMaster(orddeptcd){
  177. //타이틀 헤더세팅
  178. var srchym = model.getValue("/root/cond/srchym");
  179. var worktitle = srchym.substring(0, 4) + "년 " + srchym.substring(4, 6) + "월 당직리스트";
  180. cpt_worktitle.text = worktitle; //조회년월로 세팅
  181. cpt_grpmtitle.text = "중증분류명"; //초기화
  182. if(srchym == ""){
  183. srchym = getCurrentDate().substring(0, 6);
  184. model.setValue("/root/cond/srchym", srchym);
  185. }
  186. //노드초기화
  187. model.removenode("/root/main/titleinfo");
  188. model.makenode("/root/main/titleinfo");
  189. model.removenode("/root/main/workinfo");
  190. model.makenode("/root/main/workinfo");
  191. model.removenode("/root/main/drinfo");
  192. model.makenode("/root/main/drinfo");
  193. model.removenode("/root/main/drdetlinfo");
  194. model.makenode("/root/main/drdetlinfo");
  195. model.removenode("/root/send");
  196. model.makeValue("/root/send/grpmasterinfo/srchym", srchym);
  197. model.makeValue("/root/send/grpmasterinfo/orddeptcd", orddeptcd);
  198. if(!submit("TRMNE05102")){
  199. messageBox("진료과별 중증분류 조회를 실패하였습니다.", "E999");
  200. return false;
  201. }else{
  202. if(grd_grpmaster.rows > 1){
  203. grd_grpmaster.row = 1;
  204. fSetStaffInfo(srchym, grd_grpmaster.row);//타이틀, staff, 기준시간세팅
  205. var srchym = model.getValue("/root/cond/srchym");
  206. var grtype = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grd_grpmaster.row + "]/grtype");
  207. var orddeptcd = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grd_grpmaster.row + "]/orddeptcd");
  208. var staffid = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grd_grpmaster.row + "]/staffid");
  209. fGetWorkScheduleList(srchym, grtype, orddeptcd, staffid);//당직자리스트를 조회한다
  210. }
  211. }
  212. }
  213. //20090609 dhkim
  214. //선택된 진료과의 의사리스트조회
  215. function fGetDrInfo(orddeptcd){
  216. if(orddeptcd == null || orddeptcd == ""){
  217. orddeptcd = model.getValue("/root/cond/orddeptcd");
  218. }
  219. model.removenode("/root/send");
  220. model.makeValue("/root/send/drinfo/orddeptcd", orddeptcd);
  221. if(!submit("TRAEA05601")){
  222. messageBox("진료과별 당직대상자 조회를 실패하였습니다.", "E999");
  223. return false;
  224. }
  225. }
  226. //20090609 dhkim
  227. //중증분류선택시
  228. // 1. 당직대상자 위에 헤더정보를 변경
  229. // 2. 당직리스트의 staff이름, id 세팅
  230. function fSetStaffInfo(srchym, grpRowid){
  231. var worktitle = srchym.substring(0, 4) + "년 " + srchym.substring(4, 6) + "월 당직리스트";
  232. var grpmtitle = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grpRowid + "]/shownm");
  233. var staffid = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grpRowid + "]/staffid");
  234. var staffnm = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grpRowid + "]/staffnm");
  235. model.removenode("/root/main/titleinfo");
  236. model.makenode("/root/main/titleinfo");
  237. //title세팅
  238. cpt_worktitle.text = worktitle; //조회년월로 세팅
  239. cpt_grpmtitle.text = grpmtitle; //선택한 분류명으로 세팅
  240. model.makeValue("/root/main/titleinfo/worktitle", worktitle);
  241. model.makeValue("/root/main/titleinfo/grpmtitle", grpmtitle);
  242. //staff세팅
  243. model.makeValue("/root/main/titleinfo/staffid", staffid);//staffid
  244. model.makeValue("/root/main/titleinfo/staffnm", staffnm);//staff명
  245. model.makeValue("/root/main/titleinfo/fromtm", model.getValue("/root/cond/scheftm"));//기준시작시간
  246. model.makeValue("/root/main/titleinfo/totm", model.getValue("/root/cond/schettm"));//기준종료시간
  247. model.refresh();
  248. }
  249. //20090609 dhkim
  250. //의사명 선택시 상세정보를 조회후 세팅한다
  251. function fSetDrInfo(clickflag, drid){
  252. model.removenode("/root/main/drdetlinfo");
  253. if(clickflag == "worklist"){
  254. //당직자리스트에서 의사 선택한경우 의사아이디로 상세정보를 조회해온다.
  255. model.removenode("/root/send");
  256. model.makeValue("/root/send/drid", drid);
  257. if(submit("TRMNE05104")){
  258. //당직대상자리스트 선택을 제거한다
  259. //grd_drlist.row = 0;
  260. }
  261. }else{
  262. //당직리스트 선택을 제거한다
  263. //grd_workerlist.row = 0;
  264. //당직대상자에서 의사 선택한 경우 그리드정보에서 상세정보를 세팅한다.
  265. model.makeValue("/root/main/drdetlinfo/drid", drid);//사번
  266. model.makeValue("/root/main/drdetlinfo/drnm", model.getValue("/root/main/drinfo/drinfolist[drid='" + drid + "']/drnm"));//의사명
  267. model.makeValue("/root/main/drdetlinfo/phone", model.getValue("/root/main/drinfo/drinfolist[drid='" + drid + "']/phone"));//핸드퐁
  268. model.makeValue("/root/main/drdetlinfo/bbtel", model.getValue("/root/main/drinfo/drinfolist[drid='" + drid + "']/bbtel"));//비퍼
  269. model.refresh();
  270. }
  271. }
  272. //20090609 dhkim
  273. //당직대상자리스트를 조회한다
  274. function fGetWorkScheduleList(srchym, grtype, orddeptcd, staffid){
  275. //20090629 dhkim
  276. //저장하기전 다른 row를 선택했을때 blocking 하기위해 중증분류의 row값을 임시저장해둠
  277. curRow = grd_grpmaster.row;
  278. orddept = cmb_orddeptcd.value;
  279. if(srchym == null || srchym == ""){
  280. srchym = model.getValue("/root/cond/srchym");
  281. }
  282. if(grtype == null || grtype == ""){
  283. grtype = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grd_grpmaster.row +"]/grtype");
  284. }
  285. if(orddeptcd == null || orddeptcd == ""){
  286. orddeptcd = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grd_grpmaster.row +"]/orddeptcd");
  287. }
  288. if(staffid == null || staffid == ""){
  289. staffid = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grd_grpmaster.row +"]/staffid");
  290. }
  291. model.removenode("/root/send");
  292. model.makeValue("/root/send/srchym", srchym);
  293. model.makeValue("/root/send/orddeptcd", orddeptcd);
  294. model.makeValue("/root/send/grtype", grtype);
  295. model.makeValue("/root/send/staffid", staffid);
  296. model.makeValue("/root/send/fromtm", "0900");//시작시간fix시킴
  297. model.makeValue("/root/send/totm", "0859");//종료시간fix시킴
  298. model.makeValue("/root/send/monthcnt", getDayCountForMonth(srchym.substring(0, 4), srchym.substring(4, 6)));//조회년월의 마지막일
  299. //curdate.toDate("YYYYMMDD").getAddDate(-7, "D").getDateFormat("YYYYMMDD")
  300. //date.getAddDate(10, "Y")
  301. //getDayCountForMonth(year, month) //해당 년도의 해당 달이 몇일을 가지고 있는지를 반환한다.(윤년계산 포함)
  302. if(submit("TRMNE05105")){
  303. //글로벌변수 초기화
  304. isEdited = "N";
  305. curRow = 0;
  306. orddept = null;
  307. //당직대상자의 선택제거
  308. grd_drlist.row = 0;
  309. //당직리스트의 선택제거
  310. grd_workerlist.row = 0;
  311. //상세정보 초기화
  312. fSetDrInfo();
  313. //당직리스트색깔 초기화
  314. for(var i = 1; i <= grd_workerlist.rows; i++){
  315. grd_workerlist.cellstyle("background-color", i, 0, i, 6) = "#ffffff";
  316. grd_workerlist.cellStyle("background-image", i, 0, i, 6) = "";
  317. }
  318. //20090629 dhkim 당직스케줄 변경여부 조회를 위해 임시노드에 copy 해둔다.
  319. model.removenode("/root/orgscheinfo");
  320. model.makenode("/root/orgscheinfo/workinfo");
  321. model.copyNode("/root/orgscheinfo/workinfo", "/root/main/workerinfo");
  322. }
  323. }
  324. //20090613 dhkim
  325. //오른쪽마우스 메뉴중 추가 선택시 호출
  326. function fAddWorkDr(){
  327. //tf오른쪽메뉴에 parameter지정을 할 수 없어서 만들었음
  328. fSetWorkDr("ADD");
  329. }
  330. //20090610 dhkim
  331. //setFlag : ADD 당직자리스트그리드의 선택된 모든셀에 의사를 세팅한다.
  332. //setFlag : DEL 당직자리스트그리드의 선택된 모든셀에 의사를 지워준다.
  333. function fSetWorkDr(setFlag){
  334. //선택된 당직대상자정보(id, nm)
  335. var drid = model.getValue("/root/main/drinfo/drinfolist[" + grd_drlist.row + "]/drid");
  336. var drnm = model.getValue("/root/main/drinfo/drinfolist[" + grd_drlist.row + "]/drnm");
  337. var saveyn = model.getValue("/root/main/drinfo/drinfolist[" + grd_drlist.row + "]/saveyn");
  338. var deptcd = model.getValue("/root/main/drinfo/drinfolist[" + grd_drlist.row + "]/deptcd");
  339. var phone = model.getValue("/root/main/drinfo/drinfolist[" + grd_drlist.row + "]/phone");
  340. var bbtel = model.getValue("/root/main/drinfo/drinfolist[" + grd_drlist.row + "]/bbtel");
  341. //의사추가의경우
  342. if(setFlag == "ADD"){
  343. //선택된 당직대상자정보가 없으면 세팅하지않고 바로 리턴
  344. if(drid == null || drid == ""){
  345. return false;
  346. }
  347. //응급호출의사정보마스터에 등록되어있지 않은 의사를 선택한 경우 등록화면을 호출
  348. if(saveyn == "N"){
  349. var btnChk = messageBox("'" +drnm+ "' 님은 근무자관리에 연락처가 등록되어 있지 않습니다.\r\n" + "근무자 연락처 등록을", "Q004");
  350. if(btnChk == 6){//예
  351. setParameter("drid", drid);
  352. setParameter("drnm", drnm);
  353. setParameter("deptcd", deptcd);
  354. setParameter("phone", phone);
  355. setParameter("bbtel", bbtel);
  356. modal("SMMNE05000", "", "500", "500", "SMMNE05000", "", "");
  357. var saveyn = getParameter("saveyn");
  358. if(saveyn == "Y" || saveyn == "D"){//Y:저장, D : 삭제
  359. //당직대상자 재조회 후 포커스 원래상태로
  360. var curRow = grd_drlist.row;
  361. fGetDrInfo();
  362. grd_drlist.row = curRow;
  363. }
  364. }
  365. return false;
  366. }
  367. }
  368. //현재날짜+시간(yyyymmddhhss)
  369. var currentDD = getCurrentDateTime().replace(" ", "").substring(0, 12);
  370. var errYn = "N"; //과거일자 선택여부
  371. var cells = grd_workerlist.selectedCells; //선택된 쎌의 배열
  372. var sRow, sCol, sColNm; //선택된 쎌의 row, col 값, 선택된 col의 필드명
  373. var selectedDD; //선택된일자
  374. for(var i = 0; i < cells.length; i++){
  375. sRow = cells.item(i).row;
  376. sCol = cells.item(i).col;
  377. sColNm = grd_workerlist.colAttribute(sCol, "ref");
  378. selectedDD = model.getValue("/root/main/workerinfo/workerinfolist[" + sRow + "]/todd");
  379. //현재일자보다 이전일자의 스케줄을 변경하지 못하게 blocking한다.
  380. if(selectedDD < currentDD){
  381. errYn = "Y";
  382. }else{
  383. if(sCol != 0){//일자셀 선택의 경우는 변경하지 않음
  384. //의사추가의경우
  385. if(setFlag == "ADD"){
  386. //선택된 쎌에 의사이름 쎄팅
  387. model.setValue("/root/main/workerinfo/workerinfolist[" + sRow + "]/" + sColNm, drnm);
  388. model.setValue("/root/main/workerinfo/workerinfolist[" + sRow + "]/drid" + sColNm.substring(4), drid);
  389. //선택된 쎌 색상 변경
  390. grd_workerlist.cellStyle("background-color", sRow, sCol) = "#F4A6EE";
  391. //지우개 이미지 삭제
  392. grd_workerlist.cellStyle("background-image", sRow, sCol) = "";
  393. }
  394. //의사삭제의경우
  395. else{
  396. //셀에 데이터가 세팅되어 있는경우만 삭제되게
  397. var drnm = model.getValue("/root/main/workerinfo/workerinfolist[" + sRow + "]/" + sColNm);
  398. if(drnm != ""){
  399. //선택된 쎌에 의사이름 쎄팅
  400. //model.setValue("/root/main/workerinfo/workerinfolist[" + sRow + "]/" + sColNm, '");
  401. model.setValue("/root/main/workerinfo/workerinfolist[" + sRow + "]/drid" + sColNm.substring(4), "-");
  402. //선택된 쎌에 삭제 이미지 세팅
  403. //grd_workerlist.cellStyle("background-image", 1, 1) = "../../../emr/ercareweb/img/icon_close.gif";
  404. grd_workerlist.cellStyle("background-image", sRow, sCol) = "../../../com/commonweb/images/icon_eraser.gif";
  405. grd_workerlist.cellStyle("background-position", sRow, sCol) = "center";
  406. //배경색을 흰색으로 초기화
  407. grd_workerlist.cellStyle("background-color", sRow, sCol) = "#ffffff";
  408. }
  409. }
  410. }
  411. }
  412. }
  413. //과거일자만 빼고 나머지 일자는 변경가능하도록 한다
  414. if(errYn == "Y"){
  415. messageBox("과거일자의 스케줄은 변경하실 수 없습니다.", "E999");
  416. return false;
  417. }
  418. }
  419. //20090612 dhkim
  420. //수정한 내역을 새로고침한다
  421. function fRefreshWorkDr(){
  422. var btnRst = messageBox("새로고침하시면 저장하지 않은 내역은 모두 초기화됩니다.\r\n" + "새로고침을", "Q004");
  423. if(btnRst == 6){//예
  424. grd_workerlist.rebuildStyle();
  425. var curRow = grd_drlist.row;
  426. var srchym = model.getValue("/root/cond/srchym");
  427. var grtype = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grd_grpmaster.row + "]/grtype");
  428. var orddeptcd = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grd_grpmaster.row + "]/orddeptcd");
  429. var staffid = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grd_grpmaster.row + "]/staffid");
  430. fGetWorkScheduleList(srchym, grtype, orddeptcd, staffid);
  431. //grd_drlist.row = curRow;//선택된상태로
  432. }
  433. }
  434. //20090610 dhkim
  435. //세팅한 내역을 저장한다
  436. function fSaveWorkDr(){
  437. var grtype = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grd_grpmaster.row + "]/grtype");
  438. var orddeptcd = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grd_grpmaster.row + "]/orddeptcd");
  439. var staffid = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grd_grpmaster.row + "]/staffid");
  440. var srchym = model.getValue("/root/cond/srchym");
  441. model.removeNodeset("/root/send");
  442. model.makeValue("/root/send/workerlist", grd_workerlist.getupdatedataAll("i"));
  443. model.makeValue("/root/send/grtype", "6");
  444. model.makeValue("/root/send/orddeptcd", orddeptcd);
  445. model.makeValue("/root/send/staffid", staffid);
  446. model.makeValue("/root/send/srchym", srchym);
  447. if(submit("TXMNE05101")){
  448. //당직리스트색깔 초기화
  449. for(var i = 1; i <= grd_workerlist.rows; i++){
  450. grd_workerlist.cellstyle("background-color", i, 0, i, 6) = "#ffffff";
  451. grd_workerlist.cellStyle("background-image", i, 0, i, 6) = "";
  452. }
  453. //20090714 dhkim
  454. var srchym = model.getValue("/root/cond/srchym");
  455. var grtype = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grd_grpmaster.row + "]/grtype");
  456. var orddeptcd = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grd_grpmaster.row + "]/orddeptcd");
  457. var staffid = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grd_grpmaster.row + "]/staffid");
  458. fSetStaffInfo(srchym, grd_grpmaster.row);//당직대상자의 헤더, staff이름 세팅
  459. fGetWorkScheduleList(srchym, grtype, orddeptcd, staffid);//당직자리스트를 조회한다
  460. }
  461. }
  462. /**
  463. * @desc : 이전 년버튼 클릭시 - 전년도+월로 세팅
  464. * @
  465. * @param :
  466. * @return :
  467. * @author : dhkim 20090610
  468. * @---------------------------------------------------
  469. */
  470. function fClkBfYear(srchym){
  471. var yyear = srchym.substring(0, 4);
  472. var mmont = srchym.substring(4, 6);
  473. yyear--;
  474. srchym = yyear + mmont;
  475. model.setValue("/root/cond/srchym", srchym);
  476. model.refresh();
  477. }
  478. /**
  479. * @desc : 다음 년버튼 클릭시 - 다음년도+월로 세팅
  480. * @
  481. * @param :
  482. * @return :
  483. * @author : dhkim 20090610
  484. * @---------------------------------------------------
  485. */
  486. function fClkAfYear(srchym){
  487. var yyear = srchym.substring(0, 4);
  488. var mmont = srchym.substring(4, 6);
  489. yyear++;
  490. srchym = yyear + mmont;
  491. model.setValue("/root/cond/srchym", srchym);
  492. model.refresh();
  493. }
  494. /**
  495. * @desc : 이전 달버튼 클릭시 - 년도+전월 세팅
  496. * @
  497. * @param :
  498. * @return :
  499. * @author : dhkim 20090610
  500. * @---------------------------------------------------
  501. */
  502. function fClkBfMonth(srchym){
  503. var yyear = srchym.substring(0, 4);
  504. var mmont = srchym.substring(4, 6);
  505. mmont = mmont.toDate("MM").getAddDate(-1, "M").getDateFormat("MM");
  506. if(mmont == "12"){
  507. yyear--;
  508. }
  509. srchym = yyear + mmont;
  510. model.setValue("/root/cond/srchym", srchym);
  511. model.refresh();
  512. }
  513. /**
  514. * @desc : 다음 달버튼 클릭시 - 년도+다음월 세팅
  515. * @
  516. * @param :
  517. * @return :
  518. * @author : dhkim 20090610
  519. * @---------------------------------------------------
  520. */
  521. function fClkAfMonth(srchym){
  522. var yyear = srchym.substring(0, 4);
  523. var mmont = srchym.substring(4, 6);
  524. mmont = mmont.toDate("MM").getAddDate(+1, "M").getDateFormat("MM");
  525. if(mmont == "01"){
  526. yyear++;
  527. }
  528. srchym = yyear + mmont;
  529. model.setValue("/root/cond/srchym", srchym);
  530. model.refresh();
  531. }
  532. //20090610 dhkim
  533. //셀색상을 선택색으로 변경되지 않도록 원래색상으로 유지한다
  534. function fSetCellColor(clickRow, clickCol, clickColNm){
  535. var curColor = grd_workerlist.cellstyle("background-color", clickRow, clickCol, clickRow, clickCol);
  536. grd_workerlist.cellstyle("background-color", clickRow, clickCol, clickRow, clickCol) = curColor;
  537. }
  538. /**
  539. * @group :
  540. * @ver : 2009.06.11
  541. * @by : dhkim
  542. * @---------------------------------------------------
  543. * @type : function
  544. * @access : public
  545. * @desc : 당직대상자 마우스 오른쪽메뉴 mouse down
  546. * @param :
  547. * @return :
  548. * @---------------------------------------------------
  549. */
  550. function fMouseDownGridRow(){
  551. var rows = grd_workerlist.rows;
  552. var row = grd_workerlist.mouseRow-1;
  553. var col = grd_workerlist.mouseCol;
  554. if(row + 1 <= rows && rows > 2 && row > 0){
  555. if(event.button == 3){
  556. window.setPopupMenu(true, "/root/init/menu/item", "name", "func", false);
  557. }
  558. }else{
  559. window.setPopupMenu(false);
  560. }
  561. }
  562. //20090611 dhkim
  563. //클릭한 그리드의 선택된 셀의 텍스트 크기를 설정
  564. function fSetSelectedFontStyle(grdNm){
  565. //선택된 그리드의 셀의 텍스트 크기,굵기를 변경
  566. grdNm.cellStyle("font-size", grdNm.row, grdNm.col, grdNm.row, grdNm.col) = "12px";
  567. grdNm.cellStyle("font-weight", grdNm.row, grdNm.col, grdNm.row, grdNm.col) = "bold";
  568. //나머지 셀의 텍스트 크기, 굵기를 초기화
  569. for(var i = 0; i < grdNm.rows; i++){
  570. if(i != grdNm.row){
  571. grdNm.rebuildStyle(i, 0);
  572. }
  573. }
  574. }
  575. //20090629 dhkim
  576. //그리드가 변경상태인지 조회한다.
  577. function isScheduleRefresh(isClose){
  578. var drStr;
  579. for(var i = 1; i < grd_workerlist.rows; i++){
  580. if(instance1.selectSingleNode("/root/orgscheinfo/workinfo/workerinfolist[" + i + "]") != null){
  581. if(instance1.selectSingleNode("/root/orgscheinfo/workinfo/workerinfolist[" + i + "]").xml
  582. != instance1.selectSingleNode("/root/main/workerinfo/workerinfolist[" + i + "]").xml){
  583. isEdited = "Y";
  584. drStr += model.getValue("/root/main/workerinfo/workerinfolist[" + i + "]/workdd") + "일자 변경";
  585. break;
  586. }
  587. }
  588. }
  589. if(isEdited == "Y"){
  590. //20090703 dhkim 창을 닫을때와 새로 조회할때의 메세지를 다르게 구성 Q003(계속진행하시겠습니까?)
  591. if(isClose){
  592. var saveYn = messageBox("수정하신 스케줄을 저장하지 않고 창을 닫으시겠습니까?", "Q");//Q: 6:예, 7:아니오.
  593. }else{
  594. var saveYn = messageBox("수정하신 스케줄을 저장하지 않고 새로운 내역을", "Q005");//Q005:조회하시겠습니까? 6:예, 7:아니오.
  595. }
  596. if(saveYn == 6){
  597. return "Y";
  598. }else{
  599. return "N";
  600. }
  601. }
  602. }
  603. ]]>
  604. </script>
  605. </xhtml:head>
  606. <xhtml:body pagewidth="1080" pageheight="860" guideline="2,3;2,1;1,149;1,10;1,160;1,315;2,754;1,230;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  607. <group id="group3" scroll="auto" style="left:0px; top:16px; width:1055px; height:839px; text-align:center; ">
  608. <caption id="caption3" style="left:340px; top:792px; width:680px; height:15px; color:#363636; ">
  609. <![CDATA[◈ 당직대상자가 근무자관리에 연락처가 등록되어 있어야 당직스케줄을 입력하실 수 있습니다.
  610. ]]>
  611. </caption>
  612. <!-- 트리그룹시작 -->
  613. <group id="group2" style="left:1px; top:65px; width:330px; height:118px; vertical-align:top; ">
  614. <datagrid id="grd_grpmaster" nodeset="/root/main/grpmasterinfo/grpmasterinfolist" allowselection="false" caption="중증분류^grtype^staffid^orddeptcd" colsep="^" colwidth="326, 100, 100, 100" focuscolor="#7fef0f" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:0px; width:329px; height:117px; text-align:center; ">
  615. <col ref="shownm" style="text-align:left; "/>
  616. <col ref="grtype" visibility="hidden"/>
  617. <col ref="staffid" visibility="hidden"/>
  618. <col ref="orddeptcd" visibility="hidden"/>
  619. <script type="javascript" ev:event="onclick">
  620. <![CDATA[
  621. //20090629 dhkim
  622. //당직자를 조회하기 전에 이전 변경내역이 있는지 조회하여 재조회할것인지 여부에 따라 조회를 진행한다.
  623. var isRefresh = isScheduleRefresh();
  624. if(isRefresh == "N"){
  625. grd_grpmaster.row = curRow;
  626. return;
  627. }
  628. var srchym = model.getValue("/root/cond/srchym");
  629. var grtype = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grd_grpmaster.row + "]/grtype");
  630. var orddeptcd = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grd_grpmaster.row + "]/orddeptcd");
  631. var staffid = model.getValue("/root/main/grpmasterinfo/grpmasterinfolist[" + grd_grpmaster.row + "]/staffid");
  632. fSetStaffInfo(srchym, grd_grpmaster.row);//당직대상자의 헤더, staff이름 세팅
  633. fGetWorkScheduleList(srchym, grtype, orddeptcd, staffid);//당직자리스트를 조회한다
  634. ]]>
  635. </script>
  636. <script type="javascript" ev:event="onmouseover">
  637. <![CDATA[
  638. //데이터 셀에 마우스가 올라오면 스타일을 바꾼다
  639. if(grd_grpmaster.isCell(event.target) && grd_grpmaster.mouseRow >= grd_grpmaster.fixedRows && grd_grpmaster.mouseCol >= grd_grpmaster.fixedCols)
  640. {
  641. grd_grpmaster.rebuildStyle(row, col);
  642. grd_grpmaster.cellStyle("background-color", grd_grpmaster.mouseRow, grd_grpmaster.mouseCol) = "#ece1ec";
  643. row = grd_grpmaster.mouseRow;
  644. col = grd_grpmaster.mouseCol;
  645. }
  646. ]]>
  647. </script>
  648. <script type="javascript" ev:event="onmouseout">
  649. <![CDATA[
  650. grd_grpmaster.rebuildStyle(row, col);
  651. ]]>
  652. </script>
  653. </datagrid>
  654. </group>
  655. <!-- 트리그룹종료 -->
  656. <!-- 당직리스트그룹시작 -->
  657. <group id="group1" style="left:330px; top:0px; width:711px; height:785px; vertical-align:top; ">
  658. <caption id="cpt_worktitle" ref="/root/main/titleinfo/worktitle" class="tit_2" style="left:2px; top:0px; width:175px; height:13px; ">당직 리스트</caption>
  659. <line id="line3" class="line_1" style="x1:2px; y1:15px; x2:635px; y2:15px; "/>
  660. <button id="button42" class="btn4_letter2" style="left:645px; top:20px; width:56px; height:22px; ">
  661. <caption>저장</caption>
  662. <script type="javascript" ev:event="DOMActivate">
  663. <![CDATA[
  664. fSaveWorkDr();//당직자스케줄을저장한다inputdate
  665. ]]>
  666. </script>
  667. </button>
  668. <datagrid id="grd_workerlist" nodeset="/root/main/workerinfo/workerinfolist" caption="일자^1^2^3^4^5^6^7^8^9^10^fromdd^todd^grtype^orddeptcd^staffid^drid1^drid2^drid3^drid4^drid5^drid6^drid7^drid8^drid9^drid10" colsep="^" colwidth="100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" defaultrows="0" focuscolor="#ece1ec" mergecellsfixedrows="never" rowsep="|" selectionmode="free" style="left:0px; top:45px; width:703px; height:738px; ">
  669. <col ref="workdd" format="yyyy-mm-dd"/>
  670. <col ref="drnm1"/>
  671. <col ref="drnm2"/>
  672. <col ref="drnm3"/>
  673. <col ref="drnm4"/>
  674. <col ref="drnm5"/>
  675. <col ref="drnm6"/>
  676. <col ref="drnm7" visibility="hidden"/>
  677. <col ref="drnm8" visibility="hidden"/>
  678. <col ref="drnm9" visibility="hidden"/>
  679. <col ref="drnm10" visibility="hidden"/>
  680. <col ref="fromdd" visibility="hidden"/>
  681. <col ref="todd" visibility="hidden"/>
  682. <col ref="grtype" visibility="hidden"/>
  683. <col ref="orddeptcd" visibility="hidden"/>
  684. <col ref="staffid" visibility="hidden"/>
  685. <col ref="drid1" visibility="hidden"/>
  686. <col ref="drid2" visibility="hidden"/>
  687. <col ref="drid3" visibility="hidden"/>
  688. <col ref="drid4" visibility="hidden"/>
  689. <col ref="drid5" visibility="hidden"/>
  690. <col ref="drid6" visibility="hidden"/>
  691. <col ref="drid7" visibility="hidden"/>
  692. <col ref="drid8" visibility="hidden"/>
  693. <col ref="drid9" visibility="hidden"/>
  694. <col ref="drid10" visibility="hidden"/>
  695. <script type="javascript" ev:event="onaftersort">
  696. <![CDATA[
  697. grd_workerlist.gridToInstance();
  698. ]]>
  699. </script>
  700. <script type="javascript" ev:event="onmousedown">
  701. <![CDATA[
  702. //팝업메뉴호출
  703. fMouseDownGridRow();
  704. ]]>
  705. </script>
  706. <script type="javascript" ev:event="DOMFocusOut">
  707. <![CDATA[
  708. //오른쪽메뉴제거
  709. window.setPopupMenu(false);
  710. ]]>
  711. </script>
  712. <script type="javascript" ev:event="onclick">
  713. <![CDATA[
  714. //당직의사세팅
  715. var clickRow = grd_workerlist.row;
  716. var clickCol = grd_workerlist.col;
  717. var clickColNm = grd_workerlist.colAttribute(clickCol, "ref");
  718. if(clickColNm != "workdd"){//기준일클릭한게 아니면 의사정보세팅
  719. fSetWorkDr("ADD");//당직리스트에 선택된 당직대상자를 그리드에 세팅
  720. /*
  721. var drid = model.getValue("/root/main/workerinfo/workerinfolist[" + clickRow + "]/drid" + clickColNm.substring(4));
  722. fSetDrInfo("worklist", drid);//의사상세정보를 세팅
  723. */
  724. }
  725. ]]>
  726. </script>
  727. <script type="javascript" ev:event="xforms-value-changed">
  728. <![CDATA[
  729. //의사변경되는경우 배경색 변경
  730. ]]>
  731. </script>
  732. <script type="javascript" ev:event="onkeyup">
  733. <![CDATA[
  734. var clickRow = grd_workerlist.row;
  735. var clickCol = grd_workerlist.col;
  736. var clickColNm = grd_workerlist.colAttribute(clickCol, "ref");
  737. if(clickColNm != "workdd"){//기준일클릭한게 아니면 의사정보세팅
  738. if(event.keyCode == "46" || event.keyCode == "8"){//46 : DEL키 , 8 : backspace키
  739. //alert("colnm : " + clickColNm);
  740. //alert("key : " +event.keyCode);
  741. fSetWorkDr("DEL");//의사정보삭제
  742. }
  743. }
  744. ]]>
  745. </script>
  746. </datagrid>
  747. <caption id="caption13" class="cell_1" style="left:2px; top:20px; width:115px; height:23px; text-align:center; vertical-align:middle; ">STAFF</caption>
  748. <line id="line5" class="line_3" style="x1:2px; y1:43px; x2:635px; y2:43px; "/>
  749. <caption id="caption10" class="cell_1" style="left:305px; top:20px; width:115px; height:23px; text-align:center; vertical-align:middle; ">기준시간</caption>
  750. <output id="op_staffnm" ref="/root/main/titleinfo/staffnm" style="left:140px; top:22px; width:135px; height:19px; "/>
  751. <input id="op_fromtm" ref="/root/main/titleinfo/fromtm" disabled="true" maxlength="4" format="hh:nn" appearance="input" style="left:425px; top:22px; width:75px; height:19px; "/>
  752. <caption id="caption11" style="left:508px; top:22px; width:25px; height:20px; text-align:center; ">~</caption>
  753. <input id="op_totm" ref="/root/main/titleinfo/totm" disabled="true" maxlength="4" format="hh:nn" appearance="input" style="left:540px; top:22px; width:75px; height:19px; "/>
  754. <output id="op_staffid" ref="/root/main/titleinfo/staffid" visibility="hidden" style="left:210px; top:5px; width:135px; height:19px; "/>
  755. </group>
  756. <!-- 당직리스트그룹종료 -->
  757. <!-- 당직대상자그룹시작 -->
  758. <!-- 당직대상자그룹종료 -->
  759. <caption id="cpt_grpmtitle" ref="/root/main/titleinfo/grpmtitle" class="tit_2" style="left:1px; top:188px; width:266px; height:13px; text-align:left; ">중증분류명</caption>
  760. <line id="line2" class="line_1" style="x1:1px; y1:202px; x2:330px; y2:202px; "/>
  761. <!-- 조회그룹 시작 -->
  762. <group id="group4" style="left:1px; top:0px; width:329px; height:60px; vertical-align:top; ">
  763. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:329px; height:60px; "/>
  764. <button id="btn_search" class="btn1_letter2" navindex="3" style="left:265px; top:20px; width:56px; height:22px; ">
  765. <caption>조회</caption>
  766. <script type="javascript" ev:event="DOMActivate">
  767. <![CDATA[
  768. //20090629 dhkim
  769. //당직자를 조회하기 전에 이전 변경내역이 있는지 조회하여 재조회할것인지 여부에 따라 조회를 진행한다.
  770. var isRefresh = isScheduleRefresh();
  771. if(isRefresh == "N"){
  772. grd_grpmaster.row = curRow;
  773. return;
  774. }
  775. var orddeptcd = model.getValue("/root/cond/orddeptcd");
  776. fGetGroupMaster(orddeptcd);//선택된 진료과의 중증분류마스터조회
  777. fGetDrInfo(orddeptcd);//선택된 진료과의 의사리스트조회
  778. ]]>
  779. </script>
  780. </button>
  781. <line id="line13" class="line_4" style="x1:258px; y1:9px; x2:258px; y2:54px; "/>
  782. <caption id="caption4" class="search_name" style="left:5px; top:9px; width:91px; height:17px; ">당직년월 :</caption>
  783. <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; "/>
  784. <caption id="caption1" class="search_name" style="left:5px; top:32px; width:91px; height:17px; ">진 료 과 :</caption>
  785. <select1 id="cmb_orddeptcd" ref="/root/cond/orddeptcd" navindex="2" appearance="minimal" style="left:90px; top:32px; width:160px; height:19px; text-align:left; ">
  786. <choices>
  787. <itemset nodeset="/root/init/orddeptinfo/orddeptinfolist">
  788. <label ref="deptnm"/>
  789. <value ref="deptcd"/>
  790. </itemset>
  791. </choices>
  792. <script type="javascript" ev:event="xforms-value-changed">
  793. <![CDATA[
  794. /*
  795. var orddeptcd = model.getValue("/root/cond/orddeptcd");
  796. fGetGroupMaster(orddeptcd);//선택된 진료과의 중증분류마스터조회
  797. fGetDrInfo(orddeptcd);//선택된 진료과의 의사리스트조회
  798. */
  799. //20090629 dhkim
  800. //당직자를 조회하기 전에 이전 변경내역이 있는지 조회하여 재조회할것인지 여부에 따라 조회를 진행한다.
  801. var isRefresh = isScheduleRefresh();
  802. if(isRefresh == "N"){
  803. grd_grpmaster.row = curRow;
  804. return;
  805. }
  806. btn_search.dispatch("DOMActivate");
  807. ]]>
  808. </script>
  809. </select1>
  810. <button id="btn_bfyear" class="icon_pre_year" style="left:90px; top:10px; width:16px; height:16px; ">
  811. <caption/>
  812. <script type="javascript" ev:event="DOMActivate">
  813. <![CDATA[
  814. fClkBfYear(model.getValue("/root/cond/srchym"));
  815. ]]>
  816. </script>
  817. </button>
  818. <button id="btn_bfmonth" class="icon_pre_month" style="left:108px; top:10px; width:16px; height:16px; ">
  819. <caption/>
  820. <script type="javascript" ev:event="DOMActivate">
  821. <![CDATA[
  822. fClkBfMonth(model.getValue("/root/cond/srchym"));
  823. ]]>
  824. </script>
  825. </button>
  826. <button id="btn_afmonth" class="icon_next_month" style="left:217px; top:10px; width:16px; height:16px; ">
  827. <caption/>
  828. <script type="javascript" ev:event="DOMActivate">
  829. <![CDATA[
  830. fClkAfMonth(model.getValue("/root/cond/srchym"));
  831. ]]>
  832. </script>
  833. </button>
  834. <button id="btn_afyear" class="icon_next_year" style="left:235px; top:10px; width:16px; height:16px; ">
  835. <caption/>
  836. <script type="javascript" ev:event="DOMActivate">
  837. <![CDATA[
  838. fClkAfYear(model.getValue("/root/cond/srchym"));
  839. ]]>
  840. </script>
  841. </button>
  842. </group>
  843. <!-- 조회그룹 종료 -->
  844. <caption id="caption2" class="tit_2" style="left:1px; top:710px; width:111px; height:13px; text-align:left; ">상 세 정 보</caption>
  845. <shape id="sha_state" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:1px; top:730px; width:329px; height:104px; background-color:#fffbf2; border-color:#7cbbdd; "/>
  846. <line id="line1" class="line_1" style="x1:1px; y1:725px; x2:329px; y2:725px; "/>
  847. <caption id="op_usernm" ref="/root/main/drdetlinfo/drnm" appearance="caption" style="left:10px; top:743px; width:140px; height:37px; font-family:굴림체; font-size:22pt; font-weight:bold; color:#333399; text-align:center; vertical-align:middle; word-wrap:none; border-color:#c0c0c0; border-style:solid; ">김달현</caption>
  848. <caption id="op_userid" ref="/root/main/drdetlinfo/drid" appearance="caption" style="left:160px; top:743px; width:155px; height:37px; font-family:굴림체; font-size:20pt; font-weight:bold; color:#333399; text-align:center; border-color:#c0c0c0; border-style:solid; ">00000000</caption>
  849. <caption id="op_mp" ref="/root/main/drdetlinfo/phone" appearance="caption" style="left:10px; top:790px; width:220px; height:34px; font-family:굴림체; font-size:20pt; font-weight:bold; color:#333399; text-align:center; border-color:#c0c0c0; border-style:solid; ">000-0000-0000</caption>
  850. <caption id="op_bp" ref="/root/main/drdetlinfo/bbtel" appearance="caption" style="left:240px; top:790px; width:75px; height:34px; font-family:굴림체; font-size:20pt; font-weight:bold; color:#333399; text-align:center; border-color:#c0c0c0; border-style:solid; ">0000</caption>
  851. <datagrid id="grd_drlist" nodeset="/root/main/drinfo/drinfolist" allowselection="false" caption="당직대상자^userid^userdeptcd^phone^bbtel^saveyn" colsep="^" colwidth="311, 100, 100, 100, 100, 100" defaultrows="0" focuscolor="#7fef0f" mergecellsfixedrows="bycolrec" rowsep="|" style="left:1px; top:205px; width:329px; height:500px; ">
  852. <col ref="drnm"/>
  853. <col ref="drid" visibility="hidden"/>
  854. <col ref="deptcd" visibility="hidden"/>
  855. <col ref="phone" visibility="hidden"/>
  856. <col ref="bbtel" visibility="hidden"/>
  857. <col ref="saveyn" visibility="hidden"/>
  858. <script type="javascript" ev:event="onclick">
  859. <![CDATA[
  860. var drid = model.getValue("/root/main/drinfo/drinfolist[" + grd_drlist.row + "]/drid");
  861. fSetDrInfo("drlist", drid);//의사상세정보를 세팅
  862. ]]>
  863. </script>
  864. <script type="javascript" ev:event="onmouseover">
  865. <![CDATA[
  866. //데이터 셀에 마우스가 올라오면 스타일을 바꾼다
  867. if(grd_drlist.isCell(event.target) && grd_drlist.mouseRow >= grd_drlist.fixedRows && grd_drlist.mouseCol >= grd_drlist.fixedCols)
  868. {
  869. grd_drlist.rebuildStyle(row, col);
  870. grd_drlist.cellStyle("background-color", grd_drlist.mouseRow, grd_drlist.mouseCol) = "#ece1ec";
  871. row = grd_drlist.mouseRow;
  872. col = grd_drlist.mouseCol;
  873. }
  874. ]]>
  875. </script>
  876. <script type="javascript" ev:event="onmouseout">
  877. <![CDATA[
  878. grd_drlist.rebuildStyle(row, col);
  879. ]]>
  880. </script>
  881. </datagrid>
  882. <caption id="caption12" visibility="hidden" style="left:985px; top:810px; width:15px; height:15px; background-color:#b7daff; border-color:#000000; "/>
  883. <caption id="caption15" visibility="hidden" style="left:1015px; top:810px; width:15px; height:15px; background-color:#B7F9AA; "/>
  884. <caption id="caption17" style="left:340px; top:811px; width:15px; height:15px; background-color:#F4A6EE; border-style:solid; "/>
  885. <caption id="caption18" style="left:360px; top:810px; width:95px; height:20px; color:#363636; ">추가선택 대상자</caption>
  886. <shape id="roundrect3" class="roundrect_example" appearance="roundrect" style="left:332px; top:785px; width:703px; height:48px; "/>
  887. <caption id="caption5" visibility="visible" style="left:460px; top:811px; width:15px; height:15px; background-color:#7fef0f; border-color:#000000; border-style:solid; "/>
  888. <caption id="caption7" style="left:480px; top:810px; width:80px; height:20px; color:#363636; ">등록할 대상자</caption>
  889. </group>
  890. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">EDCIS Schedule 당직관리</caption>
  891. </xhtml:body>
  892. </xhtml:html>