SMAAA00200_자원봉사자출결등록관리.xrw 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011
  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. <send>
  10. <savedata/>
  11. <reqdata/>
  12. <data/>
  13. </send>
  14. <main>
  15. <voluntrattdabsninfo>
  16. <voluntrattdabsnlist>
  17. <chk/>
  18. <attdabsnyn/>
  19. <attdabsnflag/>
  20. <actdeptcd/>
  21. <actdeptdetlnm/>
  22. <voluntractdwcd/>
  23. <voluntractteamcd/>
  24. <voluntrnm/>
  25. <baptnm/>
  26. <servtm/>
  27. <attdrem/>
  28. <servdd/>
  29. <actrgstseqno/>
  30. <voluntrid/>
  31. <servkind/>
  32. <m/>
  33. <status/>
  34. </voluntrattdabsnlist>
  35. </voluntrattdabsninfo>
  36. <voluntrcalinfo>
  37. <voluntrcallist>
  38. <basedd/>
  39. <absn/>
  40. <dutflag/>
  41. <day/>
  42. <dw/>
  43. <weekno/>
  44. </voluntrcallist>
  45. </voluntrcalinfo>
  46. <search>
  47. <servdd/>
  48. <actdeptcd/>
  49. <voluntractdwcd/>
  50. <voluntractteamcd/>
  51. <actdivscd/>
  52. </search>
  53. <attdabsn>
  54. <attdabsndata/>
  55. </attdabsn>
  56. <calendar>
  57. <calyy/>
  58. <calmm/>
  59. </calendar>
  60. <cond>
  61. <conddate/>
  62. </cond>
  63. <cal>
  64. <weeks>
  65. <sun/>
  66. <mon/>
  67. <tue/>
  68. <wed/>
  69. <thu/>
  70. <fri/>
  71. <sat/>
  72. </weeks>
  73. <weeks>
  74. <sun/>
  75. <mon/>
  76. <tue/>
  77. <wed/>
  78. <thu/>
  79. <fri/>
  80. <sat/>
  81. </weeks>
  82. <weeks>
  83. <sun/>
  84. <mon/>
  85. <tue/>
  86. <wed/>
  87. <thu/>
  88. <fri/>
  89. <sat/>
  90. </weeks>
  91. <weeks>
  92. <sun/>
  93. <mon/>
  94. <tue/>
  95. <wed/>
  96. <thu/>
  97. <fri/>
  98. <sat/>
  99. </weeks>
  100. <weeks>
  101. <sun/>
  102. <mon/>
  103. <tue/>
  104. <wed/>
  105. <thu/>
  106. <fri/>
  107. <sat/>
  108. </weeks>
  109. <weeks>
  110. <sun/>
  111. <mon/>
  112. <tue/>
  113. <wed/>
  114. <thu/>
  115. <fri/>
  116. <sat/>
  117. </weeks>
  118. </cal>
  119. </main>
  120. <init>
  121. </init>
  122. <hidden>
  123. <init>
  124. <comcd/>
  125. <comcd1/>
  126. <calenlist/>
  127. </init>
  128. <calendar>
  129. <month/>
  130. <year/>
  131. <weeklist>
  132. <list/>
  133. </weeklist>
  134. </calendar>
  135. </hidden>
  136. <code/>
  137. </root>
  138. </instance>
  139. <script type="javascript" ev:event="xforms-ready">
  140. <![CDATA[
  141. fInit();
  142. ]]>
  143. </script>
  144. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post"/>
  145. <submission id="TRZBC00102" mediatype="application/x-www-form-urlencoded" method="post"/>
  146. <submission id="TRZBC00105" mediatype="application/x-www-form-urlencoded" method="post"/>
  147. <submission id="TRAAA00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/voluntrattdabsninfo"/>
  148. <submission id="TXAAA00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root"/>
  149. <submission id="TRAAA00202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/voluntrcalinfo"/>
  150. <submission id="TRAEA02012" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/calenlist"/>
  151. <submission id="TRMNW00001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/code/codelist"/>
  152. </model>
  153. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  154. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  155. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  156. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  157. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  158. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  159. <script type="javascript" src="../../../com/zipcodeweb/js/ZBP001.js"/>
  160. <script type="javascript" src="../../../ast/soclworkweb/js/AWMCommon.js"/>
  161. <script type="javascript" src="../../../emr/carecomweb/js/CareCom.js"/>
  162. </xhtml:head>
  163. <script type="javascript">
  164. <![CDATA[
  165. // 초기화 함수
  166. function fInit()
  167. {
  168. //공통코드 셋팅
  169. zbcfGetCodeList( new Array("A0503","A0359","A0360","A0506","A0503","A0359","A0360", "A0654"),
  170. new Array("/root/hidden/init/comcd","/root/hidden/init/comcd","/root/hidden/init/comcd","/root/hidden/init/comcd",
  171. "/root/hidden/init/comcd1","/root/hidden/init/comcd1","/root/hidden/init/comcd1", "/root/hidden/init/comcd") );
  172. model.removeNodeset("/root/main/voluntrattdabsninfo/voluntrattdabsnlist");
  173. addComboItem("cmb_actdeptcd", "전체", "", "above");
  174. addComboItem("cmb_actdivscd", "전체", "", "above");
  175. addComboItem("cmb_voluntractdwcd", "전체", "", "above");
  176. addComboItem("cmb_voluntractteamcd", "전체", "", "above");
  177. cmb_actdivscd.value = "02";
  178. var CurrentDate = getCurrentDate();
  179. //현재 날짜 셋팅
  180. model.makeValue("/root/main/search/servdd",CurrentDate);
  181. //활동일자에 현재 날짜 자동 셋팅
  182. grd_attdnc.fixedcellcheckbox(0,1)=true;
  183. //조회일자 오늘날짜로 셋팅
  184. var CurrentDate = getCurrentDate();
  185. var sYear = CurrentDate.substr(0,4);
  186. var sMonth = CurrentDate.substr(4,2);
  187. model.setValue("/root/hidden/calendar/year", sYear);
  188. model.setValue("/root/hidden/calendar/month", sMonth);
  189. // 간호하드코딩 테이블 조회_20090710-kys
  190. var pCode = "'077'"; // 조회할 CdGrupID 코드정보
  191. //var pDate = getCurrentDate(); //조회기준일자
  192. fGetNursHardCdInfo(pCode, CurrentDate);
  193. //============================================================
  194. if(model.getValue("/root/code/codeinfo/codelist[cdgrupid = '077' and supcdid = '01' and cdid = '"+ getUserInfo("dutplceinstcd") +"']/cdid")){ //서울성모에서만 보이게..20100330-kys
  195. btn_barsave.visible = true; //바코드출결처리버튼.
  196. }else{
  197. btn_barsave.visible = false;
  198. }
  199. fVoluntrInfoCalReq();
  200. }
  201. // 달력일자 출결 대상 인원 조회함수
  202. function fVoluntrInfoCalReq()
  203. {
  204. var syear=model.getValue("/root/hidden/calendar/year");
  205. var smonth=model.getValue("/root/hidden/calendar/month");
  206. var sYear=syear+smonth;
  207. model.resetInstanceNode("/root/send/reqdata");
  208. model.makeNode("/root/send/reqdata");
  209. model.makeValue("/root/send/reqdata/servdd",sYear);
  210. model.makeValue("/root/send/reqdata/actdeptcd",model.getValue("/root/main/search/actdeptcd"));
  211. model.makeValue("/root/send/reqdata/actdivscd",model.getValue("/root/main/search/actdivscd"));
  212. model.makeValue("/root/send/reqdata/voluntractdwcd",model.getValue("/root/main/search/voluntractdwcd"));
  213. model.makeValue("/root/send/reqdata/voluntractteamcd",model.getValue("/root/main/search/voluntractteamcd"));
  214. submit("TRAAA00202");
  215. fSetCalendarStyle();
  216. fSetCalendar();
  217. }
  218. //달력정보 및 일자별 대상인원, 출결 인원을 달력에 표시
  219. function fSetCalendar()
  220. {
  221. var selDataCnt = getNodesetCnt(model1, "/root/main/voluntrcalinfo/voluntrcallist"); //조회된 데이터 갯수
  222. var dw = "sun mon tue wed thu fri sat";
  223. var sDay = dw.split(" ");
  224. for ( i = 1; i <= selDataCnt; i++) {
  225. var row = model.getValue("/root/main/voluntrcalinfo/voluntrcallist"+"[" + i + "]/weekno");
  226. var col = model.getValue("/root/main/voluntrcalinfo/voluntrcallist"+"[" + i + "]/dw")-1 ;
  227. var dutflag = model.getValue("/root/main/voluntrcalinfo/voluntrcallist"+"[" + i + "]/dutflag");
  228. if (dutflag == "4"){ //토요일인 경우, 파란색 설정
  229. grd_calendar.cellStyle("color", row, col, row, col) = "#0000ff";
  230. } else if ( dutflag == '8') { //휴일인 경우, 빨간색 설정
  231. grd_calendar.cellStyle("color", row, col, row, col) = "#ff0000";
  232. } else { //그 이외는 검정색(평일 : 0)
  233. grd_calendar.cellStyle("color", row, col, row, col) = "#000000";
  234. }
  235. model.makeValue("/root/main/cal/weeks[" + row + "]/" + sDay[col], model.getValue("/root/main/voluntrcalinfo/voluntrcallist[" + i + "]/day") + "\n"
  236. + " " + model.getValue("/root/main/voluntrcalinfo/voluntrcallist[" + i + "]/absn"));
  237. }
  238. model.refresh();
  239. }
  240. // 달력스타일 셋팅
  241. function fSetCalendarStyle()
  242. {
  243. //height
  244. grd_calendar.dataHeight = 80;
  245. //font style
  246. grd_calendar.allStyle("all", "font-size") = "15px";
  247. //달력 기본색 지정
  248. grd_calendar.allStyle("all", "background-color") = "#ffffff"; //흰색
  249. model.refresh();
  250. }
  251. // 활동현황 조회 함수
  252. function fVoluntrInfoReq()
  253. {
  254. grd_attdnc.fixedcellischeck(0,1)=false; //전체 체크박스 헤재
  255. model.resetInstanceNode("/root/send/reqdata");
  256. model.makeNode("/root/send/reqdata");
  257. model.copyNode("/root/send/reqdata","/root/main/search");
  258. submit("TRAAA00201");
  259. var idxRows=grd_attdnc.rows;
  260. var idxRow=grd_attdnc.fixedRows;
  261. for(i=1;i<=idxRows-idxRow;i++)
  262. {
  263. var attdabsnflag=model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/attdabsnflag");
  264. var servtm=model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/servtm"); // 활동시간 저장
  265. // 조회된 봉사자 내역 중 출석구분이 결석,휴가,병가로 된 경우 비활성화
  266. if(attdabsnflag=="03"||attdabsnflag=="04"||attdabsnflag=="05") {
  267. grd_attdnc.isReadOnly(i+1,grd_attdnc.colRef("servtm"))=true;
  268. } else {
  269. grd_attdnc.isReadOnly(i+1,grd_attdnc.colRef("servtm"))=false;
  270. }
  271. }
  272. model.refresh();
  273. }
  274. // 출결 내역 등록 함수
  275. function fVoluntrAttdSave()
  276. {
  277. var servdd=model.getValue("/root/main/search/servdd");
  278. var idxRow=grd_attdnc.rows;
  279. var idxfixRows=grd_attdnc.fixedRows;
  280. // 출결정보 등록할 파리채 생성
  281. var attdabsndata= 'attdabsnyn'
  282. + '▦attdabsnflag'
  283. + '▦status'
  284. + '▦actdeptcd'
  285. + '▦actdeptdetlnm'
  286. + '▦voluntractdwcd'
  287. + '▦voluntractteamcd'
  288. + '▦voluntrnm'
  289. + '▦baptnm'
  290. + '▦servtm'
  291. + '▦attdrem'
  292. + '▦actrgstseqno'
  293. + '▦voluntrid'
  294. + '▦servkind'
  295. + '▦servdd'
  296. + '▦actdeptcdnm'
  297. + '▦voluntractdwcdnm'
  298. + '▦voluntractteamcdnm'
  299. + '▦servseqno'
  300. + '▩';
  301. var chkdata=0; // 체크여부 확인하는 변수 선언
  302. for(i=1;i<=idxRow-idxfixRows;i++)
  303. { var chk=model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/chk");
  304. if(chk=="1") //체크 된 데이터만
  305. {
  306. var attdabsnflag=model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/attdabsnflag") // 출결구분 저장
  307. if(attdabsnflag=="01"||attdabsnflag=="02") //출결이나 대근일때만 메시지 체크
  308. {
  309. if(model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/servtm")=="") //봉사시간이 비어있을 때 메시지 처리
  310. {
  311. messageBox("활동시간은","I003");
  312. return;
  313. }
  314. }
  315. model.makeValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/servdd",servdd);
  316. // 조회한 활동일자 출결 봉사 일자에 저장
  317. // 그리드에 조회된 봉사자 출결 저장할 정보 attdabsndata에 누적 저장
  318. // 그리드 수만큼 해당 정보 저장한다.
  319. attdabsndata+= model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/attdabsnyn')
  320. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/attdabsnflag')
  321. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/status')
  322. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/actdeptcd')
  323. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/actdeptdetlnm')
  324. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntractdwcd')
  325. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntractteamcd')
  326. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntrnm')
  327. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/baptnm')
  328. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/servtm')
  329. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/attdrem')
  330. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/actrgstseqno')
  331. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntrid')
  332. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/servkind')
  333. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/servdd')
  334. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/actdeptcdnm')
  335. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntractdwcdnm')
  336. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntractteamcdnm')
  337. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/servseqno')
  338. + '▩';
  339. chkdata=chkdata+1; // 체크된 수만큼 누적 된 양을 판별
  340. }
  341. }
  342. //체크된 데이터가 존재 하지 않을 때
  343. if(chkdata=='0') {
  344. messageBox("출결처리 대상을 선택 하십시요","I");
  345. return;
  346. }
  347. model.removeNodeset("/root/send/savedata");
  348. model.makeNode("/root/send/savedata");
  349. model.makeValue("/root/main/attdabsn/attdabsndata",attdabsndata);
  350. model.copyNode("/root/send/savedata","/root/main/attdabsn");
  351. if(submit("TXAAA00201")==true)
  352. {
  353. messageBox("출결처리가","I002");
  354. fVoluntrInfoReq(); //조회함수
  355. fVoluntrInfoCalReq(); //해당 달력 조회 함수
  356. }
  357. }
  358. // 삭제 함수
  359. function fVoluntrAttdDel()
  360. {
  361. var servdd=model.getValue("/root/main/search/servdd");
  362. var idxRow=grd_attdnc.rows;
  363. var idxfixRows=grd_attdnc.fixedRows;
  364. // 출결정보 등록할 파리채 생성
  365. var attdabsndata= 'attdabsnyn'
  366. + '▦attdabsnflag'
  367. + '▦status'
  368. + '▦actdeptcd'
  369. + '▦actdeptdetlnm'
  370. + '▦voluntractdwcd'
  371. + '▦voluntractteamcd'
  372. + '▦voluntrnm'
  373. + '▦baptnm'
  374. + '▦servtm'
  375. + '▦attdrem'
  376. + '▦actrgstseqno'
  377. + '▦voluntrid'
  378. + '▦servkind'
  379. + '▦servdd'
  380. + '▦actdeptcdnm'
  381. + '▦voluntractdwcdnm'
  382. + '▦voluntractteamcdnm'
  383. + '▦servseqno'
  384. + '▩';
  385. var chkdata=0; // 체크여부 확인하는 변수 선언
  386. for(i=1;i<=idxRow-idxfixRows;i++)
  387. {
  388. if(model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/chk")=="1") //체크 된 데이터만
  389. {
  390. if(model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/attdabsnyn")=="대상")
  391. {
  392. messageBox("출결등록 되지 않은 대상은 삭제할 수","I004");
  393. return;
  394. }
  395. //var attdabsnflag=model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/attdabsnflag") // 출결구분 저장
  396. model.makeValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/status","d"); //삭제 플래그 d저장
  397. // 조회한 활동일자 출결 봉사 일자에 저장
  398. // 그리드에 조회된 봉사자 출결 저장할 정보 attdabsndata에 누적 저장
  399. // 그리드 수만큼 해당 정보 저장한다.
  400. attdabsndata+= model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/attdabsnyn')
  401. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/attdabsnflag')
  402. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/status')
  403. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/actdeptcd')
  404. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/actdeptdetlnm')
  405. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntractdwcd')
  406. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntractteamcd')
  407. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntrnm')
  408. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/baptnm')
  409. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/servtm')
  410. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/attdrem')
  411. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/actrgstseqno')
  412. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntrid')
  413. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/servkind')
  414. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/servdd')
  415. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/actdeptcdnm')
  416. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntractdwcdnm')
  417. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntractteamcdnm')
  418. + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/servseqno')
  419. + '▩';
  420. chkdata=chkdata+1; // 체크된 수만큼 누적 된 양을 판별
  421. }
  422. }
  423. if(chkdata=='0') //체크된 데이터가 존재 하지 않을 때
  424. {
  425. messageBox("삭제할 대상을 선택 하십시요","I");
  426. return;
  427. }
  428. model.removeNodeset("/root/send/savedata");
  429. model.makeNode("/root/send/savedata");
  430. model.makeValue("/root/main/attdabsn/attdabsndata",attdabsndata);
  431. model.copyNode("/root/send/savedata","/root/main/attdabsn");
  432. var btn=messageBox("출결내역을","Q001");
  433. if(btn=='6')
  434. {
  435. if(submit("TXAAA00201")==true)
  436. {
  437. messageBox("삭제가","I002");
  438. fVoluntrInfoReq(); //조회함수
  439. fVoluntrInfoCalReq(); //해당 월 조회 함수
  440. }
  441. }
  442. }
  443. // 초기화 함수
  444. function fVoluntrAttdReset()
  445. {
  446. var btn=messageBox("초기화를","Q004");
  447. if(btn=='6')
  448. { // 출결등록 정보 초기화
  449. //model.resetInstanceNode("/root/main/search");
  450. model.removeNodeset("/root/main/voluntrattdabsninfo");
  451. model.resetInstanceNode("/root/main/search/servdd");
  452. grd_attdnc.fixedcellischeck(0,1)=false; //체크박스 해제
  453. model.refresh();
  454. fVoluntrInfoCalReq();
  455. //fVoluntrInfoCalReq();
  456. }
  457. else
  458. {
  459. return;
  460. }
  461. }
  462. // @ 달력에 0/0 으로 세팅
  463. function setCalendar(dateObj)
  464. {
  465. // 그리드 초기화
  466. model.removeNodeset("/root/main/cal/weeks");
  467. //model.removeNodeset("/root/init/curerprescondlist/rsrvcalendar");
  468. grd_calendar.rebuild()
  469. dateObj.setDate(1);
  470. var startDay = dateObj.getDay();
  471. var days = dateObj.getMonthDay();
  472. var rows = Math.ceil( ( startDay + days ) / 7 );
  473. for( var i = 0; i < rows; i++ )
  474. grd_calendar.addRow(false);
  475. grd_calendar.rebuild();
  476. var rowIndex = grd_calendar.fixedRows;
  477. var colIndex = startDay;
  478. for( var i = 1; i <= days; i++ ) {
  479. grd_calendar.valueMatrix(rowIndex, colIndex) = i;
  480. grd_calendar.allStyle("all", "font-size") = "15px";
  481. grd_calendar.valueMatrix(rowIndex, colIndex + 7) = "0/0";
  482. colIndex++;
  483. if( colIndex == 7 ) {
  484. colIndex = 0;
  485. rowIndex++;
  486. }
  487. }
  488. model.makeValue("/root/send/data/curdate",model.getValue("/root/hidden/calendar/year")+model.getValue("/root/hidden/calendar/month")+"01");
  489. fVoluntrInfoCalReq();
  490. //fCalendar();
  491. //setRsrvPresCondByMonth();
  492. }
  493. /****************************************************************************************************************************************************
  494. @ 공휴일계산1
  495. *****************************************************************************************************************************************************/
  496. function fCalendar()
  497. {
  498. fVoluntrInfoCalReq();
  499. }
  500. /****************************************************************************************************************************************************
  501. @ 공휴일계산2
  502. *****************************************************************************************************************************************************/
  503. function fCalendar1()
  504. {
  505. var isMonth = model.getValue("/root/hidden/calendar/month");
  506. var isYear = model.getValue("/root/hidden/calendar/year");
  507. var isDate = (isYear+isMonth+1).toDate();
  508. var startDay = isDate.getDay();
  509. for (var i = 1; i < grd_calendar.rows; i++) {
  510. var dd = model.getValue("/root/main/voluntrcalinfo/voluntrcallist[" + i + "]/basedd");
  511. var colidx = dd.toDate().getDay();
  512. var rowidx = Math.ceil( ( startDay + Number(dd.substr(6,2)) ) / 7 );
  513. //var rowidx = Math.ceil( ( startDay + Number(dd.substr(6,2)) ) / 7 );
  514. //alert("i==" + i + "==dutflag==" + model.getValue("/root/init/calenlist/calendinfo[" + i + "]/dutflag"));
  515. if (model.getValue("grd_calendar[" + i + "]/dutflag") == "8"){
  516. grd_calendar.cellstyle("color", rowidx, colidx, rowidx, colidx) = "red";
  517. }else if (model.getValue("grd_calendar[" + i + "]/dutflag") == "4"){
  518. grd_calendar.cellstyle("color", rowidx, colidx, rowidx, colidx) = "blue";
  519. }else{
  520. grd_calendar.cellstyle("color", rowidx, colidx, rowidx, colidx) = "black";
  521. }
  522. }
  523. grd_calendar.refresh();
  524. }
  525. //전체추가로 인해 추가-kys-20091124
  526. function addComboInstance(combopath, nodename, nodeval, parentnode){
  527. nodename = nodename.split("^");
  528. nodeval = nodeval.split("^");
  529. if(nodename.length != nodeval.length){
  530. return;
  531. }
  532. var label = model.instances(0).createElement(nodename[0]);
  533. var val = model.instances(0).createElement(nodename[1]);
  534. var combo = model.instances(0).createElement(parentnode);
  535. label.value = "" + nodeval[0] + "";
  536. val.value = "" + nodeval[1] + "";
  537. combo.appendChild(label);
  538. combo.appendChild(val);
  539. chkNode = model.instances(0).selectSingleNode(combopath);
  540. if(chkNode == null){
  541. model.makeNode(combopath);
  542. srcNode = model.instances(0).selectSingleNode(combopath);
  543. }else{
  544. srcNode = model.instances(0).selectSingleNode(combopath);
  545. }
  546. desNode = model.instances(0).selectSingleNode(combopath + "/" + parentnode);
  547. srcNode.insertBefore(combo, desNode);
  548. model.refresh();
  549. }
  550. ]]>
  551. </script>
  552. <xhtml:body guideline="1,1195;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  553. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  554. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:184px; height:14px; ">자원봉사자출결등록관리</caption>
  555. </group>
  556. <group id="grp_biz" scroll="auto" style="left:0px; top:13px; width:1195px; height:744px; ">
  557. <line id="line12" class="line_1" style="x1:369px; y1:35px; x2:1195px; y2:35px; "/>
  558. <caption id="caption32" class="tit_2" style="left:370px; top:20px; width:140px; height:13px; ">봉사활동 출결등록</caption>
  559. <group id="group1" style="left:0px; top:10px; width:360px; height:90px; vertical-align:top; ">
  560. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:360px; height:90px; font-family:돋움체; "/>
  561. <caption id="caption1" class="search_name" style="left:5px; top:8px; width:91px; height:17px; font-family:돋움체; ">소속분야 :</caption>
  562. <line id="line13" class="line_4" style="x1:284px; y1:13px; x2:284px; y2:77px; font-family:돋움체; "/>
  563. <select1 id="cmb_actdeptcd" ref="/root/main/search/actdeptcd" class="combo_search" appearance="minimal" style="left:95px; top:35px; width:175px; height:19px; font-family:돋움체; ">
  564. <choices>
  565. <itemset nodeset="/root/hidden/init/comcd/A0503">
  566. <label ref="cdnm"/>
  567. <value ref="cdid"/>
  568. </itemset>
  569. </choices>
  570. <script type="javascript" ev:event="xforms-value-changed">
  571. <![CDATA[
  572. fVoluntrInfoCalReq();
  573. ]]>
  574. </script>
  575. </select1>
  576. <button id="btn_search" class="btn1_letter2" style="left:294px; top:33px; width:56px; height:22px; font-family:돋움체; ">
  577. <caption>조회</caption>
  578. <script type="javascript" ev:event="DOMActivate">
  579. <![CDATA[
  580. fVoluntrInfoCalReq();
  581. ]]>
  582. </script>
  583. </button>
  584. <caption id="caption2" class="search_name" style="left:5px; top:61px; width:132px; height:17px; font-family:돋움체; ">활동요일/시간대:</caption>
  585. <select1 id="cmb_voluntractdwcd" ref="/root/main/search/voluntractdwcd" class="combo_search" disabled="false" appearance="minimal" style="left:135px; top:61px; width:65px; height:19px; font-family:돋움체; ">
  586. <choices>
  587. <itemset nodeset="/root/hidden/init/comcd/A0359">
  588. <label ref="cdnm"/>
  589. <value ref="cdid"/>
  590. </itemset>
  591. </choices>
  592. <script type="javascript" ev:event="xforms-value-changed">
  593. <![CDATA[
  594. fVoluntrInfoCalReq();
  595. ]]>
  596. </script>
  597. </select1>
  598. <select1 id="cmb_voluntractteamcd" ref="/root/main/search/voluntractteamcd" class="combo_search" appearance="minimal" style="left:202px; top:61px; width:68px; height:19px; font-family:돋움체; ">
  599. <choices>
  600. <itemset nodeset="/root/hidden/init/comcd/A0360">
  601. <label ref="cdnm"/>
  602. <value ref="cdid"/>
  603. </itemset>
  604. </choices>
  605. <script type="javascript" ev:event="xforms-value-changed">
  606. <![CDATA[
  607. fVoluntrInfoCalReq();
  608. ]]>
  609. </script>
  610. </select1>
  611. <caption id="caption4" class="search_name" style="left:5px; top:35px; width:91px; height:17px; font-family:돋움체; ">소속센터 :</caption>
  612. <select1 id="cmb_actdivscd" ref="/root/main/search/actdivscd" class="combo_search" appearance="minimal" style="left:95px; top:10px; width:175px; height:19px; font-family:돋움체; ">
  613. <choices>
  614. <itemset nodeset="/root/hidden/init/comcd/A0654">
  615. <label ref="cdnm"/>
  616. <value ref="cdid"/>
  617. </itemset>
  618. </choices>
  619. <script type="javascript" ev:event="xforms-value-changed">
  620. <![CDATA[
  621. fVoluntrInfoCalReq();
  622. ]]>
  623. </script>
  624. </select1>
  625. </group>
  626. <datagrid id="grd_attdnc" nodeset="/root/main/voluntrattdabsninfo/voluntrattdabsnlist" caption="^출결여부^출석구분^활동시간^소속분야^소속센터^소속센터^활동요일^활동시간대^성명^세례명^내용^caption1^caption2^caption3^servdd^servseqno^status" colsep="^" colwidth="36, 54, 54, 54, 100, 120, 80, 58, 78, 74, 0, 171, 10, 16, 11, 3, -4, 20" dataheight="25" explorerbar="sort" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:370px; top:40px; width:825px; height:696px; ">
  627. <col checkvalue="1,0" ref="chk" type="checkbox"/>
  628. <col ref="attdabsnyn" style="text-align:center; "/>
  629. <col ref="attdabsnflag" type="combo" style="text-align:center; ">
  630. <choices>
  631. <itemset nodeset="/root/hidden/init/comcd/A0506">
  632. <label ref="cdnm"/>
  633. <value ref="cdid"/>
  634. </itemset>
  635. </choices>
  636. </col>
  637. <col ref="servtm" type="input" format="#.9" maxlength="4" style="text-align:center; "/>
  638. <col disabled="true" ref="actdivscd" type="combo">
  639. <choices>
  640. <itemset nodeset="/root/hidden/init/comcd/A0654[cdid!='']">
  641. <label ref="cdnm"/>
  642. <value ref="cdid"/>
  643. </itemset>
  644. </choices>
  645. </col>
  646. <col disabled="true" ref="actdeptcd" type="combo" format="yyyy-mm-dd" style="text-align:center; ">
  647. <choices>
  648. <itemset nodeset="/root/hidden/init/comcd/A0503">
  649. <label ref="cdnm"/>
  650. <value ref="cdid"/>
  651. </itemset>
  652. </choices>
  653. </col>
  654. <col disabled="true" ref="actdeptdetlnm" type="input"/>
  655. <col disabled="true" ref="voluntractdwcd" type="combo">
  656. <choices>
  657. <itemset nodeset="/root/hidden/init/comcd1/A0359">
  658. <label ref="cdnm"/>
  659. <value ref="cdid"/>
  660. </itemset>
  661. </choices>
  662. </col>
  663. <col disabled="true" ref="voluntractteamcd" type="combo">
  664. <choices>
  665. <itemset nodeset="/root/hidden/init/comcd1/A0360">
  666. <label ref="cdnm"/>
  667. <value ref="cdid"/>
  668. </itemset>
  669. </choices>
  670. </col>
  671. <col ref="voluntrnm"/>
  672. <col ref="baptnm" visibility="hidden"/>
  673. <col ref="attdrem" type="input" maxlength="20"/>
  674. <col ref="actrgstseqno" visibility="hidden"/>
  675. <col ref="voluntrid" visibility="hidden"/>
  676. <col ref="servkind" visibility="hidden"/>
  677. <col ref="servdd" visibility="hidden"/>
  678. <col ref="servseqno" visibility="hidden"/>
  679. <col ref="status" visibility="hidden"/>
  680. <script type="javascript" ev:event="xforms-value-changed">
  681. <![CDATA[
  682. var idxRows=grd_attdnc.row;
  683. var idxRow=idxRows-1;
  684. var fixRox=grd_attdnc.fixedRows;
  685. var idxrow=idxRows;
  686. var attdabsnflag=model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+idxRow+"]/attdabsnflag");
  687. var actdeptcd=model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+idxRow+"]/actdeptcd");
  688. var voluntractteamcd=model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+idxRow+"]/voluntractteamcd");
  689. if(grd_attdnc.col=="3")
  690. { // 출석구분 값이 바뀌었을 때
  691. // 결석, 휴가, 병가로 선택된 경우 활동시간 초기화
  692. if(attdabsnflag=="03"||attdabsnflag=="04"||attdabsnflag=="05")
  693. {
  694. model.resetInstanceNode("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+idxRow+"]/servtm");
  695. model.makeValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+idxRow+"]/servtm","0.0");
  696. // 2009.6.12 수정
  697. grd_attdnc.isReadOnly(idxrow,grd_attdnc.colRef("servtm"))=true;
  698. //alert(grd_attdnc.isReadOnly(idxrow,grd_attdnc.colRef("servtm")));
  699. //alert(idxrow);
  700. }
  701. else if(actdeptcd=='04'&& voluntractteamcd=='3')
  702. {// 활동부서가 호스피스이면서 소속팀이 종일일때 6시간 셋팅
  703. model.resetInstanceNode("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+idxRow+"]/servtm");
  704. model.makeValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+idxRow+"]/servtm","6.0");
  705. grd_attdnc.isReadOnly(idxrow,grd_attdnc.colRef("servtm"))=false;
  706. }
  707. else
  708. {// 출결, 대근일 경우 활동시간에 자동 3시간 셋팅
  709. model.resetInstanceNode("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+idxRow+"]/servtm");
  710. model.makeValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+idxRow+"]/servtm","3.0");
  711. grd_attdnc.isReadOnly(idxrow,grd_attdnc.colRef("servtm"))=false;
  712. }
  713. }
  714. model.refresh();
  715. ]]>
  716. </script>
  717. <script type="javascript" ev:event="onaftersort">
  718. <![CDATA[
  719. grd_attdnc.gridToInstance();
  720. ]]>
  721. </script>
  722. </datagrid>
  723. <group id="grp_calendar" style="left:1px; top:124px; width:360px; height:40px; ">
  724. <shape id="rectangle1" class="calendar_header" appearance="rectangle" style="left:0px; top:0px; width:360px; height:40px; "/>
  725. <button id="btn_afmonth" class="icon_next_month" style="left:253px; top:14px; width:16px; height:16px; ">
  726. <caption/>
  727. <script type="javascript" ev:event="DOMActivate">
  728. <![CDATA[
  729. var isMonth = model.getValue("/root/hidden/calendar/month");
  730. var isYear = model.getValue("/root/hidden/calendar/year");
  731. var isDate = (isYear+isMonth+1).toDate().getAddDate(1,'M');
  732. model.setValue("/root/hidden/calendar/year", isDate.getDateFormat('YYYY'));
  733. model.setValue("/root/hidden/calendar/month", isDate.getDateFormat('MM'));
  734. model.refresh();
  735. setCalendar(isDate);
  736. ]]>
  737. </script>
  738. </button>
  739. <button id="btn_bfmonth" class="icon_pre_month" style="left:66px; top:14px; width:16px; height:16px; ">
  740. <caption/>
  741. <script type="javascript" ev:event="DOMActivate">
  742. <![CDATA[
  743. var isMonth = model.getValue("/root/hidden/calendar/month");
  744. var isYear = model.getValue("/root/hidden/calendar/year");
  745. var isDate = (isYear+isMonth+1).toDate().getAddDate(-1,'M');
  746. model.setValue("/root/hidden/calendar/year", isDate.getDateFormat('YYYY'));
  747. model.setValue("/root/hidden/calendar/month", isDate.getDateFormat('MM'));
  748. model.refresh();
  749. setCalendar(isDate);
  750. ]]>
  751. </script>
  752. </button>
  753. <button id="btn_bfyear" class="icon_pre_year" style="left:47px; top:14px; width:16px; height:16px; ">
  754. <caption/>
  755. <script type="javascript" ev:event="DOMActivate">
  756. <![CDATA[
  757. var isMonth = model.getValue("/root/hidden/calendar/month");
  758. var isYear = model.getValue("/root/hidden/calendar/year");
  759. var isDate = (isYear+isMonth+1).toDate().getAddDate(-1,'Y');
  760. model.setValue("/root/hidden/calendar/year", isDate.getDateFormat('YYYY'));
  761. model.setValue("/root/hidden/calendar/month", isDate.getDateFormat('MM'));
  762. model.refresh();
  763. setCalendar(isDate);
  764. ]]>
  765. </script>
  766. </button>
  767. <button id="btn_afyear" class="icon_next_year" style="left:272px; top:14px; width:16px; height:16px; ">
  768. <caption/>
  769. <script type="javascript" ev:event="DOMActivate">
  770. <![CDATA[
  771. var isMonth = model.getValue("/root/hidden/calendar/month");
  772. var isYear = model.getValue("/root/hidden/calendar/year");
  773. var isDate = (isYear+isMonth+1).toDate().getAddDate(1,'Y');
  774. model.setValue("/root/hidden/calendar/year", isDate.getDateFormat('YYYY'));
  775. model.setValue("/root/hidden/calendar/month", isDate.getDateFormat('MM'));
  776. model.refresh();
  777. setCalendar(isDate);
  778. ]]>
  779. </script>
  780. </button>
  781. <output id="opt_year" ref="/root/hidden/calendar/year" class="calendar_output" style="left:102px; top:12px; width:52px; height:19px; font-size:11pt; "/>
  782. <output id="opt_month" ref="/root/hidden/calendar/month" class="calendar_output" style="left:184px; top:12px; width:30px; height:19px; font-size:11pt; "/>
  783. <caption id="caption16" class="calendar_output" style="left:152px; top:12px; width:20px; height:19px; font-size:11pt; ">년</caption>
  784. <caption id="caption17" class="calendar_output" style="left:214px; top:12px; width:20px; height:19px; font-size:11pt; ">월</caption>
  785. </group>
  786. <caption id="caption3" class="tit_2" style="left:5px; top:106px; width:140px; height:13px; ">월별 출결현황</caption>
  787. <caption id="cpt_voluntrflag" class="cell_1" style="left:655px; top:10px; width:92px; height:20px; font-size:11pt; font-weight:bold; vertical-align:middle; ">활동일자 :</caption>
  788. <input id="ipt_servdd" ref="/root/main/search/servdd" class="input_essential" disabled="true" navindex="28" inputtype="date" style="left:755px; top:10px; width:137px; height:19px; font-size:11pt; font-weight:bold; "/>
  789. <shape id="roundrect2" class="roundrect_example" appearance="roundrect" style="left:647px; top:6px; width:255px; height:28px; "/>
  790. <datagrid id="grd_voluntrcallist" nodeset="/root/main/voluntrcalinfo/voluntrcallist" visibility="hidden" caption="caption1^caption2^caption3^caption4^caption5^caption6^caption7" colsep="^" colwidth="54, 55, 23, 27, 26, 27, 23" mergecellsfixedrows="bycolrec" rowsep="|" style="left:490px; top:155px; width:350px; height:150px; ">
  791. <col ref="basedd"/>
  792. <col ref="absn"/>
  793. <col ref="dutflag"/>
  794. <col ref="day"/>
  795. <col ref="dw"/>
  796. <col ref="weekno"/>
  797. </datagrid>
  798. <datagrid id="grd_calendar" nodeset="/root/main/cal/weeks" allowselection="true" allowuserresize="false" backcoloralternate="transparent" caption="일^월^화^수^목^금^토" colsep="^" colwidth="51, 51, 51, 51, 51, 51, 51" defaultrows="7" focuscolor="transparent" frozencols="1" rowsep="|" selectionmode="free" style="left:0px; top:165px; width:360px; height:574px; ">
  799. <col ref="sun" style="vertical-align:top; "/>
  800. <col ref="mon" style="vertical-align:top; "/>
  801. <col ref="tue" style="vertical-align:top; "/>
  802. <col ref="wed" style="vertical-align:top; "/>
  803. <col ref="thu" style="vertical-align:top; "/>
  804. <col ref="fri" style="vertical-align:top; "/>
  805. <col ref="sat" style="vertical-align:top; "/>
  806. <script type="javascript" ev:event="onclick">
  807. <![CDATA[
  808. if(grd_calendar.isCell(event.target) && grd_calendar.mouseRow >= grd_calendar.fixedrows) // 01클릭하는 위치가 그리드 안에 있을 때만 함수 실행
  809. {
  810. var cell = grd_calendar.selectedCells.item(0);
  811. // 그리드에서 선택상태인 셀들의 collection 객체를 반환하는 속성이다.
  812. // 반환된 객체를 사용하여 선택된 셀들의 행, 열 인덱스를 알 수 있다.
  813. grd_calendar.disabled=true;
  814. var dataarray = grd_calendar.valueMatrix(cell.row, cell.col).split("\n"); //일
  815. var NodeCnt=getNodesetCount("/root/main/voluntrcalinfo/voluntrcallist");
  816. if(dataarray!='')
  817. {
  818. //var dd = model.getValue("/root/main/voluntrcalinfo/voluntrcallist"+"[" + dataarray[2] + "]/basedd"); //년월일
  819. var dd = model.getValue("/root/main/voluntrcalinfo/voluntrcallist"+"[" + dataarray[0] + "]/basedd"); //년월일
  820. if(isNull(dd)) // 데이터가 조회되지 않을 때
  821. {
  822. var calyear=model.getValue("/root/hidden/calendar/year");
  823. var calmonth=model.getValue("/root/hidden/calendar/month");
  824. if(dataarray<10)
  825. {
  826. var dataarray=("0"+dataarray);
  827. }
  828. var dd=calyear+calmonth+dataarray;
  829. }
  830. model.makeValue("/root/main/search/servdd",dd);
  831. model.makeValue("/root/main/search/eachinstservtm", "3");
  832. fVoluntrInfoReq();
  833. grd_calendar.disabled=false;
  834. model.refresh();
  835. }
  836. else
  837. {
  838. grd_calendar.disabled=false;
  839. return;
  840. }
  841. }
  842. else
  843. {
  844. grd_calendar.disabled=false;
  845. return;
  846. }
  847. ]]>
  848. </script>
  849. </datagrid>
  850. <button id="btn_barsave" class="btn2_letter7" visibility="hidden" style="left:520px; top:5px; width:97px; height:19px; ">
  851. <caption>바코드출결처리</caption>
  852. <script type="javascript" ev:event="DOMActivate">
  853. <![CDATA[
  854. //20100330-kys-바코드출결처리 추가
  855. setParameter("SPAAA00200_param_servdd" , model.getValue("/root/main/search/servdd"));
  856. setParameter("SPAAA00200_param_tretflag" , "1"); //봉사활동출결처리 구분추가-kys-20100419
  857. modal("SPAAA04000");
  858. var useyn = getParameter("SPAAA04000_closeyn");
  859. if(useyn == "Y"){
  860. fVoluntrInfoReq(); //조회함수
  861. fVoluntrInfoCalReq(); //해당 달력 조회 함수
  862. model.refresh();
  863. }
  864. ]]>
  865. </script>
  866. </button>
  867. <button id="button89" class="btn6_letter2" visibility="hidden" style="left:905px; top:10px; width:56px; height:22px; ">
  868. <caption>출력</caption>
  869. <script type="javascript" ev:event="onclick">
  870. <![CDATA[
  871. exeReportPreview("RPAAA00201", "XMLSTR", "", "", "false");
  872. ]]>
  873. </script>
  874. </button>
  875. <button id="btn_save" class="btn5_letter2" style="left:1153px; top:15px; width:42px; height:19px; ">
  876. <caption>저장</caption>
  877. <script type="javascript" ev:event="DOMActivate">
  878. <![CDATA[
  879. fVoluntrAttdSave();
  880. ]]>
  881. </script>
  882. </button>
  883. <button id="button1" class="btn5_letter2" style="left:1110px; top:15px; width:42px; height:19px; ">
  884. <caption>삭제</caption>
  885. <script type="javascript" ev:event="DOMActivate">
  886. <![CDATA[
  887. fVoluntrAttdDel();
  888. ]]>
  889. </script>
  890. </button>
  891. <button id="btn_delete" class="btn5_letter3" style="left:1056px; top:15px; width:53px; height:19px; ">
  892. <caption>초기화</caption>
  893. <script type="javascript" ev:event="DOMActivate">
  894. <![CDATA[
  895. fVoluntrAttdReset();
  896. ]]>
  897. </script>
  898. </button>
  899. </group>
  900. <group id="grp_btn" style="left:0px; top:757px; width:1195px; height:27px; ">
  901. <line id="line1" class="line_6" style="x1:0px; y1:0px; x2:1194px; y2:0px; "/>
  902. </group>
  903. </xhtml:body>
  904. </xhtml:html>