SMRPA09000_오프라인문서관리.xrw 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:ex="http://www.comsquare.co.kr/xforms/excel" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:ms="urn:schemas-microsoft-com:xslt" xmlns:my="http://www.comsquare.co.kr/example" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:cs="http://www.comsquare.co.kr/xforms">
  4. <xhtml:head>
  5. <xhtml:title>SMRPA09000_오프라인문서관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <clubcodelist/>
  11. <item>
  12. <instnm/>
  13. <psnworkaprvid/>
  14. <prsdinstcd/>
  15. <prsdinstnm/>
  16. <prsddeptcd/>
  17. <prsddeptnm/>
  18. <prsdjobrespcd/>
  19. <prsdjobrespnm/>
  20. <prsdnjobgradcd/>
  21. <gnrlinstcd/>
  22. <gnrlinstnm/>
  23. <gnrldeptcd/>
  24. <gnrljobrespcd/>
  25. <gnrljobrespnm/>
  26. <gnrlnjobgradcd/>
  27. <prsdjobposcd/>
  28. <prsdjobposnm/>
  29. <gnrljobposnm/>
  30. <gnrljobposcd/>
  31. <prsddutplceinst/>
  32. <prsddutplceinstnm/>
  33. <gnrldutplceinst/>
  34. <gnrldutplceinstnm/>
  35. <prsdrecedd/>
  36. <prsdenddd/>
  37. <prsddocsanm/>
  38. <prsddocno/>
  39. <prsdsendpt/>
  40. <prsdrecedpt/>
  41. <prsdocpage/>
  42. <prsdocps/>
  43. <prsdplace/>
  44. <prsdsubject/>
  45. <prsdetc/>
  46. <instcd/>
  47. <deptcd/>
  48. <prsdatchyn/>
  49. <prsdsegrd/>
  50. <prsdsaveyn/>
  51. <docseq/>
  52. </item>
  53. </main>
  54. <send>
  55. <workgbn/>
  56. <attach>
  57. <file/>
  58. </attach>
  59. <clubcodelist>
  60. <deptcdnew/>
  61. <deptnmnew/>
  62. <prsdenddd_s/>
  63. <prsdenddd_d/>
  64. <prsdocps_s/>
  65. <prsdsubject_s/>
  66. <prsddocsanm_s/>
  67. <nowdeptcd/>
  68. <prsdsegrd_s/>
  69. </clubcodelist>
  70. <save>
  71. <clubcodelist/>
  72. </save>
  73. </send>
  74. <temp>
  75. </temp>
  76. <init>
  77. <prsdatchyn>
  78. <label>있음</label>
  79. <value>Y</value>
  80. <label>없음</label>
  81. <value>N</value>
  82. </prsdatchyn>
  83. <prsdsegrd>
  84. <label>대외비</label>
  85. <value>Y</value>
  86. <label>일반문서</label>
  87. <value>N</value>
  88. </prsdsegrd>
  89. <prsdsaveyn>
  90. <label>영구</label>
  91. <value>Y</value>
  92. <label>준영구</label>
  93. <value>N</value>
  94. </prsdsaveyn>
  95. </init>
  96. </root>
  97. </instance>
  98. <script type="javascript" ev:event="xforms-ready">
  99. <![CDATA[
  100. fInitialize();
  101. misfGridInit(grd_clubcodelist); //mis.js - removeNodeset - 노드셋으로 되어있는 컨트롤들의 노드를 삭제해 줄 때 사용할 수 있는 함수
  102. misfMsterDetailSet(grd_clubcodelist,null,"TRRPA09001","Y"); //(pGrid_name, pMaster_Grid, pSubmit_Id, pSave_Yn, pSelectionMode) 노드를 그려준다
  103. ]]>
  104. </script>
  105. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  106. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  107. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  108. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  109. <script type="javascript">
  110. <![CDATA[
  111. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  112. function fInitialize() {
  113. fEnableInsertButton();
  114. model.removeNodeset("/root/main/clubcodelist"); //nodeset xpath 에 해당하는 노드를 모두 지운다
  115. model.resetInstanceNode("/root/send/clubcodelist"); // 같은 node name을 갖는 노드들은 삭제시켜준다
  116. model.resetInstanceNode("/root/main/item");
  117. model.refresh();
  118. //값 셋팅
  119. model.setValue("/root/main/item/instcd", getUserInfo("dutplceinstcd"));
  120. model.setValue("/root/main/item/instnm", getUserInfo("dutplceinstnm"));
  121. model.setValue("/root/main/item/deptcd", getUserInfo("dutplcecd"));
  122. model.setValue("/root/main/item/prsddeptnm", getUserInfo("dutplcenm"));
  123. model.setValue("/root/send/clubcodelist/deptcdnew", getUserInfo("dutplcecd"));
  124. model.setValue("/root/send/clubcodelist/deptnmnew", getUserInfo("dutplcenm"));
  125. model.setValue("/root/send/clubcodelist/nowdeptcd", getUserInfo("dutplcecd"));
  126. model.setValue(rdo_prsdatchyn.attribute("ref"), 'N');
  127. model.setValue(rdo_prsdsegrd.attribute("ref"),'N');
  128. model.setValue(rdo_prsdsaveyn.attribute("ref"),'Y');
  129. model.setValue(rdo_prsdsegrd_s.attribute("ref"),'N');
  130. model.refresh();
  131. }
  132. function fEnableInsertButton() {
  133. btn_insert.disabled = false;
  134. btn_update.disabled = true;
  135. cal_prsdenddd.disabled = false;
  136. ipt_prsddocsanm.disabled = false;
  137. ipt_prsddocno.disabled = false;
  138. ipt_prsdocpage.disabled = false;
  139. ipt_prsdocps.disabled = false;
  140. rdo_prsdsegrd.disabled = false;
  141. ipt_prsdsubject.disabled = false;
  142. rdo_prsdatchyn.disabled = false;
  143. rdo_prsdsaveyn.disabled = false;
  144. }
  145. function fEnableUpdateButton() {
  146. btn_insert.disabled = true;
  147. btn_update.disabled = false;
  148. rdo_prsdsaveyn.disabled = true;
  149. cal_prsdenddd.disabled = true;
  150. ipt_prsddocsanm.disabled = true;
  151. ipt_prsdocpage.disabled = true;
  152. ipt_prsdocps.disabled = true;
  153. ipt_prsddocno.disabled = true;
  154. ipt_prsdsubject.disabled = true;
  155. rdo_prsdatchyn.disabled = true;
  156. rdo_prsdsegrd.disabled = true;
  157. }
  158. function fChangeGridValue(cur_row) {
  159. model.setValue("/root/main/clubcodelist[" + cur_row + "]/instnm",ipt_instnm.label); //기관명
  160. }
  161. function fCsvUpload() {
  162. var maxsize = upload1.attribute("filesize");
  163. var filename = window.fileDialog("open", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  164. var filelist = filename.split("|");
  165. model.removeNodeset("/root/main/clubcodelist");
  166. model.removeNodeset("/root/send/attach");
  167. //타이틀을 획득한다.
  168. var s = new String(filelist[filelist.length-1]);
  169. var ss = s.split("\\");
  170. if(filename !=""){
  171. if(grd_clubcodelist.row>1){
  172. messageBox("해당월의 자료가 ","E006");
  173. return;
  174. }else{
  175. //작업 전 row를 추가 >파일명 유/무에 따른 분기>
  176. for(var i = 0 ; i < filelist.length ; i++ ){
  177. grd_attach.addRow(false);
  178. if(filelist[i] == ""){
  179. //alert(grd_attach.rows - 1);
  180. grd_attach.removeRow(false);
  181. grd_attach.refresh();
  182. }else{
  183. grd_attach.valueMatrix(grd_attach.rows - 1, 0) = filelist[i];
  184. //파일크기('tfHelper.checkFileSize' 참조)
  185. var fileCnt = upload1.getFileCount();
  186. var lastIndex = fileCnt - 1;
  187. var fileSize = upload1.getFileSize(lastIndex);
  188. grd_attach.textmatrix(grd_attach.rows - 1,1) = fileSize;
  189. if (!checkFileSize(upload1)){
  190. grd_attach.removeItem();
  191. messageBox("파일 크기가 최대치("+maxsize+"Byte)를", "E003");
  192. return;
  193. }
  194. }
  195. }
  196. openLoadingBar("파일업로드 작업중입니다... ") ;
  197. submit("TXRPA09002");
  198. closeLoadingBar();
  199. //btn_search.dispatch("DOMActivate");
  200. }
  201. }
  202. }
  203. ]]>
  204. </script>
  205. <submission id="TXRPA09001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/temp"/>
  206. <submission id="TXRPA09002" mediatype="multipart/form-data" method="form-data-post" ref="/root/send" resultref="/root/main/list01"/>
  207. <submission id="TRRPA09001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/clubcodelist"/>
  208. </model>
  209. </xhtml:head>
  210. <xhtml:body style="margin-left:8; margin-right:8; ">
  211. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  212. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">오프라인문서등록</caption>
  213. </group>
  214. <group id="group2" scroll="auto" style="left:0px; top:38px; width:1195px; height:577px; ">
  215. <line id="line204" class="line_2" style="x1:0px; y1:494px; x2:1195px; y2:494px; "/>
  216. <line id="line2" class="line_3" style="x1:0px; y1:569px; x2:1195px; y2:569px; "/>
  217. <line id="line206" class="line_2" style="x1:0px; y1:542px; x2:1195px; y2:542px; "/>
  218. <line id="line205" class="line_2" style="x1:0px; y1:518px; x2:1195px; y2:518px; "/>
  219. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:10px; width:1195px; height:70px; "/>
  220. <button id="btn_search" class="btn1_letter2" style="left:1125px; top:36px; width:56px; height:22px; ">
  221. <caption>조회</caption>
  222. <script type="javascript" ev:event="DOMActivate">
  223. <![CDATA[
  224. var updtdata = getGridUpdateData(grd_clubcodelist);
  225. //ipt_workgbn.value="rpamclub";
  226. if ( updtdata != "" ) {
  227. var ret = messageBox("그리드에 작업 중인 내용이 있습니다. 조회 작업을","Q003");
  228. if (ret != 6) { // not OK
  229. return;
  230. }
  231. }
  232. var n_check1 = "";
  233. var n_check2 ="";
  234. var n_prsdsegrd = "";
  235. n_check1 = model.getValue("/root/send/clubcodelist/deptcdnew");
  236. n_check2 =model.getValue("/root/send/clubcodelist/nowdeptcd");
  237. n_prsdsegrd =model.getValue("/root/send/clubcodelist/prsdsegrd_s");
  238. if(n_check1 != n_check2 && n_prsdsegrd == "Y"){
  239. messageBox("근무부서의 대외비문서만 검색하실수 있습니다.","E002");
  240. return;
  241. }
  242. misfGridInit(grd_clubcodelist)
  243. misfMsterDetailRetrieve();
  244. //submit("TRRPA09001");
  245. ]]>
  246. </script>
  247. </button>
  248. <line id="line13" class="line_4" style="x1:1110px; y1:16px; x2:1110px; y2:75px; "/>
  249. <caption id="caption278" class="tit_2" style="left:5px; top:90px; width:162px; height:13px; ">문서등록 현황</caption>
  250. <line id="line207" class="line_1" style="x1:0px; y1:105px; x2:1195px; y2:105px; "/>
  251. <caption id="cap_cmntcd" class="cell_1" style="left:0px; top:496px; width:100px; height:23px; vertical-align:middle; ">소속부서</caption>
  252. <caption id="caption283" class="tit_2" style="left:5px; top:451px; width:118px; height:13px; ">문서등록 및 수정</caption>
  253. <caption id="cap_prsddocsanm" class="cell_1" style="left:302px; top:472px; width:120px; height:23px; vertical-align:middle; ">기록물철(문서철)명</caption>
  254. <line id="line203" class="line_1" style="x1:0px; y1:466px; x2:1195px; y2:466px; "/>
  255. <input id="ipt_prsddeptnm" ref="/root/main/item/prsddeptnm" class="input_search" disabled="true" imemode="disabled" style="left:103px; top:497px; width:195px; height:19px; "/>
  256. <caption id="caption5" class="search_name" style="left:685px; top:20px; width:120px; height:17px; ">문서 담당자 :</caption>
  257. <caption id="cap_prsddocno" class="cell_1" style="left:302px; top:496px; width:120px; height:23px; vertical-align:middle; ">문서번호</caption>
  258. <caption id="cap_prsdsendpt" class="cell_1" style="left:302px; top:520px; width:120px; height:23px; vertical-align:middle; ">발신처</caption>
  259. <caption id="caption15" class="search_name" style="left:311px; top:20px; width:120px; height:17px; ">결재 완료일자 :</caption>
  260. <caption id="cap_prsdrecedd" class="cell_1" style="left:0px; top:520px; width:100px; height:23px; vertical-align:middle; ">문서접수일자</caption>
  261. <input id="cal_prsdrecedd" ref="/root/main/item/prsdrecedd" inputtype="date" format="yyyy-mm-dd" style="left:103px; top:520px; width:195px; height:19px; "/>
  262. <caption id="cap_prsdenddd" class="cell_1" style="left:0px; top:544px; width:100px; height:23px; vertical-align:middle; ">결재완료일자</caption>
  263. <input id="cal_prsdenddd" ref="/root/main/item/prsdenddd" class="input_essential" inputtype="date" format="yyyy-mm-dd" style="left:103px; top:545px; width:195px; height:19px; "/>
  264. <input id="ipt_prsddocsanm" ref="/root/main/item/prsddocsanm" class="input_essential" imemode="hangul" maxlength="20" style="left:425px; top:472px; width:180px; height:19px; "/>
  265. <input id="ipt_prsdinstcd" ref="/root/main/item/prsdinstcd" visibility="hidden"/>
  266. <input id="ipt_prsdinstnm" ref="/root/main/item/prsdinstnm" visibility="hidden"/>
  267. <input id="ipt_prsddutplceinst" ref="/root/main/item/prsddutplceinst" visibility="hidden"/>
  268. <input id="ipt_prsddutplceinstnm" ref="/root/main/item/prsddutplceinstnm" visibility="hidden"/>
  269. <input id="ipt_prsddeptcd" ref="/root/main/item/prsddeptcd" visibility="hidden"/>
  270. <input id="ipt_prsdocpage" ref="/root/main/item/prsdocpage" class="input_essential" imemode="hangul" maxlength="20" style="left:711px; top:473px; width:87px; height:19px; "/>
  271. <input id="ipt_prsdjobrespcd" ref="/root/main/item/prsdjobrespcd" visibility="hidden"/>
  272. <input id="ipt_prsdjobrespnm" ref="/root/main/item/prsdjobrespnm" visibility="hidden"/>
  273. <input id="ipt_prsdjobposcd" ref="/root/main/item/prsdjobposcd" visibility="hidden"/>
  274. <input id="ipt_prsdjobposnm" ref="/root/main/item/prsdjobposnm" visibility="hidden"/>
  275. <input id="ipt_prsdnjobgradcd" ref="/root/main/item/prsdnjobgradcd" visibility="hidden"/>
  276. <input id="ipt_prsdsubject" ref="/root/main/item/prsdsubject" class="input_essential" imemode="hangul" maxlength="100" style="left:904px; top:473px; width:286px; height:19px; "/>
  277. <input id="ipt_prsddocno" ref="/root/main/item/prsddocno" class="input_essential" imemode="hangul" maxlength="20" style="left:425px; top:497px; width:180px; height:19px; "/>
  278. <input id="ipt_gnrlinstcd" ref="/root/main/item/gnrlinstcd" visibility="hidden"/>
  279. <input id="ipt_gnrlinstnm" ref="/root/main/item/gnrlinstnm" visibility="hidden"/>
  280. <input id="ipt_gnrldutplceinst" ref="/root/main/item/gnrldutplceinst" visibility="hidden"/>
  281. <input id="ipt_gnrldutplceinstnm" ref="/root/main/item/gnrldutplceinstnm" visibility="hidden"/>
  282. <input id="ipt_gnrldeptcd" ref="/root/main/item/gnrldeptcd" visibility="hidden"/>
  283. <input id="ipt_prsdocps" ref="/root/main/item/prsdocps" class="input_essential" imemode="hangul" maxlength="10" style="left:711px; top:497px; width:87px; height:19px; "/>
  284. <input id="ipt_gnrljobrespcd" ref="/root/main/item/gnrljobrespcd" visibility="hidden"/>
  285. <input id="ipt_gnrljobrespnm" ref="/root/main/item/gnrljobrespnm" visibility="hidden"/>
  286. <input id="ipt_gnrljobposcd" ref="/root/main/item/gnrljobposcd" visibility="hidden"/>
  287. <input id="ipt_gnrljobposnm" ref="/root/main/item/gnrljobposnm" visibility="hidden"/>
  288. <input id="ipt_gnrlnjobgradcd" ref="/root/main/item/gnrlnjobgradcd" visibility="hidden"/>
  289. <caption id="cap_prsdplace" class="cell_1" style="left:609px; top:520px; width:100px; height:23px; vertical-align:middle; ">보존장소</caption>
  290. <caption id="cap_prsdsubject" class="cell_1" style="left:802px; top:472px; width:100px; height:23px; vertical-align:middle; ">문서제목</caption>
  291. <caption id="cap_prsdocpage" class="cell_1" style="left:609px; top:472px; width:100px; height:23px; vertical-align:middle; ">페이지</caption>
  292. <caption id="cap_prsdatchyn" class="cell_1" style="left:802px; top:496px; width:100px; height:23px; vertical-align:middle; ">첨부파일유무</caption>
  293. <caption id="cap_prsdocps" class="cell_1" style="left:609px; top:496px; width:100px; height:23px; vertical-align:middle; ">문서담당자</caption>
  294. <caption id="cap_prsdetc" class="cell_1" style="left:802px; top:520px; width:100px; height:23px; vertical-align:middle; ">비고</caption>
  295. <input id="ipt_prsdsendpt" ref="/root/main/item/prsdsendpt" class="input_default" imemode="hangul" maxlength="20" style="left:425px; top:521px; width:180px; height:19px; "/>
  296. <input id="ipt_prsdplace" ref="/root/main/item/prsdplace" class="input_default" imemode="hangul" maxlength="20" style="left:711px; top:521px; width:87px; height:19px; "/>
  297. <input id="ipt_prsdetc" ref="/root/main/item/prsdetc" class="input_default" imemode="hangul" maxlength="20" style="left:904px; top:521px; width:286px; height:19px; "/>
  298. <caption id="cap_prsdsegrd" class="cell_1" style="left:609px; top:544px; width:100px; height:23px; vertical-align:middle; ">문서보안등급</caption>
  299. <input id="ipt_prsdrecedpt" ref="/root/main/item/prsdrecedpt" class="input_default" imemode="hangul" maxlength="20" style="left:425px; top:545px; width:180px; height:19px; "/>
  300. <caption id="cap_prsdrecedpt" class="cell_1" style="left:302px; top:544px; width:120px; height:23px; vertical-align:middle; ">수신처</caption>
  301. <caption id="cap_cmninstcd" class="cell_1" style="left:0px; top:472px; width:100px; height:23px; vertical-align:middle; ">문서접수기관</caption>
  302. <caption id="cap_cmntnm" class="cell_1" style="left:0px; top:520px; width:100px; height:23px; vertical-align:middle; ">문서접수일자</caption>
  303. <datagrid id="grd_clubcodelist" nodeset="/root/main/clubcodelist" caption="일련번호^*보존기준^*근무기관코드^*근무부서코드^*근무기관명^*근무부서명^문서접수일자^*기록물철명^*페이지^*문서번호^*결재완료일자^발신처^수신처^*문서제목^*문서담당자^보존장소^*첨부파일유무^ *문서보안등급^비고" colsep="^" colwidth="60, 100, 100, 100, 113, 111, 100, 100, 100, 100, 87, 100, 100, 192, 80, 80, 100, 107, 100" dataheight="25" ellipsis="true" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" tooltip="true" style="left:0px; top:112px; width:1195px; height:330px; margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  304. <col ref="docseq" type="output"/>
  305. <col disabled="true" ref="prsdsaveyn" type="combo">
  306. <choices>
  307. <item>
  308. <label>영구</label>
  309. <value>Y</value>
  310. </item>
  311. <item>
  312. <label>준영구</label>
  313. <value>N</value>
  314. </item>
  315. </choices>
  316. </col>
  317. <col ref="instcd" type="output"/>
  318. <col ref="deptcd"/>
  319. <col ref="instnm" style="text-align:center; "/>
  320. <col ref="prsddeptnm" style="text-align:center; "/>
  321. <col ref="prsdrecedd" format="yyyy/mm/dd" style="text-align:center; "/>
  322. <col ref="prsddocsanm" style="text-align:right; "/>
  323. <col ref="prsdocpage" style="text-align:center; "/>
  324. <col ref="prsddocno"/>
  325. <col ref="prsdenddd" format="yyyy/mm/dd" style="text-align:center; "/>
  326. <col ref="prsdsendpt"/>
  327. <col ref="prsdrecedpt"/>
  328. <col ref="prsdsubject"/>
  329. <col ref="prsdocps" style="text-align:right; "/>
  330. <col ref="prsdplace"/>
  331. <col disabled="true" ref="prsdatchyn" type="combo">
  332. <choices>
  333. <item>
  334. <label>있음</label>
  335. <value>Y</value>
  336. </item>
  337. <item>
  338. <label>없음</label>
  339. <value>N</value>
  340. </item>
  341. </choices>
  342. </col>
  343. <col disabled="true" ref="prsdsegrd" type="combo">
  344. <choices>
  345. <item>
  346. <label>대외비</label>
  347. <value>Y</value>
  348. </item>
  349. <item>
  350. <label>일반문서</label>
  351. <value>N</value>
  352. </item>
  353. </choices>
  354. </col>
  355. <col ref="prsdetc"/>
  356. <script type="javascript" ev:event="onrowchanged">
  357. <![CDATA[
  358. var cur_row = grd_clubcodelist.row;
  359. if ( cur_row > 0 ) {
  360. fEnableUpdateButton();
  361. model.copyNode("/root/main/item","/root/main/clubcodelist["+cur_row+"]");
  362. model.refresh();
  363. }
  364. //ipt_cmntcd.disabled = true;
  365. if(model.getValue("/root/main/clubcodelist["+cur_row+"]/psnworkaprvyn")=='Y'){
  366. // ipt_psnworkaprvdd.disabled=false;
  367. }else{
  368. // ipt_psnworkaprvdd.disabled=true;
  369. //rdo_psnworkaprvyn.value="N";
  370. }
  371. ]]>
  372. </script>
  373. <script type="javascript" ev:event="onaftersort">
  374. <![CDATA[
  375. grd_clubcodelist.gridToInstance();
  376. ]]>
  377. </script>
  378. </datagrid>
  379. <input id="ipt_prsdenddd_s" ref="/root/send/clubcodelist/prsdenddd_s" class="input_s_essential" inputtype="date" style="left:436px; top:19px; width:100px; height:19px; "/>
  380. <input id="ipt_psnworkaprvid" ref="/root/main/item/psnworkaprvid" visibility="hidden"/>
  381. <input id="ipt_instnm" ref="/root/main/item/instnm" class="input_search" disabled="true" appearance="minimal" style="left:103px; top:472px; width:195px; height:19px; "/>
  382. <input id="ipt_workgbn" ref="/root/send/workgbn" visibility="hidden"/>
  383. <input id="ipt_prsdocps_s" ref="/root/send/clubcodelist/prsdocps_s" class="input_search" navindex="2" imemode="hangul" style="left:801px; top:19px; width:80px; height:19px; "/>
  384. <input id="ipt_instcd" ref="/root/main/item/instcd" disabled="true" visibility="hidden" style="left:162px; top:472px; width:70px; height:19px; "/>
  385. <input id="ipt_deptcd" ref="/root/main/item/deptcd" disabled="true" visibility="hidden" style="left:163px; top:497px; width:70px; height:19px; "/>
  386. <select1 id="rdo_prsdatchyn" ref="/root/main/item/prsdatchyn" appearance="full" cols="2" overflow="visible" style="left:905px; top:500px; width:96px; height:20px; border-style:none; ">
  387. <choices>
  388. <itemset nodeset="/root/init/prsdatchyn">
  389. <label ref="label"/>
  390. <value ref="value"/>
  391. </itemset>
  392. </choices>
  393. </select1>
  394. <select1 id="rdo_prsdsegrd" ref="/root/main/item/prsdsegrd" appearance="full" cols="2" overflow="visible" style="left:715px; top:546px; width:150px; height:20px; border-style:none; ">
  395. <choices>
  396. <itemset nodeset="/root/init/prsdsegrd">
  397. <label ref="label"/>
  398. <value ref="value"/>
  399. </itemset>
  400. </choices>
  401. </select1>
  402. <button id="btn_upload" class="btn2_letter5" style="left:1045px; top:83px; width:75px; height:19px; ">
  403. <caption>파일업로드</caption>
  404. <script type="javascript" ev:event="DOMActivate">
  405. <![CDATA[
  406. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  407. if (fileName.length > 0 ) {
  408. grd_clubcodelist.loadExcel(fileName, 1, true);
  409. grd_clubcodelist.deleteRow(1);
  410. grd_clubcodelist.refresh();
  411. var sCnt = grd_clubcodelist.rows;
  412. grd_clubcodelist.clearStatus();
  413. grd_clubcodelist.rowStatus(1) = 0;
  414. for ( var i = 1; i < sCnt; i++) {
  415. grd_clubcodelist.rowStatus(i) = 1;
  416. }
  417. model.refresh();
  418. }
  419. ]]>
  420. </script>
  421. </button>
  422. <button id="btn_exceldetail" class="btn2_letter4" style="left:1125px; top:83px; width:64px; height:19px; ">
  423. <caption>엑셀저장</caption>
  424. <script type="javascript" ev:event="DOMActivate">
  425. <![CDATA[
  426. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  427. if (fileName != "")
  428. {
  429. grd_clubcodelist.saveExcel(fileName, "SheetName", false, false, "", "");
  430. }
  431. ]]>
  432. </script>
  433. </button>
  434. <upload id="upload1" nodeset="/root/send/attach/file" ext="xls" filecount="1" filesize="41943040" validate="true" style="left:1015px; top:84px; width:15px; height:20px; "/>
  435. <datagrid id="grd_attach" nodeset="/root/send/attach" class="datagrid1" visibility="hidden" caption="File Name^File Size" colsep="^" colwidth="403, 93" dataheight="23" ellipsis="true" focuscolor="#b9e5fb" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" style="left:280px; top:235px; width:505px; height:69px; ">
  436. <col ref="file" style="text-align:center; "/>
  437. <col ref="filesize" format="#,###" style="text-align:right; "/>
  438. </datagrid>
  439. <caption id="cap_prsdsaveyn" class="cell_1" style="left:1018px; top:495px; width:67px; height:23px; vertical-align:middle; ">보존기준</caption>
  440. <select1 id="rdo_prsdsaveyn" ref="/root/main/item/prsdsaveyn" appearance="full" cols="2" overflow="visible" style="left:1087px; top:498px; width:96px; height:20px; border-style:none; ">
  441. <choices>
  442. <itemset nodeset="/root/init/prsdsaveyn">
  443. <label ref="label"/>
  444. <value ref="value"/>
  445. </itemset>
  446. </choices>
  447. </select1>
  448. <caption id="caption1" class="search_name" style="left:16px; top:50px; width:120px; height:17px; ">문서제목 :</caption>
  449. <input id="ipt_prsdsubject_s" ref="/root/send/clubcodelist/prsdsubject_s" class="input_search" navindex="10" imemode="hangul" style="left:109px; top:49px; width:182px; height:19px; "/>
  450. <caption id="caption2" style="left:547px; top:22px; width:15px; height:17px; ">~</caption>
  451. <input id="ipt_prsdenddd_d" ref="/root/send/clubcodelist/prsdenddd_d" class="input_s_essential" inputtype="date" style="left:566px; top:19px; width:100px; height:19px; "/>
  452. <caption id="caption3" class="search_name" style="left:16px; top:19px; width:85px; height:17px; ">부 서 :</caption>
  453. <input id="ipt_deptcdnew" ref="/root/send/clubcodelist/deptcdnew" class="combo_default" appearance="minimal" style="left:108px; top:19px; width:80px; height:19px; ">
  454. <script type="javascript" ev:event="xforms-value-changed">
  455. <![CDATA[
  456. if(ipt_deptcdnew.value.length == 0)
  457. ipt_deptnmnew.value = "";
  458. else
  459. rszfValidationCheck("TRRPA09001", "deptcodelist", "refcond,deptcd",
  460. "deptcd," + ipt_deptcdnew.value, "", "deptcdnew,deptnmnew",
  461. ipt_deptcdnew, "SPRPZ00200", "","");
  462. model.refresh();
  463. ]]>
  464. </script>
  465. </input>
  466. <button id="btn_windeptcd" class="icon_search" style="left:193px; top:21px; width:16px; height:16px; ">
  467. <caption/>
  468. <script type="javascript" ev:event="DOMActivate">
  469. <![CDATA[
  470. var recv_list = "deptcdnew,deptnmnew";
  471. misfOpenPopUpList("02", ipt_deptcdnew,"", recv_list,"", "deptcdnew,deptnmnew") ;
  472. model.refresh();
  473. ]]>
  474. </script>
  475. </button>
  476. <input id="ipt_deptnmnew" ref="/root/send/clubcodelist/deptnmnew" class="combo_default" appearance="minimal" style="left:213px; top:19px; width:80px; height:19px; ">
  477. <script type="javascript" ev:event="xforms-value-changed">
  478. <![CDATA[
  479. if(ipt_deptnmnew.value.length == 0)
  480. ipt_deptcdnew.value = "";
  481. else
  482. rszfValidationCheck("TRRPA09001", "deptcodelist", "refcond,deptnm",
  483. "deptnm," + ipt_deptnmnew.value, "", "deptcdnew,deptnmnew",
  484. ipt_deptnmnew, "SPRPZ00200", "","");
  485. model.refresh();
  486. ]]>
  487. </script>
  488. </input>
  489. <input id="ipt_prsddocsanm_s" ref="/root/send/clubcodelist/prsddocsanm_s" class="input_search" navindex="10" imemode="hangul" style="left:436px; top:49px; width:230px; height:19px; "/>
  490. <caption id="caption4" class="search_name" style="left:311px; top:50px; width:120px; height:17px; ">기 록 물 철 명 :</caption>
  491. <caption id="caption7" class="search_name" style="left:685px; top:50px; width:120px; height:17px; ">문서보안등급 :</caption>
  492. <input id="ipt_nowdeptcd" ref="/root/send/clubcodelist/nowdeptcd" class="combo_default" visibility="hidden" appearance="minimal" style="left:910px; top:83px; width:80px; height:19px; "/>
  493. <select1 id="rdo_prsdsegrd_s" ref="/root/send/clubcodelist/prsdsegrd_s" class="radio_search" appearance="full" cols="2" overflow="visible" style="left:804px; top:50px; width:186px; height:20px; border-style:none; ">
  494. <choices>
  495. <itemset nodeset="/root/init/prsdsegrd">
  496. <label ref="label"/>
  497. <value ref="value"/>
  498. </itemset>
  499. </choices>
  500. </select1>
  501. </group>
  502. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  503. <line id="line11" class="line_6" style="x1:0; y1:25; x2:1195; y2:25; "/>
  504. <button id="btn_clear" class="btn4_letter3" style="left:1011px; top:2px; width:68px; height:22px; ">
  505. <caption>초기화</caption>
  506. <script type="javascript" ev:event="DOMActivate">
  507. <![CDATA[
  508. var updtdata = getGridUpdateData(grd_clubcodelist);
  509. if (updtdata != "" ) {
  510. var ret = messageBox("그리드에 작업 중인 내용이 있습니다. 초기화 작업을","Q003");
  511. if (ret != 6) { // not OK
  512. return;
  513. }
  514. }
  515. fInitialize();
  516. ]]>
  517. </script>
  518. </button>
  519. <button id="btn_delete" class="btn4_letter2" style="left:1081px; top:2px; width:56px; height:22px; ">
  520. <caption>삭제</caption>
  521. <script type="javascript" ev:event="DOMActivate">
  522. <![CDATA[
  523. misfGridIUD(grd_clubcodelist,"D");
  524. model.refresh();
  525. ]]>
  526. </script>
  527. </button>
  528. <button id="btn_save" class="btn4_letter2" style="left:1139px; top:2px; width:56px; height:22px; ">
  529. <caption>저장</caption>
  530. <script type="javascript" ev:event="DOMActivate">
  531. <![CDATA[
  532. var updtdata = getGridUpdateData(grd_clubcodelist);
  533. if (updtdata == "" ) {
  534. messageBox("변경된 데이터가","I004");
  535. return;
  536. }
  537. for(var i=1;i<=grd_clubcodelist.rows-1;i++)
  538. {
  539. null_check1 = model.getValue(grd_clubcodelist.attribute("nodeset")+"["+i+"]/cmninstcd");
  540. null_check2 = model.getValue(grd_clubcodelist.attribute("nodeset")+"["+i+"]/cmntcd");
  541. }
  542. model.removenode("/root/send/save"); //값을 초기화
  543. //model.makeNode("/root/send/save"); //노드를 그려준후에
  544. model.makeValue("/root/send/save/clubcodelist",updtdata); //저장할 값을 맵핑한다
  545. misfSave("TXRPA09001"); //submmitID로 저장
  546. //btn_search.dispatch("DOMActivate"); //저장후에 select와동일한 기능
  547. ]]>
  548. </script>
  549. </button>
  550. </group>
  551. <button id="btn_update" class="btn2_letter2" navindex="13" style="left:1147px; top:483px; width:42px; height:19px; ">
  552. <caption>수정</caption>
  553. <script type="javascript" ev:event="DOMActivate">
  554. <![CDATA[
  555. if(!isRequiredControls("cmb_instcd_i", "ipt_cmntcd", "ipt_cmntnm"))return;
  556. var cur_row = grd_clubcodelist.row; // 행 번호 가져오기
  557. if (cur_row > 0) {
  558. // 그리드에 추가
  559. model.copyNode("/root/main/clubcodelist["+cur_row+"]","/root/main/item");
  560. //messageBox(cmb_inst_i.label.elementName);
  561. //alert(cmb_inst_i.label);
  562. // 그리드의 레이블을 변경한다.
  563. fChangeGridValue(cur_row);
  564. //grd_educlist.cellStyle("background-image", cur_row, 1) = "../../../com/commonweb/images/icon_u.gif";
  565. grd_clubcodelist.addStatus(cur_row,"update"); // 행을 업데이트 상태로 변경
  566. model.refresh();
  567. }
  568. ]]>
  569. </script>
  570. </button>
  571. <button id="btn_insert" class="btn2_letter2" navindex="12" style="left:1102px; top:483px; width:42px; height:19px; ">
  572. <caption>추가</caption>
  573. <script type="javascript" ev:event="DOMActivate">
  574. <![CDATA[
  575. function fdoubleCheck(){
  576. if(!isRequiredControls("cal_prsdenddd","ipt_prsddocsanm","ipt_prsddocno","ipt_prsdocpage","ipt_prsdocps","rdo_prsdsegrd","ipt_prsdsubject","rdo_prsdatchyn","rdo_prsdsaveyn"))return;
  577. var double_check_instcd="";
  578. var double_check_deptcd="";
  579. for(var i =1 ; i < grd_clubcodelist.rows; i++)
  580. {
  581. double_check_instcd=model.getValue(grd_clubcodelist.attribute("nodeset")+"["+i+"]/instcd");
  582. double_check_deptcd=model.getValue(grd_clubcodelist.attribute("nodeset")+"["+i+"]/deptcd");
  583. }
  584. return true;
  585. }
  586. if (!fdoubleCheck()) return;
  587. if(!isRequiredControls("ipt_instnm","ipt_deptcd","ipt_prsddeptnm"))return;
  588. grd_clubcodelist.addrow(); // 입력할 행 추가.
  589. var cur_row = grd_clubcodelist.row; // 추가된 행 번호 가져오기
  590. // 그리드에 추가
  591. model.copyNode("/root/main/clubcodelist["+cur_row+"]","/root/main/item");
  592. model.refresh();
  593. ]]>
  594. </script>
  595. </button>
  596. </xhtml:body>
  597. </xhtml:html>