SMRPE00100_채용정보등록.xrw 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662
  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>SMRPE00100_채용정보관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <apntinfo>
  11. <apntinfolist/>
  12. </apntinfo>
  13. <dtinfo>
  14. <dtinfolist/>
  15. </dtinfo>
  16. </main>
  17. <send>
  18. <save>
  19. <apntinfolist/>
  20. <dtinfolist/>
  21. </save>
  22. <apntinfo>
  23. <apntyy/>
  24. <supinfqurtyyflag/>
  25. <instcd/>
  26. <prfshipflag/>
  27. <apntfromdd/>
  28. <apnttodd/>
  29. </apntinfo>
  30. <dtinfo>
  31. <apntinfono/>
  32. </dtinfo>
  33. </send>
  34. <init>
  35. <item>
  36. <value>1</value>
  37. <label>1차</label>
  38. </item>
  39. <item>
  40. <value>2</value>
  41. <label>2차</label>
  42. </item>
  43. <item>
  44. <value>3</value>
  45. <label>3차</label>
  46. </item>
  47. <item>
  48. <value>4</value>
  49. <label>4차</label>
  50. </item>
  51. </init>
  52. </root>
  53. </instance>
  54. <script type="javascript" ev:event="xforms-ready">
  55. <![CDATA[
  56. misfGridInit(grd_apntinfolist);
  57. misfGridInit(grd_dtinfolist);
  58. submit("TRRPE00101");
  59. misfComboComCdListMulti("R0237,R0059,R0058","cmb_supinfqurtyyflag,grd_apntinfolist.grupjoblncd,cmb_prfshipflag");
  60. misfComboInstCdListMulti("cmb_instcd",getCurrentDate(),"","Y");
  61. misfComboCopyItemSet(cmb_supinfqurtyyflag, "", grd_apntinfolist, "supinfqurtyyflag");
  62. misfComboCopyItemSet(cmb_instcd, "", grd_apntinfolist, "instcd");
  63. misfComboCopyItemSet(cmb_prfshipflag, "", grd_apntinfolist, "prfshipflag");
  64. addGridComboItem("cmb_supinfqurtyyflag", "- 전체 -", "","above"); // 상하반기구분 콤보박스에 '전체'를 추가
  65. // addGridComboItem("cmb_instcd", "- 전체 -", "","above"); // 기관 콤보박스에 '전체'를 추가
  66. addGridComboItem("cmb_prfshipflag", "- 전체 -", "","above"); // 교직구분 콤보박스에 '전체'를 추가
  67. var nowyy = new Date();
  68. ipt_apntyy.value = nowyy.getYear(); // 년도설정
  69. if( getUserInfo("dutplceinstcd") != '001' ) {
  70. model.setValue("/root/send/apntinfo/instcd", getUserInfo("dutplceinstcd") );
  71. model.refresh();
  72. cmb_instcd.disabled = true;
  73. }
  74. ]]>
  75. </script>
  76. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  77. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  78. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  79. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  80. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  81. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  82. <submission id="TRRPE00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/apntinfo" resultref="/root/main/apntinfo"/>
  83. <submission id="TRRPE00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/dtinfo" resultref="/root/main/dtinfo"/>
  84. <submission id="TXRPE00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hidden/temp"/>
  85. <submission id="TXRPE00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hidden/temp"/>
  86. <submission id="TXRPE00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hidden/temp"/>
  87. </model>
  88. <script type="javascript">
  89. <![CDATA[
  90. var SAVE_FLAG = 0;
  91. function fCheckApntList()
  92. {
  93. var fBool = false;
  94. if( (grd_apntinfolist.row - grd_apntinfolist.fixedRows) < 0 ) {
  95. fBool = true;
  96. messageBox("채용정보를 선택 후 작업을 다시 실행하세요.", "");
  97. }
  98. return fBool;
  99. }
  100. function fCheckTotexecdg()
  101. {
  102. var bool = false;
  103. var fcount = 0;
  104. if(grd_apntinfolist.valueMatrix(grd_apntinfolist.row, grd_apntinfolist.colRef("scrngdg")) == '')
  105. {
  106. fcount = 0;
  107. }else{
  108. fcount = grd_apntinfolist.valueMatrix(grd_apntinfolist.row, grd_apntinfolist.colRef("scrngdg"));
  109. }
  110. if( (grd_dtinfolist.rows - grd_dtinfolist.fixedRows) < fcount )
  111. {
  112. bool = false;
  113. }else{
  114. messageBox("차수 추가 오류","");
  115. bool = true;
  116. }
  117. return bool;
  118. }
  119. function fSetChackValue()
  120. {
  121. var row = grd_apntinfolist.row;
  122. for( var idx = grd_apntinfolist.fixedRows; idx <= grd_apntinfolist.rows; idx++ ) {
  123. if( grd_apntinfolist.rowStatus(idx) == '1' || grd_apntinfolist.rowStatus(idx) == '3' ) {
  124. if(grd_apntinfolist.valueMatrix(idx, grd_apntinfolist.colRef("supinfqurtyyflag")).length == 0)
  125. {
  126. messageBox("상하반기 구분을" ,"C002");
  127. grd_apntinfolist.row= row;
  128. grd_apntinfolist.col= grd_apntinfolist.colRef("supinfqurtyyflag");
  129. grd_apntinfolist.editCell();
  130. return false;
  131. }
  132. if(grd_apntinfolist.valueMatrix(idx, grd_apntinfolist.colRef("instcd")).length == 0)
  133. {
  134. messageBox("기관을" ,"C002");
  135. grd_apntinfolist.row= row;
  136. grd_apntinfolist.col= grd_apntinfolist.colRef("instcd");
  137. grd_apntinfolist.editCell();
  138. return false;
  139. }
  140. /*
  141. if(grd_apntinfolist.valueMatrix(idx, grd_apntinfolist.colRef("prfshipflag")).length == 0)
  142. {
  143. messageBox("교직구분을" ,"C002");
  144. grd_apntinfolist.row= row;
  145. grd_apntinfolist.col= grd_apntinfolist.colRef("prfshipflag");
  146. grd_apntinfolist.editCell();
  147. return false;
  148. }
  149. */
  150. if(grd_apntinfolist.valueMatrix(idx, grd_apntinfolist.colRef("grupjoblncd")).length == 0)
  151. {
  152. messageBox("직군을" ,"C002");
  153. grd_apntinfolist.row= row;
  154. grd_apntinfolist.col= grd_apntinfolist.colRef("grupjoblncd");
  155. grd_apntinfolist.editCell();
  156. return false;
  157. }
  158. if(grd_apntinfolist.valueMatrix(idx, grd_apntinfolist.colRef("recufild")).length == 0)
  159. {
  160. messageBox("모집분야를" ,"C002");
  161. grd_apntinfolist.row= row;
  162. grd_apntinfolist.col= grd_apntinfolist.colRef("recufildnm");
  163. grd_apntinfolist.editCell();
  164. return false;
  165. }
  166. if(grd_apntinfolist.valueMatrix(idx, grd_apntinfolist.colRef("deptnm")).length == 0)
  167. {
  168. messageBox("부서를" ,"C002");
  169. grd_apntinfolist.row= row;
  170. grd_apntinfolist.col= grd_apntinfolist.colRef("deptnm");
  171. grd_apntinfolist.editCell();
  172. return false;
  173. }
  174. /*
  175. if(grd_apntinfolist.valueMatrix(idx, grd_apntinfolist.colRef("jobkindnm")).length == 0)
  176. {
  177. messageBox("직종을" ,"C002");
  178. grd_apntinfolist.row= row;
  179. grd_apntinfolist.col= grd_apntinfolist.colRef("jobkindnm");
  180. grd_apntinfolist.editCell();
  181. return false;
  182. }
  183. */
  184. if(grd_apntinfolist.valueMatrix(idx, grd_apntinfolist.colRef("recupsnno")).length == 0)
  185. {
  186. messageBox("인원을" ,"C001");
  187. grd_apntinfolist.row= row;
  188. grd_apntinfolist.col= grd_apntinfolist.colRef("recupsnno");
  189. grd_apntinfolist.editCell();
  190. return false;
  191. }
  192. if(grd_apntinfolist.valueMatrix(idx, grd_apntinfolist.colRef("apntfromdd")).length == 0)
  193. {
  194. messageBox("채용시작일을" ,"C001");
  195. grd_apntinfolist.row= row;
  196. grd_apntinfolist.col= grd_apntinfolist.colRef("apntfromdd");
  197. grd_apntinfolist.editCell();
  198. return false;
  199. }
  200. if(grd_apntinfolist.valueMatrix(idx, grd_apntinfolist.colRef("apnttodd")).length == 0)
  201. {
  202. messageBox("채용종료일을" ,"C001");
  203. grd_apntinfolist.row= row;
  204. grd_apntinfolist.col= grd_apntinfolist.colRef("apnttodd");
  205. grd_apntinfolist.editCell();
  206. return false;
  207. }
  208. if(grd_apntinfolist.valueMatrix(idx, grd_apntinfolist.colRef("scrngdg")).length == 0)
  209. {
  210. messageBox("전형차수를" ,"C002");
  211. grd_apntinfolist.row= row;
  212. grd_apntinfolist.col= grd_apntinfolist.colRef("scrngdg");
  213. grd_apntinfolist.editCell();
  214. return false;
  215. }
  216. }
  217. }
  218. var row = grd_dtinfolist.row;
  219. for( var idx = grd_dtinfolist.fixedRows; idx <= grd_dtinfolist.rows; idx++ ) {
  220. if( grd_dtinfolist.rowStatus(idx) == '1' || grd_dtinfolist.rowStatus(idx) == '3' ) {
  221. if(grd_dtinfolist.valueMatrix(idx, grd_dtinfolist.colRef("scrngflag")).length == 0)
  222. {
  223. messageBox("전형 구분을" ,"C001");
  224. grd_dtinfolist.row= row;
  225. grd_dtinfolist.col= grd_dtinfolist.colRef("scrngflag");
  226. grd_dtinfolist.editCell();
  227. return false;
  228. }
  229. if(grd_dtinfolist.valueMatrix(idx, grd_dtinfolist.colRef("rate")).length == 0)
  230. {
  231. messageBox("비율을" ,"C001");
  232. grd_dtinfolist.row= row;
  233. grd_dtinfolist.col= grd_dtinfolist.colRef("rate");
  234. grd_dtinfolist.editCell();
  235. return false;
  236. }
  237. if(grd_dtinfolist.valueMatrix(idx, grd_dtinfolist.colRef("apntfromdd")).length == 0)
  238. {
  239. messageBox("차수 시작일을" ,"C001");
  240. grd_dtinfolist.row= row;
  241. grd_dtinfolist.col= grd_dtinfolist.colRef("apntfromdd");
  242. grd_dtinfolist.editCell();
  243. return false;
  244. }
  245. if(grd_dtinfolist.valueMatrix(idx, grd_dtinfolist.colRef("apnttodd")).length == 0)
  246. {
  247. messageBox("차수 종료일을" ,"C001");
  248. grd_dtinfolist.row= row;
  249. grd_dtinfolist.col= grd_dtinfolist.colRef("apnttodd");
  250. grd_dtinfolist.editCell();
  251. return false;
  252. }
  253. }
  254. }
  255. return true;
  256. }
  257. ]]>
  258. </script>
  259. </xhtml:head>
  260. <xhtml:body scroll="auto" style="margin-left:8; margin-right:8; ">
  261. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  262. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">채용정보관리</caption>
  263. </group>
  264. <group id="group2" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  265. <caption id="caption3" class="search_name" visibility="hidden" style="left:639px; top:13px; width:86px; height:17px; ">교직구분 :</caption>
  266. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:5px; width:1195px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  267. <caption id="caption2" class="search_name" style="left:413px; top:13px; width:85px; height:17px; ">기 관 :</caption>
  268. <select1 id="cmb_instcd" ref="/root/send/apntinfo/instcd" class="combo_search" appearance="minimal" style="left:488px; top:13px; width:145px; height:19px; ">
  269. <choices>
  270. <itemset>
  271. <label/>
  272. <value/>
  273. </itemset>
  274. </choices>
  275. </select1>
  276. <caption id="caption1" class="search_name" style="left:642px; top:13px; width:85px; height:17px; ">기 간 :</caption>
  277. <caption id="caption278" class="tit_2" style="left:5px; top:50px; width:157px; height:13px; ">채용(기본)정보등록</caption>
  278. <line id="line207" class="line_1" style="x1:0px; y1:65px; x2:1195px; y2:65px; "/>
  279. <caption id="caption7" class="tit_2" style="left:5px; top:402px; width:157px; height:13px; ">전형일정</caption>
  280. <line id="line1" class="line_1" style="x1:0px; y1:417px; x2:1195px; y2:417px; "/>
  281. <button id="button2" class="btn2_letter3" style="left:1075px; top:225px; width:53px; height:19px; ">
  282. <caption>행추가</caption>
  283. </button>
  284. <button id="button3" class="btn2_letter3" style="left:1130px; top:225px; width:53px; height:19px; ">
  285. <caption>행삭제</caption>
  286. </button>
  287. <button id="button4" class="btn2_letter3" style="left:1070px; top:485px; width:53px; height:19px; ">
  288. <caption>행추가</caption>
  289. </button>
  290. <button id="button5" class="btn2_letter3" style="left:1125px; top:485px; width:53px; height:19px; ">
  291. <caption>행삭제</caption>
  292. </button>
  293. <caption id="caption9" class="search_name" style="left:189px; top:13px; width:112px; height:17px; ">상하반기구분 :</caption>
  294. <select1 id="cmb_supinfqurtyyflag" ref="/root/send/apntinfo/supinfqurtyyflag" class="combo_search" appearance="minimal" style="left:306px; top:13px; width:100px; height:19px; ">
  295. <choices>
  296. <itemset>
  297. <label/>
  298. <value/>
  299. </itemset>
  300. </choices>
  301. </select1>
  302. <select1 id="cmb_prfshipflag" ref="/root/send/apntinfo/prfshipflag" class="combo_search" visibility="hidden" appearance="minimal" style="left:724px; top:13px; width:100px; height:19px; ">
  303. <choices>
  304. <itemset>
  305. <label/>
  306. <value/>
  307. </itemset>
  308. </choices>
  309. </select1>
  310. <input id="ipt_apntfromdd" ref="/root/send/apntinfo/apntfromdd" class="input_s_essential" inputtype="date" style="left:717px; top:13px; width:93px; height:19px; ">
  311. <script type="javascript" ev:event="xforms-value-changed">
  312. <![CDATA[
  313. var instcd = cmb_instcd.value;
  314. if( getStringLength(ipt_apntfromdd.value) == "8" ) {
  315. model.removeNodeset(cmb_instcd.attribute("ref"));
  316. model.makeNode("/root/send/apntinfo/instcd");
  317. misfComboInstCdListMulti("cmb_instcd",ipt_apntfromdd.value,"","Y");
  318. cmb_instcd.value = instcd;
  319. model.refresh();
  320. }
  321. ]]>
  322. </script>
  323. </input>
  324. <caption id="caption8" class="search_n_b" style="left:810px; top:13px; width:12px; height:17px; font-weight:bolder; ">~</caption>
  325. <input id="ipt_apnttodd" ref="/root/send/apntinfo/apnttodd" class="input_s_essential" inputtype="date" style="left:825px; top:13px; width:93px; height:19px; "/>
  326. <datagrid id="grd_apntinfolist" nodeset="/root/main/apntinfo/apntinfolist" autoresize="true" caption="상하반기구분^기관^직원분류^직군^부서^직종^모집분야^인원^제목^간호부&#xA;추가사항^채용시작일^채용종료일^전형&#xA;차수^완료^채용번호^채용년도^모집분야^직종^부서코드|상하반기구분^기관^직원분류^직군^부서^직종^모집분야^인원^제목^간호부&#xA;추가사항^채용시작일^채용종료일^전형&#xA;차수^완료^채용번호^채용년도^모집분야^직종^부서코드" colsep="^" colwidth="56, 110, 104, 100, 130, 110, 123, 40, 292, 55, 100, 100, 45, 23, 36, 24, 33, 31, 40" dataheight="25" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:0px; top:70px; width:1195px; height:322px; ">
  327. <col class="input_s_essential" ref="supinfqurtyyflag" type="combo" style="text-align:center; ">
  328. <choices>
  329. <itemset>
  330. <label/>
  331. <value/>
  332. </itemset>
  333. </choices>
  334. </col>
  335. <col class="input_s_essential" ref="instcd" type="combo">
  336. <choices>
  337. <itemset>
  338. <label/>
  339. <value/>
  340. </itemset>
  341. </choices>
  342. </col>
  343. <col class="input_s_essential" ref="prfshipflag" type="combo" visibility="hidden">
  344. <choices>
  345. <itemset>
  346. <label/>
  347. <value/>
  348. </itemset>
  349. </choices>
  350. </col>
  351. <col class="input_s_essential" ref="grupjoblncd" type="combo">
  352. <choices>
  353. <itemset>
  354. <label/>
  355. <value/>
  356. </itemset>
  357. </choices>
  358. </col>
  359. <col class="input_s_essential" ref="deptnm" type="inputbutton"/>
  360. <col class="input_s_essential" ref="jobkindnm" type="inputbutton" visibility="hidden"/>
  361. <col class="input_s_essential" ref="recufildnm" type="inputbutton"/>
  362. <col class="input_s_essential" ref="recupsnno" type="input" style="text-align:right; "/>
  363. <col class="input_s_essential" ref="titl" type="input" maxbyte="60"/>
  364. <col checkvalue="Y,N" ref="nursdept" type="checkbox"/>
  365. <col class="input_s_essential" ref="apntfromdd" type="inputdate" style="text-align:center; "/>
  366. <col class="input_s_essential" ref="apnttodd" type="inputdate" style="text-align:center; "/>
  367. <col class="input_s_essential" ref="scrngdg" type="combo" style="text-align:center; ">
  368. <choices>
  369. <itemset nodeset="/root/init/item">
  370. <label ref="label"/>
  371. <value ref="value"/>
  372. </itemset>
  373. </choices>
  374. </col>
  375. <col checkvalue="Y,N" ref="endyn" type="checkbox" visibility="hidden"/>
  376. <col ref="apntinfono" visibility="hidden"/>
  377. <col ref="apntyy" visibility="hidden"/>
  378. <col ref="recufild" visibility="hidden"/>
  379. <col ref="jobkindcd" visibility="hidden"/>
  380. <col ref="deptcd" visibility="hidden"/>
  381. <script type="javascript" ev:event="onbuttonclick">
  382. <![CDATA[
  383. if (grd_apntinfolist.colAttribute(grd_apntinfolist.col,"ref") == "deptnm" ) { // 부서
  384. var instcd = grd_apntinfolist.valueMatrix(grd_apntinfolist.row, grd_apntinfolist.colRef("instcd"));
  385. var recv_list = "deptcd,deptnm";
  386. misfOpenPopUpList("02", grd_apntinfolist,"", recv_list,instcd,"instcd") ;
  387. model.refresh();
  388. }
  389. else if (grd_apntinfolist.colAttribute(grd_apntinfolist.col,"ref") == "jobkindnm" ) { // 직종
  390. var recv_list = "jobkindcd,jobkindnm";
  391. misfOpenPopUpList("03", grd_apntinfolist,"R0061", recv_list,"") ;
  392. model.refresh();
  393. }
  394. else if (grd_apntinfolist.colAttribute(grd_apntinfolist.col,"ref") == "recufildnm" ) { // 모집분야
  395. var recv_list = "recufild,recufildnm";
  396. misfOpenPopUpList("03", grd_apntinfolist,"R0061", recv_list,"") ;
  397. if( grd_apntinfolist.valueMatrix(grd_apntinfolist.row, grd_apntinfolist.colRef("recufild")) == "0320" ) {
  398. grd_apntinfolist.valueMatrix(grd_apntinfolist.row, grd_apntinfolist.colRef("prfshipflag")) = "21";
  399. grd_apntinfolist.valueMatrix(grd_apntinfolist.row, grd_apntinfolist.colRef("jobkindcd")) = "0320";
  400. grd_apntinfolist.valueMatrix(grd_apntinfolist.row, grd_apntinfolist.colRef("jobkindnm")) = "임상강사";
  401. grd_apntinfolist.valueMatrix(grd_apntinfolist.row, grd_apntinfolist.colRef("deptcd")) = "1000000000";
  402. grd_apntinfolist.valueMatrix(grd_apntinfolist.row, grd_apntinfolist.colRef("deptnm")) = "병원";
  403. }
  404. model.refresh();
  405. }
  406. SAVE_FLAG = 1;
  407. ]]>
  408. </script>
  409. <script type="javascript" ev:event="onrowchanged">
  410. <![CDATA[
  411. // 그리드 초기화.
  412. misfGridInit(grd_dtinfolist);
  413. if( grd_apntinfolist.valueMatrix(grd_apntinfolist.row,grd_apntinfolist.colRef("apntinfono")) == "") return;
  414. model.setValue("/root/send/dtinfo/apntinfono",grd_apntinfolist.valueMatrix(grd_apntinfolist.row,grd_apntinfolist.colRef("apntinfono")));
  415. submit("TRRPE00103");
  416. grd_apntinfolist.row = grd_apntinfolist.row;
  417. grd_apntinfolist.col = grd_apntinfolist.colRef("recupsnno");
  418. grd_apntinfolist.editCell();
  419. grd_apntinfolist.endEditCell();
  420. ]]>
  421. </script>
  422. <script type="javascript" ev:event="xforms-value-changed">
  423. <![CDATA[
  424. SAVE_FLAG = 4;
  425. ]]>
  426. </script>
  427. </datagrid>
  428. <datagrid id="grd_dtinfolist" nodeset="/root/main/dtinfo/dtinfolist" autoresize="true" caption="채용번호^전형차수^전형구분^비율^시작일^종료일^시작시간^종료시간^장소^비고^완료" colsep="^" colwidth="65, 65, 150, 100, 120, 120, 100, 100, 200, 150, 40" dataheight="25" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:0px; top:422px; width:1195px; height:293px; ">
  429. <col ref="apntinfono" visibility="hidden" style="text-align:center; "/>
  430. <col disabled="true" ref="scrngdg" type="combo" style="text-align:center; ">
  431. <choices>
  432. <itemset nodeset="/root/init/item">
  433. <label ref="label"/>
  434. <value ref="value"/>
  435. </itemset>
  436. </choices>
  437. </col>
  438. <col class="input_s_essential" ref="scrngflag" type="input" maxbyte="60"/>
  439. <col class="input_s_essential" ref="rate" type="input" format="###%" maxlength="3" style="text-align:center; "/>
  440. <col class="input_s_essential" ref="apntfromdd" type="inputdate" style="text-align:center; "/>
  441. <col class="input_s_essential" ref="apnttodd" type="inputdate" style="text-align:center; "/>
  442. <col ref="apntfromtm" type="input" format="hh:nn" style="text-align:center; "/>
  443. <col ref="apnttotm" type="input" format="hh:nn" style="text-align:center; "/>
  444. <col ref="apntplce" type="input" maxbyte="80"/>
  445. <col ref="cmt" type="input"/>
  446. <col checkvalue="Y,N" ref="endyn" type="checkbox"/>
  447. <script type="javascript" ev:event="xforms-value-changed">
  448. <![CDATA[
  449. SAVE_FLAG = 4;
  450. ]]>
  451. </script>
  452. </datagrid>
  453. <button id="btn_grdaddapntinfolist" class="btn2_letter3" style="left:1087px; top:45px; width:53px; height:19px; ">
  454. <caption>행추가</caption>
  455. <script type="javascript" ev:event="DOMActivate">
  456. <![CDATA[
  457. SAVE_FLAG = 1;
  458. misfGridIUD(grd_apntinfolist, "A");
  459. grd_apntinfolist.valueMatrix(grd_apntinfolist.row, grd_apntinfolist.colRef("apntyy")) = ipt_apntyy.value;
  460. grd_apntinfolist.valueMatrix(grd_apntinfolist.row, grd_apntinfolist.colRef("apntflag")) = "1";
  461. grd_apntinfolist.valueMatrix(grd_apntinfolist.row, grd_apntinfolist.colRef("instcd")) = cmb_instcd.value;
  462. ]]>
  463. </script>
  464. </button>
  465. <button id="btn_grddelapntinfolist" class="btn2_letter3" style="left:1142px; top:45px; width:53px; height:19px; ">
  466. <caption>행삭제</caption>
  467. <script type="javascript" ev:event="DOMActivate">
  468. <![CDATA[
  469. SAVE_FLAG = 4;
  470. misfGridIUD(grd_apntinfolist, "D");
  471. ]]>
  472. </script>
  473. </button>
  474. <button id="button7" class="btn2_letter3" style="left:1087px; top:397px; width:53px; height:19px; ">
  475. <caption>행추가</caption>
  476. <script type="javascript" ev:event="DOMActivate">
  477. <![CDATA[
  478. if(fCheckApntList()) return; // 세부내용을 등록할 채용이 선택되어 있는지 확인
  479. if( SAVE_FLAG == '1' ) {
  480. SAVE_FLAG = 2;
  481. btn_save.dispatch("DOMActivate");
  482. }
  483. var rownum = grd_dtinfolist.rows;
  484. //차수 체크
  485. if(fCheckTotexecdg())return;
  486. SAVE_FLAG = 3;
  487. misfGridIUD(grd_dtinfolist, "A");
  488. //차수 삽입
  489. grd_dtinfolist.valueMatrix(rownum, grd_dtinfolist.colRef("scrngdg")) = rownum;
  490. // 채용번호 삽입
  491. grd_dtinfolist.valueMatrix(grd_dtinfolist.row, grd_dtinfolist.colRef("apntinfono")) = grd_apntinfolist.valueMatrix(grd_apntinfolist.row, grd_apntinfolist.colRef("apntinfono"));
  492. model.refresh();
  493. ]]>
  494. </script>
  495. </button>
  496. <button id="button9" class="btn2_letter3" style="left:1142px; top:397px; width:53px; height:19px; ">
  497. <caption>행삭제</caption>
  498. <script type="javascript" ev:event="DOMActivate">
  499. <![CDATA[
  500. SAVE_FLAG = 4;
  501. misfGridIUD(grd_dtinfolist, "D");
  502. ]]>
  503. </script>
  504. </button>
  505. <button id="btn_search" class="btn1_letter2" navindex="8" style="left:1125px; top:12px; width:56px; height:22px; text-align:left; ">
  506. <caption>조회</caption>
  507. <script type="javascript" ev:event="DOMActivate">
  508. <![CDATA[
  509. var fromdd = model.getValue(ipt_apntfromdd.attribute("ref"));
  510. var todd = model.getValue(ipt_apnttodd.attribute("ref"));
  511. if (fromdd == "" || fromdd.length <= 0) {
  512. fromdd = ipt_apntyy.value+'0101';
  513. }
  514. if (todd == "" || todd.length <= 0) {
  515. todd = ipt_apntyy.value+'1231';
  516. }
  517. model.setValue(ipt_apntfromdd.attribute("ref"), fromdd);
  518. model.setValue(ipt_apnttodd.attribute("ref"), todd);
  519. model.removeNodeset("/root/main/apntinfo");
  520. model.makeNode("/root/main/apntinfo/apntinfolist");
  521. submit("TRRPE00101");
  522. ]]>
  523. </script>
  524. </button>
  525. <line id="line3" class="line_4" style="x1:1110px; y1:14px; x2:1110px; y2:32px; border-color:#ffe4bb; border-left-style:solid; "/>
  526. <caption id="caption5" class="search_name" style="left:15px; top:13px; width:86px; height:17px; ">채용년도 :</caption>
  527. <input id="ipt_apntyy" ref="/root/send/apntinfo/apntyy" class="input_s_essential" inputtype="date" format="yyyy" style="left:105px; top:13px; width:73px; height:19px; ">
  528. <script type="javascript" ev:event="xforms-value-changed">
  529. <![CDATA[
  530. var instcd = cmb_instcd.value;
  531. if( getStringLength(ipt_apntyy.value) == "4" ) {
  532. model.removeNodeset(cmb_instcd.attribute("ref"));
  533. model.makeNode("/root/send/apntinfo/instcd");
  534. if(ipt_apntyy.value == getCurrentDate().substring(0, 4) ) {
  535. misfComboInstCdListMulti("cmb_instcd",getCurrentDate(),"","Y");
  536. }
  537. else {
  538. misfComboInstCdListMulti("cmb_instcd",ipt_apntyy.value+"1231","","Y");
  539. }
  540. cmb_instcd.value = instcd;
  541. cmb_instcd.refresh();
  542. }
  543. model.setValue(ipt_apntfromdd.attribute("ref"), "");
  544. model.setValue(ipt_apnttodd.attribute("ref"), "");
  545. model.refresh();
  546. ]]>
  547. </script>
  548. </input>
  549. <caption id="caption4" style="left:75px; top:720px; width:1055px; height:20px; font-size:12pt; font-weight:bold; color:#ff0000; ">※ 전형일정을 꼭 입력해 주시기 바랍니다. 전형일정이 입력되어 있지 않으면 홈페이지에서 결과확인시 지원한 채용이 보이지 않습니다.</caption>
  550. <select1 id="cmb_grupjoblncd" ref="/root/send/apntinfo/prfshipflag" class="combo_search" visibility="hidden" appearance="minimal" style="left:930px; top:10px; width:100px; height:19px; ">
  551. <choices>
  552. <itemset>
  553. <label/>
  554. <value/>
  555. </itemset>
  556. </choices>
  557. </select1>
  558. </group>
  559. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  560. <button id="btn_save" class="btn4_letter2" style="left:1139px; top:2px; width:56px; height:22px; ">
  561. <caption>저장</caption>
  562. <script type="javascript" ev:event="DOMActivate">
  563. <![CDATA[
  564. model.removeNodeset("/root/send/save/");
  565. model.makeNode("/root/send/save/apntinfolist");
  566. model.makeNode("/root/send/save/dtinfolist");
  567. model.setValue("/root/send/save/apntinfolist",grd_apntinfolist.getUpdateData());
  568. model.setValue("/root/send/save/dtinfolist",grd_dtinfolist.getUpdateData());
  569. if( fSetChackValue() ) { // 필수입력값이 모두 입력되었으면 true를 리턴하고, 아니면 false를 리턴하는 함수.
  570. if( grd_apntinfolist.valueMatrix(grd_apntinfolist.row,grd_apntinfolist.colRef("scrngdg"))
  571. == grd_dtinfolist.valueMatrix(grd_dtinfolist.row,grd_dtinfolist.colRef("scrngdg"))
  572. && grd_dtinfolist.valueMatrix(grd_dtinfolist.row,grd_dtinfolist.colRef("endyn")) == 'Y' ) {
  573. grd_apntinfolist.valueMatrix(grd_apntinfolist.row,grd_apntinfolist.colRef("endyn")) = 'Y';
  574. if( grd_apntinfolist.rowStatus(grd_apntinfolist.row) == '1' || grd_apntinfolist.rowStatus(grd_apntinfolist.row) == '3' ) {
  575. ;
  576. }
  577. else {
  578. grd_apntinfolist.addStatus(grd_apntinfolist.row, "update") ;
  579. }
  580. model.setValue("/root/send/save/apntinfolist",grd_apntinfolist.getUpdateData());
  581. submit("TXRPE00103");
  582. }
  583. if( SAVE_FLAG == '1' || SAVE_FLAG == '2') { // 채용(기본)정보등록 그리드에만 변경사항이 있을때.
  584. if( submit("TXRPE00101") ) {
  585. if(SAVE_FLAG =='1') {
  586. messageBox("","I001");
  587. }
  588. var row = grd_apntinfolist.row;
  589. btn_search.dispatch("DOMActivate");
  590. grd_apntinfolist.row = row;
  591. SAVE_FLAG = 0;
  592. }
  593. }
  594. else if( SAVE_FLAG == '3' ) { // 전형일정 그리드에만 변경사항이 있을때..
  595. if( submit("TXRPE00102") ) {
  596. messageBox("","I001");
  597. var row = grd_apntinfolist.row;
  598. btn_search.dispatch("DOMActivate");
  599. grd_apntinfolist.row = row;
  600. grd_apntinfolist.dispatch("onrowchanged");
  601. SAVE_FLAG = 0;
  602. }
  603. }
  604. else if( SAVE_FLAG == '4' ) { // 이미 저장된 data를 update하거나 delete하는 경우
  605. if( submit("TXRPE00101") ) {
  606. if( submit("TXRPE00102") ) {
  607. messageBox("","I001");
  608. var row = grd_apntinfolist.row;
  609. btn_search.dispatch("DOMActivate");
  610. grd_apntinfolist.row = row;
  611. grd_apntinfolist.dispatch("onrowchanged");
  612. }
  613. else {
  614. messageBox("","I001");
  615. var row = grd_apntinfolist.row;
  616. btn_search.dispatch("DOMActivate");
  617. grd_apntinfolist.row = row;
  618. }
  619. }
  620. SAVE_FLAG = 0;
  621. }
  622. }
  623. model.refresh();
  624. ]]>
  625. </script>
  626. </button>
  627. <line id="line2" class="line_6" style="x1:0px; y1:25; x2:1195px; y2:25; "/>
  628. </group>
  629. </xhtml:body>
  630. </xhtml:html>