SMRPV06600_부서별업무목표등록(Staff).xrw 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>부서별업무목표등록</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <list>
  11. <bizplan>
  12. <bizplanlist/>
  13. <antptnlist/>
  14. <unitbizplanlist/>
  15. </bizplan>
  16. <fileinfo>
  17. <fileinfolist/>
  18. </fileinfo>
  19. <scrfileinfo>
  20. <fileinfolist/>
  21. </scrfileinfo>
  22. </list>
  23. <bizplan>
  24. <bizplanlist>
  25. <valuyy/>
  26. <instcd/>
  27. <deptcd/>
  28. <mainrslt/>
  29. <unprepcnts/>
  30. <teamjob/>
  31. <manabltupbrngplan/>
  32. <delivecnts/>
  33. <unitbizplan/>
  34. <inputemplno/>
  35. <inputjobrespcd/>
  36. <supdeptcd/>
  37. </bizplanlist>
  38. </bizplan>
  39. <valuempl>
  40. <valuempllist/>
  41. </valuempl>
  42. </main>
  43. <send>
  44. <bizplan>
  45. <valuyy/>
  46. <instcd/>
  47. <deptcd/>
  48. <deptnm/>
  49. <emplno/>
  50. <goalflag>01</goalflag>
  51. </bizplan>
  52. <save>
  53. <bizplanlist/>
  54. <antptnlist/>
  55. <unitbizplanlist/>
  56. </save>
  57. <fileupload>
  58. <file>
  59. <filename/>
  60. </file>
  61. </fileupload>
  62. </send>
  63. <init>
  64. <unitbizplan/>
  65. </init>
  66. <hidden/>
  67. <temp/>
  68. <target/>
  69. </root>
  70. </instance>
  71. <script type="javascript" ev:event="xforms-ready">
  72. <![CDATA[
  73. /* Grid 초기화 */
  74. misfGridInit(grd_bizplan);
  75. misfGridInit(grd_unitbizplan);
  76. misfGridInit(grd_antptn);
  77. /* Submit의 ref에 참조 될 Node들은 꼭 Instance에 생성 해야 함.*/
  78. /* Grid의 Mater, Detail관계 설정
  79. misfMsterDetailSet(관계설정할 Grid, Mater가 될 Grid, submit ID, 저장여부) */
  80. misfMsterDetailSet(grd_bizplan,null, "TRRPV05701" ,"Y");
  81. misfMsterDetailSet(grd_unitbizplan,null, "TRRPV05701" ,"Y");
  82. rpvfComboInstCdList("cmb_instcd");
  83. var curdate = getCurrentDate();
  84. model.setValue(ipt_valuyy.attribute("ref") , curdate.substr(0, 4));
  85. // model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
  86. // model.setValue(ipt_deptcd.attribute("ref") , getUserInfo("posdeptcd"));
  87. // model.setValue(ipt_deptnm.attribute("ref") , getUserInfo("posdeptnm"));
  88. model.setValue(ipt_emplno.attribute("ref") , getUserInfo("userid"));
  89. model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
  90. //현재화면이 팝업으로 Load 되었을 시.....
  91. if(instance1.selectNodes("/root/target/*").length > 0)
  92. {
  93. fPopupDataSet("valuyy,dutinst,dutunitcd,deptnm,emplno","ipt_valuyy,cmb_instcd,ipt_deptcd,ipt_deptnm,ipt_emplno");
  94. }
  95. var instcd = getUserInfo("dutplceinstcd");
  96. var emplno = getUserInfo("userid");
  97. rpvfGetUserAuth(instcd,emplno);
  98. SetControlAuth();
  99. submit("TRRPV05706");
  100. model.setValue(cmb_instcd.attribute("ref") , model.getValue("/root/main/valuempl/valuempllist/dutinst"));
  101. model.setValue(ipt_deptcd.attribute("ref") , model.getValue("/root/main/valuempl/valuempllist/dutunitcd"));
  102. model.setValue(ipt_deptnm.attribute("ref") , model.getValue("/root/main/valuempl/valuempllist/deptnm"));
  103. btn_search.dispatch("DOMActivate");
  104. model.refresh();
  105. ]]>
  106. </script>
  107. <submission id="TRRPV05701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/bizplan" resultref="/root/main/list/bizplan"/>
  108. <submission id="TRRPV05703" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/bizplan" resultref="/root/main/list/fileinfo"/>
  109. <submission id="TRRPV05704" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/bizplan" resultref="/root/main"/>
  110. <submission id="TXRPV05701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hidden/temp"/>
  111. <submission id="TXRPV05703" mediatype="multipart/form-data" method="form-data-post" ref="/root/send" resultref="/root/hidden/temp"/>
  112. <script type="javascript" ev:event="xforms-model-destruct">
  113. <![CDATA[
  114. if (getGridUpdateData(grd_unitbizplan) != "" || getGridUpdateData(grd_bizplan) != "" || getGridUpdateData(grd_antptn) != "" ) {
  115. var save_val = messageBox("변경된 자료가 존재 합니다. ", "Q002");
  116. if (save_val == "6") {
  117. btn_save.dispatch("DOMActivate");
  118. }
  119. }
  120. ]]>
  121. </script>
  122. <submission id="TRRPV05706" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/bizplan" resultref="/root/main/valuempl"/>
  123. </model>
  124. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  125. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  126. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  127. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  128. <script type="javascript" src="../../../mis/valuationmngtweb/js/RPV001.js"/>
  129. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  130. <script type="javascript">
  131. <![CDATA[
  132. //현재화면이 팝업화면으로 Loadding 될때 넘겨받은값을 설정.
  133. function fPopupDataSet()
  134. {
  135. var fgetValueNode = "/root/target/";
  136. var fNodeName = arguments[0].split(",");
  137. var fSetControl = arguments[1].split(",");
  138. for(var i = 0; i < fSetControl.length; i++)
  139. {
  140. document.controls(fSetControl[i]).value = model.getValue(fgetValueNode + fNodeName[i]);
  141. }
  142. }
  143. function SetControlAuth()
  144. {
  145. txt_mainrslt.attribute("editable") = "false";
  146. txt_unprepcnts.attribute("editable") = "false";
  147. txt_teamjob.attribute("editable") = "false";
  148. txt_manabltupbrngplan.attribute("editable") = "false";
  149. txt_delivecnts.attribute("editable") = "false";
  150. txt_unitbizplan.attribute("editable") = "false";
  151. txt_mainrslt.attribute("editable") = "false";
  152. btn_unitinsert.disabled = true;
  153. btn_unitdelete.disabled = true;
  154. grd_antptn.disabled = true;
  155. btn_save.disabled = true;
  156. var jobrespcd = model.getValue("/root/main/valuempl/valuempllist/jobrespcd");
  157. if(jobrespcd == "1070" || jobrespcd == "2430" || jobrespcd == "2010" || jobrespcd == "1086" || jobrespcd == "4040"|| DUTY_VALU_YN =="Y") //로긴한 사용자가 팀장이라면
  158. {
  159. txt_mainrslt.attribute("editable") = "true";
  160. txt_unprepcnts.attribute("editable") = "true";
  161. txt_teamjob.attribute("editable") = "true";
  162. txt_manabltupbrngplan.attribute("editable") = "true";
  163. txt_delivecnts.attribute("editable") = "true";
  164. txt_mainrslt.attribute("editable") = "true";
  165. btn_unitinsert.disabled = false;
  166. btn_unitdelete.disabled = false;
  167. grd_antptn.disabled = false;
  168. btn_save.disabled = false;
  169. btn_insdeptgoal.disabled = false;
  170. //btn_bizplnupload.disabled = false;
  171. }
  172. else if(jobrespcd == "1901") //로긴한 사용자가 UM이라면
  173. {
  174. txt_unitbizplan.attribute("editable") = "true";
  175. btn_save.disabled = false;
  176. btn_insdeptgoal.disabled = true;
  177. //btn_bizplnupload.disabled = true;
  178. }
  179. else {
  180. btn_insdeptgoal.disabled = true;
  181. //btn_bizplnupload.disabled = true;
  182. }
  183. }
  184. function ExeBizPlnFileUpload()
  185. {
  186. var maxsize = upd_uploadfile.attribute("filesize");
  187. files = window.fileDialog("open", "|", false);
  188. if (files.length <= 0 ) return;
  189. model.setValue(ipt_uploadfile.attribute("ref"),files);
  190. // if (!checkFileSize(upd_uploadfile)){
  191. // model.setValue(ipt_uploadfile.attribute("ref"),"");
  192. // messageBox("파일 크기가 최대치("+maxsize+"Byte)를", "E003");
  193. //
  194. // }
  195. ipt_uploadfile.refresh();
  196. submit("TXRPV05703");
  197. }
  198. function ExeBizPlnFileSearch()
  199. {
  200. model.resetInstanceNode("/root/main/list/fileinfo");
  201. submit("TRRPV05703");
  202. if(model.getValue("/root/main/list/fileinfo/fileinfolist/filepath").length > 0)
  203. {
  204. //alert(getActionURL("TRRPV05704"));
  205. var filepath = model.getValue("/root/main/list/fileinfo/fileinfolist/filepath");
  206. var filenm = model.getValue("/root/main/list/fileinfo/fileinfolist/filenm");
  207. var localfile = window.fileDialog("save","|",false,filenm,"","All Files(*.*)|*.*");
  208. if (localfile != "") {
  209. model.download(getActionURL("TRRPV05704")+"&filepath="+filepath,localfile);
  210. var rtn = messageBox("파일을", "Q004");
  211. if( rtn == 6 ) {
  212. window.exec(localfile);
  213. }
  214. }
  215. }
  216. }
  217. ]]>
  218. </script>
  219. </xhtml:head>
  220. <xhtml:body guideline="1,952;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  221. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  222. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">부서별업무목표등록</caption>
  223. </group>
  224. <group id="group2" scroll="auto" style="left:0px; top:38; width:1195px; height:744; ">
  225. <datagrid id="grd_fileinfo" nodeset="/root/main/list/scrfileinfo/fileinfolist" visibility="hidden" caption="valuyy^instcd^deptcd^emplno^goalflag" colsep="^" colwidth="195, 836, 100, 100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:350px; top:475px; width:310px; height:155px; ">
  226. <col ref="valuyy"/>
  227. <col ref="instcd"/>
  228. <col ref="deptcd"/>
  229. <col ref="emplno"/>
  230. <col ref="goalflag"/>
  231. </datagrid>
  232. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:0; top:10; width:1195; height:35px; "/>
  233. <input id="ipt_valuyy" ref="/root/send/bizplan/valuyy" class="input_s_essential" inputtype="date" format="yyyy" style="left:100; top:18; width:125px; height:19px; ">
  234. <script type="javascript" ev:event="xforms-value-changed">
  235. <![CDATA[
  236. var instcd = cmb_instcd.value;
  237. rpvfComboInstCdList("cmb_instcd",ipt_valuyy.value);
  238. cmb_instcd.value = instcd;
  239. model.refresh();
  240. ]]>
  241. </script>
  242. </input>
  243. <caption id="cap_valuyy" class="search_name" style="left:15px; top:19px; width:100px; height:17px; vertical-align:middle; ">기준년도 :</caption>
  244. <line id="line13" class="line_4" style="x1:1110px; y1:16px; x2:1110px; y2:38px; "/>
  245. <button id="btn_search" class="btn1_letter2" style="left:1125px; top:16px; width:56px; height:22px; ">
  246. <caption>조회</caption>
  247. <script type="javascript" ev:event="DOMActivate">
  248. <![CDATA[
  249. if ( !isRequiredControls("ipt_valuyy","cmb_instcd", "ipt_deptcd") ) {
  250. return false;
  251. }
  252. model.setValue("/root/init/unitbizplan", "");
  253. model.resetInstanceNode("/root/main/bizplan/bizplanlist");
  254. model.resetInstanceNode("/root/main/bizplan/unitbizplanlist");
  255. misfMsterDetailRetrieve();
  256. var jobrespcd = model.getValue("/root/main/valuempl/valuempllist/jobrespcd");
  257. if(grd_bizplan.rows - grd_bizplan.fixedRows== 0 && (jobrespcd == "1070" || jobrespcd == "2430" || jobrespcd == "2010" || jobrespcd == "1086" || jobrespcd == "4040")) btn_insert.dispatch("DOMActivate");
  258. model.copyNode("/root/main/bizplan/bizplanlist","/root/main/list/bizplan/bizplanlist");
  259. grd_bizplan.row = grd_bizplan.fixedRows;
  260. var unitplan = "";
  261. if(grd_unitbizplan.rows - grd_unitbizplan.fixedRows== 0 && jobrespcd == "1901") {
  262. btn_insert2.dispatch("DOMActivate");
  263. }
  264. else {
  265. for (var i = grd_unitbizplan.fixedRows; i < grd_unitbizplan.rows; i++) {
  266. unitplan = unitplan + grd_unitbizplan.valueMatrix(i, grd_unitbizplan.colRef("unitbizplan")) + "\n";
  267. }
  268. txt_unitbizplan.value = unitplan;
  269. }
  270. model.refresh();
  271. ]]>
  272. </script>
  273. </button>
  274. <line id="line2" class="line_1" style="x1:0px; y1:69px; x2:1195px; y2:69px; "/>
  275. <button id="btn_insert" class="btn2_letter3" visibility="hidden" style="left:380px; top:50px; width:53px; height:19px; ">
  276. <caption>행추가</caption>
  277. <script type="javascript" ev:event="DOMActivate">
  278. <![CDATA[
  279. if ( !isRequiredControls("ipt_valuyy","cmb_instcd", "ipt_deptcd") ) {
  280. return false;
  281. }
  282. misfGridInit(grd_bizplan);
  283. misfGridInit(grd_antptn);
  284. misfGridIUD(grd_bizplan, "A");
  285. var jobrespcd = model.getValue("/root/main/valuempl/valuempllist/jobrespcd");
  286. grd_bizplan.valueMatrix(grd_bizplan.row, grd_bizplan.colRef("inputjobrespcd")) = jobrespcd;
  287. model.resetInstanceNode("/root/main/bizplan/bizplanlist");
  288. model.copyNode("/root/main/bizplan/bizplanlist","/root/main/list/bizplan/bizplanlist");
  289. model.refresh();
  290. ]]>
  291. </script>
  292. </button>
  293. <button id="btn_delete" class="btn2_letter3" visibility="hidden" style="left:434px; top:50px; width:53px; height:19px; ">
  294. <caption>행삭제</caption>
  295. <script type="javascript" ev:event="DOMActivate">
  296. <![CDATA[
  297. misfGridIUD(grd_bizplan, "D");
  298. for(var row = grd_antptn.fixedRows ; row < grd_antptn.rows ; row++)
  299. {
  300. grd_antptn.row= row;
  301. misfGridIUD(grd_antptn, "D");
  302. }
  303. ]]>
  304. </script>
  305. </button>
  306. <select1 id="cmb_instcd" ref="/root/send/bizplan/instcd" class="combo_s_essential" appearance="minimal" style="left:291px; top:18px; width:219px; height:19px; ">
  307. <choices>
  308. <itemset>
  309. <label/>
  310. <value/>
  311. </itemset>
  312. </choices>
  313. </select1>
  314. <caption id="cap_instcd" class="search_name" style="left:230px; top:19px; width:61px; height:17px; vertical-align:middle; ">기관 :</caption>
  315. <caption id="cap_delivecnt" class="cell_1" style="left:671px; top:340px; width:49px; height:119px; text-align:center; vertical-align:middle; ">
  316. <![CDATA[팀원에
  317. 대한
  318. 당부
  319. 사항]]>
  320. </caption>
  321. <caption id="caption11" class="cell_1" style="left:5px; top:462px; width:130px; height:201px; text-align:center; vertical-align:middle; ">
  322. <![CDATA[당해년도
  323. Unit별
  324. 업무추진
  325. 기대사항]]>
  326. </caption>
  327. <caption id="caption3" class="cell_1" style="left:5px; top:75px; width:130px; height:140px; text-align:center; vertical-align:middle; ">
  328. <![CDATA[전년도
  329. 팀 업무추진
  330. 사항]]>
  331. </caption>
  332. <caption id="cap_mainresult" class="cell_1" style="left:137px; top:75px; width:531px; height:20px; text-align:center; vertical-align:middle; ">주요성과</caption>
  333. <caption id="cap_unprepcnts" class="cell_1" style="left:670px; top:75px; width:522px; height:20px; text-align:center; vertical-align:middle; ">미진사항</caption>
  334. <textarea id="txt_mainrslt" ref="/root/main/bizplan/bizplanlist/mainrslt" editable="true" style="left:137px; top:96px; width:531px; height:119px; "/>
  335. <caption id="cap_teamjob" class="cell_1" style="left:5px; top:218px; width:130px; height:119px; text-align:center; vertical-align:middle; ">
  336. <![CDATA[당해년도
  337. 팀 업무 방침
  338. (팀장 의지)]]>
  339. </caption>
  340. <textarea id="txt_unprepcnts" ref="/root/main/bizplan/bizplanlist/unprepcnts" style="left:670px; top:96px; width:522px; height:119px; "/>
  341. <textarea id="txt_teamjob" ref="/root/main/bizplan/bizplanlist/teamjob" style="left:137px; top:218px; width:1054px; height:119px; "/>
  342. <caption id="cap_manabltupbrngplan" class="cell_1" style="left:5px; top:340px; width:130px; height:119px; text-align:center; vertical-align:middle; ">
  343. <![CDATA[인재육성
  344. (부하육성)에
  345. 대한
  346. 팀장방침
  347. (의지)]]>
  348. </caption>
  349. <textarea id="txt_manabltupbrngplan" ref="/root/main/bizplan/bizplanlist/manabltupbrngplan" style="left:137px; top:340px; width:531px; height:119px; "/>
  350. <textarea id="txt_delivecnts" ref="/root/main/bizplan/bizplanlist/delivecnts" style="left:722px; top:340px; width:470px; height:119px; "/>
  351. <datagrid id="grd_antptn" nodeset="/root/main/list/bizplan/antptnlist" caption="Unit코드^기대사항" colsep="^" colwidth="195, 836, 100, 100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:137px; top:483px; width:1054px; height:180px; ">
  352. <col ref="unitnm" type="inputbutton"/>
  353. <col ref="antptncnts" type="input"/>
  354. <col ref="instcd" visibility="hidden"/>
  355. <col ref="deptcd" visibility="hidden"/>
  356. <col ref="valuyy" visibility="hidden"/>
  357. <col ref="unitcd" visibility="hidden"/>
  358. <col ref="orgunitcd" visibility="hidden"/>
  359. <col ref="unitbizplan" visibility="hidden"/>
  360. <script type="javascript" ev:event="onbuttonclick">
  361. <![CDATA[
  362. model.removenode("/root/copynode");
  363. model.removenode(gvParamPath +"/SMRPV98100_/SMRPV98100_value");
  364. model.makeNode("/root/copynode");
  365. rpvfOpenPopUpList("29",grd_antptn,"","unitcd,unitnm","cmb_instcd,ipt_deptcd","");
  366. var cur_row = grd_antptn.row;
  367. var status = grd_antptn.valueMatrix(cur_row, grd_antptn.colRef("m"));
  368. var CSV = model.getValue(gvParamPath +"/SMRPV98100_/SMRPV98100_value");
  369. //alert(CSV);
  370. setCSVToNode("/root/copynode", CSV, "unitlist");
  371. var node = "/root/copynode";
  372. var nodename = "unitlist";
  373. var codynode = instance1.selectNodes(node + "/*");
  374. var addRow = grd_antptn.rows - grd_antptn.fixedRows;
  375. var chkdup = false;
  376. if(model.getValue(grd_antptn.nodeset + "[" + addRow + "]/unitcd").length > 0) addRow = addRow + 1;
  377. for (var j = 1; j <= codynode.length ; j++) {
  378. chkdup = false;
  379. for(var row = grd_antptn.fixedRows; row < grd_antptn.rows ; row++)
  380. {
  381. if(grd_antptn.valueMatrix(row , grd_antptn.colRef("unitcd")) == model.getValue(node +"/" + nodename + "[" + j + "]/deptcd")) {
  382. chkdup = true;
  383. break;
  384. }
  385. }
  386. if(!chkdup){
  387. if(addRow == 0 || addRow > grd_antptn.rows - grd_antptn.fixedRows)
  388. {
  389. misfGridIUD(grd_antptn,"A");
  390. addRow = grd_antptn.rows - grd_antptn.fixedRows;
  391. }
  392. model.setValue(grd_antptn.nodeset + "[" + addRow + "]/instcd" , cmb_instcd.value);
  393. model.setValue(grd_antptn.nodeset + "[" + addRow + "]/deptcd" , ipt_deptcd.value);
  394. model.setValue(grd_antptn.nodeset + "[" + addRow + "]/unitcd" , model.getValue(node +"/" + nodename + "[" + j + "]/deptcd"));
  395. model.setValue(grd_antptn.nodeset + "[" + addRow + "]/unitnm" , model.getValue(node +"/" + nodename + "[" + j + "]/deptnm"));
  396. model.setValue(grd_antptn.nodeset + "[" + addRow + "]/orgunitcd" , model.getValue(node +"/" + nodename + "[" + j + "]/deptcd"));
  397. model.setValue(grd_antptn.nodeset + "[" + addRow + "]/valuyy" , ipt_valuyy.value);
  398. addRow = addRow + 1;
  399. }
  400. }
  401. model.refresh();
  402. ]]>
  403. </script>
  404. </datagrid>
  405. <caption id="caption1" class="tit_2" style="left:0px; top:54px; width:230px; height:14px; vertical-align:middle; ">부서별 업무 목표 List</caption>
  406. <caption id="cap_deptcd" class="search_name" style="left:520px; top:19px; width:63px; height:17px; ">부서 :</caption>
  407. <input id="ipt_deptnm" ref="/root/send/bizplan/deptnm" class="input_default" style="left:585px; top:19px; width:243px; height:19px; ">
  408. <script type="javascript" ev:event="xforms-value-changed">
  409. <![CDATA[
  410. misfValidationCheck("02", "", "deptcd,deptnm" );
  411. model.refresh();
  412. ]]>
  413. </script>
  414. </input>
  415. <input id="ipt_deptcd" ref="/root/send/bizplan/deptcd" class="input_default" visibility="hidden" style="left:585px; top:19px; width:99px; height:19px; ">
  416. <script type="javascript" ev:event="xforms-value-changed">
  417. <![CDATA[
  418. misfValidationCheck("02", "", "deptcd,deptnm" );
  419. model.refresh();
  420. ]]>
  421. </script>
  422. </input>
  423. <button id="btn_deptcd" class="icon_search" style="left:832px; 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. rpvfOpenDeptCdHelp(ipt_deptnm,recv_list, instcd, "instcd");
  430. model.refresh();
  431. ]]>
  432. </script>
  433. </button>
  434. <button id="btn_unitdelete" class="btn2_letter3" style="left:1138px; top:462px; width:53px; height:19px; ">
  435. <caption>행삭제</caption>
  436. <script type="javascript" ev:event="DOMActivate">
  437. <![CDATA[
  438. misfGridIUD(grd_antptn, "D");
  439. ]]>
  440. </script>
  441. </button>
  442. <button id="btn_unitinsert" class="btn2_letter3" style="left:1083px; top:462px; width:53px; height:19px; ">
  443. <caption>행추가</caption>
  444. <script type="javascript" ev:event="DOMActivate">
  445. <![CDATA[
  446. if ( !isRequiredControls("ipt_valuyy","cmb_instcd", "ipt_deptcd") ) {
  447. return false;
  448. }
  449. misfGridIUD(grd_antptn, "A");
  450. model.setValue(grd_antptn.nodeset + "[" + (grd_antptn.row - grd_antptn.fixedRows + 1)+ "]/valuyy", model.getValue(ipt_valuyy.attribute("ref")));
  451. model.setValue(grd_antptn.nodeset + "[" + (grd_antptn.row - grd_antptn.fixedRows + 1)+ "]/instcd", model.getValue(cmb_instcd.attribute("ref")));
  452. model.setValue(grd_antptn.nodeset + "[" + (grd_antptn.row - grd_antptn.fixedRows + 1)+ "]/deptcd", model.getValue(ipt_deptcd.attribute("ref")));
  453. grd_antptn.refresh();
  454. ]]>
  455. </script>
  456. </button>
  457. <caption id="cap_unitbizplan" class="cell_1" style="left:5px; top:666px; width:130px; height:74px; text-align:center; vertical-align:middle; ">Unit별 업무목표</caption>
  458. <textarea id="txt_unitbizplan" ref="/root/init/unitbizplan" style="left:137px; top:666px; width:1054px; height:74px; ">
  459. <script type="javascript" ev:event="xforms-value-changed">
  460. <![CDATA[
  461. grd_unitbizplan.valueMatrix(grd_unitbizplan.fixedRows, grd_unitbizplan.colRef("unitbizplan")) = txt_unitbizplan.value;
  462. if ( grd_unitbizplan.rowStatus(grd_unitbizplan.fixedRows) == 0) {
  463. grd_unitbizplan.rowStatus(grd_unitbizplan.fixedRows) = 2;
  464. }
  465. ]]>
  466. </script>
  467. </textarea>
  468. <datagrid id="grd_bizplan" nodeset="/root/main/list/bizplan/bizplanlist" visibility="hidden" caption="평가년도^기관코드^부서코드^주요성과^미진사항^팀업무방침^인재육성방침^당부사항^유닛별업무목표^입력자사원번호^입력자직책^상위부서코드" colsep="^" colwidth="100, 100, 100, 61, 68, 67, 76, 70, 100, 100, 68, 100" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:145px; top:540px; width:1035px; height:60px; ">
  469. <col ref="valuyy"/>
  470. <col ref="instcd"/>
  471. <col ref="deptcd"/>
  472. <col ref="mainrslt"/>
  473. <col ref="unprepcnts"/>
  474. <col ref="teamjob"/>
  475. <col ref="manabltupbrngplan"/>
  476. <col ref="delivecnts"/>
  477. <col ref="unitbizplan"/>
  478. <col ref="inputemplno"/>
  479. <col ref="inputjobrespcd"/>
  480. <col ref="supdeptcd"/>
  481. </datagrid>
  482. <button id="btn_bizplnupload" class="btn2_letter9" disabled="false" style="left:756px; top:48px; width:119px; height:19px; ">
  483. <caption>기관별핵심사업등록</caption>
  484. <script type="javascript" ev:event="DOMActivate">
  485. <![CDATA[
  486. model.setValue("/root/send/bizplan/goalflag", "01");
  487. model.refresh();
  488. ExeBizPlnFileUpload();
  489. ]]>
  490. </script>
  491. </button>
  492. <upload id="upd_uploadfile" nodeset="/root/send/fileupload/file" ext="zip" filecount="5" filesize="1048576" validate="true" style="left:657px; top:48px; width:25px; height:20px; "/>
  493. <input id="ipt_uploadfile" ref="/root/send/fileupload/file" visibility="hidden" style="left:555px; top:48px; width:100px; height:19px; "/>
  494. <input id="ipt_emplno" ref="/root/send/bizplan/emplno" visibility="hidden" style="left:975px; top:20px; width:100px; height:19px; "/>
  495. <button id="btn_bizplnfilesearch" class="btn2_letter6" visibility="hidden" style="left:285px; top:50px; width:86px; height:19px; ">
  496. <caption>사업계획조회</caption>
  497. <script type="javascript" ev:event="DOMActivate">
  498. <![CDATA[
  499. ExeBizPlnFileSearch();
  500. ]]>
  501. </script>
  502. </button>
  503. <button id="btn_fileinfo" class="btn2_letter9" style="left:878px; top:48px; width:119px; height:19px; ">
  504. <caption>기관별핵심사업조회</caption>
  505. <script type="javascript" ev:event="DOMActivate">
  506. <![CDATA[
  507. model.setValue("/root/send/bizplan/goalflag", "01");
  508. model.refresh();
  509. var valuyy = model.getValue("/root/send/bizplan/valuyy");
  510. var instcd = model.getValue("/root/send/bizplan/instcd");
  511. var deptcd = model.getValue("/root/send/bizplan/deptcd");
  512. var emplno = model.getValue("/root/send/bizplan/emplno");
  513. var goalflag = model.getValue("/root/send/bizplan/goalflag");
  514. misfGridInit(grd_fileinfo);
  515. misfGridIUD(grd_fileinfo, "A");
  516. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/valuyy", valuyy);
  517. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/instcd", instcd);
  518. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/deptcd", deptcd);
  519. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/emplno", emplno);
  520. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/goalflag", goalflag);
  521. rpvfOpenPopUpList("28",grd_fileinfo,"","emplno","valuyy,instcd,deptcd,emplno,goalflag","valuyy,instcd,deptcd,emplno,goalflag","");
  522. ]]>
  523. </script>
  524. </button>
  525. <button id="btn_deptgoal" class="btn2_letter6" style="left:1104px; top:48px; width:86px; height:19px; ">
  526. <caption>부서목표조회</caption>
  527. <script type="javascript" ev:event="DOMActivate">
  528. <![CDATA[
  529. model.setValue("/root/send/bizplan/goalflag", "02");
  530. model.refresh();
  531. var valuyy = model.getValue("/root/send/bizplan/valuyy");
  532. var instcd = model.getValue("/root/send/bizplan/instcd");
  533. var deptcd = model.getValue("/root/send/bizplan/deptcd");
  534. var emplno = model.getValue("/root/send/bizplan/emplno");
  535. var goalflag = model.getValue("/root/send/bizplan/goalflag");
  536. misfGridInit(grd_fileinfo);
  537. misfGridIUD(grd_fileinfo, "A");
  538. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/valuyy", valuyy);
  539. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/instcd", instcd);
  540. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/deptcd", deptcd);
  541. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/emplno", emplno);
  542. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/goalflag", goalflag);
  543. rpvfOpenPopUpList("28",grd_fileinfo,"","emplno","valuyy,instcd,deptcd,emplno,goalflag","valuyy,instcd,deptcd,emplno,goalflag","");
  544. ]]>
  545. </script>
  546. </button>
  547. <button id="btn_insdeptgoal" class="btn2_letter6" style="left:1017px; top:48px; width:86px; height:19px; ">
  548. <caption>부서목표등록</caption>
  549. <script type="javascript" ev:event="DOMActivate">
  550. <![CDATA[
  551. model.setValue("/root/send/bizplan/goalflag", "02");
  552. model.refresh();
  553. ExeBizPlnFileUpload();
  554. ]]>
  555. </script>
  556. </button>
  557. <datagrid id="grd_unitbizplan" nodeset="/root/main/list/bizplan/unitbizplanlist" visibility="hidden" caption="평가년도^기관코드^부서코드^주요성과^미진사항^팀업무방침^인재육성방침^당부사항^유닛별업무목표^입력자사원번호^입력자직책^상위부서코드" colsep="^" colwidth="100, 100, 100, 61, 68, 67, 76, 70, 100, 100, 68, 100" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:135px; top:370px; width:1035px; height:60px; ">
  558. <col ref="valuyy"/>
  559. <col ref="instcd"/>
  560. <col ref="deptcd"/>
  561. <col ref="mainrslt"/>
  562. <col ref="unprepcnts"/>
  563. <col ref="teamjob"/>
  564. <col ref="manabltupbrngplan"/>
  565. <col ref="delivecnts"/>
  566. <col ref="unitbizplan"/>
  567. <col ref="inputemplno"/>
  568. <col ref="inputjobrespcd"/>
  569. <col ref="supdeptcd"/>
  570. </datagrid>
  571. <button id="btn_insert2" class="btn2_letter3" visibility="hidden" style="left:490px; top:50px; width:53px; height:19px; ">
  572. <caption>행추가</caption>
  573. <script type="javascript" ev:event="DOMActivate">
  574. <![CDATA[
  575. if ( !isRequiredControls("ipt_valuyy","cmb_instcd", "ipt_deptcd") ) {
  576. return false;
  577. }
  578. misfGridInit(grd_unitbizplan);
  579. misfGridIUD(grd_unitbizplan, "A");
  580. var jobrespcd = model.getValue("/root/main/valuempl/valuempllist/jobrespcd");
  581. grd_unitbizplan.valueMatrix(grd_unitbizplan.row, grd_unitbizplan.colRef("inputjobrespcd")) = jobrespcd;
  582. model.refresh();
  583. ]]>
  584. </script>
  585. </button>
  586. </group>
  587. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  588. <button id="btn_save" class="btn4_letter2" style="left:1139px; top:3px; width:56px; height:22px; ">
  589. <caption>저장</caption>
  590. <script type="javascript" ev:event="DOMActivate">
  591. <![CDATA[
  592. if(!checkKeyColumn("grd_bizplan")) return;
  593. model.removenode("/root/send/save");
  594. model.makeNode("/root/send/save/bizplanlist");
  595. model.makeNode("/root/send/save/antptnlist");
  596. model.makeNode("/root/send/save/unitbizplanlist");
  597. misfGridRowStatusChange(grd_bizplan,"/root/main/list/bizplan" ,"/root/main/bizplan");
  598. grd_bizplan.refresh();
  599. model.setValue("/root/send/save/antptnlist",grd_antptn.getUpdateData());
  600. model.setValue("/root/send/save/bizplanlist",grd_bizplan.getUpdateData());
  601. model.setValue("/root/send/save/unitbizplanlist",grd_unitbizplan.getUpdateData());
  602. submit("TXRPV05701");
  603. if (model.getValue(gvErrorMsgPath + "/type") != "error")
  604. {
  605. model.resetInstanceNode("/root/main/bizplan/bizplanlist");
  606. submit("TRRPV05701");
  607. if(grd_bizplan.rows - grd_bizplan.fixedRows== 0)btn_insert.dispatch("DOMActivate");
  608. model.copyNode("/root/main/bizplan/bizplanlist","/root/main/list/bizplan/bizplanlist");
  609. grd_bizplan.row = grd_bizplan.fixedRows;
  610. var unitplan = "";
  611. var jobrespcd = model.getValue("/root/main/valuempl/valuempllist/jobrespcd");
  612. if(grd_unitbizplan.rows - grd_unitbizplan.fixedRows== 0 && jobrespcd == "1901") {
  613. btn_insert2.dispatch("DOMActivate");
  614. }
  615. else {
  616. for (var i = grd_unitbizplan.fixedRows; i < grd_unitbizplan.rows; i++) {
  617. unitplan = unitplan + grd_unitbizplan.valueMatrix(i, grd_unitbizplan.colRef("unitbizplan")) + "\n";
  618. }
  619. txt_unitbizplan.value = unitplan;
  620. }
  621. model.refresh();
  622. }
  623. ]]>
  624. </script>
  625. </button>
  626. <line id="line11" class="line_6" style="x1:0; y1:25; x2:1195; y2:25; "/>
  627. <button id="btn_init" class="btn4_letter3" style="left:1069px; top:3px; width:68px; height:22px; ">
  628. <caption>초기화</caption>
  629. <script type="javascript" ev:event="DOMActivate">
  630. <![CDATA[
  631. window.reload() ;
  632. ]]>
  633. </script>
  634. </button>
  635. </group>
  636. </xhtml:body>
  637. </xhtml:html>