SPLPR00200_추가결과등록.xrw 60 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SPLPR00200추가결과등록.xrw
  4. * 설 명 : Addendum 팝업창(검사결과등록)
  5. * 설 계 자 : 설계자가 별도로 존재시 작성
  6. * 작 성 자 : 유동철(ACK)
  7. * 작 성 일 : 2006.11.30
  8. * 수정이력 : 최종작성일 기준으로 변경사항 이력관리
  9. * 기 타 : 주석문에 반영되어야 할 사항 표기
  10. -->
  11. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  12. <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">
  13. <xhtml:head>
  14. <xhtml:title>추가결과등록</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <addendum>
  20. <addendumlist>
  21. <instcd/>
  22. <ptno/>
  23. <dispptno/>
  24. <addrsltdg/>
  25. <rgstdd/>
  26. <rgsttm/>
  27. <readdrid/>
  28. <readdrnm/>
  29. <readaddbase/>
  30. <readrslt/>
  31. <cmtcnts/>
  32. <rgstno/>
  33. <diagcnts/>
  34. <etccnts/>
  35. <cnfmdd/>
  36. <cnfmtm/>
  37. <cnfmid/>
  38. <cnfmnm/>
  39. <rgstnm/>
  40. <choi/>
  41. </addendumlist>
  42. </addendum>
  43. </main>
  44. <send/>
  45. <init>
  46. <testrslt>
  47. <staintestlist>
  48. <instcd/>
  49. <ptno/>
  50. <dispptno/>
  51. <acptdd/>
  52. <acptno/>
  53. <acptitemno/>
  54. <testcd/>
  55. <testnm/>
  56. <workflagcd/>
  57. <rsltrgstdd/>
  58. <rsltrgstno/>
  59. <testrslt/>
  60. <trandd/>
  61. <tranno/>
  62. <orgacptstatcd/>
  63. <orgprcpstatcd/>
  64. <prcpdd/>
  65. <execprcpuniqno/>
  66. <prcpgenrflag/>
  67. </staintestlist>
  68. <relaptnolist>
  69. <ptno/>
  70. <choi/>
  71. <dispptno/>
  72. <pid/>
  73. <acptstatcd/>
  74. <acptdd/>
  75. <testhngnm/>
  76. </relaptnolist>
  77. </testrslt>
  78. <userinfo>
  79. <userinfolist>
  80. <userid/>
  81. <usernm/>
  82. <jobkindcd/>
  83. </userinfolist>
  84. </userinfo>
  85. <hospenv>
  86. <hospenvinfo>
  87. <instcd/>
  88. <lendrtnterm/>
  89. <recvqualmthdcd/>
  90. <plgydeptcd/>
  91. <plgyteamcd/>
  92. <doctjobgradcd/>
  93. <teamjobgradcd/>
  94. </hospenvinfo>
  95. </hospenv>
  96. <userdeptcd/>
  97. <popupmenu>
  98. <item>
  99. <nm>결과삭제</nm>
  100. <funt>fExeDelAddRslt</funt>
  101. </item>
  102. </popupmenu>
  103. <resncd>
  104. <resncdlist>
  105. <instcd/>
  106. <flagcd/>
  107. <resncd/>
  108. <resncnts/>
  109. </resncdlist>
  110. </resncd>
  111. <cnclflagcd>30</cnclflagcd>
  112. </init>
  113. <hidden>
  114. <rsltcont/>
  115. <resncd/>
  116. </hidden>
  117. <temp>
  118. <readaddbase/>
  119. <readrslt/>
  120. <cmtcnts/>
  121. <ptno/>
  122. <instcd/>
  123. <rgstno/>
  124. <addrsltdg/>
  125. <readdrid/>
  126. <rgstdd/>
  127. <rgsttm/>
  128. <mpphonno/>
  129. <diagcnts/>
  130. <etccnts/>
  131. <cnfmdd/>
  132. <cnfmtm/>
  133. <cnfmid/>
  134. <cnfmnm/>
  135. <rgstnm/>
  136. <testrslt>
  137. <testrsltinfo/>
  138. </testrslt>
  139. <cnclflagcd/>
  140. <cnclresncd/>
  141. <resncnts/>
  142. </temp>
  143. </root>
  144. </instance>
  145. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  146. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  147. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  148. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  149. <script type="javascript" src="../../../lis/commonweb/js/LPZ001.js"/>
  150. <script type="javascript" src="../../../emr/carecomweb/js/ENRSignEngine.js"/>
  151. <script type="javascript" ev:event="xforms-ready">
  152. <![CDATA[
  153. makeReportPreview(0, 0, 500, 500, "grp_prnt");
  154. fExeInitialize();
  155. ]]>
  156. </script>
  157. <submission id="TRLPZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/hospenv/hospenvinfo"/>
  158. <submission id="TRLPZ00105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/userinfo/userinfolist"/>
  159. <submission id="TRLPZ00107" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/temp/testrslt/testrsltinfo"/>
  160. <submission id="TRLPZ00112" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/temp/testrslt/patbasicinfo"/>
  161. <submission id="TRLPR00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/addendum/addendumlist"/>
  162. <submission id="TXLPR00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/message"/>
  163. <submission id="TXLPR01102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/message"/>
  164. <submission id="TXLPR02401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/message"/>
  165. <submission id="TRLPZ00113" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/temp/testrslt/testrsltinfo"/>
  166. <submission id="TRLPZ00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/resncd/resncdlist"/>
  167. </model>
  168. <script type="javascript">
  169. <![CDATA[
  170. var gGrdRoNo = 0;
  171. /* @group : 추가결과등록
  172. * @ver : 2008.09.26
  173. * @by : 박중규
  174. * @-----------------------------------
  175. * @type : function
  176. * @access : public
  177. * @desc : 진단내용 팝업창 호출 처리 Function
  178. */
  179. function fExeDiagPopup() {
  180. var sNode = "/root/temp/etccnts";
  181. var sDiagNm = model.getValue(sNode);
  182. var sDiagInfo = "";
  183. //--------------------------------------------
  184. // 영문,숫자, 한글일때는 3글자 넣어야 검색가능
  185. if ( sDiagNm.length < 2 ) {
  186. messageBox ( "2글자 이상", "C001" );
  187. return;
  188. }
  189. //-----------------------------------------
  190. setParameter("SPMMO00800_cond1", "2" ); // 첫단어검색을 먼저하는 것으로 수정한다.(1:코드검색)
  191. setParameter("SPMMO00800_cond2", "3"); // 명칭검색구분(1:코드, 2:단어, 3:문장, 4:첫단어)
  192. setParameter("SPMMO00800_cond3", "E" ); // 한영구분(H: 한글, E:영문)
  193. setParameter("SPMMO00800_cond4", getCurrentDate()); // 기준일자: 외래일때는 진료일자, 입원일때는 처방일자
  194. setParameter("SPMMO00800_cond5", sDiagNm ); // 검색내용
  195. setParameter("SPMMO00800_rtn", "" ); // 반환값
  196. setParameter("SPMMO00800_rtn_useyn", sDiagNm ); // 검색내용
  197. modal ( "SPMMO00800", null, null, null, "diagsrch", "", "", "", false );
  198. if ( getParameter( "SPMMO00800_rtn_useyn" ) == "Y" ) {
  199. //-----------------------------------------
  200. sDiagInfo = getParameter("SPMMO00800_rtn");
  201. var icd10cd = fExeGetArrayData( sDiagInfo, 1, 8, "▩", "▦" );
  202. var diagcd = fExeGetArrayData( sDiagInfo, 1, 9, "▩", "▦" );
  203. var diagengnm = fExeGetArrayData( sDiagInfo, 1, 2, "▩", "▦" );
  204. var diaghngnm = fExeGetArrayData( sDiagInfo, 1, 3, "▩", "▦" );
  205. var spclinfo = fExeGetArrayData( sDiagInfo, 1, 5, "▩", "▦" );
  206. //-------------------------------------------
  207. model.makeValue(sNode, diagengnm);
  208. //model.makeValue(sNode+"/diagcd", diagcd);
  209. //-----------------------------------------
  210. setParameter( "SPMMO00800_rtn_useyn", "" );
  211. }
  212. //--------------
  213. model.refresh();
  214. }
  215. function fExeGetArrayData (pData, pRow, pCol, pRowSep, pColSep ) {
  216. var arrRow = pData.split(pRowSep);
  217. if(arrRow.length <= pRow) return "";
  218. var arrCol = arrRow[pRow].split(pColSep);
  219. if(arrCol.length <= pCol) return "";
  220. return arrCol[pCol];
  221. }
  222. /* @group : 추가결과등록
  223. * @ver : 2008.09.26 (CMCDEV-0001)
  224. * @by : 박중규(ACK)
  225. * @-----------------------------------
  226. * @type : function
  227. * @access : public
  228. * @desc : 확장 텍스트 입력 종료 Function
  229. */
  230. function fExeCloseCntsView() {
  231. var strNode = model.getValue("/root/hidden/rtnnode");
  232. if (strNode != "") {
  233. model.makeValue(model.getValue("/root/hidden/rtnnode"), model.getValue("/root/hidden/rsltcont"));
  234. }
  235. //---------------------------
  236. grp_rsltcnts.visible = false;
  237. model.refresh();
  238. }
  239. /* @group : 추가결과등록
  240. * @ver : 2008.09.26 (CMCDEV-0001)
  241. * @by : 박중규(ACK)
  242. * @-----------------------------------
  243. * @type : function
  244. * @access : public
  245. * @desc : 확장 텍스트 입력 활성화 Function
  246. */
  247. function fExeCntsView(pTitle, objCnts) {
  248. if (event.currentTarget == event.target) {
  249. model.makeValue("/root/hidden/rtnnode", objCnts.attribute("ref"));
  250. model.makeValue("/root/hidden/rsltcont", objCnts.currentText);
  251. cap_title.value = pTitle;
  252. grp_rsltcnts.visible = true;
  253. model.setFocus("tar_rsltcnts");
  254. }
  255. }
  256. /* @group : 추가결과등록
  257. * @ver : 2007.05.31 (CMCDEV-0001)
  258. * @by : 유동철(ACK)
  259. * @-----------------------------------
  260. * @type : function
  261. * @access : public
  262. * @desc : 화면 초기화 처리 Function
  263. */
  264. function fExeInitialize() {
  265. var iNo = 0;
  266. var nodelist = 0;
  267. model.makeValue("/root/temp/instcd", model.getValue(opener.root.main.testrslt.testcdlist.instcd));
  268. model.makeValue("/root/temp/ptno", model.getValue(opener.root.main.testrslt.testcdlist.ptno));
  269. //---------------
  270. // TEST
  271. //model.makeValue("/root/temp/instcd", "031");
  272. //model.makeValue("/root/temp/ptno", "C10000001");
  273. model.removeNodeset("/root/main/addendum/addendumlist");
  274. //--------------------------
  275. // Send Node 삭제 후 재 생성
  276. model.removeNodeset("/root/send");
  277. model.makeValue("/root/send/instcd", model.getValue("/root/temp/instcd"));
  278. model.makeValue("/root/send/baseflagcd", model.getValue("/root/init/cnclflagcd"));
  279. submit("TRLPZ00103", false);
  280. submit("TRLPZ00101");
  281. //-----------------------------------------------------------------
  282. model.removeNodeset("/root/init/resncd/resncdlist[resncd='ZZZZ']");
  283. iNo = getNodesetCount("/root/init/resncd/resncdlist");
  284. model.makeValue("/root/init/resncd/resncdlist["+(Number(iNo) + 1)+"]/instcd", model.getValue("/root/temp/instcd"));
  285. model.makeValue("/root/init/resncd/resncdlist["+(Number(iNo) + 1)+"]/flagcd", model.getValue("/root/init/cnclflagcd") );
  286. model.makeValue("/root/init/resncd/resncdlist["+(Number(iNo) + 1)+"]/resncd", "-");
  287. model.makeValue("/root/init/resncd/resncdlist["+(Number(iNo) + 1)+"]/resncnts", " ");
  288. //---------------------------------------------------------
  289. // 병원환경정보를 취득하여 병리과와 병리팀 코드를 편집한다.
  290. lpzfUserDeptCd("/root/init/hospenv/hospenvinfo", "/root/init");
  291. //--------------------------------------------------------------------------------
  292. model.makeValue("/root/send/userdeptcd", model.getValue("/root/init/userdeptcd"));
  293. model.makeValue("/root/send/doctjobgradcd", model.getValue("/root/init/hospenv/hospenvinfo/doctjobgradcd"));
  294. model.makeValue("/root/send/teamjobgradcd", model.getValue("/root/init/hospenv/hospenvinfo/teamjobgradcd"));
  295. submit("TRLPZ00105");
  296. //----------------
  297. // 추가결과 조회
  298. fGetAddRslt();
  299. //--------------------------------------------
  300. model.makeValue("/root/temp/rgstno", ""); // 등록번호
  301. model.makeValue("/root/temp/addrsltdg", ""); // 추가결과차수
  302. model.makeValue("/root/temp/readdrid", ""); // 판독의사ID
  303. model.makeValue("/root/temp/rgstdd", ""); // 등록일자
  304. model.makeValue("/root/temp/rgsttm", ""); // 등록시간
  305. model.makeValue("/root/temp/readaddbase", ""); // 판독 추가기준
  306. model.makeValue("/root/temp/readrslt", ""); // 판독결과
  307. model.makeValue("/root/temp/cmtcnts", ""); // Comment
  308. model.makeValue("/root/temp/pid", ""); // 등록번호(환자번호)
  309. model.makeValue("/root/temp/patnm", ""); // 환자명
  310. //model.makeValue("/root/temp/mpphonno", ""); // 핸드폰번호
  311. model.makeValue("/root/temp/mpphonno", model.getValue("/root/init/testrslt/testcdlist/mpphonno")); // 핸드폰번호
  312. if (model.getValue("/root/temp/etccnts") == "") {
  313. nodelist = instance1.selectNodes("/root/main/addendum/addendumlist");
  314. if(model.getValue("/root/main/addendum/addendumlist[" + nodelist.length + "]/etccnts") == "") {
  315. model.makeValue("/root/temp/etccnts", model.getValue(opener.root.main.testrslt.testrsltinfoh.diagcnts));
  316. }else {
  317. //model.makeValue("/root/temp/etccnts", model.getValue("/root/main/addendum/addendumlist[" + nodelist.length + "]/etccnts"));
  318. model.makeValue("/root/temp/etccnts", model.getValue("/root/main/addendum/addendumlist[1]/mcode"));
  319. }
  320. }
  321. /*
  322. //추가 박중규 2008.09.26
  323. //특수/면역결과 목록에 상태별로 색을 구분한다.
  324. for(var iRowNo = 1 ; iRowNo < grd_stainlist.rows ; iRowNo++) {
  325. switch (model.getValue("/root/init/testrslt/staintestlist["+iRowNo+"]/?????????")) {
  326. case "0" :
  327. grd_stainlist.rowStyle(iNo, "data", "background-color") = "#ffcc00";
  328. break;
  329. case "2" :
  330. grd_stainlist.rowStyle(iNo, "data", "background-color") = "#ff00ff";
  331. break;
  332. case "3" :
  333. case "4" :
  334. grd_stainlist.rowStyle(iNo, "data", "background-color") = "#008000";
  335. break;
  336. case "9" :
  337. break;
  338. }
  339. }
  340. */
  341. grd_stainlist.autoResize = true;
  342. //--------------
  343. model.refresh();
  344. }
  345. /* @group : 추가결과등록
  346. * @ver : 2007.05.31 (CMCDEV-0001)
  347. * @by : 유동철(ACK)
  348. * @-----------------------------------
  349. * @type : function
  350. * @access : public
  351. * @desc : 화면 종료 처리 Function
  352. */
  353. function fExeClose() {
  354. window.close();
  355. }
  356. /* @group : 추가결과등록
  357. * @ver : 2007.12.24 (CMCDEV-0001)
  358. * @by : 유동철(ACK)
  359. * @-----------------------------------
  360. * @type : function
  361. * @access : public
  362. * @desc : 추가결과 차수목록 그리드 클릭 처리 Function
  363. */
  364. function fExeAddRsltGridClick(pRowNo) {
  365. if (grd_addendumlist.isCell(event.target) && grd_addendumlist.row >= grd_addendumlist.fixedRows) {
  366. gGrdRoNo = pRowNo;
  367. fExeAddRsltGridChoi(pRowNo);
  368. }
  369. }
  370. /* @group : 추가결과등록
  371. * @ver : 2007.05.31 (CMCDEV-0001)
  372. * @by : 유동철(ACK)
  373. * @-----------------------------------
  374. * @type : function
  375. * @access : public
  376. * @desc : 추가결과 차수목록 선택 처리 Function
  377. */
  378. function fExeAddRsltGridChoi(pRowNo) {
  379. //----------------------------
  380. if (pRowNo <= 0) return false;
  381. //--------------------------------
  382. model.removeNodeset("/root/temp");
  383. //-------------------------------------------------------------------------------------------------------------------
  384. model.makeValue("/root/temp/instcd", model.getValue("/root/main/addendum/addendumlist[" + pRowNo + "]/instcd"));
  385. model.makeValue("/root/temp/ptno", model.getValue("/root/main/addendum/addendumlist[" + pRowNo + "]/ptno"));
  386. model.makeValue("/root/temp/rgstno", model.getValue("/root/main/addendum/addendumlist[" + pRowNo + "]/rgstno"));
  387. model.makeValue("/root/temp/addrsltdg", model.getValue("/root/main/addendum/addendumlist[" + pRowNo + "]/addrsltdg"));
  388. model.makeValue("/root/temp/readdrid", model.getValue("/root/main/addendum/addendumlist[" + pRowNo + "]/readdrid"));
  389. model.makeValue("/root/temp/rgstdd", model.getValue("/root/main/addendum/addendumlist[" + pRowNo + "]/rgstdd"));
  390. model.makeValue("/root/temp/rgsttm", model.getValue("/root/main/addendum/addendumlist[" + pRowNo + "]/rgsttm"));
  391. model.makeValue("/root/temp/readaddbase", model.getValue("/root/main/addendum/addendumlist[" + pRowNo + "]/readaddbase"));
  392. model.makeValue("/root/temp/readrslt", model.getValue("/root/main/addendum/addendumlist[" + pRowNo + "]/readrslt"));
  393. model.makeValue("/root/temp/cmtcnts", model.getValue("/root/main/addendum/addendumlist[" + pRowNo + "]/cmtcnts"));
  394. model.makeValue("/root/temp/diagcnts", model.getValue("/root/main/addendum/addendumlist[" + pRowNo + "]/diagcnts"));
  395. model.makeValue("/root/temp/etccnts", model.getValue("/root/main/addendum/addendumlist[" + pRowNo + "]/etccnts"));
  396. model.makeValue("/root/temp/cnfmdd", model.getValue("/root/main/addendum/addendumlist[" + pRowNo + "]/cnfmdd"));
  397. model.makeValue("/root/temp/cnfmtm", model.getValue("/root/main/addendum/addendumlist[" + pRowNo + "]/cnfmtm"));
  398. model.makeValue("/root/temp/cnfmid", model.getValue("/root/main/addendum/addendumlist[" + pRowNo + "]/cnfmid"));
  399. model.makeValue("/root/temp/cnfmnm", model.getValue("/root/main/addendum/addendumlist[" + pRowNo + "]/cnfmnm"));
  400. model.makeValue("/root/temp/rgstnm", model.getValue("/root/main/addendum/addendumlist[" + pRowNo + "]/rgstnm"));
  401. model.makeValue("/root/temp/mpphonno", model.getValue("/root/init/testrslt/testcdlist/mpphonno")); // 핸드폰번호
  402. //--------------------------------------------------------------------------------------------
  403. if (model.getValue("/root/temp/cnfmtm") == "-" || model.getValue("/root/temp/cnfmtm") == "") {
  404. model.makeValue("/root/temp/cnfmtm", "");
  405. }
  406. //-----------------------------------------------
  407. if (model.getValue("/root/temp/etccnts") == "") {
  408. model.makeValue("/root/temp/etccnts", model.getValue("/root/init/testrslt/testrsltinfoh/diagcnts"));
  409. }
  410. //---------------------
  411. cmb_readdrid.refresh();
  412. model.refresh();
  413. }
  414. /* @group : 추가결과등록
  415. * @ver : 2007.05.31 (CMCDEV-0001)
  416. * @by : 유동철(ACK)
  417. * @-----------------------------------
  418. * @type : function
  419. * @access : public
  420. * @desc : 검사항목목록 그리드 클릭 처리 Function
  421. */
  422. function fExeTestCdGridClick(pRowNo) {
  423. var sTestNmList = model.getValue("/root/temp/readaddbase");
  424. //---------------------------------------------------------------------------------------
  425. if (grd_stainlist.isCell(event.target) && grd_stainlist.row >= grd_stainlist.fixedRows) {
  426. // Continue
  427. } else {
  428. return false;
  429. }
  430. //----------------------------
  431. if (pRowNo <= 0) return false;
  432. //----------------------
  433. if (sTestNmList != "") {
  434. model.makeValue("/root/temp/readaddbase", sTestNmList + "/" + model.getValue("/root/init/testrslt/relaptnolist[" + pRowNo + "]/testhngnm"));
  435. } else {
  436. model.makeValue("/root/temp/readaddbase", model.getValue("/root/init/testrslt/relaptnolist[" + pRowNo + "]/testhngnm"));
  437. }
  438. //--------------
  439. model.refresh();
  440. }
  441. /* @group : 추가결과등록
  442. * @ver : 2007.05.31 (CMCDEV-0001)
  443. * @by : 유동철(ACK)
  444. * @-----------------------------------
  445. * @type : function
  446. * @access : public
  447. * @desc : 추가결과 등록 처리 Function
  448. */
  449. function fExeSave(pBizFlag) {
  450. var yesno = "";
  451. var nodelist = "";
  452. //-----------------------------
  453. if (cmb_readdrid.label == "") {
  454. messageBox("판독의사를 ", "C002");
  455. return false;
  456. }
  457. //-----------------------
  458. if (pBizFlag == "RSLT") {
  459. yesno = messageBox("신규로 저장하시겠습니까?", "S002"); // 6:yes, 7:no, 2:cancel
  460. if (yesno == "2")
  461. {
  462. return false;
  463. }
  464. else if (yesno == "6")
  465. {
  466. // 최종진단 후 데이터 수정 후 신규등록 시 ID 입력 안되게
  467. model.makeValue("/root/temp/cnfmdd", "");
  468. model.makeValue("/root/temp/cnfmtm", "");
  469. model.makeValue("/root/temp/cnfmid", "");
  470. model.makeValue("/root/temp/rgstno", "");
  471. }
  472. else if (yesno == "7")
  473. {
  474. if (model.getValue("/root/temp/cnfmdd") == "" ||model.getValue("/root/temp/cnfmdd") == "-")
  475. {
  476. // Continue
  477. }
  478. else
  479. {
  480. messageBox("최종진단된 결과는 수정", "E001");
  481. return false;
  482. }
  483. }
  484. //---------------------------------------------
  485. model.makeValue("/root/temp/newflagcd", yesno);
  486. } else if (pBizFlag == "LAST") {
  487. //-----------------------------------------------------------------------------------------------
  488. //if (model.getValue("/root/init/hospenv/hospenvinfo/doctjobgradcd") != getUserInfo("jobkindcd")) {
  489. if ( !lpzfGetDoctorCheck("/root/init/hospenv/hospenvinfo/doctjobgradcd", getUserInfo("jobkindcd")) ) {
  490. messageBox("의사직급만 최종진단이 ", "I006");
  491. return false;
  492. }
  493. if (model.getValue("/root/temp/readdrid") != getUserInfo("userid")) {
  494. messageBox("선택된 판독의사와 로그인한 사용자가 다릅니다! ", "I007");
  495. return false;
  496. }
  497. if (model.getValue("/root/temp/rgstno") == "") {
  498. messageBox("저장된 추가결과만 최종진단", "I006");
  499. model.makeValue("/root/temp/newflagcd", "7");
  500. return false;
  501. }
  502. nodelist = instance1.selectNodes("/root/main/addendum/addendumlist");
  503. for(var i = 1; i <= nodelist.length; i++){
  504. if(model.getValue("/root/temp/addrsltdg") > model.getValue("/root/main/addendum/addendumlist[" + i + " ]/addrsltdg")
  505. && (model.getValue("/root/main/addendum/addendumlist[" + i + " ]/cnfmdd") == "-" || model.getValue("/root/main/addendum/addendumlist[" + i + " ]/cnfmdd") == "" )){
  506. messageBox("낮은 차수부터 먼저 최종진단되어야 합니다! ", "I007");
  507. return false;
  508. }
  509. else if(model.getValue("/root/temp/addrsltdg") == model.getValue("/root/main/addendum/addendumlist[" + i + " ]/addrsltdg")
  510. && (model.getValue("/root/main/addendum/addendumlist[" + i + " ]/cnfmdd") != "-" && model.getValue("/root/main/addendum/addendumlist[" + i + " ]/cnfmdd") != "")){
  511. messageBox("이미 최종진단된 결과 입니다.! ", "I007");
  512. return false;
  513. }
  514. }
  515. //-----------------------------------------------------
  516. //model.makeValue("/root/temp/cnfmdd", getCurrentDate());
  517. //model.makeValue("/root/temp/cnfmtm", getCurrentTime());
  518. //model.makeValue("/root/temp/cnfmid", model.getValue("/root/temp/readdrid"));
  519. } else if (pBizFlag == "PRNT") {
  520. model.makeValue("/root/temp/newflagcd", "7");
  521. } else {
  522. model.makeValue("/root/temp/newflagcd", "7");
  523. }
  524. if (pBizFlag == "LAST") {
  525. if (Sign.signprocess()) {
  526. } else {
  527. messageBox("최종진단이 취소 또는 실패되었습니다! ", "I007");
  528. return false;
  529. }
  530. }
  531. //------------------------------------------------
  532. model.makeValue("/root/temp/bizflagcd", pBizFlag);
  533. model.makeValue("/root/temp/pid", model.getValue("/root/init/testrslt/patinfo/pid")); // 등록번호
  534. model.makeValue("/root/temp/patnm", model.getValue("/root/init/testrslt/patinfo/patnm")); // 환자명
  535. //model.makeValue("/root/temp/mpphonno", model.getValue("/root/init/testrslt/testcdlist/mpphonno")); // 핸드폰번호
  536. model.copyNode("/root/send", "/root/temp");
  537. //-------------------------
  538. if (submit("TXLPR00201")) {
  539. if (pBizFlag == "LAST") {
  540. //-------------
  541. fExeGridChoi();
  542. if(fExeMakeCertPrcs()) {
  543. messageBox("최종진단 confirm이 정상적으로 ", "I001");
  544. }
  545. } else {
  546. messageBox("저장이 정상적으로 ", "I001");
  547. }
  548. //------------
  549. fGetAddRslt();
  550. //--------------------------------------------
  551. model.makeValue("/root/temp/rgstno", ""); // 등록번호
  552. model.makeValue("/root/temp/addrsltdg", ""); // 추가결과차수
  553. model.makeValue("/root/temp/readdrid", ""); // 판독의사ID
  554. model.makeValue("/root/temp/rgstdd", ""); // 등록일자
  555. model.makeValue("/root/temp/rgsttm", ""); // 등록시간
  556. model.makeValue("/root/temp/readaddbase", ""); // 판독 추가기준
  557. model.makeValue("/root/temp/readrslt", ""); // 진단내용
  558. model.makeValue("/root/temp/cmtcnts", ""); // Comment
  559. model.makeValue("/root/temp/diagcnts", ""); // 판독결과
  560. model.makeValue("/root/temp/etccnts", ""); // 기타내용
  561. model.makeValue("/root/temp/cnfmdd", ""); // 확인일자
  562. model.makeValue("/root/temp/cnfmtm", ""); // 확인시간
  563. model.makeValue("/root/temp/cnfmid", ""); // 확인자id
  564. model.makeValue("/root/temp/cnfmnm", ""); // 확인자명
  565. opt_cnfmdd.refresh();
  566. opt_cnfmtm.refresh();
  567. opt_cnfmnm.refresh();
  568. //--------------
  569. model.refresh();
  570. }
  571. }
  572. /* @group : 추가결과등록
  573. * @ver : 2007.05.31 (CMCDEV-0001)
  574. * @by : 유동철(ACK)
  575. * @-----------------------------------
  576. * @type : function
  577. * @access : public
  578. * @desc : 추가결과 조회 처리 Function
  579. */
  580. function fGetAddRslt() {
  581. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  582. model.makeValue("/root/send/ptno", model.getValue("/root/temp/ptno"));
  583. submit("TRLPR00201");
  584. //-------------------------------------------------------------
  585. if (getNodesetCount("/root/main/addendum/addendumlist") <= 0) {
  586. model.makeValue("/root/temp/etccnts", model.getValue("/root/init/testrslt/testrsltinfoh/diagcnts"));
  587. }
  588. }
  589. /* @group : 추가결과등록
  590. * @ver : 2007.12.24 (CMCDEV-0001)
  591. * @by : 유동철(ACK)
  592. * @-----------------------------------
  593. * @type : function
  594. * @access : public
  595. * @desc : 추가결과 삭제 처리 Function
  596. */
  597. function fExeDelAddRslt()
  598. {
  599. var sCnfmID = model.getValue("/root/main/addendum/addendumlist[" + gGrdRoNo + "]/cnfmid");
  600. if ( sCnfmID.length > 1)
  601. {
  602. // --------------------------------------------
  603. // 추가결과 최종진단이 내려진 경우 데이터 삭제
  604. messageBox("최종진단 후 데이터를 삭제", "E001");
  605. }
  606. else
  607. {
  608. //-------------------
  609. // 추가결과 차수 선택
  610. fExeAddRsltGridChoi(grd_addendumlist.row);
  611. //-------------------------------------------
  612. model.makeValue("/root/temp/bizflagcd", "D");
  613. model.makeValue("/root/temp/newflagcd", "9");
  614. model.makeValue("/root/temp/pid", model.getValue("/root/init/testrslt/patinfo/pid")); // 등록번호
  615. model.makeValue("/root/temp/patnm", model.getValue("/root/init/testrslt/patinfo/patnm")); // 환자명
  616. model.copyNode("/root/send", "/root/temp");
  617. //-------------------------
  618. if (submit("TXLPR00201")) {
  619. fGetAddRslt();
  620. //--------------------------------------------
  621. model.makeValue("/root/temp/rgstno", ""); // 등록번호
  622. model.makeValue("/root/temp/addrsltdg", ""); // 추가결과차수
  623. model.makeValue("/root/temp/readdrid", ""); // 판독의사ID
  624. model.makeValue("/root/temp/rgstdd", ""); // 등록일자
  625. model.makeValue("/root/temp/rgsttm", ""); // 등록시간
  626. model.makeValue("/root/temp/readaddbase", ""); // 판독 추가기준
  627. model.makeValue("/root/temp/readrslt", ""); // 판독결과
  628. model.makeValue("/root/temp/cmtcnts", ""); // Comment
  629. //--------------
  630. model.refresh();
  631. }
  632. }
  633. }
  634. /* @group : 추가결과등록
  635. * @ver : 2008.11.18 (CMCDEV-0001)
  636. * @by : 하만석(ACK)
  637. * @-----------------------------------
  638. * @type : function
  639. * @access : public
  640. * @desc : 추가결과 최종진단 삭제 처리 Function
  641. */
  642. function fExeCmfCancle()
  643. {
  644. var sNode = "/root/main/addendum/addendumlist";
  645. var yesno = "";
  646. var sFinalChk = "0";
  647. var sCnt = model.getValue(sNode + "[" + gGrdRoNo + "]/addrsltdg");
  648. //----------------------
  649. // 취소사유 선택여부 검사
  650. if (!isRequiredControls("cbo_cnclresn")) return false;
  651. //-----------------------------------------------------------------------------------------------
  652. if (cmb_readdrid.label == "")
  653. {
  654. messageBox("판독의사를 ", "C002");
  655. return false;
  656. }
  657. //if (model.getValue("/root/init/hospenv/hospenvinfo/doctjobgradcd") != getUserInfo("jobkindcd")) {
  658. if ( !lpzfGetDoctorCheck("/root/init/hospenv/hospenvinfo/doctjobgradcd", getUserInfo("jobkindcd")) ) {
  659. messageBox("의사직급만 최종진단이 ", "I006");
  660. return false;
  661. }
  662. if (model.getValue("/root/temp/readdrid") != getUserInfo("userid")) {
  663. messageBox("선택된 판독의사와 로그인한 사용자가 다릅니다! ", "I007");
  664. return false;
  665. }
  666. if ( (model.getValue("/root/main/addendum/addendumlist[" + gGrdRoNo + "]/cnfmid")).length < 2)
  667. {
  668. messageBox("추가처방 최종진단 항목이 아닙니다! ", "I007");
  669. return false;
  670. }
  671. yesno = messageBox(sCnt + "차 추가결과 최종진단을 ", "Q001");
  672. if (yesno == "6")
  673. {
  674. // 추가 결과 최종진단이 마지막 차수의 것인지 판단.
  675. // 최종 추가결과의 최종진단이 있는경우 취소 금지.
  676. for(var iNo = gGrdRoNo+1; iNo <= getNodesetCount(sNode); iNo++)
  677. {
  678. if((model.getValue(sNode + "[" + iNo + "]/cnfmid")).length > 1)
  679. {
  680. messageBox("최종진단 데이터를 취소", "E001");
  681. return false;
  682. }
  683. }
  684. // 최종 차수의 취소인지 구분인자
  685. for(var iNo = 1; iNo < gGrdRoNo; iNo++)
  686. {
  687. if((model.getValue(sNode + "[" + iNo + "]/cnfmid")).length > 1)
  688. {
  689. sFinalChk = "1";
  690. }
  691. }
  692. model.removenode("/root/temp");
  693. model.makeValue("/root/temp/instcd" , model.getValue(sNode + "[" + gGrdRoNo + "]/instcd"));
  694. model.makeValue("/root/temp/ptno" , model.getValue(sNode + "[" + gGrdRoNo + "]/ptno"));
  695. model.makeValue("/root/temp/addrsltdg" , model.getValue(sNode + "[" + gGrdRoNo + "]/addrsltdg"));
  696. model.makeValue("/root/temp/rgstno" , model.getValue(sNode + "[" + gGrdRoNo + "]/rgstno"));
  697. model.makeValue("/root/temp/pid" , model.getValue("/root/init/testrslt/patinfo/pid"));
  698. model.makeValue("/root/temp/dghistno" , sCnt);
  699. model.makeValue("/root/temp/finalcnt" , sFinalChk);
  700. model.makeValue("/root/temp/rsltkindflag" , "1"); // 1:추가결과, 2:수정진단
  701. //취소사유입력
  702. model.makeValue("/root/temp/cnclflagcd", model.getValue("/root/init/cnclflagcd"));
  703. model.makeValue("/root/temp/cnclresncd", model.getValue("/root/hidden/resncd"));
  704. model.makeValue("/root/temp/resncnts", cbo_cnclresn.label);
  705. model.copyNode("/root/send", "/root/temp");
  706. if (submit("TXLPR02401"))
  707. {
  708. messageBox("저장이 정상적으로 ", "I001");
  709. // -------------------------
  710. // 수정한 의사 확인..
  711. //fExeMakeCertPrcs();
  712. }
  713. }
  714. fGetAddRslt();
  715. model.refresh();
  716. }
  717. function fExePrnt() {
  718. var sNode = "/root/prnt/prntinfo";
  719. var sSrcNode = "/root/init/testrslt"
  720. var sPtNoList = "";
  721. var sAddReadNm = "";
  722. var sDiagCnts = "";
  723. var aDiagCnts = "";
  724. var sTemp = "";
  725. //-----------------------
  726. // 이전 병리번호(CF) 설정
  727. for (var iNo=1; iNo <= getNodesetCount(sSrcNode+"/bfptnolist"); iNo++) {
  728. if (iNo == 1) {
  729. sPtNoList = model.getValue(sSrcNode+"/bfptnolist["+iNo+"]/dispptno");
  730. } else {
  731. sPtNoList += ", " + model.getValue(sSrcNode+"/bfptnolist["+iNo+"]/dispptno");
  732. }
  733. }
  734. //-------------------------
  735. model.removeNodeset(sNode);
  736. model.makeNode(sNode);
  737. //----------------------------
  738. // 원처방의 Diagnosis내용 출력
  739. //fExeMakeRow(sNode+"/", sSrcNode+"/testrsltinfoh/rsltcnts3", "orgdiag", "orgdiaglist", "");
  740. //fExeMakeRow(sNode+"/", "/root/temp/diagcnts", "adddiag", "adddiaglist", "");
  741. //fExeMakeRow(sNode+"/", "/root/temp/readrslt", "adddiagcnts", "diagcntslist", "");
  742. //fExeMakeRow(sNode+"/", "/root/temp/cmtcnts", "addcmtcnts", "cmtcntslist", "");
  743. //-------------------------------------------------------------------------------
  744. model.makeValue(sNode+"/ptno", model.getValue(sSrcNode+"/testcdlist/ptno"));
  745. model.makeValue(sNode+"/dispptno", model.getValue(sSrcNode+"/testcdlist/dispptno"));
  746. model.makeValue(sNode+"/pid", model.getValue(sSrcNode+"/patinfo/pid"));
  747. model.makeValue(sNode+"/patnm", model.getValue(sSrcNode+"/patinfo/patnm"), true);
  748. model.makeValue(sNode+"/sexage", "["+model.getValue(sSrcNode+"/patinfo/sexage")+"]");
  749. model.makeValue(sNode+"/rrgstno", model.getValue(sSrcNode+"/patinfo/rrgstno"));
  750. model.makeValue(sNode+"/cflist", sPtNoList);
  751. model.makeValue(sNode+"/adddg", "[ 추가결과 " + model.getValue("/root/temp/addrsltdg") + " 차 ]", true);
  752. model.makeValue(sNode+"/addbase", model.getValue("/root/temp/readaddbase"), true);
  753. model.makeValue(sNode+"/grosdd", model.getValue(sSrcNode+"/testrsltinfoh/grostestrecdd"));
  754. model.makeValue(sNode+"/grostm", model.getValue(sSrcNode+"/testrsltinfoh/grostestrectm"));
  755. model.makeValue(sNode+"/grosdrnm", model.getValue(sSrcNode+"/patinfo/grosdrnm"), true);
  756. model.makeValue(sNode+"/termengnm", model.getValue(sSrcNode+"/diagcntslist/termengnm"), true);
  757. model.makeValue(sNode+"/indd", model.getValue("/root/temp/rgstdd"));
  758. model.makeValue(sNode+"/intm", model.getValue("/root/temp/rgsttm"));
  759. model.makeValue(sNode+"/innm", model.getValue("/root/temp/rgstnm"), true);
  760. model.makeValue(sNode+"/readdd", model.getValue("/root/temp/cnfmdd"));
  761. model.makeValue(sNode+"/readtm", model.getValue("/root/temp/cnfmtm"));
  762. model.makeValue(sNode+"/readdrnm", model.getValue("/root/temp/cnfmnm"), true);
  763. model.makeValue(sNode+"/testnm", model.getValue(sSrcNode+"/testcdlist/testnm"), true);
  764. model.makeValue(sNode+"/acptdd", model.getValue(sSrcNode+"/testcdlist/acptdd"));
  765. model.makeValue(sNode+"/acpttm", model.getValue(sSrcNode+"/testcdlist/acpttm"));
  766. model.makeValue(sNode+"/prcpdd", model.getValue(sSrcNode+"/testcdlist/prcpdd"));
  767. model.makeValue(sNode+"/spcnm", model.getValue(sSrcNode+"/patinfo/spcnm"), true);
  768. //------------------------------------------------------
  769. sTemp = model.getValue(sSrcNode+"/testcdlist/orddrnm");
  770. sTemp += "(" + model.getValue(sSrcNode+"/testcdlist/orddeptnm") + "/" + model.getValue(sSrcNode+"/testcdlist/wardroom") + ")";
  771. model.makeValue(sNode+"/orddrnm", sTemp, true);
  772. //---------------------------------------------------------------------
  773. sAddReadNm = model.getValue("/root/init/userinfo/userinfolist[userid='"+model.getValue("/root/temp/readdrid")+"']/userabbr");
  774. if (sAddReadNm == "-") {
  775. sAddReadNm = model.getValue("/root/init/userinfo/userinfolist[userid='"+model.getValue("/root/temp/readdrid")+"']/usernm");
  776. }
  777. model.makeValue(sNode+"/addreaddrnm", sAddReadNm);
  778. //---------
  779. sTemp = "";
  780. for (var iNo=1; iNo <= getNodesetCount(sSrcNode+"/testcdlist/reqcnts/reqfrminfo/choispc/choispclist"); iNo++) {
  781. sTemp += Number(iNo) + ") " + model.getValue(sSrcNode+"/testcdlist/reqcnts/reqfrminfo/choispc/choispclist/spcnm") + " ";
  782. }
  783. model.makeValue(sNode+"/detlspcnm", sTemp, true);
  784. //--------------------------------------------------------------------------------------
  785. fExeMakeRow(sNode, sSrcNode+"/testrsltinfoh/rsltcnts3", "orgdiag", "orgdiaglist", "");
  786. fExeMakeRow(sNode, "/root/temp/diagcnts", "adddiag", "adddiaglist", "");
  787. fExeMakeRow(sNode, "/root/temp/readrslt", "adddiagcnts", "diagcntslist", "");
  788. fExeMakeRow(sNode, "/root/temp/cmtcnts", "addcmtcnts", "cmtcntslist", "");
  789. /*
  790. sDiagCnts = model.getValue(sSrcNode+"/testrsltinfoh/rsltcnts3");
  791. aDiagCnts = sDiagCnts.split("\n");
  792. //--------------------------------
  793. model.makeNode(sNode+"/orgdiag");
  794. for (var iNo=0; iNo < aDiagCnts.length; iNo++) {
  795. model.makeValue(sNode+"/orgdiag/orgdiaglist["+(Number(iNo)+1)+"]/cnts", aDiagCnts[iNo], true);
  796. }
  797. //------------------------------------------------
  798. sDiagCnts = model.getValue("/root/temp/diagcnts");
  799. aDiagCnts = sDiagCnts.split("\n");
  800. //--------------------------------
  801. model.makeNode(sNode+"/adddiag");
  802. for (var iNo=0; iNo < aDiagCnts.length; iNo++) {
  803. model.makeValue(sNode+"/adddiag/adddiaglist["+(Number(iNo)+1)+"]/cnts", aDiagCnts[iNo], true);
  804. }
  805. */
  806. //------------------------------------------------------------------------------------------------
  807. exeReportPreview("RPLPR00200", "XMLSTR", "", "", "true", "", "", "", "", "false", "", "grp_prnt");
  808. //-----------------
  809. // 출력 후 자동저장
  810. //fExeSave("PRNT");
  811. }
  812. /* @group : 추가결과등록
  813. * @ver : 2008.09.26 (CMCDEV-0001)
  814. * @by : 유동철(ACK)
  815. * @-----------------------------------
  816. * @type : function
  817. * @access : public
  818. * @desc : 결과내용을 노드로 생성 처리 Function
  819. */
  820. function fExeMakeRow(pPrntNode, pSrcNode, pDescNm1, pDescNm2, pTitle) {
  821. var iSNo = 0;
  822. var iENo = 0;
  823. var iRowNo = 0;
  824. var sRsltCnts = model.getValue(pSrcNode);
  825. var aCnts = new Array();
  826. var aCntList = sRsltCnts.split("\n");
  827. var bState = false;
  828. //---------------------------------------------
  829. for (var iNo=0; iNo < aCntList.length; iNo++) {
  830. //-----
  831. iSNo=0;
  832. iENo=0;
  833. do {
  834. //----------
  835. iENo += 120;
  836. aCnts[iRowNo] = aCntList[iNo].substr(iSNo, 120);
  837. //--------------------------------
  838. if (aCntList[iNo].length > iENo) {
  839. bState = false;
  840. } else {
  841. bState = true;
  842. }
  843. //----------
  844. iSNo = iENo;
  845. iRowNo++;
  846. } while (bState == false);
  847. }
  848. //------------------------------------------
  849. model.removeNodeset(pPrntNode+"/"+pDescNm1);
  850. //-----------------------------------
  851. iSNo = Number(0);
  852. if (model.getValue(pSrcNode) != "") {
  853. model.makeNode(pPrntNode);
  854. model.makeNode(pPrntNode+"/"+pDescNm1);
  855. model.makeNode(pPrntNode+"/"+pDescNm1+"/"+pDescNm2);
  856. //------------------------------------------
  857. for (var iNo=0; iNo < aCnts.length; iNo++) {
  858. //if (aCnts[iNo] != "") {
  859. model.makeValue(pPrntNode+"/"+pDescNm1+"/"+pDescNm2+"["+(Number(iNo)+1+Number(iSNo)) +"]/cnts", aCnts[iNo], true);
  860. //}
  861. }
  862. }
  863. }
  864. function fExeGridChoi() {
  865. var sSrcNode = "/root/init/testrslt/testcdlist";
  866. //-------------------------------------------------
  867. model.makeNode("/root/temp/testrslt/patbasicinfo");
  868. //----------------
  869. model.makeValue("/root/send/instcd", model.getValue(sSrcNode+"/instcd"));
  870. model.makeValue("/root/send/ptno", model.getValue(sSrcNode+"/ptno"));
  871. model.makeValue("/root/send/pid", model.getValue(sSrcNode+"/pid"));
  872. model.makeValue("/root/send/workflagcd", model.getValue(sSrcNode+"/workflagcd"));
  873. model.makeValue("/root/send/prcpgenrflag", model.getValue(sSrcNode+"/prcpgenrflag"));
  874. model.makeValue("/root/send/scrno", "10");
  875. //--------------
  876. // 검사결과 조회
  877. submit("TRLPZ00113", false);
  878. submit("TRLPZ00112");
  879. //-------------------
  880. // 보고서 타이블 설정
  881. switch (model.getValue(sSrcNode+"/workflagcd")) {
  882. case "1001" :
  883. case "1002" :
  884. model.makeValue("/root/temp/testrslt/patbasicinfo/title", "조직 검사보고서");
  885. break;
  886. case "1003" : model.makeValue("/root/temp/testrslt/patbasicinfo/title", "세포 검사보고서");
  887. break;
  888. case "1004" : model.makeValue("/root/temp/testrslt/patbasicinfo/title", "특수염색 검사보고서");
  889. break;
  890. case "1005" : model.makeValue("/root/temp/testrslt/patbasicinfo/title", "면역염색 검사보고서");
  891. break;
  892. case "1006" : model.makeValue("/root/temp/testrslt/patbasicinfo/title", "면역형광 검사보고서");
  893. break;
  894. case "1007" : model.makeValue("/root/temp/testrslt/patbasicinfo/title", "분자병리 검사보고서");
  895. break;
  896. case "1008" : model.makeValue("/root/temp/testrslt/patbasicinfo/title", "전자현미경 검사보고서");
  897. break;
  898. case "1009" : model.makeValue("/root/temp/testrslt/patbasicinfo/title", "부검 검사보고서");
  899. break;
  900. case "1012" : model.makeValue("/root/temp/testrslt/patbasicinfo/title", "골수조직 검사보고서");
  901. break;
  902. }
  903. }
  904. /* **********************************
  905. * ENRSignEngine.js에서 함수를 호출함
  906. * **********************************
  907. */
  908. function fMake_SignData(){
  909. Sign.addnode("/root/temp/testrslt");
  910. }
  911. function fExeMakeCertPrcs() {
  912. var pRowNo = 1;
  913. var pNode = "/root/init/testrslt/testcdlist";
  914. //-----------------------
  915. if (Sign.signprocess()) {
  916. model.makeNode("/root/send/signdata");
  917. model.makeValue("/root/send/signdata/instcd", model.getValue(pNode+"["+pRowNo+"]/instcd")); // 기관코드
  918. model.makeValue("/root/send/signdata/pid", model.getValue(pNode+"["+pRowNo+"]/pid")); // 등록번호
  919. model.makeValue("/root/send/signdata/ptno", model.getValue(pNode+"["+pRowNo+"]/ptno")); // 병리번호
  920. model.makeValue("/root/send/signdata/orddd", model.getValue("/root/temp/testrslt/patbasicinfo/orddd")); // 입원, 응급 : 입원일자, 외래 : 진료일자
  921. model.makeValue("/root/send/signdata/signno", model.getValue("/root/init/testrslt/testrsltinfoh/signno")); // 서명번호
  922. model.makeValue("/root/send/signdata/histno", model.getValue("/root/init/testrslt/testrsltinfoh/histno")); // 서명이력번호
  923. model.makeValue("/root/send/signdata/cretno", model.getValue("/root/temp/testrslt/patbasicinfo/cretno")); // 생성번호
  924. model.makeValue("/root/send/signdata/recdd", getCurrentDate()); // 실제기록이 이루어진 기록일자
  925. model.makeValue("/root/send/signdata/rectm", getCurrentTime()); // 실제기록이 이루어진 기록시간
  926. model.makeValue("/root/send/signdata/recsaveflag", "N"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  927. model.makeValue("/root/send/signdata/signflag", "30"); // 서명자료구분(01 : 진료, 02 : 간호, 30:LIS)
  928. model.makeValue("/root/send/signdata/signgenrflag", model.getValue(pNode+"["+pRowNo+"]/prcpgenrflag")); // 입원, 외래구분
  929. model.makeValue("/root/send/signdata/formcd", "0000002726"); // 각 기록지별 서식코드 0000002916 : BM
  930. model.makeValue("/root/send/signdata/orddeptcd", model.getValue(pNode+"["+pRowNo+"]/orddeptcd")); // 진료과
  931. model.makeValue("/root/send/signdata/orddrid", model.getValue(pNode+"["+pRowNo+"]/orddrid")); // 진료의ID
  932. model.makeValue("/root/send/signdata/signbfcnts", Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보), 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  933. model.makeValue("/root/send/signdata/signaftcnts", Sign.signedInfos[2]); // 공인인증 처리후 데이터
  934. } else {
  935. return false;
  936. }
  937. //-------------------------
  938. if (submit("TXLPR01102")) {
  939. return true;
  940. } else {
  941. return false;
  942. }
  943. }
  944. /* @group : 추가결과등록
  945. * @ver : 2009.07.16 (CMCDEV-0001)
  946. * @by : 박중규
  947. * @-----------------------------------
  948. * @type : function
  949. * @access : public
  950. * @desc : 보고서 출력
  951. */
  952. function fExeReptPrnt() {
  953. var sAdddiagPtnoList = "";
  954. var sAddrsltPtnoList = "";
  955. var iRowCnt = grd_addendumlist.findRow("true", 0, grd_addendumlist.colRef("choi"), true, true);
  956. var iRowCnt2 = grd_stainlist.findRow("true", 0, grd_stainlist.colRef("choi"), true, true);
  957. //-------------------------------
  958. if ((iRowCnt <= 0) && (iRowCnt2 <= 0)) {
  959. messageBox("출력 할 결과를 선택하여 주십시오!", "E999");
  960. return false;
  961. }
  962. //------------------------------------
  963. model.makeNode("/root/init/prntinfo");
  964. model.makeValue("/root/init/prntinfo/reptflagcd", "1"); // 의뢰지(0), 보고서(1)
  965. model.makeValue("/root/init/prntinfo/prntflagcd", "0"); // 출력(0), 미리보기(1)
  966. model.makeValue("/root/init/prntinfo/copyflagcd", "0"); // 의뢰지/보고서(0), 복사본(1)
  967. model.makeValue("/root/init/prntinfo/ptno", model.getValue("/root/init/testrslt/patinfo/ptno"));
  968. model.makeValue("/root/init/prntinfo/pid", model.getValue("/root/init/testrslt/patinfo/pid"));
  969. model.makeValue("/root/init/prntinfo/acptdd", model.getValue("/root/init/testrslt/patinfo/acptdd"));
  970. model.makeValue("/root/init/prntinfo/adddiagprtn", "SPLPR00200");
  971. for(var iNo = 1 ; iNo <= getNodesetCount("/root/main/addendum/addendumlist") ; iNo++){
  972. if(model.getValue("/root/main/addendum/addendumlist["+ iNo +"]/choi") == "true") {
  973. if(sAdddiagPtnoList == "") {
  974. sAdddiagPtnoList = model.getValue("/root/main/addendum/addendumlist["+ iNo +"]/addrsltdg");
  975. } else {
  976. sAdddiagPtnoList += "▦" + model.getValue("/root/main/addendum/addendumlist["+ iNo +"]/addrsltdg");
  977. }
  978. }
  979. }
  980. for(var iNo = 1 ; iNo <= getNodesetCount("/root/init/testrslt/relaptnolist") ; iNo++){
  981. if(model.getValue("/root/init/testrslt/relaptnolist["+ iNo +"]/choi") == "true") {
  982. if(sAddrsltPtnoList == "") {
  983. sAddrsltPtnoList = model.getValue("/root/init/testrslt/relaptnolist["+ iNo +"]/ptno");
  984. } else {
  985. sAddrsltPtnoList += "▦" + model.getValue("/root/init/testrslt/relaptnolist["+ iNo +"]/ptno");
  986. }
  987. }
  988. }
  989. model.makeValue("/root/init/prntinfo/adddiaglist", sAdddiagPtnoList);
  990. model.makeValue("/root/init/prntinfo/addrsltlist", sAddrsltPtnoList);
  991. lpzfExeFrmPrnt("/root/init/prntinfo");
  992. }
  993. /* @group : 추가결과등록
  994. * @ver : 2008.02.13 (CMCDEV-0001)
  995. * @by : 유동철(ACK)
  996. * @-----------------------------------
  997. * @type : function
  998. * @access : public
  999. * @desc : 결과입력 이력 조회 처리 Function
  1000. */
  1001. function fExeRgstHistPopupCall() {
  1002. //---------------------------------------------------------------
  1003. setParameter("SMLPR00100_instcd", getUserInfo("dutplceinstcd"));
  1004. setParameter("SMLPR00100_ptno", model.getValue("/root/temp/ptno"));
  1005. setParameter("SMLPR00100_scrnid", "SPLPR00200");
  1006. modal("SPLPR02000");
  1007. }
  1008. /* @group : 검체접수취소 화면
  1009. * @ver : 2009.08.04
  1010. * @by : 박상환(평화이즈)
  1011. * @-----------------------------------
  1012. * @type : function
  1013. * @access : public
  1014. * @desc : 취소사유 처리 함수
  1015. */
  1016. function fbfExeAcptCncl()
  1017. {
  1018. grp_resncancle.visible = true;
  1019. }
  1020. ]]>
  1021. </script>
  1022. </xhtml:head>
  1023. <xhtml:body pagewidth="1016" pageheight="677" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
  1024. <group id="grp_btn" scroll="auto" style="left:0px; top:634px; width:1000px; height:27px; ">
  1025. <button id="btn_save" class="btn4_letter2" navindex="12" style="left:881px; top:5px; width:56px; height:22px; ">
  1026. <caption>저장</caption>
  1027. <script type="javascript" ev:event="DOMActivate">
  1028. <![CDATA[
  1029. fExeSave("RSLT");
  1030. ]]>
  1031. </script>
  1032. </button>
  1033. <button id="btn_cls" class="btn4_letter2" navindex="13" style="left:941px; top:5px; width:56px; height:22px; ">
  1034. <caption>닫기</caption>
  1035. <script type="javascript" ev:event="DOMActivate">
  1036. <![CDATA[
  1037. fExeClose();
  1038. ]]>
  1039. </script>
  1040. </button>
  1041. <line id="line17" class="line_6" style="x1:0px; y1:0px; x2:1000px; y2:0px; "/>
  1042. <button id="btn_cnfm" class="btn4_letter4" navindex="11" style="left:798px; top:5px; width:80px; height:22px; ">
  1043. <caption>최종진단</caption>
  1044. <script type="javascript" ev:event="DOMActivate">
  1045. <![CDATA[
  1046. fExeSave("LAST");
  1047. ]]>
  1048. </script>
  1049. </button>
  1050. <button id="btn_prnt" class="btn3_letter2" navindex="10" style="left:0px; top:5px; width:100px; height:22px; ">
  1051. <caption>출력</caption>
  1052. <script type="javascript" ev:event="DOMActivate">
  1053. <![CDATA[
  1054. //fExePrnt();
  1055. fExeReptPrnt();
  1056. ]]>
  1057. </script>
  1058. </button>
  1059. <button id="btn_cnfmcancle" class="btn4_letter6" navindex="11" style="left:692px; top:5px; width:104px; height:22px; ">
  1060. <caption>최종진단취소</caption>
  1061. <script type="javascript" ev:event="DOMActivate">
  1062. <![CDATA[
  1063. fbfExeAcptCncl();
  1064. // fExeCmfCancle();
  1065. ]]>
  1066. </script>
  1067. </button>
  1068. <button id="button1" class="btn4_letter9" navindex="12" visibility="hidden" style="left:550px; top:5px; width:140px; height:22px; ">
  1069. <caption>불일치정도평가저장</caption>
  1070. <script type="javascript" ev:event="DOMActivate">
  1071. <![CDATA[
  1072. var sflag = model.getValue("/root/temp/ptno") + "▦" + model.getValue("/root/temp/rgstno") ;
  1073. setParameter("opener_parameter_id", sflag);
  1074. modal("SMLPP02900", 1, "", 100, "", "", "", "left:0; right:; width:0; height:0; min:hidden, max:hidden;");
  1075. ]]>
  1076. </script>
  1077. </button>
  1078. </group>
  1079. <group id="grp_biz" style="left:0px; top:0px; width:1000px; height:635px; ">
  1080. <button id="btn_diag1002" style="left:595px; top:345px; width:20px; height:16px; background-image:../../../com/commonweb/images/icon_search.gif; ">
  1081. <caption/>
  1082. <script type="javascript" ev:event="DOMActivate">
  1083. <![CDATA[
  1084. fExeDiagPopup();
  1085. ]]>
  1086. </script>
  1087. </button>
  1088. <caption id="caption1" class="tit_2" autoresize="true" style="left:5px; top:11px; width:161px; height:14px; font-family:굴림체; font-size:9pt; vertical-align:middle; ">추가결과 차수목록</caption>
  1089. <line id="line1" class="line_1" style="x1:0px; y1:26px; x2:283px; y2:26px; "/>
  1090. <caption id="caption2" class="tit_2" autoresize="true" style="left:288px; top:349; width:161px; height:13px; font-family:굴림체; font-size:9pt; vertical-align:middle; ">진단(M)</caption>
  1091. <line id="line2" class="line_1" style="x1:288px; y1:364px; x2:997px; y2:364px; "/>
  1092. <textarea id="tar_addendum" ref="/root/temp/readrslt" navindex="7" style="left:288px; top:370px; width:709px; height:115px; ">
  1093. <script type="javascript" ev:event="ondblclick">
  1094. <![CDATA[
  1095. fExeCntsView("진단(M)", document.controls(event.currentTarget));
  1096. ]]>
  1097. </script>
  1098. </textarea>
  1099. <datagrid id="grd_addendumlist" nodeset="/root/main/addendum/addendumlist" class="datagrid2" allowselection="true" caption="기관코드^ptno^병리번호^선택^차수^등록일자^등록&#xA;시간^판독의ID^판독의사^판독추가기준^판독결과^Comment^rgstno^diagcnts^etccnts^진단일자^cnfmtm^cnfmid^진단의^rgstnm" colsep="^" colwidth="0, 0, 0, 33, 34, 70, 54, 0, 70, 0, 0, 0, 0, 0, 0, 80, 0, 0, 70, 0" dataheight="23" mergecellsfixedrows="bycolrec" rowsep="|" navindex="1" style="left:0px; top:31px; width:283px; height:308; ">
  1100. <col ref="instcd"/>
  1101. <col ref="ptno"/>
  1102. <col ref="dispptno"/>
  1103. <col checkvalue="true,false" ref="choi" type="checkbox"/>
  1104. <col ref="addrsltdg"/>
  1105. <col ref="rgstdd" format="yyyy-mm-dd" mask="exclude" showmask="true"/>
  1106. <col ref="rgsttm" format="hh:nn:ss" mask="exclude" showmask="true"/>
  1107. <col ref="readdrid"/>
  1108. <col ref="readdrnm"/>
  1109. <col ref="readaddbase"/>
  1110. <col ref="readrslt"/>
  1111. <col ref="cmtcnts"/>
  1112. <col ref="rgstno"/>
  1113. <col ref="diagcnts"/>
  1114. <col ref="etccnts"/>
  1115. <col ref="cnfmdd"/>
  1116. <col ref="cnfmtm"/>
  1117. <col ref="cnfmid"/>
  1118. <col ref="cnfmnm"/>
  1119. <col ref="rgstnm"/>
  1120. <script type="javascript" ev:event="onclick">
  1121. <![CDATA[
  1122. fExeAddRsltGridClick(grd_addendumlist.row);
  1123. ]]>
  1124. </script>
  1125. <script type="javascript" ev:event="onmousedown">
  1126. <![CDATA[
  1127. setPopupMenu("grd_addendumlist", false, "/root/init/popupmenu/item", "nm", "funt");
  1128. ]]>
  1129. </script>
  1130. <script type="javascript" ev:event="DOMFocusOut">
  1131. <![CDATA[
  1132. initPopupMenu();
  1133. ]]>
  1134. </script>
  1135. <script type="javascript" ev:event="xforms-value-changed">
  1136. <![CDATA[
  1137. if ((grd_addendumlist.col == grd_addendumlist.colRef("choi")) && (grd_addendumlist.row >= grd_addendumlist.fixedRows) && (grd_addendumlist.isCell(event.target))){
  1138. model.makeValue("/root/main/addendum/addendumlist["+grd_addendumlist.row+"]/choi", grd_addendumlist.valueMatrix(grd_addendumlist.row, grd_addendumlist.col));
  1139. }
  1140. ]]>
  1141. </script>
  1142. </datagrid>
  1143. <textarea id="textarea1" ref="/root/temp/cmtcnts" navindex="8" style="left:288px; top:510px; width:709px; height:121px; ">
  1144. <script type="javascript" ev:event="ondblclick">
  1145. <![CDATA[
  1146. fExeCntsView("Comments", document.controls(event.currentTarget));
  1147. ]]>
  1148. </script>
  1149. </textarea>
  1150. <caption id="caption3" class="tit_2" autoresize="true" style="left:288px; top:490px; width:161px; height:13px; font-family:굴림체; font-size:9pt; vertical-align:middle; ">Comments</caption>
  1151. <line id="line4" class="line_1" style="x1:288px; y1:505px; x2:996px; y2:505px; "/>
  1152. <caption id="caption4" class="tit_2" autoresize="true" style="left:5px; top:349px; width:161px; height:14px; font-family:굴림체; font-size:9pt; vertical-align:middle; ">관련 병리번호</caption>
  1153. <line id="line5" class="line_1" style="x1:0px; y1:364px; x2:283px; y2:364px; "/>
  1154. <datagrid id="grd_stainlist" nodeset="/root/init/testrslt/relaptnolist" class="datagrid2" allowselection="true" caption="ptno^선택^병리번호^접수일자^검사항목^결과" colsep="^" colwidth="0, 33, 80, 70, 143, 0" dataheight="23" mergecellsfixedrows="bycolrec" rowsep="|" navindex="2" style="left:0px; top:369px; width:283px; height:262px; ">
  1155. <col ref="ptno"/>
  1156. <col ref="choi" type="checkbox"/>
  1157. <col ref="dispptno"/>
  1158. <col ref="acptdd" format="yyyy-mm-dd" mask="exclude" showmask="true"/>
  1159. <col ref="testhngnm"/>
  1160. <col ref="testrslt"/>
  1161. <script type="javascript" ev:event="onclick">
  1162. <![CDATA[
  1163. if ((grd_stainlist.col != grd_stainlist.colRef("choi")) && (grd_stainlist.row >= grd_stainlist.fixedRows) && (grd_stainlist.isCell(event.target))){
  1164. fExeTestCdGridClick(grd_stainlist.row);
  1165. }
  1166. ]]>
  1167. </script>
  1168. <script type="javascript" ev:event="xforms-value-changed">
  1169. <![CDATA[
  1170. if ((grd_stainlist.col == grd_stainlist.colRef("choi")) && (grd_stainlist.row >= grd_stainlist.fixedRows) && (grd_stainlist.isCell(event.target))){
  1171. model.makeValue("/root/init/testrslt/relaptnolist["+grd_stainlist.row+"]/choi", grd_stainlist.valueMatrix(grd_stainlist.row, grd_stainlist.col));
  1172. }
  1173. ]]>
  1174. </script>
  1175. </datagrid>
  1176. <textarea id="textarea2" ref="/root/temp/readaddbase" navindex="3" style="left:288px; top:31px; width:709px; height:39px; ">
  1177. <script type="javascript" ev:event="ondblclick">
  1178. <![CDATA[
  1179. fExeCntsView("판독 추가기준", document.controls(event.currentTarget));
  1180. ]]>
  1181. </script>
  1182. </textarea>
  1183. <caption id="caption5" class="tit_2" autoresize="true" style="left:293px; top:11px; width:161px; height:14px; font-family:굴림체; font-size:9pt; vertical-align:middle; ">판독 추가기준</caption>
  1184. <line id="line6" class="line_1" style="x1:288px; y1:26px; x2:997px; y2:26px; "/>
  1185. <caption id="caption6" style="left:832px; top:77px; width:65px; height:13px; font-weight:bold; ">판독의사</caption>
  1186. <select1 id="cmb_readdrid" ref="/root/temp/readdrid" navindex="5" appearance="minimal" style="left:890px; top:74px; width:106px; height:19px; ">
  1187. <choices>
  1188. <itemset nodeset="/root/init/userinfo/userinfolist[jobkindcd='1']">
  1189. <label ref="usernm"/>
  1190. <value ref="userid"/>
  1191. </itemset>
  1192. </choices>
  1193. </select1>
  1194. <input id="input1" ref="/root/temp/mpphonno" navindex="4" style="left:723px; top:74px; width:102px; height:19px; "/>
  1195. <caption id="caption7" style="left:678px; top:77px; width:43px; height:14px; font-weight:bold; ">연락처</caption>
  1196. <caption id="caption8" class="tit_2" autoresize="true" style="left:288px; top:79px; width:161px; height:13px; font-family:굴림체; font-size:9pt; vertical-align:middle; ">판독결과</caption>
  1197. <line id="line3" class="line_1" style="x1:288px; y1:94px; x2:997px; y2:94px; "/>
  1198. <textarea id="textarea3" ref="/root/temp/diagcnts" navindex="6" style="left:288px; top:99px; width:709px; height:240px; ">
  1199. <script type="javascript" ev:event="ondblclick">
  1200. <![CDATA[
  1201. fExeCntsView("판독결과", document.controls(event.currentTarget));
  1202. ]]>
  1203. </script>
  1204. </textarea>
  1205. <output id="opt_cnfmdd" ref="/root/temp/cnfmdd" format="yyyy-mm-dd" style="left:713px; top:344px; width:100px; height:19px; border-color:#000000; border-width:1px; border-style:solid; "/>
  1206. <output id="opt_cnfmtm" ref="/root/temp/cnfmtm" format="hh:nn:ss" style="left:815px; top:344px; width:80px; height:19px; border-color:#000000; border-width:1px; border-style:solid; "/>
  1207. <output id="opt_cnfmnm" ref="/root/temp/cnfmnm" style="left:897px; top:344px; width:100px; height:19px; border-color:#000000; border-width:1px; border-style:solid; "/>
  1208. <output id="opt_cnfmid" ref="/root/temp/cnfmid" visibility="hidden" style="left:890px; top:5px; width:100px; height:19px; "/>
  1209. <caption id="caption9" style="left:630px; top:349px; width:80px; height:14px; font-weight:bold; ">최종진단정보</caption>
  1210. <group id="grp_prnt" visibility="hidden" style="left:400px; top:55px; width:430px; height:255px; "/>
  1211. <input id="input2" ref="/root/temp/etccnts" navindex="9" maxlength="300" style="left:330px; top:344px; width:260px; height:19px; "/>
  1212. <group id="grp_rsltcnts" visibility="hidden" style="left:13px; top:70px; width:975; height:520px; color:#ff0000; background-color:#fcd2c1; border-color:#f7a08b; border-left-color:#c0c0c0; border-top-color:#c0c0c0; border-right-color:#808080; border-bottom-color:#808080; border-width:2; border-style:solid; ">
  1213. <line id="line7" class="line_1" style="x1:0px; y1:15px; x2:970px; y2:15px; "/>
  1214. <textarea id="tar_rsltcnts" ref="/root/hidden/rsltcont" style="left:0px; top:20px; width:970px; height:463px; font-family:굴림체; font-size:16pt; "/>
  1215. <button id="btn_rsltclose" class="btn4_letter2" style="left:913px; top:488px; width:56px; height:22px; ">
  1216. <caption>닫기</caption>
  1217. <script type="javascript" ev:event="DOMActivate">
  1218. <![CDATA[
  1219. fExeCloseCntsView();
  1220. ]]>
  1221. </script>
  1222. </button>
  1223. <caption id="cap_title" class="tit_2" style="left:5px; top:0px; width:343px; height:13px; ">판독결과</caption>
  1224. <caption id="cap_cnclresn" class="cell_2" visibility="hidden" style="left:2px; top:279px; width:80px; height:23px; font-family:돋움; vertical-align:middle; ">취소사유</caption>
  1225. <select1 id="cbo_cnclresn" ref="/root/hidden/resncd" class="combo_default" navindex="11" visibility="hidden" appearance="minimal" style="left:88px; top:278px; width:760px; height:19px; ">
  1226. <choices>
  1227. <itemset nodeset="/root/init/resncd/resncdlist">
  1228. <label ref="resncnts"/>
  1229. <value ref="resncd"/>
  1230. </itemset>
  1231. </choices>
  1232. </select1>
  1233. <line id="line10" class="line_3" visibility="hidden" style="x1:2px; y1:301px; x2:800px; y2:301px; "/>
  1234. <line id="line11" class="line_3" visibility="hidden" style="x1:2px; y1:277px; x2:800px; y2:277px; "/>
  1235. </group>
  1236. <button id="btn_rgsthist" style="left:268px; top:7px; width:14px; height:16px; background-image:../../../com/commonweb/images/icon_search.gif; ">
  1237. <caption/>
  1238. <script type="javascript" ev:event="DOMActivate">
  1239. <![CDATA[
  1240. fExeRgstHistPopupCall();
  1241. ]]>
  1242. </script>
  1243. </button>
  1244. </group>
  1245. <group id="grp_resncancle" visibility="hidden" style="left:300px; top:260px; width:420px; height:75px; ">
  1246. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:4px; top:5px; width:411px; height:65px; background-color:#fffbf2; border-color:#ffd799; border-width:3px; "/>
  1247. <caption id="caption10" class="cell_2" style="left:15px; top:15px; width:80px; height:23px; font-family:돋움; vertical-align:middle; ">취소사유</caption>
  1248. <line id="line8" class="line_3" style="x1:16px; y1:15px; x2:400px; y2:15px; "/>
  1249. <line id="line9" class="line_3" style="x1:16px; y1:60px; x2:400px; y2:60px; "/>
  1250. <button id="btn_cncresn" class="btn2_letter4" navindex="16" style="left:334px; top:19px; width:64px; height:19px; ">
  1251. <caption>확인취소</caption>
  1252. <script type="javascript" ev:event="DOMActivate">
  1253. <![CDATA[
  1254. fExeCmfCancle();
  1255. grp_resncancle.visible = false;
  1256. ]]>
  1257. </script>
  1258. </button>
  1259. <select1 id="combo1" ref="/root/hidden/resncd" class="combo_default" navindex="11" appearance="minimal" style="left:15px; top:40px; width:383px; height:19px; ">
  1260. <choices>
  1261. <itemset nodeset="/root/init/resncd/resncdlist">
  1262. <label ref="resncnts"/>
  1263. <value ref="resncd"/>
  1264. </itemset>
  1265. </choices>
  1266. </select1>
  1267. </group>
  1268. </xhtml:body>
  1269. </xhtml:html>