SMRPD03700_개인복무계획신청.xrw 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>SMRPD03700_개인복무계획신청</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <dutcd>
  11. <dutcdlist/>
  12. </dutcd>
  13. <dutscheapp>
  14. <dutscheapplist/>
  15. </dutscheapp>
  16. <predutscheapp>
  17. <predutscheapplist/>
  18. </predutscheapp>
  19. </main>
  20. <send>
  21. <save>
  22. <dutscheapplist/>
  23. </save>
  24. <dutcd>
  25. <instcd/>
  26. <dutunitcd/>
  27. <dutunitnm/>
  28. </dutcd>
  29. <dutscheapp>
  30. <instcd/>
  31. <srvarmapdd/>
  32. <emplno/>
  33. <emplnm/>
  34. <dutunitcd/>
  35. <dutunitnm/>
  36. <newElement/>
  37. <srvarmapfromdd/>
  38. <srvarmaptodd/>
  39. <ymdflag>1</ymdflag>
  40. </dutscheapp>
  41. </send>
  42. <hidden/>
  43. <tempday>
  44. <dutinfo/>
  45. </tempday>
  46. </root>
  47. </instance>
  48. <submission id="TRRPD03701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/dutscheapp" resultref="/root/main/dutscheapp"/>
  49. <submission id="TRRPD03702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/dutcd" resultref="/root/main/dutcd"/>
  50. <submission id="TRRPD03703" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/dutscheapp" resultref="/root/main/predutscheapp"/>
  51. <submission id="TXRPD03701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hiddeen/temp"/>
  52. <submission id="TRRPD10102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams" resultref="/root/tempday/dutinfo"/>
  53. </model>
  54. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  55. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  56. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  57. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  58. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  59. <script type="javascript" src="../../../mis/dligclaznsmngtweb/js/RPD001.js"/>
  60. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  61. <script type="javascript" ev:event="xforms-ready">
  62. <![CDATA[
  63. fInit();
  64. ]]>
  65. </script>
  66. <script type="javascript">
  67. <![CDATA[
  68. var DUT_UNIT_CD = "";
  69. var DUT_UNIT_NM = "";
  70. function fInit()
  71. {
  72. misfGridInit(grd_dutscheapplist);
  73. misfGridInit(grd_dutscheapplist);
  74. misfGridInit(grd_predutscheapplist);
  75. var dt = new Date(getCurrentDate().substr(0, 4), getCurrentDate().substr(4, 2), 0);
  76. submit("TRRPD10102", false);
  77. ipt_srvarmapfromdd.value = model.getValue("/root/tempday/dutinfo/dutlist/fromymd");
  78. ipt_srvarmaptodd.value = model.getValue("/root/tempday/dutinfo/dutlist/toymd");
  79. //ipt_srvarmapfromdd.value = getCurrentDate().substr(0, 6) + "01";
  80. //ipt_srvarmaptodd.value = getCurrentDate().substr(0, 6) + dt.getDate();;
  81. misfMsterDetailSet(grd_dutscheapplist, null, "TRRPD03701" ,"Y");
  82. misfMsterDetailSet(grd_predutscheapplist, null, "TRRPD03703" ,"N");
  83. // misfComboComCdListMulti("Z0007","cmb_instcd");
  84. misfComboInstCdListMulti("cmb_instcd",ipt_srvarmapfromdd.value,"","N");
  85. misfGetAndSetUserInfo();
  86. misfGetUserAuth();
  87. rpdfSetControlAuth();
  88. rpdfComboCdList(cmb_dutplce); // 권한별 근무부서 세팅
  89. rpdfSetDutUnitCombo();
  90. model.setValue("/root/send/dutscheapp/instcd", getUserInfo("dutplceinstcd"));
  91. model.setValue("/root/send/dutscheapp/emplno", getUserInfo("userid"));
  92. model.setValue("/root/send/dutscheapp/emplnm", getUserInfo("usernm"));
  93. model.setValue("/root/send/dutscheapp/dutunitcd", DUT_UNIT_CD);
  94. model.setValue("/root/send/dutscheapp/dutunitnm", DUT_UNIT_NM);
  95. model.setValue("/root/send/dutcd/dutunitcd", DUT_UNIT_CD);
  96. model.setValue("/root/send/dutcd/dutunitnm", DUT_UNIT_NM);
  97. btn_search.dispatch("DOMActivate");
  98. rpdfSetControlByJobRespCd("ipt_emplno,btn_emplno,ipt_emplnm");
  99. btn_search.disabled = !(checkAuth("R"));
  100. btn_save.disabled = !(checkAuth("X"));
  101. ipt_emplno.disabled = true
  102. ipt_emplnm.disabled = true
  103. btn_emplno.disabled = true
  104. cmb_dutplce.value = DUT_UNIT_CD;
  105. if (cmb_dutplce.value == "")
  106. {
  107. cmb_dutplce.select(0);
  108. }
  109. model.refresh();
  110. }
  111. function fRetrieve()
  112. {
  113. if(ipt_emplno.value == "" || ipt_emplnm.value == "")
  114. {
  115. messageBox("사원번호를", "C001");
  116. return;
  117. }
  118. model.setValue("/root/send/dutcd/instcd", model.getValue("/root/send/dutscheapp/instcd"));
  119. misfMsterDetailRetrieve();
  120. submit("TRRPD03702");
  121. for(var i=2; i<grd_dutscheapplist.rows; i++)
  122. {
  123. var sCnfmYn = grd_dutscheapplist.valueMatrix(i, grd_dutscheapplist.colRef("deprtmangraprvyn"));
  124. if(sCnfmYn == "Y")
  125. {
  126. grd_dutscheapplist.rowStyle(i, "all", "background-color") = "#DDDDDD";
  127. misfSetReadOnlyCol(grd_dutscheapplist, "dutcd,srvarmappdd,srvarmfromdd,srvarmtodd,appresn", true, i);
  128. }
  129. else
  130. {
  131. grd_dutscheapplist.rowStyle(i, "all", "background-color") = "#FFFFFF";
  132. misfSetReadOnlyCol(grd_dutscheapplist, "dutcd,srvarmappdd,srvarmfromdd,srvarmtodd,appresn", false, i);
  133. }
  134. }
  135. }
  136. function fSetHoliLen()
  137. {
  138. if (grd_dutscheapplist.col == grd_dutscheapplist.colRef("srvarmfromdd"))
  139. {
  140. var sFromDD = grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row, grd_dutscheapplist.colRef("srvarmfromdd"));
  141. var sToDD = grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row, grd_dutscheapplist.colRef("srvarmtodd"));
  142. var sDutCd = grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row, grd_dutscheapplist.colRef("dutcd"));
  143. if(sToDD.length != 8)
  144. {
  145. grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row, grd_dutscheapplist.colRef("srvarmtodd")) = sFromDD;
  146. }
  147. if(sDutCd.length > 0)
  148. {
  149. if(sDutCd.substr(0, 1) == "B" && sFromDD.length == 8)
  150. {
  151. var dtCurrent = new Date(misfConvertChar2Date(sFromDD, "/"));
  152. dtCurrent.setDate(dtCurrent.getDate() + 89);
  153. model.makeValue("/root/temp/date", dtCurrent.getVarDate());
  154. grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row, grd_dutscheapplist.colRef("srvarmtodd")) = model.getValue("/root/temp/date").replace("-", "").replace("-", "").replace("/", "").replace("/", "");
  155. }
  156. }
  157. var dayno = getDateInterval(grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row,grd_dutscheapplist.colRef("srvarmfromdd")), grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row,grd_dutscheapplist.colRef("srvarmtodd")));
  158. if (isNaN(dayno) || dayno == ""){
  159. dayno = 0;
  160. }
  161. var dayno1 = 0;
  162. if (sDutCd == "DV" || sDutCd == "EV" || sDutCd == "RV" || sDutCd == "SV" || sDutCd == "V1"){
  163. dayno1 = parseInt(dayno + 1) * 0.5;
  164. }else{
  165. dayno1 = dayno + 1;
  166. }
  167. grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row,grd_dutscheapplist.colRef("srvarmdayno")) = dayno1;
  168. model.refresh();
  169. }
  170. else if (grd_dutscheapplist.col == grd_dutscheapplist.colRef("srvarmtodd"))
  171. {
  172. var sDutCd = grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row, grd_dutscheapplist.colRef("dutcd"));
  173. var dayno = getDateInterval(grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row,grd_dutscheapplist.colRef("srvarmfromdd")), grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row,grd_dutscheapplist.colRef("srvarmtodd")));
  174. if (isNaN(dayno) || dayno == ""){
  175. dayno = 0;
  176. }
  177. var dayno1 = 0;
  178. if (sDutCd == "DV" || sDutCd == "EV" || sDutCd == "RV" || sDutCd == "SV" || sDutCd == "V1"){
  179. dayno1 = parseInt(dayno + 1) * 0.5;
  180. }else{
  181. dayno1 = dayno + 1;
  182. }
  183. grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row,grd_dutscheapplist.colRef("srvarmdayno")) = dayno1;
  184. model.refresh();
  185. }
  186. else if (grd_dutscheapplist.col == grd_dutscheapplist.colRef("dutcd"))
  187. {
  188. var sDutCd = grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row, grd_dutscheapplist.colRef("dutcd"));
  189. var dayno = getDateInterval(grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row,grd_dutscheapplist.colRef("srvarmfromdd")), grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row,grd_dutscheapplist.colRef("srvarmtodd")));
  190. if (isNaN(dayno) || dayno == ""){
  191. dayno = 0;
  192. }
  193. var dayno1 = 0;
  194. if (sDutCd == "DV" || sDutCd == "EV" || sDutCd == "RV" || sDutCd == "SV" || sDutCd == "V1"){
  195. dayno1 = parseInt(dayno + 1) * 0.5;
  196. }else{
  197. dayno1 = dayno + 1;
  198. }
  199. grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row,grd_dutscheapplist.colRef("srvarmdayno")) = dayno1;
  200. model.refresh();
  201. }
  202. }
  203. function fSave()
  204. {
  205. var bSave = true;
  206. var iCnt = 0;
  207. for(var i=2; i<grd_dutscheapplist.rows; i++)
  208. {
  209. if(grd_dutscheapplist.rowStatus(i) == 0)
  210. {
  211. continue;
  212. }
  213. else
  214. {
  215. iCnt++;
  216. }
  217. var sDutCd = grd_dutscheapplist.valueMatrix(i, grd_dutscheapplist.colRef("dutcd"));
  218. var sFromDD = grd_dutscheapplist.valueMatrix(i, grd_dutscheapplist.colRef("srvarmfromdd"));
  219. var sToDD = grd_dutscheapplist.valueMatrix(i, grd_dutscheapplist.colRef("srvarmtodd"));
  220. var sAppResn = grd_dutscheapplist.valueMatrix(i, grd_dutscheapplist.colRef("appresn"));
  221. if(sDutCd == "" || sFromDD == "" || sToDD == "" || sAppResn == "")
  222. {
  223. bSave = false;
  224. }
  225. }
  226. if(bSave && iCnt > 0)
  227. {
  228. misfSave("TXRPD03701");
  229. fRetrieve();
  230. }
  231. else if(!bSave)
  232. {
  233. messageBox("[ 근무코드 | 시작일 | 종료일 | 신청사유 ] 는 입력하셔야 합니다.", "I999");
  234. }
  235. }
  236. function fDelRow()
  237. {
  238. for(var i=0; i<grd_dutscheapplist.selectedCells.length; i++)
  239. {
  240. var iRowIdx = grd_dutscheapplist.selectedCells.item(i).row;
  241. var sCnfmYn = grd_dutscheapplist.valueMatrix(iRowIdx, grd_dutscheapplist.colRef("deprtmangraprvyn"));
  242. var sInptYn = grd_dutscheapplist.valueMatrix(iRowIdx, grd_dutscheapplist.colRef("deprtmangrinptyn"));
  243. if(sCnfmYn == "Y")
  244. {
  245. messageBox("부서장 승인이 난 내역은 삭제 할 수 없습니다.", "I999");
  246. continue;
  247. }
  248. else
  249. {
  250. if(sInptYn == "Y")
  251. {
  252. messageBox("부서장 확인된 내역이 아니어도\n\n부서장이 입력한 내역이므로 삭제 할 수 없습니다.", "I999");
  253. continue;
  254. }
  255. else
  256. {
  257. if(grd_dutscheapplist.rowStatus(iRowIdx) == 1 || grd_dutscheapplist.rowStatus(iRowIdx) == 3)
  258. {
  259. grd_dutscheapplist.deleteRow(iRowIdx, false)
  260. }
  261. else
  262. {
  263. grd_dutscheapplist.addStatus(iRowIdx, "delete");
  264. }
  265. }
  266. }
  267. }
  268. }
  269. function fAddRow()
  270. {
  271. if(ipt_emplno.value == "" || ipt_emplnm.value == "")
  272. {
  273. messageBox("사원번호를", "C001");
  274. return;
  275. }
  276. misfGridIUD(grd_dutscheapplist, "A");
  277. grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row, grd_dutscheapplist.colRef("srvarmappdd")) = getCurrentDate();
  278. grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row, grd_dutscheapplist.colRef("dutplcedeptcd")) = model.getValue("/root/send/dutscheapp/dutunitcd");
  279. grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row, grd_dutscheapplist.colRef("deprtmangraprvyn")) = "N";
  280. grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row, grd_dutscheapplist.colRef("psnworkapryn")) = "N";
  281. grd_dutscheapplist.col = grd_dutscheapplist.colRef("dutcd");
  282. grd_dutscheapplist.editCell();
  283. }
  284. function fSetDutCdAppList()
  285. {
  286. if (grd_dutscheapplist.rows > 0 && grd_dutscheapplist.row > 0)
  287. {
  288. var sDeprtAppYn = grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row, grd_dutscheapplist.colRef("deprtmangraprvyn"));
  289. var sFromDD = grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row, grd_dutscheapplist.colRef("srvarmfromdd"));
  290. var sSetCd = grd_dutcdlist.valueMatrix(grd_dutcdlist.row, grd_dutcdlist.colRef("dutcd"));
  291. if(sDeprtAppYn != "Y")
  292. {
  293. grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row, grd_dutscheapplist.colRef("dutcd")) = sSetCd;
  294. if(grd_dutscheapplist.rowStatus(grd_dutscheapplist.row) == 0)
  295. {
  296. grd_dutscheapplist.addStatus(grd_dutscheapplist.row, "update");
  297. }
  298. //if(sSetCd == "B")
  299. //{
  300. grd_dutscheapplist.col = grd_dutscheapplist.colRef("dutcd");
  301. grd_dutscheapplist.dispatch("xforms-value-changed");
  302. //}
  303. }
  304. else
  305. {
  306. messageBox("부서장 승인 된 내역입니다.", "I999");
  307. }
  308. }
  309. }
  310. ]]>
  311. </script>
  312. </xhtml:head>
  313. <xhtml:body pagewidth="1211" pageheight="784" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  314. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  315. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:230px; height:14px; ">개인복무계획신청</caption>
  316. <caption id="caption4" class="patient_text_black" style="left:922px; top:0px; width:272px; "/>
  317. </group>
  318. <group id="group3" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  319. <line id="line204" class="line_3" style="x1:0px; y1:733px; x2:1005px; y2:733px; "/>
  320. <datagrid id="grd_dutscheapplist" nodeset="/root/main/dutscheapp/dutscheapplist" caption="근무코드^신청일^신청기간^신청기간^일수^신청사유^복무비용^비용지급일자^부서장&#xA;입력여부^부서장승인^인사팀승인^지출결의확인^기관코드^사번^근무지부서^밤근무월제한일수|근무코드^신청일^시작일^종료일^일수^신청사유^복무비용^비용지급일자^부서장&#xA;입력여부^부서장승인^인사팀승인^지출결의확인^기관코드^사번^근무지부서^밤근무월제한일수" colsep="^" colwidth="100, 100, 120, 120, 90, 432, 0, 0, 0, 0, 0, 0, 0, 0, 0" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" style="left:0px; top:94px; width:1004px; height:262px; ">
  321. <col ref="dutcd" type="input" style="text-align:center; vertical-align:middle; "/>
  322. <col ref="srvarmappdd" type="inputdate" style="text-align:center; "/>
  323. <col ref="srvarmfromdd" type="inputdate" style="text-align:center; "/>
  324. <col ref="srvarmtodd" type="inputdate" style="text-align:center; "/>
  325. <col ref="srvarmdayno" style="text-align:center; vertical-align:middle; "/>
  326. <col ref="appresn" type="input"/>
  327. <col ref="srvarmcost" visibility="hidden"/>
  328. <col ref="srvarmcostpaydd" visibility="hidden"/>
  329. <col disabled="true" ref="deprtmangrinptyn" visibility="hidden" style="text-align:center; "/>
  330. <col ref="deprtmangraprvyn"/>
  331. <col ref="psnworkapryn" visibility="hidden"/>
  332. <col ref="expsaactrelcnfm" visibility="hidden"/>
  333. <col ref="instcd" visibility="hidden"/>
  334. <col ref="emplno" visibility="hidden"/>
  335. <col ref="dutplcedeptcd" visibility="hidden"/>
  336. <script type="javascript" ev:event="xforms-value-changed">
  337. <![CDATA[
  338. if(grd_dutscheapplist.col == grd_dutscheapplist.colRef("dutcd"))
  339. {
  340. var sDutCd = grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row, grd_dutscheapplist.colRef("dutcd"));
  341. var node = instance1.selectSingleNode("/root/main/dutcd/dutcdlist[dutcd='" + sDutCd.toUpperCase() + "']/dutcd");
  342. if(node == null)
  343. {
  344. messageBox("등록되지 않은 근무코드를 사용", "E001");
  345. grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row, grd_dutscheapplist.colRef("dutcd")) = "";
  346. return;
  347. }
  348. grd_dutscheapplist.valueMatrix(grd_dutscheapplist.row, grd_dutscheapplist.colRef("dutcd")) = sDutCd.toUpperCase();
  349. }
  350. fSetHoliLen();
  351. ]]>
  352. </script>
  353. </datagrid>
  354. <line id="line2" class="line_1" style="x1:0px; y1:89px; x2:1195px; y2:89px; "/>
  355. <group id="group4" style="left:0px; top:10px; width:1195px; height:55px; vertical-align:top; ">
  356. <shape id="roundrect2" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1195px; height:55px; background-color:#fffbf2; border-color:#ffd799; "/>
  357. <button id="btn_search" class="btn1_letter2" navindex="4" style="left:1125px; top:14px; width:56px; height:22px; text-align:left; ">
  358. <caption>조회</caption>
  359. <script type="javascript" ev:event="DOMActivate">
  360. <![CDATA[
  361. fRetrieve();
  362. ]]>
  363. </script>
  364. </button>
  365. <caption id="caption1" class="search_name" style="left:401px; top:31px; width:86px; height:17px; ">사원번호 :</caption>
  366. <button id="btn_emplno" class="icon_search" style="left:571px; top:32px; width:16px; height:16px; ">
  367. <caption/>
  368. <script type="javascript" ev:event="DOMActivate">
  369. <![CDATA[
  370. rpbfOpenPopUpList("SPRPB00101", ipt_emplno, "emplno,emplnm,dutunitcd,dutunitnm", "", "N");
  371. model.setValue("/root/send/dutcd/dutunitcd", model.getValue("/root/send/dutscheapp/dutunitcd"));
  372. model.setValue("/root/send/dutcd/dutunitnm", model.getValue("/root/send/dutscheapp/dutunitnm"));
  373. model.refresh();
  374. ]]>
  375. </script>
  376. </button>
  377. <input id="ipt_emplnm" ref="/root/send/dutscheapp/emplnm" class="input_search" disabled="true" navindex="3" style="left:591px; top:30px; width:150px; height:19px; ">
  378. <script type="javascript" ev:event="onkeypress">
  379. <![CDATA[
  380. if(event.keyCode == 13)
  381. {
  382. if(ipt_emplnm.value == ipt_emplnm.currentText) return;
  383. ipt_emplnm.value = ipt_emplnm.currentText;
  384. rpbfValidationCheck("EMPLNM", "emplno,emplnm,dutunitcd,dutunitnm");
  385. model.setValue("/root/send/dutcd/dutunitcd", model.getValue("/root/send/dutscheapp/dutunitcd"));
  386. model.setValue("/root/send/dutcd/dutunitnm", model.getValue("/root/send/dutscheapp/dutunitnm"));
  387. model.refresh();
  388. btn_search.dispatch("DOMActivate");
  389. }
  390. ]]>
  391. </script>
  392. <script type="javascript" ev:event="xforms-value-changed">
  393. <![CDATA[
  394. rpbfValidationCheck("EMPLNO", "emplno,emplnm,dutunitcd,dutunitnm");
  395. model.setValue("/root/send/dutcd/dutunitcd", model.getValue("/root/send/dutscheapp/dutunitcd"));
  396. model.setValue("/root/send/dutcd/dutunitnm", model.getValue("/root/send/dutscheapp/dutunitnm"));
  397. model.refresh();
  398. btn_search.dispatch("DOMActivate");
  399. ]]>
  400. </script>
  401. </input>
  402. <input id="ipt_emplno" ref="/root/send/dutscheapp/emplno" class="input_search" disabled="true" navindex="2" style="left:487px; top:30px; width:80px; height:19px; text-align:center; ">
  403. <script type="javascript" ev:event="onkeypress">
  404. <![CDATA[
  405. if(event.keyCode == 13)
  406. {
  407. if(ipt_emplno.value == ipt_emplno.currentText) return;
  408. ipt_emplno.value = ipt_emplno.currentText;
  409. rpbfValidationCheck("EMPLNO", "emplno,emplnm,dutunitcd,dutunitnm");
  410. model.setValue("/root/send/dutcd/dutunitcd", model.getValue("/root/send/dutscheapp/dutunitcd"));
  411. model.setValue("/root/send/dutcd/dutunitnm", model.getValue("/root/send/dutscheapp/dutunitnm"));
  412. model.refresh();
  413. btn_search.dispatch("DOMActivate");
  414. }
  415. ]]>
  416. </script>
  417. <script type="javascript" ev:event="xforms-value-changed">
  418. <![CDATA[
  419. rpbfValidationCheck("EMPLNO", "emplno,emplnm,dutunitcd,dutunitnm");
  420. model.setValue("/root/send/dutcd/dutunitcd", model.getValue("/root/send/dutscheapp/dutunitcd"));
  421. model.setValue("/root/send/dutcd/dutunitnm", model.getValue("/root/send/dutscheapp/dutunitnm"));
  422. model.refresh();
  423. btn_search.dispatch("DOMActivate");
  424. ]]>
  425. </script>
  426. </input>
  427. <select1 id="cmb_instcd" ref="/root/send/dutscheapp/instcd" class="combo_search" navindex="1" appearance="minimal" style="left:108px; top:7px; width:231px; height:19px; ">
  428. <choices>
  429. <itemset>
  430. <label/>
  431. <value/>
  432. </itemset>
  433. </choices>
  434. <script type="javascript" ev:event="xforms-value-changed">
  435. <![CDATA[
  436. model.setValue("/root/send/dutcd/instcd", model.getValue("/root/send/dutscheapp/instcd"));
  437. ]]>
  438. </script>
  439. </select1>
  440. <caption id="caption7" class="search_name" style="left:20px; top:8px; width:86px; height:17px; ">소속기관 :</caption>
  441. <select1 id="cmb_ymdflag" ref="/root/send/dutscheapp/ymdflag" class="combo_search" appearance="minimal" style="left:422px; top:7px; width:75px; height:19px; text-align:center; ">
  442. <choices>
  443. <item>
  444. <label>적용년월</label>
  445. <value>1</value>
  446. </item>
  447. <item>
  448. <label>신청년월</label>
  449. <value>2</value>
  450. </item>
  451. </choices>
  452. </select1>
  453. <input id="ipt_srvarmapfromdd" ref="/root/send/dutscheapp/srvarmapfromdd" class="input_s_essential" inputtype="date" format="yyyy-mm-dd" style="left:496px; top:7px; width:91px; height:19px; text-align:center; ">
  454. <script type="javascript" ev:event="xforms-value-changed">
  455. <![CDATA[
  456. var instcd = cmb_instcd.value;
  457. if( getStringLength(ipt_srvarmapfromdd.value) == "8" ) {
  458. model.removeNodeset(cmb_instcd.attribute("ref"));
  459. model.makeNode("/root/send/dutscheapp/instcd");
  460. misfComboInstCdListMulti("cmb_instcd",ipt_srvarmapfromdd.value,"","N");
  461. cmb_instcd.value = instcd;
  462. model.refresh();
  463. }
  464. ]]>
  465. </script>
  466. </input>
  467. <input id="ipt_srvarmaptodd" ref="/root/send/dutscheapp/srvarmaptodd" class="input_s_essential" inputtype="date" format="yyyy-mm-dd" style="left:600px; top:7px; width:91px; height:19px; text-align:center; "/>
  468. <caption id="caption9" style="left:588px; top:11px; width:11px; height:15px; ">~</caption>
  469. <button id="btn_dutdept" class="icon_search" style="left:192px; top:32px; width:16px; height:16px; ">
  470. <caption/>
  471. <script type="javascript" ev:event="DOMActivate">
  472. <![CDATA[
  473. // misfOpenPopUpList("02", ipt_dutdeptcd, "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  474. misfOpenPopUpList("02", ipt_dutdeptcd,"","dutunitcd,dutunitnm", cmb_instcd.value + "," + ipt_srvarmaptodd.value, "instcd,basedd");
  475. model.setValue("/root/send/dutcd/dutunitcd", model.getValue("/root/send/dutscheapp/dutunitcd"));
  476. model.refresh();
  477. ]]>
  478. </script>
  479. </button>
  480. <input id="ipt_dutdeptnm" ref="/root/send/dutscheapp/dutunitnm" class="input_search" navindex="3" style="left:212px; top:30px; width:127px; height:19px; ">
  481. <script type="javascript" ev:event="xforms-value-changed">
  482. <![CDATA[
  483. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  484. model.setValue("/root/send/dutcd/dutunitcd", model.getValue("/root/send/dutscheapp/dutunitcd"));
  485. model.refresh();
  486. ]]>
  487. </script>
  488. <script type="javascript" ev:event="onkeypress">
  489. <![CDATA[
  490. if(event.keyCode == 13)
  491. {
  492. ipt_dutdeptnm.value = ipt_dutdeptnm.currentText;
  493. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  494. model.setValue("/root/send/dutcd/dutunitcd", model.getValue("/root/send/dutscheapp/dutunitcd"));
  495. model.refresh();
  496. }
  497. ]]>
  498. </script>
  499. </input>
  500. <caption id="caption2" class="search_name" style="left:20px; top:31px; width:87px; height:17px; ">관리부서 :</caption>
  501. <input id="ipt_dutdeptcd" ref="/root/send/dutscheapp/dutunitcd" class="input_search" navindex="2" maxlength="10" style="left:108px; top:30px; width:80px; height:19px; ">
  502. <script type="javascript" ev:event="xforms-value-changed">
  503. <![CDATA[
  504. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  505. model.setValue("/root/send/dutcd/dutunitcd", model.getValue("/root/send/dutscheapp/dutunitcd"));
  506. model.refresh();
  507. ]]>
  508. </script>
  509. <script type="javascript" ev:event="onkeypress">
  510. <![CDATA[
  511. if(event.keyCode == 13)
  512. {
  513. ipt_dutdeptcd.value = ipt_dutdeptcd.currentText;
  514. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  515. model.setValue("/root/send/dutcd/dutunitcd", model.getValue("/root/send/dutscheapp/dutunitcd"));
  516. model.refresh();
  517. }
  518. ]]>
  519. </script>
  520. </input>
  521. <select1 id="cmb_dutplce" ref="/root/send/dutscheapp/dutunitcd" class="combo_search" visibility="visible" appearance="minimal" style="left:108px; top:30px; width:231px; height:19px; ">
  522. <choices>
  523. <itemset>
  524. <label/>
  525. <value/>
  526. </itemset>
  527. </choices>
  528. <script type="javascript" ev:event="xforms-value-changed">
  529. <![CDATA[
  530. model.setValue("/root/send/dutcd/dutunitcd", model.getValue("/root/send/dutscheapp/dutunitcd"));
  531. btn_search.dispatch("DOMActivate");
  532. ]]>
  533. </script>
  534. </select1>
  535. <caption id="caption10" class="search_name" style="left:401px; top:9px; width:15px; height:17px; "/>
  536. </group>
  537. <caption id="caption8" class="tit_2" style="left:5px; top:74px; width:165px; height:13px; ">개인신청내역</caption>
  538. <button id="btn_grdadddutscheapplist" class="btn2_letter3" style="left:1019px; top:69px; width:53px; height:19px; ">
  539. <caption>행추가</caption>
  540. <script type="javascript" ev:event="DOMActivate">
  541. <![CDATA[
  542. fAddRow();
  543. ]]>
  544. </script>
  545. </button>
  546. <button id="btn_grddeldutscheapplist" class="btn2_letter3" style="left:1074px; top:69px; width:53px; height:19px; ">
  547. <caption>행삭제</caption>
  548. <script type="javascript" ev:event="DOMActivate">
  549. <![CDATA[
  550. fDelRow();
  551. ]]>
  552. </script>
  553. </button>
  554. <input id="input11" class="input_default" visibility="hidden" style="left:270px; top:712px; width:100px; height:19px; "/>
  555. <caption id="caption11" class="cell_1" visibility="hidden" style="left:186px; top:711px; width:82px; height:23px; vertical-align:middle; ">보휴</caption>
  556. <input id="input13" class="input_default" visibility="hidden" style="left:84px; top:712px; width:100px; height:19px; "/>
  557. <caption id="caption283" class="tit_2" visibility="hidden" style="left:5px; top:691px; width:118px; height:13px; ">휴가 보유 현황</caption>
  558. <caption id="caption3" class="cell_1" visibility="hidden" style="left:0px; top:711px; width:82px; height:23px; vertical-align:middle; ">년차</caption>
  559. <line id="line203" class="line_1" visibility="hidden" style="x1:0px; y1:706px; x2:1005px; y2:706px; "/>
  560. <datagrid id="grd_predutscheapplist" nodeset="/root/main/predutscheapp/predutscheapplist" caption="사원번호^성명^신청일^신청기간^신청기간^신청일수^근무코드^신청사유^부서장&#xA;승인여부^인사팀&#xA;승인여부^밤근무월제한일수|사원번호^성명^신청일^시작일^종료일^신청일수^근무코드^신청사유^부서장&#xA;승인여부^인사팀&#xA;승인여부^밤근무월제한일수" colsep="^" colwidth="80, 80, 97, 100, 100, 36, 60, 300, 54, 54" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:0px; top:386px; width:1004px; height:344px; ">
  561. <col ref="emplno"/>
  562. <col ref="name"/>
  563. <col disabled="true" ref="srvarmappdd" format="yyyy-mm-dd" style="text-align:center; "/>
  564. <col disabled="true" ref="srvarmfromdd" format="yyyy-mm-dd" style="text-align:center; "/>
  565. <col disabled="true" ref="srvarmtodd" format="yyyy-mm-dd" style="text-align:center; "/>
  566. <col ref="srvarmdayno" style="text-align:center; "/>
  567. <col ref="dutcd" style="text-align:center; "/>
  568. <col ref="appresn"/>
  569. <col ref="deprtmangraprvyn" style="text-align:center; "/>
  570. <col ref="psnworkapryn" style="text-align:center; "/>
  571. </datagrid>
  572. <line id="line1" class="line_1" style="x1:0px; y1:381px; x2:1005px; y2:381px; "/>
  573. <caption id="caption5" class="tit_2" style="left:5px; top:366px; width:95px; height:13px; ">기 신청내역</caption>
  574. <datagrid id="grd_dutcdlist" nodeset="/root/main/dutcd/dutcdlist" allowuserresize="true" caption="근무&#xA;코드^근무명^근무시간^Day인원^Evening인원^Night인원|근무&#xA;코드^근무명^근무시간^Day인원^Evening인원^Night인원" colsep="^" colwidth="42, 119, 100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:1010px; top:94px; width:185px; height:640px; ">
  575. <col ref="dutcd" style="font-size:8pt; text-align:left; "/>
  576. <col ref="dutnm" style="font-size:8pt; "/>
  577. <col ref="duttm" visibility="hidden"/>
  578. <col ref="daycnt" visibility="hidden"/>
  579. <col ref="eveningpsnno" visibility="hidden"/>
  580. <col ref="nigtpsnno" visibility="hidden"/>
  581. <script type="javascript" ev:event="ondblclick">
  582. <![CDATA[
  583. fSetDutCdAppList();
  584. ]]>
  585. </script>
  586. </datagrid>
  587. <line id="line4" class="line_1" style="x1:1007px; y1:93px; x2:1006px; y2:733px; "/>
  588. <button id="btn_saveexcel" class="btn2_letter4" style="left:1129px; top:69px; width:64px; height:19px; ">
  589. <caption>엑셀저장</caption>
  590. <script type="javascript" ev:event="DOMActivate">
  591. <![CDATA[
  592. var fileName = window.fileDialog ("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  593. if (fileName != "")
  594. {
  595. grd_dutscheapplist.saveExcel(fileName, "sheetname:savetype", true, true, "", "");
  596. }
  597. ]]>
  598. </script>
  599. </button>
  600. </group>
  601. <group id="group5" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  602. <button id="btn_save" class="btn4_letter2" style="left:1139px; top:3px; width:56px; height:22px; ">
  603. <caption>저장</caption>
  604. <script type="javascript" ev:event="DOMActivate">
  605. <![CDATA[
  606. fSave();
  607. ]]>
  608. </script>
  609. </button>
  610. <line id="line75" class="line_6" style="x1:0; y1:25; x2:1195; y2:25; "/>
  611. </group>
  612. </xhtml:body>
  613. </xhtml:html>