SPZSN00100_공지사항조회.xfdl 60 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPZSN00100" position="absolute 0 0 650 865" titletext="공지사항 조회" oninit="SPZSN00100_oninit" onload="SPZSN00100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static text="내용" position="absolute 0 187 79 437" align="align:center middle;" id="cap_cnts" class="cell_1"/>
  8. <Static text="공지대상" position="absolute 0 90 79 161" align="align:center middle;" id="caption11" class="cell_1"/>
  9. <Static text="첨부" position="absolute 0 164 79 184" align="align:center middle;" id="caption12" class="cell_1"/>
  10. <Div position="absolute 80 15 650 440" id="group5" enable="false" scrollbars="autohorz">
  11. <Layouts>
  12. <Layout>
  13. <Edit position="absolute 1 7 570 27" id="ipt_ntcsubject" class="input_essential" anchor="default"/>
  14. <Static text="~" position="absolute 107 30 122 50" id="caption13" anchor="default"/>
  15. <Static text="공지구분" position="absolute 230 29 295 49" align="align:center middle;" id="caption8" class="cell_1" anchor="default"/>
  16. <Combo position="absolute 301 30 420 49" id="cmb_ntcflag" innerdataset="ds_init_cmb_ntcflag" datacolumn="lbl" codecolumn="val" anchor="default"/>
  17. <Combo position="absolute 1 53 135 72" id="cmb_targetflag" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="group5_cmb_targetflag_onitemchanged" anchor="default">
  18. <Dataset id="innerdataset">
  19. <ColumnInfo>
  20. <Column id="codecolumn"/>
  21. <Column id="datacolumn"/>
  22. </ColumnInfo>
  23. <Rows>
  24. <Row>
  25. <Col id="codecolumn">A</Col>
  26. <Col id="datacolumn">전체</Col>
  27. </Row>
  28. <Row>
  29. <Col id="codecolumn">P</Col>
  30. <Col id="datacolumn">개인</Col>
  31. </Row>
  32. <Row>
  33. <Col id="codecolumn">D</Col>
  34. <Col id="datacolumn">근무지부서</Col>
  35. </Row>
  36. <Row>
  37. <Col id="codecolumn">I</Col>
  38. <Col id="datacolumn">근무지기관</Col>
  39. </Row>
  40. <Row>
  41. <Col id="codecolumn">K</Col>
  42. <Col id="datacolumn">직종</Col>
  43. </Row>
  44. </Rows>
  45. </Dataset>
  46. </Combo>
  47. <Edit position="absolute 1 149 434 169" id="ipt_attfilenm" readonly="true" anchor="default"/>
  48. <Button position="absolute 547 78 567 98" id="btn_open" class="icon_search" enable="true" text="" onclick="group5_btn_open_onclick" anchor="default"/>
  49. <Button position="absolute 525 149 567 168" id="btn_filedel" class="btn2_letter2" visible="false" text="삭제" anchor="default"/>
  50. <Button position="absolute 480 149 522 168" id="btn_fileadd" class="btn2_letter2" visible="false" text="첨부" onclick="group5_btn_fileadd_onclick" anchor="default"/>
  51. <Calendar position="absolute 1 30 100 49" id="ipt_fromdd" class="input_essential" mask="yyyy-mm-dd" style=":disabled {padding:0 0 0 5;}" dateformat="yyyy-MM-dd" value="null" anchor="default"/>
  52. <Calendar position="absolute 125 30 224 49" id="ipt_todd" class="input_essential" mask="yyyy-mm-dd" style=":disabled {padding:0 0 0 5;}" dateformat="yyyy-MM-dd" value="null" anchor="default"/>
  53. <Combo position="absolute 210 53 377 72" id="cmb_ntctrgtjobkind" visible="false" innerdataset="ds_init_cmb_ntctrgtjobkind" datacolumn="cdnm" codecolumn="cdid" anchor="default"/>
  54. <Static text="대상직종" position="absolute 141 52 206 72" align="align:center middle;" id="cap_trgtjobkind" class="cell_1" visible="false" anchor="default"/>
  55. <ListBox id="list_ntctrgtnm" taborder="1" position="absolute 1 75 545 146" innerdataset="@ds_targetlist" codecolumn="ntctrgtcd" datacolumn="ntctrgtnm" multiselect="false" enable="true" anchor="default"/>
  56. </Layout>
  57. </Layouts>
  58. </Div>
  59. <Button position="absolute 586 164 650 184" id="btn_down" class="btn2" taborder="6" text="다운로드" onclick="btn_down_onclick"/>
  60. <Static text="적용기간" position="absolute 0 44 79 64" align="align:center middle;" id="caption5" class="cell_1"/>
  61. <Static text="제목" position="absolute 0 21 79 41" align="align:center middle;" id="cap_titl" class="cell_1"/>
  62. <Static text="공지사항" position="absolute 0 0 134 20" id="caption7" class="tit_2"/>
  63. <Grid position="absolute 0 485 650 865" id="grd_notice" scrollbars="fixedvert" binddataset="ds_grd_notice" oncelldblclick="grd_notice_oncelldblclick" autofittype="col" onvtracklast="grd_notice_onvtracklast">
  64. <Formats>
  65. <Format id="default">
  66. <Columns>
  67. <Column size="25"/>
  68. <Column size="0"/>
  69. <Column size="0"/>
  70. <Column size="0"/>
  71. <Column size="0"/>
  72. <Column size="0"/>
  73. <Column size="0"/>
  74. <Column size="0"/>
  75. <Column size="364"/>
  76. <Column size="0"/>
  77. <Column size="35"/>
  78. <Column size="0"/>
  79. <Column size="80"/>
  80. <Column size="65"/>
  81. <Column size="0"/>
  82. <Column size="48"/>
  83. <Column size="30"/>
  84. </Columns>
  85. <Rows>
  86. <Row size="24" band="head"/>
  87. <Row size="24"/>
  88. </Rows>
  89. <Band id="head">
  90. <Cell/>
  91. <Cell col="1" text="발생일자"/>
  92. <Cell col="2" text="발생번호"/>
  93. <Cell col="3" text="긴급여부"/>
  94. <Cell col="4" text="공지대상구분"/>
  95. <Cell col="5" text="공지대상직종"/>
  96. <Cell col="6" text="시작일자"/>
  97. <Cell col="7" text="종료일자"/>
  98. <Cell col="8" text="제목"/>
  99. <Cell col="9" text="내용"/>
  100. <Cell col="10" text="첨부"/>
  101. <Cell col="11" text="첨부파일명"/>
  102. <Cell col="12" text="작성자"/>
  103. <Cell col="13" text="작성자ID"/>
  104. <Cell col="14" text="게시일시"/>
  105. <Cell col="15" text="조회수"/>
  106. <Cell col="16" text="하단"/>
  107. </Band>
  108. <Band id="body">
  109. <Cell celltype="head" text="expr:currow+1"/>
  110. <Cell col="1" text="bind:genrdd"/>
  111. <Cell col="2" text="bind:genrno"/>
  112. <Cell col="3" text="bind:ntcflag"/>
  113. <Cell col="4" text="bind:targetflag"/>
  114. <Cell col="5" text="bind:ntctrgtjobkind"/>
  115. <Cell col="6" text="bind:fromdd" mask="yyyy/mm/dd hh:nn:ss"/>
  116. <Cell col="7" text="bind:todd" mask="yyyy/mm/dd hh:nn:ss"/>
  117. <Cell col="8" style="align:left middle;color:EXPR((activenoti == 'Y') ? ((ntcflag == 'Y') ? &quot;red&quot; : &quot;&quot;) : &quot;gray&quot;);color2:EXPR((activenoti == 'Y') ? ((ntcflag == 'Y') ? &quot;red&quot; : &quot;&quot;) : &quot;gray&quot;);" text="bind:ntcsubject"/>
  118. <Cell col="9" style="align:left middle;color:EXPR((activenoti == 'Y') ? &quot;&quot; : &quot;lightgrey&quot;);color2:EXPR((activenoti == 'Y') ? &quot;&quot; : &quot;lightgrey&quot;);" text="bind:ntccnts"/>
  119. <Cell col="10" style="align:left middle;color:EXPR((activenoti == 'Y') ? &quot;&quot; : &quot;gray&quot;);color2:EXPR((activenoti == 'Y') ? &quot;&quot; : &quot;gray&quot;);" text="bind:attyn"/>
  120. <Cell col="11" style="align:left middle;color:EXPR((activenoti == 'Y') ? &quot;&quot; : &quot;gray&quot;);color2:EXPR((activenoti == 'Y') ? &quot;&quot; : &quot;gray&quot;);" text="bind:attfilenm"/>
  121. <Cell col="12" style="align:left middle;color:EXPR((activenoti == 'Y') ? &quot;&quot; : &quot;gray&quot;);color2:EXPR((activenoti == 'Y') ? &quot;&quot; : &quot;gray&quot;);" text="bind:fstrgstrnm"/>
  122. <Cell col="13" style="align:left middle;color:EXPR((activenoti == 'Y') ? &quot;&quot; : &quot;gray&quot;);color2:EXPR((activenoti == 'Y') ? &quot;&quot; : &quot;gray&quot;);" text="bind:fstrgstrid"/>
  123. <Cell col="14" style="color:EXPR((activenoti == 'Y') ? &quot;&quot; : &quot;gray&quot;);color2:EXPR((activenoti == 'Y') ? &quot;&quot; : &quot;gray&quot;);" text="bind:fstrgstdt" mask="yyyy/mm/dd hh:nn:ss"/>
  124. <Cell col="15" style="color:EXPR((activenoti == 'Y') ? &quot;&quot; : &quot;gray&quot;);color2:EXPR((activenoti == 'Y') ? &quot;&quot; : &quot;gray&quot;);" text="bind:hitcount"/>
  125. <Cell col="16" style="color:EXPR((activenoti == 'Y') ? &quot;&quot; : &quot;gray&quot;);color2:EXPR((activenoti == 'Y') ? &quot;&quot; : &quot;gray&quot;);" text="bind:bottomflag"/>
  126. </Band>
  127. </Format>
  128. </Formats>
  129. </Grid>
  130. <Static text="공지사항 리스트" position="absolute 0 465 141 485" align="align:left middle;" id="caption2" class="tit_2"/>
  131. <Button position="absolute 552 0 594 20" id="btn_mod" class="btn2" taborder="5" text="수정" onclick="btn_mod_onclick"/>
  132. <Button position="absolute 508 0 550 20" id="btn_new" class="btn2" taborder="5" text="신규" onclick="btn_new_onclick"/>
  133. <Button position="absolute 596 0 650 20" id="btn_save" class="btn4" enable="false" taborder="5" text="저장" onclick="btn_save_onclick"/>
  134. <Button position="absolute 596 442 650 462" id="btn_del" class="btn4" enable="false" text="삭제" onclick="btn_del_onclick"/>
  135. <Static text="대상구분" position="absolute 0 67 79 87" align="align:center middle;" id="caption9" class="cell_1"/>
  136. <TextArea position="absolute 81 187 650 437" id="ipt_ntccnts" class="input_essential" style="padding:5 5 5 8; :disabled {padding:5 5 5 5;}" wordwrap="char"/>
  137. <Button position="absolute 518 164 582 184" id="btn_preview" class="btn2" taborder="6" visible="false" text="미리보기" onclick="btn_preview_onclick"/>
  138. <Button position="absolute 430 0 506 20" id="btn_cancel" class="btn3" taborder="5" visible="false" text="작성취소" onclick="btn_cancel_onclick"/>
  139. <Static text="하단공지" position="absolute 0 440 79 460" align="align:center middle;" id="cpt_bottom" class="cell_1"/>
  140. <CheckBox position="absolute 81 440 177 460" id="chk_bottom" text="하단공지여부" truevalue="Y" falsevalue="N"/>
  141. <Div position="absolute 180 441 605 461" id="group1">
  142. <Layouts>
  143. <Layout>
  144. <Static text="예시 ABC abc 123" position="absolute 252 0 408 20" id="cpt_sample" class="output_message_b"/>
  145. <Combo position="absolute 190 0 249 20" id="cmb_bottomsize" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="group1_cmb_bottomsize_onitemchanged">
  146. <Dataset id="innerdataset">
  147. <ColumnInfo>
  148. <Column id="codecolumn"/>
  149. <Column id="datacolumn"/>
  150. </ColumnInfo>
  151. <Rows>
  152. <Row>
  153. <Col id="codecolumn">8pt</Col>
  154. <Col id="datacolumn">8pt</Col>
  155. </Row>
  156. <Row>
  157. <Col id="codecolumn">9pt</Col>
  158. <Col id="datacolumn">9pt</Col>
  159. </Row>
  160. <Row>
  161. <Col id="codecolumn">10pt</Col>
  162. <Col id="datacolumn">10pt</Col>
  163. </Row>
  164. <Row>
  165. <Col id="codecolumn">11pt</Col>
  166. <Col id="datacolumn">11pt</Col>
  167. </Row>
  168. <Row>
  169. <Col id="codecolumn">12pt</Col>
  170. <Col id="datacolumn">12pt</Col>
  171. </Row>
  172. </Rows>
  173. </Dataset>
  174. </Combo>
  175. <Static text="글자색" position="absolute 2 0 51 20" align="align:center middle;" id="caption3" class="cell_1"/>
  176. <Static text="글자크기" position="absolute 130 0 189 20" align="align:center middle;" id="caption4" class="cell_1"/>
  177. <Combo position="absolute 53 0 127 20" id="cmb_bottomcolor" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="group1_cmb_bottomcolor_onitemchanged">
  178. <Dataset id="innerdataset">
  179. <ColumnInfo>
  180. <Column id="codecolumn"/>
  181. <Column id="datacolumn"/>
  182. </ColumnInfo>
  183. <Rows>
  184. <Row>
  185. <Col id="codecolumn">black</Col>
  186. <Col id="datacolumn">검정</Col>
  187. </Row>
  188. <Row>
  189. <Col id="codecolumn">yellow</Col>
  190. <Col id="datacolumn">노랑</Col>
  191. </Row>
  192. <Row>
  193. <Col id="codecolumn">blue</Col>
  194. <Col id="datacolumn">파랑</Col>
  195. </Row>
  196. <Row>
  197. <Col id="codecolumn">red</Col>
  198. <Col id="datacolumn">빨강</Col>
  199. </Row>
  200. <Row>
  201. <Col id="codecolumn">green</Col>
  202. <Col id="datacolumn">녹색</Col>
  203. </Row>
  204. </Rows>
  205. </Dataset>
  206. </Combo>
  207. </Layout>
  208. </Layouts>
  209. </Div>
  210. <Button position="absolute 5 135 69 155" id="btn_except" class="btn2" taborder="6" text="제외대상" onclick="btn_except_onclick"/>
  211. </Layout>
  212. </Layouts>
  213. <Objects>
  214. <Dataset id="ds_init_cmb_ntctrgtjobkind" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  215. <ColumnInfo>
  216. <Column id="cdnm" type="STRING"/>
  217. <Column id="cdid" type="STRING"/>
  218. </ColumnInfo>
  219. </Dataset>
  220. <Dataset id="ds_grd_notice" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  221. <ColumnInfo>
  222. <Column id="genrdd" type="STRING" size="255"/>
  223. <Column id="genrno" type="BIGDECIMAL" size="255"/>
  224. <Column id="delyn" type="STRING" size="255"/>
  225. <Column id="ntcflag" type="STRING" size="255"/>
  226. <Column id="targetflag" type="STRING" size="255"/>
  227. <Column id="ntctrgtjobkind" type="STRING" size="255"/>
  228. <Column id="fromdd" type="STRING" size="255"/>
  229. <Column id="todd" type="STRING" size="255"/>
  230. <Column id="ntcsubject" type="STRING" size="255"/>
  231. <Column id="ntccnts" type="STRING" size="255"/>
  232. <Column id="attyn" type="STRING" size="255"/>
  233. <Column id="attfilenm" type="STRING" size="255"/>
  234. <Column id="attfilepath" type="STRING" size="255"/>
  235. <Column id="bottomflag" type="STRING" size="255"/>
  236. <Column id="bottomcolor" type="STRING" size="255"/>
  237. <Column id="bottomsize" type="STRING" size="255"/>
  238. <Column id="hitcount" type="BIGDECIMAL" size="255"/>
  239. <Column id="fstrgstrid" type="STRING" size="255"/>
  240. <Column id="fstrgstrnm" type="STRING" size="255"/>
  241. <Column id="fstrgstdt" type="STRING" size="255"/>
  242. <Column id="lastupdtrid" type="STRING" size="255"/>
  243. <Column id="lastupdtdt" type="STRING" size="255"/>
  244. <Column id="activenoti" type="STRING" size="255"/>
  245. </ColumnInfo>
  246. </Dataset>
  247. <Dataset id="ds_iteminfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  248. <ColumnInfo>
  249. <Column id="status" type="STRING" size="256"/>
  250. <Column id="genrdd" type="STRING" size="256"/>
  251. <Column id="genrno" type="STRING" size="256"/>
  252. <Column id="delyn" type="STRING" size="256"/>
  253. <Column id="ntcflag" type="STRING" size="256"/>
  254. <Column id="targetflag" type="STRING" size="256"/>
  255. <Column id="ntctrgtjobkind" type="STRING" size="256"/>
  256. <Column id="fromdd" type="STRING" size="256"/>
  257. <Column id="todd" type="STRING" size="256"/>
  258. <Column id="ntcsubject" type="STRING" size="256"/>
  259. <Column id="ntccnts" type="STRING" size="256"/>
  260. <Column id="attfilenm" type="STRING" size="256"/>
  261. <Column id="attfilepath" type="STRING" size="256"/>
  262. <Column id="fstrgstrid" type="STRING" size="256"/>
  263. <Column id="fstrgstdt" type="STRING" size="256"/>
  264. <Column id="lastupdtrid" type="STRING" size="256"/>
  265. <Column id="lastupdtdt" type="STRING" size="256"/>
  266. <Column id="targetlist_lst" type="STRING" size="256"/>
  267. <Column id="bottomflag" type="STRING" size="256"/>
  268. <Column id="bottomcolor" type="STRING" size="256"/>
  269. <Column id="bottomsize" type="STRING" size="256"/>
  270. <Column id="offset" type="INT" size="256"/>
  271. <Column id="pagesize" type="INT" size="256"/>
  272. </ColumnInfo>
  273. <Column id="status" type="STRING" size="256"/>
  274. <Column id="genrdd" type="STRING" size="256"/>
  275. <Column id="genrno" type="STRING" size="256"/>
  276. <Column id="delyn" type="STRING" size="256"/>
  277. <Column id="ntcflag" type="STRING" size="256"/>
  278. <Column id="targetflag" type="STRING" size="256"/>
  279. <Column id="ntctrgtjobkind" type="STRING" size="256"/>
  280. <Column id="fromdd" type="STRING" size="256"/>
  281. <Column id="todd" type="STRING" size="256"/>
  282. <Column id="ntcsubject" type="STRING" size="256"/>
  283. <Column id="ntccnts" type="STRING" size="256"/>
  284. <Column id="attfilenm" type="STRING" size="256"/>
  285. <Column id="attfilepath" type="STRING" size="256"/>
  286. <Column id="fstrgstrid" type="STRING" size="256"/>
  287. <Column id="fstrgstdt" type="STRING" size="256"/>
  288. <Column id="lastupdtrid" type="STRING" size="256"/>
  289. <Column id="lastupdtdt" type="STRING" size="256"/>
  290. <Column id="targetlist_lst" type="STRING" size="256"/>
  291. <Column id="bottomflag" type="STRING" size="256"/>
  292. <Column id="bottomcolor" type="STRING" size="256"/>
  293. <Column id="bottomsize" type="STRING" size="256"/>
  294. </Dataset>
  295. <Dataset id="ds_targetlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  296. <ColumnInfo>
  297. <Column id="ntctrgtcd" type="STRING" size="256"/>
  298. <Column id="ntctrgtnm" type="STRING" size="256"/>
  299. </ColumnInfo>
  300. </Dataset>
  301. <Dataset id="ds_exceptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  302. <ColumnInfo>
  303. <Column id="ntctrgtcd" type="STRING" size="256"/>
  304. <Column id="ntctrgtnm" type="STRING" size="256"/>
  305. </ColumnInfo>
  306. </Dataset>
  307. <Dataset id="ds_init_cmb_ntcflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  308. <ColumnInfo>
  309. <Column id="lbl" type="STRING" size="256"/>
  310. <Column id="val" type="STRING" size="256"/>
  311. </ColumnInfo>
  312. <Rows>
  313. <Row>
  314. <Col id="lbl">일반</Col>
  315. <Col id="val">N</Col>
  316. </Row>
  317. <Row>
  318. <Col id="lbl">긴급</Col>
  319. <Col id="val">Y</Col>
  320. </Row>
  321. <Row>
  322. <Col id="lbl">하단_깜빡임</Col>
  323. <Col id="val">L</Col>
  324. </Row>
  325. </Rows>
  326. </Dataset>
  327. <Dataset id="ds_init_cmb_ntcflag_2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  328. <ColumnInfo>
  329. <Column id="lbl" type="STRING" size="256"/>
  330. <Column id="val" type="STRING" size="256"/>
  331. </ColumnInfo>
  332. <Rows>
  333. <Row>
  334. <Col id="lbl">일반</Col>
  335. <Col id="val">N</Col>
  336. </Row>
  337. <Row>
  338. <Col id="lbl">긴급</Col>
  339. <Col id="val">Y</Col>
  340. </Row>
  341. </Rows>
  342. </Dataset>
  343. <FileDialog id="FileDialog00" filter="All(*.*)|*.*|" filterindex="0" defaultextension="false"/>
  344. <Dataset id="ds_file" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  345. <ColumnInfo>
  346. <Column id="filenm" type="STRING" size="256" sumtext="파일명"/>
  347. <Column id="filedata" type="BLOB" size="0" sumtext="파일데이터"/>
  348. <Column id="filesize" type="STRING" size="256" sumtext="파일크기"/>
  349. <Column id="filetype" type="STRING" size="256" sumtext="파일종류"/>
  350. </ColumnInfo>
  351. </Dataset>
  352. <Dataset id="ds_result" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  353. <ColumnInfo>
  354. <Column id="genrdd" type="STRING" size="256" sumtext="발생일자(yyyymmdd)"/>
  355. <Column id="genrno" type="STRING" size="256" sumtext="발생번호(int)"/>
  356. <Column id="attfilepath" type="STRING" size="256" sumtext="첨부파일의서버상의경로"/>
  357. </ColumnInfo>
  358. </Dataset>
  359. <Dataset id="ds_temp_targetlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  360. <Dataset id="ds_chk_file" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  361. <ColumnInfo>
  362. <Column id="genrdd" type="STRING" size="256" sumtext="발생일자(yyyymmdd)"/>
  363. <Column id="genrno" type="STRING" size="256" sumtext="발생번호(int)"/>
  364. </ColumnInfo>
  365. </Dataset>
  366. <Dataset id="ds_chk_file_result" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  367. <ColumnInfo>
  368. <Column id="genrdd" type="STRING" size="256" sumtext="발생일자(yyyymmdd)"/>
  369. <Column id="genrno" type="STRING" size="256" sumtext="발생번호(int)"/>
  370. </ColumnInfo>
  371. </Dataset>
  372. <Dataset id="ds_download" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  373. <Dataset id="ds_filelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  374. <Dataset id="ds_grd_notice_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  375. <ColumnInfo>
  376. <Column id="genrdd" type="STRING" size="255"/>
  377. <Column id="genrno" type="BIGDECIMAL" size="255"/>
  378. <Column id="delyn" type="STRING" size="255"/>
  379. <Column id="ntcflag" type="STRING" size="255"/>
  380. <Column id="targetflag" type="STRING" size="255"/>
  381. <Column id="ntctrgtjobkind" type="STRING" size="255"/>
  382. <Column id="fromdd" type="STRING" size="255"/>
  383. <Column id="todd" type="STRING" size="255"/>
  384. <Column id="ntcsubject" type="STRING" size="255"/>
  385. <Column id="ntccnts" type="STRING" size="255"/>
  386. <Column id="attyn" type="STRING" size="255"/>
  387. <Column id="attfilenm" type="STRING" size="255"/>
  388. <Column id="attfilepath" type="STRING" size="255"/>
  389. <Column id="bottomflag" type="STRING" size="255"/>
  390. <Column id="bottomcolor" type="STRING" size="255"/>
  391. <Column id="bottomsize" type="STRING" size="255"/>
  392. <Column id="hitcount" type="BIGDECIMAL" size="255"/>
  393. <Column id="fstrgstrid" type="STRING" size="255"/>
  394. <Column id="fstrgstrnm" type="STRING" size="255"/>
  395. <Column id="fstrgstdt" type="STRING" size="255"/>
  396. <Column id="lastupdtrid" type="STRING" size="255"/>
  397. <Column id="lastupdtdt" type="STRING" size="255"/>
  398. <Column id="activenoti" type="STRING" size="255"/>
  399. </ColumnInfo>
  400. </Dataset>
  401. <Dataset id="ds_send_iteminfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  402. </Objects>
  403. <Bind>
  404. <BindItem id="item0" compid="group5.ipt_ntcsubject" propid="value" datasetid="ds_iteminfo" columnid="ntcsubject"/>
  405. <BindItem id="item1" compid="group5.ipt_fromdd" propid="value" datasetid="ds_iteminfo" columnid="fromdd"/>
  406. <BindItem id="item2" compid="group5.ipt_todd" propid="value" datasetid="ds_iteminfo" columnid="todd"/>
  407. <BindItem id="item3" compid="group5.cmb_ntcflag" propid="value" datasetid="ds_iteminfo" columnid="ntcflag"/>
  408. <BindItem id="item4" compid="group5.cmb_targetflag" propid="value" datasetid="ds_iteminfo" columnid="targetflag"/>
  409. <BindItem id="item5" compid="group5.cmb_ntctrgtjobkind" propid="value" datasetid="ds_iteminfo" columnid="ntctrgtjobkind"/>
  410. <BindItem id="item7" compid="group5.ipt_attfilenm" propid="value" datasetid="ds_iteminfo" columnid="attfilenm"/>
  411. <BindItem id="item8" compid="ipt_ntccnts" propid="value" datasetid="ds_iteminfo" columnid="ntccnts"/>
  412. <BindItem id="item9" compid="chk_bottom" propid="value" datasetid="ds_iteminfo" columnid="bottomflag"/>
  413. <BindItem id="item10" compid="group1.cmb_bottomcolor" propid="value" datasetid="ds_iteminfo" columnid=""/>
  414. </Bind>
  415. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  416. * System Name :
  417. * Job Name :
  418. * Creator :
  419. * Make Date : 2014-11-05
  420. * Description :
  421. *---------------------------------------------------------------------------------------
  422. * Modify Date Modifier Modify Description
  423. *---------------------------------------------------------------------------------------
  424. * 2014-11-05 Live Converter TF->XP
  425. *
  426. *---------------------------------------------------------------------------------------
  427. ****************************************************************************************/
  428. //=======================================================================================
  429. // Lib Include
  430. //---------------------------------------------------------------------------------------
  431. include "com_commonxp::comm_main.xjs"
  432. //=======================================================================================
  433. // Global Form Variable
  434. //---------------------------------------------------------------------------------------
  435. var gMaxSize = 10485760;
  436. //=======================================================================================
  437. // Function
  438. //---------------------------------------------------------------------------------------
  439. function SPZSN00100_oninit(obj:Form, e:InitEventInfo)
  440. {
  441. frmf_initForm(obj);
  442. }
  443. function SPZSN00100_onload(obj:Form, e:LoadEventInfo)
  444. {
  445. // zbcfGetCodeList( new Array("R0061", "Z0007"),
  446. // new Array("/root/init/comcd", "/root/init/comcd"),
  447. // true,
  448. // new Array("cdnm", "cdnm"),
  449. // new Array("asc", "asc")
  450. // );
  451. var arrParam = new Array();
  452. arrParam = [{dsNm: "ds_init_cmb_ntctrgtjobkind", cdGrpId: "R0061", sortField: "cdnm", sortMehotd: "asc", showValue:true}
  453. , {dsNm: "ds_code_2", cdGrpId: "Z0007", sortField: "cdnm", sortMehotd: "asc", showValue:true}];
  454. appf_getCodeList(arrParam, true);
  455. frmf_addComboItem("group5.cmb_ntctrgtjobkind", "전체", "-", "above");
  456. btn_mod.enable = false;
  457. if (frmf_checkOpener()) {
  458. fInitialize();
  459. // 공지 클릭해서 넘어왔는지 확인
  460. var genrdd = opener.frmf_getParameter("SPZSN00100_genrdd");
  461. var genrno = opener.frmf_getParameter("SPZSN00100_genrno");
  462. if(!utlf_isNull(genrdd)){
  463. zsnfgetNoticeDetail(genrdd, genrno);
  464. }
  465. } else {
  466. fInitialize();
  467. }
  468. // /*이관작업 위하여..*/
  469. // if( getUserId() == "DEV106")
  470. // {
  471. // btn_mig.visible = true;
  472. // btn_create.visible = true;
  473. // }
  474. // utlf_startLogCheck("fSelectOutPat");
  475. //
  476. // utlf_startLogTempCheck("fSelectOutPat_Step1");
  477. //
  478. // step1Elapsed = utlf_endLogTempCheck("fSelectOutPat_Step1");
  479. //
  480. // utlf_startLogTempCheck("fSelectOutPat_Step2");
  481. //
  482. // step2Elapsed = utlf_endLogTempCheck("fSelectOutPat_Step2");
  483. //
  484. // utlf_startLogTempCheck("fSelectOutPat_Step3");
  485. //
  486. // step3Elapsed = utlf_endLogTempCheck("fSelectOutPat_Step3");
  487. //
  488. // alert("!");
  489. // var sLogParam = "userid:" + "10257" + "|" // item02
  490. // + "instcd:" + "031" + "|" // item03
  491. // + "pid:" + "2287177" + "|" // item04
  492. // + "orddd:" + "20150831" + "|" // item05
  493. // + step1Elapsed + "|" // 진행가능 한지 여부 체크 // item09
  494. // + step2Elapsed + "|" // 상단정보 // item10
  495. // + step3Elapsed // 처방+기록+그외 팝업창 처리 // item11
  496. // ;
  497. // utlf_endLogCheck("fSelectOutPat", sLogParam);
  498. //
  499. // alert(sLogParam);
  500. }
  501. //lpad('txt', 8, '0'); // 00000txt
  502. function lpad(str, num, chr) {
  503. if (! str || ! chr || str.length >= num) {
  504. return str;
  505. }
  506. var max = num - str.length;
  507. for (var i = 0; i < max; i++) {
  508. str = chr + str;
  509. }
  510. return str;
  511. }
  512. /**
  513. * @desc : 공지사항 화면 초기화
  514. * @---------------------------------------------------
  515. */
  516. function fInitialize(row){
  517. //조회된 조건 초기화
  518. group5.ipt_ntcsubject.value = "";
  519. group5.ipt_attfilenm.value = "";
  520. ipt_ntccnts.value = "";
  521. // 초기시에 수정및 삭제를 할수 없음
  522. btn_mod.enable = false;
  523. btn_del.enable = false;
  524. btn_cancel.visible = false;
  525. // 공지구분
  526. group5.cmb_ntcflag.index = 0;
  527. // 대상구분
  528. group5.cmb_targetflag.index = 0;
  529. // 대상직종
  530. group5.cmb_ntctrgtjobkind.index = 0;
  531. // 콤보 추가(by 김지훈)
  532. group1.cmb_bottomcolor.index = 0; //하단공지 글자색
  533. group1.cmb_bottomsize.index = 1; //하단공지 사이즈
  534. /*model.resetInstanceNode("/root/main/iteminfo");*/
  535. ds_iteminfo.clearData();
  536. // 공지사항 리스트 조회
  537. /*model.removeNodeset("/root/main/noticeinfo/noticelist");*/
  538. ds_grd_notice.clearData();
  539. zsnGetNoticeList(row);
  540. //진료행정과에서 사용하도록 추가(by 김지훈 2014.10.21)
  541. var dutplcecd = sysf_getUserInfo("dutplcecd");
  542. if( dutplcecd == "3310000000" || dutplcecd == "3310200000" // 본원(진료행정과, 진료지원팀)
  543. || dutplcecd == "3310100000" || dutplcecd == "3340000000"){ // 칠곡(진료행정과, 진료지원실)
  544. group1.visible = true;
  545. chk_bottom.enable = true;
  546. btn_except.visible = true;
  547. } else {
  548. group1.visible = false;
  549. chk_bottom.enable = false;
  550. btn_except.visible = false; // ------------------------------------------------------------------------------- test 끝나면 false로 변경해라!!
  551. }
  552. cpt_bottom.visible = true;
  553. chk_bottom.visible = true;
  554. }
  555. function zsnGetNoticeList(row){
  556. // 공지 리스트를 조회
  557. var pagesize = 17;
  558. if(!utlf_isNull(row)) {
  559. pagesize = row + 1;
  560. if(pagesize < 17) pagesize = 17;
  561. }
  562. var sInDsName = dsf_createDsRow("in_ds_search"
  563. , [{col: "fromdd_t", val: group5.ipt_fromdd.value}
  564. , {col: "todd_t", val: group5.ipt_todd.value}
  565. , {col: "offset", val: 0}
  566. , {col: "pagesize", val: pagesize} ]);
  567. ds_grd_notice.clearData();
  568. var oParam = {};
  569. oParam.id = "TRZSN00101";
  570. oParam.service = "noticeinfoapp.noticeinfo";
  571. oParam.method = "reqGetNoticeList";
  572. oParam.inds = "req="+sInDsName;
  573. oParam.outds = "ds_grd_notice_temp=noticelist";
  574. oParam.async = false;
  575. oParam.callback = "cf_TRZSN00101";
  576. tranf_submit(oParam);
  577. }
  578. function cf_TRZSN00101(sSvcId, nErrorCode, sErrorMsg) {
  579. if(nErrorCode < 0) return;
  580. ds_grd_notice.appendData(ds_grd_notice_temp);
  581. }
  582. /**
  583. * @desc : 공지사항 상세조회 (조회모드)
  584. * @---------------------------------------------------
  585. */
  586. function zsnfgetNoticeDetail(genrdd, genrno){
  587. // 행번호가 없다면 바로 리턴 (버튼클릭하여 공지창을 띄운경우)
  588. ///if (row == null || row > grd_notice.rowcount) return;
  589. if (utlf_isNull(genrdd) || utlf_isNull(genrno)) return;
  590. // 이미 신규작성되거나 수정된 공지사항이 존재하면 메시지 창 띄우면서 리턴
  591. if (group5.enable == true)
  592. {
  593. sysf_messageBox("작성한 글이 저장되지 않았습니다. 저장버튼이나 작성취소 버튼을 눌러주세요.", "I999");
  594. return;
  595. }
  596. // 해당 공지내용을 상단에 뿌려줌
  597. if(ds_iteminfo.rowcount > 0){
  598. ds_iteminfo.clearData();
  599. }
  600. var sInDsName = dsf_createDsRow("in_ds_search_detail"
  601. , [{col: "genrdd_t", val: genrdd}
  602. , {col: "genrno_t", val: genrno}
  603. , {col: "offset", val: 0}
  604. , {col: "pagesize", val: 0}]);
  605. var oParam = {};
  606. oParam.id = "TRZSN00107";
  607. oParam.service = "noticeinfoapp.noticeinfo";
  608. oParam.method = "reqGetNoticeList";
  609. oParam.inds = "req="+sInDsName;
  610. oParam.outds = "ds_iteminfo=noticelist";
  611. oParam.async = false;
  612. tranf_submit(oParam);
  613. ds_iteminfo.addColumn("status", "string");
  614. fChangeSample();
  615. // 공지대상을 가져와서 뿌려줌
  616. var genrdd = ds_iteminfo.getColumn(0, "genrdd");
  617. var genrno = ds_iteminfo.getColumn(0, "genrno");
  618. var targetflag = ds_iteminfo.getColumn(0, "targetflag");
  619. // 서브밋 하기전
  620. // if (targetflag == 'D') // 부서이면 두줄
  621. // {
  622. // list_ntctrgtnm.attribute("cols") = "1";
  623. // }
  624. // else // 그밖은 5줄
  625. // {
  626. // list_ntctrgtnm.attribute("cols") = "5";
  627. // }
  628. // 대상직종 컴보박스 보여줄지 결정
  629. if (targetflag == 'D' || targetflag == 'I') // 부서이거나 근무지기관일 경우
  630. {
  631. // group5.cap_trgtjobkind.visible = true;
  632. // group5.cmb_ntctrgtjobkind.visible = true;
  633. }
  634. else
  635. {
  636. group5.cap_trgtjobkind.visible = false;
  637. group5.cmb_ntctrgtjobkind.visible = false;
  638. }
  639. // 공지대상 리스트 완전히 지움
  640. ds_targetlist.clearData();
  641. ds_exceptlist.clearData();
  642. var sInDsName = dsf_createDsRow("in_ds_searchDetl"
  643. , [{col: "genrdd", val: genrdd}
  644. , {col: "genrno", val: genrno}
  645. , {col: "targetflag", val: targetflag} ]);
  646. //trace(in_ds_searchDetl.saveXML());
  647. var oParam = {};
  648. oParam.id = "TRZSN00102";
  649. oParam.service = "noticeinfoapp.noticeinfo";
  650. oParam.method = "reqGetTargetList";
  651. oParam.inds = "req="+sInDsName;
  652. oParam.outds = "ds_targetlist=targetlist";
  653. oParam.async = false;
  654. oParam.callback = "cf_TRZSN00102";
  655. tranf_submit(oParam);
  656. //trace(ds_targetlist.saveXML());
  657. var oParam = {};
  658. oParam.id = "TRZSN00106";
  659. oParam.service = "noticeinfoapp.noticeinfo";
  660. oParam.method = "reqGetExceptList";
  661. oParam.inds = "req="+sInDsName;
  662. oParam.outds = "ds_exceptlist=targetlist";
  663. oParam.async = false;
  664. oParam.callback = "cf_TRZSN00106";
  665. tranf_submit(oParam);
  666. //trace(ds_exceptlist.saveXML());
  667. // 사용자정보를 가지고와서 글작성자가 아니면 수정/삭제할수 없도록 함
  668. var userid = sysf_getUserId();
  669. //trace(ds_iteminfo.saveXML());
  670. var writerid = ds_iteminfo.getColumn(0, "fstrgstrid");
  671. //trace(userid+" "+writerid);
  672. if (userid == writerid) {
  673. btn_mod.enable = true;
  674. btn_del.enable = true;
  675. }
  676. else
  677. {
  678. btn_mod.enable = false;
  679. btn_del.enable = false;
  680. }
  681. // 각종 컨트롤 보여주기 설정
  682. group5.enable = false;
  683. //ipt_ntccnts.readonly = true;
  684. group5.btn_fileadd.visible = false;
  685. group5.btn_filedel.visible = false;
  686. btn_down.visible = true;
  687. if (zsnfCheckFileExt())
  688. btn_preview.visible = true;
  689. else
  690. btn_preview.visible = false;
  691. var dutplcecd = sysf_getUserInfo("dutplcecd");
  692. if( dutplcecd == "3310000000" || dutplcecd == "3310200000" // 본원(진료행정과, 진료지원팀)
  693. || dutplcecd == "3310100000" || dutplcecd == "3340000000"){ // 칠곡(진료행정과, 진료지원실)
  694. group1.visible = true;
  695. } else {
  696. group1.visible = false;
  697. }
  698. cpt_bottom.visible = true;
  699. chk_bottom.visible = true;
  700. group1.enable = false;
  701. chk_bottom.enable = false;
  702. }
  703. function cf_TRZSN00102(sSvcId, nErrorCode, sErrorMsg) {
  704. if(nErrorCode < 0) return;
  705. }
  706. function cf_TRZSN00106(sSvcId, nErrorCode, sErrorMsg) {
  707. if(nErrorCode < 0) return;
  708. }
  709. /****************************************************************************************
  710. * Components : Button
  711. * Components ID : btn_close
  712. * Event : onclick
  713. * Argument : 01.obj : Button
  714. * : 02.e : ClickEventInfo
  715. * Description : 팝업 닫기
  716. ****************************************************************************************/
  717. function btn_close_onclick(obj:Button, e:ClickEventInfo){
  718. var objReturn = new Object();
  719. objReturn.islogout = true;
  720. this.close(objReturn);
  721. }
  722. // 하단공지 예제문구 스타일 변경
  723. function fChangeSample(){
  724. var sColor = ds_grd_notice.getColumn(0, "bottomcolor");
  725. var sSize = ds_grd_notice.getColumn(0, "bottomsize");
  726. if( sColor == '' ){
  727. group1.cpt_sample.style.color = "black";
  728. } else {
  729. group1.cpt_sample.style.color = sColor;
  730. }
  731. if( sSize == '' ){
  732. group1.cpt_sample.style.font.size = "9";
  733. } else {
  734. group1.cpt_sample.style.font.size = sSize;
  735. }
  736. }
  737. function zsnfCheckFileExt() {
  738. retvalue = false;
  739. var filename = ds_iteminfo.getColumn(0, "attfilenm"); //model.getValue("/root/main/iteminfo/attfilenm");
  740. var IMG_FORMAT = "\\.(bmp|gif|jpg|jpeg|png|doc|xls|xlsx|xml|cvs|txt|ppt|hwp|pptx|pdf|mp4)$";
  741. if( (new RegExp(IMG_FORMAT, "i")).test(filename))
  742. {
  743. retvalue = true;
  744. }
  745. else
  746. {
  747. retvalue = false;
  748. }
  749. return retvalue;
  750. }
  751. function btn_cancel_onclick(obj:Button, e:ClickEventInfo)
  752. {
  753. group5.enable = false;
  754. group5.btn_fileadd.visible = false;
  755. group5.btn_filedel.visible = false;
  756. btn_down.visible = true;
  757. //btn_preview.visible = true;
  758. btn_cancel.visible = false;
  759. ipt_ntccnts.enable = false;
  760. btn_save.enable = false;
  761. group1.enable = false;
  762. chk_bottom.enable = false;
  763. // 첨부파일 초기화
  764. //model.resetInstanceNode("/root/send/file");
  765. changeCombo("add");
  766. cpt_bottom.visible = true;
  767. chk_bottom.visible = true;
  768. }
  769. function changeCombo(value){
  770. if(value == "add"){
  771. group5.cmb_ntcflag.innerdataset = "ds_init_cmb_ntcflag";
  772. } else {
  773. group5.cmb_ntcflag.innerdataset = "ds_init_cmb_ntcflag_2";
  774. }
  775. group5.cmb_ntcflag.index = 0;
  776. }
  777. function btn_new_onclick(obj:Button, e:ClickEventInfo)
  778. {
  779. ds_iteminfo.clearData();
  780. ds_iteminfo.addRow();
  781. for(var i = 0; i < ds_iteminfo.getColCount(); i++){
  782. ds_iteminfo.setColumn(0, ds_iteminfo.getColID(i), "");
  783. }
  784. group5.btn_fileadd.visible = true;
  785. group5.btn_filedel.visible = true;
  786. btn_down.visible = false;
  787. btn_preview.visible = false;
  788. btn_cancel.visible = true;
  789. group5.enable = true;
  790. ipt_ntccnts.enable = true;
  791. //ipt_ntccnts.attribute("editable") = true;
  792. group1.enable = true
  793. chk_bottom.enable = true;
  794. //list_ntctrgtnm.disabled = true;
  795. group5.ipt_attfilenm.enable = false;
  796. btn_mod.enable = false;
  797. btn_save.enable = true;
  798. group5.btn_open.enable = false;
  799. zsnfNewNotice();
  800. ds_iteminfo.setColumn(0, "status", "i");
  801. ds_iteminfo.setColumn(0, "bottomflag", "");
  802. ds_iteminfo.setColumn(0, "bottomcolor", "black");
  803. ds_iteminfo.setColumn(0, "bottomsize", "9pt");
  804. //콤보박스 내용추가(by 김지훈)
  805. var dutplcecd = sysf_getUserInfo("dutplcecd");
  806. if( dutplcecd == "3310000000" || dutplcecd == "3310200000" // 본원(진료행정과, 진료지원팀)
  807. || dutplcecd == "3310100000" || dutplcecd == "3340000000"){ // 칠곡(진료행정과, 진료지원실)
  808. changeCombo("add");
  809. } else {
  810. changeCombo("");
  811. cpt_bottom.visible = false;
  812. chk_bottom.visible = false;
  813. }
  814. group5.ipt_ntcsubject.setFocus();
  815. }
  816. function btn_mod_onclick(obj:Button, e:ClickEventInfo)
  817. {
  818. group5.btn_fileadd.visible = true;
  819. group5.btn_filedel.visible = true;
  820. btn_down.visible = false;
  821. btn_preview.visible = false;
  822. group5.enable = true;
  823. btn_save.enable = true;
  824. btn_cancel.visible = true;
  825. ipt_ntccnts.enable = true;
  826. group1.enable = true;
  827. var dutplcecd = sysf_getUserInfo("dutplcecd");
  828. if( dutplcecd == "3310000000" || dutplcecd == "3310200000" // 본원(진료행정과, 진료지원팀)
  829. || dutplcecd == "3310100000" || dutplcecd == "3340000000"){ // 칠곡(진료행정과, 진료지원실)
  830. chk_bottom.enable = true;
  831. } else {
  832. chk_bottom.enable = false;
  833. }
  834. ds_iteminfo.setColumn(0, "status", "u");
  835. }
  836. function zsnfNewNotice() {
  837. //**********초기화
  838. //제목, 대상, 첨부, 내용에 data 제거
  839. group5.ipt_ntcsubject.value = "";
  840. group5.ipt_attfilenm.value = "";
  841. ipt_ntccnts.value = "";
  842. //기간을 초기화
  843. var getdate = utlf_getCurrentDate();
  844. ds_iteminfo.setColumn(0, "fromdd", getdate);
  845. var todd = ((utlf_getCurrentDate().toDate()).getAddDate(30)).getDateFormat();
  846. ds_iteminfo.setColumn(0, "todd", todd);
  847. //콤보박스를 초기화
  848. group5.cmb_ntcflag.index = 0;
  849. group5.cmb_ntctrgtjobkind.index = 0;
  850. group5.cmb_targetflag.index = 0;
  851. // 콤보 추가(by 김지훈)
  852. group1.cmb_bottomcolor.index = 0; //하단공지 글자색
  853. group1.cmb_bottomsize.index = 1; //하단공지 사이즈
  854. // 첨부파일 초기화
  855. //model.resetInstanceNode("/root/send/file");
  856. // 공지대상 리스트 초기화
  857. ds_targetlist.clearData();
  858. ds_exceptlist.clearData();
  859. }
  860. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  861. {
  862. // 각 필드값을 체크한다.
  863. // 제목 체크
  864. if(ds_iteminfo.getColumn(0, "ntcsubject").toString().trim() == "")
  865. {
  866. sysf_messageBox("제목은 ", "I003");
  867. group5.ipt_ntcsubject.setFocus();
  868. return;
  869. }
  870. // 적용기간체크
  871. if(ds_iteminfo.getColumn(0, "fromdd").toString().trim() == "")
  872. {
  873. sysf_messageBox("적용시작일자는 ", "I003");
  874. group5.ipt_from.setFocus();
  875. return;
  876. }
  877. // 적용기간체크
  878. if(ds_iteminfo.getColumn(0, "todd").toString().trim() == "")
  879. {
  880. sysf_messageBox("적용종료일자는 ", "I003");
  881. group5.ipt_todd.setFocus();
  882. return;
  883. }
  884. // 공지대상체크 (전체가 아니고 공지대상이 없을때만)
  885. var nodesetcount = ds_targetlist.getRowCount();
  886. if(nodesetcount == 0)
  887. {
  888. if( ds_iteminfo.getColumn(0, "targetflag") == "A" ){
  889. } else {
  890. sysf_messageBox("공지대상은 ", "I003");
  891. return;
  892. }
  893. }
  894. // 공지내용 체크
  895. if(ds_iteminfo.getColumn(0, "ntccnts").toString().trim() == "")
  896. {
  897. sysf_messageBox("공지내용 ", "I003");
  898. ipt_ntccnts.setFocus();
  899. return;
  900. }
  901. zsnfExeSave();
  902. group5.enable = false;
  903. ipt_ntccnts.enable = false;
  904. group5.btn_fileadd.visible = false;
  905. group5.btn_filedel.visible = false;
  906. btn_down.visible = true;
  907. if (zsnfCheckFileExt())
  908. btn_preview.visible = true;
  909. else
  910. btn_preview.visible = false;
  911. btn_cancel.visible = false;
  912. btn_save.enable = false;
  913. // 하단 공지사항 일때 전체 직원에게 메시지 전달하여 하단공지 재조회하도록 함 by 김지훈
  914. if( ds_iteminfo.getColumn(0, "bottomflag") == "Y"){
  915. // XP에서 하단공지 사용 확정되면 아래 주석 풀기
  916. // var viewerObj = getViewer("sysMessage");
  917. // if (viewerObj != null && viewerObj.window.javascript.fConnectMsgsvr != undefined) {
  918. // viewerObj.window.javascript.fMsgsvrBottomNotify();
  919. // }
  920. }
  921. }
  922. /**
  923. * @desc : 공지사항 신규 /수정 후 저장
  924. * @---------------------------------------------------
  925. */
  926. function zsnfExeSave() {
  927. var status = ds_iteminfo.getColumn(0, "status");
  928. // 공지사항 마스터
  929. // var nodes_iteminfo = instance1.selectNodes("/root/main/iteminfo");
  930. // var getData_iteminfo = getNodeListCSV(nodes_iteminfo);
  931. // // 공지대상목록
  932. // var nodes_targetinfo = instance1.selectNodes("/root/main/targetinfo/targetlist");
  933. // var getData_targetinfo = getNodeListCSV(nodes_targetinfo);
  934. // var getData_targetinfo_cnt = getNodesetCount("/root/main/targetinfo/targetlist"); // 노드셋 갯수를 얻어옴
  935. //
  936. // // 공지제외대상목록
  937. // var nodes_exceptinfo = instance1.selectNodes("/root/main/exceptinfo/targetlist");
  938. // var getData_exceptinfo = getNodeListCSV(nodes_exceptinfo);
  939. // var getData_exceptinfo_cnt = getNodesetCount("/root/main/exceptinfo/targetlist"); // 노드셋 갯수를 얻어옴
  940. //
  941. // var targetflag = model.getValue("/root/main/iteminfo/targetflag"); // 공지대상이 부서일경우
  942. /* model.setValue("/root/send/savedata", getData_iteminfo);*/
  943. // if (getData_targetinfo_cnt == 0) // 데이터가 하나도 없을경우
  944. // {
  945. // model.removeNodeset("/root/send/targetinfo");
  946. // }
  947. // else
  948. // {
  949. // model.makeNode("/root/send/targetinfo");
  950. // model.setValue("/root/send/targetinfo",getData_targetinfo);
  951. // }
  952. //
  953. // if (getData_exceptinfo_cnt == 0) // 데이터가 하나도 없을경우
  954. // {
  955. // model.removeNodeset("/root/send/exceptinfo");
  956. // }
  957. // else
  958. // {
  959. // model.makeNode("/root/send/exceptinfo");
  960. // model.setValue("/root/send/exceptinfo",getData_exceptinfo);
  961. // }
  962. for(var i = 0; i < ds_iteminfo.getColCount(); i++){
  963. if(ds_iteminfo.getColumn(0, ds_iteminfo.getColID(i)) == null ){
  964. ds_iteminfo.setColumn(0, ds_iteminfo.getColID(i), " ");
  965. }
  966. }
  967. ds_send_iteminfo.copyData(ds_iteminfo);
  968. dsf_makeValue(ds_send_iteminfo, "offset", "string", 0);
  969. dsf_makeValue(ds_send_iteminfo, "pagesize", "string", 17);
  970. // 서브밋한다.
  971. //var retvalue = submit("TXZSN00101");
  972. var oParam = {};
  973. oParam.id = "TXZSN00101";
  974. oParam.service = "noticeinfoapp.noticeinfo";
  975. oParam.method = "reqExeSaveNoticeList";
  976. oParam.inds = "req=ds_send_iteminfo trgtlist=ds_targetlist exceptlist=ds_exceptlist file=ds_file";
  977. oParam.outds = "ds_result=result ds_grd_notice=noticelist";
  978. oParam.async = false;
  979. oParam.callback = "cf_TXZSN00101";
  980. tranf_submit(oParam);
  981. //방금 입력하였던 자료의 PK 값을 가져온다. (첨부파일 서버상의 경로도 가져온다)
  982. ds_iteminfo.setColumn(0, "genrdd", dsf_getColumnNullToEmpty(ds_result, 0, "genrdd"));
  983. ds_iteminfo.setColumn(0, "genrno", dsf_getColumnNullToEmpty(ds_result, 0, "genrno"));
  984. ds_iteminfo.setColumn(0, "attfilepath", ds_result.getColumn(0, "attfilepath"));
  985. // 첨부파일 초기화
  986. ds_file.clearData();
  987. //model.resetInstanceNode("/root/send/file");
  988. if (frmf_checkOpener())
  989. opener.frmf_setParameter("SPZSN00100_refresh", "Y");
  990. }
  991. function cf_TXZSN00101(sSvcId, nErrorCode, sErrorMsg) {
  992. if(nErrorCode < 0){
  993. fInitialize();
  994. return;
  995. }
  996. }
  997. function group5_btn_fileadd_onclick(obj:Button, e:ClickEventInfo)
  998. {
  999. var name = ds_iteminfo.getColumn(0, "attfilenm");
  1000. if( (name != '' || name == '-') && name != undefined ){
  1001. var fileupdata = sysf_messageBox(name + " 파일 수정을" , "S001");
  1002. if(fileupdata == '6'){
  1003. //파일 삭제
  1004. //input박스에 나타난 명을 제거
  1005. group5.ipt_attfilenm.value = "";
  1006. //파일 저장
  1007. //파일을 받아오기 위해 파일열기 팝업창을 띄운다.
  1008. var fd = new FileDialog;
  1009. var objVFile = fd.open("FileOpen", FileDialog.LOAD); // 단일 파일 선택
  1010. ds_file.clearData();
  1011. ds_file.addRow();
  1012. var file = dsf_writeFileToDs(objVFile, ds_file, 0, "filedata");
  1013. ds_file.setColumn(0, "filenm", file.filename); // 파일이름
  1014. ds_file.setColumn(0, "filesize", file.filesize); // 파일사이즈
  1015. ds_file.setColumn(0, "filetype", file.filetype); // 파일mime타입
  1016. //파일 경로가 아닌 이름만 input박스에 넣기 위한 처리
  1017. ds_iteminfo.setColumn(0, "attfilenm", file.filename);
  1018. var name = file.filename;
  1019. //lastIndexOf함수는 \\이것을 뒤어세 검색하여 나오면 앞에 것은 지운다.
  1020. var filename = name.lastIndexOf("\\");
  1021. //open 파일명를 input박스에 넣는다.
  1022. group5.ipt_attfilenm.value = name.substring(filename + 1, name.length);
  1023. //파일 크기가 너무 큰경우 메세지를 띄운다.
  1024. if (!checkFileSize(file.filesize)){
  1025. group5.ipt_attfilenm.value = "";
  1026. sysf_messageBox("파일 크기가 최대치("+gMaxsize+"Byte)를", "E003");
  1027. ds_file.clearData();
  1028. }
  1029. ds_iteminfo.addColumn("fileyn", "STRING", 256);
  1030. ds_iteminfo.setColumn(0, "fileyn", 'Y');
  1031. }else if(fileupdata == '7'){
  1032. sysf_messageBox(name + " 파일 수정을 하지", "E007");
  1033. ds_iteminfo.setColumn(0, "fileyn", 'N');
  1034. }else{
  1035. }
  1036. } else {
  1037. //파일을 받아오기 위해 파일열기 팝업창을 띄운다.
  1038. var fd = new FileDialog;
  1039. var objVFile = fd.open("FileOpen", FileDialog.LOAD); // 단일 파일 선택
  1040. ds_file.clearData();
  1041. ds_file.addRow();
  1042. var file = dsf_writeFileToDs(objVFile, ds_file, 0, "filedata");
  1043. ds_file.setColumn(0, "filenm", file.filename); // 파일이름
  1044. ds_file.setColumn(0, "filesize", file.filesize); // 파일사이즈
  1045. ds_file.setColumn(0, "filetype", file.filetype); // 파일mime타입
  1046. //파일 경로가 아닌 이름만 input박스에 넣기 위한 처리
  1047. ds_iteminfo.setColumn(0, "attfilenm", file.filename);
  1048. var name = file.filename;
  1049. //lastIndexOf함수는 \\이것을 뒤어세 검색하여 나오면 앞에 것은 지운다.
  1050. var filename = name.lastIndexOf("\\");
  1051. //open 파일명를 input박스에 넣는다.
  1052. group5.ipt_attfilenm.value = name.substring(filename + 1, name.length);
  1053. //선택한 파일이 저장버튼을 눌렀을때 저장이 되게 하기 위해 파일 저장 인스턴스에 파일주소를 저장해 둔다.
  1054. //ds_file.addRow();
  1055. // ds_file.setColumn(0, "filename", name);
  1056. //trace(ds_file.saveXML());
  1057. //파일 크기가 너무 큰경우 메세지를 띄운다.
  1058. if (!checkFileSize(file.filesize)){
  1059. group5.ipt_attfilenm.value = "";
  1060. sysf_messageBox("파일 크기가 최대치("+gMaxsize+"Byte)를", "E003");
  1061. ds_file.clearData();
  1062. }
  1063. ds_iteminfo.addColumn("fileyn", "STRING", 256);
  1064. ds_iteminfo.setColumn(0, "fileyn", 'Y');
  1065. //trace(ds_iteminfo.saveXML());
  1066. }
  1067. }
  1068. function checkFileSize(fileSize)
  1069. {
  1070. if ( fileSize <= gMaxSize )
  1071. return true;
  1072. else
  1073. return false;
  1074. }
  1075. function grd_notice_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  1076. {
  1077. var genrdd = ds_grd_notice.getColumn(e.row, "genrdd");
  1078. var genrno = ds_grd_notice.getColumn(e.row, "genrno");
  1079. zsnfgetNoticeDetail(genrdd, genrno);
  1080. }
  1081. function group5_cmb_targetflag_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  1082. {
  1083. ds_targetlist.clearData();
  1084. // ds_targetlist.addRow();
  1085. zsnfOpenTargetPopup();
  1086. }
  1087. /**
  1088. * @desc : 공지사항이 보여질 사용자 선택
  1089. * @---------------------------------------------------
  1090. */
  1091. function zsnfOpenTargetPopup() {
  1092. var targetflag = ds_iteminfo.getColumn(0, "targetflag");
  1093. // 대상이 부서가 아닌경우 대상직종 선택 컴보를 비활성화
  1094. group5.cmb_ntctrgtjobkind.index = 0;
  1095. group5.cap_trgtjobkind.visible = false;
  1096. group5.cmb_ntctrgtjobkind.visible = false;
  1097. // ds_temp_targetlist.addRow();
  1098. // ds_temp_targetlist.copyData("ds_targetlist");
  1099. dsf_copyDs(ds_temp_targetlist, ds_targetlist);
  1100. // 대상이 전체인 경우
  1101. if (targetflag == 'A' )
  1102. {
  1103. // 메인노드 초기화
  1104. ds_targetlist.clearData();
  1105. ds_targetlist.addRow();
  1106. group5.btn_open.enable = false;
  1107. }
  1108. // 대상이 그밖인 경우
  1109. else
  1110. {
  1111. group5.btn_open.enable = true;
  1112. // 예의처리
  1113. if (targetflag == 'D' || targetflag == 'I')
  1114. {
  1115. // group5.cap_trgtjobkind.visible = true;
  1116. // group5.cmb_ntctrgtjobkind.visible = true;
  1117. }
  1118. // 해결되면 주석풀기
  1119. // if (targetflag == 'D') // 부서이면 두줄
  1120. // {
  1121. // list_ntctrgtnm.attribute("cols") = "1";
  1122. // }
  1123. // else // 그밖은 5줄
  1124. // {
  1125. // list_ntctrgtnm.attribute("cols") = "5";
  1126. // }
  1127. frmf_modal("SPZSN00200", "SPZSN00200");
  1128. // 메인노드 초기화
  1129. dsf_copyDs(ds_targetlist, ds_temp_targetlist);
  1130. // trace(ds_temp_targetlist.saveXML());
  1131. // trace(ds_targetlist.saveXML());
  1132. }
  1133. }
  1134. function group5_btn_open_onclick(obj:Button, e:ClickEventInfo)
  1135. {
  1136. zsnfOpenTargetPopup();
  1137. }
  1138. function group1_cmb_bottomcolor_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  1139. {
  1140. fChangeSample();
  1141. }
  1142. function group1_cmb_bottomsize_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  1143. {
  1144. fChangeSample();
  1145. }
  1146. function btn_del_onclick(obj:Button, e:ClickEventInfo)
  1147. {
  1148. zsnfNoticeDel();
  1149. // XP에서 하단공지 확정되면 아래 주석 풀기
  1150. // var viewerObj = getViewer("sysMessage");
  1151. // if (viewerObj != null && viewerObj.window.javascript.fConnectMsgsvr != undefined) {
  1152. // viewerObj.window.javascript.fMsgsvrBottomNotify();
  1153. // }
  1154. }
  1155. /**
  1156. * @desc : 공지사항 내용 삭제
  1157. * @---------------------------------------------------
  1158. */
  1159. function zsnfNoticeDel() {
  1160. var genrdd = ds_iteminfo.getColumn(0, "genrdd");
  1161. var genrno = ds_iteminfo.getColumn(0, "genrno");
  1162. if (utlf_isNull(genrdd) || utlf_isNull(genrno))
  1163. {
  1164. return;
  1165. }
  1166. // 사용자정보를 가지고와서 글작성자가 아니면 삭제할 수 없도록 함
  1167. var userid = sysf_getUserId();
  1168. var writerid = ds_iteminfo.getColumn(0, "fstrgstrid");
  1169. if (userid == writerid) {
  1170. ds_iteminfo.setColumn(0, "status", "d");
  1171. zsnfExeSave(); // 저장
  1172. } else {
  1173. sysf_messageBox("작성자만 삭제 ","I006");
  1174. return;
  1175. }
  1176. fInitialize(); // 초기화
  1177. }
  1178. function btn_except_onclick(obj:Button, e:ClickEventInfo)
  1179. {
  1180. zsnfOpenExceptPopup();
  1181. }
  1182. /**
  1183. * @desc : 공지사항 대상 제외 선택
  1184. * @---------------------------------------------------
  1185. */
  1186. function zsnfOpenExceptPopup() {
  1187. // 반드시 공지 대상 리스트를 초기화함
  1188. model.removeNode("/root/temp/exceptinfo");
  1189. model.makeNode("/root/temp/exceptinfo");
  1190. ds_exceptinfo.
  1191. model.copyNode("/root/temp/exceptinfo","/root/main/exceptinfo"); // 임시 저장된걸 복사
  1192. model.refresh(); // 갱신
  1193. modal("SPZSN00400","","300","100","SPZSN00400","/root/temp/exceptinfo","/root/main/selecteduser");
  1194. // 메인노드 초기화
  1195. model.removeNode("/root/main/exceptinfo");
  1196. model.makeNode("/root/main/exceptinfo");
  1197. model.copyNode("/root/main/exceptinfo","/root/temp/exceptinfo"); // 임시 저장된걸 복사
  1198. model.refresh();
  1199. }
  1200. function btn_down_onclick(obj:Button, e:ClickEventInfo)
  1201. {
  1202. zsnfFileDown();
  1203. }
  1204. function zsnfFileDown() {
  1205. // 해당 게시물이 실제 서버상에 존재하는지 확인
  1206. var isExist = zsnfCheckNoticeInfo();
  1207. if (isExist == false)
  1208. {
  1209. // 메시지출력
  1210. sysf_messageBox("서버에서 이미 삭제되어진 공지사항입니다. 첨부파일을 다운로드", "E001");
  1211. // 초기화
  1212. fInitialize();
  1213. return;
  1214. }
  1215. //파일명를 받아옴
  1216. var getfilenm = ds_iteminfo.getColumn(0, "attfilenm");
  1217. //파일명이 있는 경우 다운로드
  1218. if(getfilenm != ""){
  1219. //파일명을 받아옴
  1220. var filenm = getfilenm;
  1221. //파일명의 확장자만 받아옴
  1222. var fileext = filenm.lastIndexOf(".");
  1223. var ext = filenm.substring(fileext +1, filenm.length);
  1224. ds_chk_file.clearData();
  1225. ds_chk_file.addRow();
  1226. ds_chk_file.setColumn(0, "genrdd", ds_iteminfo.getColumn(0, "genrdd"));
  1227. ds_chk_file.setColumn(0, "genrno", ds_iteminfo.getColumn(0, "genrno"));
  1228. var oParam = {};
  1229. oParam.id = "TRZSN00103";
  1230. oParam.service = "noticeinfoapp.noticeinfo";
  1231. oParam.method = "reqExeFileDownLoad";
  1232. oParam.inds = "req=ds_chk_file";
  1233. oParam.outds = "ds_filelist=filelist";
  1234. oParam.async = false;
  1235. oParam.callback = "cf_TRZSN00103";
  1236. tranf_submit(oParam);
  1237. var fd = new FileDialog;
  1238. var objVFile = fd.open("FileSave", FileDialog.SAVE, "%MYDOCUMENT%", filenm); // 단일 파일 선택
  1239. if (objVFile != null) {
  1240. dsf_readFileFromDs(objVFile.fullpath, ds_filelist, 0, "attfilecnts"); // 파일저장
  1241. }
  1242. // //파일을 다운로드 하기 위해 저장할 창을 띄움
  1243. // var filesave = window.fileDialog("save","|",false,filenm,ext,"All Files(*.*)|*.*");
  1244. //
  1245. // //키값을 받아옴
  1246. // var getno = model.getValue("/root/main/iteminfo/genrno");
  1247. // var getdd = model.getValue("/root/main/iteminfo/genrdd");
  1248. //
  1249. // //키값을 가지고 DB에 저장된 데이타를 조회하러 간다
  1250. // if (filesave != "") {
  1251. // model.download(getActionURL("TRZSN00103")+"&genrno="+getno+"&genrdd="+getdd ,filesave);
  1252. // }
  1253. }
  1254. }
  1255. function cf_TRZSN00103(sSvcId, nErrorCode, sErrorMsg) {
  1256. if(nErrorCode < 0) return;
  1257. }
  1258. // 파일 다운로드시 해당 공지사항이 있는지 확인
  1259. function zsnfCheckNoticeInfo(){
  1260. // 서브밋전 정보세팅
  1261. ds_chk_file.clearData();
  1262. ds_chk_file.addRow();
  1263. ds_chk_file.setColumn(0, "genrdd", ds_iteminfo.getColumn(0, "genrdd"));
  1264. ds_chk_file.setColumn(0, "genrno", ds_iteminfo.getColumn(0, "genrno"));
  1265. // 서브밋
  1266. var oParam = {};
  1267. oParam.id = "TRZSN00104";
  1268. oParam.service = "noticeinfoapp.noticeinfo";
  1269. oParam.method = "reqGetNoticeInfo";
  1270. oParam.inds = "req=ds_chk_file";
  1271. oParam.outds = "ds_chk_file_result=noticeinfo";
  1272. oParam.async = false;
  1273. oParam.callback = "cf_TRZSN00104";
  1274. tranf_submit(oParam);
  1275. var cnt = ds_chk_file_result.getColumn(0, "cnt");
  1276. if(cnt == 0) // 등록된 자료없음
  1277. {
  1278. return false;
  1279. }
  1280. else
  1281. {
  1282. return true;
  1283. }
  1284. }
  1285. function cf_TRZSN00104(sSvcId, nErrorCode, sErrorMsg) {
  1286. if(nErrorCode < 0) return;
  1287. }
  1288. function btn_preview_onclick(obj:Button, e:ClickEventInfo)
  1289. {
  1290. var fso, folder;
  1291. var temp_path = "C:\\temp2";
  1292. var objActiveX = new ActiveX();
  1293. var FSO = objActiveX.createObject("Scripting.FileSystemObject");
  1294. // 객체 생성 실패하면 리턴
  1295. if (FSO == null)
  1296. {
  1297. return;
  1298. }
  1299. // 시스템 드라이브가 없다면..
  1300. if (FSO.DriveExists("C") == false)
  1301. {
  1302. return;
  1303. }
  1304. // 임시디렉토리가 없으면 생성
  1305. if (FSO.FolderExists(temp_path) == false)
  1306. {
  1307. folder = FSO.CreateFolder(temp_path);
  1308. }
  1309. //파일명를 받아옴
  1310. var getfilenm = ds_iteminfo.getColumn(0, "attfilenm");
  1311. //파일명이 있는 경우 다운로드
  1312. if(getfilenm == "")
  1313. {
  1314. return;
  1315. }
  1316. //파일명을 받아옴
  1317. var filenm = getfilenm;
  1318. //파일명의 확장자만 받아옴
  1319. var fileext = filenm.lastIndexOf(".");
  1320. var ext = filenm.substring(fileext +1, filenm.length);
  1321. ds_chk_file.clearData();
  1322. ds_chk_file.addRow();
  1323. ds_chk_file.setColumn(0, "genrdd", ds_iteminfo.getColumn(0, "genrdd"));
  1324. ds_chk_file.setColumn(0, "genrno", ds_iteminfo.getColumn(0, "genrno"));
  1325. var oParam = {};
  1326. oParam.id = "TRZSN00103";
  1327. oParam.service = "noticeinfoapp.noticeinfo";
  1328. oParam.method = "reqExeFileDownLoad";
  1329. oParam.inds = "req=ds_chk_file";
  1330. oParam.outds = "ds_filelist=filelist";
  1331. oParam.async = false;
  1332. oParam.callback = "cf_TRZSN00103";
  1333. tranf_submit(oParam);
  1334. dsf_readFileFromDs(temp_path+"\\"+filenm, ds_filelist, 0, "attfilecnts"); // 파일저장
  1335. system.execShell("\"" + temp_path + "\\" + filenm + "\"");
  1336. //window.exec(temp_path+"\\"+filenm, "");
  1337. objActiveX.destroy();
  1338. objActiveX = null;
  1339. }
  1340. function grd_notice_onvtracklast(obj:Grid, e:ScrollEventInfo)
  1341. {
  1342. in_ds_search.setColumn(0, "offset", ds_grd_notice.rowcount);
  1343. in_ds_search.setColumn(0, "pagesize", 6);
  1344. var oParam = {};
  1345. oParam.id = "TRZSN00101";
  1346. oParam.service = "noticeinfoapp.noticeinfo";
  1347. oParam.method = "reqGetNoticeList";
  1348. oParam.inds = "req=in_ds_search";
  1349. oParam.outds = "ds_grd_notice_temp=noticelist";
  1350. oParam.async = true;
  1351. oParam.progress = false;
  1352. oParam.callback = "cf_TRZSN00101";
  1353. tranf_submit(oParam);
  1354. }
  1355. ]]></Script>
  1356. </Form>
  1357. </FDL>