SMRPV05700_부서별업무목표등록.xrw 34 KB

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