SMRPV03200_기본업무지표(F-KPI)등록.xrw 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774
  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. <list>
  11. <idxflag>
  12. <idxflaglist/>
  13. </idxflag>
  14. </list>
  15. </main>
  16. <send>
  17. <idxflag>
  18. <valuyy/>
  19. <valuclscd>01</valuclscd>
  20. <valumdlcd>001</valumdlcd>
  21. <valuclsdetlcd>004</valuclsdetlcd>
  22. <teamchfflag/>
  23. <instcd/>
  24. <deptcd/>
  25. <deptnm/>
  26. <fromdd/>
  27. <todd/>
  28. <concrcd/>
  29. <infdept/>
  30. </idxflag>
  31. <preidxflag>
  32. </preidxflag>
  33. <save>
  34. <idxflaglist/>
  35. </save>
  36. <findinspmthd/>
  37. </send>
  38. <init>
  39. <idxmaxcnt/>
  40. </init>
  41. <hidden/>
  42. <temp>
  43. <trgtemplno/>
  44. </temp>
  45. <target/>
  46. </root>
  47. </instance>
  48. <script type="javascript" ev:event="xforms-ready">
  49. <![CDATA[
  50. /* Grid 초기화 */
  51. misfGridInit(grd_IdxFlag);
  52. /* Submit의 ref에 참조 될 Node들은 꼭 Instance에 생성 해야 함.*/
  53. /* Grid의 Mater, Detail관계 설정
  54. misfMsterDetailSet(관계설정할 Grid, Mater가 될 Grid, submit ID, 저장여부) */
  55. misfMsterDetailSet(grd_IdxFlag,null, "TRRPV03201" ,"Y");
  56. var curdate = getCurrentDate();
  57. model.setValue(ipt_valuyy.attribute("ref") , curdate.substr(0, 4));
  58. var trgtemplno = model.getValue("/root/target/trgtemplno");
  59. if(model.getValue("/root/target/trgtemplno") !=""){
  60. var fromyy = model.getValue("/root/target/fromdd").substr(0,4);
  61. rpvfGetAndSetUserInfo(fromyy,trgtemplno);
  62. var instcd = model.getValue("/root/bizgoalkpi/valuempllist/instcd");
  63. var unitcd = model.getValue("/root/bizgoalkpi/valuempllist/unitcd");
  64. var deptnm = model.getValue("/root/bizgoalkpi/valuempllist/deptnm");
  65. var emplno = trgtemplno;
  66. }else{
  67. var instcd= getUserInfo("dutplceinstcd");
  68. var unitcd= getUserInfo("posdeptcd");
  69. var deptnm= getUserInfo("posdeptnm");
  70. var emplno= getUserInfo("userid");
  71. }
  72. model.setValue(cmb_instcd.attribute("ref") , instcd);
  73. model.setValue(ipt_deptcd.attribute("ref") , unitcd);
  74. model.setValue(ipt_deptnm.attribute("ref") , deptnm);
  75. rpvfComboInstCdList("cmb_instcd");
  76. rpvfComboIdxFlagCodeList(model.getValue(cmb_instcd.attribute("ref")) , model.getValue(ipt_deptcd.attribute("ref")) , grd_IdxFlag , "idxflag");
  77. //fGetIdxCnt();
  78. rpvfComboDisableYn("cmb_instcd","ipt_deptcd,btn_deptcd,ipt_deptnm,btn_preidxcopy",instcd,emplno);
  79. rpvfGetUserAuth(getUserInfo("dutplceinstcd"), getUserInfo("userid"));
  80. if(DUTY_VALU_YN =='Y'){
  81. misfSetReadOnlyCol(grd_IdxFlag, "useyn", false);
  82. cap_fromdd.visible = true;
  83. ipt_fromdd.visible = true;
  84. ipt_todd.visible = true;
  85. caption5.visible = true;
  86. //ipt_fromdd.value = curdate;
  87. //ipt_todd.value = curdate;
  88. btn_saveexcel.visible = true;
  89. ipt_deptnm.visible = true;
  90. btn_deptcd.visible = true;
  91. cmb_concrcd.visible = false;
  92. cap_infdept.visible = false;
  93. cmb_infdept.visible = false;
  94. btn_delete.disabled = false;
  95. if (getUserInfo("dutplceinstcd") == "001") {
  96. btn_preidxcopy.visible = true;
  97. }
  98. else {
  99. btn_preidxcopy.visible = false;
  100. }
  101. }else{
  102. misfSetReadOnlyCol(grd_IdxFlag, "useyn", true);
  103. cap_fromdd.visible = false;
  104. ipt_fromdd.visible = false;
  105. ipt_todd.visible = false;
  106. caption5.visible = false;
  107. ipt_fromdd.value = '20000101';
  108. ipt_todd.value = '99991231';
  109. ipt_deptnm.visible = false;
  110. btn_deptcd.visible = false;
  111. cmb_concrcd.visible = true;
  112. cap_infdept.visible = true;
  113. cmb_infdept.visible = true;
  114. btn_saveexcel.visible = false;
  115. btn_delete.disabled = true;
  116. rpvfComboConCrList("cmb_concrcd" , emplno , curdate.substr(0, 4));
  117. cmb_concrcd.select(0);
  118. btn_preidxcopy.visible = false;
  119. }
  120. model.refresh();
  121. ]]>
  122. </script>
  123. <submission id="TRRPV00400" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/idxflag" resultref="/root/main/list/valusmallcls"/>
  124. <submission id="TRRPV03201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/idxflag" resultref="/root/main/list/idxflag"/>
  125. <submission id="TRRPV03203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/preidxflag" resultref="/root/main/list/preidxflag"/>
  126. <submission id="TXRPV03201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hidden/temp"/>
  127. <submission id="TXRPV03203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/idxflag" resultref="/root/temp"/>
  128. <script type="javascript" ev:event="xforms-model-destruct">
  129. <![CDATA[
  130. if (getGridUpdateData(grd_IdxFlag) != "" ) {
  131. var save_val = messageBox("변경된 자료가 존재 합니다. ", "Q002");
  132. if (save_val == "6") {
  133. btn_save.dispatch("DOMActivate");
  134. }
  135. }
  136. ]]>
  137. </script>
  138. </model>
  139. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  140. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  141. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  142. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  143. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  144. <script type="javascript" src="../../../mis/valuationmngtweb/js/RPV001.js"/>
  145. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  146. <script type="javascript">
  147. <![CDATA[
  148. function fGetIdxCnt()
  149. {
  150. if(getUserInfo("jobrespcd") == "1070" || getUserInfo("jobrespcd") == "2430" ||getUserInfo("jobrespcd") == "2010" ||getUserInfo("jobrespcd") == "1086" ) //로긴한 사용자가 팀장이라면
  151. {
  152. model.setValue("send/idxflag/teamchfflag" , "1");
  153. }
  154. else if(getUserInfo("jobrespcd") == "1901") //로긴한 사용자가 UM이라면
  155. {
  156. model.setValue("send/idxflag/teamchfflag" , "2");
  157. }
  158. else
  159. {
  160. model.setValue("send/idxflag/teamchfflag" , "3");
  161. }
  162. submit("TRRPV00400");
  163. model.setValue("/root/init/idxmaxcnt",model.getValue("/root/main/list/valusmallcls/valusmallclslist/valuitemcnt"));
  164. }
  165. function fGetMaxPrtSeqNo()
  166. {
  167. var maxprtseqno = "";
  168. for(var currow = grd_IdxFlag.fixedRows ; currow < grd_IdxFlag.rows; currow++)
  169. {
  170. if(maxprtseqno < parseInt(grd_IdxFlag.valueMatrix(currow , grd_IdxFlag.colRef("prtseqno"))))
  171. maxprtseqno = grd_IdxFlag.valueMatrix(currow , grd_IdxFlag.colRef("prtseqno"));
  172. }
  173. if(maxprtseqno.length== 0)maxprtseqno = 1;
  174. else maxprtseqno = parseInt(maxprtseqno) + 1;
  175. return maxprtseqno;
  176. }
  177. function fGetPreIdxCopy()
  178. {
  179. if(!isRequiredControls("ipt_valuyy")) return;
  180. if( messageBox("전년도 복사시 " + ipt_valuyy.value + "년도의 Data는 모두 지워집니다.", "Q003") != '6') return;
  181. submit("TXRPV03203");
  182. btn_search.dispatch("DOMActivate");
  183. // if ( !isRequiredControls("ipt_valuyy" , "cmb_instcd", "ipt_deptcd") ) {
  184. // return false;
  185. // }
  186. //
  187. // var curyear = model.getValue(ipt_valuyy.attribute("ref"));
  188. // var preyear = parseInt(curyear) -1;
  189. // model.copyNode("/root/send/preidxflag", "root/send/idxflag");
  190. //
  191. // model.makeNode("/root/send/preidxflag/useyn");
  192. // model.setValue("/root/send/preidxflag/valuyy",preyear);
  193. // model.setValue("/root/send/preidxflag/useyn","Y");
  194. // submit("TRRPV03203");
  195. //
  196. // var node = "/root/main/list/preidxflag";
  197. // var nodename = "idxflaglist";
  198. // var codynode = instance1.selectNodes(node + "/*");
  199. // var addRow = grd_IdxFlag.rows - grd_IdxFlag.fixedRows;
  200. // var duplchk = false;
  201. //
  202. // if(model.getValue(grd_IdxFlag.nodeset + "[" + addRow + "]/idxcd").length > 0)addRow = addRow + 1;
  203. // for (var j = 1; j <= codynode.length ; j++) {
  204. // duplchk = false;
  205. // for(var row = grd_IdxFlag.fixedRows ; row < grd_IdxFlag.rows ; row++)
  206. // {
  207. // if(grd_IdxFlag.valueMatrix(row , grd_IdxFlag.colRef("rsltidx")) == model.getValue(node +"/" + nodename + "[" + j + "]/rsltidx") &&
  208. // grd_IdxFlag.valueMatrix(row , grd_IdxFlag.colRef("inspmthd")) == model.getValue(node +"/" + nodename + "[" + j + "]/inspmthd"))
  209. // {
  210. // duplchk = true;
  211. // break;
  212. // }
  213. // }
  214. //
  215. // if(duplchk == false)
  216. // {
  217. // if(addRow == 0 || addRow > grd_IdxFlag.rows - grd_IdxFlag.fixedRows)
  218. // {
  219. // misfGridIUD(grd_IdxFlag,"A");
  220. // addRow = grd_IdxFlag.rows - grd_IdxFlag.fixedRows;
  221. //
  222. // model.setValue(grd_IdxFlag.attribute("nodeset")+"["+addRow+"]/valuyy", model.getValue(ipt_valuyy.attribute("ref")));
  223. // model.setValue(grd_IdxFlag.attribute("nodeset")+"["+addRow+"]/instcd", model.getValue(cmb_instcd.attribute("ref")));
  224. // model.setValue(grd_IdxFlag.attribute("nodeset")+"["+addRow+"]/deptcd", model.getValue(ipt_deptcd.attribute("ref")));
  225. // model.setValue(grd_IdxFlag.attribute("nodeset")+"["+addRow+"]/prtseqno", fGetMaxPrtSeqNo());
  226. // model.setValue(grd_IdxFlag.attribute("nodeset")+"["+addRow+"]/useyn", "Y");
  227. // model.setValue(grd_IdxFlag.attribute("nodeset")+"["+addRow+"]/valuclscd", model.getValue("/root/send/idxflag/valuclscd"));
  228. // model.setValue(grd_IdxFlag.attribute("nodeset")+"["+addRow+"]/valumdlcd", model.getValue("/root/send/idxflag/valumdlcd"));
  229. // model.setValue(grd_IdxFlag.attribute("nodeset")+"["+addRow+"]/valuclsdetlcd", model.getValue("/root/send/idxflag/valuclsdetlcd"));
  230. // }
  231. // model.setValue(grd_IdxFlag.nodeset + "[" + addRow + "]/idxflag" , model.getValue(node +"/" + nodename + "[" + j + "]/idxflag"));
  232. // model.setValue(grd_IdxFlag.nodeset + "[" + addRow + "]/idxcd" , model.getValue(node +"/" + nodename + "[" + j + "]/idxcd"));
  233. // model.setValue(grd_IdxFlag.nodeset + "[" + addRow + "]/rsltidx" , model.getValue(node +"/" + nodename + "[" + j + "]/rsltidx"));
  234. // model.setValue(grd_IdxFlag.nodeset + "[" + addRow + "]/inspmthd" , model.getValue(node +"/" + nodename + "[" + j + "]/inspmthd"));
  235. // addRow = addRow + 1;
  236. // }
  237. // }
  238. //
  239. // model.refresh();
  240. }
  241. function fGetInspMthdFind(pinspmthd)
  242. {
  243. for(var row = grd_IdxFlag.fixedRows ; row < grd_IdxFlag.rows; row++)
  244. {
  245. if(grd_IdxFlag.valueMatrix(row , grd_IdxFlag.colRef("inspmthd")).indexOf(pinspmthd) != -1 || grd_IdxFlag.valueMatrix(row , grd_IdxFlag.colRef("rsltidx")).indexOf(pinspmthd) != -1)
  246. {
  247. grd_IdxFlag.rowHeight(row)= 23;
  248. //grd_IdxFlag.cellstyle("background-color", row, 1, row, 6) = "#ffff99";
  249. }
  250. else
  251. {
  252. grd_IdxFlag.rowHeight(row)= 0;
  253. //grd_IdxFlag.cellstyle("background-color", row, 1, row, 6) = "#ffffff";
  254. }
  255. }
  256. model.refresh();
  257. }
  258. function fSettingIdxInfoList(pdatagrid, pnode, nodename){
  259. var codynode = instance1.selectNodes(pnode + "/*");
  260. var addRow = pdatagrid.rows - pdatagrid.fixedRows;
  261. if(model.getValue(pdatagrid.nodeset + "[" + addRow + "]/idxcd").length > 0)addRow = addRow + 1;
  262. for (var j = 1; j <= codynode.length ; j++) {
  263. if(addRow == 0 || addRow > pdatagrid.rows - pdatagrid.fixedRows)
  264. {
  265. misfGridIUD(pdatagrid,"A");
  266. if(DUTY_VALU_YN =='Y'){
  267. grd_IdxFlag.isReadOnly(grd_IdxFlag.row, grd_IdxFlag.colRef("rsltidx")) = false;
  268. }
  269. else {
  270. grd_IdxFlag.isReadOnly(grd_IdxFlag.row, grd_IdxFlag.colRef("rsltidx")) = true;
  271. }
  272. addRow = pdatagrid.rows - pdatagrid.fixedRows;
  273. }
  274. model.setValue(pdatagrid.nodeset + "[" + addRow + "]/rsltidx" , model.getValue(pnode +"/" + nodename + "[" + j + "]/rsltidx"));
  275. model.setValue(pdatagrid.nodeset + "[" + addRow + "]/inspmthd" , model.getValue(pnode +"/" + nodename + "[" + j + "]/inspmthd"));
  276. model.setValue(pdatagrid.nodeset + "[" + addRow + "]/valuyy", model.getValue(ipt_valuyy.attribute("ref")));
  277. model.setValue(pdatagrid.nodeset + "[" + addRow + "]/instcd", model.getValue(cmb_instcd.attribute("ref")));
  278. model.setValue(pdatagrid.nodeset + "[" + addRow + "]/deptcd", model.getValue(ipt_deptcd.attribute("ref")));
  279. model.setValue(pdatagrid.nodeset + "[" + addRow + "]/prtseqno", fGetMaxPrtSeqNo());
  280. model.setValue(pdatagrid.nodeset + "[" + addRow + "]/useyn", "Y");
  281. model.setValue(pdatagrid.nodeset + "[" + addRow + "]/valuclscd", model.getValue("/root/send/idxflag/valuclscd"));
  282. model.setValue(pdatagrid.nodeset + "[" + addRow + "]/valumdlcd", model.getValue("/root/send/idxflag/valumdlcd"));
  283. model.setValue(pdatagrid.nodeset + "[" + addRow + "]/valuclsdetlcd", model.getValue("/root/send/idxflag/valuclsdetlcd"));
  284. var idxflagorinm = model.getValue(pnode +"/" + nodename + "[" + j + "]/idxflagnm");
  285. var node = instance1.selectNodes("/root/init/grd_IdxFlag/idxflag/idxflaglist/*");
  286. for (var i = 0; i < node.length; i++) {
  287. //alert(node.item(i).nodename);
  288. //if (node.item(i).nodename == "idxflag") {
  289. var idxflag = model.getValue("/root/init/grd_IdxFlag/idxflag/idxflaglist[" + i + "]/idxflag");
  290. //alert(idxflag);
  291. //}
  292. //if (node.item(i).nodename == "idxflagnm") {
  293. var idxflagnm = model.getValue("/root/init/grd_IdxFlag/idxflag/idxflaglist[" + i + "]//idxflagnm");
  294. //alert(idxflagnm);
  295. if (idxflagnm == idxflagorinm) {
  296. model.setValue(pdatagrid.nodeset + "[" + addRow + "]/idxflag", idxflag);
  297. break;
  298. }
  299. //}
  300. //if (idxflagnm ==
  301. }
  302. addRow = addRow + 1;
  303. }
  304. model.refresh();
  305. }
  306. ]]>
  307. </script>
  308. </xhtml:head>
  309. <xhtml:body guideline="1,1171;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  310. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  311. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">기본업무지표등록</caption>
  312. </group>
  313. <group id="group2" scroll="auto" style="left:0px; top:38; width:1195px; height:744; ">
  314. <datagrid id="grd_IdxFlagexcel" nodeset="/root/main/list/idxflag/idxflaglist" caption="기관^부서^지표구분^성과지표^측정방법^입력일자^승인" colsep="^" colwidth="100, 100, 117, 425, 475, 100, 35, 100, 100, 100, 100, 100, 100, 100, 100, 100" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:0px; top:255px; width:1195px; height:144px; ">
  315. <col ref="instnm"/>
  316. <col ref="deptnm"/>
  317. <col ref="idxflagnm" type="output"/>
  318. <col ref="rsltidx" type="output" maxlength="900"/>
  319. <col ref="inspmthd" type="output" maxlength="900"/>
  320. <col ref="inputdd" style="text-align:center; vertical-align:middle; "/>
  321. <col checkvalue="Y,N" ref="useyn" type="checkbox"/>
  322. <col ref="idxcd" visibility="hidden"/>
  323. <col ref="prtseqno" visibility="hidden"/>
  324. <col ref="instcd" visibility="hidden"/>
  325. <col ref="deptcd" visibility="hidden"/>
  326. <col ref="valuyy" visibility="hidden"/>
  327. <col ref="valuclscd" visibility="hidden"/>
  328. <col ref="valumdlcd" visibility="hidden"/>
  329. <col ref="valuclsdetlcd" visibility="hidden"/>
  330. <col ref="oldidxflag" visibility="hidden"/>
  331. </datagrid>
  332. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:0; top:10; width:1195; height:35px; "/>
  333. <line id="line13" class="line_4" style="x1:1110px; y1:16px; x2:1110px; y2:38px; "/>
  334. <button id="btn_search" class="btn1_letter2" style="left:1125px; top:16px; width:56px; height:22px; ">
  335. <caption>조회</caption>
  336. <script type="javascript" ev:event="DOMActivate">
  337. <![CDATA[
  338. if ( !isRequiredControls("ipt_valuyy" , "cmb_instcd") ) {
  339. return false;
  340. }
  341. btn_findclear.dispatch("DOMActivate");
  342. misfMsterDetailRetrieve();
  343. for (var i = grd_IdxFlag.fixedRows; i < grd_IdxFlag.rows; i++) {
  344. if(DUTY_VALU_YN =='Y'){
  345. misfSetReadOnlyCol(grd_IdxFlag, "useyn", false);
  346. grd_IdxFlag.isReadOnly(i, grd_IdxFlag.colRef("rsltidx")) = false;
  347. }
  348. else {
  349. misfSetReadOnlyCol(grd_IdxFlag, "useyn", true);
  350. if (grd_IdxFlag.valueMatrix(i, grd_IdxFlag.colRef("useyn")) == "Y") {
  351. grd_IdxFlag.isReadOnly(i, grd_IdxFlag.colRef("rsltidx")) = true;
  352. }
  353. else {
  354. grd_IdxFlag.isReadOnly(i, grd_IdxFlag.colRef("rsltidx")) = false;
  355. }
  356. }
  357. }
  358. ]]>
  359. </script>
  360. </button>
  361. <line id="line2" class="line_1" style="x1:0px; y1:69px; x2:1195px; y2:69px; "/>
  362. <button id="btn_insert" class="btn2_letter3" style="left:1084px; top:48px; width:53px; height:19px; ">
  363. <caption>행추가</caption>
  364. <script type="javascript" ev:event="DOMActivate">
  365. <![CDATA[
  366. if ( !isRequiredControls("ipt_valuyy" , "cmb_instcd", "ipt_deptcd") ) {
  367. return false;
  368. }
  369. /*
  370. if(model.getValue("/root/init/idxmaxcnt") <= (grd_IdxFlag.rows - grd_IdxFlag.fixedRows))
  371. {
  372. messageBox("기본업무지표 최대 항목갯수는 " + model.getValue("/root/init/idxmaxcnt") + "입니다. 추가할수","I004");
  373. return;
  374. }
  375. */
  376. misfGridIUD(grd_IdxFlag, "A");
  377. model.setValue(grd_IdxFlag.attribute("nodeset")+"["+(grd_IdxFlag.row - grd_IdxFlag.fixedRows + 1)+"]/valuyy", model.getValue(ipt_valuyy.attribute("ref")));
  378. model.setValue(grd_IdxFlag.attribute("nodeset")+"["+(grd_IdxFlag.row - grd_IdxFlag.fixedRows + 1)+"]/instcd", model.getValue(cmb_instcd.attribute("ref")));
  379. model.setValue(grd_IdxFlag.attribute("nodeset")+"["+(grd_IdxFlag.row - grd_IdxFlag.fixedRows + 1)+"]/deptcd", model.getValue(ipt_deptcd.attribute("ref")));
  380. model.setValue(grd_IdxFlag.attribute("nodeset")+"["+(grd_IdxFlag.row - grd_IdxFlag.fixedRows + 1)+"]/prtseqno", fGetMaxPrtSeqNo());
  381. model.setValue(grd_IdxFlag.attribute("nodeset")+"["+(grd_IdxFlag.row - grd_IdxFlag.fixedRows + 1)+"]/valuclscd", model.getValue("/root/send/idxflag/valuclscd"));
  382. model.setValue(grd_IdxFlag.attribute("nodeset")+"["+(grd_IdxFlag.row - grd_IdxFlag.fixedRows + 1)+"]/valumdlcd", model.getValue("/root/send/idxflag/valumdlcd"));
  383. model.setValue(grd_IdxFlag.attribute("nodeset")+"["+(grd_IdxFlag.row - grd_IdxFlag.fixedRows + 1)+"]/valuclsdetlcd", model.getValue("/root/send/idxflag/valuclsdetlcd"));
  384. misfGetUserAuth();
  385. if(DUTY_VALU_YN =='Y'){
  386. misfSetReadOnlyCol(grd_IdxFlag, "useyn", false);
  387. model.setValue(grd_IdxFlag.attribute("nodeset")+"["+(grd_IdxFlag.row - grd_IdxFlag.fixedRows + 1)+"]/useyn", "Y");
  388. //grd_IdxFlag.colhidden(4) = false;
  389. }else{
  390. misfSetReadOnlyCol(grd_IdxFlag, "useyn", true);
  391. model.setValue(grd_IdxFlag.attribute("nodeset")+"["+(grd_IdxFlag.row - grd_IdxFlag.fixedRows + 1)+"]/useyn", "N");
  392. //grd_IdxFlag.colhidden(4) = true;
  393. }
  394. grd_IdxFlag.isReadOnly(grd_IdxFlag.row, grd_IdxFlag.colRef("rsltidx")) = false;
  395. ]]>
  396. </script>
  397. </button>
  398. <button id="btn_delete" class="btn2_letter3" style="left:1139px; top:48px; width:53px; height:19px; ">
  399. <caption>행삭제</caption>
  400. <script type="javascript" ev:event="DOMActivate">
  401. <![CDATA[
  402. misfGridIUD(grd_IdxFlag, "D");
  403. ]]>
  404. </script>
  405. </button>
  406. <select1 id="cmb_instcd" ref="/root/send/idxflag/instcd" class="combo_s_essential" appearance="minimal" style="left:292px; top:18px; width:219px; height:19px; ">
  407. <choices>
  408. <itemset>
  409. <label/>
  410. <value/>
  411. </itemset>
  412. </choices>
  413. <script type="javascript" ev:event="xforms-value-changed">
  414. <![CDATA[
  415. model.refresh();
  416. misfGridInit(grd_IdxFlag);
  417. rpvfComboIdxFlagCodeList(model.getValue(cmb_instcd.attribute("ref")) , model.getValue(ipt_deptcd.attribute("ref")) , grd_IdxFlag , "idxflag");
  418. btn_search.dispatch("DOMActivate");
  419. ]]>
  420. </script>
  421. </select1>
  422. <caption id="cap_instcd" class="search_name" style="left:231px; top:19px; width:61px; height:17px; vertical-align:middle; ">기관 :</caption>
  423. <button id="btn_deptcd" class="icon_search" style="left:710px; top:20px; width:16px; height:16px; ">
  424. <caption/>
  425. <script type="javascript" ev:event="DOMActivate">
  426. <![CDATA[
  427. var recv_list = "deptcd,deptnm";
  428. var instcd = cmb_instcd.value;
  429. var valuyy = ipt_valuyy.value;
  430. var pre_deptcd = model.getValue(ipt_deptcd.attribute("ref"))
  431. rpvfOpenDeptCdHelp(ipt_deptnm,recv_list, "cmb_instcd,ipt_valuyy", "instcd,valuyy");
  432. var cur_deptcd = model.getValue(ipt_deptcd.attribute("ref"));
  433. model.refresh();
  434. if(cur_deptcd != pre_deptcd)
  435. {
  436. misfGridInit(grd_IdxFlag);
  437. rpvfComboIdxFlagCodeList(model.getValue(cmb_instcd.attribute("ref")) , model.getValue(ipt_deptcd.attribute("ref")) , grd_IdxFlag , "idxflag");
  438. btn_search.dispatch("DOMActivate");
  439. }
  440. ]]>
  441. </script>
  442. </button>
  443. <caption id="caption3" class="search_name" style="left:516px; top:19px; width:63px; height:17px; ">부서 :</caption>
  444. <input id="ipt_deptnm" ref="/root/send/idxflag/deptnm" class="input_default" style="left:581px; top:19px; width:125px; height:19px; ">
  445. <script type="javascript" ev:event="xforms-value-changed">
  446. <![CDATA[
  447. var pre_deptcd = model.getValue(ipt_deptcd.attribute("ref"))
  448. misfValidationCheck("02", "", "deptcd,deptnm" );
  449. var cur_deptcd = model.getValue(ipt_deptcd.attribute("ref"));
  450. model.refresh();
  451. if(cur_deptcd != pre_deptcd)
  452. {
  453. misfGridInit(grd_IdxFlag);
  454. rpvfComboIdxFlagCodeList(model.getValue(cmb_instcd.attribute("ref")) , model.getValue(ipt_deptcd.attribute("ref")) , grd_IdxFlag , "idxflag");
  455. btn_search.dispatch("DOMActivate");
  456. }
  457. ]]>
  458. </script>
  459. </input>
  460. <input id="ipt_deptcd" ref="/root/send/idxflag/deptcd" class="input_default" visibility="hidden" style="left:581px; top:19px; width:99px; height:19px; ">
  461. <script type="javascript" ev:event="xforms-value-changed">
  462. <![CDATA[
  463. var recv_list = "deptcd,deptnm";
  464. var instcd = cmb_instcd.value;
  465. var pre_deptcd = model.getValue(ipt_deptcd.attribute("ref"))
  466. misfValidationCheck("02", "", "deptcd,deptnm" );
  467. var cur_deptcd = model.getValue(ipt_deptcd.attribute("ref"));
  468. model.refresh();
  469. if(cur_deptcd != pre_deptcd)
  470. {
  471. misfGridInit(grd_IdxFlag);
  472. rpvfComboIdxFlagCodeList(model.getValue(cmb_instcd.attribute("ref")) , model.getValue(ipt_deptcd.attribute("ref")) , grd_IdxFlag , "idxflag");
  473. btn_search.dispatch("DOMActivate");
  474. }
  475. ]]>
  476. </script>
  477. </input>
  478. <datagrid id="grd_IdxFlag" nodeset="/root/main/list/idxflag/idxflaglist" caption="지표구분^성과지표^측정방법^입력일자^승인" colsep="^" colwidth="117, 425, 475, 100, 35, 100, 100, 100, 100, 100, 100, 100, 100, 100" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:0px; top:76px; width:1195px; height:664px; ">
  479. <col class="gridcombo" ref="idxflag" type="combo" maxlength="1" _key="true">
  480. <choices>
  481. <itemset>
  482. <label/>
  483. <value/>
  484. </itemset>
  485. </choices>
  486. </col>
  487. <col ref="rsltidx" type="input" maxlength="900"/>
  488. <col ref="inspmthd" type="input" maxlength="900"/>
  489. <col ref="inputdd" style="text-align:center; vertical-align:middle; "/>
  490. <col checkvalue="Y,N" ref="useyn" type="checkbox"/>
  491. <col ref="idxcd" visibility="hidden"/>
  492. <col ref="prtseqno" visibility="hidden"/>
  493. <col ref="instcd" visibility="hidden"/>
  494. <col ref="deptcd" visibility="hidden"/>
  495. <col ref="valuyy" visibility="hidden"/>
  496. <col ref="valuclscd" visibility="hidden"/>
  497. <col ref="valumdlcd" visibility="hidden"/>
  498. <col ref="valuclsdetlcd" visibility="hidden"/>
  499. <col ref="oldidxflag" visibility="hidden"/>
  500. </datagrid>
  501. <caption id="caption1" class="tit_2" style="left:0px; top:54px; width:230px; height:14px; vertical-align:middle; ">기본업무지표(F-KPI) POOL List</caption>
  502. <caption id="cap_valuyy" class="search_name" style="left:15px; top:19px; width:100px; height:17px; vertical-align:middle; ">기준년도 :</caption>
  503. <input id="ipt_valuyy" ref="/root/send/idxflag/valuyy" class="input_s_essential" inputtype="date" format="yyyy" style="left:100; top:18; width:125px; height:19px; ">
  504. <script type="javascript" ev:event="xforms-value-changed">
  505. <![CDATA[
  506. var instcd = cmb_instcd.value;
  507. if( getStringLength(ipt_valuyy.value) == "4" ) {
  508. rpvfComboInstCdList("cmb_instcd",ipt_valuyy.value);
  509. cmb_instcd.value = instcd;
  510. model.refresh();
  511. }
  512. ]]>
  513. </script>
  514. </input>
  515. <caption id="caption2" style="left:235px; top:49px; width:85px; height:20px; ">KeyWord 검색</caption>
  516. <input id="ipt_inspmthd" ref="/root/send/findinspmthd" style="left:314px; top:48px; width:218px; height:19px; ">
  517. <script type="javascript" ev:event="onkeyup">
  518. <![CDATA[
  519. inputEnterKey("btn_inspmthdfind", "DOMActivate");
  520. ]]>
  521. </script>
  522. </input>
  523. <button id="btn_inspmthdfind" class="btn2_letter2" style="left:533px; top:48px; width:42px; height:19px; ">
  524. <caption>검색</caption>
  525. <script type="javascript" ev:event="DOMActivate">
  526. <![CDATA[
  527. fGetInspMthdFind(model.getValue(ipt_inspmthd.attribute("ref")));
  528. ]]>
  529. </script>
  530. </button>
  531. <button id="btn_findclear" class="btn2_letter4" style="left:576px; top:48px; width:64px; height:19px; ">
  532. <caption>초기화</caption>
  533. <script type="javascript" ev:event="DOMActivate">
  534. <![CDATA[
  535. for(var row = grd_IdxFlag.fixedRows ; row < grd_IdxFlag.rows; row++)
  536. {
  537. grd_IdxFlag.rowHeight(row)= 23;
  538. }
  539. model.setValue(ipt_inspmthd.attribute("ref"),"");
  540. ipt_inspmthd.refresh();
  541. ]]>
  542. </script>
  543. </button>
  544. <button id="btn_copy" class="btn2_letter10" style="left:952px; top:48px; width:130px; height:19px; ">
  545. <caption>타기관 입력내역 복사</caption>
  546. <script type="javascript" ev:event="DOMActivate">
  547. <![CDATA[
  548. model.removenode("/root/copynode");
  549. model.removenode(gvParamPath +"/SMRPV99600_/SMRPV99600_value");
  550. model.makeNode("/root/copynode");
  551. rpvfOpenPopUpList("21",grd_IdxFlag,"","idxcd,idxcdnm,valuclscd,valumdlcd,valuclsdetlcd", "ipt_valuyy,ipt_valuclscd,ipt_valumdlcd,ipt_valuclsdetlcd,ipt_idxflag,ipt_smallclscd");
  552. var cur_row = grd_IdxFlag.row;
  553. var status = grd_IdxFlag.valueMatrix(cur_row, grd_IdxFlag.colRef("m"));
  554. var CSV = model.getValue(gvParamPath +"/SMRPV03202_/SMRPV03202_value");
  555. setCSVToNode("/root/copynode", CSV, "idxflaglist");
  556. fSettingIdxInfoList(grd_IdxFlag,"/root/copynode", "idxflaglist");
  557. ]]>
  558. </script>
  559. </button>
  560. <caption id="cap_fromdd" class="search_name" visibility="hidden" style="left:805px; top:20px; width:81px; height:17px; ">입력일자:</caption>
  561. <input id="ipt_fromdd" ref="/root/send/idxflag/fromdd" class="input_s_essential" visibility="hidden" inputtype="date" format="yyyy-mm-dd" style="left:885px; top:20px; width:100px; height:19px; "/>
  562. <input id="ipt_todd" ref="/root/send/idxflag/todd" class="input_s_essential" visibility="hidden" inputtype="date" format="yyyy-mm-dd" style="left:1005px; top:20px; width:100px; height:19px; "/>
  563. <caption id="caption5" visibility="hidden" style="left:990px; top:20px; width:10px; height:20px; ">-</caption>
  564. <button id="btn_saveexcel" class="btn2_letter4" style="left:885px; top:48px; width:64px; height:19px; ">
  565. <caption>엑셀저장</caption>
  566. <script type="javascript" ev:event="DOMActivate">
  567. <![CDATA[
  568. var fileName = window.fileDialog ("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  569. if (fileName != "")
  570. {
  571. grd_IdxFlagexcel.saveExcel(fileName);
  572. }
  573. ]]>
  574. </script>
  575. </button>
  576. <select1 id="cmb_concrcd" ref="/root/send/idxflag/concrcd" class="combo_s_essential" appearance="minimal" style="left:581px; top:19px; width:214px; height:19px; ">
  577. <choices>
  578. <itemset>
  579. <label/>
  580. <value/>
  581. </itemset>
  582. </choices>
  583. <script type="javascript" ev:event="xforms-value-changed">
  584. <![CDATA[
  585. var concrcd = cmb_concrcd.value;
  586. var condata = concrcd.split("-");
  587. cmb_instcd.value = condata[0];
  588. ipt_deptcd.value = condata[1];
  589. model.refresh();
  590. misfGridInit(grd_IdxFlag);
  591. rpvfComboIdxFlagCodeList(model.getValue(cmb_instcd.attribute("ref")) , model.getValue(ipt_deptcd.attribute("ref")) , grd_IdxFlag , "idxflag");
  592. rpvfComboDeptInfList("cmb_infdept", model.getValue(cmb_instcd.attribute("ref")), model.getValue(ipt_valuyy.attribute("ref")), model.getValue(ipt_deptcd.attribute("ref")) );
  593. //
  594. addComboItem( "cmb_infdept", "[-- 값없음 --]", "", "above");
  595. model.setValue(cmb_infdept.attribute("ref"), "");
  596. btn_search.dispatch("DOMActivate");
  597. ]]>
  598. </script>
  599. </select1>
  600. <caption id="cap_infdept" class="search_name" style="left:811px; top:19px; width:81px; height:17px; ">하위부서:</caption>
  601. <select1 id="cmb_infdept" ref="/root/send/idxflag/infdept" class="combo_s_essential" appearance="minimal" style="left:893px; top:19px; width:195px; height:19px; ">
  602. <choices>
  603. <itemset>
  604. <label/>
  605. <value/>
  606. </itemset>
  607. </choices>
  608. <script type="javascript" ev:event="xforms-value-changed">
  609. <![CDATA[
  610. var infdept = cmb_infdept.value;
  611. if (infdept == "") {
  612. var concrcd = cmb_concrcd.value;
  613. var condata = concrcd.split("-");
  614. ipt_deptcd.value = condata[1];
  615. btn_copy.disabled = false;
  616. btn_insert.disabled = false;
  617. btn_delete.disabled = false;
  618. btn_save.disabled = false;
  619. //misfSetReadOnlyCol(grd_IdxFlag, "idxflag,rsltidx", false);
  620. }
  621. else {
  622. ipt_deptcd.value = infdept;
  623. btn_copy.disabled = true;
  624. btn_insert.disabled = true;
  625. btn_delete.disabled = true;
  626. btn_save.disabled = true;
  627. //misfSetReadOnlyCol(grd_IdxFlag, "idxflag,rsltidx", true);
  628. }
  629. model.refresh();
  630. misfGridInit(grd_IdxFlag);
  631. rpvfComboIdxFlagCodeList(model.getValue(cmb_instcd.attribute("ref")) , model.getValue(ipt_deptcd.attribute("ref")) , grd_IdxFlag , "idxflag");
  632. btn_search.dispatch("DOMActivate");
  633. ]]>
  634. </script>
  635. </select1>
  636. </group>
  637. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  638. <button id="btn_save" class="btn4_letter2" style="left:1139px; top:3px; width:56px; height:22px; ">
  639. <caption>저장</caption>
  640. <script type="javascript" ev:event="DOMActivate">
  641. <![CDATA[
  642. if(!checkKeyColumn("grd_IdxFlag")) return;
  643. for (var k = grd_IdxFlag.fixedRows; k < grd_IdxFlag.rows; k++ ) {
  644. if (grd_IdxFlag.rowStatus(k) != 4 && grd_IdxFlag.rowStatus(k) != 5 && grd_IdxFlag.rowStatus(k) != 6 ) {
  645. var rsltidx = grd_IdxFlag.valueMatrix(k, grd_IdxFlag.colRef("rsltidx"));
  646. for (var i = grd_IdxFlag.fixedRows; i < grd_IdxFlag.rows; i++ ) {
  647. if ( rsltidx == grd_IdxFlag.valueMatrix(i, grd_IdxFlag.colRef("rsltidx")) && k != i ) {
  648. if (grd_IdxFlag.rowStatus(i) != 4 && grd_IdxFlag.rowStatus(i) != 5 && grd_IdxFlag.rowStatus(i) != 6 ) {
  649. messageBox("[" + rsltidx + "]" + " 지표는 " + "(" + i + "째줄)" + "중복이 되어서 저장 할 수","I004");
  650. return;
  651. }
  652. }
  653. }
  654. }
  655. }
  656. misfSave("TXRPV03201");
  657. ]]>
  658. </script>
  659. </button>
  660. <line id="line11" class="line_6" style="x1:0; y1:25; x2:1195; y2:25; "/>
  661. <button id="btn_init" class="btn4_letter3" style="left:1069px; top:3px; width:68px; height:22px; ">
  662. <caption>초기화</caption>
  663. <script type="javascript" ev:event="DOMActivate">
  664. <![CDATA[
  665. window.reload() ;
  666. ]]>
  667. </script>
  668. </button>
  669. <button id="btn_preidxcopy" class="btn4_letter5" style="left:977px; top:3px; width:92px; height:22px; ">
  670. <caption>전년도복사</caption>
  671. <script type="javascript" ev:event="DOMActivate">
  672. <![CDATA[
  673. fGetPreIdxCopy();
  674. ]]>
  675. </script>
  676. </button>
  677. </group>
  678. </xhtml:body>
  679. </xhtml:html>