SMRPD01800_특근신청인사팀승인.xrw 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611
  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>특근신청인사팀승인</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <deptlist>
  11. <dutdeptlist>
  12. </dutdeptlist>
  13. </deptlist>
  14. <list>
  15. <ovtmworkapplist/>
  16. <ovtmworkalldeptapplist/>
  17. </list>
  18. </main>
  19. <send>
  20. <instcd/>
  21. <dutym/>
  22. <emplno_s/>
  23. <emplnm_s/>
  24. <appfrdd/>
  25. <apptodd/>
  26. <dutplcedeptcd/>
  27. <instnm/>
  28. <instcd/>
  29. <dutplceinstnm/>
  30. <dutplceinstcd/>
  31. <deptcd/>
  32. <deptnm/>
  33. <dutdeptcd/>
  34. <dutdeptnm/>
  35. <dutym_s/>
  36. <dutym_e/>
  37. <dutym_ss/>
  38. <dutym_ee/>
  39. <deducord>
  40. <instcd/>
  41. <dutym_s/>
  42. <dutym_e/>
  43. <dutplcedeptcd/>
  44. <emplno/>
  45. <emplnm/>
  46. <dutplcedeptnm/>
  47. <psnworkapryn/>
  48. <retrflag>psnwork</retrflag>
  49. </deducord>
  50. <savelist>
  51. <ovtmworkapplist/>
  52. </savelist>
  53. <dutdeptnm_s/>
  54. <popworkgbn/>
  55. <psnworkapryn_s>N</psnworkapryn_s>
  56. <emplno/>
  57. <emplnm/>
  58. <dutunitcd/>
  59. <dutunitnm/>
  60. </send>
  61. <init>
  62. <combo1>
  63. <label>Y</label>
  64. <value>Y</value>
  65. <label>N</label>
  66. <value>N</value>
  67. </combo1>
  68. <radio1>
  69. <label>승인</label>
  70. <value>Y</value>
  71. <label>미승인</label>
  72. <value>N</value>
  73. <label>전체</label>
  74. <value>%</value>
  75. </radio1>
  76. </init>
  77. <tempday>
  78. <dutinfo/>
  79. </tempday>
  80. </root>
  81. </instance>
  82. <submission id="TRRPD00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/deducord" resultref="/root/main/list"/>
  83. <submission id="TXRPD00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savelist" resultref="root/temp/douchecklist"/>
  84. <submission id="TRRPD00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/daylist"/>
  85. <submission id="TRRPD00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/deptlist"/>
  86. <submission id="TRRPD10102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams" resultref="/root/tempday/dutinfo"/>
  87. </model>
  88. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  89. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  90. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  91. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  92. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  93. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  94. <script type="javascript" src="../../../mis/dligclaznsmngtweb/js/RPD001.js"/>
  95. <script type="javascript" src="../../../mis/pubwelfmngtweb/js/RPS001.js"/>
  96. <script type="javascript" ev:event="xforms-ready">
  97. <![CDATA[
  98. fInitialize();
  99. ]]>
  100. </script>
  101. <script type="javascript">
  102. <![CDATA[
  103. var DUT_UNIT_CD = "";
  104. var DUT_UNIT_NM = "";
  105. var PSNWORK_ALL_CHECK_YN = false;
  106. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  107. function fInitialize()
  108. {
  109. model.removenode("/root/main/ovtmworkapplist");
  110. model.removenode("/root/main/deducord/dutdeptlist");
  111. model.resetInstanceNode("/root/send");
  112. misfGridInit(grd_ovtmworkapplist);
  113. misfMsterDetailSet(grd_dutdeptlist, null, "TRRPD00104", "N");
  114. fmisfMsterDetailSet(grd_ovtmworkapplist, grd_dutdeptlist, "TRRPD00101", "Y");
  115. // misfComboComCdListMulti("Z0007","cmb_instcd");
  116. misfComboInstCdListMulti("cmb_instcd",ipt_appfromdd.value,"","N");
  117. misfGetAndSetUserInfo();
  118. if(getUserInfo("dutplceinstcd") == "001" && DUT_UNIT_CD == "4020500000") {
  119. cmb_instcd.disabled = false;
  120. }
  121. else {
  122. cmb_instcd.disabled = true;
  123. }
  124. fSetDate();
  125. model.setValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  126. model.setValue("/root/send/popworkgbn", "SMRPD01800");
  127. model.setValue("/root/send/dutym_s", model.getValue("/root/send/dutym_ss"));
  128. model.setValue("/root/send/dutym_e", model.getValue("/root/send/dutym_ee"));
  129. rdo_psnworkapryn.value = "N";
  130. grd_dutdeptlist.rowHeight(0) = 33;
  131. grd_ovtmworkapplist.rowHeight(0) = 20;
  132. grd_ovtmworkapplist.rowHeight(1) = 20;
  133. grd_ovtmworkapplist.rowHeight(2) = 20;
  134. //화면 권한 설정
  135. btn_save.disabled = !(checkAuth("X"));
  136. btn_search.dispatch("DOMActivate");
  137. model.refresh();
  138. }
  139. function fSetDate() {
  140. var dt = new Date(getCurrentDate().substr(0, 4), getCurrentDate().substr(4, 2), 0);
  141. var iLastDay = dt.getDate();
  142. submit("TRRPD10102", false);
  143. model.setValue("/root/send/dutym_ss", model.getValue("/root/tempday/dutinfo/dutlist/fromymd"));
  144. model.setValue("/root/send/dutym_ee", model.getValue("/root/tempday/dutinfo/dutlist/toymd"));
  145. //model.setValue("/root/send/dutym_ss", getCurrentDate().substr(0, 6) + "01");
  146. //model.setValue("/root/send/dutym_ee", getCurrentDate().substr(0, 6) + iLastDay.toString());
  147. }
  148. function fGetSetOvtmDept() {
  149. submit("TRRPD00104");
  150. for(var i=1; i<grd_dutdeptlist.rows; i++) {
  151. if(grd_dutdeptlist.valueMatrix(i, grd_dutdeptlist.colRef("psnworkapryn")) == "Y") {
  152. grd_dutdeptlist.cellStyle("color", i, grd_dutdeptlist.colRef("psnworkapryn")) = "#FF0000";
  153. }
  154. else {
  155. grd_dutdeptlist.cellStyle("color", i, grd_dutdeptlist.colRef("psnworkapryn")) = "#000000";
  156. }
  157. }
  158. }
  159. ]]>
  160. </script>
  161. </xhtml:head>
  162. <xhtml:body pagewidth="1211" pageheight="784" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  163. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  164. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">특근신청인사팀승인</caption>
  165. </group>
  166. <group id="group2" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  167. <line id="line1" class="line_1" style="x1:125px; y1:89px; x2:1195px; y2:89px; "/>
  168. <group id="group4" style="left:0px; top:10px; width:1195px; height:55px; vertical-align:top; ">
  169. <shape id="roundrect2" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1195px; height:55px; "/>
  170. <button id="btn_search" class="btn1_letter2" navindex="4" style="left:1128px; top:15px; width:56px; height:22px; text-align:left; ">
  171. <caption>조회</caption>
  172. <script type="javascript" ev:event="DOMActivate">
  173. <![CDATA[
  174. if(ipt_dutym_s.value == "" || ipt_dutym_e.value == "") {
  175. messageBox("근무월은","I003");
  176. return;
  177. }
  178. model.setValue("/root/send/deducord/psnworkapryn", model.getValue("/root/send/psnworkapryn_s"));
  179. model.setValue("/root/send/deducord/instcd", model.getValue("/root/send/instcd"));
  180. model.setValue("/root/send/deducord/retrflag", "psnwork");
  181. model.setValue("/root/send/deducord/emplno", ipt_emplno.value);
  182. fGetSetOvtmDept();
  183. model.removeNodeset("/root/main/list");
  184. if(grd_dutdeptlist.rows > 1) {
  185. grd_dutdeptlist.select(1, grd_dutdeptlist.colRef("dutplcedeptnm")) = true;
  186. grd_dutdeptlist.row = 1;
  187. grd_dutdeptlist.dispatch("onrowchanged");
  188. }
  189. PSNWORK_ALL_CHECK_YN = false;
  190. model.refresh();
  191. ]]>
  192. </script>
  193. </button>
  194. <caption id="caption3" style="left:533px; top:7px; width:25px; height:20px; font-weight:bold; text-align:center; vertical-align:middle; ">~</caption>
  195. <input id="ipt_appfromdd" ref="/root/send/dutym_ss" class="input_s_essential" inputtype="date" style="left:433px; top:6px; width:100px; height:19px; ">
  196. <script type="javascript" ev:event="xforms-value-changed">
  197. <![CDATA[
  198. var instcd = cmb_instcd.value;
  199. if( getStringLength(ipt_appfromdd.value) == "8" ) {
  200. model.removeNodeset(cmb_instcd.attribute("ref"));
  201. model.makeNode("/root/send/instcd");
  202. misfComboInstCdListMulti("cmb_instcd",ipt_appfromdd.value,"","Y");
  203. cmb_instcd.value = instcd;
  204. model.refresh();
  205. }
  206. ipt_dutym_s.value = ipt_appfromdd.value;
  207. ]]>
  208. </script>
  209. </input>
  210. <input id="ipt_apptodd" ref="/root/send/dutym_ee" class="input_s_essential" inputtype="date" style="left:552px; top:6px; width:100px; height:19px; ">
  211. <script type="javascript" ev:event="xforms-value-changed">
  212. <![CDATA[
  213. var instcd = cmb_instcd.value;
  214. if( getStringLength(ipt_appfromdd.value) == "8" ) {
  215. model.removeNodeset(cmb_instcd.attribute("ref"));
  216. model.makeNode("/root/send/instcd");
  217. misfComboInstCdListMulti("cmb_instcd",ipt_appfromdd.value,"","Y");
  218. cmb_instcd.value = instcd;
  219. model.refresh();
  220. }
  221. ipt_dutym_e.value = ipt_apptodd.value;
  222. btn_search.dispatch("DOMActivate");
  223. ]]>
  224. </script>
  225. </input>
  226. <caption id="caption4" class="search_name" style="left:345px; top:7px; width:86px; height:17px; ">신청기간 :</caption>
  227. <button id="btn_dutdept" class="icon_search" style="left:184px; top:32px; width:16px; height:16px; ">
  228. <caption/>
  229. <script type="javascript" ev:event="DOMActivate">
  230. <![CDATA[
  231. // misfOpenPopUpList("02", ipt_dutdeptcd, "", "dutplcedeptcd,dutdeptnm_s", cmb_instcd.value, "instcd" );
  232. misfOpenPopUpList("02", ipt_dutdeptcd,"","dutplcedeptcd,dutdeptnm_s", cmb_instcd.value + "," + ipt_apptodd.value, "instcd,basedd");
  233. model.refresh();
  234. ]]>
  235. </script>
  236. </button>
  237. <input id="ipt_dutdeptnm" ref="/root/send/dutdeptnm_s" class="input_search" navindex="3" style="left:202px; top:30px; width:114px; height:19px; ">
  238. <script type="javascript" ev:event="onkeypress">
  239. <![CDATA[
  240. if(event.keyCode == 13) {
  241. if(ipt_dutdeptnm.value == ipt_dutdeptnm.currentText) return;
  242. ipt_dutdeptnm.value = ipt_dutdeptnm.currentText;
  243. misfValidationCheck("02", "", "dutplcedeptcd,dutdeptnm_s", cmb_instcd.value, "instcd" );
  244. model.refresh();
  245. }
  246. ]]>
  247. </script>
  248. <script type="javascript" ev:event="xforms-value-changed">
  249. <![CDATA[
  250. misfValidationCheck("02", "", "dutplcedeptcd,dutdeptnm_s", cmb_instcd.value, "instcd" );
  251. model.refresh();
  252. ]]>
  253. </script>
  254. </input>
  255. <input id="ipt_dutdeptcd" ref="/root/send/dutplcedeptcd" class="input_search" navindex="2" maxlength="10" style="left:101px; top:30px; width:80px; height:19px; text-align:center; ">
  256. <script type="javascript" ev:event="onkeypress">
  257. <![CDATA[
  258. if(event.keyCode == 13) {
  259. if(ipt_dutdeptcd.value == ipt_dutdeptcd.currentText) return;
  260. ipt_dutdeptcd.value = ipt_dutdeptcd.currentText;
  261. misfValidationCheck("02", "", "dutplcedeptcd,dutdeptnm_s", cmb_instcd.value, "instcd" );
  262. model.refresh();
  263. }
  264. ]]>
  265. </script>
  266. <script type="javascript" ev:event="xforms-value-changed">
  267. <![CDATA[
  268. misfValidationCheck("02", "", "dutplcedeptcd,dutdeptnm_s", cmb_instcd.value, "instcd" );
  269. model.refresh();
  270. ]]>
  271. </script>
  272. </input>
  273. <caption id="caption1" class="search_name" style="left:13px; top:31px; width:86px; height:17px; ">근무부서 :</caption>
  274. <caption id="caption5" class="search_name" style="left:345px; top:31px; width:86px; height:17px; ">사원번호 :</caption>
  275. <input id="ipt_emplno" ref="/root/send/emplno_s" class="input_search" navindex="4" maxlength="8" style="left:433px; top:30px; width:77px; height:19px; text-align:center; ">
  276. <script type="javascript" ev:event="onkeypress">
  277. <![CDATA[
  278. if(event.keyCode == 13) {
  279. if(ipt_emplno.value == ipt_emplno.currentText) return;
  280. ipt_emplno.value = ipt_emplno.currentText;
  281. rpbfValidationCheck("EMPLNO", "emplno,emplnm,dutunitcd,dutunitnm");
  282. model.setValue("/root/send/emplno_s" , model.getValue("/root/send/emplno"));
  283. model.setValue("/root/send/emplnm_s", model.getValue("/root/send/emplnm"));
  284. model.setValue("/root/send/dutplcedeptcd", model.getValue("/root/send/dutunitcd"));
  285. model.setValue("/root/send/dutdeptnm_s", model.getValue("/root/send/dutunitnm"));
  286. model.refresh();
  287. }
  288. ]]>
  289. </script>
  290. <script type="javascript" ev:event="xforms-value-changed">
  291. <![CDATA[
  292. rpbfValidationCheck("EMPLNO", "emplno,emplnm,dutunitcd,dutunitnm");
  293. model.setValue("/root/send/emplno_s" , model.getValue("/root/send/emplno"));
  294. model.setValue("/root/send/emplnm_s", model.getValue("/root/send/emplnm"));
  295. model.setValue("/root/send/dutplcedeptcd", model.getValue("/root/send/dutunitcd"));
  296. model.setValue("/root/send/dutdeptnm_s", model.getValue("/root/send/dutunitnm"));
  297. model.refresh();
  298. ]]>
  299. </script>
  300. </input>
  301. <input id="ipt_emplnm" ref="/root/send/emplnm_s" class="input_search" navindex="5" style="left:533px; top:30px; width:162px; height:19px; ">
  302. <script type="javascript" ev:event="onkeypress">
  303. <![CDATA[
  304. if(event.keyCode == 13) {
  305. if(ipt_emplnm.value == ipt_emplnm.currentText) return;
  306. ipt_emplnm.value = ipt_emplnm.currentText;
  307. rpbfValidationCheck("EMPLNM", "emplno,emplnm,dutunitcd,dutunitnm");
  308. model.setValue("/root/send/emplno_s" , model.getValue("/root/send/emplno"));
  309. model.setValue("/root/send/emplnm_s", model.getValue("/root/send/emplnm"));
  310. model.setValue("/root/send/dutplcedeptcd", model.getValue("/root/send/dutunitcd"));
  311. model.setValue("/root/send/dutdeptnm_s", model.getValue("/root/send/dutunitnm"));
  312. model.refresh();
  313. }
  314. ]]>
  315. </script>
  316. <script type="javascript" ev:event="xforms-value-changed">
  317. <![CDATA[
  318. rpbfValidationCheck("EMPLNM", "emplno,emplnm,dutunitcd,dutunitnm");
  319. model.setValue("/root/send/emplno_s" , model.getValue("/root/send/emplno"));
  320. model.setValue("/root/send/emplnm_s", model.getValue("/root/send/emplnm"));
  321. model.setValue("/root/send/dutplcedeptcd", model.getValue("/root/send/dutunitcd"));
  322. model.setValue("/root/send/dutdeptnm_s", model.getValue("/root/send/dutunitnm"));
  323. model.refresh();
  324. ]]>
  325. </script>
  326. </input>
  327. <button id="btn_emplhelp" class="icon_search" style="left:514px; top:32px; width:16px; height:16px; ">
  328. <script type="javascript" ev:event="DOMActivate">
  329. <![CDATA[
  330. rpbfOpenPopUpList("SPRPB00101", ipt_emplno, "emplno,emplnm,dutunitcd,dutunitnm", "", "N");
  331. model.setValue("/root/send/emplno_s" , model.getValue("/root/send/emplno"));
  332. model.setValue("/root/send/emplnm_s", model.getValue("/root/send/emplnm"));
  333. model.setValue("/root/send/dutplcedeptcd", model.getValue("/root/send/dutunitcd"));
  334. model.setValue("/root/send/dutdeptnm_s", model.getValue("/root/send/dutunitnm"));
  335. model.refresh();
  336. ]]>
  337. </script>
  338. <caption/>
  339. </button>
  340. <line id="line3" class="line_4" style="x1:1115px; y1:7px; x2:1115px; y2:49px; border-color:#ffe4bb; border-left-style:solid; "/>
  341. <caption id="caption7" class="search_name" style="left:723px; top:7px; width:86px; height:17px; ">승인여부 :</caption>
  342. <select1 id="rdo_psnworkapryn" ref="/root/send/psnworkapryn_s" overflow="visible" appearance="full" cols="3" style="left:810px; top:7px; width:150px; height:14px; border-style:none; ">
  343. <choices>
  344. <item>
  345. <label>승인</label>
  346. <value>Y</value>
  347. </item>
  348. <item>
  349. <label>미승인</label>
  350. <value>N</value>
  351. </item>
  352. <item>
  353. <label>전체</label>
  354. <value/>
  355. </item>
  356. </choices>
  357. <script type="javascript" ev:event="xforms-value-changed">
  358. <![CDATA[
  359. model.setValue("/root/send/deducord/psnworkapryn", model.getValue("/root/send/psnworkapryn_s"));
  360. model.setValue("/root/send/deducord/instcd", model.getValue("/root/send/instcd"));
  361. fGetSetOvtmDept();
  362. ]]>
  363. </script>
  364. </select1>
  365. <select1 id="cmb_instcd" ref="/root/send/instcd" class="combo_search" navindex="1" appearance="minimal" style="left:101px; top:6px; width:214px; height:19px; ">
  366. <choices>
  367. <itemset>
  368. <label/>
  369. <value/>
  370. </itemset>
  371. </choices>
  372. </select1>
  373. <caption id="caption8" class="search_name" style="left:13px; top:7px; width:86px; height:17px; ">소속기관 :</caption>
  374. </group>
  375. <caption id="caption9" class="tit_2" style="left:187px; top:74px; width:170px; height:13px; ">특근신청내역</caption>
  376. <datagrid id="grd_dutdeptlist" nodeset="/root/main/deptlist/dutdeptlist" caption="부서^부서명^승인여부^기관코드^^^^^급여반영" colsep="^" colwidth="0, 130, 30, 0, 0, 0, 0, 0, 30" dataheight="25" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:0px; top:94px; width:205px; height:640px; ">
  377. <col ref="dutplcedeptcd" visibility="hidden" _key="true"/>
  378. <col ref="dutplcedeptnm"/>
  379. <col ref="psnworkapryn" style="text-align:center; "/>
  380. <col ref="dutplceinstcd" visibility="hidden"/>
  381. <col ref="dutym_s" visibility="hidden"/>
  382. <col ref="dutym_e" visibility="hidden"/>
  383. <col ref="emplno" visibility="hidden"/>
  384. <col ref="emplnm" visibility="hidden"/>
  385. <col ref="mmextndutsumyn" visibility="hidden" style="text-align:center; "/>
  386. <script type="javascript" ev:event="onrowchanged">
  387. <![CDATA[
  388. var cur_row = grd_dutdeptlist.row;
  389. var mmextndutsumyn = model.getValue(grd_dutdeptlist.attribute("nodeset") + "[" + cur_row + "]/mmextndutsumyn");
  390. if(mmextndutsumyn == 'Y') {
  391. btn_save.disabled = true;
  392. }
  393. else {
  394. btn_save.disabled = false;
  395. }
  396. var psnworkapryn = model.getValue("/root/send/psnworkapryn_s");
  397. model.makeValue("/root/send/deducord/psnworkapryn", psnworkapryn);
  398. model.setValue("/root/send/deducord/dutym_s", grd_dutdeptlist.valueMatrix(grd_dutdeptlist.row, grd_dutdeptlist.colRef("dutym_s")));
  399. model.setValue("/root/send/deducord/dutym_e", grd_dutdeptlist.valueMatrix(grd_dutdeptlist.row, grd_dutdeptlist.colRef("dutym_e")));
  400. model.setValue("/root/send/deducord/dutplcedeptcd", grd_dutdeptlist.valueMatrix(grd_dutdeptlist.row, grd_dutdeptlist.colRef("dutplcedeptcd")));
  401. model.setValue("/root/send/deducord/psnworkapryn", grd_dutdeptlist.valueMatrix(grd_dutdeptlist.row, grd_dutdeptlist.colRef("psnworkapryn")));
  402. submit("TRRPD00101");
  403. PSNWORK_ALL_CHECK_YN = false;
  404. model.dispatch("onmouseup");
  405. ]]>
  406. </script>
  407. </datagrid>
  408. <line id="line207" class="line_1" style="x1:0px; y1:89px; x2:126px; y2:89px; "/>
  409. <caption id="caption2" class="tit_2" style="left:5px; top:74px; width:105px; height:8px; ">신청부서</caption>
  410. <multilinegrid id="grd_ovtmworkapplist" nodeset="/root/main/list/ovtmworkapplist" caption="사원번호^성명^조출여부^신청일시^신청일시^신청일시^신청일시^조정&#xA;시간&#xA;(분)^휴일^야간^연장^연장^연장^조출150^조정일시^조정일시^조정일시^조정일시^조정&#xA;시간&#xA;(분)^부서장&#xA;승인여부^부서장&#xA;조정여부^인사팀&#xA;확정여부^caption1|사원번호^성명^조출여부^From일시^From일시^To일시^To일시^조정&#xA;시간&#xA;(분)^휴일^야간^연장^연장^연장^조출150^From일시^From일시^To일시^To일시^조정&#xA;시간&#xA;(분)^부서장&#xA;승인여부^부서장&#xA;조정여부^인사팀&#xA;확정여부^caption1|사원번호^성명^조출여부^신청사유^신청사유^신청사유^신청사유^조정&#xA;시간&#xA;(분)^휴일^야간^150^100^+50^조출150^조정사유^조정사유^조정사유^조정사유^조정&#xA;시간&#xA;(분)^부서장&#xA;승인여부^부서장&#xA;조정여부^인사팀&#xA;확정여부^caption1" colsep="^" colwidth="61, 78, 0, 75, 60, 75, 60, 50, 0, 0, 0, 0, 0, 0, 75, 60, 75, 60, 50, 54, 54, 54, 0" rowheader="update" rowsep="|" mergecellsfixedrows="bycolrec" style="left:211px; top:94px; width:984px; height:640px; ">
  411. <row>
  412. <col ref="emplno" rowspan="2" _key="true"/>
  413. <col ref="emplnm" rowspan="2"/>
  414. <col disabled="true" ref="earlyattdncyn" rowspan="2" type="combo" visibility="hidden" style="text-align:center; ">
  415. <choices>
  416. <itemset nodeset="/root/init/combo1">
  417. <label ref="label"/>
  418. <value ref="value"/>
  419. </itemset>
  420. </choices>
  421. </col>
  422. <col disabled="true" ref="appfromdd" format="yyyy-mm-dd" required="true"/>
  423. <col ref="appfromtm" format="hh:nn" style="text-align:center; "/>
  424. <col disabled="true" ref="apptodd" format="yyyy-mm-dd"/>
  425. <col ref="apptotm" format="hh:nn" style="text-align:center; "/>
  426. <col ref="apptm_v" rowspan="2" type="output" style="text-align:center; "/>
  427. <col ref="ovtmworkholibiztm_v" rowspan="2" type="output" visibility="hidden"/>
  428. <col ref="ovtmworknigtbiztm_v" rowspan="2" type="output" visibility="hidden"/>
  429. <col ref="ovtmworkextnbiztm150_v" rowspan="2" type="output" visibility="hidden" style="text-align:center; "/>
  430. <col ref="ovtmworkextnbiztm100_v" rowspan="2" type="output" visibility="hidden" style="text-align:center; "/>
  431. <col ref="ovtmworkextnbiztm50_v" rowspan="2" type="output" visibility="hidden" style="text-align:center; "/>
  432. <col ref="earlyattdnctm150_v" rowspan="2" type="output" visibility="hidden" style="text-align:center; "/>
  433. <col ref="coufromdd" type="output" format="yyyy-mm-dd" _key="true" style="text-align:center; "/>
  434. <col ref="coufromtm" type="output" format="hh:nn" _key="true" style="text-align:center; "/>
  435. <col ref="coutodd" type="output" format="yyyy-mm-dd" _key="true" style="text-align:center; "/>
  436. <col ref="coutotm" type="output" format="hh:nn" _key="true" style="text-align:center; "/>
  437. <col ref="coutm_v" rowspan="2" _key="true" style="text-align:center; "/>
  438. <col ref="deprtmangraprvyn" rowspan="2" type="output" style="text-align:center; "/>
  439. <col ref="deprtmangrcouyn" rowspan="2" type="output" style="text-align:center; "/>
  440. <col checkvalue="Y,N" ref="psnworkapryn" rowspan="2" type="checkbox" style="text-align:center; "/>
  441. <col ref="ovtmworkholibiztm" rowspan="2" type="output" visibility="hidden"/>
  442. <col ref="ovtmworknigtbiztm" rowspan="2" type="output" visibility="hidden"/>
  443. <col ref="ovtmworkextnbiztm150" rowspan="2" type="output" visibility="hidden"/>
  444. <col ref="ovtmworkextnbiztm100" rowspan="2" type="output" visibility="hidden"/>
  445. <col ref="ovtmworkextnbiztm50" rowspan="2" type="output" visibility="hidden"/>
  446. <col ref="ovtmworkholibizmm" rowspan="2" type="output" visibility="hidden"/>
  447. <col ref="ovtmworknigtbizmm" rowspan="2" type="output" visibility="hidden"/>
  448. <col ref="ovtmworkextnbizmm150" rowspan="2" type="output" visibility="hidden"/>
  449. <col ref="ovtmworkextnbizmm100" rowspan="2" type="output" visibility="hidden"/>
  450. <col ref="ovtmworkextnbizmm50" rowspan="2" type="output" visibility="hidden"/>
  451. <col ref="earlyattdnctm150" rowspan="2" type="output" visibility="hidden"/>
  452. <col ref="earlyattdncmm150" rowspan="2" type="output" visibility="hidden"/>
  453. <col ref="apptm" rowspan="2" visibility="hidden"/>
  454. <col ref="appmm" rowspan="2" visibility="hidden"/>
  455. <col ref="coutm" rowspan="2" visibility="hidden"/>
  456. <col ref="coumm" rowspan="2" visibility="hidden"/>
  457. <col ref="dutdd" rowspan="2" visibility="hidden"/>
  458. <col ref="instnm" rowspan="2" visibility="hidden"/>
  459. <col ref="instcd" rowspan="2" visibility="hidden"/>
  460. <col ref="dutplceinstnm" rowspan="2" visibility="hidden"/>
  461. <col ref="dutplceinstcd" rowspan="2" visibility="hidden"/>
  462. <col ref="deptcd" rowspan="2" visibility="hidden"/>
  463. <col ref="deptnm" rowspan="2" visibility="hidden"/>
  464. <col ref="dutdeptcd" rowspan="2" visibility="hidden"/>
  465. <col ref="dutdeptnm" rowspan="2" visibility="hidden"/>
  466. <col ref="dutplcedeptnm" rowspan="2" visibility="hidden"/>
  467. <col ref="dutplcedeptcd" rowspan="2" visibility="hidden"/>
  468. <col ref="psnworkapryn" rowspan="2" visibility="hidden"/>
  469. </row>
  470. <row>
  471. <col colspan="4" ref="appresn" type="output"/>
  472. <col colspan="4" ref="couresn" type="output"/>
  473. </row>
  474. <script type="javascript" ev:event="ondblclick">
  475. <![CDATA[
  476. ]]>
  477. </script>
  478. <script type="javascript" ev:event="onclick">
  479. <![CDATA[
  480. if(grd_ovtmworkapplist.row < grd_ovtmworkapplist.fixedRows)
  481. {
  482. if(grd_ovtmworkapplist.col == grd_ovtmworkapplist.colRef("psnworkapryn"))
  483. {
  484. var sYn = "";
  485. if(PSNWORK_ALL_CHECK_YN)
  486. {
  487. sYn = "N";
  488. PSNWORK_ALL_CHECK_YN = false;
  489. }
  490. else
  491. {
  492. sYn = "Y";
  493. PSNWORK_ALL_CHECK_YN = true;
  494. }
  495. for(var i=3; i<grd_ovtmworkapplist.rows; i++)
  496. {
  497. grd_ovtmworkapplist.valueMatrix(i, grd_ovtmworkapplist.colRef("psnworkapryn")) = sYn;
  498. grd_ovtmworkapplist.addStatus(i, "update");
  499. }
  500. }
  501. }
  502. ]]>
  503. </script>
  504. </multilinegrid>
  505. <line id="line2" class="line_1" style="x1:206px; y1:90px; x2:206px; y2:735px; "/>
  506. <datagrid id="grd_excelsave" nodeset="/root/main/list/ovtmworkalldeptapplist" visibility="hidden" caption="근무부서^사원번호^성명^신청기간^신청기간^신청기간^신청기간^신청시간^신청사유^조정기간^조정기간^조정기간^조정기간^조정시간^조정사유^부서장&#xA;승인여부^부서장&#xA;조정여부^인사팀&#xA;확정여부|근무부서^사원번호^성명^From 일시^From 일시^To 일시^To 일시^신청시간^신청사유^From 일시^From 일시^To 일시^To 일시^조정시간^조정사유^부서장&#xA;승인여부^부서장&#xA;조정여부^인사팀&#xA;확정여부" colsep="^" colwidth="110, 70, 70, 75, 60, 75, 60, 55, 160, 75, 60, 75, 60, 55, 160, 50, 50, 47" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:510px; width:1195px; height:135px; ">
  507. <col ref="dutplcedeptnm"/>
  508. <col ref="emplno"/>
  509. <col ref="emplnm"/>
  510. <col ref="appfromdd" format="yyyy-mm-dd"/>
  511. <col ref="appfromtm" format="hh:nn"/>
  512. <col ref="apptodd" format="yyyy-mm-dd"/>
  513. <col ref="apptotm" format="hh:nn"/>
  514. <col ref="apptm_v"/>
  515. <col ref="appresn"/>
  516. <col ref="coufromdd" format="yyyy-mm-dd"/>
  517. <col ref="coufromtm" format="hh:nn"/>
  518. <col ref="coutodd" format="yyyy-mm-dd"/>
  519. <col ref="coutotm" format="hh:nn"/>
  520. <col ref="coutm_v" format="hh:nn" style="left:1005px; top:43px; width:55px; height:23px; "/>
  521. <col ref="couresn"/>
  522. <col ref="deprtmangraprvyn"/>
  523. <col ref="deprtmangrcouyn"/>
  524. <col ref="psnworkapryn"/>
  525. </datagrid>
  526. <button id="button1" class="btn2_letter4" style="left:1128px; top:69px; width:64px; height:19px; ">
  527. <caption>엑셀저장</caption>
  528. <script type="javascript" ev:event="DOMActivate">
  529. <![CDATA[
  530. misfSaveExcel(grd_excelsave);
  531. ]]>
  532. </script>
  533. </button>
  534. </group>
  535. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:28px; ">
  536. <line id="line75" class="line_6" style="x1:0; y1:25; x2:1195; y2:25; "/>
  537. <button id="btn_save" class="btn4_letter2" style="left:1069px; top:3px; width:56px; height:22px; ">
  538. <caption>저장</caption>
  539. <script type="javascript" ev:event="DOMActivate">
  540. <![CDATA[
  541. var updtdata = getGridUpdateData(grd_ovtmworkapplist);
  542. if (updtdata == "" ) {
  543. messageBox("변경된 데이터가","I004");
  544. return;
  545. }
  546. misfSave("TXRPD00101");
  547. ]]>
  548. </script>
  549. </button>
  550. <button id="btn_clear" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  551. <caption>초기화</caption>
  552. <script type="javascript" ev:event="DOMActivate">
  553. <![CDATA[
  554. var updtdata = getGridUpdateData(grd_ovtmworkapplist);
  555. if (updtdata != "") {
  556. var ret = messageBox("그리드에 작업 중인 내용이 있습니다. 초기화 작업을","Q003");
  557. if (ret != 6) { // not OK
  558. return;
  559. }
  560. }
  561. fInitialize();
  562. ]]>
  563. </script>
  564. </button>
  565. <input id="ipt_popworkgbn" ref="/root/send/popworkgbn" class="input_search" navindex="2" visibility="hidden" style="left:705px; top:5px; width:19px; height:19px; "/>
  566. <input id="ipt_dutplceinstcd" ref="/root/send/dutplceinstcd" class="input_search" navindex="2" visibility="hidden" style="left:725px; top:5px; width:19px; height:19px; "/>
  567. <input id="ipt_dutplceinstnm" ref="/root/send/dutplceinstnm" class="input_search" navindex="2" visibility="hidden" style="left:745px; top:5px; width:19px; height:19px; "/>
  568. <input id="ipt_deptcd" ref="/root/send/deptcd" class="input_search" navindex="2" visibility="hidden" style="left:765px; top:5px; width:19px; height:19px; "/>
  569. <input id="ipt_deptnm" ref="/root/send/deptnm" class="input_search" navindex="2" visibility="hidden" style="left:785px; top:5px; width:19px; height:19px; "/>
  570. <input id="ipt_dutym_s" ref="/root/send/dutym_s" class="input_search" navindex="2" visibility="hidden" style="left:805px; top:5px; width:19px; height:19px; "/>
  571. <input id="ipt_dutym_e" ref="/root/send/dutym_e" class="input_search" navindex="2" visibility="hidden" style="left:825px; top:5px; width:19px; height:19px; "/>
  572. <input id="ipt_dutdeptcd2" ref="/root/send/dutdeptcd" class="input_search" navindex="2" visibility="hidden" style="left:845px; top:5px; width:19px; height:19px; "/>
  573. <input id="ipt_dutdeptnm2" ref="/root/send/dutdeptnm" class="input_search" navindex="2" visibility="hidden" style="left:865px; top:5px; width:19px; height:19px; "/>
  574. <input id="ipt_instcd" ref="/root/send/instcd" class="input_search" navindex="2" visibility="hidden" style="left:885px; top:5px; width:19px; height:19px; "/>
  575. <input id="ipt_instnm" ref="/root/send/instnm" class="input_search" navindex="2" visibility="hidden" style="left:905px; top:5px; width:19px; height:19px; "/>
  576. </group>
  577. </xhtml:body>
  578. </xhtml:html>