SPLPJ01500_조직검사의뢰지.xrw 65 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SPLPJ01500_조직검사의뢰지
  4. * 설 명 : 조직검사의뢰지
  5. * 설 계 자 : (주)에이씨케이 - 유동철
  6. * 작 성 자 : (주)에이씨케이 - 유동철
  7. * 작 성 일 : 2007.04.02
  8. * 수정이력 : 2010.09.07
  9. : Character 및 Remark 추가 (경북대)
  10. * 기 타 :
  11. -->
  12. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  13. <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">
  14. <xhtml:head>
  15. <xhtml:title>의뢰지</xhtml:title>
  16. <model id="model1">
  17. <instance id="instance1">
  18. <root xmlns="">
  19. <main>
  20. <detlspc>
  21. <detlspclist>
  22. <choi/>
  23. <spccd/>
  24. <spcnm/>
  25. <instcd/>
  26. </detlspclist>
  27. </detlspc>
  28. <rtnval>
  29. <rtnvalinfo>
  30. <reqno/>
  31. <instcd/>
  32. </rtnvalinfo>
  33. </rtnval>
  34. <reqfrm>
  35. <reqfrmtbl>
  36. <reqfrminfo>
  37. <spcsite/>
  38. <reqcnts/>
  39. <choispc>
  40. <choispclist>
  41. <choi>true</choi>
  42. <spcseqno>001</spcseqno>
  43. <spccd/>
  44. <spcnm/>
  45. </choispclist>
  46. </choispc>
  47. <resncd>
  48. <resncdlist>
  49. <choi>false</choi>
  50. <resnnm>Non - neoplastic lesion</resnnm>
  51. </resncdlist>
  52. <resncdlist>
  53. <choi>false</choi>
  54. <resnnm>Benign neoplasm</resnnm>
  55. </resncdlist>
  56. <resncdlist>
  57. <choi>false</choi>
  58. <resnnm>Atypical neoplasm</resnnm>
  59. </resncdlist>
  60. <resncdlist>
  61. <choi>false</choi>
  62. <resnnm>Malignant neoplasm</resnnm>
  63. </resncdlist>
  64. </resncd>
  65. <endono/>
  66. <watery/>
  67. <viscous/>
  68. <colorless/>
  69. <white/>
  70. <yellow/>
  71. <red/>
  72. <others/>
  73. <othercont/>
  74. <clear/>
  75. <ground/>
  76. <turbid/>
  77. <slidecnt/>
  78. </reqfrminfo>
  79. </reqfrmtbl>
  80. </reqfrm>
  81. <reprspc>
  82. <reprspclist>
  83. <instcd/>
  84. <spccd/>
  85. <spcnm/>
  86. <spcabbr/>
  87. </reprspclist>
  88. </reprspc>
  89. </main>
  90. <send>
  91. <data1/>
  92. <data2/>
  93. </send>
  94. <init>
  95. <lpcmspcm>
  96. <lpcmspcmlist>
  97. <status/>
  98. <spccd/>
  99. <spcnm/>
  100. <orddeptcd/>
  101. <spckind/>
  102. <spckindno/>
  103. </lpcmspcmlist>
  104. </lpcmspcm>
  105. <testiteminfo>
  106. <instcd/>
  107. <testcd/>
  108. <testengnm/>
  109. <testengabbr/>
  110. <testhngnm/>
  111. <testhngabbr/>
  112. <basepartcd/>
  113. <basepartnm/>
  114. <detlpartcd/>
  115. <detlpartnm/>
  116. <delflagcd/>
  117. <frznflagcd>1</frznflagcd>
  118. <workflagcd>0</workflagcd>
  119. <statsworkflagcd>0</statsworkflagcd>
  120. <statsflagcd/>
  121. <spcflagcd>0</spcflagcd>
  122. <prcpflagcd>0</prcpflagcd>
  123. <ptnonewflagcd>Y</ptnonewflagcd>
  124. <ordkindflagcd>-</ordkindflagcd>
  125. <reqfrmflagcd>-</reqfrmflagcd>
  126. <edicd>123456789012345</edicd>
  127. <grupflagcd>0</grupflagcd>
  128. <trusttestflagcd/>
  129. <dispseqno/>
  130. <cfnm/>
  131. <ptnocd/>
  132. <ptnonm/>
  133. <stdyptnocd/>
  134. <stdyptnonm/>
  135. <trustptnocd/>
  136. <trustptnonm/>
  137. <refcnts/>
  138. <fstrgstdt/>
  139. <fstrgstrid/>
  140. <lastupdtdt/>
  141. <lastupdtrid/>
  142. <hideflagcd/>
  143. <popwndflagcd/>
  144. <trustexmpcnts/>
  145. <earncls1/>
  146. <earncls2/>
  147. <earncls3/>
  148. <delayonetime/>
  149. <delayaddtime/>
  150. <olcode/>
  151. <olno/>
  152. <pcidcd/>
  153. </testiteminfo>
  154. </init>
  155. <hidden>
  156. <userinfo>
  157. <instcd/>
  158. </userinfo>
  159. <reqfrminfo>
  160. <pid/>
  161. <prcpcd/>
  162. <prcpnm/>
  163. <opnm/>
  164. <spccd/>
  165. <spcnm/>
  166. <reqno/>
  167. <reqhistno/>
  168. <prcpstatcd/>
  169. </reqfrminfo>
  170. <popupmenu>
  171. <item>
  172. <nm>검체삭제</nm>
  173. <funt>fExeSpcDel</funt>
  174. </item>
  175. <item>
  176. <nm>검체추가</nm>
  177. <funt>fExeSpcAdd</funt>
  178. </item>
  179. </popupmenu>
  180. <seaspc>
  181. <spccd/>
  182. <spcnm/>
  183. </seaspc>
  184. </hidden>
  185. <temp>
  186. <SMMMR03600_modalif>
  187. <openmode>OneImge</openmode>
  188. <imgecd/>
  189. <base64/>
  190. <shape/>
  191. </SMMMR03600_modalif>
  192. </temp>
  193. </root>
  194. </instance>
  195. <submission id="TRLPJ01501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/detlspc/detlspclist"/>
  196. <submission id="TXLPJ01501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/rtnval/rtnvalinfo"/>
  197. <submission id="TRLPJ01502" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/reqfrm"/>
  198. <submission id="TRLPJ01503" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/reprspc/reprspclist"/>
  199. <submission id="TRMMB02302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/lpcmspcm"/>
  200. <submission id="TRLPC00701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/testinfocnts/testinfolist"/>
  201. <submission id="TRLPC00402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/testiteminfo"/>
  202. <script type="javascript" ev:event="xforms-ready">
  203. <![CDATA[
  204. fExeInitialize();
  205. ]]>
  206. </script>
  207. </model>
  208. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  209. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  210. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  211. <script type="javascript" src="../../../lis/commonweb/js/LPZ001.js"/>
  212. <script type="javascript">
  213. <![CDATA[
  214. /* @group : 조직검사의뢰지
  215. * @ver : 2007.04.02 (CMCDEV-0001)
  216. * @by : 유동철(ACK)
  217. * @-----------------------------------
  218. * @type : function
  219. * @access : public
  220. * @desc : 초기화 Function
  221. */
  222. function fExeInitialize() {
  223. var sReqFrmNo = "";
  224. var strNode = "/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist";
  225. /* --------------------------------------
  226. * 2007-10-24 : 유동철
  227. * 내시경, 기관지경실의 경우 시행부서처방(추가처방)으로 처방을 등록한다.
  228. * 이 경우 바코드 출력 시점에서 검체의 수 를 조절할 경우가 발생하기에
  229. * 수정할 수 있는 기능에 제한을 두지 않는다.
  230. //--------------------------------------------------------------------
  231. // 처방등록 화면에서 호출되지 않는 경우는 "저장" 기능을 비 활성화 처리
  232. if (model.getValue("/root/hidden/reqfrminfo/scrnno") == "10") {
  233. btn_save.visible = true;
  234. btn_sytsrsltref.visible = true;
  235. } else {
  236. btn_save.visible = false;
  237. btn_sytsrsltref.visible = false;
  238. }
  239. */
  240. //----------------------------------------------
  241. // 검체팝업 호출을 위한 노드(과별 검체목록 조회)
  242. model.removeNodeset("/root/init/lpcmspcm/lpcmspcmlist")
  243. model.makeValue("/root/hidden/userinfo/instcd", getUserInfo("dutplceinstcd"));
  244. model.makeValue("/root/send/cond1", getUserInfo("dutplcecd"));
  245. model.makeValue("/root/send/cond2", "1");
  246. submit("TRMMB02302");
  247. /*
  248. //-------------
  249. // Test용 자료
  250. model.setValue("/root/hidden/reqfrminfo/pid", "1385186");
  251. model.setValue("/root/hidden/reqfrminfo/prcpcd", "PSU10001");
  252. model.setValue("/root/hidden/reqfrminfo/prcpnm", "생검");
  253. model.setValue("/root/hidden/reqfrminfo/spccd", "T00100");
  254. // model.setValue("/root/hidden/reqfrminfo/spcnm", "Stomach");
  255. model.setValue("/root/hidden/reqfrminfo/reqno", "8");
  256. model.setValue("/root/hidden/reqfrminfo/prcpstatcd", "000");
  257. */
  258. //---------------------------------------------------------------------
  259. model.makeValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/spcsite", "2");
  260. model.makeValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/endono", "0");
  261. model.removeNodeset("/root/send");
  262. //-------------------
  263. // 대표검체 목록 조회
  264. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  265. model.makeValue("/root/send/prcpcd", model.getValue("/root/hidden/reqfrminfo/prcpcd"));
  266. model.makeValue("/root/send/spccd", model.getValue("/root/hidden/reqfrminfo/spccd"));
  267. model.makeValue("/root/send/spcflagcd", "0");
  268. submit("TRLPJ01501", false);
  269. cmb_reprspccd.refresh();
  270. model.removeNodeset("/root/main/reprspc/reprspclist");
  271. model.makeNode("/root/main/reprspc/reprspclist");
  272. copyNodesetType("/root/main/reprspc/reprspclist", "/root/main/detlspc/detlspclist");
  273. //-------------------
  274. // 세부검체 목록 조회
  275. model.makeValue("/root/send/spcflagcd", "1");
  276. submit("TRLPJ01501", true);
  277. //----------------------------------------------------------
  278. sReqFrmNo = model.getValue("/root/hidden/reqfrminfo/reqno");
  279. sReqFrmNo = sReqFrmNo.getLeftPad(1, "0");
  280. //------------------------------------------------
  281. // 의뢰지번호가 존재할 경우 의뢰지내용을 조회한다.
  282. if (sReqFrmNo != "0") {
  283. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  284. model.makeValue("/root/send/pid", model.getValue("/root/hidden/reqfrminfo/pid"));
  285. model.makeValue("/root/send/reqno", model.getValue("/root/hidden/reqfrminfo/reqno"));
  286. submit("TRLPJ01502");
  287. copyNodesetType("/root/temp", "/root/main/reqfrm/reqimgtbl");
  288. //----------------------------------------------------------------------------------------------
  289. grd_choispc.row = getNodesetCount("/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist");
  290. fExeAddLastRow();
  291. } else {
  292. model.removeNodeset(strNode);
  293. // 이재오 2014.10.30일 추가 세부코드 하나일때 자동선택
  294. if (getNodesetCount("/root/main/detlspc/detlspclist") <= 0) fExeSpcNodeAdd();
  295. if (getNodesetCount("/root/main/detlspc/detlspclist") == 1)
  296. {
  297. /* alert("test");*/
  298. model.setValue("/root/main/detlspc/detlspclist/choi", "true");
  299. fExeDetlSpcClick_copy(1);
  300. fExeResnChoi_flt();
  301. }
  302. // 이재오 2014.10.30일 추가 세부코드 하나일때 자동선택
  303. }
  304. /*
  305. //---------------------------------------------
  306. // 대표검체코드가 처방화면에서 넘어온 경우 처리
  307. if (model.getValue("/root/hidden/reqfrminfo/spccd") != "" && model.getValue("/root/hidden/reqfrminfo/spccd") != "-") {
  308. if (sReqFrmNo != "0") {
  309. // Continue
  310. } else {
  311. model.makeValue(strNode + "[1]/choi", "true");
  312. model.makeValue(strNode + "[1]/spcseqno", "001");
  313. model.makeValue(strNode + "[1]/spccd", model.getValue("/root/hidden/reqfrminfo/spccd"));
  314. model.makeValue(strNode + "[1]/spcnm", model.getValue("/root/hidden/reqfrminfo/spcnm"));
  315. model.makeValue(strNode + "[1]/existyn", "N");
  316. }
  317. } else {
  318. cmb_reprspccd.disabled = false;
  319. cmb_reprspccd.refresh();
  320. }
  321. */
  322. //-----------------------------------------------
  323. // 과별 지정된 검체가 존재할 경우 우선적으로 표시
  324. if (getNodesetCount("/root/init/lpcmspcm/lpcmspcmlist") > 0) {
  325. cmb_reprspccd.choices.itemset.attribute("nodeset") = "/root/init/lpcmspcm/lpcmspcmlist";
  326. cmb_reprspccd.choices.itemset.label.attribute("ref") = "spcnm";
  327. cmb_reprspccd.choices.itemset.value.attribute("ref") = "spccd";
  328. } else {
  329. cmb_reprspccd.choices.itemset.attribute("nodeset") = "/root/main/reprspc/reprspclist";
  330. cmb_reprspccd.choices.itemset.label.attribute("ref") = "spcnm";
  331. cmb_reprspccd.choices.itemset.value.attribute("ref") = "spccd";
  332. }
  333. //---------------------------------------
  334. // 대표검체를 세부검체 목록의 상단에 추가
  335. //fExeSpcNodeAdd();
  336. //-----------------------------------------------------------
  337. // 세부검체가 없을 경우 대표검체를 세부검체 목록 상단에 추가
  338. if (getNodesetCount("/root/main/detlspc/detlspclist") <= 0) fExeSpcNodeAdd();
  339. //-------------------------------------------------------------
  340. // 처방상태코드가 바코드출력(420)보다 적은 경우만 검체수정 가능
  341. if (Number(model.getValue("/root/hidden/reqfrminfo/prcpstatcd")) >= 400) {
  342. //바코드가 접수되었더라도 프로즌검체는 검체를 추가할 수 있도록 허용한다.
  343. if((model.getValue("/root/hidden/reqfrminfo/xrwGBN") == "inbcoll")
  344. && (model.getValue("/root/hidden/reqfrminfo/workflagcd") == "1002")
  345. && (model.getValue("/root/hidden/reqfrminfo/bcgbn") == "true")) {
  346. cmb_reprspccd.disabled = false;
  347. btn_img.disabled = false;
  348. btn_save.disabled = false;
  349. btn_allspc.disabled = false;
  350. } else {
  351. cmb_reprspccd.disabled = true;
  352. btn_img.disabled = true;
  353. btn_save.disabled = true;
  354. btn_allspc.disabled = true;
  355. }
  356. } else {
  357. if(Number(model.getValue("/root/main/reqfrm/prcpstatcd")) >= 400) {
  358. //바코드가 접수되었더라도 프로즌검체는 검체를 추가할 수 있도록 허용한다.
  359. if(Number(model.getValue("/root/main/reqfrm/workflagcd")) == 1002) {
  360. cmb_reprspccd.disabled = false;
  361. btn_img.disabled = false;
  362. btn_save.disabled = false;
  363. btn_allspc.disabled = false;
  364. } else {
  365. cmb_reprspccd.disabled = true;
  366. btn_img.disabled = true;
  367. btn_save.disabled = true;
  368. btn_allspc.disabled = true;
  369. }
  370. }else {
  371. cmb_reprspccd.disabled = false;
  372. btn_img.disabled = false;
  373. btn_save.disabled = false;
  374. btn_allspc.disabled = false;
  375. }
  376. }
  377. //-------------------------------------------------
  378. // 선택검체(검체명)은 기본적으로 50라인을 생성한다.
  379. //fExeInitChoiSpc(1);
  380. tar_prcpcnts.disabled = true;
  381. //---------------------------
  382. for (var iNo=1; iNo <= getNodesetCount("/root/main/reqfrm/reqfrmtbl/reqfrminfo/resncd/resncdlist"); iNo++) {
  383. if (model.getValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/resncd/resncdlist["+iNo+"]/choi") == "true") {
  384. tar_prcpcnts.disabled = false;
  385. }
  386. }
  387. //--------------------------------------
  388. grd_spclist.fixedcellcheckbox(0,0)=true;
  389. //-------------
  390. model.refresh();
  391. cmb_reprspccd.refresh();
  392. }
  393. /* @group : 조직검사의뢰지
  394. * @ver : 2007.04.02 (CMCDEV-0001)
  395. * @by : 유동철(ACK)
  396. * @-----------------------------------
  397. * @type : function
  398. * @access : public
  399. * @desc : 설정값 저장 Function
  400. */
  401. function fExeSave() {
  402. var iFindNo = 0;
  403. var sSpcCd = "";
  404. var sSpcNm = "";
  405. var sSpcCdList = "";
  406. var sSpcNmList = "";
  407. var sReqFrmNo = "";
  408. var sStrNo = "";
  409. var sEndNo = "";
  410. var sNode = "/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist";
  411. var node = instance1.selectSingleNode("/root/main/reqfrm/reqfrmtbl/reqfrminfo");
  412. var imgnode = instance1.selectSingleNode("/root/temp/SMMMR03600_modalif");
  413. //--------------------------------
  414. if (getNodesetCount(sNode) <= 0 || model.getValue(sNode + "/spcnm") == "") {
  415. messageBox("검체명은 ", "I003");
  416. return false;
  417. }
  418. //-------------------------------------------------------
  419. iFindNo = grd_resncd.findRow("true", 1, 0, false, false);
  420. if (Number(iFindNo) <= 0) {
  421. messageBox("임상소견은 ", "I003");
  422. return false;
  423. }
  424. /* ************************************
  425. * 2010-09-29 : YDC
  426. * : 비부인과 처방은 Character가 필수, 세침흡인은 Remark가 필수로 입력되어야 함.
  427. */
  428. model.makeNode("/root/init/testiteminfo"); // Node생성
  429. model.removeNodeset("/root/send");
  430. model.makeValue("/root/send/data1", "0"); // 검사코드 사용여부구분
  431. model.makeValue("/root/send/data2", model.getValue("/root/hidden/reqfrminfo/prcpcd")); // 검사코드
  432. model.makeValue("/root/send/data3", getUserInfo("dutplceinstcd")); // 기관코드
  433. //-------------------
  434. submit("TRLPC00402"); // 처방의 상세정보 검색
  435. // //-------------------------------------------------------------------------
  436. // if (model.getValue("/root/init/testiteminfo/statsworkflagcd") == "1022") { // 비부인과
  437. //
  438. // if (model.getValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/watery") != "") {
  439. // // Continue
  440. // }
  441. // else if (model.getValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/viscous") != "") {
  442. // // Continue
  443. // }
  444. // else if (model.getValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/colorless") != "") {
  445. // // Continue
  446. // }
  447. // else if (model.getValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/white") != "") {
  448. // // Continue
  449. // }
  450. // else if (model.getValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/yellow") != "") {
  451. // // Continue
  452. // }
  453. // else if (model.getValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/red") != "") {
  454. // // Continue
  455. // }
  456. // else if (model.getValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/others") != "") {
  457. // // Continue
  458. // }
  459. // else if (model.getValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/clear") != "") {
  460. // // Continue
  461. // }
  462. // else if (model.getValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/ground") != "") {
  463. // // Continue
  464. // }
  465. // else if (model.getValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/turbid") != "") {
  466. // // Continue
  467. // }
  468. // else {
  469. // messageBox("Non-GY 처방은 Character가 ", "I003");
  470. // return false;
  471. // }
  472. //
  473. // } else if (model.getValue("/root/init/testiteminfo/statsworkflagcd") == "1023") { // 세침흡인(FNA)
  474. //
  475. // if (model.getValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/slidecnt") != "") {
  476. // // Continue
  477. // }
  478. // else {
  479. // messageBox("FNA처방은 Remark(Slide)가 ", "I003");
  480. // return false;
  481. // }
  482. // }
  483. //---------------------------------
  484. model.removeNodeset("/root/send");
  485. model.removeNodeset(sNode+"[spccd='']");
  486. //-------------------------------------------------------------------------
  487. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  488. model.makeValue("/root/send/pid", model.getValue("/root/hidden/reqfrminfo/pid"));
  489. model.makeValue("/root/send/prcpdd", model.getValue("/root/hidden/reqfrminfo/prcpdd"));
  490. model.makeValue("/root/send/execprcpuniqno", model.getValue("/root/hidden/reqfrminfo/execprcpuniqno"));
  491. model.makeValue("/root/send/reqno", (model.getValue("/root/hidden/reqfrminfo/reqno")).toString().getLeftPad(1, "0"));
  492. model.makeValue("/root/send/reqcnts", "");
  493. model.makeValue("/root/send/imgcnts", "");
  494. model.makeValue("/root/send/scrno", "10");
  495. model.setValue("/root/send/reqcnts", node.xml, true);
  496. model.setValue("/root/send/imgcnts", imgnode.xml, true);
  497. //---------------------------
  498. if (!submit("TXLPJ01501")) {
  499. messageBox("의뢰지 저장을", "E009");
  500. return false;
  501. }
  502. //--------------
  503. sSpcCdList = "";
  504. sSpcNmList = "";
  505. sSpcCd = model.getValue("/root/hidden/reqfrminfo/spccd");
  506. sSpcNm = model.getValue("/root/main/reprspc/reprspclist[spccd='"+ sSpcCd +"']/spcnm");
  507. //-----------------------------------------------------
  508. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  509. sSpcCdList += model.getValue(sNode+"["+iNo+"]/spcseqno") + "▨";
  510. sSpcNmList += model.getValue(sNode+"["+iNo+"]/spcnm") + "▨";
  511. }
  512. //------------------
  513. // 의뢰지번호 Return
  514. //----------------------------------------------------------
  515. sReqFrmNo = model.getValue("/root/hidden/reqfrminfo/reqno");
  516. sReqFrmNo = sReqFrmNo.getLeftPad(1, "0");
  517. //------------------------------------------------
  518. // 의뢰지번호가 존재할 경우 의뢰지내용을 조회한다.
  519. if (sReqFrmNo != "0") {
  520. opener.model.makeValue("/root/hidden/reqfrminfo/reqno", sReqFrmNo); // 의뢰지 수정
  521. } else {
  522. opener.model.makeValue("/root/hidden/reqfrminfo/reqno", model.getValue("/root/main/rtnval/rtnvalinfo/reqno")); // 의뢰지 신규
  523. }
  524. opener.model.makeValue("/root/hidden/reqfrminfo/spccd", sSpcCd);
  525. opener.model.makeValue("/root/hidden/reqfrminfo/spcnm", sSpcNm);
  526. opener.model.makeValue("/root/hidden/reqfrminfo/spccnt", getNodesetCount(sNode));
  527. opener.model.makeValue("/root/hidden/reqfrminfo/spcseqno", sSpcCdList);
  528. opener.model.makeValue("/root/hidden/reqfrminfo/spcseqnm", sSpcNmList);
  529. opener.model.makeValue("/root/hidden/reqfrminfo/spcstrno", model.getValue("/root/main/rtnval/rtnvalinfo/spcstrno"));
  530. opener.model.makeValue("/root/hidden/reqfrminfo/spcendno", model.getValue("/root/main/rtnval/rtnvalinfo/spcendno"));
  531. //------------
  532. model.close();
  533. }
  534. /* @group : 조직검사의뢰지
  535. * @ver : 2007.04.02 (CMCDEV-0001)
  536. * @by : 유동철(ACK)
  537. * @-----------------------------------
  538. * @type : function
  539. * @access : public
  540. * @desc : 화면 닫기 Function
  541. */
  542. function fExeClose() {
  543. opener.model.makeValue("/root/hidden/reqfrminfo/spcseqno", "");
  544. model.close();
  545. }
  546. /* @group : 조직검사의뢰지
  547. * @ver : 2007.04.02 (CMCDEV-0001)
  548. * @by : 유동철(ACK)
  549. * @-----------------------------------
  550. * @type : function
  551. * @access : public
  552. * @desc : 세부검체목록 Row Click처리 Function
  553. */
  554. function fExeDetlSpcClick(iRowNo) {
  555. var iBlankNo = 0;
  556. var iFindRow = -1;
  557. var iMaxSeqNo = -1;
  558. var strNodeDest = "/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist";
  559. var strNodeSrc = "/root/main/detlspc/detlspclist";
  560. //-----------------------
  561. // 선택 컬럼 체크유무 검사
  562. if (grd_spclist.col != 0) return false;
  563. //--------------------------------------------------------------------------------------
  564. // 대표검체의 존재유무 검사(대표검체가 처방에서 넘어오지 않은 경우 세부검체를 추가 금지)
  565. if (model.getValue("/root/hidden/reqfrminfo/spccd") == "") {
  566. messageBox("대표검체를 먼저 ", "C002");
  567. return false;
  568. }
  569. //------------------------------
  570. // 기존 선택된 검체인지 유무 검사
  571. iFindRow = grd_choispc.findRow(model.getValue(strNodeSrc + "[" + iRowNo + "]/spccd"), 1, 2, true, true);
  572. //-------------------------------------------------------------------
  573. if (model.getValue(strNodeSrc + "[" + iRowNo + "]/choi") == "true") {
  574. //-----------------------------
  575. // 검색되지 않은 검체는 추가처리
  576. //if (iFindRow == -1) {
  577. //-----------------------
  578. iBlankNo = fExeFindRow();
  579. if (iBlankNo <= -1) {
  580. grd_choispc.addRow();
  581. iBlankNo = grd_choispc.row;
  582. }
  583. //--------------------------------------------------------------
  584. model.setValue(strNodeDest + "["+iBlankNo+"]/choi", "true");
  585. model.setValue(strNodeDest + "["+iBlankNo+"]/spcseqno", "");
  586. model.setValue(strNodeDest + "["+iBlankNo+"]/spccd", model.getValue(strNodeSrc + "["+iRowNo+"]/spccd"));
  587. model.setValue(strNodeDest + "["+iBlankNo+"]/spcnm", model.getValue(strNodeSrc + "["+iRowNo+"]/spcnm"), true);
  588. model.setValue(strNodeDest + "["+iBlankNo+"]/existyn", "N");
  589. model.setValue(strNodeDest + "["+iBlankNo+"]/slidno", "0");
  590. //--------------------
  591. // 세부검체번호 재 설정
  592. iMaxSeqNo = fExeSeqNoSet(0);
  593. fExeAddLastRow();
  594. //model.setValue(strNodeSrc + "["+iRowNo+"]/choi", "false");
  595. model.refresh();
  596. //} else {
  597. // model.setValue(strNodeSrc + "[" + iRowNo + "]/choi", "false");
  598. //}
  599. } else {
  600. //grd_choispc.deleteRow(iFindRow);
  601. //fExeSeqNoSet(iFindRow);
  602. }
  603. }
  604. /* @group : 조직검사의뢰지
  605. * @ver : 2007.04.02 (CMCDEV-0001)
  606. * @by : 유동철(ACK)
  607. * @-----------------------------------
  608. * @type : function
  609. * @access : public
  610. * @desc : 세부검체목록 Row Click처리 Function
  611. */
  612. function fExeDetlSpcClick_copy(iRowNo) {
  613. var iBlankNo = 0;
  614. var iFindRow = -1;
  615. var iMaxSeqNo = -1;
  616. var strNodeDest = "/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist";
  617. var strNodeSrc = "/root/main/detlspc/detlspclist";
  618. //-----------------------
  619. // 선택 컬럼 체크유무 검사
  620. // if (grd_spclist.col != 0) return false;
  621. //--------------------------------------------------------------------------------------
  622. // 대표검체의 존재유무 검사(대표검체가 처방에서 넘어오지 않은 경우 세부검체를 추가 금지)
  623. if (model.getValue("/root/hidden/reqfrminfo/spccd") == "") {
  624. messageBox("대표검체를 먼저 ", "C002");
  625. return false;
  626. }
  627. //------------------------------
  628. // 기존 선택된 검체인지 유무 검사
  629. iFindRow = grd_choispc.findRow(model.getValue(strNodeSrc + "[" + iRowNo + "]/spccd"), 1, 2, true, true);
  630. //-------------------------------------------------------------------
  631. if (model.getValue(strNodeSrc + "[" + iRowNo + "]/choi") == "true") {
  632. //-----------------------------
  633. // 검색되지 않은 검체는 추가처리
  634. //if (iFindRow == -1) {
  635. //-----------------------
  636. iBlankNo = fExeFindRow();
  637. // alert(iBlankNo);
  638. if (iBlankNo <= -1) {
  639. // model.removeNodeset(strNodeDest);
  640. grd_choispc.refresh();
  641. grd_choispc.addRow();
  642. iBlankNo = grd_choispc.row;
  643. // alert(iBlankNo);
  644. }
  645. // alert(model.getValue(strNodeSrc + "["+iRowNo+"]/spccd"));
  646. // alert(model.getValue(strNodeSrc + "["+iRowNo+"]/spcnm"));
  647. //--------------------------------------------------------------
  648. model.setValue(strNodeDest + "["+iBlankNo+"]/choi", "true");
  649. model.setValue(strNodeDest + "["+iBlankNo+"]/spcseqno", "");
  650. model.setValue(strNodeDest + "["+iBlankNo+"]/spccd", model.getValue(strNodeSrc + "["+iRowNo+"]/spccd"));
  651. model.setValue(strNodeDest + "["+iBlankNo+"]/spcnm", model.getValue(strNodeSrc + "["+iRowNo+"]/spcnm"), true);
  652. model.setValue(strNodeDest + "["+iBlankNo+"]/existyn", "N");
  653. model.setValue(strNodeDest + "["+iBlankNo+"]/slidno", "0");
  654. //--------------------
  655. // 세부검체번호 재 설정
  656. iMaxSeqNo = fExeSeqNoSet(0);
  657. fExeAddLastRow();
  658. //model.setValue(strNodeSrc + "["+iRowNo+"]/choi", "false");
  659. model.refresh();
  660. //} else {
  661. // model.setValue(strNodeSrc + "[" + iRowNo + "]/choi", "false");
  662. //}
  663. } else {
  664. //grd_choispc.deleteRow(iFindRow);
  665. //fExeSeqNoSet(iFindRow);
  666. }
  667. }
  668. /* @group : 조직검사의뢰지
  669. * @ver : 2007.10.13 (CMCDEV-0001)
  670. * @by : 유동철(ACK)
  671. * @-----------------------------------
  672. * @type : function
  673. * @access : public
  674. * @desc : 선택검체 그리드의 빈 Row을 검색 Function
  675. */
  676. function fExeFindRow() {
  677. var iFindNo = -1;
  678. var strNode = "/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist";
  679. //----------------------------------------------------------------
  680. for (var iRowNo=1; iRowNo <= getNodesetCount(strNode); iRowNo++) {
  681. if (model.getValue(strNode+"["+iRowNo+"]/spccd") == "") {
  682. return iRowNo;
  683. }
  684. }
  685. //-------------
  686. return iFindNo;
  687. }
  688. /* @group : 조직검사의뢰지
  689. * @ver : 2007.04.02 (CMCDEV-0001)
  690. * @by : 유동철(ACK)
  691. * @-----------------------------------
  692. * @type : function
  693. * @access : public
  694. * @desc : 세부검체 일련번호 재 설정 처리 Function
  695. */
  696. function fExeSeqNoSet(iStartNo) {
  697. var iSeqNo = 1;
  698. var iLoopNo = 0;
  699. var strNode = "/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist";
  700. if (iStartNo == 0) iLoopNo = iStartNo+1;
  701. else iLoopNo = iStartNo;
  702. //----------------------------------------------------------------
  703. for (var iRowNo=1; iRowNo <= getNodesetCount(strNode); iRowNo++) {
  704. if (model.getValue(strNode+"["+iRowNo+"]/spccd") != "") {
  705. model.setValue(strNode+"[" + iRowNo + "]/spcseqno", (iSeqNo).toString().getLeftPad(3, "0"));
  706. iSeqNo++;
  707. }
  708. // //---------------------------------------------------------------------------
  709. // if (iSeqNo < parseInt(model.getValue(strNode+"[" + iRowNo + "]/spcseqno"))) {
  710. //
  711. // if (iStartNo > 0) {
  712. // iSeqNo = Number(model.getValue(strNode+"[" + iRowNo + "]/spcseqno")) - 1;
  713. // model.setValue(strNode+"[" + iRowNo + "]/spcseqno", (iSeqNo).toString().getLeftPad(3, "0"));
  714. // } else {
  715. // iSeqNo = Number(model.getValue(strNode+"[" + iRowNo + "]/spcseqno"));
  716. // }
  717. // }
  718. }
  719. //-----------
  720. return iSeqNo;
  721. }
  722. /* @group : 조직검사의뢰지
  723. * @ver : 2007.04.02 (CMCDEV-0001)
  724. * @by : 유동철(ACK)
  725. * @-----------------------------------
  726. * @type : function
  727. * @access : public
  728. * @desc : 선택 검체 삭제 처리 Function
  729. */
  730. function fExeSpcDel() {
  731. var iMaxRows = grd_choispc.selectedRows;
  732. /* ******************************************************************************
  733. * 2007-08-06 : 대표검체가 "검체명 목록"에 표시되기에 모든 검체를 삭제할 수 있다.
  734. ********************************************************************************
  735. if (grd_choispc.row == 1) {
  736. messageBox("대표검체는 삭제", "E001");
  737. } else {
  738. grd_choispc.deleteRow(grd_choispc.row);
  739. fExeSeqNoSet(grd_choispc.row);
  740. }
  741. */
  742. //--------------------------------------
  743. for (var iNo=0; iNo < iMaxRows;iNo++) {
  744. grd_choispc.deleteRow(grd_choispc.selectedRow(0));
  745. }
  746. fExeSeqNoSet(grd_choispc.row);
  747. /* ********************************************************** */
  748. }
  749. /* @group : 조직검사의뢰지
  750. * @ver : 2007.04.02 (CMCDEV-0001)
  751. * @by : 유동철(ACK)
  752. * @-----------------------------------
  753. * @type : function
  754. * @access : public
  755. * @desc : 선택 검체 추가 처리 Function
  756. */
  757. function fExeSpcAdd() {
  758. //grd_choispc.addrow();
  759. grd_choispc.insertRow(grd_choispc.row, "after");
  760. }
  761. /* @group : 조직검사의뢰지
  762. * @ver : 2007.04.04 (CMCDEV-0001)
  763. * @by : 유동철(ACK)
  764. * @-----------------------------------
  765. * @type : function
  766. * @access : public
  767. * @desc : 통합결과조회 처리 Function
  768. */
  769. function fSytsRsltRef() {
  770. modal("SMAER00800", "", "", "", "SMAER00800", "/root/hidden/reqfrminfo/pid", "/root/send/data/singdata/srchpid");
  771. }
  772. /* @group : 조직검사의뢰지
  773. * @ver : 2007.04.04 (CMCDEV-0001)
  774. * @by : 유동철(ACK)
  775. * @-----------------------------------
  776. * @type : function
  777. * @access : public
  778. * @desc : 검체팝업 처리 Function
  779. */
  780. function fExeSpcPopup() {
  781. lpzfExeComnOpenScrn("spccd", "/root/hidden/reqfrminfo");
  782. model.refresh();
  783. }
  784. /* @group : 조직검사의뢰지
  785. * @ver : 2007.05.23 (CMCDEV-0001)
  786. * @by : 유동철(ACK)
  787. * @-----------------------------------
  788. * @type : function
  789. * @access : public
  790. * @desc : 대표검체 선택 처리 Function
  791. */
  792. function fExeChangeReprSpcCd() {
  793. var strNode = "/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist";
  794. /* **********************************************************************************
  795. * 2007-08-06 : 의뢰지 처리방법에 따른 수정
  796. * 대표검체를 "검체명" 그리드가 아닌 "검체명 목록" 그리드의 첫줄에 표현
  797. *
  798. * ********************************************************************************* */
  799. /*
  800. //------------------------------------------------------
  801. if (getNodesetCount(strNode) <= 0) grd_choispc.addrow();
  802. //---------------------------
  803. model.removeNodeset(strNode);
  804. //------------------------------------------------
  805. model.makeValue(strNode + "[1]/choi", "true");
  806. model.makeValue(strNode + "[1]/spcseqno", "001");
  807. model.makeValue(strNode + "[1]/existyn", "N");
  808. //------------------------------------------------------------
  809. if (getNodesetCount("/root/init/lpcmspcm/lpcmspcmlist") > 0) {
  810. model.makeValue(strNode + "[1]/spccd", model.getValue("/root/hidden/reqfrminfo/spccd"));
  811. model.makeValue(strNode + "[1]/spcnm", model.getValue("/root/init/lpcmspcm/lpcmspcmlist[spccd='" + model.getValue("/root/hidden/reqfrminfo/spccd") + "']/spcnm"));
  812. } else {
  813. model.makeValue(strNode + "[1]/spccd", model.getValue("/root/hidden/reqfrminfo/spccd"));
  814. model.makeValue(strNode + "[1]/spcnm", model.getValue("/root/main/reprspc/reprspclist[spccd='" + model.getValue("/root/hidden/reqfrminfo/spccd") + "']/spcnm"));
  815. }
  816. */
  817. //----------------------------------------------------
  818. model.removeNodeset("/root/main/detlspc/detlspclist");
  819. model.removeNodeset(strNode);
  820. //--------------------------------------------------------------------
  821. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  822. model.makeValue("/root/send/prcpcd", model.getValue("/root/hidden/reqfrminfo/prcpcd"));
  823. model.makeValue("/root/send/spccd", model.getValue("/root/hidden/reqfrminfo/spccd"));
  824. model.makeValue("/root/send/spcflagcd", "1");
  825. submit("TRLPJ01501", false);
  826. //-----------------------------------------------------------
  827. // 세부검체가 없을 경우 대표검체를 세부검체 목록 상단에 추가
  828. if (getNodesetCount("/root/main/detlspc/detlspclist") <= 0) fExeSpcNodeAdd();
  829. if (getNodesetCount("/root/main/detlspc/detlspclist") == 1)
  830. {
  831. /* alert("test");*/
  832. model.setValue("/root/main/detlspc/detlspclist/choi", "true");
  833. fExeDetlSpcClick_copy(1)
  834. }
  835. //--------------------
  836. grd_spclist.refresh();
  837. grd_choispc.refresh();
  838. //-----------------------------------------------------------
  839. // 이재오 2014년 5월 7일 대표검체 1대 세부검체 1일때 우측 자동지정
  840. //-----------------------------------------------------------
  841. // if (getNodesetCount("/root/main/detlspc/detlspclist") = 1) fExeSpcGridClick(1);
  842. // if (getNodesetCount("/root/main/detlspc/detlspclist") = 1) alert("test");
  843. }
  844. /* @group : 조직검사의뢰지
  845. * @ver : 2007.06.27 (CMCDEV-0001)
  846. * @by : 유동철(ACK)
  847. * @-----------------------------------
  848. * @type : function
  849. * @access : public
  850. * @desc : 임상소견 팝업창 호출 처리 Function
  851. */
  852. function fExePopupCall(pFlag) {
  853. var xpt = window.screenleft + 50;
  854. var ypt = window.screenTop + 50;
  855. var coord = getRelativeCoordinate ( xpt, ypt );
  856. var mon = coord[0];
  857. xpt = coord[1];
  858. ypt = coord[2];
  859. //-----------------
  860. if (pFlag == "P") {
  861. setParameter("SPMMB02200_cond2", "1"); // 임상소견
  862. //---------------------------------
  863. //modal ("SPMMB02200", 1, xpt, ypt);
  864. modal("SPMMB02200", mon, xpt, ypt, "SPMMB02200", "", "", "", false);
  865. //----------------------------------------------
  866. if (getParameter("SPMMB02200_clinccmt") == "") {
  867. // Continue
  868. } else {
  869. model.makeValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/reqcnts", getParameter("SPMMB02200_clinccmt"));
  870. }
  871. //---------------------
  872. tar_prcpcnts.refresh();
  873. } else {
  874. //modal("SPMMB02300", 1, xpt, ypt, ); // 검체등록
  875. modal("SPMMB02300", mon, xpt, ypt, "SPMMB02300", "", "", "", false); // 검체등록
  876. //modal (screenId, mon, xpt, ypt, screenId, "", "", "", false);
  877. model.makeValue("/root/send/cond1", getUserInfo("dutplcecd"));
  878. model.makeValue("/root/send/cond2", "1");
  879. submit("TRMMB02302");
  880. /*
  881. //-----------------------------------------------
  882. // 과별 지정된 검체가 존재할 경우 우선적으로 표시
  883. if (getNodesetCount("/root/init/lpcmspcm/lpcmspcmlist") > 0) {
  884. cmb_reprspccd.choices.itemset.attribute("nodeset") = "/root/init/lpcmspcm/lpcmspcmlist";
  885. cmb_reprspccd.choices.itemset.label.attribute("ref") = "spcnm";
  886. cmb_reprspccd.choices.itemset.value.attribute("ref") = "spccd";
  887. } else {
  888. cmb_reprspccd.choices.itemset.attribute("nodeset") = "/root/main/reprspc/reprspclist";
  889. cmb_reprspccd.choices.itemset.label.attribute("ref") = "spcnm";
  890. cmb_reprspccd.choices.itemset.value.attribute("ref") = "spccd";
  891. }
  892. */
  893. }
  894. }
  895. /* @group : 조직검사의뢰지
  896. * @ver : 2007.08.06 (CMCDEV-0001)
  897. * @by : 유동철(ACK)
  898. * @-----------------------------------
  899. * @type : function
  900. * @access : public
  901. * @desc : 선택된 대표검체를 세부검체 목록에 추가 처리 Function
  902. */
  903. function fExeSpcNodeAdd() {
  904. var sSpcCd = "";
  905. var sSpcNm = "";
  906. var sMsg = "";
  907. var iRowCnt = getNodesetCount("/root/main/detlspc/detlspclist");
  908. //-------------------------------------------------------
  909. sSpcCd = model.getValue("/root/hidden/reqfrminfo/spccd");
  910. sSpcNm = model.getValue("/root/main/reprspc/reprspclist[spccd='"+ sSpcCd +"']/spcnm");
  911. //----------------------------------------------
  912. if (sSpcCd == "-" || sSpcCd == "") return false;
  913. //-------------------------------------------------------
  914. // 검사별 대표검체 정보의 부재시 검체명이 존재할 수 없음.
  915. // 검체명이 없을 경우 경고 메시지 처리
  916. if (sSpcNm == "-" || sSpcNm == "") {
  917. sMsg = model.getValue("/root/hidden/reqfrminfo/prcpnm") + " 처방에 해당하는 검체가 아닙니다. 검체를 지정 ";
  918. model.removeNodeset("/root/main/detlspc/detlspclist");
  919. messageBox(sMsg, "E001");
  920. return false;
  921. }
  922. //--------------------------------------------
  923. model.removeNodeset("/root/temp/choireprspc");
  924. model.makeNode("/root/temp/choireprspc");
  925. model.makeNode("/root/main/detlspc/detlspclist");
  926. model.makeValue("/root/temp/choireprspc/choi", "false");
  927. model.makeValue("/root/temp/choireprspc/spccd", sSpcCd);
  928. model.makeValue("/root/temp/choireprspc/spcnm", sSpcNm);
  929. model.makeValue("/root/temp/choireprspc/instcd", getUserInfo("dutplceinstcd"));
  930. //-------------------------------------
  931. // 대표검체를 세부검체 목록 상단에 추가
  932. copyNodesetType("/root/main/detlspc/detlspclist", "/root/temp/choireprspc", "before");
  933. //----------------------------------------------------------------------
  934. if (iRowCnt == 0) model.removeNode("/root/main/detlspc/detlspclist[2]");
  935. }
  936. /* @group : 조직검사의뢰지
  937. * @ver : 2007.10.12 (CMCDEV-0001)
  938. * @by : 유동철(ACK)
  939. * @-----------------------------------
  940. * @type : function
  941. * @access : public
  942. * @desc : 검체에 대한 이미지정보 호출 처리 Function
  943. */
  944. function fExeSpcImgPopupCall() {
  945. modal("SMMMR03600", "", "", "", "", "/root/temp/SMMMR03600_modalif", "/root/temp/SMMMR03600_modalif");
  946. }
  947. /* @group : 조직검사의뢰지
  948. * @ver : 2007.10.13 (CMCDEV-0001)
  949. * @by : 유동철(ACK)
  950. * @-----------------------------------
  951. * @type : function
  952. * @access : public
  953. * @desc : 선택 검체추가 처리 Function
  954. */
  955. function fExeAddSpc() {
  956. grd_choispc.addRow();
  957. }
  958. /* @group : 조직검사의뢰지
  959. * @ver : 2007.10.13 (CMCDEV-0001)
  960. * @by : 유동철(ACK)
  961. * @-----------------------------------
  962. * @type : function
  963. * @access : public
  964. * @desc : 선택 검체 기본 노드 생성 처리 Function
  965. */
  966. function fExeInitChoiSpc(pRowNo) {
  967. for (var iNo=pRowNo; iNo <= 30; iNo++) {
  968. grd_choispc.addRow();
  969. }
  970. }
  971. /* @group : 조직검사의뢰지
  972. * @ver : 2007.10.13 (CMCDEV-0001)
  973. * @by : 유동철(ACK)
  974. * @-----------------------------------
  975. * @type : function
  976. * @access : public
  977. * @desc : 검체명 병경 처리 Function
  978. */
  979. function fExeSpcNmChange() {
  980. var sSpcCd = "";
  981. var sOrgName = "";
  982. var sDescName = "";
  983. var sSrcNode = "/root/main/detlspc/detlspclist";
  984. var sDescNode = "/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist";
  985. //------------------------------------------------------------------
  986. if (model.getValue(sDescNode+"["+grd_choispc.row+"]/spccd") == "" ||
  987. model.getValue(sDescNode+"["+grd_choispc.row+"]/spccd") == "-") {
  988. // Continue
  989. } else {
  990. fExeAddLastRow();
  991. return true;
  992. }
  993. //------------------------------------------------------------------
  994. if (model.getValue(sDescNode+"["+grd_choispc.row+"]/spcnm") == "") {
  995. return true;
  996. }
  997. //----------------------------------------
  998. // 대표검체가 선택되지 않은 경우 처리 불가
  999. if (model.getValue("/root/hidden/reqfrminfo/spccd") == "") {
  1000. messageBox("대표검체를 선택하여 주십시오! 검체를 추가", "E001");
  1001. model.setValue(sDescNode+"["+grd_choispc.row+"]/spccd", "");
  1002. model.setValue(sDescNode+"["+grd_choispc.row+"]/spcnm", "");
  1003. model.refresh();
  1004. return false;
  1005. }
  1006. //------------------------------------------------------------------
  1007. sDescName = model.getValue(sDescNode+"["+grd_choispc.row+"]/spcnm");
  1008. sDescName = sDescName.toUpperCase();
  1009. //----------------------------------------------------------
  1010. // 대표검체의 세부검체 Other,와 비교하여 Other가 존재할 경우
  1011. // 입력된 검체명에 세부 Other 검체코드를 할당한다.
  1012. for (var iNo=1; iNo <= getNodesetCount(sSrcNode); iNo++) {
  1013. //----------------------------------------------------
  1014. sOrgName = model.getValue(sSrcNode+"["+iNo+"]/spcnm");
  1015. //---------------------------------------------------
  1016. if (sOrgName.toUpperCase().indexOf("OTHER", 0) > -1) {
  1017. model.setValue(sDescNode+"["+grd_choispc.row+"]/choi", "true");
  1018. model.setValue(sDescNode+"["+grd_choispc.row+"]/spccd", model.getValue(sSrcNode+"["+iNo+"]/spccd"));
  1019. fExeSeqNoSet(0);
  1020. //-----------------------
  1021. // 마지막 1라인 공백 유지
  1022. fExeAddLastRow();
  1023. //----------
  1024. return true;
  1025. }
  1026. }
  1027. //--------------------------------------------------------------------------------------------------------
  1028. messageBox("Others에 대한 세부검체가 존재하지 않습니다! 병리과에 문의하여 주십시오. 검체를 추가", "E001");
  1029. model.setValue(sDescNode+"["+grd_choispc.row+"]/spccd", "");
  1030. model.setValue(sDescNode+"["+grd_choispc.row+"]/spcnm", "");
  1031. model.refresh();
  1032. }
  1033. /* @group : 조직검사의뢰지
  1034. * @ver : 2007.10.22 (CMCDEV-0001)
  1035. * @by : 유동철(ACK)
  1036. * @-----------------------------------
  1037. * @type : function
  1038. * @access : public
  1039. * @desc : 임상소견 선택 처리 Function
  1040. */
  1041. function fExeResnChoi() {
  1042. var iFindNo = 0;
  1043. var sNode = "/root/main/reqfrm/reqfrmtbl/reqfrminfo/resncd/resncdlist";
  1044. //------------------------------------
  1045. if (grd_resncd.row <= 0) return false;
  1046. if (grd_resncd.col <= -1) return false;
  1047. if (grd_resncd.col != 0) return false;
  1048. //-----------------------------------------------------
  1049. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  1050. model.setValue(sNode+"["+iNo+"]/choi", "false");
  1051. }
  1052. //---------------------------------------------------------
  1053. model.setValue(sNode+"["+grd_resncd.row+"]/choi", "true");
  1054. //-------------------
  1055. grd_resncd.refresh();
  1056. tar_prcpcnts.disabled = false;
  1057. }
  1058. /* @group : 조직검사의뢰지
  1059. * @ver : 2014.11.05 (CMCDEV-0001)
  1060. * @by : 이재오
  1061. * @-----------------------------------
  1062. * @type : function
  1063. * @access : public
  1064. * @desc : 임상소견 선택 처리 Function
  1065. */
  1066. function fExeResnChoi_flt() {
  1067. var iFindNo = 0;
  1068. var sNode = "/root/main/reqfrm/reqfrmtbl/reqfrminfo/resncd/resncdlist";
  1069. //------------------------------------
  1070. // if (grd_resncd.row <= 0) return false;
  1071. // if (grd_resncd.col <= -1) return false;
  1072. // if (grd_resncd.col != 0) return false;
  1073. //-----------------------------------------------------
  1074. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  1075. model.setValue(sNode+"["+iNo+"]/choi", "false");
  1076. }
  1077. //---------------------------------------------------------
  1078. model.setValue(sNode+"["+1+"]/choi", "true");
  1079. //-------------------
  1080. grd_resncd.refresh();
  1081. tar_prcpcnts.disabled = false;
  1082. }
  1083. /* @group : 조직검사의뢰지
  1084. * @ver : 2007.10.22 (CMCDEV-0001)
  1085. * @by : 유동철(ACK)
  1086. * @-----------------------------------
  1087. * @type : function
  1088. * @access : public
  1089. * @desc : 검체명 목록 전체 선택 처리 Function
  1090. */
  1091. function fExeSpcAllChoi() {
  1092. //-------------------------
  1093. if (grd_spclist.row <= 0) {
  1094. //-------------------------
  1095. if (grd_spclist.col <= 0) {
  1096. for (var iNo=1; iNo <= getNodesetCount("/root/main/detlspc/detlspclist"); iNo++) {
  1097. fExeDetlSpcClick(iNo);
  1098. }
  1099. }
  1100. }
  1101. }
  1102. /* @group : 조직검사의뢰지
  1103. * @ver : 2007.10.22 (CMCDEV-0001)
  1104. * @by : 유동철(ACK)
  1105. * @-----------------------------------
  1106. * @type : function
  1107. * @access : public
  1108. * @desc : 마지막 라인 추가 처리 Function
  1109. */
  1110. function fExeAddLastRow() {
  1111. if (grd_choispc.row == getNodesetCount("/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist")) {
  1112. grd_choispc.addRow();
  1113. }
  1114. }
  1115. /* @group : 조직검사의뢰지
  1116. * @ver : 2007.10.22 (CMCDEV-0001)
  1117. * @by : 유동철(ACK)
  1118. * @-----------------------------------
  1119. * @type : function
  1120. * @access : public
  1121. * @desc : 전체검체목록 팝업창 호출 처리 Function
  1122. */
  1123. function fExeAllSpcCall() {
  1124. var bState = false;
  1125. var iRowNo = 0;
  1126. var sNode = "/root/init/lpcmspcm/lpcmspcmlist";
  1127. //-----------------------------------
  1128. setParameter("SPLPJ02400_spccd", "");
  1129. setParameter("SPLPJ02400_spcnm", "");
  1130. modal("SPLPJ02400", "", "", "", "SPLPJ02400", "/root/hidden/reqfrminfo/prcpcd", "/root/init/testcd");
  1131. //-------------------------------------------
  1132. if (getParameter("SPLPJ02400_spccd") != "") {
  1133. //----------------------------------------------------------------------------------------
  1134. if (model.getValue("/root/hidden/reqfrminfo/spccd") != getParameter("SPLPJ02400_spccd")) {
  1135. model.makeValue("/root/hidden/reqfrminfo/spccd", getParameter("SPLPJ02400_spccd"));
  1136. model.makeValue("/root/hidden/reqfrminfo/spcnm", getParameter("SPLPJ02400_spcnm"));
  1137. //----------------------------------------
  1138. // 즐겨찾기(검체등록)의 검체가 존재할 경우
  1139. // 전체 팝업창에서 선택한 검체가 없으면 임시로 추가하여 화면에 표시
  1140. if (getNodesetCount(sNode) > 0) {
  1141. for (var iNo=1; iNo <= getNodesetCount(sNode); iNo++) {
  1142. if (getParameter("SPLPJ02400_spccd") == model.getValue(sNode+"["+iNo+"]/spccd")) {
  1143. bState = true;
  1144. break;
  1145. }
  1146. }
  1147. //---------------------------
  1148. // 검체를 찾지 못한 경우 처리
  1149. if (!bState) {
  1150. iRowNo = Number(getNodesetCount(sNode))+1;
  1151. model.makeNode(sNode+"["+iRowNo+"]");
  1152. model.makeValue(sNode+"["+iRowNo+"]/status", "1");
  1153. model.makeValue(sNode+"["+iRowNo+"]/spccd", getParameter("SPLPJ02400_spccd"));
  1154. model.makeValue(sNode+"["+iRowNo+"]/spcnm", getParameter("SPLPJ02400_spcnm"));
  1155. model.makeValue(sNode+"["+iRowNo+"]/orddeptcd", model.getValue(sNode+"["+(Number(iRowNo)-1)+"]/orddeptcd"));
  1156. model.makeValue(sNode+"["+iRowNo+"]/spckind", model.getValue(sNode+"["+(Number(iRowNo)-1)+"]/spckind"));
  1157. model.makeValue(sNode+"["+iRowNo+"]/spckindno", model.getValue(sNode+"["+(Number(iRowNo)-1)+"]/spckindno"));
  1158. }
  1159. }
  1160. //--------------------
  1161. fExeChangeReprSpcCd();
  1162. }
  1163. }
  1164. //--------------
  1165. model.refresh();
  1166. }
  1167. function fExeSpcGridClick(pRow) {
  1168. if (grd_spclist.row > 0 && grd_spclist.isCell(event.target) && grd_spclist.row >= grd_spclist.fixedRows) {
  1169. fExeDetlSpcClick(pRow);
  1170. }
  1171. }
  1172. ]]>
  1173. </script>
  1174. </xhtml:head>
  1175. <xhtml:body pagewidth="769" pageheight="731" guideline="1,1063;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  1176. <group id="grp_btn" style="left:0px; top:688px; width:753px; height:27px; ">
  1177. <button id="btn_cls" class="btn4_letter2" navindex="14" style="left:697px; top:3px; width:56px; height:22px; ">
  1178. <caption>닫기</caption>
  1179. <script type="javascript" ev:event="DOMActivate">
  1180. <![CDATA[
  1181. fExeClose();
  1182. ]]>
  1183. </script>
  1184. </button>
  1185. <button id="btn_save" class="btn4_letter2" navindex="13" style="left:637px; top:3px; width:56px; height:22px; ">
  1186. <caption>확인</caption>
  1187. <script type="javascript" ev:event="DOMActivate">
  1188. <![CDATA[
  1189. fExeSave();
  1190. ]]>
  1191. </script>
  1192. </button>
  1193. </group>
  1194. <group id="grp_biz" style="left:0px; top:0px; width:753px; height:686px; margin-left:0; margin-top:0; margin-right:0; margin-bottom:0; ">
  1195. <caption id="caption2" class="tit_2" style="left:5px; top:10px; width:111px; height:13; ">처방정보</caption>
  1196. <line id="line1" class="line_1" style="x1:0; y1:25; x2:375; y2:25; "/>
  1197. <caption id="caption3" class="cell_1" visibility="hidden" style="left:160px; top:0px; width:100px; height:23px; text-align:center; vertical-align:middle; ">수술명</caption>
  1198. <caption id="caption25" class="cell_1" style="left:0px; top:29px; width:100px; height:23px; text-align:center; vertical-align:middle; ">처방명</caption>
  1199. <caption id="caption6" class="cell_1" style="left:0px; top:53px; width:100px; height:23px; text-align:center; vertical-align:middle; ">대표검체</caption>
  1200. <line id="line2" class="line_2" style="x1:0px; y1:51px; x2:375px; y2:51px; "/>
  1201. <output id="output2" ref="/root/hidden/reqfrminfo/prcpnm" class="output_fix" style="left:103px; top:30px; width:272px; height:19px; "/>
  1202. <caption id="caption1" class="tit_2" style="left:5px; top:109px; width:205px; height:13px; ">검체명 목록(예문)</caption>
  1203. <line id="line4" class="line_1" style="x1:0px; y1:124px; x2:375px; y2:124px; "/>
  1204. <datagrid id="grd_choispc" nodeset="/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist" class="datagrid2" caption="선택^번호^검체코드^검체명^존재여부^슬라이드갯수" colsep="^" colwidth="0, 60, 0, 225, 0, 60" dataheight="23" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" navindex="6" style="left:378px; top:30px; width:375px; height:403px; ">
  1205. <col ref="choi" type="checkbox" visibility="hidden"/>
  1206. <col class="text_center" ref="spcseqno"/>
  1207. <col ref="spccd" visibility="hidden"/>
  1208. <col ref="spcnm" type="inputbutton"/>
  1209. <col ref="existyn" visibility="hidden"/>
  1210. <col ref="slidno" type="input" format="#,###" style="text-align:center; vertical-align:middle; "/>
  1211. <script type="javascript" ev:event="onmousedown">
  1212. <![CDATA[
  1213. setPopupMenu("grd_choispc", false, "/root/hidden/popupmenu/item", "nm", "funt");
  1214. ]]>
  1215. </script>
  1216. <script type="javascript" ev:event="DOMFocusOut">
  1217. <![CDATA[
  1218. initPopupMenu();
  1219. ]]>
  1220. </script>
  1221. <script type="javascript" ev:event="xforms-value-changed">
  1222. <![CDATA[
  1223. fExeSpcNmChange();
  1224. ]]>
  1225. </script>
  1226. <script type="javascript" ev:event="onbuttonclick">
  1227. <![CDATA[
  1228. model.removeNodeset("/root/hidden/seaspc");
  1229. if((model.getValue("/root/hidden/reqfrminfo/xrwGBN") == "inbcoll")
  1230. && (model.getValue("/root/hidden/reqfrminfo/workflagcd") == "1002")
  1231. && (model.getValue("/root/hidden/reqfrminfo/bcgbn") == "true")) {
  1232. model.makeValue("/root/hidden/scrndata/reprspccd", ""); //프로즌은 전체 세부검체 조회
  1233. lpzfExeComnOpenScrn("spccd_sub", "/root/hidden/seaspc");
  1234. } else {
  1235. model.makeValue("/root/hidden/scrndata/reprspccd", model.getValue("/root/hidden/reqfrminfo/spccd")); //프로즌을 제외한 나머지는 해당 대표검체의 세부검체만.
  1236. lpzfExeComnOpenScrn("spccd_sub", "/root/hidden/seaspc");
  1237. }
  1238. if(model.getValue("/root/hidden/seaspc/spccd") != "") {
  1239. model.makeValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist["+ grd_choispc.row +"]/choi", "true");
  1240. model.makeValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist["+ grd_choispc.row +"]/spcseqno", "");
  1241. model.makeValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist["+ grd_choispc.row +"]/spccd", model.getValue("/root/hidden/seaspc/spccd"));
  1242. model.makeValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist["+ grd_choispc.row +"]/spcnm", model.getValue("/root/hidden/seaspc/spcnm"));
  1243. model.makeValue("/root/main/reqfrm/reqfrmtbl/reqfrminfo/choispc/choispclist["+ grd_choispc.row +"]/existyn", "N");
  1244. //--------------------
  1245. // 세부검체번호 재 설정
  1246. iMaxSeqNo = fExeSeqNoSet(0);
  1247. fExeAddLastRow();
  1248. model.refresh();
  1249. }
  1250. ]]>
  1251. </script>
  1252. </datagrid>
  1253. <caption id="caption5" class="tit_2" style="left:383px; top:10px; width:111px; height:14px; ">검체명</caption>
  1254. <line id="line6" class="line_1" style="x1:378px; y1:25px; x2:753px; y2:25px; "/>
  1255. <datagrid id="grd_spclist" nodeset="/root/main/detlspc/detlspclist" autoresize="true" caption="선택^검체코드^검체명(예문)" colsep="^" colwidth="60, 0, 296" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" navindex="5" style="left:0px; top:129px; width:375px; height:304; ">
  1256. <col ref="choi" type="checkbox"/>
  1257. <col ref="spccd"/>
  1258. <col ref="spcnm"/>
  1259. <script type="javascript" ev:event="onclick">
  1260. <![CDATA[
  1261. fExeSpcGridClick(grd_spclist.row);
  1262. ]]>
  1263. </script>
  1264. <script type="javascript" ev:event="xforms-select">
  1265. <![CDATA[
  1266. fExeSpcAllChoi();
  1267. ]]>
  1268. </script>
  1269. </datagrid>
  1270. <output id="opt_" ref="/root/hidden/reqfrminfo/opnm" class="output_fix" visibility="hidden" style="left:263px; top:1px; width:27px; height:19px; "/>
  1271. <select1 id="cmb_reprspccd" ref="/root/hidden/reqfrminfo/spccd" disabled="true" navindex="1" appearance="minimal" editmode="inputsearch" itemcount="25" style="left:103px; top:54px; width:205px; height:19px; ">
  1272. <choices>
  1273. <itemset nodeset="/root/main/reprspc/reprspclist">
  1274. <label ref="spcnm"/>
  1275. <value ref="spccd"/>
  1276. </itemset>
  1277. </choices>
  1278. <script type="javascript" ev:event="xforms-value-changed">
  1279. <![CDATA[
  1280. fExeChangeReprSpcCd();
  1281. ]]>
  1282. </script>
  1283. </select1>
  1284. <button id="btn_spcsave" class="btn2_letter4" navindex="2" style="left:311px; top:54px; width:64px; height:19px; ">
  1285. <caption>검체등록</caption>
  1286. <script type="javascript" ev:event="DOMActivate">
  1287. <![CDATA[
  1288. fExePopupCall("S");
  1289. ]]>
  1290. </script>
  1291. </button>
  1292. <caption id="caption7" class="tit_2" style="left:5px; top:440px; width:111px; height:13px; ">임상소견</caption>
  1293. <line id="line7" class="line_1" style="x1:0px; y1:455px; x2:753px; y2:455px; "/>
  1294. <button id="btn_sytsrsltref" class="btn2_letter6" navindex="12" style="left:667px; top:435px; width:86px; height:19px; ">
  1295. <caption>통합결과조회</caption>
  1296. <script type="javascript" ev:event="DOMActivate">
  1297. <![CDATA[
  1298. fSytsRsltRef();
  1299. ]]>
  1300. </script>
  1301. </button>
  1302. <button id="btn_exmp" navindex="9" style="left:77px; top:437px; width:14px; height:16px; background-image:../../../com/commonweb/images/icon_list.gif; ">
  1303. <caption/>
  1304. <script type="javascript" ev:event="DOMActivate">
  1305. <![CDATA[
  1306. fExePopupCall("P");
  1307. ]]>
  1308. </script>
  1309. </button>
  1310. <button id="btn_spcadd" class="btn2_letter4" navindex="7" visibility="hidden" style="left:689px; top:5px; width:64px; height:19px; ">
  1311. <caption>검체추가</caption>
  1312. <script type="javascript" ev:event="DOMActivate">
  1313. <![CDATA[
  1314. fExeAddSpc();
  1315. ]]>
  1316. </script>
  1317. </button>
  1318. <textarea id="tar_prcpcnts" ref="/root/main/reqfrm/reqfrmtbl/reqfrminfo/reqcnts" navindex="11" style="left:378px; top:481px; width:375px; height:102px; "/>
  1319. <caption id="caption4" class="cell_1" style="left:378px; top:460px; width:374px; height:20px; text-align:center; vertical-align:middle; ">기타 임상소견</caption>
  1320. <datagrid id="grd_resncd" nodeset="/root/main/reqfrm/reqfrmtbl/reqfrminfo/resncd/resncdlist" caption="^임 상 소 견" colsep="^" colwidth="38, 333" mergecellsfixedrows="bycolrec" rowsep="|" navindex="8" style="left:0px; top:460px; width:375px; height:123px; ">
  1321. <col ref="choi" type="checkbox"/>
  1322. <col ref="resnnm"/>
  1323. <script type="javascript" ev:event="onclick">
  1324. <![CDATA[
  1325. fExeResnChoi();
  1326. ]]>
  1327. </script>
  1328. </datagrid>
  1329. <button id="btn_allspc" class="btn2_letter4" navindex="4" style="left:311px; top:104px; width:64px; height:19px; ">
  1330. <caption>전체검체</caption>
  1331. <script type="javascript" ev:event="DOMActivate">
  1332. <![CDATA[
  1333. fExeAllSpcCall();
  1334. ]]>
  1335. </script>
  1336. </button>
  1337. <button id="btn_img" navindex="10" style="left:95px; top:437px; width:18px; height:16px; background-image:../../../com/commonweb/images/icon_picture.gif; ">
  1338. <caption/>
  1339. <script type="javascript" ev:event="DOMActivate">
  1340. <![CDATA[
  1341. fExeSpcImgPopupCall();
  1342. ]]>
  1343. </script>
  1344. </button>
  1345. <line id="line5" class="line_2" style="x1:0px; y1:60px; x2:375px; y2:60px; "/>
  1346. <caption id="caption8" class="cell_1" style="left:0px; top:77px; width:100px; height:23px; text-align:center; vertical-align:middle; "/>
  1347. <line id="line3" class="line_3" style="x1:0px; y1:99px; x2:375px; y2:99px; "/>
  1348. <select1 id="rdo_ltrt" ref="/root/main/reqfrm/reqfrmtbl/reqfrminfo/spcsite" navindex="3" appearance="full" cellspacing="70" cols="3" overflow="visible" style="left:103px; top:80px; width:272px; height:20px; border-style:none; ">
  1349. <choices>
  1350. <item>
  1351. <label>RT</label>
  1352. <value>0</value>
  1353. </item>
  1354. <item>
  1355. <label>LT</label>
  1356. <value>1</value>
  1357. </item>
  1358. <item>
  1359. <label>Other</label>
  1360. <value>2</value>
  1361. </item>
  1362. </choices>
  1363. </select1>
  1364. <caption id="caption9" class="tit_2" style="left:5px; top:590px; width:95px; height:13px; ">Character</caption>
  1365. <line id="line8" class="line_1" style="x1:0px; y1:605px; x2:640; y2:605px; "/>
  1366. <caption id="caption10" class="cell_1" style="left:0px; top:610px; width:100px; height:23px; text-align:center; vertical-align:middle; ">Viscosity :</caption>
  1367. <select id="chk_viscosity1" ref="/root/main/reqfrm/reqfrmtbl/reqfrminfo/watery" visibility="hidden" overflow="visible" appearance="full" style="left:103px; top:612px; width:77px; height:20px; border-style:none; ">
  1368. <choices>
  1369. <item>
  1370. <label>Watery</label>
  1371. <value>0</value>
  1372. </item>
  1373. </choices>
  1374. </select>
  1375. <select id="chk_viscosity2" ref="/root/main/reqfrm/reqfrmtbl/reqfrminfo/viscous" visibility="hidden" overflow="visible" appearance="full" style="left:183px; top:612px; width:100px; height:20px; border-style:none; ">
  1376. <choices>
  1377. <item>
  1378. <label>Viscous</label>
  1379. <value>0</value>
  1380. </item>
  1381. </choices>
  1382. </select>
  1383. <caption id="caption11" class="cell_1" style="left:0px; top:635px; width:100px; height:23px; text-align:center; vertical-align:middle; ">Color :</caption>
  1384. <select id="checkbox2" ref="/root/main/reqfrm/reqfrmtbl/reqfrminfo/white" visibility="hidden" overflow="visible" appearance="full" style="left:183px; top:637px; width:100px; height:20px; border-style:none; ">
  1385. <choices>
  1386. <item>
  1387. <label>White</label>
  1388. <value>0</value>
  1389. </item>
  1390. </choices>
  1391. </select>
  1392. <select id="chk_color1" ref="/root/main/reqfrm/reqfrmtbl/reqfrminfo/colorless" visibility="hidden" overflow="visible" appearance="full" style="left:103px; top:637px; width:77px; height:20px; border-style:none; ">
  1393. <choices>
  1394. <item>
  1395. <label>Colorless</label>
  1396. <value>0</value>
  1397. </item>
  1398. </choices>
  1399. </select>
  1400. <select id="checkbox1" ref="/root/main/reqfrm/reqfrmtbl/reqfrminfo/yellow" visibility="hidden" overflow="visible" appearance="full" style="left:285px; top:637px; width:65px; height:20px; border-style:none; ">
  1401. <choices>
  1402. <item>
  1403. <label>Yellow</label>
  1404. <value>0</value>
  1405. </item>
  1406. </choices>
  1407. </select>
  1408. <select id="checkbox3" ref="/root/main/reqfrm/reqfrmtbl/reqfrminfo/red" visibility="hidden" overflow="visible" appearance="full" style="left:352px; top:637px; width:65px; height:20px; border-style:none; ">
  1409. <choices>
  1410. <item>
  1411. <label>Red</label>
  1412. <value>0</value>
  1413. </item>
  1414. </choices>
  1415. </select>
  1416. <select id="checkbox4" ref="/root/main/reqfrm/reqfrmtbl/reqfrminfo/others" visibility="hidden" overflow="visible" appearance="full" style="left:419px; top:637px; width:65px; height:20px; border-style:none; ">
  1417. <choices>
  1418. <item>
  1419. <label>Others</label>
  1420. <value>0</value>
  1421. </item>
  1422. </choices>
  1423. </select>
  1424. <input id="input1" ref="/root/main/reqfrm/reqfrmtbl/reqfrminfo/othercont" visibility="hidden" style="left:485px; top:637px; width:155px; height:19px; "/>
  1425. <select id="checkbox5" ref="/root/main/reqfrm/reqfrmtbl/reqfrminfo/clear" visibility="hidden" overflow="visible" appearance="full" style="left:103px; top:662px; width:77px; height:20px; border-style:none; ">
  1426. <choices>
  1427. <item>
  1428. <label>Clear</label>
  1429. <value>0</value>
  1430. </item>
  1431. </choices>
  1432. </select>
  1433. <select id="checkbox6" ref="/root/main/reqfrm/reqfrmtbl/reqfrminfo/turbid" visibility="hidden" overflow="visible" appearance="full" style="left:285px; top:662px; width:65px; height:20px; border-style:none; ">
  1434. <choices>
  1435. <item>
  1436. <label>Turbid</label>
  1437. <value>0</value>
  1438. </item>
  1439. </choices>
  1440. </select>
  1441. <select id="checkbox7" ref="/root/main/reqfrm/reqfrmtbl/reqfrminfo/ground" visibility="hidden" overflow="visible" appearance="full" style="left:183px; top:662px; width:100px; height:20px; border-style:none; ">
  1442. <choices>
  1443. <item>
  1444. <label>Ground glass</label>
  1445. <value>0</value>
  1446. </item>
  1447. </choices>
  1448. </select>
  1449. <caption id="caption12" class="cell_1" style="left:0px; top:660px; width:100px; height:23px; text-align:center; vertical-align:middle; ">Turbidity :</caption>
  1450. <line id="line10" class="line_2" style="x1:0px; y1:658px; x2:640px; y2:658px; "/>
  1451. <line id="line9" class="line_2" style="x1:0px; y1:633px; x2:640px; y2:633px; "/>
  1452. <line id="line11" class="line_3" style="x1:0px; y1:683px; x2:640px; y2:683px; "/>
  1453. <line id="line12" class="line_1" visibility="hidden" style="x1:650px; y1:605px; x2:745px; y2:605px; "/>
  1454. <caption id="caption13" class="tit_2" visibility="hidden" style="left:655px; top:590px; width:80px; height:13px; ">REMARK</caption>
  1455. <caption id="caption14" visibility="hidden" style="left:650px; top:613px; width:35px; height:20px; ">Slide</caption>
  1456. <input id="input2" ref="/root/main/reqfrm/reqfrmtbl/reqfrminfo/slidecnt" visibility="hidden" format="#,###" style="left:685px; top:612px; width:40px; height:19px; "/>
  1457. <caption id="caption15" visibility="hidden" style="left:730px; top:613px; width:20px; height:20px; ">장</caption>
  1458. <line id="line13" class="line_3" visibility="hidden" style="x1:650px; y1:633px; x2:745px; y2:633px; "/>
  1459. <caption id="caption16" style="left:165px; top:588px; width:465px; height:20px; font-family:굴림체; font-size:9pt; font-weight:bold; color:#ff0000; text-align:center; ">
  1460. <![CDATA[>> Character 및 Remark는 선택적으로 입력하십시오. <<]]>
  1461. </caption>
  1462. </group>
  1463. </xhtml:body>
  1464. </xhtml:html>