SSIRB00600_SAE(원외).xrw 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>SAE(원외)</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <reptdetl>
  11. <item>
  12. <instcd/>
  13. <subjid/>
  14. <reptseqno/>
  15. <judgappdg/>
  16. <reptkind/>
  17. <fstplanjudgdd/>
  18. <acptyn/>
  19. <acptdd/>
  20. <reptcls/>
  21. <trobreactcls/>
  22. <cnts1/>
  23. <cnts2/>
  24. <cnts3/>
  25. <acptdd/>
  26. <attfile/>
  27. <screenmenu/>
  28. <stdykind2/>
  29. <rc/>
  30. <resercnfmyn/>
  31. <resercnfmdd/>
  32. </item>
  33. <test>
  34. <subjid/>
  35. <reptkind/>
  36. <reptseqno/>
  37. <testeeid/>
  38. <instcd/>
  39. <testeenm/>
  40. <subtesteegndr/>
  41. <subtesteeht/>
  42. <subtesteebdwt/>
  43. <subtesteebrthdd/>
  44. </test>
  45. </reptdetl>
  46. </main>
  47. <send>
  48. <savedata>
  49. </savedata>
  50. <searchitem>
  51. <reptkind/>
  52. <subjid/>
  53. <instcd/>
  54. <reptseqno/>
  55. <consorflag/>
  56. <croinstcd/>
  57. </searchitem>
  58. <attach/>
  59. </send>
  60. <hidden/>
  61. <init>
  62. <hosp>
  63. <ret>
  64. <instcd/>
  65. <hospnm/>
  66. </ret>
  67. </hosp>
  68. </init>
  69. <rex>
  70. <view>
  71. <appformhead>
  72. <subjnm/>
  73. <subjno/>
  74. <hospnm/>
  75. <depthngnm/>
  76. <cdnm/>
  77. <usernm/>
  78. <hospcd/>
  79. <acptdd/>
  80. </appformhead>
  81. <irsdcollareser>
  82. <subjid/>
  83. <instcd/>
  84. <userid/>
  85. <userkind/>
  86. <usernm/>
  87. <posnm/>
  88. <jobposnm/>
  89. </irsdcollareser>
  90. <imcmreqinst>
  91. <cmpynm/>
  92. <prsdnm/>
  93. <jobposnm/>
  94. </imcmreqinst>
  95. </view>
  96. <reptdetl>
  97. <item>
  98. <instcd/>
  99. <subjid/>
  100. <reptseqno/>
  101. <judgappdg/>
  102. <reptkind/>
  103. <fstplanjudgdd/>
  104. <acptyn/>
  105. <acptdd/>
  106. <reptcls/>
  107. <trobreactcls/>
  108. <cnts1/>
  109. <cnts2/>
  110. <cnts3/>
  111. </item>
  112. <test>
  113. <subjid/>
  114. <reptkind/>
  115. <reptseqno/>
  116. <testeeid/>
  117. <instcd/>
  118. <testeenm/>
  119. <subtesteegndr/>
  120. <subtesteeht/>
  121. <subtesteebdwt/>
  122. <subtesteebrthdd/>
  123. </test>
  124. </reptdetl>
  125. <basesubjinfo>
  126. <basesubjinfo>
  127. <subjid/>
  128. <perchgrid/>
  129. <acptyn/>
  130. <judgkind/>
  131. <subjnm/>
  132. <subjpwd/>
  133. <clinictrgtflag/>
  134. <reqinstflag/>
  135. <stdycostsuppinst/>
  136. <stdycostsuppinstnm/>
  137. <itemnm/>
  138. <comnm/>
  139. <allidxcase/>
  140. <stdystartdd/>
  141. <stdyenddd/>
  142. <appdd/>
  143. <testeeaprvflag/>
  144. <relprstdata1/>
  145. <relprstdata2/>
  146. <relprstdata3/>
  147. <relprstdata4/>
  148. <relprstdata5/>
  149. <prstdataetc5/>
  150. <resercd/>
  151. <reqinstcd/>
  152. <concernrela/>
  153. <verplan/>
  154. <veraprv/>
  155. <vercrf/>
  156. <verib/>
  157. <consorflag/>
  158. <deptcd/>
  159. <reqcnfmyn/>
  160. <inqrgoal/>
  161. <trgtsick/>
  162. <inqrmthd/>
  163. <stdykind1/>
  164. <etctrgt1/>
  165. <stdykind2/>
  166. <etctrgt2/>
  167. <stdykind3/>
  168. <manynation/>
  169. <manyinst/>
  170. <cmcinstcnt/>
  171. <stdykind4/>
  172. <etctrgt4/>
  173. <stdytrgt/>
  174. <etctrgt/>
  175. <agenestdyflag/>
  176. <cellcurestdyyn/>
  177. <testeestat/>
  178. <fratesteeflag/>
  179. <stdyspcl1/>
  180. <stdyspcl2/>
  181. <stdyspcl3/>
  182. <stdyspcl4/>
  183. <stdyspcl5/>
  184. <stdyspcl6/>
  185. <stdyspcl7/>
  186. <examadjthosp/>
  187. <examadjtprf/>
  188. <allexamresppos/>
  189. <allexamrespnm/>
  190. <foodscrtgovpassyn/>
  191. <prmisnnatiyn/>
  192. <intermarketyn/>
  193. <judgkindcode/>
  194. </basesubjinfo>
  195. </basesubjinfo>
  196. <data>
  197. <a/>
  198. </data>
  199. </rex>
  200. <temp/>
  201. </root>
  202. </instance>
  203. <submission id="TRIRB00124" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/searchitem" replace="instance" resultref="/root/main/reptdetl"/>
  204. <submission id="TRIRB00122" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" resultref="/root/init/hosp"/>
  205. <submission id="TXIRB00121" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" replace="instance" resultref="/root/hidden"/>
  206. <submission id="TRIRS00131" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/searchitem" replace="instance" resultref="/root/rex/view"/>
  207. <submission id="TXIRB00122" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" replace="instance" resultref="/root/hidden"/>
  208. <submission id="TRIRS00132" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/searchitem" replace="instance" resultref="/root/rex/basesubjinfo"/>
  209. <submission id="TRIRS00135" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main"/>
  210. <submission id="TXIRS00189" mediatype="multipart/form-data" method="form-data-post" ref="/root/send" resultref="/root/hidden"/>
  211. <submission id="TXIRB00123" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/searchitem" replace="instance" resultref="/root/hidden"/>
  212. <submission id="TXIRB00124" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/searchitem" replace="instance" resultref="/root/hidden"/>
  213. <submission id="TXIRS00188" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  214. </model>
  215. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  216. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  217. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  218. <script type="javascript" ev:event="xforms-ready">
  219. <![CDATA[
  220. model.removeNodeset("/root/main/reptdetl/test");
  221. //권한이 없는경우 보고서 상단의 파일첨부,첨부삭제,임시저장,보고서접수 버튼 숨기기
  222. if ( opener.javascript.getParameter("actionyn") == "N" ) {
  223. ipt_filenm.visible = true;
  224. btn_fileatt.visible = false;
  225. btn_filedel.visible = false;
  226. btn_tmpsave.visible = false;
  227. btn_reptacpt.visible = false;
  228. btn_filedown.visible=true;
  229. button1.visible = false;
  230. }
  231. if ( parent.model.getValue("/root/send/report") == "Y" ) {
  232. ipt_filenm.visible = true;
  233. btn_fileatt.visible = false;
  234. btn_filedel.visible = false;
  235. btn_tmpsave.visible = false;
  236. btn_reptacpt.visible = false;
  237. btn_filedown.visible=true;
  238. button1.visible = false;
  239. }
  240. submit("TRIRB00122"); //병원 조회
  241. var consorflag = parent.model.getValue("/root/send/searchitem/consorflag");
  242. if ( consorflag == "Y") {
  243. model.setValue("/root/send/searchitem/consorflag", "Y");
  244. }
  245. model.setValue("/root/send/searchitem/instcd", parent.model.getValue("/root/send/searchitem2/instcd"));
  246. model.setValue("/root/send/searchitem/subjid", parent.model.getValue("/root/send/searchitem2/subjid"));
  247. model.setValue("/root/send/searchitem/reptseqno", parent.model.getValue("/root/send/searchitem2/reptseqno"));
  248. model.setValue("/root/send/searchitem/reptkind", parent.model.getValue("/root/send/searchitem2/reptkind"));
  249. //화면 오픈시 Y일 경우만 자동조회하고 Y가 아닐 경우는 빈 양식 오픈후 필수값만 세팅해준다.
  250. if ( parent.model.getValue("/root/send/searchitem2/autosrchyn") == "Y" ) {
  251. submit("TRIRB00124"); //SAE(원외) 내용 조회
  252. }
  253. model.setValue("/root/main/reptdetl/item/subjid", parent.model.getValue("/root/send/searchitem2/subjid"));
  254. model.setValue("/root/main/reptdetl/item/instcd", parent.model.getValue("/root/send/searchitem2/instcd"));
  255. model.setValue("/root/main/reptdetl/item/judgappdg", parent.model.getValue("/root/send/searchitem2/judgappdg"));
  256. //model.setValue("/root/main/reptdetl/item/subjno", parent.model.getValue("/root/send/searchitem2/subjno"));
  257. //model.setValue("/root/main/reptdetl/item/subjnm", parent.model.getValue("/root/send/searchitem2/subjnm"));
  258. model.setValue("/root/main/reptdetl/item/fstplanjudgdd", parent.model.getValue("/root/send/searchitem2/judgdd"));
  259. model.setValue("/root/main/reptdetl/item/screenmenu", parent.model.getValue("/root/init/screenmenu"));
  260. model.setValue("/root/main/reptdetl/item/stdykind2", parent.model.getValue("/root/send/searchitem2/stdykind2"));
  261. model.setValue("/root/main/reptdetl/item/rc", parent.model.getValue("/root/send/searchitem2/rc"));
  262. model.makeValue("/root/main/reptdetl/item/resercnfmyn", parent.model.getValue("/root/send/searchitem2/resercnfmyn"));
  263. model.setValue("/root/send/searchitem/croinstcd", parent.model.getValue("/root/send/searchitem2/croinstcd"));
  264. model.refresh();
  265. ]]>
  266. </script>
  267. </xhtml:head>
  268. <xhtml:body guideline="2,415;">
  269. <input id="ipt_judgappdg" ref="/root/main/reptdetl/item/judgappdg" class="input_default" disabled="true" style="left:107px; top:32px; width:100px; height:19px; "/>
  270. <caption id="caption40" class="cell_1" style="left:5px; top:230px; width:100px; height:28px; text-align:center; vertical-align:middle; ">연구자 인과관계 평가</caption>
  271. <caption id="caption30" class="cell_1" style="left:210px; top:30px; width:180px; height:23px; text-align:center; vertical-align:middle; ">최초임상시험 계획서 심사일자</caption>
  272. <caption id="caption31" class="cell_1" style="left:495px; top:30px; width:100px; height:23px; text-align:center; vertical-align:middle; ">선택된병원</caption>
  273. <datagrid id="grd_test" nodeset="/root/main/reptdetl/test" caption="^^^^피험자번호^피험자약자^성별^생년월일^키 CM^몸무게 Kg" colsep="^" colwidth="0, 0, 0, 0, 110, 100, 90, 108, 85, 93" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:5px; top:80px; width:610px; height:75px; ">
  274. <col ref="subjid" visibility="hidden"/>
  275. <col ref="reptkind" visibility="hidden"/>
  276. <col ref="reptseqno" visibility="hidden"/>
  277. <col ref="instcd" visibility="hidden"/>
  278. <col ref="testeeid" type="input" maxlength="30"/>
  279. <col ref="testeenm" type="input" maxlength="30"/>
  280. <col class="gridcombo" ref="subtesteegndr" type="combo" style="text-align:center; ">
  281. <choices>
  282. <item>
  283. <label>남</label>
  284. <value>M</value>
  285. </item>
  286. <item>
  287. <label>여</label>
  288. <value>F</value>
  289. </item>
  290. </choices>
  291. </col>
  292. <col ref="subtesteebrthdd" type="inputdate"/>
  293. <col ref="subtesteeht" type="input" maxlength="10" style="text-align:right; "/>
  294. <col ref="subtesteebdwt" type="input" maxlength="10" style="text-align:right; "/>
  295. </datagrid>
  296. <button id="btn_rowadd" class="btn2_letter3" _auth="X" style="left:504px; top:60px; width:53px; height:19px; ">
  297. <caption>행추가</caption>
  298. <script type="javascript" ev:event="DOMActivate">
  299. <![CDATA[
  300. grd_test.addRow();
  301. model.setValue("/root/main/reptdetl/test["+ grd_test.row +"]/instcd", model.getValue("/root/send/searchitem/instcd"));
  302. model.setValue("/root/main/reptdetl/test["+ grd_test.row +"]/subjid", model.getValue("/root/send/searchitem/subjid"));
  303. //해당 보고서가 신규작성일 경우 보고서일련번호가 없으므로 최초시작번호인 1로 셋팅한다.
  304. if ( model.getValue("/root/send/searchitem/reptseqno") != "" ) {
  305. model.setValue("/root/main/reptdetl/test["+ grd_test.row +"]/reptseqno", model.getValue("/root/send/searchitem/reptseqno"));
  306. } else {
  307. model.setValue("/root/main/reptdetl/test["+ grd_test.row +"]/reptseqno", 1);
  308. }
  309. model.setValue("/root/main/reptdetl/test["+ grd_test.row +"]/reptkind", "4"); //보고서종류=SAE(원외)(4)
  310. ]]>
  311. </script>
  312. </button>
  313. <button id="btn_rowdel" class="btn2_letter3" _auth="X" style="left:559px; top:60px; width:53px; height:19px; ">
  314. <caption>행삭제</caption>
  315. <script type="javascript" ev:event="DOMActivate">
  316. <![CDATA[
  317. grd_test.deleterow(grd_test.row);
  318. ]]>
  319. </script>
  320. </button>
  321. <caption id="caption32" class="cell_1" style="left:700px; top:30px; width:100px; height:23px; text-align:center; vertical-align:middle; ">접수여부</caption>
  322. <caption id="caption33" class="tit_2" style="left:10px; top:62px; width:140px; height:13px; ">피험자 정보</caption>
  323. <caption id="caption34" class="tit_2" style="left:10px; top:162px; width:140px; height:13px; ">이상 약물 반응</caption>
  324. <input id="ipt_cnts1" ref="/root/main/reptdetl/item/cnts1" class="input_default" style="left:340px; top:182px; width:275px; height:19px; "/>
  325. <caption id="caption35" class="cell_1" style="left:5px; top:180px; width:100px; height:23px; text-align:center; vertical-align:middle; ">보고분류</caption>
  326. <caption id="caption36" class="cell_1" style="left:209px; top:180px; width:129px; height:23px; text-align:center; vertical-align:middle; ">Report No/ Patient No</caption>
  327. <line id="line17" class="line_1" style="x1:5px; y1:28px; x2:1070px; y2:27px; "/>
  328. <line id="line18" class="line_3" style="x1:5px; y1:54px; x2:1070px; y2:54px; "/>
  329. <select1 id="cmb_instcd" ref="/root/main/reptdetl/item/instcd" class="combo_search" disabled="true" appearance="minimal" style="left:598px; top:32px; width:100px; height:19px; ">
  330. <choices>
  331. <itemset nodeset="/root/init/hosp/ret">
  332. <label ref="hospnm"/>
  333. <value ref="instcd"/>
  334. </itemset>
  335. </choices>
  336. </select1>
  337. <line id="line19" class="line_3" style="x1:5px; y1:177px; x2:615px; y2:177px; "/>
  338. <caption id="caption38" class="cell_1" style="left:5px; top:205px; width:100px; height:23px; text-align:center; vertical-align:middle; ">이상반응분류</caption>
  339. <select1 id="cmb_acptyn" ref="/root/main/reptdetl/item/acptyn" class="combo_search" disabled="true" appearance="minimal" style="left:803px; top:32px; width:100px; height:19px; ">
  340. <choices>
  341. <item>
  342. <label>접수</label>
  343. <value>Y</value>
  344. </item>
  345. <item>
  346. <label>미접수</label>
  347. <value>N</value>
  348. </item>
  349. </choices>
  350. </select1>
  351. <caption id="caption39" class="cell_1" style="left:5px; top:260px; width:610px; height:23px; text-align:center; vertical-align:middle; ">이상반응내용</caption>
  352. <button id="button11" class="btn2_letter13" _auth="P" style="left:909px; top:32px; width:163px; height:19px; ">
  353. <caption>이상반응 보고서(원외용) 출력</caption>
  354. <script type="javascript" ev:event="DOMActivate">
  355. <![CDATA[
  356. if(submit("TRIRS00131")) {
  357. submit("TRIRS00132");
  358. model.copyNode("/root/rex/reptdetl", "/root/main/reptdetl");
  359. var testeeid = "";
  360. var testeenm ="";
  361. var data = "";
  362. for ( var i =1; i < grd_test.rows; i++ ) {
  363. testeeid = model.getValue("/root/main/reptdetl/test["+i+"]/testeeid");
  364. testeenm = model.getValue("/root/main/reptdetl/test["+i+"]/testeenm");
  365. data += testeeid + "/" + testeenm + "\n";
  366. }
  367. model.makeValue("/root/rex/view/appformhead/data", data);
  368. if ( model.getValue("/root/main/reptdetl/item/apctdd") != '') {
  369. model.makeValue("/root/rex/view/appformhead/acptdd", model.getValue("/root/main/reptdetl/item/apctdd"));
  370. } else {
  371. model.makeValue("/root/rex/view/appformhead/acptdd", getCurrentDate());
  372. }
  373. var data = model.getValue("/root/rex/reptdetl/item/cnts2");
  374. var j = 0;
  375. var p = 0;
  376. var k = 0;
  377. if ( data.indexOf("\n",p ) >=0 ){
  378. while ( (j = data.indexOf("\n",p ))>=0){
  379. var sdata = data.substring( p, j );
  380. p = j + 1;
  381. k = k + 1;
  382. model.makeValue("/root/rex/reptdetl/item[1]/cnts2info["+k+"]/cnts2", sdata.replace("\n","") );
  383. }
  384. if ( p<data.length){ // 제일 마지막 엔터 뒤 문장 처리
  385. var sdata = data.substring( p, data.length );
  386. k = k + 1;
  387. model.makeValue("/root/rex/reptdetl/item[1]/cnts2info["+k+"]/cnts2", sdata.replace("\n","") );
  388. }
  389. } else { //엔터없을때 처리
  390. k = k + 1;
  391. model.makeNode("/root/rex/reptdetl");
  392. model.makeValue("/root/rex/reptdetl/item[1]/cnts2info["+k+"]/cnts2", data);
  393. }
  394. exeReportPreview("PSIRB00600", "XMLSTR" , "/root/rex");
  395. }
  396. ]]>
  397. </script>
  398. </button>
  399. <caption id="caption28" class="cell_1" style="left:5px; top:30px; width:100px; height:23px; text-align:center; vertical-align:middle; ">심사차수</caption>
  400. <textarea id="tar_cnts2" ref="/root/main/reptdetl/item/cnts2" style="left:5px; top:285px; width:610px; height:125px; "/>
  401. <input id="ipt_fstplanjudgdd" ref="/root/main/reptdetl/item/fstplanjudgdd" class="input_search" disabled="true" inputtype="date" style="left:392px; top:32px; width:100px; height:19px; "/>
  402. <select1 id="cmb_reptcls" ref="/root/main/reptdetl/item/reptcls" class="combo_search" appearance="minimal" style="left:107px; top:182px; width:88px; height:19px; ">
  403. <choices>
  404. <item>
  405. <label>초회분류</label>
  406. <value>1</value>
  407. </item>
  408. <item>
  409. <label>추적보고</label>
  410. <value>2</value>
  411. </item>
  412. </choices>
  413. </select1>
  414. <select1 id="cmb_trobreactcls" ref="/root/main/reptdetl/item/trobreactcls" class="combo_search" appearance="minimal" style="left:107px; top:208px; width:508px; height:19px; ">
  415. <choices>
  416. <item>
  417. <label>사망</label>
  418. <value>1</value>
  419. </item>
  420. <item>
  421. <label>생명을 위협하는 경우</label>
  422. <value>2</value>
  423. </item>
  424. <item>
  425. <label>입원 또는 입원 기간의 연장이 필요한 경우</label>
  426. <value>3</value>
  427. </item>
  428. <item>
  429. <label>지속적 또는 의미있는 불구나 기능저하를 초래하는 경우</label>
  430. <value>4</value>
  431. </item>
  432. <item>
  433. <label>선천적 기형 또는 이상을 초래하는 경우</label>
  434. <value>5</value>
  435. </item>
  436. <item>
  437. <label>기타 의학적으로 중요한 경우</label>
  438. <value>6</value>
  439. </item>
  440. </choices>
  441. </select1>
  442. <button id="btn_filedel" class="btn5_letter4" _auth="X" style="left:818px; top:5px; width:64px; height:19px; ">
  443. <caption>첨부삭제</caption>
  444. <script type="javascript" ev:event="onclick">
  445. <![CDATA[
  446. //접수 후 수정불가
  447. if ( model.getValue("/root/main/reptdetl/item/acptyn") == "Y" ) {
  448. messageBox("이미 접수되어 저장 또는 수정", "E001");
  449. return;
  450. } else {
  451. if (submit("TXIRS00188")) {
  452. messageBox("첨부파일이 삭제되었습니다.","I999");
  453. model.refresh();
  454. }
  455. }
  456. if ( model.getValue("/root/hidden/ret/reptseqno") != '' ) {
  457. submit("TRIRB00124"); //SAE(원외) 내용 조회
  458. }
  459. ]]>
  460. </script>
  461. </button>
  462. <input id="ipt_filenm" ref="/root/main/reptdetl/item/attfile" class="input_default" style="left:550px; top:5px; width:200px; height:19px; "/>
  463. <button id="btn_fileatt" class="btn2_letter4" _auth="X" style="left:752px; top:5px; width:64px; height:19px; ">
  464. <caption>파일첨부</caption>
  465. <script type="javascript" ev:event="onclick">
  466. <![CDATA[
  467. if ( model.getValue("/root/main/reptdetl/item/acptyn") == '' ) {
  468. messageBox("임시저장 후 첨부파일을 올리세요", "I");
  469. return;
  470. }
  471. var maxsize = upload1.attribute("filesize");
  472. files = window.fileDialog("open", "|", true);
  473. filelist = files.split("|");
  474. for(var i = 0 ; i < filelist.length ; i++ ) {
  475. grd_attach.addRow(false);
  476. grd_attach.valueMatrix(grd_attach.rows - 1, 0) = filelist[i];
  477. if (!checkFileSize(upload1)){
  478. grd_attach.removeItem();
  479. messageBox("파일 크기가 최대치("+maxsize+"Byte)를", "E003");
  480. return;
  481. }
  482. }
  483. if ( filelist[0] != "") {
  484. if (submit("TXIRS00189")) {
  485. messageBox("Upload가 성공적으로 이루어졌습니다.","I999");
  486. model.removeNodeset("/root/send/attach");
  487. parent.model.setValue("/root/temp/ivieweryn", "N"); //중간보고서 iviewer 호출 여부 = N
  488. parent.btn_report4.selected = true;
  489. parent.btn_report4.dispatch("DOMActivate");
  490. model.refresh();
  491. }
  492. }
  493. submit("TRIRB00124"); //SAE(원외) 내용 조회
  494. model.setValue("/root/main/reptdetl/item/subjid", parent.model.getValue("/root/send/searchitem2/subjid"));
  495. model.setValue("/root/main/reptdetl/item/instcd", parent.model.getValue("/root/send/searchitem2/instcd"));
  496. model.setValue("/root/main/reptdetl/item/judgappdg", parent.model.getValue("/root/send/searchitem2/judgappdg"));
  497. model.setValue("/root/main/reptdetl/item/roothospidxcasecnt", parent.model.getValue("/root/send/searchitem2/roothospidxcasecnt"));
  498. model.setValue("/root/main/reptdetl/item/subjno", parent.model.getValue("/root/send/searchitem2/subjno"));
  499. model.setValue("/root/main/reptdetl/item/subjnm", parent.model.getValue("/root/send/searchitem2/subjnm"));
  500. model.setValue("/root/main/reptdetl/item/fstplanjudgdd", parent.model.getValue("/root/send/searchitem2/judgdd"));
  501. model.setValue("/root/main/reptdetl/item/screenmenu", parent.model.getValue("/root/init/screenmenu"));
  502. model.setValue("/root/main/reptdetl/item/stdykind2", parent.model.getValue("/root/send/searchitem2/stdykind2"));
  503. model.setValue("/root/main/reptdetl/item/rc", parent.model.getValue("/root/send/searchitem2/rc"));
  504. model.refresh();
  505. ]]>
  506. </script>
  507. </button>
  508. <button id="btn_tmpsave" class="btn2_letter4" _auth="X" style="left:885px; top:5px; width:64px; height:19px; ">
  509. <caption>임시저장</caption>
  510. <script type="javascript" ev:event="DOMActivate">
  511. <![CDATA[
  512. //접수 후 수정불가
  513. if ( model.getValue("/root/main/reptdetl/item/acptyn") == "Y" ) {
  514. messageBox("이미 접수되어 저장 또는 수정", "E001");
  515. return;
  516. }
  517. var reptseqno = model.getValue("/root/hidden/ret/reptseqno");
  518. if ( reptseqno != '') {
  519. model.setValue("/root/main/reptdetl/item/reptseqno", model.getValue("/root/hidden/ret/reptseqno"));
  520. }
  521. model.copyNode("/root/send/savedata", "/root/main/reptdetl/item");
  522. model.setValue("/root/send/savedata/reptkind", "4"); //보고서종류=SAE(원외)(4)
  523. model.setValue("/root/send/savedata/acptyn", "N"); //접수여부=미접수(N)
  524. model.makeValue("/root/send/savedata/croinstcd", model.getValue("/root/send/searchitem/croinstcd"));
  525. model.makeValue("/root/send/savedata/judgkind", "N"); //심의종류
  526. for ( i = 1; i < grd_test.rows; i++ ) {
  527. model.setValue("/root/main/reptdetl/test["+ i +"]/reptseqno", model.getValue("/root/send/searchitem/reptseqno"));
  528. }
  529. var update1 = instance1.selectNodes("/root/main/reptdetl/test");
  530. var rCSV1 = getNodeListCSV(update1);
  531. if ( rCSV1 != null ) {
  532. for ( i = 1; i < grd_test.rows; i++ ) {
  533. if ( model.getValue("/root/main/reptdetl/test["+ i +"]/testeeid") == "" ) {
  534. messageBox("피험자번호를", "C001");
  535. return;
  536. }
  537. }
  538. model.makeNode("/root/send/savedata/test");
  539. model.setValue("/root/send/savedata/test", rCSV1);
  540. }
  541. if (model.getValue("/root/send/searchitem/consorflag") == 'Y') {
  542. submit("TXIRB00122");
  543. } else {
  544. submit("TXIRB00121");
  545. }
  546. grd_test.clearStatus();
  547. model.resetInstanceNode("/root/send/savedata");
  548. model.removenode("/root/send/savedata/test");
  549. model.setValue("/root/main/reptdetl/item/acptyn", "N"); //접수여부를 미접수로 보여줌.
  550. model.setValue( "/root/send/searchitem/reptseqno",model.getValue("/root/hidden/ret/reptseqno"));
  551. model.refresh();
  552. parent.model.setValue("/root/temp/ivieweryn", "N"); //SAE(원외) iviewer 호출 여부 = N
  553. parent.btn_report4.selected = true;
  554. parent.btn_report4.dispatch("DOMActivate");
  555. model.removeNodeset("/root/send/savedata");
  556. model.makeNode("/root/send/savedata");
  557. ]]>
  558. </script>
  559. </button>
  560. <button id="btn_reptacpt" class="btn2_letter5" _auth="X" style="left:997px; top:5px; width:75px; height:19px; ">
  561. <caption>보고서접수</caption>
  562. <script type="javascript" ev:event="DOMActivate">
  563. <![CDATA[
  564. //접수 후 수정불가
  565. if ( model.getValue("/root/main/reptdetl/item/acptyn") == "Y" ) {
  566. messageBox("이미 접수되어 저장 또는 수정", "E001");
  567. return;
  568. }
  569. var reptseqno = model.getValue("/root/hidden/ret/reptseqno");
  570. if ( reptseqno != '') {
  571. model.setValue("/root/main/reptdetl/item/reptseqno", model.getValue("/root/hidden/ret/reptseqno"));
  572. }
  573. model.copyNode("/root/send/savedata", "/root/main/reptdetl/item");
  574. model.setValue("/root/send/savedata/reptkind", "4"); //보고서종류=SAE(원외)(4)
  575. model.setValue("/root/send/savedata/acptyn", "Y"); //접수여부=접수(Y)
  576. model.setValue("/root/send/savedata/acptdd", getCurrentDate()); //접수일=오늘날짜
  577. model.makeValue("/root/send/savedata/croinstcd", model.getValue("/root/send/searchitem/croinstcd"));
  578. model.makeValue("/root/send/savedata/judgkind", "N"); //심의종류
  579. for ( i = 1; i < grd_test.rows; i++ ) {
  580. model.setValue("/root/main/reptdetl/test["+ i +"]/reptseqno", model.getValue("/root/send/searchitem/reptseqno"));
  581. }
  582. var update1 = instance1.selectNodes("/root/main/reptdetl/test");
  583. var rCSV1 = getNodeListCSV(update1);
  584. if ( rCSV1 != null ) {
  585. for ( i = 1; i < grd_test.rows; i++ ) {
  586. if ( model.getValue("/root/main/reptdetl/test["+ i +"]/testeeid") == "" ) {
  587. messageBox("피험자번호를", "C001");
  588. return;
  589. }
  590. }
  591. model.makeNode("/root/send/savedata/test");
  592. model.setValue("/root/send/savedata/test", rCSV1);
  593. }
  594. if (model.getValue("/root/send/searchitem/consorflag") == 'Y') {
  595. submit("TXIRB00122");
  596. } else {
  597. submit("TXIRB00121");
  598. }
  599. model.resetInstanceNode("/root/send/savedata");
  600. model.removenode("/root/send/savedata/test");
  601. model.setValue("/root/main/reptdetl/item/acptyn", "Y"); //접수여부를 접수로 보여줌.
  602. model.setValue( "/root/send/searchitem/reptseqno",model.getValue("/root/hidden/ret/reptseqno"));
  603. model.refresh();
  604. parent.model.setValue("/root/temp/ivieweryn", "N"); //SAE(원외) iviewer 호출 여부 = N
  605. parent.btn_report4.selected = true;
  606. parent.btn_report4.dispatch("DOMActivate");
  607. model.removeNodeset("/root/send/savedata");
  608. model.makeNode("/root/send/savedata");
  609. ]]>
  610. </script>
  611. </button>
  612. <caption id="caption7" class="tit_2" style="left:10px; top:10px; width:140px; height:14px; ">SAE(원외)</caption>
  613. <button id="btn_filedown" class="btn2_letter4" visibility="hidden" _auth="R" style="left:755px; top:5px; width:64px; height:19px; ">
  614. <caption>내려받기</caption>
  615. <script type="javascript" ev:event="DOMActivate">
  616. <![CDATA[
  617. var s = model.getValue("/root/main/reptdetl/item/attfile");
  618. var ss = s.split("/");
  619. var filepath = "";
  620. var filenm = "";
  621. for ( var i = 0; i < ss.length; i ++){
  622. if ( i < ss.length -2 ) {
  623. filepath = filepath+ss[i] +"/";
  624. } else if ( i < ss.length -1 ) {
  625. filepath = filepath+ss[i] ;
  626. } else {
  627. filenm = ss[i];
  628. }
  629. }
  630. var localfile = window.fileDialog("save","|",false,filenm,"","All Files(*.*)|*.*");
  631. if (localfile != "") {
  632. model.download(getActionURL("TRIRS00135")+"&filepath="+filepath,localfile);
  633. var rtn = messageBox("파일을", "Q004");
  634. if( rtn == 6 ) {
  635. window.exec(localfile);
  636. }
  637. }
  638. ]]>
  639. </script>
  640. </button>
  641. <upload id="upload1" nodeset="/root/send/attach/file" ext="zip" filecount="5" filesize="52428800" validate="true" style="left:695px; top:70px; width:100px; height:20px; "/>
  642. <datagrid id="grd_attach" nodeset="/root/send/attach" visibility="hidden" caption="파일경로^" colwidth="644" extendlastcol="scroll" mergecellsfixedrows="bycolrec" style="left:10px; top:295px; width:665px; height:150px; ">
  643. <col ref="file"/>
  644. </datagrid>
  645. <button id="button1" class="btn5_letter2" _auth="X" style="left:952px; top:5px; width:42px; height:19px; ">
  646. <caption>삭제</caption>
  647. <script type="javascript" ev:event="DOMActivate">
  648. <![CDATA[
  649. //접수 후 수정불가
  650. if ( model.getValue("/root/main/reptdetl/item/acptyn") == "Y" ) {
  651. messageBox("이미 접수되어 저장 또는 수정", "E001");
  652. return;
  653. }
  654. var reptseqno = model.getValue("/root/hidden/ret/reptseqno");
  655. if ( reptseqno != '') {
  656. model.setValue("/root/main/reptdetl/item/reptseqno", model.getValue("/root/hidden/ret/reptseqno"));
  657. }
  658. if (model.getValue("/root/send/searchitem/consorflag") == 'Y') {
  659. submit("TXIRB00124");
  660. } else {
  661. submit("TXIRB00123");
  662. }
  663. model.refresh();
  664. parent.model.setValue("/root/temp/ivieweryn", "N"); //SAE(원외) iviewer 호출 여부 = N
  665. parent.btn_report4.selected = true;
  666. parent.btn_report4.dispatch("DOMActivate");
  667. ]]>
  668. </script>
  669. </button>
  670. <select1 id="combo1" ref="/root/main/reptdetl/item/cnts3" class="combo_search" appearance="minimal" style="left:107px; top:235px; width:508px; height:19px; ">
  671. <choices>
  672. <item>
  673. <label>관련성이 명백함</label>
  674. <value>1</value>
  675. </item>
  676. <item>
  677. <label>관련성이 많음</label>
  678. <value>2</value>
  679. </item>
  680. <item>
  681. <label>관련성이 의심됨</label>
  682. <value>3</value>
  683. </item>
  684. <item>
  685. <label>관련성이 적음</label>
  686. <value>4</value>
  687. </item>
  688. <item>
  689. <label>관련성이 없음</label>
  690. <value>5</value>
  691. </item>
  692. <item>
  693. <label>평가 불가능</label>
  694. <value>6</value>
  695. </item>
  696. </choices>
  697. </select1>
  698. <caption id="caption1" style="left:635px; top:95px; width:430px; height:105px; font-size:10pt; font-weight:bold; color:#ff0000; vertical-align:top; line-spacing:9; ">
  699. <![CDATA[** 원외 이상반응보고가 2건 이상인 경우에는 따로 작성하지 마시고, '이상반응내용' 입력란에 이상반응 여러 건을 한 번에 입력하여 주시기 바랍니다. (2건 이상의 보고를 한 번에 접수 가능)
  700. 각 건당 필수입력사항은 아래와 같습니다.
  701. ]]>
  702. </caption>
  703. <caption id="caption2" style="left:645px; top:205px; width:405px; height:144px; font-size:10pt; font-weight:bold; color:#0000ff; vertical-align:top; line-spacing:9; ">
  704. <![CDATA[1. Report No./Patient No..
  705. 2. 보고분류(초회/추적),
  706. 3. 이상반응분류(심각도에 따른 6가지 분류 중 한 가지 선택)
  707. 4. 이상반응명
  708. 5. 연구자인과관계평가
  709. ]]>
  710. </caption>
  711. </xhtml:body>
  712. </xhtml:html>