SMZPP00200_산출물등록.xrw 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/css" href="../../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>Untitle</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <cond>
  11. <addFile>파일추가</addFile>
  12. <addProd>목록추가</addProd>
  13. <prodDelete>선택행삭제</prodDelete>
  14. <Update>저장</Update>
  15. <fileDelete>선택행삭제</fileDelete>
  16. <todaydd/>
  17. <seqnum>
  18. <seqnum1>
  19. <seq/>
  20. </seqnum1>
  21. </seqnum>
  22. <allFile>전체목록</allFile>
  23. <searchflag>
  24. <cdflag>
  25. <cdflaglist/>
  26. <cdflagvalue/>
  27. </cdflag>
  28. </searchflag>
  29. <search>
  30. <title/>
  31. </search>
  32. </cond>
  33. <savedata>
  34. <titl/>
  35. <goal/>
  36. <keyword1/>
  37. <keyword2/>
  38. <keyword3/>
  39. <keyword4/>
  40. <keyword5/>
  41. <keyword6/>
  42. <upcdflag>
  43. <cdflag>
  44. <cdflaglist/>
  45. <cdflagvalue/>
  46. </cdflag>
  47. </upcdflag>
  48. <upcdnm1>
  49. <cdnm>
  50. <cdnmlist/>
  51. <cdnmvalue/>
  52. </cdnm>
  53. </upcdnm1>
  54. <upcdnm2>
  55. <cdnm>
  56. <cdnmlist/>
  57. <cdnmvalue/>
  58. </cdnm>
  59. </upcdnm2>
  60. <upcdnm3>
  61. <cdnm>
  62. <cdnmlist/>
  63. <cdnmvalue/>
  64. </cdnm>
  65. </upcdnm3>
  66. </savedata>
  67. <list1>
  68. <prodList>
  69. <cdnm1/>
  70. <cdsid/>
  71. <cdgrupid/>
  72. <cdid/>
  73. <title/>
  74. <goal/>
  75. <keyword/>
  76. <seq/>
  77. </prodList>
  78. </list1>
  79. <list2>
  80. <fileList>
  81. <filename/>
  82. <filepath/>
  83. <seq/>
  84. <no/>
  85. </fileList>
  86. </list2>
  87. <list3>
  88. <fileList>
  89. <check/>
  90. <filename/>
  91. </fileList>
  92. </list3>
  93. <listresult>
  94. <resultList>
  95. <titl/>
  96. <goal/>
  97. <keyword/>
  98. <filename/>
  99. <name/>
  100. </resultList>
  101. </listresult>
  102. <savedata1/>
  103. </main>
  104. <send/>
  105. <init>
  106. <upcdflag>
  107. <cdflag>
  108. <cdflaglist/>
  109. <cdflagvalue/>
  110. </cdflag>
  111. </upcdflag>
  112. <flag>False</flag>
  113. <selectedseq/>
  114. </init>
  115. </root>
  116. </instance>
  117. <script type="javascript" ev:event="xforms-ready">
  118. <![CDATA[
  119. // 처음 load시 산출물 등록 목록 및 파일등록 목록의 행을 모두 삭제
  120. model.removeNodeset("/root/main/list1/prodList");
  121. model.removeNodeset("/root/main/list2/fileList");
  122. model.removeNodeset("/root/main/list3/fileList");
  123. // 분류의combo내용을 DB의 master table로 부터 불러옴
  124. submit("TRZPP00201");
  125. model.copyNode("/root/main/savedata/upcdflag", "/root/init/upcdflag");
  126. model.copyNode("/root/main/cond/searchflag", "/root/init/upcdflag");
  127. //대분류의 combo내용을 DB의 master table로 부터 불러옴
  128. submit("TRZPP00202");
  129. //seq
  130. submit("TRZPP00209");
  131. // //조회기준일별 저장확인
  132. // var today = getCurrentDate("/root/main/cond/todaydd");
  133. // model.setValue("/root/main/cond/todaydd",today);
  134. // model.refresh();
  135. ]]>
  136. </script>
  137. <submission id="TRZPP00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/upcdflag"/>
  138. <submission id="TRZPP00202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/savedata/upcdnm1"/>
  139. <submission id="TRZPP00203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/savedata/upcdnm2"/>
  140. <submission id="TRZPP00204" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/savedata/upcdnm3"/>
  141. <submission id="TRZPP00209" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/cond/seqnum"/>
  142. <submission id="TRZPP00210" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send"/>
  143. <submission id="TRZPP00205" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/list1"/>
  144. <submission id="TRZPP00206" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/list2"/>
  145. <submission id="TXZPP00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/list1"/>
  146. <submission id="TXZPP00202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send"/>
  147. <submission id="TXZPP00203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send"/>
  148. </model>
  149. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  150. <script type="javascript" src="../../commonweb/js/common.js"/>
  151. <script type="javascript" src="../../commonweb/js/tfHelper.js"/>
  152. <script type="javascript" src="../../commonweb/js/dateHelper.js"/>
  153. <script type="javascript">
  154. <![CDATA[
  155. function init() {
  156. //임시저장 버튼 클릭 후 등록창의 저장 내용을 초기화
  157. model.removeNodeset("/root/main/savedata/upcdflag");
  158. model.removeNodeset("/root/main/savedata/upcdnm1");
  159. model.removeNodeset("/root/main/savedata/upcdnm2");
  160. model.removeNodeset("/root/main/savedata/upcdnm3");
  161. //--제목
  162. model.setValue("/root/main/savedata/titl","");
  163. //--목적
  164. model.setValue("/root/main/savedata/goal","");
  165. //-- 키워드
  166. for (var i = 1 ; i <7 ; i ++){
  167. model.setValue("/root/main/savedata/keyword"+i,"");
  168. }
  169. model.removeNodeset("/root/main/list2/fileList");
  170. model.setValue("/root/init/flag", false);
  171. }
  172. ]]>
  173. </script>
  174. </xhtml:head>
  175. <xhtml:body guideline="2,784;2,776;2,784;1,1194;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  176. <button id="btn_save" class="btn4_letter2" ref="/root/main/cond/Update" disable.background-image="../../../com/commonweb/images/dis_btn4_letter2.gif" style="left:1138px; top:744px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn4_letter2.gif; ">
  177. <caption>저장</caption>
  178. <script type="javascript" ev:event="onclick">
  179. <![CDATA[
  180. // //저장할 내용이 없는 경우
  181. // if(grd_prodatalist.rows-grd_prodatalist.fixedRows == 0){
  182. // alert("저장할 산출물이 없습니다");
  183. // }
  184. //
  185. // else{
  186. // //업로드할 행의 개수
  187. // var rownum = grd_prodatalist.rows;
  188. // //첫번째 행부터 업로드한다.
  189. // for (var i =1 ; i < rownum ; i++){
  190. // //alert(i);
  191. // var cdflag = model.getValue("/root/main/list1/prodList["+1+"]/cdflag");
  192. // model.makeValue("/root/send/cdflag",cdflag); //** 분류명을 받아 분류코드를 찾는다.
  193. // var cdnm1 = model.getValue("/root/main/list1/prodList["+1+"]/cdnm1");
  194. // model.makeValue("/root/send/cdnm1",cdnm1);
  195. // var cdnm2 = model.getValue("/root/main/list1/prodList["+1+"]/cdnm2");
  196. // model.makeValue("/root/send/cdnm2",cdnm2);
  197. // var cdnm3 = model.getValue("/root/main/list1/prodList["+1+"]/cdnm3");
  198. // model.makeValue("/root/send/cdnm3",cdnm3);
  199. // var titl = model.getValue("/root/main/list1/prodList["+1+"]/titl");
  200. // model.makeValue("/root/send/titl",titl);
  201. // var goal = model.getValue("/root/main/list1/prodList["+1+"]/goal");
  202. // model.makeValue("/root/send/goal",goal);
  203. // var keyword = model.getValue("/root/main/list1/prodList["+1+"]/keyword");
  204. // model.makeValue("/root/send/keyword",keyword);
  205. // var inseq = model.getValue("/root/main/list1/prodList["+1+"]/inseq");
  206. // model.makeValue("/root/send/inseq",inseq);
  207. // //alert(cdflag + cdnm1+ cdnm2 + cdnm3 + titl + goal + keyword + inseq);
  208. // submit("TRZPP00208");
  209. // grd_prodatalist.deleteRow(1);
  210. // }
  211. // var filerow = grd_filelist.rows;
  212. // //첫번째 행부터 업로드한다.
  213. // for (var i =1 ; i < filerow ; i++){
  214. // //alert(i);
  215. // var filename = model.getValue("/root/main/list2/fileList["+1+"]/filename");
  216. // model.makeValue("/root/send/filename",filename);
  217. // var filepath = model.getValue("/root/main/list2/fileList["+1+"]/filepath");
  218. // model.makeValue("/root/send/filepath",filepath);
  219. // var inseq = model.getValue("/root/main/list2/fileList["+1+"]/inseq");
  220. // model.makeValue("/root/send/inseq",inseq);
  221. //
  222. // submit("TRZPP00210");
  223. // grd_filelist.deleteRow(1);
  224. // }
  225. // var deletefilelist = datagrid4.rows-datagrid4.fixedRows;
  226. // for (var b = 0 ; b < deletefilelist ; b++){
  227. // datagrid4.deleteRow(1);
  228. // }
  229. //
  230. // }
  231. //저장할 내용이 없는 경우
  232. if(cmb_cdflag.value=="" || ipt_titl.value=="") {
  233. alert("저장할 산출물이 없습니다");
  234. } else{
  235. //alert(i);
  236. var cdflag = model.getValue("/root/main/savedata/upcdflag/cdflag");
  237. model.makeValue("/root/send/cdflag",cdflag); //** 분류명을 받아 분류코드를 찾는다.
  238. var cdnm1 = model.getValue("/root/main/savedata/upcdnm1/cdnm");
  239. model.makeValue("/root/send/cdnm1",cdnm1);
  240. var cdnm2 = model.getValue("/root/main/savedata/upcdnm2/cdnm");
  241. model.makeValue("/root/send/cdnm2",cdnm2);
  242. var cdnm3 = model.getValue("/root/main/savedata/upcdnm3/cdnm");
  243. model.makeValue("/root/send/cdnm3",cdnm3);
  244. var titl = model.getValue("/root/main/savedata/titl");
  245. model.makeValue("/root/send/titl",titl);
  246. var goal = model.getValue("/root/main/savedata/goal");
  247. model.makeValue("/root/send/goal",goal);
  248. //-- 키워드
  249. var keyword=new Array(6);
  250. var keywordres="";
  251. var count = 0;
  252. for (i = 0 ; i <7 ; i++){
  253. keyword[i] = model.getValue("/root/main/savedata/keyword"+ i );
  254. if (keyword[i] != ""){
  255. count ++;
  256. if (count == 1){
  257. keywordres = keyword[i];
  258. }
  259. else {
  260. keywordres = keywordres + "," + keyword[i];
  261. }
  262. }
  263. }
  264. model.makeValue("/root/send/keyword",keywordres);
  265. var flag=model.getValue("/root/init/flag");
  266. var inseq=0;
  267. //flag(True: prodatalist에서 seq를 가져오는 경우 update 쿼리문, False: 새로운 산출물을 입력하는 경우 insert쿼리문)
  268. if(flag=="False") {
  269. inseq=Number(ipt_seqnum.value)+1;
  270. model.makeValue("/root/send/inseq",inseq);
  271. if(submit("TXZPP00201") == true) {
  272. //파일이 있을때
  273. if(grd_filelist.rows-grd_filelist.fixedRows!=0) {
  274. var filedata=grd_filelist.getUpdateData();
  275. model.makeValue("/root/send/filedata", filedata);
  276. submit("TXZPP00203");
  277. }
  278. messageBox("성공적으로 저장하였습니다.", "I");
  279. }
  280. } else {
  281. inseq=model.getValue("/root/init/selectedseq");
  282. model.makeValue("/root/send/inseq",inseq);
  283. if(submit("TXZPP00202") == true) {
  284. //파일이 있을때
  285. if(grd_filelist.rows-grd_filelist.fixedRows!=0) {
  286. var filedata=grd_filelist.getUpdateData();
  287. model.makeValue("/root/send/filedata", filedata);
  288. submit("TXZPP00203");
  289. }
  290. messageBox("성공적으로 수정하였습니다.", "I");
  291. }
  292. }
  293. }
  294. // //파일이 있을때
  295. // if(grd_filelist.rows-grd_filelist.fixedRows!=0) {
  296. // var filedata=grd_filelist.getUpdateData();
  297. // model.makeValue("/root/send/filedata", filedata);
  298. // submit("TXZPP00203");
  299. // }
  300. init();
  301. // submit("TRZPP00201");
  302. model.makeNode("/root/main/savedata/upcdflag");
  303. model.makeNode("/root/main/cond/searchflag");
  304. model.copyNode("/root/main/savedata/upcdflag", "/root/init/upcdflag");
  305. model.copyNode("/root/main/cond/searchflag", "/root/init/upcdflag");
  306. // copyNodeListType("/root/main/savedata/upcdflag", "/root/init/upcdflag", "after");
  307. // copyNodeListType("/root/main/cond/searchflag", "/root/init/upcdflag", "after");
  308. submit("TRZPP00202");
  309. model.setValue("/root/main/savedata", "");
  310. ]]>
  311. </script>
  312. </button>
  313. <caption id="caption1" class="tit_2" style="left:0px; top:100px; width:131px; height:13px; ">산출물 등록 목록</caption>
  314. <caption id="caption7" class="tit_1" style="left:0px; top:5px; width:140px; height:13px; ">산출물 등록</caption>
  315. <datagrid id="grd_prodatalist" nodeset="/root/main/list1/prodList" autoresize="true" caption="분류^분류기준(대)^분류기준(중)^분류기준(소)^제목^목적^키워드^번호" colsep="^" colwidth="120, 120, 120, 120, 250, 250, 192, 0" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:120px; width:1195px; height:452px; border-color:#c0c0c0; ">
  316. <col ref="cdnm1" type="output"/>
  317. <col ref="cdsid" type="output"/>
  318. <col ref="cdgrupid" type="output"/>
  319. <col ref="cdid" type="output"/>
  320. <col ref="title" type="output"/>
  321. <col ref="goal" type="output"/>
  322. <col ref="keyword" type="output"/>
  323. <col ref="seq" visibility="hidden"/>
  324. <script type="javascript" ev:event="ondblclick">
  325. <![CDATA[
  326. //임시저장된 산출물 클릭시 수정창으로 이동
  327. // model.removeNodeset("/root/main/savedata");
  328. init();
  329. //수정여부 클릭
  330. model.setValue("/root/init/flag", true);
  331. var selectedSeq=model.getValue("/root/main/list1/prodList["+grd_prodatalist.row+"]/seq");
  332. model.setValue("/root/init/selectedseq", selectedSeq);
  333. // alert(model.getValue("/root/init/flag"));
  334. //--분류
  335. var topresend_cdflag=model.getValue("/root/main/list1/prodList["+grd_prodatalist.row+"]/cdnm1");
  336. model.makeValue("/root/main/savedata/upcdflag/cdflag/cdflaglist", topresend_cdflag);
  337. model.makeValue("/root/main/savedata/upcdflag/cdflag/cdflagvalue", topresend_cdflag);
  338. //--대분류
  339. var topresend_cdnm1=model.getValue("/root/main/list1/prodList["+grd_prodatalist.row+"]/cdsid");
  340. model.makeValue("/root/main/savedata/upcdnm1/cdnm/cdnmlist", topresend_cdnm1);
  341. model.makeValue("/root/main/savedata/upcdnm1/cdnm/cdnmvalue", topresend_cdnm1);
  342. var topresend_cdnm2=model.getValue("/root/main/list1/prodList["+grd_prodatalist.row+"]/cdgrupid");
  343. model.makeValue("/root/main/savedata/upcdnm2/cdnm/cdnmlist", topresend_cdnm2);
  344. model.makeValue("/root/main/savedata/upcdnm2/cdnm/cdnmvalue", topresend_cdnm2);
  345. var topresend_cdnm3=model.getValue("/root/main/list1/prodList["+grd_prodatalist.row+"]/cdid");
  346. model.makeValue("/root/main/savedata/upcdnm3/cdnm/cdnmlist", topresend_cdnm3);
  347. model.makeValue("/root/main/savedata/upcdnm3/cdnm/cdnmvalue", topresend_cdnm3);
  348. cmb_cdflag.refresh();
  349. cmb_cdnm1.refresh();
  350. cmb_cdnm2.refresh();
  351. cmb_cdnm3.refresh();
  352. cmb_cdflag.select(0);
  353. cmb_cdnm1.select(0);
  354. cmb_cdnm2.select(0);
  355. cmb_cdnm3.select(0);
  356. //--제목
  357. var topresend_titl=model.getValue("/root/main/list1/prodList["+grd_prodatalist.row+"]/title");
  358. model.setValue("/root/main/savedata/titl", topresend_titl);
  359. //--목적
  360. var topresend_goal=model.getValue("/root/main/list1/prodList["+grd_prodatalist.row+"]/goal");
  361. model.setValue("/root/main/savedata/goal", topresend_goal);
  362. //--키워드
  363. var keywords=model.getValue("/root/main/list1/prodList["+grd_prodatalist.row+"]/keyword");
  364. var keyword=keywords.split(",");
  365. for (var i =0 ; i < keyword.length ; i++){
  366. model.setValue("/root/main/savedata/keyword"+(i+1), keyword[i]);
  367. }
  368. // //산출물 등록 목록 선택 시 파일등록 목록을 초기화
  369. // var deletefilelist = datagrid4.rows-datagrid4.fixedRows;
  370. // for (var b = 0 ; b < deletefilelist ; b++){
  371. // datagrid4.deleteRow(1);
  372. // }
  373. // //비교하여 해당 seq파일 목록에 가져옴
  374. // var checkprod = model.getValue("/root/main/list1/prodList["+grd_prodatalist.row+"]/inseq");
  375. // var totalrownum = grd_filelist.rows;
  376. // for (var i = 1 ; i < totalrownum ; i ++){
  377. // //datagrid4.deleteRow();
  378. // //전체목록의 seq를 첫 행부터 비교
  379. // var seq = model.getValue("/root/main/list2/fileList["+i+"]/inseq");
  380. // //checkprod : 목록의 seq
  381. // if (checkprod == seq){
  382. // var filename = model.getValue("/root/main/list2/fileList["+i+"]/filename");
  383. // //alert(filename);
  384. // datagrid4.addRow();
  385. // model.makeValue("/root/main/list3/fileList["+datagrid4.row+"]/filename",filename);
  386. // }
  387. // }
  388. // model.refresh();
  389. //파일 리스트 받아오기
  390. var seq=model.getValue("/root/main/list1/prodList["+grd_prodatalist.row+"]/seq");
  391. model.makeValue("root/send/seq", seq);
  392. submit("TRZPP00206");
  393. ]]>
  394. </script>
  395. </datagrid>
  396. <line id="line1" class="line_1" style="x1:0px; y1:117px; x2:1195px; y2:116px; "/>
  397. <line id="line2" class="line_6" style="x1:0px; y1:25px; x2:1195px; y2:25px; "/>
  398. <caption id="caption2" class="tit_2" style="left:928px; top:591px; width:131px; height:13px; ">파일 목록</caption>
  399. <line id="line3" class="line_1" style="x1:928px; y1:607px; x2:1194px; y2:607px; "/>
  400. <button id="btn_filedel" class="btn2_letter5" ref="/root/main/cond/fileDelete" disable.background-image="../../../com/commonweb/images/dis_btn2_letter5.gif" style="left:1119px; top:585px; width:75px; height:19px; background-image:../../../com/commonweb/images/btn2_letter5.gif; ">
  401. <caption>선택행삭제</caption>
  402. <script type="javascript" ev:event="onclick">
  403. <![CDATA[
  404. //행 삭제
  405. //-- 1.선택된 행(드래그) 삭제
  406. var selectedRows = grd_filelist.selectedRows;
  407. var arr = new Array(selectedRows);
  408. for (var i = 0 ; i <arr.length; i++)
  409. {
  410. arr[i]=grd_filelist.selectedRow(i);
  411. }
  412. for (var i =arr.length-1;i>=0;i--)
  413. {
  414. // grd_filelist.deleteRow(arr[i],false);
  415. deleteSelectedRows(grd_filelist, true);
  416. }
  417. //-- 2. 체크박스를 이용하여 선택 된 행 삭제
  418. model.removeNodeset("/root/main/list3/fileList[check='true']"); //인스턴스 a에 해당하는 선택 컬럼이 체크되었다면 true
  419. //-- 2.1전체선택의 체크상태 해제
  420. grd_filelist.fixedcellischeck(0,0) = false;
  421. grd_filelist.refresh();
  422. ]]>
  423. </script>
  424. </button>
  425. <input id="ipt_keyword1" ref="/root/main/savedata/keyword1" style="left:103px; top:661px; width:196px; height:19px; "/>
  426. <input id="ipt_keyword2" ref="/root/main/savedata/keyword2" style="left:303px; top:661px; width:196px; height:19px; "/>
  427. <input id="ipt_keyword3" ref="/root/main/savedata/keyword3" style="left:103px; top:685px; width:196px; height:19px; "/>
  428. <select1 id="cmb_cdflag" ref="/root/main/savedata/upcdflag/cdflag" class="combo_essential" appearance="minimal" style="left:101px; top:613px; width:398px; height:19px; ">
  429. <choices>
  430. <itemset nodeset="/root/main/savedata/upcdflag">
  431. <label ref="cdflag/cdflaglist"/>
  432. <value ref="cdflag/cdflagvalue"/>
  433. </itemset>
  434. </choices>
  435. </select1>
  436. <input id="ipt_titl" ref="/root/main/savedata/titl" class="combo_essential" style="left:605px; top:613px; width:320px; height:19px; "/>
  437. <select1 id="cmb_cdnm1" ref="/root/main/savedata/upcdnm1/cdnm" appearance="minimal" style="left:103px; top:637px; width:130px; height:19px; ">
  438. <choices>
  439. <itemset nodeset="/root/main/savedata/upcdnm1">
  440. <label ref="cdnm/cdnmlist"/>
  441. <value ref="cdnm/cdnmvalue"/>
  442. </itemset>
  443. </choices>
  444. <script type="javascript" ev:event="xforms-value-changed">
  445. <![CDATA[
  446. //대분류 선택시 분류기준의 중분류로 이동(이런식으로^^)
  447. var flag=model.getValue("/root/init/flag");
  448. var subcdvalue1 = model.getValue("/root/main/savedata/upcdnm1/cdnm");
  449. model.makeValue("/root/send/flaglist", subcdvalue1);
  450. model.removenode("/root/main/savedata/upcdnm3/cdnm");
  451. submit("TRZPP00203");
  452. ]]>
  453. </script>
  454. </select1>
  455. <select1 id="cmb_cdnm2" ref="/root/main/savedata/upcdnm2/cdnm" appearance="minimal" style="left:236px; top:637px; width:130px; height:19px; ">
  456. <choices>
  457. <itemset nodeset="/root/main/savedata/upcdnm2">
  458. <label ref="cdnm/cdnmlist"/>
  459. <value ref="cdnm/cdnmvalue"/>
  460. </itemset>
  461. </choices>
  462. <script type="javascript" ev:event="xforms-value-changed">
  463. <![CDATA[
  464. //중분류 선택시 분류기준의 중분류로 이동(이런식으로^^)
  465. var flag=model.getValue("/root/init/flag");
  466. var subcdvalue2 = model.getValue("/root/main/savedata/upcdnm2/cdnm");
  467. model.makeValue("/root/send/flagmiddlelist", subcdvalue2);
  468. submit("TRZPP00204");
  469. ]]>
  470. </script>
  471. </select1>
  472. <input id="ipt_keyword4" ref="/root/main/savedata/keyword4" style="left:303px; top:685px; width:196px; height:19px; "/>
  473. <input id="ipt_keyword5" ref="/root/main/savedata/keyword5" style="left:103px; top:708px; width:196px; height:19px; "/>
  474. <input id="ipt_keyword6" ref="/root/main/savedata/keyword6" style="left:303px; top:708px; width:196px; height:19px; "/>
  475. <select1 id="cmb_cdnm3" ref="/root/main/savedata/upcdnm3/cdnm" appearance="minimal" style="left:369px; top:637px; width:130px; height:19px; ">
  476. <choices>
  477. <itemset nodeset="/root/main/savedata/upcdnm3">
  478. <label ref="cdnm/cdnmlist"/>
  479. <value ref="cdnm/cdnmvalue"/>
  480. </itemset>
  481. </choices>
  482. </select1>
  483. <button id="btn_addfile" class="btn2_letter4" ref="/root/main/cond/addFile" disable.background-image="../../../com/commonweb/images/dis_btn2_letter4.gif" style="left:1050px; top:585px; width:64px; height:19px; background-image:../../../com/commonweb/images/btn2_letter4.gif; ">
  484. <caption>파일추가</caption>
  485. <script type="javascript" ev:event="onclick">
  486. <![CDATA[
  487. //산출물 등록목록의 컬럼을 선택하지 않은경우 오류창을 띄움
  488. // model.removeNodeset("/root/main/list3/fileList");
  489. // var checkprod = model.getValue("/root/main/list1/prodList["+grd_prodatalist.row+"]/seq");
  490. // if (checkprod == ""){
  491. // alert("파일을 등록할 산출물을 선택하세요");
  492. // }
  493. // else{
  494. // var file = window.fileDialog(
  495. // "open",
  496. // "",
  497. // false,
  498. // "",
  499. // "",
  500. // "doc Files (*.doc)|*.doc|ppt Files(*.ppt)|*.ppt|");
  501. //
  502. // //파일이 선택되었을 경우에만 행 추가
  503. // if (file != ""){
  504. // grd_filelist.addRow();
  505. // model.setValue("/root/main/list2/fileList["+grd_filelist.row+"]/filepath",file);
  506. //
  507. // //--파일이름을 자르기
  508. // var togrid_file = model.getValue("/root/main/list2/fileList["+grd_filelist.row+"]/filepath");
  509. // var s = togrid_file.lastIndexOf("\\");
  510. // var togrid_file=togrid_file.substring(s+1);
  511. // model.setValue("/root/main/list2/fileList["+grd_filelist.row+"]/filename",togrid_file);
  512. //
  513. // //등록목록의 번호를 가져옴
  514. // model.setValue("/root/main/list2/fileList["+grd_filelist.row+"]/inseq",checkprod);
  515. //
  516. // //전체 파일의 개수
  517. // var totalrownum = grd_filelist.rows;
  518. //
  519. // for (var i = 1 ; i < totalrownum ; i ++){
  520. // //전체목록의 seq를 첫 행부터 비교
  521. // var seq = model.getValue("/root/main/list2/fileList["+i+"]/inseq");
  522. // //checkprod : 목록의 seq
  523. // if (checkprod == seq){
  524. // var filename = model.getValue("/root/main/list2/fileList["+i+"]/filename");
  525. // datagrid4.addRow();
  526. // model.makeValue("/root/main/list3/fileList["+datagrid4.row+"]/filename",filename);
  527. // }
  528. // }
  529. // }
  530. // }
  531. //
  532. // model.refresh();
  533. //파일 추가
  534. if(cmb_cdflag.value=="" || ipt_titl.value=="") {
  535. alert("파일을 등록할 산출물을 선택하세요");
  536. } else {
  537. var file = window.fileDialog(
  538. "open",
  539. "",
  540. false,
  541. "",
  542. "",
  543. "doc Files (*.doc)|*.doc|ppt Files(*.ppt)|*.ppt|all Files(*.*)|*.*");
  544. //파일이 선택되었을 경우에만 행 추가
  545. if (file!="") {
  546. grd_filelist.addRow();
  547. model.setValue("/root/main/list2/fileList["+grd_filelist.row+"]/filepath",file);
  548. //--파일이름을 자르기
  549. var togrid_file = model.getValue("/root/main/list2/fileList["+grd_filelist.row+"]/filepath");
  550. var s = togrid_file.lastIndexOf("\\");
  551. var filename=togrid_file.substring(s+1);
  552. var filepath=togrid_file.substring(0,s);
  553. model.setValue("/root/main/list2/fileList["+grd_filelist.row+"]/filepath",filepath);
  554. model.setValue("/root/main/list2/fileList["+grd_filelist.row+"]/filename",filename);
  555. //prodatalist에서 선택하지 않았거나 filelist에 seq가 없다면
  556. if(model.getValue("/root/init/flag")=="False") {
  557. var checkprod=Number(ipt_seqnum.value)+1;
  558. model.setValue("/root/main/list2/fileList["+grd_filelist.row+"]/seq",checkprod);
  559. } //prodatalist에서 선택했으나 filelist에 seq가 없다면
  560. else if(model.getValue("/root/main/list2/fileList/seq")=="" && model.getValue("/root/init/flag")=="True") {
  561. model.setValue("/root/main/list2/fileList["+grd_filelist.row+"]/seq", model.getValue("/root/init/selectedseq"));
  562. } //prodadtalist에서 선택하고 filelist에 seq가 있다면
  563. else if(model.getValue("/root/main/list2/fileList/seq")!="" && model.getValue("/root/init/flag")=="True") {
  564. model.setValue("/root/main/list2/fileList["+grd_filelist.row+"]/seq", model.getValue("/root/main/list2/fileList/seq"));
  565. }
  566. }
  567. }
  568. ]]>
  569. </script>
  570. </button>
  571. <textarea id="txt_goal" ref="/root/main/savedata/goal" style="left:605px; top:635px; width:320px; height:92px; "/>
  572. <datagrid id="grd_filelist" nodeset="/root/main/list2/fileList" autoresize="true" caption="파일명^파일경로명^seq^no^SEQ" colsep="^" colwidth="238, 0, 0, 0" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:928px; top:611px; width:266px; height:118px; ">
  573. <col ref="filename"/>
  574. <col ref="filepath" visibility="hidden"/>
  575. <col ref="seq" visibility="hidden"/>
  576. <col ref="no" visibility="hidden"/>
  577. </datagrid>
  578. <input id="ipt_seqnum" ref="/root/main/cond/seqnum/seqnum1/seq" visibility="hidden" style="left:90px; top:0px; width:45px; height:19px; "/>
  579. <caption id="caption5" class="tit_2" style="left:0px; top:591px; width:131px; height:13px; ">산출물 등록현황</caption>
  580. <line id="line7" class="line_6" style="x1:0px; y1:740px; x2:1195px; y2:740px; "/>
  581. <line id="line8" class="line_1" style="x1:0px; y1:607px; x2:925px; y2:607px; "/>
  582. <line id="line9" class="line_3" style="x1:0px; y1:729px; x2:925px; y2:729px; "/>
  583. <caption id="caption6" class="cell_1" style="left:0px; top:611px; width:100px; height:22px; font-weight:bolder; ">분류</caption>
  584. <caption id="caption13" class="cell_1" style="left:0px; top:635px; width:100px; height:22px; font-weight:bolder; ">분류기준</caption>
  585. <caption id="caption14" class="cell_1" style="left:0px; top:659px; width:100px; height:68px; font-weight:bolder; ">키워드</caption>
  586. <caption id="caption15" class="cell_1" style="left:502px; top:611px; width:100px; height:22px; font-weight:bolder; ">제목</caption>
  587. <caption id="caption16" class="cell_1" style="left:502px; top:635px; width:100px; height:92px; font-weight:bolder; ">목적</caption>
  588. <button id="btn_init" class="btn4_letter3" disable.background-image="../../../com/commonweb/images/dis_btn4_letter3.gif" style="left:1065px; top:744px; width:68px; height:22px; background-image:../../../com/commonweb/images/btn4_letter3.gif; ">
  589. <caption>초기화</caption>
  590. <script type="javascript" ev:event="onclick">
  591. <![CDATA[
  592. init();
  593. // submit("TRZPP00201");
  594. model.makeNode("/root/main/savedata/upcdflag");
  595. model.makeNode("/root/main/cond/searchflag");
  596. model.copyNode("/root/main/savedata/upcdflag", "/root/init/upcdflag");
  597. model.copyNode("/root/main/cond/searchflag", "/root/init/upcdflag");
  598. // copyNodeListType("/root/main/savedata/upcdflag", "/root/init/upcdflag", "after");
  599. // copyNodeListType("/root/main/cond/searchflag", "/root/init/upcdflag", "after");
  600. submit("TRZPP00202");
  601. ]]>
  602. </script>
  603. </button>
  604. <shape id="roundrect1" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:0px; top:45px; width:1195px; height:37px; "/>
  605. <caption id="caption3" class="search_name" style="left:35px; top:55px; width:100px; height:17px; ">분류 :</caption>
  606. <caption id="caption4" class="search_name" style="left:495px; top:55px; width:100px; height:17px; ">제목 :</caption>
  607. <select1 id="cmb_clslist" ref="/root/main/cond/searchflag/cdflag" class="combo_essential" appearance="minimal" style="left:100px; top:54px; width:255px; height:19px; ">
  608. <choices>
  609. <itemset nodeset="/root/main/cond/searchflag/cdflag">
  610. <label ref="cdflaglist"/>
  611. <value ref="cdflagvalue"/>
  612. </itemset>
  613. </choices>
  614. <script type="javascript" ev:event="xforms-value-changed">
  615. <![CDATA[
  616. var clslist = model.getValue("/root/main/cond/searchflag/cdflag");
  617. model.makeValue("/root/send/clslist", clslist);
  618. ]]>
  619. </script>
  620. </select1>
  621. <input id="ipt_search" ref="/root/main/cond/search/title" style="left:570px; top:54px; width:370px; height:15px; "/>
  622. <line id="line4" class="line_4" style="x1:1087px; y1:50px; x2:1087px; y2:75px; "/>
  623. <button id="btn_search" class="btn1_letter2" style="left:1112px; top:53px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  624. <caption>조회</caption>
  625. <script type="javascript" ev:event="DOMActivate">
  626. <![CDATA[
  627. if(cmb_clslist.value=="") {
  628. alert("분류는 필수선택사항입니다.");
  629. model.setFocus("cmb_clslist");
  630. }
  631. if(cmb_clslist.value!="") {
  632. model.makeValue("/root/send/search", ipt_search.value);
  633. submit("TRZPP00205");
  634. model.removeNodeset("/root/send");
  635. }
  636. ]]>
  637. </script>
  638. </button>
  639. </xhtml:body>
  640. </xhtml:html>