SMRPD04500_개인시간외신청인사팀승인.xrw 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>개인시간외신청인사팀승인</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <dutschepsnworkcnfm>
  11. <dutschepsnworkcnfmlist/>
  12. </dutschepsnworkcnfm>
  13. </main>
  14. <send>
  15. <dutschepsnworkcnfm>
  16. <instcd/>
  17. <srvarmapfromdd/>
  18. <srvarmaptodd/>
  19. <dutunitcd/>
  20. <dutunitnm/>
  21. <emplno/>
  22. <emplnm/>
  23. <deprtmangraprvyn>N</deprtmangraprvyn>
  24. <nursall/>
  25. </dutschepsnworkcnfm>
  26. <save>
  27. <dutschepsnworkcnfmlist/>
  28. </save>
  29. </send>
  30. <tempday>
  31. <dutinfo/>
  32. </tempday>
  33. <hidden>
  34. <check/>
  35. </hidden>
  36. </root>
  37. </instance>
  38. <script type="javascript" ev:event="xforms-ready">
  39. <![CDATA[
  40. misfGridInit(grd_dutschepsnworkcnfmlist);
  41. misfMsterDetailSet(grd_dutschepsnworkcnfmlist, null, "TRRPD04501" ,"Y");
  42. // misfComboComCdListMulti("Z0007","cmb_instcd");
  43. misfComboInstCdListMulti("cmb_instcd",getCurrentDate(),"","N");
  44. var dtLast = new Date(getCurrentDate().substr(0, 4), getCurrentDate().substr(4, 2), 0);
  45. var iLastDay = dtLast.getDate();
  46. submit("TRRPD10102", false);
  47. ipt_srvarmapfromdd.value = model.getValue("/root/tempday/dutinfo/dutlist/fromymd");
  48. ipt_srvarmaptodd.value = model.getValue("/root/tempday/dutinfo/dutlist/toymd");
  49. cmb_instcd.value = getUserInfo("dutplceinstcd");
  50. // if(getUserInfo("dutplceinstcd") != "001")
  51. // {
  52. // cmb_instcd.disabled = true;
  53. // }
  54. btn_search.disabled = !(checkAuth("R"));
  55. btn_save.disabled = !(checkAuth("X"));
  56. misfGetAndSetUserInfo();
  57. // 간호부일때는 간호부전체 체크박스를 풀수없도록 한다
  58. /*
  59. if ( DUT_DEPT_CD == "3040200000" ) {
  60. chk_nursall.value = 'Y'
  61. chk_nursall.disabled = true;
  62. btn_save.disabled = true;
  63. btn_grdadddutschepsnworkcnfmlist.disabled = true;
  64. btn_grddeldutschepsnworkcnfmlist.disabled = true;
  65. }
  66. */
  67. ]]>
  68. </script>
  69. <submission id="TXRPD04501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hiddeen/temp"/>
  70. <submission id="TRRPD04501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/dutschepsnworkcnfm" resultref="/root/main/dutschepsnworkcnfm"/>
  71. <submission id="TRRPD10102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams" resultref="/root/tempday/dutinfo"/>
  72. </model>
  73. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  74. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  75. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  76. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  77. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  78. <script type="javascript" src="../../../mis/dligclaznsmngtweb/js/RPD001.js"/>
  79. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  80. </xhtml:head>
  81. <xhtml:body pagewidth="1211" pageheight="784" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  82. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  83. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:230px; height:14px; ">개인시간외신청인사팀승인</caption>
  84. <caption id="caption4" class="patient_text_black" style="left:922px; top:0px; width:272px; "/>
  85. </group>
  86. <group id="group3" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  87. <group id="group4" style="left:0px; top:10px; width:1195px; height:60px; vertical-align:top; ">
  88. <shape id="roundrect2" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1195px; height:60px; background-color:#fffbf2; border-color:#ffd799; "/>
  89. <line id="line3" class="line_4" style="x1:1110px; y1:8px; x2:1110px; y2:51px; border-color:#ffe4bb; border-left-style:solid; "/>
  90. <button id="btn_search" class="btn1_letter2" navindex="4" style="left:1125px; top:19px; width:56px; height:22px; text-align:left; ">
  91. <caption>조회</caption>
  92. <script type="javascript" ev:event="DOMActivate">
  93. <![CDATA[
  94. misfMsterDetailRetrieve();
  95. ]]>
  96. </script>
  97. </button>
  98. <caption id="caption1" class="search_name" style="left:388px; top:35px; width:86px; height:17px; ">사원번호 :</caption>
  99. <input id="ipt_emplno" ref="/root/send/dutschepsnworkcnfm/emplno" class="input_search" navindex="2" style="left:473px; top:34px; width:95px; height:19px; text-align:center; ">
  100. <script type="javascript" ev:event="xforms-value-changed">
  101. <![CDATA[
  102. rpbfValidationCheck("EMPLNO", "emplno,emplnm,dutunitcd,dutunitnm");
  103. model.refresh();
  104. ]]>
  105. </script>
  106. <script type="javascript" ev:event="onkeypress">
  107. <![CDATA[
  108. if(event.keyCode == 13)
  109. {
  110. ipt_emplno.value = ipt_emplno.currentText;
  111. rpbfValidationCheck("EMPLNO", "emplno,emplnm,dutunitcd,dutunitnm");
  112. model.refresh();
  113. }
  114. ]]>
  115. </script>
  116. </input>
  117. <button id="btn_emplno" class="icon_search" style="left:572px; top:36px; width:16px; height:16px; ">
  118. <caption/>
  119. <script type="javascript" ev:event="DOMActivate">
  120. <![CDATA[
  121. rpbfOpenPopUpList("SPRPB00101", ipt_emplno, "emplno,emplnm,dutunitcd,dutunitnm", "", "N");
  122. model.refresh();
  123. ]]>
  124. </script>
  125. </button>
  126. <input id="ipt_emplnm" ref="/root/send/dutschepsnworkcnfm/emplnm" class="input_search" navindex="3" style="left:590px; top:34px; width:182px; height:19px; ">
  127. <script type="javascript" ev:event="xforms-value-changed">
  128. <![CDATA[
  129. rpbfValidationCheck("EMPLNM", "emplno,emplnm,dutunitcd,dutunitnm");
  130. model.refresh();
  131. ]]>
  132. </script>
  133. <script type="javascript" ev:event="onkeypress">
  134. <![CDATA[
  135. if(event.keyCode == 13)
  136. {
  137. ipt_emplnm.value = ipt_emplnm.currentText;
  138. rpbfValidationCheck("EMPLNM", "emplno,emplnm,dutunitcd,dutunitnm");
  139. model.refresh();
  140. }
  141. ]]>
  142. </script>
  143. </input>
  144. <caption id="caption2" class="search_name" style="left:388px; top:10px; width:86px; height:17px; ">적용년월 :</caption>
  145. <input id="ipt_srvarmapfromdd" ref="/root/send/dutschepsnworkcnfm/srvarmapfromdd" class="input_s_essential" inputtype="date" format="yyyy-mm-dd" style="left:473px; top:8px; width:120px; height:19px; text-align:center; ">
  146. <script type="javascript" ev:event="xforms-value-changed">
  147. <![CDATA[
  148. var instcd = cmb_instcd.value;
  149. if( getStringLength(ipt_srvarmapfromdd.value) == "6" ) {
  150. model.removeNodeset(cmb_instcd.attribute("ref"));
  151. model.makeNode("/root/send/dutschepsnworkcnfm/instcd");
  152. misfComboInstCdListMulti("cmb_instcd",ipt_srvarmapfromdd.value+"31","","N");
  153. cmb_instcd.value = instcd;
  154. model.refresh();
  155. }
  156. ]]>
  157. </script>
  158. </input>
  159. <input id="ipt_srvarmaptodd" ref="/root/send/dutschepsnworkcnfm/srvarmaptodd" class="input_s_essential" inputtype="date" format="yyyy-mm-dd" style="left:615px; top:8px; width:120px; height:19px; text-align:center; "/>
  160. <select1 id="cmb_instcd" ref="/root/send/dutschepsnworkcnfm/instcd" class="combo_s_essential" appearance="minimal" style="left:100px; top:8px; width:258px; height:19px; ">
  161. <choices>
  162. <itemset>
  163. <label/>
  164. <value/>
  165. </itemset>
  166. </choices>
  167. </select1>
  168. <caption id="caption5" class="search_name" style="left:15; top:10px; width:85px; height:17px; ">기 관 :</caption>
  169. <caption id="caption7" class="search_name" style="left:15; top:35px; width:86px; height:17px; ">근무부서 :</caption>
  170. <input id="ipt_dutdeptnm" ref="/root/send/dutschepsnworkcnfm/dutunitnm" class="input_search" navindex="3" style="left:208px; top:34px; width:150px; height:19px; ">
  171. <script type="javascript" ev:event="xforms-value-changed">
  172. <![CDATA[
  173. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  174. model.refresh();
  175. ]]>
  176. </script>
  177. <script type="javascript" ev:event="onkeypress">
  178. <![CDATA[
  179. if(event.keyCode == 13)
  180. {
  181. ipt_dutplcedeptnm.value = ipt_dutplcedeptnm.currentText;
  182. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  183. model.refresh();
  184. }
  185. ]]>
  186. </script>
  187. </input>
  188. <button id="btn_dutdeptcd" class="icon_search" style="left:188px; top:35px; width:16px; height:16px; ">
  189. <caption/>
  190. <script type="javascript" ev:event="DOMActivate">
  191. <![CDATA[
  192. misfOpenPopUpList("02", ipt_dutdeptcd, "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd");
  193. model.refresh();
  194. ]]>
  195. </script>
  196. </button>
  197. <input id="ipt_dutdeptcd" ref="/root/send/dutschepsnworkcnfm/dutunitcd" class="input_search" navindex="2" maxlength="10" style="left:100px; top:34px; width:85px; height:19px; text-align:center; ">
  198. <script type="javascript" ev:event="xforms-value-changed">
  199. <![CDATA[
  200. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd");
  201. model.refresh();
  202. ]]>
  203. </script>
  204. <script type="javascript" ev:event="onkeypress">
  205. <![CDATA[
  206. if(event.keyCode == 13)
  207. {
  208. ipt_dutplcedeptcd.value = ipt_dutplcedeptcd.currentText;
  209. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd");
  210. model.refresh();
  211. }
  212. ]]>
  213. </script>
  214. </input>
  215. <select1 id="rdo_deprtmangraprvyn" ref="/root/send/dutschepsnworkcnfm/deprtmangraprvyn" appearance="full" cols="3" overflow="visible" style="left:881px; top:10px; width:150px; height:19px; ">
  216. <choices>
  217. <item>
  218. <label>승인</label>
  219. <value>Y</value>
  220. </item>
  221. <item>
  222. <label>미승인</label>
  223. <value>N</value>
  224. </item>
  225. <item>
  226. <label>전체</label>
  227. <value>%</value>
  228. </item>
  229. </choices>
  230. </select1>
  231. <caption id="caption8" style="left:598px; top:11px; width:14px; height:14px; font-weight:bold; ">~</caption>
  232. <caption id="caption9" class="search_name" style="left:796px; top:10px; width:86px; height:17px; ">승인여부 :</caption>
  233. <select id="chk_nursall" ref="/root/send/dutschepsnworkcnfm/nursall" visibility="hidden" overflow="visible" appearance="full" style="left:795px; top:34px; width:85px; height:20px; border-style:none; ">
  234. <choices>
  235. <item>
  236. <label>간호부전체</label>
  237. <value>Y</value>
  238. </item>
  239. </choices>
  240. </select>
  241. </group>
  242. <button id="btn_grdadddutschepsnworkcnfmlist" class="btn2_letter3" visibility="hidden" style="left:1019px; top:74px; width:53px; height:19px; ">
  243. <caption>행추가</caption>
  244. <script type="javascript" ev:event="DOMActivate">
  245. <![CDATA[
  246. misfGridIUD(grd_dutschepsnworkcnfmlist, "A");
  247. ]]>
  248. </script>
  249. </button>
  250. <button id="btn_grddeldutschepsnworkcnfmlist" class="btn2_letter3" style="left:1073px; top:74px; width:53px; height:19px; ">
  251. <caption>행제거</caption>
  252. <script type="javascript" ev:event="DOMActivate">
  253. <![CDATA[
  254. misfGridIUD(grd_dutschepsnworkcnfmlist, "D");
  255. ]]>
  256. </script>
  257. </button>
  258. <datagrid id="grd_dutschepsnworkcnfmlist" nodeset="/root/main/dutschepsnworkcnfm/dutschepsnworkcnfmlist" class="datagrid2" caption="기관^부서명^사원번호^성명^근무코드^기간^기간^근무시간^부서장승인^ 인사팀^신청사유^caption1^caption2^밤근무월제한일수" colsep="^" colwidth="100, 100, 73, 80, 85, 122, 121, 75, 70, 79, 317, 100, 100" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" style="left:0px; top:99px; width:1195px; height:635px; ">
  259. <col ref="instcd" visibility="visible"/>
  260. <col ref="dutplcedeptnm"/>
  261. <col ref="emplno"/>
  262. <col ref="emplnm"/>
  263. <col ref="dutcd" type="combo">
  264. <choices>
  265. <item>
  266. <label>시간외</label>
  267. <value>01</value>
  268. </item>
  269. <item>
  270. <label>야간</label>
  271. <value>02</value>
  272. </item>
  273. <item>
  274. <label>휴일</label>
  275. <value>03</value>
  276. </item>
  277. <item>
  278. <label>CALL</label>
  279. <value>04</value>
  280. </item>
  281. <item>
  282. <label>심야야간</label>
  283. <value>05</value>
  284. </item>
  285. </choices>
  286. </col>
  287. <col ref="appfrom" type="input" format="yyyy-mm-dd hh:mm" style="text-align:center; "/>
  288. <col ref="appto" type="input" format="yyyy-mm-dd hh:mm" style="text-align:center; "/>
  289. <col ref="apptm" type="output" format="###.0" style="text-align:center; "/>
  290. <col checkvalue="Y,N" disabled="true" ref="deprtmangraprvyn" type="checkbox"/>
  291. <col checkvalue="Y,N" ref="psnworkapryn" type="checkbox"/>
  292. <col ref="appresn" type="output"/>
  293. <col ref="oldappfrom" visibility="hidden"/>
  294. <col ref="olddutcd" visibility="hidden"/>
  295. <script type="javascript" ev:event="onclick">
  296. <![CDATA[
  297. if(grd_dutschepsnworkcnfmlist.row >= grd_dutschepsnworkcnfmlist.fixedRows)
  298. {
  299. //model.setValue("/root/send/dutschepsnworkcnfm/emplno", grd_dutschepsnworkcnfmlist.valueMatrix(grd_dutschepsnworkcnfmlist.row, grd_dutschepsnworkcnfmlist.colRef("emplno")));
  300. //model.setValue("/root/send/dutschepsnworkcnfm/emplnm", grd_dutschepsnworkcnfmlist.valueMatrix(grd_dutschepsnworkcnfmlist.row, grd_dutschepsnworkcnfmlist.colRef("emplnm")));
  301. model.refresh();
  302. }
  303. if(grd_dutschepsnworkcnfmlist.isCell(event.focus) > 0)
  304. {
  305. if(grd_dutschepsnworkcnfmlist.row <= grd_dutschepsnworkcnfmlist.fixedRows && grd_dutschepsnworkcnfmlist.mouseCol == grd_dutschepsnworkcnfmlist.colRef("psnworkapryn"))
  306. {
  307. for(var i = 2; i < grd_dutschepsnworkcnfmlist.rows; i++)
  308. {
  309. grd_dutschepsnworkcnfmlist.addStatus(i, "update");
  310. }
  311. }
  312. }
  313. ]]>
  314. </script>
  315. <script type="javascript" ev:event="onaftersort">
  316. <![CDATA[
  317. grd_dutschepsnworkcnfmlist.gridToInstance();
  318. ]]>
  319. </script>
  320. </datagrid>
  321. <line id="line1" class="line_1" style="x1:0px; y1:94px; x2:1195px; y2:94px; "/>
  322. <caption id="caption3" class="tit_2" style="left:5px; top:79px; width:100px; height:13px; ">개인신청현황</caption>
  323. <bool id="bool1" ref="/root/hidden/check" style="left:854px; top:106px; width:15px; height:20px; ">
  324. <script type="javascript" ev:event="xforms-value-changed">
  325. <![CDATA[
  326. if(model.getValue("/root/hidden/check") == "true")
  327. {
  328. for(var i=grd_dutschepsnworkcnfmlist.fixedRows; i<grd_dutschepsnworkcnfmlist.rows; i++)
  329. {
  330. if(grd_dutschepsnworkcnfmlist.valueMatrix(i, grd_dutschepsnworkcnfmlist.colRef("psnworkapryn")) == "N")
  331. {
  332. grd_dutschepsnworkcnfmlist.valueMatrix(i, grd_dutschepsnworkcnfmlist.colRef("psnworkapryn")) = "Y";
  333. grd_dutschepsnworkcnfmlist.addStatus(i, "update");
  334. }
  335. }
  336. }
  337. else
  338. {
  339. for(var i=grd_dutschepsnworkcnfmlist.fixedRows; i<grd_dutschepsnworkcnfmlist.rows; i++)
  340. {
  341. if(grd_dutschepsnworkcnfmlist.valueMatrix(i, grd_dutschepsnworkcnfmlist.colRef("psnworkapryn")) == "Y")
  342. {
  343. grd_dutschepsnworkcnfmlist.valueMatrix(i, grd_dutschepsnworkcnfmlist.colRef("psnworkapryn")) = "N";
  344. grd_dutschepsnworkcnfmlist.addStatus(i, "update");
  345. }
  346. }
  347. }
  348. model.refresh();
  349. ]]>
  350. </script>
  351. </bool>
  352. <button id="btn_excel" class="btn2_letter4" style="left:1129px; top:74px; width:64px; height:19px; ">
  353. <caption>엑셀저장</caption>
  354. <script type="javascript" ev:event="DOMActivate">
  355. <![CDATA[
  356. misfSaveExcel(grd_dutschepsnworkcnfmlist);
  357. ]]>
  358. </script>
  359. </button>
  360. <datagrid id="grd_excelsave" nodeset="/root/main/dutschepsnworkcnfm/dutschepsnworkcnfmlist" visibility="hidden" caption="부서명^사원번호^성명^근무코드^신청일^신청기간^신청기간^신청일수^부서장승인^승인^신청사유^밤근무월제한일수|부서명^사원번호^성명^근무코드^신청일^From^To^신청일수^부서장승인^승인^신청사유^밤근무월제한일수" colsep="^" colwidth="100, 84, 80, 65, 100, 100, 100, 58, 45, 45, 270" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" style="left:20px; top:200px; width:1075px; height:301px; ">
  361. <col ref="dutplcedeptnm"/>
  362. <col ref="emplno"/>
  363. <col ref="emplnm"/>
  364. <col ref="dutcd"/>
  365. <col disabled="true" ref="srvarmappdd" type="inputdate"/>
  366. <col disabled="true" ref="srvarmfromdd" type="inputdate"/>
  367. <col disabled="true" ref="srvarmtodd" type="inputdate"/>
  368. <col ref="srvarmdayno"/>
  369. <col checkvalue="Y,N" disabled="true" ref="deprtmangraprvyn" type="checkbox"/>
  370. <col checkvalue="Y,N" ref="psnworkapryn" type="checkbox"/>
  371. <col type="output"/>
  372. </datagrid>
  373. </group>
  374. <group id="group5" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  375. <button id="btn_save" class="btn4_letter2" style="left:1139px; top:3px; width:56px; height:22px; ">
  376. <caption>저장</caption>
  377. <script type="javascript" ev:event="DOMActivate">
  378. <![CDATA[
  379. if (misfSave("TXRPD04501")){
  380. btn_search.dispatch("DOMActivate");
  381. }
  382. ]]>
  383. </script>
  384. </button>
  385. <line id="line75" class="line_6" style="x1:0; y1:25; x2:1195; y2:25; "/>
  386. </group>
  387. </xhtml:body>
  388. </xhtml:html>