SMRWP21700_급여소급처리.xrw 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  3. <xhtml:html xmlns:ex="http://www.comsquare.co.kr/xforms/excel" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:my="http://www.comsquare.co.kr/example" xmlns:ms="urn:schemas-microsoft-com:xslt" 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" xmlns:cs="http://www.comsquare.co.kr/xforms">
  4. <xhtml:head>
  5. <xhtml:title>급여소급내역조회</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <payspecdata>
  11. <payamtlist/>
  12. <paytitlelist/>
  13. <payitemmap/>
  14. <payitemchng/>
  15. </payspecdata>
  16. <payspecexcel>
  17. <payamtexcellist/>
  18. </payspecexcel>
  19. <origdata>
  20. <payamtlist/>
  21. </origdata>
  22. <changedlist>
  23. <ukey/>
  24. <saldfrayflag/>
  25. <payym/>
  26. <payitemcd/>
  27. <emplno/>
  28. <payitemamt/>
  29. <cmt/>
  30. </changedlist>
  31. <changedcmt>
  32. <ukey/>
  33. <saldfrayflag/>
  34. <payym/>
  35. <emplno/>
  36. <cmt/>
  37. </changedcmt>
  38. </main>
  39. <init>
  40. <temp/>
  41. </init>
  42. <send>
  43. <payspec>
  44. <emplno/>
  45. <emplnm/>
  46. <saldfrayflag>3</saldfrayflag>
  47. <payddfrom/>
  48. <payddto/>
  49. <dutdeptcd/>
  50. <instcd/>
  51. <payclsprfshipflag/>
  52. <chkyn/>
  53. <teamflag>1</teamflag>
  54. <paytotexceptyn/>
  55. <holyordflag/>
  56. <spageno/>
  57. <epageno/>
  58. <sumyn/>
  59. <offset>0</offset>
  60. <pagesize>50</pagesize>
  61. </payspec>
  62. <prtdata>
  63. <instnm/>
  64. <prtuser/>
  65. <payym/>
  66. </prtdata>
  67. <payamtlist/>
  68. <payitlist/>
  69. <changedlist>
  70. </changedlist>
  71. <changedcmt/>
  72. </send>
  73. <hidden/>
  74. </root>
  75. </instance>
  76. <script type="javascript" ev:event="xforms-ready">
  77. <![CDATA[
  78. //2011.11.29 박준범 추가
  79. cpt_cmt.value = "";
  80. var curdate = getCurrentDate();
  81. model.setValue(ipt_payddfrom.attribute("ref") , curdate);
  82. model.setValue(ipt_payddto.attribute("ref") , curdate);
  83. model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
  84. misfComboInstCdListMulti("cmb_instcd",getCurrentDate(),"","N");
  85. //misfComboComCdListMulti("R0112,R0066,R0097","cmb_SalDfrayFlag,cmb_holyordflag,cmb_payclsprfshipflag");
  86. //addComboItem( "cmb_payclsprfshipflag", "[-- 전체 --]", "%", "above");
  87. //addComboItem( "cmb_holyordflag", "[-- 전체 --]", "", "above");
  88. //model.setValue(cmb_payclsprfshipflag.attribute("ref"), "%");
  89. //model.setValue(cmb_holyordflag.attribute("ref"), "");
  90. //cmb_payclsprfshipflag.refresh();
  91. misfGetUserAuth();
  92. /* 2011.12.01 박준범 - 아래 comment처리하고 cmb_instcd는 disabled 처리했음
  93. if (DUTY_PAY_YN == "Y" ) {
  94. cmb_instcd.disabled = false;
  95. }
  96. else {
  97. cmb_instcd.disabled = true;
  98. }
  99. */
  100. model.removeNodeset("/root/main/changedlist"); // 변경된 급여항목 column의 값만 담는 nodeset 2011.11.11 박준범 추가
  101. model.removeNodeset("/root/main/changedcmt"); // 변경된 cmt column의 값만 담는 nodeset 2011.11.29 박준범 추가
  102. ]]>
  103. </script>
  104. <submission id="TRRWP21701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/payspec" resultref="/root/main/payspecdata"/>
  105. <submission id="TXRWP21701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/hidden"/>
  106. </model>
  107. <script type="javascript">
  108. <![CDATA[
  109. function SetGridColor(slength){
  110. var payitemmapnode = instance1.selectNodes("/root/main/payspecdata/payitemmap[*]/payitemmap");
  111. for (i=parseInt(slength-1); i < grd_payamtlist.rows; i++) {
  112. //소급분 Row는 Row 바탕색상을 달리 표시 ( "#FFF000" )
  113. if (grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef("saldfrayflag")) == 'F' ) {
  114. //grd_payamtlist.rowStyle(i, "all", "background-color") = "#FFF000";
  115. grd_payamtlist.rowStyle(i, "all", "background-color") = "#F4F4F4";
  116. }
  117. if (grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef("saldfrayflag")) == '1' || //1:정기급여
  118. grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef("saldfrayflag")) == '2' || //2: 하계/명절/상여
  119. grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef("saldfrayflag")) == 'F' ) { //F: 소급분 row
  120. for(j=0; j<payitemmapnode.length; j++) {
  121. //소급분만 입력가능, 나머지는 readonly 처리
  122. grd_payamtlist.isReadOnly(i, grd_payamtlist.colRef(payitemmapnode.item(j).value)) = true;
  123. //금액이 0보다 적은 경우, Cell 바탕색상을 달리 표시 ( "#FACICI" )
  124. if (grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef(payitemmapnode.item(j).value)) < 0) {
  125. grd_payamtlist.cellStyle("background-color", i, grd_payamtlist.colRef(payitemmapnode.item(j).value) ) = "#FACICI";
  126. }
  127. }
  128. //2011.11.29 박준범 - 소급분이 아닌 경우에는 비고 컬럼(cmt) 에 입력불가 처리
  129. grd_payamtlist.isReadOnly(i, grd_payamtlist.colRef("cmt")) = true;
  130. //2011.11.30 payitemchng 에 담긴 것의 style을 변경
  131. } else if ( grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef("saldfrayflag")) == '3' || //1:정기급여 소급분
  132. grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef("saldfrayflag")) == '4' ) { //2: 하계/명절/상여 소급분
  133. for(j=0; j<payitemmapnode.length; j++) {
  134. var curitemmap = payitemmapnode.item(j).value; //payitemmap을 담고 있음
  135. //payitemmap 으로 payitemcd 를 찾음
  136. var curitemcd = ""; // payitemmap 에 mapping되는 payitemcd 값
  137. for (var n = 1; n <= instance1.selectNodes("/root/main/payspecdata/payitemmap").length; n++) {
  138. if( model.getValue("/root/main/payspecdata/payitemmap[" + n + "]/payitemmap") == curitemmap ) {
  139. curitemcd = model.getValue("/root/main/payspecdata/payitemmap[" + n + "]/payitemcd");
  140. break;
  141. }
  142. }
  143. //curkey(=ukey) 를 만들어 /root/main/payspecdata/payitemchng 의 ukey column에서 등록된 것이 있는지 확인한다.
  144. //ukey는 payitemchng 에 있는 각 node의 uniqeu key이다. 동일한 것이 등록되었는지 확인하기 위해 ukey 컬럼을 생성해서 가져와 두었다.
  145. var curkey = ""
  146. + grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef("saldfrayflag"))
  147. + grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef("payym"))
  148. + grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef("emplno"))
  149. + curitemcd ;
  150. //payitemchng 에 curkey와 같은 값이 존재하면 grd_payamtlist의 해당 cell에 style을 변경한다.
  151. for (var k = 1; k <= instance1.selectNodes("/root/main/payspecdata/payitemchng").length; k++) {
  152. if( model.getValue("/root/main/payspecdata/payitemchng[" + k + "]/ukey") == curkey ) {
  153. //Style을 변경한다.
  154. //grd_payamtlist.cellStyle("background-color", i, grd_payamtlist.colRef(payitemmapnode.item(j).value) ) = "#66FFFF"; //형광 연두색
  155. grd_payamtlist.cellStyle("color", i, grd_payamtlist.colRef(payitemmapnode.item(j).value) ) = "#FF0000"; //font 색상 red
  156. break;
  157. }
  158. }
  159. } //for end
  160. } //else if end
  161. }
  162. //grd_payamtlist.rebuild();
  163. }
  164. ]]>
  165. </script>
  166. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  167. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  168. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  169. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  170. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  171. <script type="javascript" src="../../../mis/paybnusmngtweb/js/RWP001.js"/>
  172. </xhtml:head>
  173. <xhtml:body style="margin-left:8; margin-right:8; ">
  174. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  175. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">급여소급내역조회</caption>
  176. </group>
  177. <group id="group2" scroll="auto" style="left:0px; top:40px; width:1195px; height:740px; ">
  178. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:10px; width:1193px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  179. <button id="btn_search" class="btn1_letter2" navindex="6" style="left:860px; top:17px; width:56px; height:22px; ">
  180. <caption>조회</caption>
  181. <script type="javascript" ev:event="DOMActivate">
  182. <![CDATA[
  183. //2011.11.29 박준범 추가
  184. cpt_cmt.value = "";
  185. if (grd_payamtlist.nodeset.length> 0) {
  186. //2011.11.03 박준범 comment처리
  187. //btn_next.disabled = false;
  188. model.removeNodeset("/root/main/payspecdata/payamtlist"); // 조회, Scroll시 Transaction후 가져온 data를 받아두는 nodeset
  189. model.removeNodeset("/root/main/griddata/payspecdata/payamtlist"); // Grid에 보여지는 data를 담아두는 nodeset
  190. model.removeNodeset("/root/main/origdata/payamtlist"); // 조회, Scroll시 Transaction후 가져온 data를 누적해둔 nodeset
  191. // (사용자가 data를 수정했는지 여부를 판단하기 위한 기준 nodeset)
  192. // 2011.11.11 박준범 추가
  193. model.removeNodeset("/root/main/changedlist"); // 변경된 급여항목 column의 값만 담는 nodeset 2011.11.11 박준범 추가
  194. model.removeNodeset("/root/main/changedcmt"); // 변경된 cmt column의 값만 담는 nodeset 2011.11.29 박준범 추가
  195. grd_payamtlist.nodeset = "/root/init/temp";
  196. for (var i = grd_payamtlist.cols - 1; i >= 1 ; i--) {
  197. grd_payamtlist.removeColumn(false);
  198. }
  199. grd_payamtlist.caption = "";
  200. model.refresh(); //---------> 하나 또는 둘다 없애는 게 나을 듯
  201. //grd_payamtlist.rebuild(); //---------> 하나 또는 둘다 없애는 게 나을 듯
  202. }
  203. //2011.11.03 박준범 comment처리 후 offset으로 변경
  204. //페이지수 3의 배수로 입력할것!!
  205. //model.setValue("/root/send/payspec/spageno",0);
  206. //model.setValue("/root/send/payspec/epageno",2100);
  207. model.setValue("/root/send/payspec/offset", 0);
  208. model.setValue("/root/send/payspec/sumyn","N");
  209. if (submit("TRRWP21701")) {
  210. model.makeNode("/root/main/griddata/payspecdata/payamtlist");
  211. //함수설명 : 목적 노드에 소스 하위 노드들을 mode방식에 따라 copy 함
  212. //function copyNodeType(strDest, strSrc, mode, destModel, srcModel)
  213. // String [mode] - copy 방식( "replace" | "after" | "before" )
  214. copyNodesetType("/root/main/griddata/payspecdata/payamtlist","/root/main/payspecdata/payamtlist","after");
  215. // 2011.11.11 박준범 추가
  216. copyNodesetType("/root/main/origdata/payamtlist","/root/main/payspecdata/payamtlist","after");
  217. var node = instance1.selectNodes("/root/main/payspecdata/payamtlist[1]/*");
  218. var payitemmapnode = instance1.selectNodes("/root/main/payspecdata/payitemmap[*]/payitemmap");
  219. var payitemcnt = model.getValue("/root/main/payspecdata/paytitlelist/payitemcnt") ;
  220. var payitemcnt2 = model.getValue("/root/main/payspecdata/paytitlelist/payitemcnt2") ;
  221. var teamflag = model.getValue(rdo_teamflag.attribute("ref"));
  222. //2011.11.29 박준범 : 5개 추가해서 8 --> 13
  223. //var primykeycnt = 8; //필수컬럼수
  224. //2011.12.01 박준범 : 1개 추가해서 13 --> 14
  225. var primykeycnt = 14; //필수컬럼수
  226. //필수컬럼 생성
  227. if (node.length > 0 ) {
  228. for(i=0;i<primykeycnt;i++) {
  229. //2011.11.22 박준범 paydd 는 format적용하고 visible 하게 한다.
  230. //if (node.item(i).nodeName == 'saldfrayflag' || node.item(i).nodeName == 'payym' || node.item(i).nodeName == 'paydd') {
  231. if (node.item(i).nodeName == 'saldfrayflag' || node.item(i).nodeName == 'payym' ) {
  232. grd_payamtlist.addColumn("ref:" + node.item(i).nodeName + "; type:output;" + " style:" + "text-align:center; visibility:hidden; ", false);
  233. } else if (node.item(i).nodeName == 'paydd') {
  234. grd_payamtlist.addColumn("ref:" + node.item(i).nodeName + "; type:output;" + "format:yyyy-mm-dd;" + " style:" + "text-align:center; ", false);
  235. //2011.11.29 박준범 비고 컬럼(cmt)은 수정가능하도록 한다.
  236. } else if (node.item(i).nodeName == 'cmt') {
  237. grd_payamtlist.addColumn("ref:" + node.item(i).nodeName + "; type:input;" + "maxbyte:600;" + " style:" + "text-align:left; ", false);
  238. //2011.12.01 박준범 합계(payitemsum) 컬럼 추가
  239. } else if (node.item(i).nodeName == 'payitemsum') {
  240. grd_payamtlist.addColumn("ref:" + node.item(i).nodeName + "; type:output;" + " format:" + "(-)#,###;" + " style:" + "text-align:right; ", false);
  241. } else {
  242. grd_payamtlist.addColumn("ref:" + node.item(i).nodeName + "; type:output;" + " style:" + "text-align:center; ", false);
  243. }
  244. }
  245. }
  246. /*
  247. grd_payamtlist.colwidth(1) = 55;
  248. grd_payamtlist.colwidth(2) = 50;
  249. grd_payamtlist.colwidth(3) = 80;
  250. grd_payamtlist.colwidth(4) = 80;
  251. grd_payamtlist.colwidth(5) = 80;
  252. */
  253. /* 2011.11.29 박준범 - 5개 컬럼을 추가하고 컬럼 순서 변경
  254. grd_payamtlist.colwidth(1) = 70;
  255. grd_payamtlist.colwidth(2) = 55;
  256. grd_payamtlist.colwidth(3) = 50;
  257. grd_payamtlist.colwidth(4) = 80;
  258. grd_payamtlist.colwidth(5) = 80;
  259. grd_payamtlist.colwidth(6) = 80;
  260. */
  261. grd_payamtlist.colwidth(1) = 70;
  262. grd_payamtlist.colwidth(2) = 55;
  263. grd_payamtlist.colwidth(3) = 50;
  264. grd_payamtlist.colwidth(4) = 80;
  265. grd_payamtlist.colwidth(5) = 60;
  266. grd_payamtlist.colwidth(6) = 60;
  267. grd_payamtlist.colwidth(7) = 50;
  268. grd_payamtlist.colwidth(8) = 40;
  269. grd_payamtlist.colwidth(9) = 80;
  270. grd_payamtlist.colwidth(10) = 80;
  271. grd_payamtlist.colwidth(11) = 80;
  272. //2011.12.01 박준범 - 1개 컬럼 추가
  273. grd_payamtlist.colwidth(12) = 80;
  274. //급여출력마스터순서로 컬럼생성
  275. if (payitemmapnode.length > 0 ) {
  276. for(i=0;i<payitemmapnode.length;i++) {
  277. grd_payamtlist.addColumn("ref:" + payitemmapnode.item(i).value + "; type:input;" + " format:" + "(-)#,###;" + "savetype:" + "digit;" + " style:" + "text-align:right; ", false);
  278. grd_payamtlist.colwidth(i + (primykeycnt + 1)) = 80;
  279. }
  280. }
  281. // Title 의 명칭이 길 경우를 대비하여 title을 2개의 row로 구성했음.
  282. grd_payamtlist.caption = model.getValue("/root/main/payspecdata/paytitlelist/paytitle") + "|" +
  283. model.getValue("/root/main/payspecdata/paytitlelist/paytitle");
  284. grd_payamtlist.nodeset = "/root/main/griddata/payspecdata/payamtlist";
  285. //2011.11.29 박준범 - 5개 컬럼 추가 7 --> 12
  286. //2011.12.01 박준범 - 비고까지만 frozen 처리 12--> 4
  287. //grd_payamtlist.frozenCols = 7; //6;
  288. grd_payamtlist.frozenCols = 4;
  289. grd_payamtlist.rebuild();
  290. //2011.11.03 박준범 comment처리 후 offset으로 변경
  291. //SetGridColor(model.getValue("/root/send/payspec/spageno"));
  292. SetGridColor(model.getValue("/root/send/payspec/offset"));
  293. grd_payamtlist.removeRow(false);
  294. model.setFocus("grd_payamtlist");
  295. //2011.11.30 박준범 - 사번을 입력한 경우에는 조회시에 바로 합계도 조회되도록 로직 추가함---------------
  296. if (grd_payamtlist.rows > grd_payamtlist.fixedRows && ipt_emplnos.value != "") {
  297. var currrowcnt = instance1.selectNodes("/root/main/payspecdata/payamtlist");
  298. //2011.11.03 박준범 comment처리 후 offset으로 변경
  299. //페이지수 3의 배수로 입력할것!!
  300. //model.setValue("/root/send/payspec/spageno", model.getValue("/root/send/payspec/epageno"));
  301. //model.setValue("/root/send/payspec/epageno", parseInt(model.getValue("/root/send/payspec/epageno")) + 2100 );
  302. model.setValue("/root/send/payspec/offset", grd_payamtlist.rows - grd_payamtlist.fixedRows);
  303. /*2011.11.03 박준범 아래와 같이 변경함
  304. //맨마지막에 합계를 불러온다.
  305. if (currrowcnt.length >= parseInt(2100)) {
  306. model.setValue("/root/send/payspec/sumyn","N");
  307. } else {
  308. model.setValue("/root/send/payspec/sumyn","Y");
  309. //btn_next.disabled = true;
  310. }
  311. */
  312. model.setValue("/root/send/payspec/sumyn","Y");
  313. model.removeNode("/root/main/payspecdata/payamtlist");
  314. if (submit("TRRWP21701") ) {
  315. copyNodesetType("/root/main/griddata/payspecdata/payamtlist","/root/main/payspecdata/payamtlist","after");
  316. //2011.11.11 박준범 추가
  317. copyNodesetType("/root/main/origdata/payamtlist","/root/main/payspecdata/payamtlist","after");
  318. grd_payamtlist.rebuild();
  319. //2011.11.03 박준범 comment처리 후 offset으로 변경
  320. //SetGridColor(model.getValue("/root/send/payspec/spageno"));
  321. SetGridColor(model.getValue("/root/send/payspec/offset"));
  322. grd_payamtlist.removeRow(false);
  323. model.setFocus("grd_payamtlist");
  324. }
  325. }
  326. // 합계로직의 끝 ---------------------------------
  327. }
  328. ]]>
  329. </script>
  330. </button>
  331. <line id="line13" class="line_4" style="x1:845px; y1:16px; x2:845px; y2:40px; "/>
  332. <button id="btn_emplno" class="icon_search" navindex="5" style="left:706px; top:18px; width:16px; height:16px; ">
  333. <caption/>
  334. <script type="javascript" ev:event="DOMActivate">
  335. <![CDATA[
  336. var recv_list = "emplno,emplnm" ;
  337. rpbfOpenPopUpList("SPRPB00101", ipt_emplnos, recv_list,"","N");
  338. model.refresh();
  339. if (model.getValue(ipt_emplnos.attribute("ref")).length > 0) {
  340. btn_search.dispatch("DOMActivate");
  341. }
  342. ]]>
  343. </script>
  344. </button>
  345. <input id="ipt_emplnos" ref="/root/send/payspec/emplno" class="input_default" navindex="4" style="left:629px; top:18px; width:72px; height:19px; ">
  346. <script type="javascript" ev:event="onkeyup">
  347. <![CDATA[
  348. if (ipt_emplnos.currentText != null && ipt_emplnos.currentText != "" ) {
  349. inputEnterKey("ipt_emplnos", "xforms-value-changed");
  350. }
  351. ]]>
  352. </script>
  353. <script type="javascript" ev:event="xforms-value-changed">
  354. <![CDATA[
  355. var recv_list = "emplno,emplnm" ;
  356. rpbfValidationCheck("EMPLNO", recv_list);
  357. model.refreshpart("/root/send/payspec");
  358. if (model.getValue(ipt_emplnos.attribute("ref")).length > 0) {
  359. btn_search.dispatch("DOMActivate");
  360. }
  361. ]]>
  362. </script>
  363. </input>
  364. <input id="ipt_emplnms" ref="/root/send/payspec/emplnm" class="input_default" style="left:725px; top:18px; width:75px; height:19px; ">
  365. <script type="javascript" ev:event="onkeyup">
  366. <![CDATA[
  367. if (ipt_emplnms.currentText != null && ipt_emplnms.currentText != "" ) {
  368. inputEnterKey("ipt_emplnms", "xforms-value-changed");
  369. }
  370. ]]>
  371. </script>
  372. <script type="javascript" ev:event="xforms-value-changed">
  373. <![CDATA[
  374. var recv_list = "emplno,emplnm" ;
  375. rpbfValidationCheck("EMPLNM", recv_list);
  376. model.refreshpart("/root/send/payspec");
  377. if (model.getValue(ipt_emplnos.attribute("ref")).length > 0) {
  378. btn_search.dispatch("DOMActivate");
  379. }
  380. ]]>
  381. </script>
  382. </input>
  383. <line id="line9" class="line_1" style="x1:0px; y1:75px; x2:1190px; y2:75px; "/>
  384. <caption id="caption34" class="tit_2" style="left:3px; top:59px; width:202px; height:14px; ">급여소급내역</caption>
  385. <caption id="caption22" class="search_name" style="left:265px; top:18px; width:81px; height:17px; ">지급일자</caption>
  386. <input id="ipt_payddfrom" ref="/root/send/payspec/payddfrom" class="input_default" navindex="2" inputtype="date" format="yyyy-mm-dd" style="left:345px; top:18px; width:90px; height:19px; text-align:center; vertical-align:middle; "/>
  387. <datagrid id="grd_payamtlist" allowselection="false" backcoloralternate="transparent" colsep="^" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" navindex="7" style="left:0px; top:80px; width:1190px; height:620px; ">
  388. <script type="javascript" ev:event="onscroll">
  389. <![CDATA[
  390. if( ipt_emplnos.currentText == null || ipt_emplnos.currentText == "" ){
  391. if(grd_payamtlist.vscroll.attribute("max") == grd_payamtlist.vscroll.attribute("pos")) {
  392. var currrowcnt = instance1.selectNodes("/root/main/payspecdata/payamtlist");
  393. //2011.11.03 박준범 comment처리 후 offset으로 변경
  394. //페이지수 3의 배수로 입력할것!!
  395. //model.setValue("/root/send/payspec/spageno", model.getValue("/root/send/payspec/epageno"));
  396. //model.setValue("/root/send/payspec/epageno", parseInt(model.getValue("/root/send/payspec/epageno")) + 2100 );
  397. model.setValue("/root/send/payspec/offset", grd_payamtlist.rows - grd_payamtlist.fixedRows);
  398. /*2011.11.03 박준범 아래와 같이 변경함
  399. //맨마지막에 합계를 불러온다.
  400. if (currrowcnt.length >= parseInt(2100)) {
  401. model.setValue("/root/send/payspec/sumyn","N");
  402. } else {
  403. model.setValue("/root/send/payspec/sumyn","Y");
  404. //btn_next.disabled = true;
  405. }
  406. */
  407. if ( model.getValue("/root/send/payspec/sumyn") == "N" &&
  408. currrowcnt.length < parseInt(model.getValue("/root/send/payspec/pagesize")) ) {
  409. model.setValue("/root/send/payspec/sumyn","Y");
  410. } else if (model.getValue("/root/send/payspec/sumyn") == "Y") { //한번 조회 후에는 다시 조회하지 않도록 함
  411. model.setValue("/root/send/payspec/sumyn","AlreadyRetrieved");
  412. }
  413. model.removeNode("/root/main/payspecdata/payamtlist");
  414. if (submit("TRRWP21701")) {
  415. copyNodesetType("/root/main/griddata/payspecdata/payamtlist","/root/main/payspecdata/payamtlist","after");
  416. //2011.11.11 박준범 추가
  417. copyNodesetType("/root/main/origdata/payamtlist","/root/main/payspecdata/payamtlist","after");
  418. grd_payamtlist.rebuild();
  419. //2011.11.03 박준범 comment처리 후 offset으로 변경
  420. //SetGridColor(model.getValue("/root/send/payspec/spageno"));
  421. SetGridColor(model.getValue("/root/send/payspec/offset"));
  422. grd_payamtlist.removeRow(false);
  423. grd_payamtlist.dispatch("onmouseup");
  424. model.setFocus("grd_payamtlist");
  425. }
  426. }
  427. }
  428. ]]>
  429. </script>
  430. <script type="javascript" ev:event="onkeydown">
  431. <![CDATA[
  432. if( ipt_emplnos.currentText == null || ipt_emplnos.currentText == "" ){
  433. if ( grd_payamtlist.row == (grd_payamtlist.rows - grd_payamtlist.fixedRows + 1) ) {
  434. // page down 키를 누를 때 브라우저가 죽는 현상을 방지하기 위해 강제로 keycode를 변경함
  435. //40: 아래방향 화살표키, 34: page down 키
  436. if(event.keyCode == 34) event.keyCode = 40;
  437. //alert(event.keyCode + "");
  438. var iKey = event.keyCode;
  439. if(iKey == 40) {
  440. var currrowcnt = instance1.selectNodes("/root/main/payspecdata/payamtlist");
  441. //2011.11.03 박준범 comment처리 후 offset으로 변경
  442. //페이지수 3의 배수로 입력할것!!
  443. //model.setValue("/root/send/payspec/spageno", model.getValue("/root/send/payspec/epageno"));
  444. //model.setValue("/root/send/payspec/epageno", parseInt(model.getValue("/root/send/payspec/epageno")) + 2100 );
  445. model.setValue("/root/send/payspec/offset", grd_payamtlist.rows - grd_payamtlist.fixedRows);
  446. /*2011.11.03 박준범 아래와 같이 변경함
  447. //맨마지막에 합계를 불러온다.
  448. if (currrowcnt.length >= parseInt(2100)) {
  449. model.setValue("/root/send/payspec/sumyn","N");
  450. } else {
  451. model.setValue("/root/send/payspec/sumyn","Y");
  452. //btn_next.disabled = true;
  453. }
  454. */
  455. if ( model.getValue("/root/send/payspec/sumyn") == "N" &&
  456. currrowcnt.length < parseInt(model.getValue("/root/send/payspec/pagesize")) ) {
  457. model.setValue("/root/send/payspec/sumyn","Y");
  458. } else if (model.getValue("/root/send/payspec/sumyn") == "Y") { //한번 조회 후에는 다시 조회하지 않도록 함
  459. model.setValue("/root/send/payspec/sumyn","AlreadyRetrieved");
  460. }
  461. model.removeNode("/root/main/payspecdata/payamtlist");
  462. if (submit("TRRWP21701") ) {
  463. copyNodesetType("/root/main/griddata/payspecdata/payamtlist","/root/main/payspecdata/payamtlist","after");
  464. //2011.11.11 박준범 추가
  465. copyNodesetType("/root/main/origdata/payamtlist","/root/main/payspecdata/payamtlist","after");
  466. grd_payamtlist.rebuild();
  467. //2011.11.03 박준범 comment처리 후 offset으로 변경
  468. //SetGridColor(model.getValue("/root/send/payspec/spageno"));
  469. SetGridColor(model.getValue("/root/send/payspec/offset"));
  470. grd_payamtlist.removeRow(false);
  471. model.setFocus("grd_payamtlist");
  472. }
  473. }
  474. }
  475. }
  476. ]]>
  477. </script>
  478. <script type="javascript" ev:event="xforms-value-changed">
  479. <![CDATA[
  480. //----------- 이벤트 전체 박준범 추가 2011.11.11 --------------
  481. //2011.11.29 박준범 - 그리드에서 비고 수정시 그리드 윗부분에 뿌려주기 위해 event 호출
  482. grd_payamtlist.dispatch("onrowchanged");
  483. var currow = grd_payamtlist.row; //현재 row
  484. var curcol = grd_payamtlist.col; //현재 col
  485. // 1. 비고 컬럼을 변경한 경우
  486. // 주의 : 아래의 급여항목을 변경한 경우와 다른 점!! -> 일단 변경되면 무조건 값을 담아 둘 것. 처음 값과의 변경여부 check말라.
  487. if ( grd_payamtlist.colAttribute(curcol, "ref") == "cmt" ) {
  488. //---- 1) /root/main/changedcmt 에 등록된 것이 있으면 update ----
  489. //grid의 값으로 curkey(=ukey) 를 만들어 /root/main/changedcmt 의 ukey column에서 등록된 것이 있는지 확인한다.
  490. //ukey는 changedcmt 에 있는 각 node의 uniqeu key이다. 동일한 것이 등록되었는지 확인하기 위해 ukey 컬럼을 생성해 둔다.
  491. var curkey = ""
  492. + model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/saldfrayflag")
  493. + model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/payym")
  494. + model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/emplno");
  495. var bexist = false; // ukey값을 기준으로 changedcmt에 동일한 값이 이미 등록된 것이 있는지를 나타내는 변수( true, false)
  496. for (var i = 1; i <= instance1.selectNodes("/root/main/changedcmt").length; i++) {
  497. if( model.getValue("/root/main/changedcmt[" + i + "]/ukey") == curkey ) {
  498. // 변경된 값을 /root/main/changedcmt 에서 수정한다.
  499. model.setValue("/root/main/changedcmt[" + i + "]/cmt",
  500. model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/cmt") );
  501. bexist = true;
  502. break;
  503. }
  504. }
  505. if( ! bexist ) {
  506. //------------ 2) 변경된 값을 /root/main/changedcmt 에 등록한다. ----------------
  507. var chglistcnt = instance1.selectNodes("/root/main/changedcmt").length + 1;
  508. model.makeNode("/root/main/changedcmt");
  509. model.makeNode("/root/main/changedcmt[" + chglistcnt + "]/ukey");
  510. model.makeNode("/root/main/changedcmt[" + chglistcnt + "]/saldfrayflag");
  511. model.makeNode("/root/main/changedcmt[" + chglistcnt + "]/payym");
  512. model.makeNode("/root/main/changedcmt[" + chglistcnt + "]/emplno");
  513. model.makeNode("/root/main/changedcmt[" + chglistcnt + "]/cmt");
  514. model.setValue("/root/main/changedcmt[" + chglistcnt+ "]/ukey", curkey );
  515. model.setValue("/root/main/changedcmt[" + chglistcnt+ "]/saldfrayflag", model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/saldfrayflag"));
  516. model.setValue("/root/main/changedcmt[" + chglistcnt+ "]/payym", model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/payym"));
  517. model.setValue("/root/main/changedcmt[" + chglistcnt+ "]/emplno", model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/emplno"));
  518. model.setValue("/root/main/changedcmt[" + chglistcnt+ "]/cmt", model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/cmt"));
  519. }
  520. // 2. 급여항목 컬럼의 금액을 변경한 경우
  521. } else {
  522. var curitemmap = grd_payamtlist.colAttribute(curcol, "ref"); //현재 column의 ref로 payitemmap을 담고 있음
  523. //---- 1) /root/main/changedlist 에 등록된 것이 있으면 우선 해당 node를 삭제한다. ----
  524. //grid의 payitemmap 으로 payitemcd 를 찾음
  525. var curitemcd = ""; // payitemmap 에 mapping되는 payitemcd 값
  526. for (var i = 1; i <= instance1.selectNodes("/root/main/payspecdata/payitemmap").length; i++) {
  527. if( model.getValue("/root/main/payspecdata/payitemmap[" + i + "]/payitemmap") == curitemmap ) {
  528. curitemcd = model.getValue("/root/main/payspecdata/payitemmap[" + i + "]/payitemcd");
  529. break;
  530. }
  531. }
  532. //grid의 값으로 curkey(=ukey) 를 만들어 /root/main/changedlist 의 ukey column에서 등록된 것이 있는지 확인한다.
  533. //ukey는 changedlist에 있는 각 node의 uniqeu key이다. 동일한 것이 등록되었는지 확인하기 위해 ukey 컬럼을 생성해 둔다.
  534. var curkey = ""
  535. + curitemcd
  536. + model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/saldfrayflag")
  537. + model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/payym")
  538. + model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/emplno");
  539. for (var i = 1; i <= instance1.selectNodes("/root/main/changedlist").length; i++) {
  540. if( model.getValue("/root/main/changedlist[" + i + "]/ukey") == curkey ) {
  541. model.removenode("/root/main/changedlist[" + i + "]");
  542. break;
  543. }
  544. }
  545. //Grid에서 변경한 값이 조회한 처음 값과 달라진 경우. /root/main/changedlist node를 생성한다
  546. if ( model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/" + curitemmap) !=
  547. model.getValue("/root/main/origdata/payamtlist[" + currow + "]/" + curitemmap) ) {
  548. //------------ 2) 변경된 값을 /root/main/changedlist 에 등록한다. ----------------
  549. var chglistcnt = instance1.selectNodes("/root/main/changedlist").length + 1;
  550. model.makeNode("/root/main/changedlist");
  551. model.makeNode("/root/main/changedlist[" + chglistcnt + "]/ukey");
  552. model.makeNode("/root/main/changedlist[" + chglistcnt + "]/payitemcd");
  553. model.makeNode("/root/main/changedlist[" + chglistcnt + "]/saldfrayflag");
  554. model.makeNode("/root/main/changedlist[" + chglistcnt + "]/payym");
  555. model.makeNode("/root/main/changedlist[" + chglistcnt + "]/emplno");
  556. model.makeNode("/root/main/changedlist[" + chglistcnt + "]/payitemamt");
  557. model.makeNode("/root/main/changedlist[" + chglistcnt + "]/cmt");
  558. model.setValue("/root/main/changedlist[" + chglistcnt+ "]/ukey", curkey );
  559. model.setValue("/root/main/changedlist[" + chglistcnt+ "]/payitemcd", curitemcd);
  560. model.setValue("/root/main/changedlist[" + chglistcnt+ "]/saldfrayflag", model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/saldfrayflag"));
  561. model.setValue("/root/main/changedlist[" + chglistcnt+ "]/payym", model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/payym"));
  562. model.setValue("/root/main/changedlist[" + chglistcnt+ "]/emplno", model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/emplno"));
  563. model.setValue("/root/main/changedlist[" + chglistcnt+ "]/payitemamt", model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/" + curitemmap));
  564. model.setValue("/root/main/changedlist[" + chglistcnt+ "]/cmt", model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/cmt"));
  565. //2011.12.01 박준범 추가
  566. // Style을 변경한다.
  567. //grd_payamtlist.cellStyle("color", currow, curcol ) = "#FF0000"; //색상 red
  568. grd_payamtlist.cellStyle("font-weight", currow, curcol ) = "bold";
  569. // 처음 조회한 값과 같아진 경우
  570. } else {
  571. //2011.12.01 박준범 추가
  572. // Style을 변경한다.
  573. //grd_payamtlist.cellStyle("color", currow, curcol ) = ""; //색상 black
  574. grd_payamtlist.cellStyle("font-weight", currow, curcol ) = "";
  575. }
  576. }
  577. ]]>
  578. </script>
  579. <script type="javascript" ev:event="onrowchanged">
  580. <![CDATA[
  581. //2011.11.29 박준범 - 비고(cmt) 에 값이 있으면 그리드 윗 부분에 뿌려준다.
  582. if (grd_payamtlist.rows > grd_payamtlist.fixedRows) {
  583. var sCmt = model.getValue(grd_payamtlist.nodeset + "[" + grd_payamtlist.row + "]/cmt");
  584. if (sCmt.length > 0) {
  585. cpt_cmt.value = "▶ 비고 : " + sCmt;
  586. } else {
  587. cpt_cmt.value = "";
  588. }
  589. }
  590. ]]>
  591. </script>
  592. </datagrid>
  593. <button id="btn_saveexcel" class="btn2_letter4" navindex="9" style="left:1125px; top:53px; width:64px; height:19px; ">
  594. <caption>엑셀저장</caption>
  595. <script type="javascript" ev:event="DOMActivate">
  596. <![CDATA[
  597. var fileName = window.fileDialog ("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  598. if (fileName != "")
  599. {
  600. grd_payamtlist.saveExcel(fileName, "SheetName:sheet1");
  601. }
  602. ]]>
  603. </script>
  604. </button>
  605. <select1 id="cmb_instcd" ref="/root/send/payspec/instcd" class="combo_s_essential" disabled="true" navindex="1" appearance="minimal" style="left:90px; top:18px; width:140px; height:19px; ">
  606. <choices>
  607. <itemset>
  608. <label/>
  609. <value/>
  610. </itemset>
  611. </choices>
  612. </select1>
  613. <caption id="caption3" class="search_name" style="left:36px; top:19px; width:54px; height:17px; ">기관</caption>
  614. <caption id="caption5" class="search_name" style="left:575px; top:19px; width:50px; height:17px; ">사번</caption>
  615. <output id="output1" ref="/root/send/payspec/offset" visibility="hidden" style="left:980px; top:15px; width:50px; height:19px; "/>
  616. <output id="output2" ref="/root/send/payspec/pagesize" visibility="hidden" style="left:1040px; top:15px; width:45px; height:19px; "/>
  617. <datagrid id="grd_changedlist" nodeset="/root/main/changedlist" visibility="hidden" caption="ukey^saldfrayflag^payym^payitemcd^emplno^payitemamt^cmt" colsep="^" colwidth="85, 82, 46, 75, 54, 75, 80" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:20px; top:380px; width:540px; height:150px; ">
  618. <col ref="ukey"/>
  619. <col ref="saldfrayflag"/>
  620. <col ref="payym"/>
  621. <col ref="payitemcd"/>
  622. <col ref="emplno"/>
  623. <col ref="payitemamt"/>
  624. <col ref="cmt"/>
  625. </datagrid>
  626. <input id="ipt_payddto" ref="/root/send/payspec/payddto" class="input_default" navindex="3" inputtype="date" format="yyyy-mm-dd" style="left:450px; top:18px; width:90px; height:19px; text-align:center; vertical-align:middle; "/>
  627. <caption id="caption7" style="left:436px; top:18px; width:15px; height:20px; font-weight:bold; ">~</caption>
  628. <caption id="cpt_cmt" style="left:195px; top:56px; width:920px; height:20px; font-weight:bold; color:#ff0000; ">caption</caption>
  629. <datagrid id="grd_changedcmt" nodeset="/root/main/changedcmt" visibility="hidden" caption="ukey^saldfrayflag^payym^emplno^cmt" colsep="^" colwidth="85, 82, 46, 54, 75" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:570px; top:380px; width:380px; height:150px; ">
  630. <col ref="ukey"/>
  631. <col ref="saldfrayflag"/>
  632. <col ref="payym"/>
  633. <col ref="emplno"/>
  634. <col ref="cmt"/>
  635. </datagrid>
  636. </group>
  637. <group id="grp_btn" scroll="auto" style="left:0px; top:13px; width:1195px; height:27px; ">
  638. <button id="button5" class="btn4_letter2" navindex="8" style="left:1134px; top:3px; width:56px; height:22px; ">
  639. <caption>저장</caption>
  640. <script type="javascript" ev:event="DOMActivate">
  641. <![CDATA[
  642. model.makeValue("/root/send/payamtlist",grd_payamtlist.getUpdateData());
  643. //2011.11.14 박준범 추가
  644. model.makeValue("/root/send/changedlist",grd_changedlist.getUpdateDataAll("i") );
  645. //2011.11.29 박준범 추가
  646. model.makeValue("/root/send/changedcmt",grd_changedcmt.getUpdateDataAll("u") );
  647. var updtdata = getGridUpdateData(grd_payamtlist);
  648. if (updtdata == "" ) {
  649. messageBox("변경된 데이터가","I004");
  650. return;
  651. }
  652. if (submit("TXRWP21701")){
  653. messageBox("정상적으로 처리되었습니다.", "E999", "");
  654. model.resetInstanceNode("/root/send/payamtlist");
  655. //2011.11.14 박준범 추가
  656. //model.resetInstanceNode("/root/send/changedlist");
  657. //2011.11.29 박준범 추가
  658. //model.resetInstanceNode("/root/send/changedcmt");
  659. btn_search.dispatch("DOMActivate");
  660. }
  661. model.refresh();
  662. ]]>
  663. </script>
  664. </button>
  665. <button id="btn_next" class="btn4_letter2" visibility="hidden" style="left:1075px; top:3px; width:56px; height:22px; ">
  666. <caption>다음</caption>
  667. <script type="javascript" ev:event="DOMActivate">
  668. <![CDATA[
  669. /**************************************************************************************************************
  670. 2011.11.03 박준범 - 다음 버튼 click시 처리되던 것을 onScroll 이벤트에서 처리되는 것으로 변경했음
  671. 1) btn_next 버튼 hidden처리. click event 내용 comment처리
  672. 2) spageno, epageno 를 기준으로 page처리 하던 것을 offset, pagesize기준으로 처리되도록 변경
  673. var currrowcnt = instance1.selectNodes("/root/main/payspecdata/payamtlist");
  674. //페이지수 3의 배수로 입력할것!!
  675. model.setValue("/root/send/payspec/spageno", model.getValue("/root/send/payspec/epageno"));
  676. model.setValue("/root/send/payspec/epageno", parseInt(model.getValue("/root/send/payspec/epageno")) + 2100 );
  677. //맨마지막에 합계를 불러온다.
  678. if (currrowcnt.length >= parseInt(2100)) {
  679. model.setValue("/root/send/payspec/sumyn","N");
  680. } else {
  681. model.setValue("/root/send/payspec/sumyn","Y");
  682. btn_next.disabled = true;
  683. }
  684. model.removeNode("/root/main/payspecdata/payamtlist");
  685. submit("TRRWP21701");
  686. copyNodesetType("/root/main/griddata/payspecdata/payamtlist","/root/main/payspecdata/payamtlist","after");
  687. grd_payamtlist.rebuild();
  688. SetGridColor(model.getValue("/root/send/payspec/spageno"));
  689. grd_payamtlist.removeRow(false);
  690. ********************************************************************************************************************/
  691. ]]>
  692. </script>
  693. </button>
  694. <line id="line19" class="line_6" style="x1:0px; y1:25; x2:1195px; y2:25px; "/>
  695. </group>
  696. <select1 id="rdo_teamflag" ref="/root/send/payspec/teamflag" visibility="hidden" appearance="full" cols="2" overflow="visible" style="left:70px; top:750px; width:135px; height:20px; border-style:none; ">
  697. <choices>
  698. <item>
  699. <label>인사팀용</label>
  700. <value>1</value>
  701. </item>
  702. <item>
  703. <label>재무팀용</label>
  704. <value>2</value>
  705. </item>
  706. </choices>
  707. </select1>
  708. <select1 id="cmb_payclsprfshipflag" ref="/root/send/payspec/payclsprfshipflag" class="combo_s_essential" visibility="hidden" appearance="minimal" style="left:485px; top:750px; width:100px; height:19px; ">
  709. <choices>
  710. <itemset>
  711. <label/>
  712. <value/>
  713. </itemset>
  714. </choices>
  715. </select1>
  716. <caption id="caption21" class="search_name" visibility="hidden" style="left:589px; top:750px; width:86px; height:17px; ">급여종류:</caption>
  717. <caption id="caption2" class="search_name" visibility="hidden" style="left:214px; top:750px; width:87px; height:17px; ">직원구분 :</caption>
  718. <caption id="caption4" class="search_name" visibility="hidden" style="left:403px; top:750px; width:84px; height:17px; ">호봉구분:</caption>
  719. <select1 id="cmb_holyordflag" ref="/root/send/payspec/holyordflag" class="combo_s_essential" visibility="hidden" appearance="minimal" style="left:301px; top:750px; width:96px; height:19px; ">
  720. <choices>
  721. <itemset>
  722. <label/>
  723. <value/>
  724. </itemset>
  725. </choices>
  726. </select1>
  727. <select1 id="cmb_SalDfrayFlag" ref="/root/send/payspec/saldfrayflag" class="combo_s_essential" visibility="hidden" appearance="minimal" style="left:670px; top:750px; width:98px; height:19px; ">
  728. <choices>
  729. <itemset>
  730. <label/>
  731. <value/>
  732. </itemset>
  733. </choices>
  734. <script type="javascript" ev:event="xforms-value-changed">
  735. <![CDATA[
  736. if (DUTY_PAY_YN == "Y" || cmb_SalDfrayFlag.value == "2") {
  737. cmb_instcd.disabled = false;
  738. }
  739. else {
  740. cmb_instcd.disabled = true;
  741. model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
  742. }
  743. misfComboInstCdListMulti("cmb_instcd",getCurrentDate(),"","N");
  744. misfComboComCdListMulti("R0112,R0066,R0097","cmb_SalDfrayFlag,cmb_holyordflag,cmb_payclsprfshipflag");
  745. addComboItem( "cmb_payclsprfshipflag", "[-- 전체 --]", "%", "above");
  746. addComboItem( "cmb_holyordflag", "[-- 전체 --]", "", "above");
  747. model.setValue(cmb_payclsprfshipflag.attribute("ref"), "%");
  748. model.setValue(cmb_holyordflag.attribute("ref"), "");
  749. model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
  750. model.refresh();
  751. ]]>
  752. </script>
  753. </select1>
  754. </xhtml:body>
  755. </xhtml:html>