SPAHA04910_건진게시판조회.xrw 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/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>공지사항 조회</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <iteminfo>
  11. <status/>
  12. <genrdd/>
  13. <genrno/>
  14. <delyn/>
  15. <ntcflag/>
  16. <targetflag/>
  17. <ntctrgtjobkind/>
  18. <fromdd/>
  19. <todd/>
  20. <ntcsubject/>
  21. <ntccnts/>
  22. <attfilenm/>
  23. <fstrgstrid/>
  24. <fstrgstdt/>
  25. <lastupdtrid/>
  26. <lastupdtdt/>
  27. <targetlist_lst/>
  28. <attfileadr/>
  29. </iteminfo>
  30. <targetinfo>
  31. <targetlist>
  32. <ntctrgtcd/>
  33. <ntctrgtnm/>
  34. </targetlist>
  35. </targetinfo>
  36. <noticeinfo>
  37. <noticelist>
  38. <useyn/>
  39. <genrdd/>
  40. <genrno/>
  41. <delyn/>
  42. <ntcflag/>
  43. <targetflag/>
  44. <ntctrgtjobkind/>
  45. <fromdd/>
  46. <todd/>
  47. <ntcsubject/>
  48. <ntccnts/>
  49. <attfilenm/>
  50. <attfileadr/>
  51. <fstrgstrid/>
  52. <fstrgstdt/>
  53. <lastupdtrid/>
  54. <lastupdtdt/>
  55. </noticelist>
  56. </noticeinfo>
  57. <cond>
  58. <fromdd/>
  59. <todd/>
  60. </cond>
  61. <selctedtarget/>
  62. </main>
  63. <send>
  64. <genrdd/>
  65. <genrno/>
  66. <targetflag/>
  67. <fromdd_t/>
  68. <todd_t/>
  69. <savedata/>
  70. <targetinfo/>
  71. <file/>
  72. <srchinstcd/>
  73. <filepath/>
  74. </send>
  75. <hidden>
  76. <temp/>
  77. </hidden>
  78. <init>
  79. <comcd>
  80. <R0061>
  81. <cdid>-</cdid>
  82. <cdnm>
  83. <![CDATA[전체]]>
  84. </cdnm>
  85. </R0061>
  86. <R0007>
  87. <cdid>-</cdid>
  88. <cdnm>
  89. <![CDATA[전체]]>
  90. </cdnm>
  91. </R0007>
  92. </comcd>
  93. <msrght>
  94. <mouserght>
  95. <label>삭제</label>
  96. <func>zsnfDeleteTarget</func>
  97. </mouserght>
  98. </msrght>
  99. </init>
  100. <temp>
  101. <targetinfo/>
  102. </temp>
  103. </root>
  104. </instance>
  105. <script type="javascript" ev:event="xforms-ready">
  106. <![CDATA[
  107. // 공통코드 가져옴
  108. zbcfGetCodeList( new Array("R0061", "Z0007"),
  109. new Array("/root/init/comcd", "/root/init/comcd"),
  110. true,
  111. new Array("cdnm", "cdnm"),
  112. new Array("asc", "asc")
  113. );
  114. fInitialize() ;
  115. btn_mod.disabled = true;
  116. if (checkOpener()) {
  117. var iRow = opener.javascript.getParameter("SPAHA04910_row");
  118. zsnfgetNoticeDetail(iRow);
  119. }
  120. ]]>
  121. </script>
  122. <submission id="TRZBC00101" method="post" replace="instance"/>
  123. <submission id="TRAHA04911" ref="/root/send" method="post" mediatype="application/x-www-form-urlencoded" resultref="/root/main/noticeinfo"/>
  124. <submission id="TRAHA04912" ref="/root/send" method="post" mediatype="application/x-www-form-urlencoded" replace="instance" resultref="/root/main/targetinfo"/>
  125. <submission id="TRAHA04913" ref="/root/send" method="form-data-post" mediatype="multipart/form-data" resultref="/root/temp"/>
  126. <submission id="TXAHA04911" ref="/root/send" method="form-data-post" mediatype="multipart/form-data" resultref="/root/main/noticeinfo"/>
  127. <submission id="TXAHA04931" ref="/root/send" method="postt" mediatype="application/x-www-form-urlencoded" resultref="/root/hidden/temp"/>
  128. <submission id="TRAHA04917" ref="/root/send" method="form-data-post" mediatype="multipart/form-data"/>
  129. </model>
  130. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  131. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  132. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  133. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  134. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  135. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  136. <script type="javascript" src="../../../ast/healthexamboardweb/js/SPAHA04910.js"/>
  137. </xhtml:head>
  138. <xhtml:body pagewidth="670" pageheight="470" guideline="1,671;" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
  139. <caption id="cap_cnts" class="cell_1" style="left:0px; top:196px; width:79px; height:250px; vertical-align:middle; ">내용</caption>
  140. <caption id="caption11" class="cell_1" style="left:0px; top:100px; width:79px; height:70px; vertical-align:middle; ">공지대상</caption>
  141. <caption id="caption12" class="cell_1" style="left:0px; top:173px; width:79px; height:20px; vertical-align:middle; ">첨부</caption>
  142. <group id="group5" disabled="true" scroll="autohscroll" style="left:80px; top:25px; width:570px; height:425px; ">
  143. <select id="list_ntctrgtnm" ref="/root/main/selctedtarget" overflow="scroll" scroll="vertical" appearance="compact" cols="5" cellspacing="10" itemwidth="104" style="left:1px; top:75px; width:540px; height:70px; text-align:left; background-color:#ffff99; ">
  144. <choices>
  145. <itemset nodeset="/root/main/targetinfo/targetlist">
  146. <label ref="ntctrgtnm"/>
  147. <value ref="ntctrgtcd"/>
  148. </itemset>
  149. </choices>
  150. <script type="javascript" ev:event="onkeydown">
  151. <![CDATA[
  152. // delete 키
  153. if(event.keyCode == 46)
  154. {
  155. zsnfDeleteTarget();
  156. }
  157. ]]>
  158. </script>
  159. <hint>
  160. <![CDATA[대상을 선택하고 delete 키를 누르면 삭제할 수 있습니다.]]>
  161. </hint>
  162. </select>
  163. <input id="ipt_ntcsubject" ref="/root/main/iteminfo/ntcsubject" class="input_essential" maxlength="300" style="left:1px; top:7px; width:567px; height:20px; "/>
  164. <caption id="caption13" style="left:107px; top:30px; width:15px; height:20px; ">~</caption>
  165. <caption id="caption8" class="cell_1" style="left:230px; top:29px; width:65px; height:20px; vertical-align:middle; ">게시구분</caption>
  166. <select1 id="cmb_ntcflag" ref="/root/main/iteminfo/ntcflag" appearance="minimal" style="left:301px; top:30px; width:266px; height:19px; ">
  167. <choices>
  168. <item>
  169. <label>[종합]공지사항</label>
  170. <value>A</value>
  171. </item>
  172. <item>
  173. <label>[]</label>
  174. <value>B</value>
  175. </item>
  176. <item>
  177. <label>[비자]공지사항</label>
  178. <value>C</value>
  179. </item>
  180. <item>
  181. <label>[종건]개발공지사항</label>
  182. <value>D</value>
  183. </item>
  184. <item>
  185. <label>[]</label>
  186. <value>E</value>
  187. </item>
  188. <item>
  189. <label>[비자]개발공지사항</label>
  190. <value>F</value>
  191. </item>
  192. <item>
  193. <label>[비자]매뉴얼</label>
  194. <value>1</value>
  195. </item>
  196. <item>
  197. <label>[비자]검사별참고사항</label>
  198. <value>2</value>
  199. </item>
  200. </choices>
  201. </select1>
  202. <select1 id="cmb_targetflag" ref="/root/main/iteminfo/targetflag" appearance="minimal" style="left:1px; top:53px; width:134px; height:19px; ">
  203. <choices>
  204. <item>
  205. <label>전체</label>
  206. <value>A</value>
  207. </item>
  208. <item>
  209. <label>개인</label>
  210. <value>P</value>
  211. </item>
  212. <item>
  213. <label>근무지부서</label>
  214. <value>D</value>
  215. </item>
  216. <item>
  217. <label>근무지기관</label>
  218. <value>I</value>
  219. </item>
  220. </choices>
  221. <script type="javascript" ev:event="xforms-value-changed">
  222. <![CDATA[
  223. //fSchToUserPart();
  224. // 메인노드 초기화
  225. model.removeNode("/root/main/targetinfo");
  226. model.makeNode("/root/main/targetinfo");
  227. zsnfOpenTargetPopup();
  228. // var trgtcmd = cmb_trgtcmd.value
  229. // if (trgtcmd != 0) {
  230. // btn_open.disabled = false;
  231. // }
  232. //
  233. //
  234. ]]>
  235. </script>
  236. </select1>
  237. <input id="ipt_attfilenm" ref="/root/main/iteminfo/attfilenm" maxlength="100" style="left:1px; top:149px; width:476px; height:19px; "/>
  238. <textarea id="ipt_ntccnts" ref="/root/main/iteminfo/ntccnts" class="text_essential" scroll="auto" maxlength="4000" style="left:0px; top:171px; width:567px; height:250px; "/>
  239. <button id="btn_open" class="icon_search" disabled="true" style="left:547px; top:78px; width:16px; height:16px; ">
  240. <caption/>
  241. <script type="javascript" ev:event="DOMActivate">
  242. <![CDATA[
  243. zsnfOpenTargetPopup();
  244. ]]>
  245. </script>
  246. </button>
  247. <input id="ipt_fromdd" ref="/root/main/iteminfo/fromdd" class="input_essential" inputtype="date" format="yyyy-mm-dd" mask="exclude" style="left:1px; top:30px; width:99px; height:19px; "/>
  248. <input id="ipt_todd" ref="/root/main/iteminfo/todd" class="input_essential" inputtype="date" format="yyyy-mm-dd" mask="exclude" style="left:125px; top:30px; width:99px; height:19px; "/>
  249. <select1 id="cmb_ntctrgtjobkind" ref="/root/main/iteminfo/ntctrgtjobkind" visibility="hidden" appearance="minimal" style="left:207px; top:53px; width:167px; height:19px; ">
  250. <choices>
  251. <itemset nodeset="/root/init/comcd/R0061">
  252. <label ref="cdnm"/>
  253. <value ref="cdid"/>
  254. </itemset>
  255. </choices>
  256. </select1>
  257. <caption id="cap_trgtjobkind" class="cell_1" visibility="hidden" style="left:141px; top:52px; width:60px; height:20px; vertical-align:middle; ">대상직종</caption>
  258. <upload id="upload2" nodeset="/root/send/file" validate="true" filesize="5242880" filecount="5" ext="zip" style="left:545px; top:125px; width:20px; height:23px; "/>
  259. <button id="btn_filedel" class="btn2_letter2" visibility="hidden" style="left:525px; top:149px; width:42px; height:19px; ">
  260. <caption>삭제</caption>
  261. <script type="javascript" ev:event="DOMActivate">
  262. <![CDATA[
  263. if ( messageBox("선택된 파일을 ","Q001") != 6 )
  264. {
  265. return false;
  266. }
  267. ipt_attfilenm.value ='';
  268. var filepath = model.getValue("/root/main/iteminfo/attfileadr");
  269. if(filepath == "") {
  270. messageBox("파일이","");
  271. return false
  272. }
  273. model.setValue("/root/send/filepath" , filepath);
  274. model.setValue("/root/send/genrdd" , model.getValue("/root/main/iteminfo/genrdd"));
  275. model.setValue("/root/send/genrno" , model.getValue("/root/main/iteminfo/genrno"));
  276. if(submit("TXAHA04931")) {
  277. }
  278. ]]>
  279. </script>
  280. </button>
  281. <button id="btn_fileadd" class="btn2_letter2" visibility="hidden" style="left:480px; top:149px; width:42px; height:19px; ">
  282. <caption>등록</caption>
  283. <script type="javascript" ev:event="DOMActivate">
  284. <![CDATA[
  285. var maxsize = upload2.attribute("filesize");
  286. files = window.fileDialog("open", "|", true);
  287. filelist = files.split("|");
  288. //for(var i = 0 ; i < filelist.length ; i++ ) {
  289. var file = filelist[0];
  290. if(file != "") {
  291. //grd_addiamge.addRow(false);
  292. //grd_addiamge.valueMatrix(grd_addiamge.rows - 1, 0) = file;
  293. var filename = file.lastIndexOf("\\");
  294. ipt_attfilenm.value = files.substring(filename + 1);
  295. model.setValue("/root/send/file", file);
  296. if (!checkFileSize(upload2)){
  297. ipt_attfilenm.value ='';
  298. messageBox("파일 크기가 최대치("+maxsize+"Byte)를", "E003");
  299. }
  300. }
  301. //}
  302. ]]>
  303. </script>
  304. </button>
  305. </group>
  306. <button id="btn_down" navindex="6" class="btn2_letter4" style="left:583px; top:174px; width:64px; height:19px; ">
  307. <caption>다운로드</caption>
  308. <script type="javascript" ev:event="DOMActivate">
  309. <![CDATA[
  310. // zsnfFileDown();
  311. if(model.getValue("/root/main/iteminfo/attfilenm") != "")
  312. {
  313. var filepath = model.getValue("/root/main/iteminfo/attfileadr");
  314. var filenm = model.getValue("/root/main/iteminfo/attfilenm");
  315. var localfile = window.fileDialog("save","|",false,filenm,"","All Files(*.*)|*.*");
  316. if (localfile != "") {
  317. model.setValue("/root/send/filepath" , filepath);
  318. model.download(getActionURL("TRAHA04917")+"&filepath="+filepath,localfile);
  319. var rtn = messageBox("파일을", "Q004");
  320. if( rtn == 6 ) {
  321. window.exec(localfile);
  322. }
  323. }
  324. }
  325. ]]>
  326. </script>
  327. </button>
  328. <caption id="caption5" class="cell_1" style="left:0px; top:54px; width:79px; height:20px; vertical-align:middle; ">적용기간</caption>
  329. <caption id="cap_titl" class="cell_1" style="left:0px; top:31px; width:79px; height:20px; vertical-align:middle; ">제목</caption>
  330. <line id="line9" class="line_1" style="x1:0px; y1:25px; x2:650px; y2:25px; "/>
  331. <caption id="caption7" class="tit_2" style="left:0px; top:10px; width:134px; height:13px; ">공지사항</caption>
  332. <line id="line20" class="line_2" style="x1:0px; y1:52px; x2:650px; y2:52px; "/>
  333. <line id="line1" class="line_2" style="x1:0px; y1:75px; x2:650px; y2:75px; "/>
  334. <line id="line3" class="line_2" style="x1:0px; y1:171px; x2:650px; y2:171px; "/>
  335. <line id="line4" class="line_2" style="x1:0px; y1:194px; x2:650px; y2:194px; "/>
  336. <line id="line5" class="line_2" style="x1:0px; y1:447px; x2:650px; y2:447px; "/>
  337. <button id="btn_mod" navindex="5" class="btn2_letter2" style="left:564px; top:5px; width:42px; height:19px; ">
  338. <caption>수정</caption>
  339. <script type="javascript" ev:event="onclick">
  340. <![CDATA[
  341. btn_fileadd.visible = true;
  342. btn_filedel.visible = true;
  343. btn_down.visible = false;
  344. group5.disabled = false;
  345. btn_save.disabled = false;
  346. model.setValue("/root/main/iteminfo/status","u");
  347. ]]>
  348. </script>
  349. </button>
  350. <button id="btn_new" navindex="5" class="btn2_letter2" style="left:520px; top:5px; width:42px; height:19px; ">
  351. <caption>신규</caption>
  352. <script type="javascript" ev:event="onclick">
  353. <![CDATA[
  354. btn_fileadd.visible = true;
  355. btn_filedel.visible = true;
  356. btn_down.visible = false;
  357. group5.disabled = false;
  358. //list_ntctrgtnm.disabled = true;
  359. ipt_attfilenm.disabled = true;
  360. btn_mod.disabled = true;
  361. btn_save.disabled = false;
  362. zsnfNewNotice();
  363. model.makeValue("/root/main/iteminfo/status",'i');
  364. ]]>
  365. </script>
  366. </button>
  367. <button id="btn_save" navindex="5" class="btn5_letter2" disabled="true" style="left:608px; top:5px; width:42px; height:19px; ">
  368. <caption>저장</caption>
  369. <script type="javascript" ev:event="DOMActivate">
  370. <![CDATA[
  371. // 각 필드값을 체크한다.
  372. if(model.getValue("/root/main/iteminfo/ntccnts").length >= 4000){
  373. messageBox("최대 4000 byte 이상 입력 ", "E001");
  374. return;
  375. }
  376. // 제목 체크
  377. if(model.getValue("/root/main/iteminfo/ntcsubject").getTrim()=="")
  378. {
  379. messageBox("제목은 ", "I003");
  380. model.setFocus("ipt_ntcsubject");
  381. return;
  382. }
  383. // 적용기간체크
  384. if(model.getValue("/root/main/iteminfo/fromdd").getTrim()=="")
  385. {
  386. messageBox("적용시작일자는 ", "I003");
  387. model.setFocus("ipt_from");
  388. return;
  389. }
  390. // 적용기간체크
  391. if(model.getValue("/root/main/iteminfo/todd").getTrim()=="")
  392. {
  393. messageBox("적용종료일자는 ", "I003");
  394. model.setFocus("ipt_todd");
  395. return;
  396. }
  397. // 공지대상체크 (전체가 아니고 공지대상이 없을때만)
  398. var nodesetcount = getNodesetCount("/root/main/targetinfo/targetlist");
  399. if(model.getValue("/root/main/iteminfo/targetflag") != "A" && nodesetcount == 0)
  400. {
  401. messageBox("공지대상은 ", "I003");
  402. return;
  403. }
  404. // 공지내용 체크
  405. if(model.getValue("/root/main/iteminfo/ntccnts").getTrim()=="")
  406. {
  407. messageBox("공지내용 ", "I003");
  408. model.setFocus("ipt_ntccnts");
  409. return;
  410. }
  411. // model.setvalue("root/main/iteminfo/instcd",getUserInfo("posinstcd"));
  412. // model.setvalue("root/noticeinfo/noticelist/instcd",getUserInfo("posinstcd"));
  413. zsnfExeSave();
  414. //if (ipt_attfilenm.value != "")
  415. //{
  416. // if (submit("TXAHA04931")) {
  417. // model.removeNodeset(ipt_attfilenm.nodeset);
  418. // ipt_attfilenm.value = '';
  419. // }
  420. //}
  421. group5.disabled = true;
  422. btn_fileadd.visible = false;
  423. btn_filedel.visible = false;
  424. btn_down.visible = true;
  425. // var username = getUserName();
  426. // var writer = model.getValue("/root/main/listinfo/listinfo/updtrid");
  427. //
  428. // if (username == writer) {
  429. // btn_mod.disabled = false;
  430. // }
  431. btn_save.disabled = true;
  432. ]]>
  433. </script>
  434. </button>
  435. <button id="btn_del" class="btn5_letter2" disabled="true" style="left:605px; top:449px; width:42px; height:19px; ">
  436. <caption>삭제</caption>
  437. <script type="javascript" ev:event="DOMActivate">
  438. <![CDATA[
  439. zsnfNoticeDel();
  440. ]]>
  441. </script>
  442. </button>
  443. <caption id="caption9" class="cell_1" style="left:0px; top:77px; width:79px; height:20px; vertical-align:middle; ">대상구분</caption>
  444. <line id="line7" class="line_2" style="x1:0px; y1:98px; x2:650px; y2:98px; "/>
  445. </xhtml:body>
  446. </xhtml:html>