SMAEA03900_결과관리및조회(사이버나이프).xrw 100 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>CyberKnife결과관리및조회</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <patpsn>
  11. <patpsninfo>
  12. <pid/>
  13. <hngnm/>
  14. <instcd/>
  15. <iogb/>
  16. <mpphon/>
  17. <sex/>
  18. <age/>
  19. <rrgstno/>
  20. <homedetladdr/>
  21. <ckno/>
  22. <cknoseq/>
  23. <mpphontel/>
  24. <hometel/>
  25. </patpsninfo>
  26. </patpsn>
  27. <carerecinfo>
  28. <carerecmat>
  29. <ckno/>
  30. <cknoseq/>
  31. <cybplanimg/>
  32. <fiducialdd/>
  33. <fiducialhh/>
  34. <fiducialmm/>
  35. <rayphodd1/>
  36. <rayphohh1/>
  37. <rayphomm1/>
  38. <rayphodd2/>
  39. <rayphohh2/>
  40. <rayphomm2/>
  41. <reqdeptcd1/>
  42. <reqdrid1/>
  43. <reqdeptcd2/>
  44. <reqdrid2/>
  45. <execdeptcd1/>
  46. <execdrid1/>
  47. <execdeptcd2/>
  48. <execdrid2/>
  49. <pid/>
  50. <instcd/>
  51. <iudgb/>
  52. <curedd/>
  53. <reqinstcd/>
  54. <reqinstcd2/>
  55. <exeinstcd/>
  56. <exeinstcd2/>
  57. <reqinstcdhg/>
  58. <reqdeptcdhg/>
  59. <reqdridhg/>
  60. <reqinstcd2hg/>
  61. <reqdeptcd2hg/>
  62. <reqdrid2hg/>
  63. <exeinstcdhg/>
  64. <execdeptcdhg/>
  65. <execdridhg/>
  66. <exeinstcd2hg/>
  67. <execdeptcd2hg/>
  68. <execdrid2hg/>
  69. </carerecmat>
  70. <caresumdetl>
  71. <seq/>
  72. <curepartcnt/>
  73. <curefromdd/>
  74. <curetodd/>
  75. <cktype/>
  76. <tumkind/>
  77. <partgrupcd/>
  78. <partcd/>
  79. <diagnm/>
  80. <diagcd/>
  81. <cklocation/>
  82. <curecnt/>
  83. <memo/>
  84. <ckno/>
  85. <cknoseq/>
  86. <pid/>
  87. </caresumdetl>
  88. <carerecdetl>
  89. <curepartcnt/>
  90. <pxseq/>
  91. <fx/>
  92. <seq/>
  93. <cureldd/>
  94. <bp/>
  95. <pulse/>
  96. <breth/>
  97. <bdtp/>
  98. <memo/>
  99. <ckno/>
  100. <cknoseq/>
  101. </carerecdetl>
  102. </carerecinfo>
  103. <treatmentsum>
  104. <treatmentinfo>
  105. <diagnm1/>
  106. <diagnm2/>
  107. <diagnm3/>
  108. <pathology1/>
  109. <pathology2/>
  110. <pathology3/>
  111. <pretx/>
  112. <previous1/>
  113. <previous2/>
  114. <previous3/>
  115. <mdremark/>
  116. <ckno/>
  117. <cknoseq/>
  118. <trseq/>
  119. <test/>
  120. </treatmentinfo>
  121. </treatmentsum>
  122. <treatmentsuminfo>
  123. <treatmentlist>
  124. <check/>
  125. <image/>
  126. <curepartcnt/>
  127. <curefromdd/>
  128. <diagnm/>
  129. <cklocation/>
  130. <ckposition/>
  131. <isodose/>
  132. <mvdose/>
  133. <colsize/>
  134. <fracdose/>
  135. <fraction/>
  136. <totdose/>
  137. <elapday/>
  138. <targetvol/>
  139. <brthtime/>
  140. <fidutot/>
  141. <fiduuse/>
  142. <image/>
  143. <ckno/>
  144. <cknoseq/>
  145. <trseq/>
  146. <pretx/>
  147. <remark/>
  148. <statflag/>
  149. <statflaghg/>
  150. <fx/>
  151. <curedd/>
  152. <grupcd/>
  153. <confrtt/>
  154. <confphy/>
  155. <confmd/>
  156. <sortseq/>
  157. <formrecseq/>
  158. </treatmentlist>
  159. </treatmentsuminfo>
  160. <printdatalist>
  161. <printdata>
  162. <rn/>
  163. <ckno/>
  164. <cknoseq/>
  165. <curefromdd/>
  166. <diagnm/>
  167. <cklocation/>
  168. <isodose/>
  169. <mvdose/>
  170. <colsize/>
  171. <tfe/>
  172. <totdose/>
  173. <fracdose/>
  174. <fraction/>
  175. <elapday/>
  176. <targetvol/>
  177. <brthtime/>
  178. <fidu/>
  179. <fx/>
  180. <curedd/>
  181. <confrttid/>
  182. <confphyid/>
  183. <confmdid/>
  184. <grupcd/>
  185. <sortseq/>
  186. </printdata>
  187. </printdatalist>
  188. <patinfo>
  189. <patinfolist/>
  190. </patinfo>
  191. <imgsend>
  192. <filepath/>
  193. </imgsend>
  194. <list>
  195. <attachlist>
  196. <instcd/>
  197. <ckno/>
  198. <cknoseq/>
  199. <filename/>
  200. <filepath/>
  201. <filesize/>
  202. <filetype/>
  203. <fstrgstrid/>
  204. <fstrgstdt/>
  205. <lastupdtrid/>
  206. <lastupdtdt/>
  207. </attachlist>
  208. </list>
  209. <codelist/>
  210. </main>
  211. <send>
  212. <reqdata>
  213. <pid/>
  214. <ckno/>
  215. <cknoseq/>
  216. <rtno/>
  217. <trseq/>
  218. <gb/>
  219. <statflag/>
  220. <srchflag/>
  221. <basecdflag>G</basecdflag>
  222. <basesuppdeptcd/>
  223. </reqdata>
  224. <globalinstance>
  225. <instance1/>
  226. </globalinstance>
  227. <req>
  228. <data>
  229. <attach>
  230. <file/>
  231. </attach>
  232. <ckno/>
  233. <cknoseq/>
  234. </data>
  235. <data2/>
  236. </req>
  237. <treatmentinfo/>
  238. <popdata>
  239. <pid/>
  240. <ckno/>
  241. <cknoseq/>
  242. </popdata>
  243. <comcd>
  244. <grupcdid/>
  245. </comcd>
  246. <data/>
  247. </send>
  248. <init>
  249. <cmb_info>
  250. <seqinfo>
  251. <cknoseq/>
  252. <cknoseqnm/>
  253. </seqinfo>
  254. </cmb_info>
  255. <cmb_info1>
  256. <partgrupcdlist>
  257. <basecd/>
  258. <basecdflagdesc/>
  259. </partgrupcdlist>
  260. <partcdlist>
  261. <basecd/>
  262. <basecdflagdesc/>
  263. </partcdlist>
  264. </cmb_info1>
  265. <cmbinfo>
  266. <instcd>
  267. <Z0007>
  268. <cdid/>
  269. <cdnm/>
  270. </Z0007>
  271. </instcd>
  272. </cmbinfo>
  273. <userlist>
  274. <usercombo>
  275. <userid/>
  276. <usernm/>
  277. </usercombo>
  278. </userlist>
  279. <userlist1>
  280. <usercombo>
  281. <userid/>
  282. <usernm/>
  283. </usercombo>
  284. </userlist1>
  285. <tempdata>
  286. <pidinfo>
  287. <pid/>
  288. </pidinfo>
  289. </tempdata>
  290. <cmb_cdinfo>
  291. <targetnolist>
  292. <basecd/>
  293. <basecdflagdesc/>
  294. </targetnolist>
  295. <cktypelist>
  296. <basecd/>
  297. <basecdflagdesc/>
  298. </cktypelist>
  299. <tumorkindlist>
  300. <basecd/>
  301. <basecdflagdesc/>
  302. </tumorkindlist>
  303. <lesionlist>
  304. <basecd/>
  305. <basecdflagdesc/>
  306. </lesionlist>
  307. <tumortypelist>
  308. <basecd/>
  309. <basecdflagdesc/>
  310. </tumortypelist>
  311. <diagcdlist>
  312. <basecd/>
  313. <basecdflagdesc/>
  314. </diagcdlist>
  315. <locationlist>
  316. <basecd/>
  317. <basecdflagdesc/>
  318. </locationlist>
  319. <fractiontypelist>
  320. <basecd/>
  321. <basecdflagdesc/>
  322. </fractiontypelist>
  323. <ckpositionlist>
  324. <basecd/>
  325. <basecdflagdesc/>
  326. </ckpositionlist>
  327. <collimatorlist>
  328. <basecd/>
  329. <basecdflagdesc/>
  330. </collimatorlist>
  331. </cmb_cdinfo>
  332. <cmb_cc>
  333. <ccid/>
  334. <ccnm/>
  335. </cmb_cc>
  336. </init>
  337. <hidden>
  338. <count/>
  339. <instlist/>
  340. <reqinoutorddeptlist/>
  341. <exeinoutorddeptlist/>
  342. <reqinoutorddeptdoctorlist1/>
  343. <reqinoutorddeptdoctorlist2/>
  344. <exeinoutorddeptdoctorlist1/>
  345. <exeinoutorddeptdoctorlist2/>
  346. <source>
  347. <srchcond/>
  348. <pid/>
  349. <hngnm/>
  350. <rrgstno1/>
  351. <rrgstno2/>
  352. <acptdd/>
  353. </source>
  354. <medirec>
  355. <reclist>
  356. <cdid/>
  357. <cdnm/>
  358. </reclist>
  359. <eqmtifynlist>
  360. <eqmtifimgyn/>
  361. <execprcpuniqno/>
  362. </eqmtifynlist>
  363. </medirec>
  364. </hidden>
  365. <hidden1>
  366. <orddeptlist>
  367. <dept>
  368. <deptcd/>
  369. <depthngnm/>
  370. </dept>
  371. </orddeptlist>
  372. <userlist>
  373. <usercombo>
  374. <userid/>
  375. <usernm/>
  376. </usercombo>
  377. </userlist>
  378. <userlist1>
  379. <usercombo>
  380. <userid/>
  381. <usernm/>
  382. </usercombo>
  383. </userlist1>
  384. </hidden1>
  385. <hidden2>
  386. <popupmenu>
  387. <menu>
  388. <label>MD승인</label>
  389. <func>MdAppFunc</func>
  390. </menu>
  391. <menu>
  392. <label>MD승인취소</label>
  393. <func>MdAppCanFunc</func>
  394. </menu>
  395. </popupmenu>
  396. </hidden2>
  397. <temp>
  398. <grdindex>
  399. <indx/>
  400. </grdindex>
  401. <treatmentlist>
  402. <check/>
  403. <image/>
  404. <curepartcnt/>
  405. <curefromdd/>
  406. <diagnm/>
  407. <cklocation/>
  408. <ckposition/>
  409. <isodose/>
  410. <mvdose/>
  411. <colsize/>
  412. <fracdose/>
  413. <fraction/>
  414. <totdose/>
  415. <elapday/>
  416. <targetvol/>
  417. <brthtime/>
  418. <fidutot/>
  419. <fiduuse/>
  420. <image/>
  421. <ckno/>
  422. <cknoseq/>
  423. <trseq/>
  424. <pretx/>
  425. <remark/>
  426. <statflag/>
  427. </treatmentlist>
  428. </temp>
  429. <popdata>
  430. <ckno/>
  431. <cknoseq/>
  432. <diagnm1/>
  433. <diagnm2/>
  434. <diagnm3/>
  435. <pathology1/>
  436. <pathology2/>
  437. <pathology3/>
  438. <previous1/>
  439. <previous2/>
  440. <previous3/>
  441. <mdremark/>
  442. </popdata>
  443. <imgsend>
  444. <filepath/>
  445. </imgsend>
  446. <image>
  447. <attachfile>
  448. <image/>
  449. </attachfile>
  450. </image>
  451. </root>
  452. </instance>
  453. <script type="javascript" ev:event="xforms-ready">
  454. <![CDATA[
  455. //=====================================================================================================
  456. // 타병원조회를 위한 세팅
  457. //-----------------------------------------------------------------------------------------------------
  458. var instcd = "012";
  459. var rslt_ref = "/root/hidden/reqinoutorddeptlist1";
  460. var sort_field = "dispseq";
  461. var sort_method = "asc";
  462. var basedd = getCurrentDate();
  463. //zsdfGetInOutOrdDeptList( instcd, rslt_ref, sort_field, sort_method, basedd );
  464. zbcfGetKindCodeList(new Array("A0025"), new Array("Z0007"), new Array("/root/hidden/instlist"), true, new Array("cdnm"), new Array("asc"));
  465. //=====================================================================================================
  466. zbcfGetCodeList( new Array("Z0007"), new Array("/root/init/cmbinfo/instcd"));
  467. // "초"를 넣어주기 위해 노드를 만들어서 공유하도록 함
  468. for (var i=1; i<= 30; i++)
  469. {
  470. model.makeNode( "/root/init/cmb_cc[" + i + "]/ccid" );
  471. model.makeNode( "/root/init/cmb_cc[" + i + "]/ccnm" );
  472. model.setValue( "/root/init/cmb_cc[" + i + "]/ccid" , i);
  473. model.setValue( "/root/init/cmb_cc[" + i + "]/ccnm" , i);
  474. // i = i + 1;
  475. }
  476. //병원코드
  477. submit("TRZBC00101", false);
  478. model.setValue("/root/send/reqdata/pid", model.getValue("/root/send/popdata/pid"));
  479. model.setValue("/root/send/reqdata/ckno", model.getValue("/root/send/popdata/ckno"));
  480. model.setValue("/root/send/reqdata/cknoseq", model.getValue("/root/send/popdata/cknoseq"));
  481. // alert(model.getValue("/root/send/reqdata/cknoseq"));
  482. // model.setValue("/root/send/reqdata/pid", "21225574"); //상준 테스트
  483. // model.setValue("/root/send/reqdata/ckno","990");
  484. // model.setValue("/root/send/reqdata/cknoseq","4");
  485. // 개발
  486. // model.setValue("/root/send/reqdata/pid", "14024873"); //상준 테스트
  487. // model.setValue("/root/send/reqdata/ckno","831");
  488. // model.setValue("/root/send/reqdata/cknoseq","2");
  489. aezfSetSuppDeptcd();
  490. model.setValue("/root/send/reqdata/basesuppdeptcd", model.getValue("/root/send/globalinstance/instance1") );
  491. //코드조회 (TargetNo, CK Type, Tumor Kind 등의 기준정보를 가져온다)
  492. submit("TRAEA02605");
  493. //CKNO seq 갖고오기
  494. submit("TRAEA02601");
  495. cmb_cknoseq.select(0);
  496. //환자정보
  497. submit("TRAEA02602");
  498. var instcd = getUserInfo("dutplceinstcd");
  499. var standard_yn = "orduseyn";
  500. var ord_deptflag = 'D';
  501. var rslt_ref = "/root/hidden1/orddeptlist";
  502. zbcfGetDeptCodeList(instcd, standard_yn, ord_deptflag, rslt_ref);
  503. submit("TRAEA02604");
  504. // 간호기록에서 저장한 Nursing Record 저장되어 있던 정보를 가져온다.
  505. readfunc();
  506. // 진단, MD Remark, Pathology 등의 정보를 가져온다
  507. submit("TRAEA03906");
  508. //Treatment Summary 조회
  509. submit("TRAEA03901");
  510. // GrupCode를 기준으로 로딩된 Treatment Summary 자료 Merge 작업 하기
  511. fmerge1();
  512. // 인증여부 관련 체크
  513. chkassgyn();
  514. // 사진올리기 버튼 권한적용 여부 공통코드 테이블에서 가져오기
  515. model.setValue("/root/send/comcd/grupcdid","A0010");
  516. submit("TRAEB00010");
  517. if( model.getValue("/root/main/codelist/item/cdid") == "Y" ) {
  518. btn_uploadimage.visible = true;
  519. }
  520. // 환자사진관련 정보 처리
  521. freadimage();
  522. // model.refresh();
  523. // readfunc();
  524. ]]>
  525. </script>
  526. <submission id="TRAEA02601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/init/cmb_info"/>
  527. <submission id="TRAEA02602" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/patpsn"/>
  528. <submission id="TRAEA02603" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/carerecinfo"/>
  529. <submission id="TRZBC00101"/>
  530. <submission id="TXAEA02602" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/senddata/execdata" resultref="/root/hidden"/>
  531. <submission id="TRZSU10105" mediatype="application/x-www-form-urlencoded" method="post"/>
  532. <submission id="TRZSD00109" mediatype="application/x-www-form-urlencoded" method="post"/>
  533. <submission id="TRAEA02604" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/cmb_info1"/>
  534. <submission id="TRAEA03901" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" replace="instance" resultref="/root/main/treatmentsuminfo"/>
  535. <submission id="TRAEA03902" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" replace="instance" resultref="/root/init/tempdata"/>
  536. <submission id="TRAEA03903" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" replace="instance" resultref="/root/main/treatmentsum"/>
  537. <submission id="TXAEA03901" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/req/data2" replace="instance" resultref="/root/hidden"/>
  538. <submission id="TXAEA03902" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/treatmentsum/treatmentinfo" replace="instance" resultref="/root/hidden"/>
  539. <submission id="TRAEA02605" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/cmb_cdinfo"/>
  540. <submission id="TXAEA03906" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/treatmentinfo" resultref="/root/hidden"/>
  541. <submission id="TRAEA03906" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/treatmentsum"/>
  542. <submission id="TRAEA03907" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/printdatalist"/>
  543. <submission id="TXAEA03910" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" replace="instance" resultref="/root/hidden"/>
  544. <!-- 타병원조회-->
  545. <submission id="TRZSU10117" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  546. <submission id="TRZBC00105" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  547. <submission id="TRAEA03911" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/patpsn/patpsninfo" replace="instance" resultref="/root/hidden/medirec"/>
  548. <submission id="TXAEA03208" mediatype="multipart/form-data" method="form-data-post" ref="/root/send/req/data" resultref="/root/hidden"/>
  549. <!-- 환자사진 저장-->
  550. <submission id="TRAEA03213" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/"/>
  551. <!-- 등록된 환자사진 리스트 가져오기-->
  552. <submission id="TRAEA03905" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/imgsend" resultref="/root/imgbinary"/>
  553. <!-- 조회된 ImagePath를 가지고 파일서버를 조회하여 실제 이미지 가져온다-->
  554. <submission id="TRAEB00010" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/codelist"/>
  555. </model>
  556. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  557. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  558. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  559. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  560. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  561. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  562. <script type="javascript" src="../../../com/userdeptinfoweb/js/ZSU001.js"/>
  563. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  564. <script type="javascript" src="../../../com/zipcodeweb/js/ZBP001.js"/>
  565. <script type="javascript" src="../../../ast/examcureweb/js/AEZ0001.js"/>
  566. <script type="javascript" src="../../../ast/examcureweb/js/SMAEA03900.js"/>
  567. <script type="javascript" src="../../../emr/emrcommonweb/js/EMRCommon.js"/>
  568. <script type="javascript" src="../../../emr/medirecweb/js/MMR01100.js"/>
  569. <script type="javascript">
  570. <![CDATA[
  571. /******************************************
  572. 그리드 엔터 입력시 다음 셀로 가는 이벤트
  573. ******************************************/
  574. function onkeypress ()
  575. {
  576. var targetID = event.currentTarget;
  577. if(targetID.indexOf("_$") != -1)
  578. return;
  579. var obj = eval(event.currentTarget);
  580. if (obj.elementName != "xforms:datagrid")
  581. return;
  582. if(event.keyCode == 13)
  583. {
  584. event.defaultAction = "cancel";
  585. if(obj.col == obj.cols - 1 && obj.row == obj.rows - 1)
  586. return;
  587. if(obj.col == obj.cols - 1)
  588. {
  589. obj.row += 1;
  590. obj.col = 0;
  591. }
  592. else
  593. {
  594. obj.col += 1;
  595. }
  596. }
  597. }
  598. /****************************************************************************************************************************************************
  599. @ 해당 조건에 대한 검사내역을 조회한다.
  600. *****************************************************************************************************************************************************/
  601. function readfunc(){
  602. // model.removeNodeset("/root/main/carerecinfo/caresumdetl");
  603. model.removeNodeset("/root/main/treatmentsuminfo/treatmentlist");
  604. model.resetInstanceNode("/root/main/carerecinfo/carerecmat");
  605. if (submit("TRAEA02603")){
  606. // btn_save.disabled = false;
  607. if (model.getValue("/root/main/carerecinfo/carerecmat/ckno") == ""){
  608. // btn_del.disabled = true;
  609. model.setValue("/root/main/carerecinfo/carerecmat/iudgb", "I");
  610. model.setValue("/root/main/carerecinfo/carerecmat/ckno", model.getValue("/root/send/reqdata/ckno"));
  611. model.setValue("/root/main/carerecinfo/carerecmat/pid", model.getValue("/root/send/reqdata/pid"));
  612. model.setValue("/root/main/carerecinfo/carerecmat/cknoseq", model.getValue("/root/send/reqdata/cknoseq"));
  613. }else{
  614. // btn_del.disabled = false;
  615. }
  616. if (model.getValue("/root/main/carerecinfo/carerecmat/reqdeptcd1") == "" || model.getValue("/root/main/carerecinfo/carerecmat/reqdeptcd1") == "-"){
  617. }else{
  618. var deptcd = model.getValue("/root/main/carerecinfo/carerecmat/reqdeptcd1");
  619. var zsuResultRef = "/root/hidden/zsu/userlist";
  620. model.removenode(zsuResultRef);
  621. model.makenode(zsuResultRef);
  622. setParameter("dutplcecd", deptcd);
  623. setParameter("flag", "_D");
  624. if (deptcd != ""){
  625. submit("TRZSU10105", "false", getParameterPath(), zsuResultRef);
  626. model.copyNode("/root/hidden1/userlist", "/root/hidden/zsu/userlist");
  627. }
  628. }
  629. if (model.getValue("/root/main/carerecinfo/carerecmat/reqdeptcd2") == "" || model.getValue("/root/main/carerecinfo/carerecmat/reqdeptcd2") == "-"){
  630. }else{
  631. var deptcd = model.getValue("/root/main/carerecinfo/carerecmat/reqdeptcd2");
  632. var zsuResultRef = "/root/hidden/zsu/userlist";
  633. model.removenode(zsuResultRef);
  634. model.makenode(zsuResultRef);
  635. setParameter("dutplcecd", deptcd);
  636. setParameter("flag", "_D");
  637. if (deptcd != ""){
  638. submit("TRZSU10105", "false", getParameterPath(), zsuResultRef);
  639. model.copyNode("/root/hidden1/userlist1", "/root/hidden/zsu/userlist");
  640. }
  641. }
  642. if (model.getValue("/root/main/carerecinfo/carerecmat/execdeptcd1") == "" || model.getValue("/root/main/carerecinfo/carerecmat/execdeptcd1") == "-"){
  643. }else{
  644. var deptcd = model.getValue("/root/main/carerecinfo/carerecmat/execdeptcd1");
  645. zsufGetUserInfoCombo(deptcd, "/root/init/userlist","_D");
  646. model.refresh();
  647. }
  648. if (model.getValue("/root/main/carerecinfo/carerecmat/execdeptcd2") == "" || model.getValue("/root/main/carerecinfo/carerecmat/execdeptcd2") == "-"){
  649. }else{
  650. var deptcd = model.getValue("/root/main/carerecinfo/carerecmat/execdeptcd2");
  651. zsufGetUserInfoCombo(deptcd, "/root/init/userlist1","_D");
  652. model.refresh();
  653. }
  654. }
  655. model.refresh();
  656. }
  657. /****************************************************************************************************************************************************
  658. @ Treatment Summary 데이터 조작시 그리드 해더 상태 바꾸기(임의로 상태바뀜 제어)
  659. *****************************************************************************************************************************************************/
  660. function fchangeRowStatus(){
  661. var indx = model.getValue("/root/temp/grdindex/indx");
  662. var cnt = 0;
  663. for (var i = 0 ; i < grd_treatment.rows ; i++) {
  664. if(grd_treatment.rowStatus(i) != "0" ) {
  665. cnt++;
  666. }
  667. }
  668. //선택한 행에 대해서 데이터 조작을 여러번 할 경우 예외처리
  669. if(grd_treatment.rowStatus(indx) != "0" ) {
  670. cnt = cnt-1;
  671. }
  672. if( cnt >= 1) {
  673. alert("이전 데이터를 저장하시오" + cnt);
  674. grd_treatment.rowStatus(indx) = "0";
  675. }
  676. else {
  677. if(grd_treatment.rowStatus(indx) != "3" ) {
  678. grd_treatment.rowStatus(indx) = 2;
  679. model.refresh();
  680. }
  681. }
  682. }
  683. /****************************************************************************************************************************************************
  684. @ Treatment Summary 데이터 조작시 그리드 해더 상태 바꾸기2 (자동상태바뀜 제어)
  685. *****************************************************************************************************************************************************/
  686. function fchangeRowCntl(status){
  687. if(status == "del" || status == "upt"){
  688. var indx = model.getValue("/root/temp/grdindex/indx");
  689. var cnt = 0;
  690. for (var i = 0 ; i < grd_treatment.rows ; i++) {
  691. if(grd_treatment.rowStatus(i) != "0" ) {
  692. cnt++;
  693. }
  694. }
  695. //선택한 행에 대해서 데이터 조작을 여러번 할 경우 예외처리
  696. if(grd_treatment.rowStatus(indx) != "0" ) {
  697. cnt = cnt-1;
  698. }
  699. if( cnt >= 1) {
  700. alert("이전 데이터를 저장하시오" + cnt);
  701. grd_treatment.rowStatus(indx) = "0";
  702. }
  703. }
  704. else if( status == "add" ){
  705. var indx = model.getValue("/root/temp/grdindex/indx");
  706. var cnt = 0;
  707. for (var i = 0 ; i < grd_treatment.rows ; i++) {
  708. if(grd_treatment.rowStatus(i) != "0" ) {
  709. cnt++;
  710. }
  711. }
  712. if( cnt >= 1) {
  713. alert("이전 데이터를 저장하시오" + cnt);
  714. grd_treatment.rowStatus(grd_treatment.bottomRow) = "0";
  715. }
  716. }
  717. }
  718. /****************************************************************************************************************************************************
  719. @ MD 승인된 데이터를 수정하려고 하면 수정못하게 막기위해 체크한다.
  720. *****************************************************************************************************************************************************/
  721. function CuremdynChk(){
  722. var row = 0;
  723. var row = grd_treatment.row;
  724. // alert("선택된로우넘버 : " + row);
  725. if(model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + row + "]/statflag")=="Y"){
  726. // messageBox("MD승인","I002");
  727. return(0);
  728. }
  729. }
  730. /****************************************************************************************************************************************************
  731. @ Physics 승인된 데이터를 체크한다. "Physics 승인 이후만 가능합니다"
  732. *****************************************************************************************************************************************************/
  733. function PhysicsChk(){
  734. var row = 0;
  735. var row = grd_treatment.row;
  736. // alert("선택된로우넘버 : " + row);
  737. if(model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + row + "]/statflag")=="R"){
  738. // messageBox("Physics승인 ","E012");
  739. return(0);
  740. }
  741. }
  742. /****************************************************************************************************************************************************
  743. @ RTT 승인 여부 체크한다. ( 최조입력 또는 MD 승인상태라면 Return )
  744. *****************************************************************************************************************************************************/
  745. function RTTChk(){
  746. var row = 0;
  747. var row = grd_treatment.row;
  748. // alert("선택된로우넘버 : " + row);
  749. if(model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + row + "]/statflag")=="S" || model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + row + "]/statflag")=="Y"){
  750. // messageBox("Physics승인 ","E012");
  751. return(0);
  752. }
  753. }
  754. /****************************************************************************************************************************************************
  755. @ Physics 또는 MD 승인된 데이터를 수정하려고 하면 수정못하게 막기위해 체크한다.
  756. *****************************************************************************************************************************************************/
  757. function PhysicsMDYN(){
  758. var row = 0;
  759. var irow = 0;
  760. var row = grd_treatment.row;
  761. var irow = grd_treatment.row;
  762. // alert("선택된로우넘버 : " + row);
  763. if(model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + row + "]/statflag")=="P" || model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + row + "]/statflag")=="Y"){
  764. // 초기값은 허용으로
  765. grd_treatment.isReadOnly(irow, 3, irow, 24) = false;
  766. // 지정된 셀의 범위안에 있는 항목들을 모두 설정 함
  767. grd_treatment.isReadOnly(irow, 3, irow, 24) = true;
  768. }else{
  769. grd_treatment.isReadOnly(irow, 3, irow, 24) = false;
  770. }
  771. }
  772. // CKNO에 치료 사이트가 다수일 경우 메시지로 알려주기
  773. // 1개일때도 알려달라고 하여 seqcount 조건 수정 함
  774. function seqList(){
  775. var seqcount = instance1.selectNodes("/root/init/cmb_info/seqinfo").length;
  776. var ckno = model.getValue("/root/main/patpsn/patpsninfo/ckno");
  777. var seqList = "";
  778. var seqListSum = "";
  779. var k = 1;
  780. // alert("가져온 가지수 : " + seqcount);
  781. if (seqcount >= 1){
  782. for (i=0; i<seqcount; i++) {
  783. seqList = model.getValue("/root/init/cmb_info/seqinfo["+ k +"]/cknoseq");
  784. seqListSum = seqListSum + ckno + "-" + seqList + " ";
  785. k++;
  786. }
  787. messageBox(seqListSum + "치료 결과가","I010");
  788. }
  789. }
  790. // 서식연동 2009-09-17
  791. function ITEMVAL2()
  792. {
  793. this.rectermcd = "";
  794. this.rectermnm = "";
  795. this.reccnts = "";
  796. this.recimge = "";
  797. }
  798. /* @group : GrupCode를 기준으로 로딩된 자료 Merge 작업 하기
  799. * @ver : 2009.09.28
  800. * @by : 박상준
  801. * @-----------------------------------
  802. * @type : function
  803. * @access : public
  804. * @desc : GrupCode를 기준으로 로딩된 자료 컬럼단위 Merge 작업 하기 위한 Function
  805. */
  806. function fmerge1() {
  807. if ( grd_treatment.rows <= grd_treatment.fixedRows + 1) // 로딩된 데이터가 1행이거나 없으면 리턴
  808. return;
  809. // colRef : 주어진 문자열과 동일하게 ref 속성으로 가지는 col 을 찾아서 그 열의 인덱스를 반환한다.
  810. var grupcdColNum = grd_treatment.colRef("grupcd"); // Merge작업의 기준이 되는 GrupCode
  811. var imageColNum = grd_treatment.colRef("image"); // Image
  812. var curepartcntColNum = grd_treatment.colRef("curepartcnt"); // TargetNo
  813. var diagnmColNum = grd_treatment.colRef("diagnm"); // 진단명
  814. var cklocationColNum = grd_treatment.colRef("cklocation"); // Location
  815. var ckpositionColNum = grd_treatment.colRef("ckposition"); // Position
  816. var isodoseColNum = grd_treatment.colRef("isodose"); // Prescription isodose Curve(%)
  817. var mvdoseColNum = grd_treatment.colRef("mvdose"); // Prescription 6MV Dose (cGy)
  818. var colsizeColNum = grd_treatment.colRef("colsize"); // Collimator Size(mm)
  819. var targetvolColNum = grd_treatment.colRef("targetvol"); // Target Volume(cc)
  820. var brthtimeColNum = grd_treatment.colRef("brthtime"); // Breath Hold(sec)
  821. var fidutotColNum = grd_treatment.colRef("fidutot"); // Fiducial (ea)
  822. // alert("1.grupcd 열의 인덱스: " + grupcdColNum);
  823. // alert("2.diagnm 열의 인덱스: :" + diagnmColNum);
  824. // valueMatrix : 특정 셀에 맵핑되어있는 인스턴스의 값을 설정하거나 반환한다
  825. var tmpStr1 = grd_treatment.valueMatrix(grd_treatment.fixedRows, grupcdColNum); // 고정된 행(fixed row)의 인스턴스 값
  826. var tmpStr2 = "";
  827. // var tmpStr11 = grd_treatment.valueMatrix(grd_treatment.fixedRows, curepartcntColNum);
  828. // var tmpStr21 = "";
  829. // alert("3. 고정된 행 grupcdCol 인스턴스의 값: " + tmpStr1);
  830. // fixedRows : 그리드 상단에 스크롤이 가능하지 않은 고정된 행(fixed row) 의 갯수를 설정하거나 반환한다.
  831. // fixedRows 의 갯수는 hidden 상태인 row 도 포함하는 갯수이다.
  832. var tmpNum = grd_treatment.fixedRows;
  833. // alert("4.그리드상단 고정된 행: " + tmpNum);
  834. // 고정된 행(fixed row) 부터 그리드의 전체행수까지 하나씩 증가하면서 체크
  835. for ( i = grd_treatment.fixedRows; i < grd_treatment.rows; i++ ) {
  836. if ( i + 1 <= grd_treatment.rows ) { //전체행보다 작으면
  837. tmpStr2 = grd_treatment.valueMatrix(i + 1, grupcdColNum); // 하나씩 증가하면서 그룹코드의 인스턴스의 값을 가져온다.
  838. // tmpStr21 = grd_treatment.valueMatrix(i + 1, curepartcntColNum);
  839. } else if ( i + 1 == grd_treatment.rows ) { //전체행과 같으면 초기화
  840. tmpStr2 = "";
  841. // tmpStr21 = "";
  842. }
  843. // mergeByFree : 셀의 범위를 지정하면 범위 내의 셀들이 바로 머지가 된다. 단, data cell 과 fixed cell 들을 함께 지정하면 머지되지 않는다.
  844. // 머지 된 셀의 데이터와 스타일 등은 지정된 범위에서 좌상단에 위치한 셀의 값을 가지게 된다.
  845. // Integer row1 : 셀들의 범위를 지정할 때 끝점이 될 좌상단 셀의 행 인덱스
  846. // Integer col1 : 셀들의 범위를 지정할 때 끝점이 될 좌상단 셀의 열 인덱스
  847. // Integer row2 : 셀들의 범위를 지정할 때 끝점이 될 우하단 셀의 행 인덱스
  848. // Integer col2 : 셀들의 범위를 지정할 때 끝점이 될 우하단 셀의 열 인덱스
  849. // if ( (tmpStr11 != tmpStr21) || (tmpStr1 != tmpStr2 && tmpStr11 == tmpStr21) ) {
  850. // 프로그램 수정 정 저장되어 있던 데이터들은 GrupCode를 일괄 "0"으로 했기 때문에 0인 데이터는 머지하여 보여주지 않음
  851. if ( (tmpStr1 != tmpStr2) || (tmpStr2 == "0") ) {
  852. // alert(tmpStr1 + "<===>"+ tmpStr2 + "머지작업 시작!!!!");
  853. // GrupCode 기준으로 실제 Merge 대상이 될 컬럼들 작업진행
  854. grd_treatment.mergeByFree(tmpNum, imageColNum, i, imageColNum); // Image
  855. grd_treatment.mergeByFree(tmpNum, curepartcntColNum, i, curepartcntColNum); // TargetNo
  856. grd_treatment.mergeByFree(tmpNum, diagnmColNum, i, diagnmColNum); // 진단명
  857. grd_treatment.mergeByFree(tmpNum, cklocationColNum, i, cklocationColNum); // Location
  858. grd_treatment.mergeByFree(tmpNum, ckpositionColNum, i, ckpositionColNum); // Position
  859. grd_treatment.mergeByFree(tmpNum, isodoseColNum, i, isodoseColNum); // Prescription isodose Curve(%)
  860. grd_treatment.mergeByFree(tmpNum, mvdoseColNum, i, mvdoseColNum); // Prescription 6MV Dose (cGy)
  861. grd_treatment.mergeByFree(tmpNum, colsizeColNum, i, colsizeColNum); // Collimator Size(mm)
  862. grd_treatment.mergeByFree(tmpNum, targetvolColNum, i, targetvolColNum); // Target Volume(cc)
  863. grd_treatment.mergeByFree(tmpNum, brthtimeColNum, i, brthtimeColNum); // Breath Hold(sec)
  864. grd_treatment.mergeByFree(tmpNum, fidutotColNum, i, fidutotColNum); // Fiducial (ea)
  865. tmpStr1 = tmpStr2;
  866. // tmpStr11 = tmpStr21;
  867. tmpNum = i + 1;
  868. }
  869. }
  870. }
  871. /* @group : 특정 항목의 값이 수정되면 GrupCode를 기준으로 로딩된 자료 자동 셋팅하기
  872. * @ver : 2009.10.15
  873. * @by : 박상준
  874. * @-----------------------------------
  875. * @type : function
  876. * @access : public
  877. * @desc : 특정 항목의 값이 수정되면 GrupCode를 기준으로 로딩된 자료 자동 셋팅하기 위한 Function
  878. */
  879. function EditAutoSet() {
  880. if ( grd_treatment.rows <= grd_treatment.fixedRows + 1) // 로딩된 데이터가 1행이거나 없으면 리턴
  881. return;
  882. // 비교 기준이될 Grupcode
  883. var grupcd = model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ grd_treatment.row +"]/grupcd");
  884. //var grupcd = model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ grd_treatment.row +"]/curepartcnt");
  885. //수정된값 가져와서 적용 준비
  886. var t_cklocation = model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ grd_treatment.row +"]/cklocation");
  887. var t_ckposition = model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ grd_treatment.row +"]/ckposition");
  888. var t_isodose = model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ grd_treatment.row +"]/isodose");
  889. var t_mvdose = model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ grd_treatment.row +"]/mvdose");
  890. var t_colsize = model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ grd_treatment.row +"]/colsize");
  891. var t_targetvol = model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ grd_treatment.row +"]/targetvol");
  892. var t_brthtime = model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ grd_treatment.row +"]/brthtime");
  893. var t_fidutot = model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ grd_treatment.row +"]/fidutot");
  894. // 고정된 행(fixed row) 부터 그리드의 전체행수까지 하나씩 증가하면서 체크
  895. for ( i = grd_treatment.fixedRows; i < grd_treatment.rows; i++ ) {
  896. // 비교대상이 될 그룹코드 돌면서 가져오기
  897. var tmpgrupcd = model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/grupcd");
  898. //var tmpgrupcd = model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/curepartcnt");
  899. // 그룹코드가 같으면 수정값으로 자동 셋팅 되도록, 기본 GrupCode값이 "0"이면 대상에서 제외
  900. if ( (grupcd == tmpgrupcd) && (model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/grupcd") != "0") ) {
  901. // 수정된 항목에 대한 값만 동기화 하고, 적용된 행의 상태값을 저장대상Mode(Check)로 변환
  902. if(grd_treatment.colAttribute(grd_treatment.col,"ref")=="cklocation"){
  903. model.setValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/cklocation", t_cklocation);
  904. }
  905. if(grd_treatment.colAttribute(grd_treatment.col,"ref")=="ckposition"){
  906. model.setValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/ckposition", t_ckposition);
  907. }
  908. if(grd_treatment.colAttribute(grd_treatment.col,"ref")=="isodose"){
  909. model.setValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/isodose", t_isodose);
  910. }
  911. if(grd_treatment.colAttribute(grd_treatment.col,"ref")=="mvdose"){
  912. model.setValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/mvdose", t_mvdose);
  913. }
  914. if(grd_treatment.colAttribute(grd_treatment.col,"ref")=="colsize"){
  915. model.setValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/colsize", t_colsize);
  916. }
  917. if(grd_treatment.colAttribute(grd_treatment.col,"ref")=="targetvol"){
  918. model.setValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/targetvol", t_targetvol);
  919. }
  920. if(grd_treatment.colAttribute(grd_treatment.col,"ref")=="brthtime"){
  921. model.setValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/brthtime", t_brthtime);
  922. }
  923. if(grd_treatment.colAttribute(grd_treatment.col,"ref")=="fidutot"){
  924. model.setValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/fidutot", t_fidutot);
  925. }
  926. // 변경된 행의 상태값을 update 상태로 변경
  927. grd_treatment.rowStatus(i) = 2;
  928. } //if 종료
  929. } //for 종료
  930. } //function 종료
  931. /* @group : AccDose값은 TargetNo가 동일한 값을 기준으로 FxDose(1) + 전AccDose(0) 기준으로 계산
  932. * @ver : 2009.10.26
  933. * @by : 박상준
  934. * @-----------------------------------
  935. * @type : function
  936. * @access : public
  937. * @desc : AccDose값은 TargetNo가 동일한 값을 기준으로 FxDose(1) + 전AccDose(0) 기준으로 셋팅하기 위한 Function
  938. */
  939. function AccDoseEditSet() {
  940. if ( grd_treatment.rows < grd_treatment.fixedRows + 1) // 로딩된 데이터가 없으면 리턴
  941. return;
  942. var curepartcnt = model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ grd_treatment.row +"]/curepartcnt");
  943. for ( i = grd_treatment.fixedRows; i < grd_treatment.rows; i++ ) {
  944. if (curepartcnt == model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/curepartcnt") ){
  945. var a = model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/fracdose");
  946. var b = model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ (i - 1) +"]/totdose");
  947. // 첫로우일때 공백이면 기본값 셋팅, 그룹구분이 바뀌었을때는 다른 그룹값을 자겨오지 않게 하기위해 비교
  948. if ( b == "" || curepartcnt != model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ (i - 1) +"]/curepartcnt") ){
  949. b = 0; //전 AccDose값이 NULL 이면 기본값 셋팅
  950. }
  951. //var ReAccdos = parseInt(a)+ parseInt(b);
  952. var ReAccdos = parseFloat(a) + parseFloat(b);
  953. //alert("1: "+ a +" 2: "+ b +" 3: " + ReAccdos);
  954. var ReAccdos = ReAccdos.toString().getRound(-3, "DOWN");
  955. //alert("First ReAccdos : " + ReAccdos);
  956. // 계산된 값이 #.95 이상이면 올림처리 하기위해 : 박상준 추가 20091103
  957. var ilen = ReAccdos.toString().length;
  958. if (ilen > 0){
  959. var s = ReAccdos.toString().substr(ilen - 2, ilen - 1);
  960. if (ReAccdos.toString().substr(ilen - 2, ilen - 1) >= "95"){
  961. //alert("반올림적용 : " + s + "---" + ReAccdos);
  962. var ReAccdos = ReAccdos.toString().getRound(-1, "HALF_UP");
  963. }
  964. }
  965. //alert("ReAccdos : " + ReAccdos);
  966. model.setValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/totdose",ReAccdos);
  967. grd_treatment.rowStatus(i) = 2; // 변경된 행의 상태값을 update 상태로 변경
  968. }
  969. }
  970. } //function 종료
  971. function chkassgyn() {
  972. if ( model.getValue("/root/send/globalinstance/instance1") == "2360500000" ) {
  973. btn_formacpt.disabled = false;
  974. }else {
  975. btn_formacpt.disabled = true;
  976. }
  977. var formrecseq = model.getValue("/root/main/treatmentsuminfo/treatmentlist[1]/formrecseq");
  978. //alert('formrecseq==>'+formrecseq);
  979. if ( formrecseq == 0 ) {
  980. btn_formacpt.text = "서식저장";
  981. model.makeValue("/root/send/reqdata/chkassgyn", "Y");
  982. }else {
  983. btn_formacpt.text = "서식삭제";
  984. model.makeValue("/root/send/reqdata/chkassgyn", "N");
  985. }
  986. }
  987. /* @group : 환자의 Image 등록되어 있으면 사진 불러오기
  988. * @ver : 2010.06.28
  989. * @by : 박상준
  990. * @-----------------------------------
  991. * @type : function
  992. * @access : public
  993. * @desc : 환자의 Image 등록되어 있으면 사진 불러오기 위한 Function
  994. */
  995. function freadimage() {
  996. model.removeNodeset("/root/image/attachfile/image"); // 사진파일 정보 초기화
  997. model.removeNodeset("/root/send/req/data/attach"); // 사진올리기 사용시 선택된 Image Path Grid 초기화
  998. grd_attach.refresh();
  999. model.removeNodeset("/root/main/list/attachlist"); // 등록된 사진 내역가져오는 Grid 초기화
  1000. grd_attachfile.refresh();
  1001. submit("TRAEA03213"); // 환자의 사진정보가 있으면 가져온다
  1002. grd_attachfile.dispatch("onclick"); // 로딩된 데이터가 있으면 자동으로 보여 줌
  1003. }
  1004. ]]>
  1005. </script>
  1006. </xhtml:head>
  1007. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  1008. <script type="javascript" ev:event="onloadcomplete">
  1009. <![CDATA[
  1010. fSetChild();
  1011. ]]>
  1012. </script>
  1013. <group id="group2" style="left:1px; top:0px; width:1194px; height:52px; vertical-align:top; ">
  1014. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1193px; height:52px; background-color:#fffbf2; border-color:#ffd799; "/>
  1015. <line id="line13" style="x1:1100px; y1:10px; x2:1101px; y2:45px; border-color:#ffe4bb; border-left-style:solid; "/>
  1016. <button id="btn_sea" class="btn1_letter2" visibility="hidden" style="left:1110px; top:12px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  1017. <caption>조회</caption>
  1018. <script type="javascript" ev:event="DOMActivate">
  1019. <![CDATA[
  1020. // 정보조회시 기존에 Display되었던 정보를 초기화 시킨다.
  1021. model.removenode("/root/main/treatmentsum/treatmentinfo");
  1022. model.removenode("/root/main/carerecinfo/carerecmat");
  1023. if( model.getValue("/root/send/reqdata/srchflag") == "ckno" ) {
  1024. //CKNO seq 갖고오기
  1025. submit("TRAEA02601");
  1026. cmb_cknoseq.select(0);
  1027. //등록번호 갖고오기
  1028. submit("TRAEA03902");
  1029. model.setValue("/root/send/reqdata/pid", model.getValue("/root/init/tempdata/pidinfo/pid"));
  1030. //환자정보 조회
  1031. submit("TRAEA02602");
  1032. // cmb_cknoseq.select(0);
  1033. // 치료 SITE내역이 2개 이상일 경우 메시지로 알려주기
  1034. seqList()
  1035. // 간호기록에서 저장한 Nursing Record 저장되어 있던 정보를 가져온다.
  1036. readfunc();
  1037. // 진단, MD Remark, Pathology 등의 정보를 가져온다
  1038. submit("TRAEA03906");
  1039. //Treatment Summary 조회
  1040. submit("TRAEA03901");
  1041. }
  1042. if( model.getValue("/root/send/reqdata/srchflag") == "cknoseq" ) {
  1043. //환자정보 조회
  1044. submit("TRAEA02602");
  1045. // cmb_cknoseq.select(0);
  1046. // 간호기록에서 저장한 Nursing Record 저장되어 있던 정보를 가져온다.
  1047. readfunc();
  1048. // 진단, MD Remark, Pathology 등의 정보를 가져온다
  1049. submit("TRAEA03906");
  1050. //Treatment Summary 조회
  1051. submit("TRAEA03901");
  1052. }
  1053. if( model.getValue("/root/send/reqdata/srchflag") == "pid" ) {
  1054. // model.setValue("/root/send/reqdata/gb", "R");
  1055. //환자정보
  1056. submit("TRAEA02602");
  1057. model.setValue("/root/send/reqdata/ckno" , model.getValue("/root/main/patpsn/patpsninfo/ckno"));
  1058. //CKNO seq 갖고오기, 등록번호로 조회시에는 cknoseq를 무조건 마지막것 가져오게 하기
  1059. submit("TRAEA02601");
  1060. cmb_cknoseq.select(0);
  1061. // 치료 SITE내역이 2개 이상일 경우 메시지로 알려주기
  1062. seqList()
  1063. // 간호기록에서 저장한 Nursing Record 저장되어 있던 정보를 가져온다.
  1064. readfunc();
  1065. // 진단, MD Remark, Pathology 등의 정보를 가져온다
  1066. submit("TRAEA03906");
  1067. //Treatment Summary 조회
  1068. submit("TRAEA03901");
  1069. }
  1070. // GrupCode를 기준으로 로딩된 Treatment Summary 자료 Merge 작업 하기
  1071. fmerge1();
  1072. // 인증여부 관련 체크
  1073. chkassgyn();
  1074. //환자의 Image 등록되어 있으면 사진 불러오기 위한 Function
  1075. freadimage()
  1076. ]]>
  1077. </script>
  1078. </button>
  1079. <input id="ipt_pid" ref="/root/send/reqdata/pid" class="input_search" disabled="false" navindex="3" _chartype="upper" style="left:440px; top:15px; width:105px; height:19px; ">
  1080. <script type="javascript" ev:event="onkeydown">
  1081. <![CDATA[
  1082. model.setValue("/root/send/reqdata/srchflag", "pid");
  1083. inputEnterKey("btn_sea","DOMActivate");
  1084. ]]>
  1085. </script>
  1086. </input>
  1087. <select1 id="cmb_cknoseq" ref="/root/send/reqdata/cknoseq" navindex="2" appearance="minimal" style="left:215px; top:15px; width:100px; height:19px; ">
  1088. <choices>
  1089. <itemset nodeset="/root/init/cmb_info/seqinfo">
  1090. <label ref="cknoseqnm"/>
  1091. <value ref="cknoseq"/>
  1092. </itemset>
  1093. </choices>
  1094. <script type="javascript" ev:event="xforms-value-changed">
  1095. <![CDATA[
  1096. // model.setValue("/root/send/reqdata/srchflag", "ckno");
  1097. model.setValue("/root/send/reqdata/srchflag", "cknoseq");
  1098. btn_sea.dispatch("DOMActivate");
  1099. ]]>
  1100. </script>
  1101. </select1>
  1102. <output id="opt_patnm" ref="/root/hidden/source/hngnm" class="output_fix" style="left:571px; top:16px; width:105px; height:19px; "/>
  1103. <button id="button61" class="icon_search" style="left:551px; top:18px; width:16px; height:16px; ">
  1104. <caption/>
  1105. <script type="javascript" ev:event="DOMActivate">
  1106. <![CDATA[
  1107. // 환자조회
  1108. // modal(id,monNo,xPos,yPos,wid,ref,resultref,userProp,prevPos, authCode)
  1109. modal("SPPMC02500", "", "200", "200", "SPPMC02500","/root/send/reqdata/pid","/root/main/send");
  1110. model.setValue("/root/hidden/source/hngnm", model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  1111. model.setValue("/root/send/reqdata/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  1112. model.refresh();
  1113. model.setValue("/root/send/reqdata/srchflag", "pid");
  1114. // inputEnterKey("btn_sea","DOMActivate");
  1115. btn_sea.dispatch("DOMActivate")
  1116. ]]>
  1117. </script>
  1118. </button>
  1119. <button id="btn_uploadimage" class="btn2_letter5" visibility="hidden" style="left:1110px; top:30px; width:75px; height:19px; ">
  1120. <caption>사진올리기</caption>
  1121. <script type="javascript" ev:event="DOMActivate">
  1122. <![CDATA[
  1123. model.removeNodeset("/root/send/req/data/attach"); // 사진올리기 사용시 선택된 Image Path Grid
  1124. grd_attach.refresh();
  1125. model.removeNodeset("/root/main/list/attachlist"); // 등록된 사진 내역가져오는 Grid
  1126. grd_attachfile.refresh();
  1127. var maxsize = upload1.attribute("filesize");
  1128. files = window.fileDialog("open", "|", true);
  1129. filelist = files.split("|");
  1130. for(var i = 0 ; i < filelist.length ; i++ ) {
  1131. grd_attach.addRow(false);
  1132. grd_attach.valueMatrix(grd_attach.rows - 1, 0) = filelist[i];
  1133. if (!checkFileSize(upload1)){
  1134. grd_attach.removeItem();
  1135. messageBox("파일 크기가 최대치("+maxsize+"Byte)를", "E003");
  1136. return;
  1137. }
  1138. }
  1139. btn_saveimage.dispatch("DOMActivate"); // 자동저장 되도록 저장기능 호출
  1140. ]]>
  1141. </script>
  1142. </button>
  1143. <upload id="upload1" nodeset="/root/send/req/data/attach/file" ext="zip" filecount="2" filesize="5242880" validate="true" style="left:975px; top:15px; width:30px; height:20px; "/>
  1144. <button id="btn_saveimage" class="btn2_letter4" visibility="hidden" style="left:975px; top:30px; width:64px; height:19px; ">
  1145. <caption>사진저장</caption>
  1146. <script type="javascript" ev:event="DOMActivate">
  1147. <![CDATA[
  1148. if(grd_attach.rows > 2){
  1149. messageBox("한개의 Image 파일만 선택하세요.","I999");
  1150. model.removeNodeset("/root/send/req/data/attach"); // 사진올리기 사용시 선택된 Image Path Grid
  1151. grd_attach.refresh();
  1152. return;
  1153. }
  1154. model.setValue("/root/send/req/data/ckno", model.getValue("/root/send/reqdata/ckno") );
  1155. model.setValue("/root/send/req/data/cknoseq", model.getValue("/root/send/reqdata/cknoseq") );
  1156. if (submit("TXAEA03208")) {
  1157. //messageBox("Upload가 성공적으로 이루어졌습니다.","I999");
  1158. model.removeNodeset("/root/send/req/data/attach");
  1159. model.refresh();
  1160. // 저장된 사진정보를 불러온다
  1161. submit("TRAEA03213");
  1162. grd_attachfile.dispatch("onclick"); // 로딩된 데이터가 있으면 자동으로 보여 줌
  1163. model.refresh();
  1164. }
  1165. ]]>
  1166. </script>
  1167. </button>
  1168. </group>
  1169. <caption id="caption47" class="search_name" style="left:20px; top:15px; width:88px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">CK 번호 :</caption>
  1170. <group id="group1" style="left:0px; top:55px; width:1195px; height:725px; ">
  1171. <line id="line5" class="line_1" style="x1:0px; y1:336px; x2:1192px; y2:336px; "/>
  1172. <line id="line14" class="line_3" style="x1:0px; y1:698px; x2:1192px; y2:698px; "/>
  1173. <line id="line8" class="line_3" style="x1:0px; y1:181px; x2:1192px; y2:181px; "/>
  1174. <output id="op" ref="/root/main/patpsn/patpsninfo/sex" class="output_fix" style="left:93px; top:32px; width:55px; height:19px; text-align:center; "/>
  1175. <output id="opRT" ref="/root/main/patpsn/patpsninfo/hngnm" class="output_fix" style="left:324px; top:7px; width:120px; height:19px; text-align:center; "/>
  1176. <line id="line10" class="line_2" style="x1:0px; y1:179px; x2:1192px; y2:179px; "/>
  1177. <line id="line11" class="line_3" style="x1:0px; y1:53px; x2:1192px; y2:53px; "/>
  1178. <caption id="caption1" class="cell_1" style="left:0px; top:30px; width:90px; height:23px; ">성별/나이</caption>
  1179. <caption id="caption43" style="left:155px; top:34px; width:10px; height:20px; vertical-align:middle; ">/</caption>
  1180. <caption id="caption12" class="cell_1" style="left:0px; top:6px; width:90px; height:23px; ">등록번호</caption>
  1181. <caption id="caption24" class="tit_2" style="left:6px; top:167px; width:142px; height:13px; ">Treatment Summary</caption>
  1182. <caption id="caption4" class="cell_1" style="left:231px; top:6px; width:90px; height:23px; text-align:left; vertical-align:middle; ">환자이름</caption>
  1183. <line id="line1" class="line_1" style="x1:0px; y1:0px; x2:1192px; y2:0px; "/>
  1184. <line id="line17" class="line_2" style="x1:0px; y1:30px; x2:1192px; y2:30px; "/>
  1185. <caption id="caption5" class="cell_1" visibility="hidden" style="left:452px; top:159px; width:90px; height:23px; text-align:left; vertical-align:middle; ">병원</caption>
  1186. <caption id="caption6" class="cell_1" style="left:231px; top:30px; width:90px; height:23px; text-align:left; vertical-align:middle; ">주민번호</caption>
  1187. <output id="opAge" ref="/root/main/patpsn/patpsninfo/age" class="output_fix" style="left:172px; top:32px; width:55px; height:19px; text-align:center; "/>
  1188. <line id="line3" class="line_1" style="x1:0px; y1:182px; x2:1192px; y2:182px; "/>
  1189. <select1 id="combo7" ref="/root/main/patpsn/patpsninfo/instcd" disabled="true" visibility="hidden" appearance="minimal" style="left:545px; top:160px; width:183px; height:19px; ">
  1190. <choices>
  1191. <itemset nodeset="/root/init/cmbinfo/instcd/Z0007">
  1192. <label ref="cdnm"/>
  1193. <value ref="cdid"/>
  1194. </itemset>
  1195. </choices>
  1196. </select1>
  1197. <output id="opID" ref="/root/main/patpsn/patpsninfo/pid" class="output_fix" style="left:93px; top:7px; width:134px; height:19px; text-align:center; "/>
  1198. <line id="line4" class="line_2" style="x1:0px; y1:28px; x2:1192px; y2:28px; "/>
  1199. <output id="opRegNo" ref="/root/main/patpsn/patpsninfo/rrgstno" class="output_fix" format="999999-9999999" style="left:324px; top:32px; width:120px; height:19px; text-align:center; "/>
  1200. <line id="line15" class="line_3" style="x1:0px; y1:262px; x2:1192px; y2:262px; "/>
  1201. <caption id="caption8" class="cell_1" style="left:0px; top:187px; width:35px; height:72px; ">진단</caption>
  1202. <caption id="caption3" class="cell_1" style="left:255px; top:187px; width:65px; height:72px; ">Pathology</caption>
  1203. <caption id="caption10" class="cell_1" style="left:525px; top:187px; width:59px; height:72px; ">
  1204. <![CDATA[Previous
  1205. Tx]]>
  1206. </caption>
  1207. <caption id="caption14" class="cell_1" navindex="14" style="left:0px; top:265px; width:55px; height:60px; ">Remark</caption>
  1208. <line id="line18" class="line_2" style="x1:0px; y1:326px; x2:1192px; y2:326px; "/>
  1209. <textarea id="textarea2" ref="/root/main/treatmentsum/treatmentinfo/mdremark" navindex="13" scroll="auto" maxlength="500" style="left:60px; top:265px; width:1131px; height:58px; "/>
  1210. <input id="input5" ref="/root/main/treatmentsum/treatmentinfo/diagnm1" navindex="4" appearance="input" style="left:50px; top:190px; width:200px; height:19px; "/>
  1211. <input id="input6" ref="/root/main/treatmentsum/treatmentinfo/diagnm2" class="input_default" disabled="false" navindex="5" style="left:50px; top:215px; width:200px; height:19px; "/>
  1212. <input id="input7" ref="/root/main/treatmentsum/treatmentinfo/diagnm3" class="input_default" disabled="false" navindex="6" style="left:50px; top:240px; width:200px; height:19px; "/>
  1213. <caption id="caption11" style="left:36px; top:190px; width:15px; height:20px; ">1.</caption>
  1214. <caption id="caption17" style="left:36px; top:215px; width:15px; height:20px; ">2.</caption>
  1215. <caption id="caption28" style="left:36px; top:240px; width:15px; height:20px; ">3.</caption>
  1216. <input id="input8" ref="/root/main/treatmentsum/treatmentinfo/pathology3" class="input_default" disabled="false" navindex="9" style="left:322px; top:240px; width:200px; height:19px; "/>
  1217. <input id="input9" ref="/root/main/treatmentsum/treatmentinfo/pathology1" class="input_default" disabled="false" navindex="7" style="left:322px; top:190px; width:200px; height:19px; "/>
  1218. <input id="input10" ref="/root/main/treatmentsum/treatmentinfo/pathology2" class="input_default" disabled="false" navindex="8" style="left:322px; top:215px; width:200px; height:19px; "/>
  1219. <select id="checkbox2" ref="/root/main/treatmentsum/treatmentinfo/pretx" visibility="hidden" overflow="visible" appearance="full" cols="1" rows="3" vcellspacing="7" style="left:1050px; top:175px; width:120px; height:70px; border-style:none; ">
  1220. <choices>
  1221. <item>
  1222. <label>Operation</label>
  1223. <value>O</value>
  1224. </item>
  1225. <item>
  1226. <label>Chemotherapy</label>
  1227. <value>C</value>
  1228. </item>
  1229. <item>
  1230. <label>Radaition therapy</label>
  1231. <value>R</value>
  1232. </item>
  1233. </choices>
  1234. <script type="javascript" ev:event="xforms-value-changed">
  1235. <![CDATA[
  1236. // CK 번호로 저장하는 기준을 잡음. 하여 아래 건단위로 하는 로직은 주석처리 함.
  1237. // var indx = model.getValue("/root/temp/grdindex/indx");
  1238. // model.setValue("/root/main/treatmentsuminfo/treatmentlist["+ indx +"]/pretx", model.getValue("/root/main/treatmentsum/treatmentinfo/pretx"));
  1239. // model.setValue("/root/main/treatmentsuminfo/treatmentlist["+ indx +"]/remark", model.getValue("/root/main/treatmentsum/treatmentinfo/remark"));
  1240. //
  1241. // fchangeRowStatus();
  1242. ]]>
  1243. </script>
  1244. </select>
  1245. <input id="input12" ref="/root/main/treatmentsum/treatmentinfo/previous3" class="input_default" disabled="false" navindex="12" style="left:703px; top:237px; width:487px; height:19px; "/>
  1246. <input id="input13" ref="/root/main/treatmentsum/treatmentinfo/previous1" class="input_default" disabled="false" navindex="10" style="left:703px; top:189px; width:487px; height:19px; "/>
  1247. <input id="input14" ref="/root/main/treatmentsum/treatmentinfo/previous2" class="input_default" disabled="false" navindex="11" style="left:703px; top:213px; width:487px; height:19px; "/>
  1248. <button id="btn_tmpsave" class="btn4_letter2" disabled="false" style="left:0px; top:700px; width:80px; height:22px; ">
  1249. <caption>저장</caption>
  1250. <script type="javascript" ev:event="DOMActivate">
  1251. <![CDATA[
  1252. if ( messageBox("","Q002")==6 ) {
  1253. var update = getGridUpdateData(grd_treatment);
  1254. model.setValue("/root/send/req/data2", update);
  1255. submit("TXAEA03901");
  1256. //treatment sub저장 (없앨 예정)
  1257. //submit("TXAEA03902");
  1258. }
  1259. //Treatment Summary 조회
  1260. submit("TRAEA03901");
  1261. // GrupCode를 기준으로 로딩된 Treatment Summary 자료 Merge 작업 하기
  1262. fmerge1();
  1263. // btn_sea.dispatch("DOMActivate");
  1264. ]]>
  1265. </script>
  1266. </button>
  1267. <datagrid id="grd_treatment" nodeset="/root/main/treatmentsuminfo/treatmentlist" class="datagrid3" autoresize="true" caption="^Status_h^Image^Target&#xA;No^치료기간_h^진단명^Location^Position^Prescription&#xA;isodose&#xA;Curve(%)^Prescription&#xA;6MV&#xA;Dose (cGy)^Collimator&#xA;Size&#xA;(mm)^Target&#xA;Volume&#xA;(cc)^Fx&#xA;No^치료일^Fx&#xA;Dose&#xA;(cGy)^Fraction_h^Acc&#xA;Dose&#xA;(cGy)^RTT^Phy^MD^Elapsed&#xA;Day_h^Target&#xA;Volume&#xA;(cc)_h^Breath&#xA;Hold&#xA;(sec)^Fiducial&#xA;(ea)^Fiducial&#xA;Use&#xA;(ea)_h^ckno^cknoseq^seq(trseq)^pretx^Remark^curemdyn(statflag)^grupcd_h^sortseq_h" colsep="^" colwidth="20, 42, 40, 45, 150, 250, 130, 52, 80, 80, 65, 65, 40, 70, 50, 52, 50, 52, 52, 52, 70, 70, 50, 50, 70, 56, 64, 65, 58, 310, 113, 100, 100" dataheight="30" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheight="250" rowsep="|" style="left:0px; top:327px; width:1192px; height:210px; ">
  1268. <col checkvalue="Y,N" ref="check" type="checkbox"/>
  1269. <col ref="statflaghg" visibility="hidden" style="text-align:center; "/>
  1270. <col ref="image" type="inputbutton"/>
  1271. <col disabled="false" ref="curepartcnt" type="combo" style="text-align:center; vertical-align:middle; ">
  1272. <choices>
  1273. <itemset nodeset="/root/init/cmb_cdinfo/targetnolist">
  1274. <label ref="basecdflagdesc"/>
  1275. <value ref="basecd"/>
  1276. </itemset>
  1277. </choices>
  1278. </col>
  1279. <col disabled="true" editmode="inputsearch" ref="curefromdd" type="input" visibility="hidden" style="text-align:center; vertical-align:middle; "/>
  1280. <col disabled="true" ref="diagnm" type="input" style="text-align:center; vertical-align:middle; "/>
  1281. <col disabled="true" ref="cklocation" type="combo" style="text-align:center; vertical-align:middle; ">
  1282. <choices>
  1283. <itemset nodeset="/root/init/cmb_cdinfo/locationlist">
  1284. <label ref="basecdflagdesc"/>
  1285. <value ref="basecd"/>
  1286. </itemset>
  1287. </choices>
  1288. </col>
  1289. <col ref="ckposition" type="combo" style="text-align:center; vertical-align:middle; ">
  1290. <choices>
  1291. <itemset nodeset="/root/init/cmb_cdinfo/ckpositionlist">
  1292. <label ref="basecdflagdesc"/>
  1293. <value ref="basecd"/>
  1294. </itemset>
  1295. </choices>
  1296. </col>
  1297. <col disabled="false" ref="isodose" type="input" maxlength="8" style="text-align:center; vertical-align:middle; "/>
  1298. <col ref="mvdose" type="input" format="#####.99" maxlength="7" style="text-align:center; vertical-align:middle; "/>
  1299. <col ref="colsize" type="input" style="text-align:center; vertical-align:middle; "/>
  1300. <col ref="targetvol" type="input" format="###.999" maxlength="6" style="left:1117px; top:32px; width:85px; height:23px; text-align:center; vertical-align:middle; "/>
  1301. <col disabled="true" ref="fx" type="combo">
  1302. <choices>
  1303. <itemset nodeset="/root/init/cmb_cdinfo/fractiontypelist">
  1304. <label ref="basecdflagdesc"/>
  1305. <value ref="basecd"/>
  1306. </itemset>
  1307. </choices>
  1308. </col>
  1309. <col disabled="true" ref="curedd" type="input" format="yyyy-mm-dd" style="text-align:center; "/>
  1310. <col ref="fracdose" type="input" format="####.99" maxlength="8" roundmode="floor" roundposition="-2" style="text-align:center; vertical-align:middle; "/>
  1311. <col disabled="true" ref="fraction" type="combo" visibility="hidden" style="text-align:center; vertical-align:middle; ">
  1312. <choices>
  1313. <itemset nodeset="/root/init/cmb_cdinfo/fractiontypelist">
  1314. <label ref="basecdflagdesc"/>
  1315. <value ref="basecd"/>
  1316. </itemset>
  1317. </choices>
  1318. </col>
  1319. <col ref="totdose" type="input" format="######.99" maxlength="8" roundmode="round" roundposition="-1" style="left:899px; top:32px; width:117px; height:23px; text-align:center; vertical-align:middle; "/>
  1320. <col disabled="true" ref="confrtt" style="text-align:center; "/>
  1321. <col disabled="true" ref="confphy" style="text-align:center; "/>
  1322. <col disabled="true" ref="confmd" style="text-align:center; "/>
  1323. <col disabled="true" ref="elapday" type="input" visibility="hidden" style="text-align:center; vertical-align:middle; "/>
  1324. <col ref="targetvol_old" type="input" visibility="hidden" maxlength="6" style="left:1117px; top:32px; width:85px; height:23px; text-align:center; vertical-align:middle; "/>
  1325. <col ref="brthtime" type="combo" style="text-align:center; vertical-align:middle; ">
  1326. <choices>
  1327. <itemset nodeset="/root/init/cmb_cc">
  1328. <label ref="ccnm"/>
  1329. <value ref="ccid"/>
  1330. </itemset>
  1331. </choices>
  1332. </col>
  1333. <col ref="fidutot" type="combo" style="text-align:center; vertical-align:middle; ">
  1334. <choices>
  1335. <itemset nodeset="/root/init/cmb_cc">
  1336. <label ref="ccnm"/>
  1337. <value ref="ccid"/>
  1338. </itemset>
  1339. </choices>
  1340. </col>
  1341. <col ref="fiduuse" type="combo" visibility="hidden" style="text-align:center; vertical-align:middle; ">
  1342. <choices>
  1343. <itemset nodeset="/root/init/cmb_cc">
  1344. <label ref="ccnm"/>
  1345. <value ref="ccid"/>
  1346. </itemset>
  1347. </choices>
  1348. </col>
  1349. <col disabled="true" ref="ckno" visibility="hidden"/>
  1350. <col disabled="true" ref="cknoseq" visibility="hidden"/>
  1351. <col disabled="true" ref="trseq" visibility="hidden"/>
  1352. <col ref="pretx" visibility="hidden"/>
  1353. <col ref="remark" type="input"/>
  1354. <col ref="statflag" visibility="hidden"/>
  1355. <col ref="grupcd" visibility="hidden"/>
  1356. <col ref="sortseq" visibility="hidden"/>
  1357. <script type="javascript" ev:event="onbuttonclick">
  1358. <![CDATA[
  1359. // Physics / MD 승인된것은 수정하지 못하도록 막음
  1360. PhysicsMDYN();
  1361. // MD승인여부 체크하기
  1362. CuremdynChk();
  1363. //이미지 등록/조회 버튼을 선택했을때 필요한 값을 넘기고 팝업창을 호출한다.
  1364. if(grd_treatment.colAttribute(grd_treatment.col,"ref")=="image"){
  1365. model.makeNode("/root/poptemp/ckno");
  1366. model.makeNode("/root/poptemp/cknoseq");
  1367. model.makeNode("/root/poptemp/trseq");
  1368. model.makeNode("/root/poptemp/statflag");
  1369. model.setValue("/root/poptemp/ckno", model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ grd_treatment.row +"]/ckno"));
  1370. model.setValue("/root/poptemp/cknoseq", model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ grd_treatment.row +"]/cknoseq"));
  1371. model.setValue("/root/poptemp/trseq", model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ grd_treatment.row +"]/trseq"));
  1372. model.setValue("/root/poptemp/statflag", model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ grd_treatment.row +"]/statflag"));
  1373. //전달하는 상태값 확인하기
  1374. // alert(model.getValue("/root/poptemp/ckno"));
  1375. // alert(model.getValue("/root/poptemp/cknoseq"));
  1376. // alert(model.getValue("/root/poptemp/trseq"));
  1377. modal("SPAEA02602", "", "", "", "SPAEA02602","/root/poptemp","/root/send");
  1378. model.removenode("/root/poptemp");
  1379. }
  1380. ]]>
  1381. </script>
  1382. <script type="javascript" ev:event="onclick">
  1383. <![CDATA[
  1384. // Physics / MD 승인된것은 수정하지 못하도록 막음
  1385. PhysicsMDYN();
  1386. // MD승인여부 체크하기
  1387. CuremdynChk();
  1388. /* var indx = grd_treatment.row;
  1389. model.setValue("/root/temp/grdindex/indx", indx);
  1390. alert(indx);
  1391. model.setValue("/root/send/reqdata/trseq", model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ indx+"]/trseq") );
  1392. model.setValue("/root/main/treatmentsum/treatmentinfo/ckno" , model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ indx +"]/ckno"));
  1393. model.setValue("/root/main/treatmentsum/treatmentinfo/cknoseq" , model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ indx +"]/cknoseq"));
  1394. model.setValue("/root/main/treatmentsum/treatmentinfo/trseq" , model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ indx +"]/trseq"));
  1395. model.setValue("/root/main/treatmentsum/treatmentinfo/pretx" , model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ indx +"]/pretx"));
  1396. model.refresh();
  1397. // submit("TRAEA03903");
  1398. */
  1399. ]]>
  1400. </script>
  1401. <script type="javascript" ev:event="xforms-value-changed">
  1402. <![CDATA[
  1403. // 리스트박스 형태의 데이터가 수정되었을때 동기화 루틴 호출
  1404. EditAutoSet();
  1405. ]]>
  1406. </script>
  1407. <script type="javascript" ev:event="onmouseup">
  1408. <![CDATA[
  1409. //그리드를 선택했을때만 적용 (스크롤은 반영안되게)
  1410. // 체크값을 전부 풀었다가 선택한것만 체크를 해준다
  1411. // 리스크 키조합의 경우 여러개가 선택될 수 있음. <= 건수를 확인하여 조건을 체크해 주어야 함.
  1412. if (isDataCell()) {
  1413. for ( var i = 1; i < grd_treatment.rows; i++) {
  1414. model.setValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/check", "N");
  1415. }
  1416. for ( var i =0 ; i< grd_treatment.selectedRows;i++){
  1417. model.setValue("/root/main/treatmentsuminfo/treatmentlist[" + grd_treatment.selectedRow(i) + "]/check", "Y");
  1418. }
  1419. }
  1420. model.refresh();
  1421. ]]>
  1422. </script>
  1423. <script type="javascript" ev:event="onendedit">
  1424. <![CDATA[
  1425. /*
  1426. * 계산조건 변경 (2009.10.14 박상준)
  1427. * 그룹코드를 기준으로 6MV 입력시 FxDose는 나눠진 값으로, AccDose는 누적값으로 계산
  1428. */
  1429. if(grd_treatment.colAttribute(grd_treatment.col,"ref")=="mvdose"){
  1430. var grupcd = model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ grd_treatment.row +"]/grupcd");
  1431. var curepartcnt = model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ grd_treatment.row +"]/curepartcnt");
  1432. var mvdose = model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ grd_treatment.row +"]/mvdose");
  1433. var divcnt = 0;
  1434. var accdos = 0;
  1435. // 선택된 그룹코드와 동일한 항목 건수체크
  1436. for ( i = grd_treatment.fixedRows; i < grd_treatment.rows; i++ ) {
  1437. if (grupcd == model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/grupcd") ){
  1438. //if (grupcd == model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/curepartcnt") ){
  1439. divcnt = divcnt + 1;
  1440. }
  1441. }
  1442. // 계산된 값을 실제 적용처리
  1443. var div = (mvdose/divcnt);
  1444. var accdos = (mvdose/divcnt);
  1445. // 소숫점 반올림,올림,버림을 적용하기 위해서 사용 : numericHelper.js, stringHelper.js 두가지 스크립트 필요
  1446. // 소숫점 둘째자리까지만 표시하고 이하는 버림 (그냥 계산한 값은 엄청길게 이상하게 들어오네~!!!)
  1447. var roundmode = div.toString().getRound(-3, "DOWN");
  1448. //alert(div + "-------" + accdos + "---------" + tmp);
  1449. for ( i = grd_treatment.fixedRows; i < grd_treatment.rows; i++ ) {
  1450. if (grupcd == model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/grupcd") ){
  1451. //if (grupcd == model.getValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/curepartcnt") ){
  1452. model.setValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/fracdose",roundmode);
  1453. //model.setValue("/root/main/treatmentsuminfo/treatmentlist["+ i +"]/totdose",accdos);
  1454. //accdos = (accdos + div);
  1455. }
  1456. }
  1457. // AccDose 값은 TargetNo 가 동일한 값을 기준으로 FxDose + 전AccDose 기준으로 계산
  1458. AccDoseEditSet();
  1459. } //IF문 종료
  1460. // 자동계산된 이후 바로 수정할 경우 재계산하도록 호출 함
  1461. if(grd_treatment.colAttribute(grd_treatment.col,"ref")=="fracdose"){
  1462. AccDoseEditSet();
  1463. }
  1464. // 수정된 특정컴럼 그룹코드 기준으로 동기화
  1465. EditAutoSet();
  1466. ]]>
  1467. </script>
  1468. </datagrid>
  1469. <line id="line2" class="line_1" style="x1:0px; y1:55px; x2:1192px; y2:55px; "/>
  1470. <input id="input1" ref="/root/main/carerecinfo/carerecmat/fiducialdd" class="input_default" disabled="true" style="left:222px; top:62px; width:220px; height:19px; font-weight:302px; "/>
  1471. <textarea id="textarea1" ref="/root/main/carerecinfo/carerecmat/rayphodd1" disabled="true" style="left:222px; top:85px; width:220px; height:73px; "/>
  1472. <caption id="caption46" class="cell_1" style="left:95px; top:85px; width:125px; height:73px; vertical-align:middle; ">Plan Image 촬영일</caption>
  1473. <caption id="caption29" class="cell_1" style="left:95px; top:60px; width:125px; height:23px; vertical-align:middle; ">Fiducial 시행일</caption>
  1474. <button id="button4" class="icon_search" disabled="true" style="left:195px; top:125px; width:16px; height:16px; ">
  1475. <caption/>
  1476. <script type="javascript" ev:event="onclick">
  1477. <![CDATA[
  1478. model.property("rayphodd1") = "/root/main/carerecinfo/carerecmat/rayphodd1";
  1479. model.property("rayphohh1") = "/root/main/carerecinfo/carerecmat/rayphohh1";
  1480. model.property("rayphomm1") = "/root/main/carerecinfo/carerecmat/rayphomm1";
  1481. model.setValue("/root/send/popdata/cknoseq", model.getValue("/root/send/reqdata/cknoseq"));
  1482. if (model.getValue("/root/main/carerecinfo/carerecmat/cybplanimg") == ""){
  1483. messageBox("CyberKinfer Plan Image를 선택한 후 작업하시기 바랍니다.", "E999", "");
  1484. return;
  1485. }
  1486. if (model.getValue("/root/main/carerecinfo/carerecmat/cybplanimg") == "01"){
  1487. model.setValue("/root/send/popdata/lrgcd", "CT");
  1488. }else if (model.getValue("/root/main/carerecinfo/carerecmat/cybplanimg") == "02"){
  1489. model.setValue("/root/send/popdata/lrgcd", "MRI");
  1490. }else if (model.getValue("/root/main/carerecinfo/carerecmat/cybplanimg") == "03"){
  1491. model.setValue("/root/send/popdata/lrgcd", "ANGIO");
  1492. }else if (model.getValue("/root/main/carerecinfo/carerecmat/cybplanimg") == "04"){
  1493. model.setValue("/root/send/popdata/lrgcd", "CT");
  1494. }else if (model.getValue("/root/main/carerecinfo/carerecmat/cybplanimg") == "05"){
  1495. model.setValue("/root/send/popdata/lrgcd", "CT");
  1496. }
  1497. modal("SPAOR01600", "", "200", "200", "SPAOR01600","/root/send/popdata","/root/send/popdata");
  1498. ]]>
  1499. </script>
  1500. </button>
  1501. <button id="button1" class="icon_search" disabled="true" style="left:194px; top:62px; width:16px; height:16px; ">
  1502. <caption/>
  1503. <script type="javascript" ev:event="onclick">
  1504. <![CDATA[
  1505. model.property("rayphodd1") = "/root/main/carerecinfo/carerecmat/rayphodd1";
  1506. model.property("rayphohh1") = "/root/main/carerecinfo/carerecmat/rayphohh1";
  1507. model.property("rayphomm1") = "/root/main/carerecinfo/carerecmat/rayphomm1";
  1508. model.setValue("/root/send/popdata/cknoseq", model.getValue("/root/send/reqdata/cknoseq"));
  1509. if (model.getValue("/root/main/carerecinfo/carerecmat/cybplanimg") == ""){
  1510. messageBox("CyberKinfer Plan Image를 선택한 후 작업하시기 바랍니다.", "E999", "");
  1511. return;
  1512. }
  1513. if (model.getValue("/root/main/carerecinfo/carerecmat/cybplanimg") == "01"){
  1514. model.setValue("/root/send/popdata/lrgcd", "CT");
  1515. }else if (model.getValue("/root/main/carerecinfo/carerecmat/cybplanimg") == "02"){
  1516. model.setValue("/root/send/popdata/lrgcd", "MRI");
  1517. }else if (model.getValue("/root/main/carerecinfo/carerecmat/cybplanimg") == "03"){
  1518. model.setValue("/root/send/popdata/lrgcd", "ANGIO");
  1519. }else if (model.getValue("/root/main/carerecinfo/carerecmat/cybplanimg") == "04"){
  1520. model.setValue("/root/send/popdata/lrgcd", "CT");
  1521. }else if (model.getValue("/root/main/carerecinfo/carerecmat/cybplanimg") == "05"){
  1522. model.setValue("/root/send/popdata/lrgcd", "CT");
  1523. }
  1524. modal("SPAOR01600", "", "200", "200", "SPAOR01600","/root/send/popdata","/root/send/popdata");
  1525. ]]>
  1526. </script>
  1527. </button>
  1528. <button id="button2" class="btn2_letter3" style="left:1136px; top:161px; width:53px; height:19px; ">
  1529. <caption>저장</caption>
  1530. <script type="javascript" ev:event="DOMActivate">
  1531. <![CDATA[
  1532. model.copyNode("/root/send/treatmentinfo", "/root/main/treatmentsum/treatmentinfo");
  1533. model.setValue("/root/send/treatmentinfo/ckno",model.getValue("/root/send/reqdata/ckno"));
  1534. model.setValue("/root/send/treatmentinfo/cknoseq",model.getValue("/root/send/reqdata/cknoseq"));
  1535. // 입력값 저장하기
  1536. submit("TXAEA03906");
  1537. submit("TRAEA03906");
  1538. /*
  1539. //의뢰병원 조회건수 있을경우 콤보박스 선택됨
  1540. if( model.getValue("/root/main/carerecinfo/carerecmat/reqinstcd") != ''){
  1541. cmb_reqhosp.dispatch("xforms-select");
  1542. }
  1543. //의뢰과1 조회건수 있을경우 콤보박스 선택됨
  1544. if( model.getValue("/root/main/carerecinfo/carerecmat/reqdeptcd1") != ''){
  1545. cmb_reqdeptcd1.dispatch("xforms-value-changed");
  1546. }
  1547. //의뢰과2 조회건수 있을경우 콤보박스 선택됨
  1548. if( model.getValue("/root/main/carerecinfo/carerecmat/reqdeptcd2") != ''){
  1549. cmb_reqdeptcd2.dispatch("xforms-value-changed");
  1550. }
  1551. //시행병원 조회건수 있을경우 콤보박스 선택됨
  1552. if( model.getValue("/root/main/carerecinfo/carerecmat/exeinstcd") != ''){
  1553. cmb_exeinstcd.dispatch("xforms-select");
  1554. }
  1555. //치료과1 조회건수 있을경우 콤보박스 선택됨
  1556. if( model.getValue("/root/main/carerecinfo/carerecmat/execdeptcd1") != ''){
  1557. cmb_execdeptcd1.dispatch("xforms-value-changed");
  1558. }
  1559. //치료과2 조회건수 있을경우 콤보박스 선택됨
  1560. if( model.getValue("/root/main/carerecinfo/carerecmat/execdeptcd2") != ''){
  1561. cmb_execdeptcd2.dispatch("xforms-value-changed");
  1562. }
  1563. model.refresh();
  1564. */
  1565. ]]>
  1566. </script>
  1567. </button>
  1568. <button id="button5" class="btn4_letter2" style="left:1135px; top:700px; width:56px; height:22px; ">
  1569. <caption>출력</caption>
  1570. <script type="javascript" ev:event="DOMActivate">
  1571. <![CDATA[
  1572. // 출력전에 필요한 데이터를 명칭으로 전환하여 가져온다
  1573. submit("TRAEA03907");
  1574. //exeReportPreview("RPAEA03900", "XMLSTR", "/root/main");
  1575. exeReportPreview("RPAEA03901", "XMLSTR", "/root/main");
  1576. ]]>
  1577. </script>
  1578. </button>
  1579. <caption id="caption25" class="cell_1" style="left:586px; top:189px; width:115px; height:20px; ">Operation</caption>
  1580. <caption id="caption32" class="cell_1" style="left:586px; top:213px; width:115px; height:20px; ">Chemotherapy</caption>
  1581. <caption id="caption34" class="cell_1" style="left:586px; top:237px; width:115px; height:20px; ">Radaition therapy</caption>
  1582. <button id="button3" class="btn4_letter5" style="left:165px; top:700px; width:92px; height:22px; ">
  1583. <caption>Physicist</caption>
  1584. <script type="javascript" ev:event="DOMActivate">
  1585. <![CDATA[
  1586. var idx = parseFloat(1);
  1587. model.removeNodeset("/root/popdata");
  1588. var idx = 1;
  1589. var kk = 0;
  1590. var chk = 0; // 선택여부 건수 체크를 위해, 멀티건 체크 방지
  1591. var rowcnt = grd_treatment.rows + 1;
  1592. model.removenode("/root/temp/treatment");
  1593. // 그리드의 로우수만큼 돌면서 체크된 자료만 넘겨준다.
  1594. for( i = 1; i < rowcnt ; i++) {
  1595. if(model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/check") == "Y") {
  1596. chk++;
  1597. kk = kk + 1;
  1598. // 처음값을 기준으로 같은 상태의 대상을 선택했는지 비교해보자
  1599. var currow = grd_treatment.row;
  1600. //var samcode = model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + currow + "]/statflag"); // 김병현 선생님 요구사항으로 기능 해제 2010.04.23
  1601. //if (model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/statflag") == samcode){ // 김병현 선생님 요구사항으로 기능 해제 2010.04.23
  1602. var samcode = model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + currow + "]/confphy");
  1603. if (model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/confphy") == samcode){
  1604. model.makeValue("/root/temp/treatment/treatmentlist["+ kk +"]/ckno", model.getValue("/root/main/treatmentsuminfo/treatmentlist/ckno"));
  1605. model.makeValue("/root/temp/treatment/treatmentlist["+ kk +"]/cknoseq", model.getValue("/root/main/treatmentsuminfo/treatmentlist/cknoseq"));
  1606. model.makeValue("/root/temp/treatment/treatmentlist["+ kk +"]/trseq", model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/trseq"));
  1607. model.makeValue("/root/temp/treatment/treatmentlist["+ kk +"]/statflag", model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/statflag"));
  1608. // 구분자를 넘겨 팝업창에서 승인 대상자 리스트를 그룹별로 보여준다
  1609. model.makeValue("/root/temp/treatment/treatmentlist[" + kk + "]/rttmd", 3); // 1:Dometrist, 2:RTT, 3:Physicist, 4:MD
  1610. model.makeValue("/root/temp/treatment/treatmentlist[" + kk + "]/m", "Physicist"); // 구분자에 따라서 app단에서 체크하는 부분이 있다
  1611. // 승인여부에 따라서 팝업창에서 어던 버튼을 활성화 할지 결정
  1612. //if(model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/statflag") == "R"){ // 김병현 선생님 요구사항으로 기능 해제 2010.04.23
  1613. if(model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/confphy") == ""){
  1614. model.makeValue("/root/temp/treatment/treatmentlist["+ kk +"]/appgb","Y");
  1615. }else{
  1616. model.makeValue("/root/temp/treatment/treatmentlist["+ kk +"]/appgb","N");
  1617. }
  1618. }else{
  1619. messageBox("진행상태가 ","E004");
  1620. return (0);
  1621. }
  1622. }
  1623. }
  1624. // 체크된 데이터가 있는지 확인하여 선택하도록 한다.
  1625. // 두개이상 선택했을때 하나만 선택하도록 한다.
  1626. if(chk == 0){
  1627. messageBox("선택된 데이터가","I004");
  1628. return(0);
  1629. } else{
  1630. // if(chk >=2){
  1631. // messageBox("하나만 선택","I008");
  1632. // return(0);
  1633. // }
  1634. }
  1635. /**
  1636. 김병현 선생님 요구사항으로 기능 해제 2010.04.23
  1637. // MD승인여부 체크하기
  1638. if(CuremdynChk() == '0'){
  1639. return;
  1640. }
  1641. // 최조입력(S) 또는 MD승인(Y)상태라면 Return
  1642. if(RTTChk() == '0'){
  1643. return;
  1644. }
  1645. */
  1646. modal("SPAEA03901", "", "800", "650", "SPAEA03901","/root/temp/treatment","/root/popdata/treatment");
  1647. //Treatment Summary 조회
  1648. submit("TRAEA03901");
  1649. // GrupCode를 기준으로 로딩된 Treatment Summary 자료 Merge 작업 하기
  1650. fmerge1();
  1651. ]]>
  1652. </script>
  1653. </button>
  1654. <caption id="caption2" class="cell_1" style="left:448px; top:29px; width:102px; height:23px; text-align:left; vertical-align:middle; ">집주소</caption>
  1655. <output id="opPhone" ref="/root/main/patpsn/patpsninfo/mpphontel" class="output_fix" style="left:1044px; top:6px; width:149px; height:19px; text-align:center; ">
  1656. <script type="javascript" ev:event="ondblclick">
  1657. <![CDATA[
  1658. if( model.getValue("/root/main/patpsn/patpsninfo/pid") != "" || model.getValue("/root/main/patpsn/patpsninfo/pid") != " " ) {
  1659. // 전화번호 더블클릭시 해당환자의 '전화번호/주소 조회 및 수정 창' 팝업창을 호출!!!
  1660. //예약내역이 없는 필드 체크
  1661. var hngnm = model.getValue("/root/main/patpsn/patpsninfo/hngnm");
  1662. var pid = model.getValue("/root/main/patpsn/patpsninfo/pid");
  1663. if (hngnm == null && hngnm == "" && hngnm == " " && hngnm == "-"){
  1664. return false;
  1665. }
  1666. //setParameter("opener_parameter_id", pid);
  1667. model.removeNodeset("/root/temp/source");
  1668. model.makeValue("/root/temp/source/srchcond", "1");
  1669. model.makeValue("/root/temp/source/pid", pid);
  1670. modal("SPPMO01400", "1", "100", "100", "SPPMO01400", "/root/temp/source", "/root/source");
  1671. var hometel = getParameter("SMPMO01400_hometel");
  1672. var mpphontel = getParameter("SMPMO01400_mpphontel");
  1673. if( hometel != '' && mpphontel != '' ){
  1674. model.setValue("/root/main/patpsn/patpsninfo/hometel", hometel) ;
  1675. model.setValue("/root/main/patpsn/patpsninfo/mpphontel", mpphontel) ;
  1676. }
  1677. model.removeNodeset("/root/temp/source");
  1678. model.refresh();
  1679. }
  1680. ]]>
  1681. </script>
  1682. </output>
  1683. <caption id="caption7" class="cell_1" style="left:721px; top:5px; width:80px; height:23px; text-align:left; vertical-align:middle; ">연락처1</caption>
  1684. <caption id="caption15" class="cell_1" style="left:960px; top:5px; width:80px; height:23px; text-align:left; vertical-align:middle; ">연락처2</caption>
  1685. <input id="input2" ref="/root/main/patpsn/patpsninfo/homedetladdr" class="input_default" disabled="true" style="left:555px; top:32px; width:638px; height:19px; "/>
  1686. <select1 id="radio3" ref="/root/main/patpsn/patpsninfo/iogb" disabled="true" appearance="full" cols="2" overflow="visible" style="left:450px; top:9px; width:100px; height:20px; border-style:none; ">
  1687. <choices>
  1688. <item>
  1689. <label>입원</label>
  1690. <value>I</value>
  1691. </item>
  1692. <item>
  1693. <label>외래</label>
  1694. <value>O</value>
  1695. </item>
  1696. </choices>
  1697. </select1>
  1698. <output id="output1" ref="/root/main/patpsn/patpsninfo/hometel" class="output_fix" style="left:805px; top:6px; width:149px; height:19px; text-align:center; ">
  1699. <script type="javascript" ev:event="ondblclick">
  1700. <![CDATA[
  1701. if( model.getValue("/root/main/patpsn/patpsninfo/pid") != "" || model.getValue("/root/main/patpsn/patpsninfo/pid") != " " ) {
  1702. // 전화번호 더블클릭시 해당환자의 '전화번호/주소 조회 및 수정 창' 팝업창을 호출!!!
  1703. //예약내역이 없는 필드 체크
  1704. var hngnm = model.getValue("/root/main/patpsn/patpsninfo/hngnm");
  1705. var pid = model.getValue("/root/main/patpsn/patpsninfo/pid");
  1706. if (hngnm == null && hngnm == "" && hngnm == " " && hngnm == "-"){
  1707. return false;
  1708. }
  1709. //setParameter("opener_parameter_id", pid);
  1710. model.removeNodeset("/root/temp/source");
  1711. model.makeValue("/root/temp/source/srchcond", "1");
  1712. model.makeValue("/root/temp/source/pid", pid);
  1713. modal("SPPMO01400", "1", "100", "100", "SPPMO01400", "/root/temp/source", "/root/source");
  1714. var hometel = getParameter("SMPMO01400_hometel");
  1715. var mpphontel = getParameter("SMPMO01400_mpphontel");
  1716. if( hometel != '' && mpphontel != '' ){
  1717. model.setValue("/root/main/patpsn/patpsninfo/hometel", hometel) ;
  1718. model.setValue("/root/main/patpsn/patpsninfo/mpphontel", mpphontel) ;
  1719. }
  1720. model.removeNodeset("/root/temp/source");
  1721. model.refresh();
  1722. }
  1723. ]]>
  1724. </script>
  1725. </output>
  1726. <caption id="caption30" class="cell_1" style="left:985px; top:60px; width:80px; height:23px; text-align:center; vertical-align:middle; ">의뢰 의사1</caption>
  1727. <caption id="caption31" class="cell_1" style="left:779px; top:85px; width:81px; height:23px; text-align:center; vertical-align:middle; ">의뢰 과2</caption>
  1728. <caption id="caption20" class="cell_1" style="left:985px; top:111px; width:80px; height:23px; text-align:center; vertical-align:middle; ">치료 의사1</caption>
  1729. <caption id="caption21" class="cell_1" style="left:779px; top:136px; width:80px; height:23px; text-align:center; vertical-align:middle; ">치료 과2</caption>
  1730. <caption id="caption16" class="cell_1" style="left:589px; top:85px; width:76px; height:23px; text-align:center; vertical-align:middle; ">의뢰병원2</caption>
  1731. <caption id="caption33" class="cell_1" style="left:447px; top:111px; width:140px; height:48px; vertical-align:middle; ">
  1732. <![CDATA[< 치료시행 과 / 의사 >]]>
  1733. </caption>
  1734. <caption id="caption18" class="cell_1" style="left:589px; top:136px; width:76px; height:23px; text-align:center; vertical-align:middle; ">시행병원2</caption>
  1735. <caption id="caption23" class="cell_1" style="left:985px; top:136px; width:80px; height:23px; text-align:center; vertical-align:middle; ">치료 의사2</caption>
  1736. <caption id="caption26" class="cell_1" style="left:589px; top:60px; width:76px; height:23px; text-align:center; vertical-align:middle; ">의뢰병원1</caption>
  1737. <caption id="caption27" class="cell_1" style="left:447px; top:60px; width:140px; height:48px; vertical-align:middle; ">
  1738. <![CDATA[< 치료의뢰 과 / 의사 >]]>
  1739. </caption>
  1740. <caption id="caption35" class="cell_1" style="left:779px; top:60px; width:81px; height:23px; text-align:center; vertical-align:middle; ">의뢰 과1</caption>
  1741. <caption id="caption36" class="cell_1" style="left:985px; top:85px; width:80px; height:23px; text-align:center; vertical-align:middle; ">의뢰 의사2</caption>
  1742. <caption id="caption37" class="cell_1" style="left:589px; top:112px; width:76px; height:23px; text-align:center; vertical-align:middle; ">시행병원1</caption>
  1743. <caption id="caption38" class="cell_1" style="left:779px; top:111px; width:80px; height:23px; text-align:center; vertical-align:middle; ">치료 과1</caption>
  1744. <line id="line7" class="line_2" style="x1:582px; y1:104px; x2:1192px; y2:104px; "/>
  1745. <output id="output2" ref="/root/main/carerecinfo/carerecmat/reqinstcdhg" class="output_fix" style="left:667px; top:62px; width:110px; height:19px; text-align:center; vertical-align:middle; "/>
  1746. <output id="output3" ref="/root/main/carerecinfo/carerecmat/reqdeptcdhg" class="output_fix" style="left:862px; top:61px; width:120px; height:19px; text-align:center; vertical-align:middle; "/>
  1747. <output id="output4" ref="/root/main/carerecinfo/carerecmat/reqdridhg" class="output_fix" style="left:1069px; top:61px; width:120px; height:19px; text-align:center; vertical-align:middle; "/>
  1748. <output id="output5" ref="/root/main/carerecinfo/carerecmat/reqinstcd2hg" class="output_fix" style="left:667px; top:87px; width:110px; height:19px; text-align:center; vertical-align:middle; "/>
  1749. <output id="output6" ref="/root/main/carerecinfo/carerecmat/reqdeptcd2hg" class="output_fix" style="left:862px; top:87px; width:120px; height:19px; text-align:center; vertical-align:middle; "/>
  1750. <output id="output7" ref="/root/main/carerecinfo/carerecmat/reqdrid2hg" class="output_fix" style="left:1069px; top:87px; width:120px; height:19px; text-align:center; vertical-align:middle; "/>
  1751. <output id="output8" ref="/root/main/carerecinfo/carerecmat/exeinstcdhg" class="output_fix" style="left:667px; top:114px; width:110px; height:19px; text-align:center; vertical-align:middle; "/>
  1752. <output id="output9" ref="/root/main/carerecinfo/carerecmat/execdeptcdhg" class="output_fix" style="left:862px; top:112px; width:120px; height:19px; text-align:center; vertical-align:middle; "/>
  1753. <output id="output10" ref="/root/main/carerecinfo/carerecmat/execdridhg" class="output_fix" style="left:1069px; top:112px; width:120px; height:19px; text-align:center; vertical-align:middle; "/>
  1754. <output id="output11" ref="/root/main/carerecinfo/carerecmat/exeinstcd2hg" class="output_fix" style="left:666px; top:138px; width:110px; height:19px; text-align:center; vertical-align:middle; "/>
  1755. <output id="output12" ref="/root/main/carerecinfo/carerecmat/execdeptcd2hg" class="output_fix" style="left:862px; top:138px; width:120px; height:19px; text-align:center; vertical-align:middle; "/>
  1756. <output id="output13" ref="/root/main/carerecinfo/carerecmat/execdrid2hg" class="output_fix" style="left:1069px; top:138px; width:120px; height:19px; text-align:center; vertical-align:middle; "/>
  1757. <datagrid id="grd_nurrec" nodeset="/root/main/carerecinfo/carerecdetl" class="datagrid2" disabled="false" autoresize="true" caption="FX^Target&#xA;No^Fx^순번^치료일^혈압^맥박^호흡^체온^메 모^caption31^caption32^caption18" colsep="^" colwidth="25, 57, 33, 42, 90, 50, 35, 35, 35, 729, 22, 24" dataheight="30" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:539px; width:1192px; height:156px; ">
  1758. <col disabled="true" ref="pxseq" visibility="hidden" style="text-align:center; vertical-align:middle; "/>
  1759. <col disabled="true" ref="curepartcnt" type="combo" style="text-align:center; vertical-align:middle; ">
  1760. <choices>
  1761. <itemset nodeset="/root/init/cmb_cdinfo/targetnolist">
  1762. <label ref="basecdflagdesc"/>
  1763. <value ref="basecd"/>
  1764. </itemset>
  1765. </choices>
  1766. </col>
  1767. <col disabled="true" ref="fx" type="combo" style="text-align:center; ">
  1768. <choices>
  1769. <itemset nodeset="/root/init/cmb_cdinfo/fxlist">
  1770. <label ref="basecdflagdesc"/>
  1771. <value ref="basecd"/>
  1772. </itemset>
  1773. </choices>
  1774. </col>
  1775. <choices>
  1776. <itemset nodeset="/root/init/cmb_cdinfo/targetnolist">
  1777. <label ref="basecdflagdesc"/>
  1778. <value ref="basecd"/>
  1779. </itemset>
  1780. </choices>
  1781. <col disabled="true" ref="seq" visibility="hidden"/>
  1782. <col disabled="true" ref="cureldd" format="yyyy-mm-dd" style="text-align:center; "/>
  1783. <col disabled="true" ref="bp" type="input" maxlength="20" style="text-align:center; "/>
  1784. <col disabled="true" ref="pulse" type="input" maxlength="20" style="text-align:center; "/>
  1785. <col disabled="true" ref="breth" type="input" maxlength="20" style="text-align:center; "/>
  1786. <col disabled="true" ref="bdtp" type="input" maxlength="20" style="text-align:center; "/>
  1787. <col disabled="true" ref="memo" type="input"/>
  1788. <col ref="ckno" visibility="hidden"/>
  1789. <col ref="cknoseq" visibility="hidden"/>
  1790. <script type="javascript" ev:event="onkeydown">
  1791. <![CDATA[
  1792. // 엔터키를 치면 다음 컬럼으로 포커스가 넘어가도록 만듬
  1793. if(event.keyCode == "13"){
  1794. grd_nurrec.col= grd_nurrec.col + 1;
  1795. }
  1796. ]]>
  1797. </script>
  1798. </datagrid>
  1799. <button id="btn_cnfsave" class="btn4_letter4" style="left:257px; top:700px; width:80px; height:22px; ">
  1800. <caption>MD승인</caption>
  1801. <script type="javascript" ev:event="DOMActivate">
  1802. <![CDATA[
  1803. //인증저장 체크
  1804. var formrecseq = model.getValue("/root/main/treatmentsuminfo/treatmentlist[1]/formrecseq");
  1805. //alert('formrecseq==>'+formrecseq);
  1806. if ( formrecseq == 0 ) {
  1807. }else {
  1808. messageBox("서식삭제가 완료되지 ","E007");
  1809. return 0;
  1810. }
  1811. var idx = parseFloat(1);
  1812. model.removeNodeset("/root/popdata");
  1813. var idx = 1;
  1814. var kk = 0;
  1815. var chk = 0; // 선택여부 건수 체크를 위해, 멀티건 체크 방지
  1816. var rowcnt = grd_treatment.rows + 1;
  1817. model.removenode("/root/temp/treatment");
  1818. // 그리드의 로우수만큼 돌면서 체크된 자료만 넘겨준다.
  1819. for( i = 1; i < rowcnt ; i++) {
  1820. if(model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/check") == "Y") {
  1821. chk++;
  1822. kk = kk + 1;
  1823. // 처음값을 기준으로 같은 상태의 대상을 선택했는지 비교해보자
  1824. var currow = grd_treatment.row;
  1825. //var samcode = model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + currow + "]/statflag"); // 김병현 선생님 요구사항으로 기능 해제 2010.04.23
  1826. //if (model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/statflag") == samcode){ // 김병현 선생님 요구사항으로 기능 해제 2010.04.23
  1827. var samcode = model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + currow + "]/confmd");
  1828. if (model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/confmd") == samcode){
  1829. model.makeValue("/root/temp/treatment/treatmentlist["+ kk +"]/ckno", model.getValue("/root/main/treatmentsuminfo/treatmentlist/ckno"));
  1830. model.makeValue("/root/temp/treatment/treatmentlist["+ kk +"]/cknoseq", model.getValue("/root/main/treatmentsuminfo/treatmentlist/cknoseq"));
  1831. model.makeValue("/root/temp/treatment/treatmentlist["+ kk +"]/trseq", model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/trseq"));
  1832. model.makeValue("/root/temp/treatment/treatmentlist["+ kk +"]/statflag", model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/statflag"));
  1833. // 구분자를 넘겨 팝업창에서 승인 대상자 리스트를 그룹별로 보여준다
  1834. model.makeValue("/root/temp/treatment/treatmentlist[" + kk + "]/rttmd", 4); // 1:Dometrist, 2:RTT, 3:Physicist, 4:MD
  1835. model.makeValue("/root/temp/treatment/treatmentlist[" + kk + "]/m", "MD"); // 구분자에 따라서 app단에서 체크하는 부분이 있다
  1836. // 승인여부에 따라서 팝업창에서 어던 버튼을 활성화 할지 결정
  1837. // Physicist 승인이 되어야 MD 승인을 진행할 수 있다
  1838. //if(model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/statflag") == "P"){ // 김병현 선생님 요구사항으로 기능 해제 2010.04.23
  1839. if(model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/confmd") == ""){
  1840. model.makeValue("/root/temp/treatment/treatmentlist["+ kk +"]/appgb","Y");
  1841. }else{
  1842. model.makeValue("/root/temp/treatment/treatmentlist["+ kk +"]/appgb","N");
  1843. }
  1844. }else{
  1845. messageBox("진행상태가 ","E004");
  1846. return (0);
  1847. }
  1848. }
  1849. }
  1850. // 체크된 데이터가 있는지 확인하여 선택하도록 한다.
  1851. // 두개이상 선택했을때 하나만 선택하도록 한다.
  1852. if(chk == 0){
  1853. messageBox("선택된 데이터가","I004");
  1854. return(0);
  1855. } else{
  1856. // if(chk >=2){
  1857. // messageBox("하나만 선택","I008");
  1858. // return(0);
  1859. // }
  1860. }
  1861. /**
  1862. 김병현 선생님 요구사항으로 기능 해제 2010.04.23
  1863. // MD승인여부 체크하기
  1864. // Physics 승인되었는지 체크
  1865. if(PhysicsChk() == "0"){
  1866. return;
  1867. }
  1868. */
  1869. //MD저장
  1870. modal("SPAEA03901", "", "800", "650", "SPAEA03901","/root/temp/treatment","/root/popdata/treatment");
  1871. submit("TRAEA03901");
  1872. // GrupCode를 기준으로 로딩된 Treatment Summary 자료 Merge 작업 하기
  1873. fmerge1();
  1874. ]]>
  1875. </script>
  1876. </button>
  1877. <button id="btn_formacpt" class="btn4_letter4" style="left:344px; top:700px; width:80px; height:22px; ">
  1878. <caption>서식저장</caption>
  1879. <script type="javascript" ev:event="DOMActivate">
  1880. <![CDATA[
  1881. fMediRecSave();
  1882. ]]>
  1883. </script>
  1884. </button>
  1885. <datagrid id="grd_eqmtifyn" nodeset="/root/hidden/medirec/eqmtifynlist" class="datagrid2" disabled="false" visibility="hidden" autoresize="true" caption="eqmtifimgyn^execprcpuniqno^caption18" colsep="^" colwidth="81, 97" dataheight="30" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" style="left:825px; top:440px; width:200px; height:156px; ">
  1886. <col disabled="false" ref="eqmtifimgyn"/>
  1887. <col disabled="true" ref="execprcpuniqno" style="text-align:center; "/>
  1888. <script type="javascript" ev:event="onkeydown">
  1889. <![CDATA[
  1890. // 엔터키를 치면 다음 컬럼으로 포커스가 넘어가도록 만듬
  1891. if(event.keyCode == "13"){
  1892. grd_nurrec.col= grd_nurrec.col + 1;
  1893. }
  1894. ]]>
  1895. </script>
  1896. </datagrid>
  1897. <button id="button6" class="btn4_letter4" disabled="false" style="left:85px; top:700px; width:80px; height:22px; ">
  1898. <caption>RTT승인</caption>
  1899. <script type="javascript" ev:event="DOMActivate">
  1900. <![CDATA[
  1901. var idx = parseFloat(1);
  1902. model.removeNodeset("/root/popdata");
  1903. var idx = 1;
  1904. var kk = 0;
  1905. var chk = 0; // 선택여부 건수 체크를 위해, 멀티건 체크 방지
  1906. // 상태값이 Physicist 또는 MD승인 상태면 RTT작업 리턴
  1907. /**
  1908. 김병현 선생님 요구사항으로 기능 해제 2010.04.23
  1909. if(model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + grd_treatment.row + "]/statflag")=="P" || model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + grd_treatment.row + "]/statflag")=="Y"){
  1910. return(0);
  1911. }
  1912. */
  1913. var rowcnt = grd_treatment.rows + 1;
  1914. model.removenode("/root/temp/treatment");
  1915. // 그리드의 로우수만큼 돌면서 체크된 자료만 넘겨준다.
  1916. for( i = 1; i < rowcnt ; i++) {
  1917. if(model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/check") == "Y") {
  1918. chk++;
  1919. kk = kk + 1;
  1920. // 처음값을 기준으로 같은 상태의 대상을 선택했는지 비교해보자
  1921. var currow = grd_treatment.row;
  1922. //var samcode = model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + currow + "]/statflag"); // 김병현 선생님 요구사항으로 기능 해제 2010.04.23
  1923. //if (model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/statflag") == samcode){ // 김병현 선생님 요구사항으로 기능 해제 2010.04.23
  1924. var samcode = model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + currow + "]/confrtt");
  1925. if (model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/confrtt") == samcode){
  1926. model.makeValue("/root/temp/treatment/treatmentlist["+ kk +"]/ckno", model.getValue("/root/main/treatmentsuminfo/treatmentlist/ckno"));
  1927. model.makeValue("/root/temp/treatment/treatmentlist["+ kk +"]/cknoseq", model.getValue("/root/main/treatmentsuminfo/treatmentlist/cknoseq"));
  1928. model.makeValue("/root/temp/treatment/treatmentlist["+ kk +"]/trseq", model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/trseq"));
  1929. model.makeValue("/root/temp/treatment/treatmentlist["+ kk +"]/statflag", model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/statflag"));
  1930. // 구분자를 넘겨 팝업창에서 승인 대상자 리스트를 그룹별로 보여준다
  1931. model.makeValue("/root/temp/treatment/treatmentlist[" + kk + "]/rttmd", 2); // 1:Dometrist, 2:RTT, 3:Physicist, 4:MD
  1932. model.makeValue("/root/temp/treatment/treatmentlist[" + kk + "]/m", "RTT"); // 구분자에 따라서 app단에서 체크하는 부분이 있다
  1933. // 승인여부에 따라서 팝업창에서 어던 버튼을 활성화 할지 결정
  1934. //if(model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/statflag") == "S"){ // 김병현 선생님 요구사항으로 기능 해제 2010.04.23
  1935. if(model.getValue("/root/main/treatmentsuminfo/treatmentlist[" + i + "]/confrtt") == ""){
  1936. model.makeValue("/root/temp/treatment/treatmentlist["+ kk +"]/appgb","Y");
  1937. }else{
  1938. model.makeValue("/root/temp/treatment/treatmentlist["+ kk +"]/appgb","N");
  1939. }
  1940. }else{
  1941. messageBox("진행상태가 ","E004");
  1942. return (0);
  1943. }
  1944. }
  1945. }
  1946. // 체크된 데이터가 있는지 확인하여 선택하도록 한다.
  1947. // 두개이상 선택했을때 하나만 선택하도록 한다.
  1948. /**
  1949. if(chk == 0){
  1950. messageBox("선택된 데이터가","I004");
  1951. return(0);
  1952. } else{
  1953. if(chk >=2){
  1954. messageBox("하나만 선택","I008");
  1955. return(0);
  1956. }
  1957. }
  1958. */
  1959. /**
  1960. 김병현 선생님 요구사항으로 기능 해제 2010.04.23
  1961. // MD승인여부 체크하기
  1962. if(CuremdynChk() == '0'){
  1963. return;
  1964. }
  1965. **/
  1966. modal("SPAEA03901", "", "800", "650", "SPAEA03901","/root/temp/treatment","/root/popdata/treatment");
  1967. //Treatment Summary 조회
  1968. submit("TRAEA03901");
  1969. // GrupCode를 기준으로 로딩된 Treatment Summary 자료 Merge 작업 하기
  1970. fmerge1();
  1971. ]]>
  1972. </script>
  1973. </button>
  1974. <datagrid id="grd_attach" nodeset="/root/send/req/data/attach" visibility="hidden" scroll="auto" autoresize="true" caption="ImagePath" colsep="^" colwidth="84" mergecellsfixedrows="bycolrec" rowsep="|" style="left:600px; top:5px; width:100px; height:50px; ">
  1975. <col ref="file"/>
  1976. </datagrid>
  1977. <datagrid id="grd_attachfile" nodeset="/root/main/list/attachlist" visibility="hidden" scroll="auto" autoresize="true" caption="filename^filesize^filetype^filepath" colsep="^" colwidth="60, 63, 59, 67" mergecellsfixedrows="bycolrec" rowsep="|" style="left:715px; top:20px; width:285px; height:50px; ">
  1978. <col ref="filename"/>
  1979. <col ref="filesize"/>
  1980. <col ref="filetype"/>
  1981. <col ref="filepath"/>
  1982. <script type="javascript" ev:event="onclick">
  1983. <![CDATA[
  1984. if ( grd_attachfile.rows <= grd_treatment.fixedRows ) // 로딩된 데이터가 없으면 리턴
  1985. return;
  1986. var idx = grd_attachfile.row;
  1987. if(idx == 0) return false;
  1988. var filepath = model.getValue("/root/main/list/attachlist["+ 1 +"]/filepath"); // 첫번째 로딩된 값을 보여준다.
  1989. model.setValue("/root/imgsend/filepath", filepath);
  1990. submit("TRAEA03905");
  1991. model.removenode("/root/image/attachfile/image[0]");
  1992. setImageRefInstance("/root/image/attachfile/image");
  1993. model.refresh();
  1994. ]]>
  1995. </script>
  1996. </datagrid>
  1997. <img id="img2" ref="/root/image/attachfile/image" visibility="hidden" style="left:330px; top:230px; width:450px; height:405px; background-stretch:stretch; "/>
  1998. <img id="img1" ref="/root/image/attachfile/image" style="left:0px; top:60px; width:93px; height:97px; background-stretch:stretch; border-style:sunken; ">
  1999. <script type="javascript" ev:event="onmouseout">
  2000. <![CDATA[
  2001. img2.visible = false;
  2002. ]]>
  2003. </script>
  2004. <script type="javascript" ev:event="onmouseover">
  2005. <![CDATA[
  2006. img2.visible = true;
  2007. /*
  2008. img2.initStyle("height");
  2009. img2.initStyle("width");
  2010. if(img2.currentStyle.width > 800)
  2011. {
  2012. var imgWidth = img2.currentStyle.width;
  2013. var imgHeight = img2.currentStyle.height;
  2014. var imgRate = 800 / imgWidth;
  2015. img2.attribute("width") = 800;
  2016. img2.attribute("height") = imgHeight * imgRate;
  2017. }
  2018. if(img2.currentStyle.height > 700)
  2019. {
  2020. var imgWidth = img2.currentStyle.width;
  2021. var imgHeight = img2.currentStyle.height;
  2022. var imgRate = 700 / imgHeight;
  2023. img2.attribute("width") = imgWidth / imgRate;
  2024. img2.attribute("height") = 700;
  2025. }
  2026. img2.refresh();
  2027. */
  2028. ]]>
  2029. </script>
  2030. </img>
  2031. </group>
  2032. <caption id="caption13" class="search_name" style="left:345px; top:15px; width:88px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">등록번호 :</caption>
  2033. <input id="ipt_ckno" ref="/root/send/reqdata/ckno" class="input_search" disabled="false" navindex="1" _chartype="upper" style="left:108px; top:15px; width:105px; height:19px; ">
  2034. <script type="javascript" ev:event="onkeydown">
  2035. <![CDATA[
  2036. model.setValue("/root/send/reqdata/srchflag", "ckno");
  2037. inputEnterKey("btn_sea","DOMActivate");
  2038. ]]>
  2039. </script>
  2040. </input>
  2041. <button id="button7" class="btn3_letter6" style="left:1025px; top:755px; width:104px; height:22px; ">
  2042. <caption>통합기록조회</caption>
  2043. <script type="javascript" ev:event="DOMActivate">
  2044. <![CDATA[
  2045. var pid = model.getValue("/root/send/reqdata/pid");
  2046. if(pid == ""){
  2047. messageBox("통합기록조회를 검색할 환자를", "C002");
  2048. return;
  2049. }
  2050. var wndobj = getOpenWindow("SMMRI00400");
  2051. if(wndobj != null){
  2052. setParameter("SMMRI00400_param_pid", model.getValue("/root/send/reqdata/pid"));
  2053. wndobj.javascript.fInitalize();
  2054. }else{
  2055. setParameter("SMMRI00400_param_pid", model.getValue("/root/send/reqdata/pid"));
  2056. open("SMMRI00400", 2, 0, 0);
  2057. }
  2058. ]]>
  2059. </script>
  2060. </button>
  2061. </xhtml:body>
  2062. </xhtml:html>