SMLLF00500_통합검사코드관리.xrw 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLLF00500.xrw
  4. * 설 명 : 검사분류관리
  5. * 설 계 자 : (주)에이씨케이 -
  6. * 작 성 자 : (주)에이씨케이 -
  7. * 작 성 일 : 2006.12.05
  8. * 수정이력 : tclscd 조회할수있게 수정해야함
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.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/>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root>
  18. <main>
  19. <tclslist>
  20. <tclscdlist1>
  21. <tclscdfromdd/>
  22. <tclscdtodd/>
  23. <testmdlcd/>
  24. <tclscd/>
  25. <spccd/>
  26. <spccd/>
  27. <tclsnm/>
  28. <tclskind/>
  29. <tclsscrnnm/>
  30. <tclsabbrnm/>
  31. <tclsprntnm/>
  32. <tclslblnm/>
  33. <testmthd/>
  34. <testlrgcd/>
  35. <level/>
  36. <htclscd/>
  37. <htodd/>
  38. <hspccd/>
  39. <edicd/>
  40. </tclscdlist1>
  41. <tclscdlist2>
  42. <calcscorcd/>
  43. <insuedicd/>
  44. <ordnm/>
  45. </tclscdlist2>
  46. </tclslist>
  47. <outlinecol>2</outlinecol>
  48. <outlinebar/>
  49. <calccdlist>
  50. <calcscorcd/>
  51. <insuedicd/>
  52. <ordnm/>
  53. </calccdlist>
  54. </main>
  55. <send>
  56. <codeflag/>
  57. <refgbn/>
  58. <searchgbn/>
  59. <lrgselect/>
  60. <mdlselect/>
  61. <grddata/>
  62. <deptflag/>
  63. <searchtext/>
  64. </send>
  65. <init>
  66. </init>
  67. <hidden>
  68. <refgbn>1</refgbn>
  69. <searchgbn>1</searchgbn>
  70. <searchselect>1</searchselect>
  71. <lrgselect>00</lrgselect>
  72. <mdlselect>00</mdlselect>
  73. <spclist>
  74. </spclist>
  75. <spclistcdnm>
  76. <spccdlist/>
  77. </spclistcdnm>
  78. <spccdnm>
  79. <cd/>
  80. <nm/>
  81. <row/>
  82. </spccdnm>
  83. <searchtext/>
  84. </hidden>
  85. </root>
  86. </instance>
  87. <script type="javascript" ev:event="xforms-model-construct-done">
  88. <![CDATA[
  89. // 사용종료일자 전체일때만 보이게
  90. //grd_tclscd.colHidden(2) = true;
  91. // 초기정보 조회
  92. model.setValue("/root/send/codeflag", "0102|0104|0105|0000|"); // 0102= 중분류 // 0104 대분류 // 0105 검체목록
  93. submit("TRLZZ00101");
  94. // 검체팝업넘길 리스트 조회
  95. submit("TRLLF00502");
  96. // 조회항목구분 (대분류)
  97. fSetLrgMdlflag(1);
  98. //grd_SpcList.removeItem();
  99. //fSetMerget();
  100. model.removeNodeset("/root/main/tclslist/tclscdlist1");
  101. model.removeNodeset("/root/main/tclslist/tclscdlist2");
  102. model.refresh();
  103. ]]>
  104. </script>
  105. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  106. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  107. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  108. <submission id="TRLLF00501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/tclslist"/>
  109. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init"/>
  110. <submission id="TXLLF00501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/tclscdlist"/>
  111. <submission id="TRLLF00502" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" resultref="/root/hidden/spclistcdnm/spccdlist"/>
  112. </model>
  113. <script type="javascript">
  114. <![CDATA[
  115. // 셀 병합
  116. /*function fSetMerget(){
  117. for(i=1; i<= grd_tclscd.rows; i++){
  118. //grd_tclscd.mergeByFree(i, 5, i, 7);
  119. //grd_tclscd.mergeRow(i) = true;
  120. //grd_tclscd.mergeCol(i) = true;
  121. //grd_tclscd.mergeCells = "bycol";
  122. }
  123. //model.refresh();
  124. //grd_tclscd.mergeCellsFixedCols = "bycol";
  125. //grd_tclscd.mergeRow(grd_tclscd.row) = "true";
  126. }
  127. */
  128. // 전체조회 일때만 사용종료일자 보이기 *사용안함20090129
  129. /*function fHiddenTodd(){
  130. if(model.getValue("/root/hidden/refgbn") == "1"){
  131. grd_tclscd.colHidden(2) = true;
  132. }else{
  133. grd_tclscd.colHidden(2) = false;
  134. }
  135. }*/
  136. // 조회항목구분 (대분류/중분류)
  137. function fSetLrgMdlflag(lrgmdlflag){
  138. var lrgmdlflag = model.getValue("/root/hidden/searchgbn");
  139. if(lrgmdlflag == "1"){ // 대분류
  140. cmb_lrg.visible = true;
  141. cmb_mdl.visible = false;
  142. }else if(lrgmdlflag == "2"){ // 중분류
  143. cmb_lrg.visible = false;
  144. cmb_mdl.visible = true;
  145. }
  146. }
  147. // level값 셋팅
  148. /*function fSetLevel(){
  149. for(i=1; i<grd_tclscd.rows; i++){
  150. if(model.getValue("/root/main/tclslist/tclscdlist1["+i+"]/tclscd") == model.getValue("/root/main/tclslist/tclscdlist1["+(i-1)+"]/tclscd")){
  151. model.setValue("/root/main/tclslist/tclscdlist1["+i+"]/level", "2");
  152. }else{
  153. model.setValue("/root/main/tclslist/tclscdlist1["+i+"]/level", "1");
  154. }
  155. }
  156. //fSetMakeTree();
  157. }*/
  158. // 트리구조 만들기
  159. /*function fSetMakeTree(){
  160. for(var i = 1; i<grd_tclscd.rows; i++) {
  161. grd_tclscd.IsSubtotal(i) = true; //그리드의 모든 row를 subtotal 속성을 가진 row로 변경 해주셔야 합니다..
  162. grd_tclscd.outlinelevel(i) = grd_tclscd.TextMatrix(i, 16); //인스턴스H_DEPTH 값임 (이넘이 그리드에서 각 로우가 트리상 어떤 Depth를 갖는지 결정하는 넘입니다..)
  163. }
  164. grd_tclscd.OutlineCol = 5; // 트리 만들 col
  165. grd_tclscd.OutlineBar = 4; //+ , - , 사각형 안보이게 하려면 0 으로 세팅
  166. grd_tclscd.TreeColor = "gray";
  167. }*/
  168. // 통합검사코드 조회
  169. function fGetTclscdList(){
  170. model.setValue("/root/send/refgbn", model.getValue("/root/hidden/refgbn"));
  171. model.setValue("/root/send/searchgbn", model.getValue("/root/hidden/searchgbn"));
  172. model.setValue("/root/send/lrgselect", model.getValue("/root/hidden/lrgselect"));
  173. model.setValue("/root/send/mdlselect", model.getValue("/root/hidden/mdlselect"));
  174. model.setValue("/root/send/searchtext", model.getValue("/root/hidden/searchtext"));
  175. model.setValue("/root/send/deptflag", model.getValue("/root/init/LB0000/nm"));
  176. submit("TRLLF00501");
  177. //fSetLevel();
  178. }
  179. // 통합검사코드 수정,등록
  180. function fExeTclscdSave(){
  181. if(fExeNotNull()){ //필수항목 체크
  182. var grddata = grd_tclscd.getUpdateData();
  183. model.setValue("/root/send/refgbn" , model.getValue("/root/hidden/refgbn"));
  184. model.setValue("/root/send/deptflag" , model.getValue("/root/init/LB0000/nm"));
  185. model.setValue("/root/send/grddata" , grddata);
  186. if(submit("TXLLF00501")){
  187. fGetTclscdList();
  188. }
  189. }
  190. }
  191. // 검체정보 조회
  192. /*function fExeSpccd(){
  193. model.resetInstanceNode("/root/hidden/spclist");
  194. //var r = grd_tclscd.row;
  195. grd_SpcList.attribute("visibility") = "visible";
  196. // 검체코드 카피
  197. var vInstance = document.models(0).instances(0);
  198. var cntSPC = vInstance.selectNodes("/root/init/LB0105").length;
  199. NodeCnt = 1;
  200. for(i=2; i<= cntSPC; i++){
  201. model.makeNode("/root/hidden/spclist["+ NodeCnt +"]/chk");
  202. model.makeNode("/root/hidden/spclist["+ NodeCnt +"]/spccd");
  203. model.makeNode("/root/hidden/spclist["+ NodeCnt +"]/spcnm");
  204. model.setValue("/root/hidden/spclist["+ NodeCnt +"]/spccd" , model.getValue("/root/init/LB0105["+ i +"]/cd"));
  205. model.setValue("/root/hidden/spclist["+ NodeCnt +"]/spcnm" , model.getValue("/root/init/LB0105["+ i +"]/nm"));
  206. // model.copyNode("/root/hidden/spclist", "/root/init["+i+"]/LB0105");
  207. NodeCnt ++;
  208. }
  209. //grd_SpcList.rebuild();
  210. model.refresh();
  211. }*/
  212. // 검체정보 팝업띄우기
  213. function fSetSpccd(){
  214. model.resetInstanceNode("/root/hidden/spccdnm");
  215. modal("SPLLF90500","","500","300","","/root/hidden/spclistcdnm","/root/main");
  216. fSetSpccdAdd();
  217. }
  218. // 검체목록 팝업 선택후 addrow
  219. function fSetSpccdAdd(){
  220. var today = getCurrentDate();
  221. var tclsRow = grd_tclscd.row; // 검사코드관리 선택 row
  222. var sRow = model.getValue("/root/hidden/spccdnm/row"); // 검체리스트에서 선택된 row수
  223. var sSpccd = model.getValue("/root/hidden/spccdnm/cd"); // 검체리스트에서 가져온 검체번호
  224. var sCd = sSpccd.split("▦"); // 검체코드 파리채로 나누기
  225. var testmdlcd = model.getValue("/root/main/tclslist/tclscdlist1["+tclsRow+"]/testmdlcd"); // 검사코드관리에서 선택된 정보들
  226. var tclscd = model.getValue("/root/main/tclslist/tclscdlist1["+tclsRow+"]/tclscd");
  227. var tclsnm = model.getValue("/root/main/tclslist/tclscdlist1["+tclsRow+"]/tclsnm");
  228. var tclskind = model.getValue("/root/main/tclslist/tclscdlist1["+tclsRow+"]/tclskind");
  229. var tclsscrnnm = model.getValue("/root/main/tclslist/tclscdlist1["+tclsRow+"]/tclsscrnnm");
  230. var tclsabbrnm = model.getValue("/root/main/tclslist/tclscdlist1["+tclsRow+"]/tclsabbrnm");
  231. var tclsprntnm = model.getValue("/root/main/tclslist/tclscdlist1["+tclsRow+"]/tclsprntnm");
  232. var tclslblnm = model.getValue("/root/main/tclslist/tclscdlist1["+tclsRow+"]/tclslblnm");
  233. var testmthd = model.getValue("/root/main/tclslist/tclscdlist1["+tclsRow+"]/testmthd");
  234. var tRow = tclsRow+1;
  235. var chkCnt;
  236. var srchT = "tclscd";
  237. var srchS = "spccd";
  238. // 검체리스트선택 row 만큼 insert
  239. for(i=1; i<=sRow; i++ ){
  240. chkCnt = model.getXPathValue('count(/root/main/tclslist/tclscdlist1['+srchT+' = "'+tclscd+'" and '+srchS+' = "'+sCd[i]+'"])'); //같은 검사코드,검체코드 중복 체크
  241. if(chkCnt == 0){
  242. grd_tclscd.insertRow(grd_tclscd.row, "after", false);
  243. grd_calc.insertRow(grd_tclscd.row-1, "after", false);
  244. model.setValue("/root/main/tclslist/tclscdlist1["+tRow+"]/hspccd" , sCd[i]);
  245. model.setValue("/root/main/tclslist/tclscdlist1["+tRow+"]/htodd" , "99991231");
  246. model.setValue("/root/main/tclslist/tclscdlist1["+tRow+"]/htclscd" , tclscd);
  247. model.setValue("/root/main/tclslist/tclscdlist1["+tRow+"]/spccd" , sCd[i]);
  248. model.setValue("/root/main/tclslist/tclscdlist1["+tRow+"]/tclscdfromdd" , today);
  249. model.setValue("/root/main/tclslist/tclscdlist1["+tRow+"]/tclscdtodd" , "99991231");
  250. model.setValue("/root/main/tclslist/tclscdlist1["+tRow+"]/testlrgcd" , testmdlcd.substr(0,1));
  251. model.setValue("/root/main/tclslist/tclscdlist1["+tRow+"]/testmdlcd" , testmdlcd);
  252. model.setValue("/root/main/tclslist/tclscdlist1["+tRow+"]/tclscd" , tclscd);
  253. model.setValue("/root/main/tclslist/tclscdlist1["+tRow+"]/tclsnm" , tclsnm);
  254. model.setValue("/root/main/tclslist/tclscdlist1["+tRow+"]/tclskind" , tclskind);
  255. model.setValue("/root/main/tclslist/tclscdlist1["+tRow+"]/tclsscrnnm" , tclsscrnnm);
  256. model.setValue("/root/main/tclslist/tclscdlist1["+tRow+"]/tclsabbrnm" , tclsabbrnm);
  257. model.setValue("/root/main/tclslist/tclscdlist1["+tRow+"]/tclsprntnm" , tclsprntnm);
  258. model.setValue("/root/main/tclslist/tclscdlist1["+tRow+"]/tclslblnm" , tclslblnm);
  259. model.setValue("/root/main/tclslist/tclscdlist1["+tRow+"]/testmthd" , testmthd);
  260. tRow++;
  261. }else{
  262. alert(tclscd + " 검사의 " + sCd[i] + " 검체가 중복되었습니다"); //alert창 띄우고 다음 검체코드 진행
  263. }
  264. }
  265. model.refresh();
  266. } // 2007-06-20 박정은
  267. // 검체목록 그리드 선택 ++ 삭제예정 ++
  268. /*function fGetSpclist(){
  269. var chkCol = grd_SpcList.col;
  270. var tclsRow = grd_tclscd.row;
  271. if("1" != chkCol){
  272. var vInstance = document.models(0).instances(0);
  273. var cntSPC = vInstance.selectNodes("/root/hidden/spclist").length;
  274. var sRow = 0;
  275. //grd_tclscd.rowStatus(tclsRow) = 2;
  276. // 선택 검체 rows 얻기
  277. for(i=1; i<= cntSPC; i++){
  278. if(model.getValue("/root/hidden/spclist["+i+"]/chk")=="true"){
  279. sRow += 1;
  280. }
  281. }
  282. // 선택 검체코드만큼 row 추가
  283. for(r=1; r<= sRow; r++){
  284. //fSeInsertRow(sRow-1);
  285. //fSeInsertRow(sRow);
  286. grd_tclscd.insertItem(grd_tclscd.row, "after");
  287. grd_calc.insertItem(grd_tclscd.row, "after");
  288. }
  289. // 선택된 검체코드 카피해오기
  290. var testlrgcd = model.getValue("/root/main/tclslist/tclscdlist1["+tclsRow+"]/testlrgcd");
  291. var testmdlcd = model.getValue("/root/main/tclslist/tclscdlist1["+tclsRow+"]/testmdlcd");
  292. var tclscd = model.getValue("/root/main/tclslist/tclscdlist1["+tclsRow+"]/tclscd");
  293. var tclsnm = model.getValue("/root/main/tclslist/tclscdlist1["+tclsRow+"]/tclsnm");
  294. var tclskind = model.getValue("/root/main/tclslist/tclscdlist1["+tclsRow+"]/tclskind");
  295. var tclsscrnnm = model.getValue("/root/main/tclslist/tclscdlist1["+tclsRow+"]/tclsscrnnm");
  296. var today = getCurrentDate();
  297. for(i=1; i<= cntSPC; i++){
  298. if(model.getValue("/root/hidden/spclist["+i+"]/chk")=="true"){
  299. model.setValue("/root/main/tclslist/tclscdlist1["+(tclsRow+1)+"]/spccd" , model.getValue("/root/hidden/spclist["+i+"]/spccd"));
  300. model.setValue("/root/main/tclslist/tclscdlist1["+(tclsRow+1)+"]/hfromdd" , today);
  301. model.setValue("/root/main/tclslist/tclscdlist1["+(tclsRow+1)+"]/htodd" , "99991231");
  302. model.setValue("/root/main/tclslist/tclscdlist1["+(tclsRow+1)+"]/htestlrgcd" , testlrgcd);
  303. model.setValue("/root/main/tclslist/tclscdlist1["+(tclsRow+1)+"]/htestmdlcd" , testmdlcd);
  304. model.setValue("/root/main/tclslist/tclscdlist1["+(tclsRow+1)+"]/htclscd" , tclscd);
  305. model.setValue("/root/main/tclslist/tclscdlist1["+(tclsRow+1)+"]/htclsnm" , tclsnm);
  306. model.setValue("/root/main/tclslist/tclscdlist1["+(tclsRow+1)+"]/htclskind" , tclskind);
  307. model.setValue("/root/main/tclslist/tclscdlist1["+(tclsRow+1)+"]/htclsscrnm" , tclsscrnnm);
  308. model.setValue("/root/main/tclslist/tclscdlist1["+(tclsRow+1)+"]/tclsfromdd" , today);
  309. model.setValue("/root/main/tclslist/tclscdlist1["+(tclsRow+1)+"]/tclstodd" , "99991231");
  310. model.setValue("/root/main/tclslist/tclscdlist1["+(tclsRow+1)+"]/testlrgcd" , testlrgcd);
  311. model.setValue("/root/main/tclslist/tclscdlist1["+(tclsRow+1)+"]/testmdlcd" , testmdlcd);
  312. model.setValue("/root/main/tclslist/tclscdlist1["+(tclsRow+1)+"]/tclscd" , tclscd);
  313. model.setValue("/root/main/tclslist/tclscdlist1["+(tclsRow+1)+"]/tclsnm" , tclsnm);
  314. model.setValue("/root/main/tclslist/tclscdlist1["+(tclsRow+1)+"]/tclskind" , tclskind);
  315. model.setValue("/root/main/tclslist/tclscdlist1["+(tclsRow+1)+"]/tclsscrnm" , tclsscrnnm);
  316. tclsRow++;
  317. }
  318. }
  319. // 그리드 클릭시 숨김
  320. grd_SpcList.attribute("visibility") = "hidden";
  321. }
  322. }
  323. */
  324. // 필수입력항목 체크
  325. function fExeNotNull(){
  326. var msg = "";
  327. var status;
  328. for(i = 1; i < grd_tclscd.rows; i++){
  329. status = grd_tclscd.rowStatus(i);
  330. if(status == 3 || status == 1 || status == 2){
  331. if(model.getValue("/root/main/tclslist/tclscdlist1["+i+"]/tclscd") == ""){
  332. msg = "[검사코드] 는 " ;
  333. messageBox(msg , "I003", "");
  334. grd_tclscd.row = i;
  335. return false;
  336. }
  337. if(model.getValue("/root/main/tclslist/tclscdlist1["+i+"]/spccd") == "-"){
  338. msg = "[검체명] 은 " ;
  339. messageBox(msg , "I003", "");
  340. grd_tclscd.row = i;
  341. return false;
  342. }
  343. if(model.getValue("/root/main/tclslist/tclscdlist1["+i+"]/tclscdfromdd") == ""){
  344. msg = "[사용시작일자] 는 " ;
  345. messageBox(msg , "I003", "");
  346. grd_tclscd.row = i;
  347. return false;
  348. }
  349. if(model.getValue("/root/main/tclslist/tclscdlist1["+i+"]/tclscdtodd") == ""){
  350. msg = "[사용종료일자] 는 " ;
  351. messageBox(msg , "I003", "");
  352. grd_tclscd.row = i;
  353. return false;
  354. }
  355. if(model.getValue("/root/main/tclslist/tclscdlist1["+i+"]/tclsnm") == ""){
  356. msg = "[검사명] 은 " ;
  357. messageBox(msg , "I003", "");
  358. grd_tclscd.row = i;
  359. return false;
  360. }
  361. if(model.getValue("/root/main/tclslist/tclscdlist1["+i+"]/tclsscrnnm") == ""){
  362. msg = "[검사화면명] 은 " ;
  363. messageBox(msg , "I003", "");
  364. grd_tclscd.row = i;
  365. return false;
  366. }
  367. if(model.getValue("/root/main/tclslist/tclscdlist1["+i+"]/testmdlcd") == ""){
  368. msg = "[검사중분류코드] 는 " ;
  369. messageBox(msg , "I003", "");
  370. grd_tclscd.row = i;
  371. return false;
  372. }
  373. if(model.getValue("/root/main/tclslist/tclscdlist1["+i+"]/tclskind") == ""){
  374. msg = "[검사구분] 은 " ;
  375. messageBox(msg , "I003", "");
  376. grd_tclscd.row = i;
  377. return false;
  378. }
  379. }
  380. }
  381. return true;
  382. }
  383. // 필수데이터 체크
  384. /*function fExeNullCheck(){
  385. var row = grd_tclscd.row ;
  386. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/htclscd" , model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/tclscd"));
  387. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/hfromdd" , model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/tclscdfromdd"));
  388. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/htodd" , model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/tclscdtodd"));
  389. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/htclsnm" , model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/tclsnm"));
  390. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/htclskind" , model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/tclskind"));
  391. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/htclsscrnm" , model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/tclsscrnnm"));
  392. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/htestlrgcd" , model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/testmdlcd").substr(0,1));
  393. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/htestmdlcd" , model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/testmdlcd"));
  394. var nullyn = "true";
  395. var msg = "";
  396. if(model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/htclscd")==""){
  397. msg = "[검사코드] ";
  398. nullyn = "false";
  399. }
  400. if(model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/spccd")==""){
  401. msg = "[검체] ";
  402. nullyn = "false";
  403. }
  404. if(model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/hfromdd")==""){
  405. msg = "[사용시작일 ] ";
  406. nullyn = "false";
  407. }
  408. if(model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/htodd")==""){
  409. msg = "[사용종료일] ";
  410. nullyn = "false";
  411. }
  412. if(model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/htclsnm")==""){
  413. msg = "[검사명] ";
  414. nullyn = "false";
  415. }
  416. if(model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/htclsscrnm")==""){
  417. msg = "[검사화면명] ";
  418. nullyn = "false";
  419. }
  420. if(model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/htestlrgcd")==""){
  421. msg = "[대분류] ";
  422. nullyn = "false";
  423. }
  424. if(model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/htestmdlcd")==""){
  425. msg = "[중분류] ";
  426. nullyn = "false";
  427. }
  428. //alert("aaa= " + model.getValue("/root/main/tclslist/tclscdlist1/htclskind") + " row= " + row);
  429. if(model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/htclskind")==""){
  430. msg = "[검사구분] ";
  431. nullyn = "false";
  432. }
  433. if(nullyn == "false"){
  434. //TFGetMsgBox(5, msg + "항목이 누락되었습니다.", "오류", "I", "OK");
  435. alert( msg + " 항목이 누락되었습니다.");
  436. }
  437. return nullyn;
  438. }*/
  439. // 행추가
  440. function fSetAddRow(ref){
  441. grd_tclscd.addRow(false);
  442. grd_calc.addRow(false);
  443. model.refresh();
  444. var row = grd_tclscd.rows;
  445. //grd_tclscd.row = row;
  446. fSetRowData(row-1);
  447. grd_tclscd.bottomRow = grd_tclscd.rows;
  448. }
  449. // 행삽입
  450. function fSeInsertRow(ref){
  451. var row = grd_tclscd.row;
  452. grd_tclscd.insertItem(row,"after", false);
  453. grd_calc.insertItem(row,"after", false);
  454. model.refresh();
  455. fSetRowData(row+1);
  456. }
  457. // 행추가, 행삽입 됐을때 초기값
  458. function fSetRowData(row){
  459. var today = getCurrentDate();
  460. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/tclscdfromdd" , today);
  461. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/tclscdtodd" , "99991231");
  462. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/spccd" , "-");
  463. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/tclsabbrnm" , "-");
  464. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/tclsprntnm" , "-");
  465. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/tclslblnm" , "-");
  466. }
  467. // 검사명 입력하면 화면명 카피_사용안하고 있음
  468. /*function fSetScrnnm(){
  469. var row = grd_tclscd.row;
  470. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/tclsscrnnm", model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/tclsnm"));
  471. }*/
  472. // 저장하기전 카피하기_사용안하고 있음
  473. /*function fSetCopy(){
  474. var chkCol = grd_tclscd.col;
  475. var row = grd_tclscd.row;
  476. //var sss = grd_tclscd.rowStatus(0);
  477. //alert("sss= " + sss);
  478. if(chkCol == "8"){
  479. if(model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/tclsscrnnm") == ""){
  480. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/tclsscrnnm", model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/tclsnm")); // 검사명 => 화면명
  481. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/htclsnm", model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/tclsnm")); // 검사명
  482. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/htclsscrnm", model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/tclsnm")); // 화면명
  483. }
  484. }
  485. if(chkCol == "1"){
  486. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/hfromdd", model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/tclscdfromdd")); // 시작일
  487. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/htodd", "99991231"); // 종료일
  488. }
  489. if(chkCol == "3"){
  490. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/htestmdlcd", model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/testmdlcd")); // 중분류
  491. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/htestlrgcd", model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/testmdlcd").substr(0,1)); // 대분류
  492. }
  493. if(chkCol == "4"){
  494. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/htclscd", model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/tclscd")); // 검사코드
  495. }
  496. //if(chkCol == "9"){
  497. //alert("999");
  498. model.setValue("/root/main/tclslist/tclscdlist1["+row+"]/htclskind", model.getValue("/root/main/tclslist/tclscdlist1["+row+"]/tclskind")); // 검사구분
  499. //}
  500. }*/
  501. // 초기화
  502. function LLZ_reset(){
  503. model.reset();
  504. }
  505. // h...로 카피
  506. function fSethcopy(){
  507. model.setValue("/root/main/tclslist/tclscdlist1["+grd_tclscd.row+"]/htclscd" , model.getValue("/root/main/tclslist/tclscdlist1["+grd_tclscd.row+"]/tclscd"));
  508. model.setValue("/root/main/tclslist/tclscdlist1["+grd_tclscd.row+"]/hspccd" , model.getValue("/root/main/tclslist/tclscdlist1["+grd_tclscd.row+"]/spccd"));
  509. model.setValue("/root/main/tclslist/tclscdlist1["+grd_tclscd.row+"]/htodd" , model.getValue("/root/main/tclslist/tclscdlist1["+grd_tclscd.row+"]/tclscdtodd"));
  510. }
  511. function fKeyEvent(){
  512. if(event.keyCode == "13"){
  513. if(event.target =="ipt_search"){
  514. model.setValue("/root/hidden/searchtext", ipt_search.currentText);
  515. fGetTclscdList();
  516. }
  517. }
  518. }
  519. ]]>
  520. </script>
  521. </xhtml:head>
  522. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  523. <group id="group3" scroll="auto" style="left:0px; top:40; width:1195px; height:744px; ">
  524. <line id="line1" class="line_1" style="x1:0px; y1:70px; x2:1194px; y2:70px; "/>
  525. <line id="line11" style="x1:1108px; y1:17px; x2:1108px; y2:39px; border-color:#ffe4bb; border-left-style:solid; "/>
  526. <caption id="caption2" class="tit_2" style="left:5px; top:55px; width:147px; height:14px; ">검사분류상세내역</caption>
  527. <datagrid id="grd_tclscd" nodeset="/root/main/tclslist/tclscdlist1" caption="등록일자^종료일자^중분류^검사코드^검체명^검체명^검체명^검사명^검사구분^검사명(화면)^검사명(약어)^검사명(출력)^검사명(라벨)^검사방법^성모^강남^의정부^부천성모^성바오로^성모자애^성빈센트^대전^EDI코드^대분류^level^htclscd^hspccd^htodd" colwidth="85, 85, 100, 70, 40, 90, 19, 150, 65, 85, 85, 85, 85, 100, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0, 0, 0, 0, 0" dataheight="23" defaultrows="1" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:75px; width:860px; height:669px; ">
  528. <col explorerbar="sortshow" ref="tclscdfromdd" type="inputdate" format="yyyy-mm-dd"/>
  529. <col explorerbar="sortshow" ref="tclscdtodd" type="inputdate" format="yyyy-mm-dd"/>
  530. <col explorerbar="sortshow" itemcount="20" ref="testmdlcd" type="combo">
  531. <choices>
  532. <itemset nodeset="/root/init/LB0102">
  533. <label ref="nm"/>
  534. <value ref="cd"/>
  535. </itemset>
  536. </choices>
  537. </col>
  538. <col explorerbar="sortshow" imemode="disabled" ref="tclscd" type="input" _chartype="upper"/>
  539. <col explorerbar="sortshow" ref="spccd"/>
  540. <col explorerbar="sortshow" itemcount="20" ref="spccd" type="combo">
  541. <choices>
  542. <itemset nodeset="/root/init/LB0105">
  543. <label ref="nm"/>
  544. <value ref="cd"/>
  545. </itemset>
  546. </choices>
  547. </col>
  548. <col explorerbar="sortshow" ref="spccd3" type="inputbutton"/>
  549. <col explorerbar="sortshow" ref="tclsnm" type="input"/>
  550. <col explorerbar="sortshow" ref="tclskind" type="combo">
  551. <choices>
  552. <item>
  553. <label>Group</label>
  554. <value>0</value>
  555. </item>
  556. <item>
  557. <label>Panel</label>
  558. <value>1</value>
  559. </item>
  560. <item>
  561. <label>Single</label>
  562. <value>2</value>
  563. </item>
  564. <item>
  565. <label>Parent</label>
  566. <value>3</value>
  567. </item>
  568. <item>
  569. <label>Child</label>
  570. <value>4</value>
  571. </item>
  572. <item>
  573. <label>Abnormal</label>
  574. <value>5</value>
  575. </item>
  576. <item>
  577. <label>성분제제</label>
  578. <value>6</value>
  579. </item>
  580. </choices>
  581. </col>
  582. <col explorerbar="sortshow" ref="tclsscrnnm" type="input"/>
  583. <col explorerbar="sortshow" ref="tclsabbrnm" type="input" maxlength="20"/>
  584. <col explorerbar="sortshow" ref="tclsprntnm" type="input" maxlength="20"/>
  585. <col explorerbar="sortshow" ref="tclslblnm" type="input" maxlength="10"/>
  586. <col explorerbar="sortshow" ref="testmthd" type="input" maxlength="60"/>
  587. <col checkvalue="Y,N" ref="his011" type="checkbox"/>
  588. <col checkvalue="Y,N" ref="his012" type="checkbox"/>
  589. <col checkvalue="Y,N" ref="his013" type="checkbox"/>
  590. <col checkvalue="Y,N" ref="his014" type="checkbox"/>
  591. <col checkvalue="Y,N" ref="his015" type="checkbox"/>
  592. <col checkvalue="Y,N" ref="his016" type="checkbox"/>
  593. <col checkvalue="Y,N" ref="his017" type="checkbox"/>
  594. <col checkvalue="Y,N" ref="his018" type="checkbox"/>
  595. <col ref="edicd" type="input" maxlength="60"/>
  596. <col ref="testlrgcd"/>
  597. <col ref="level"/>
  598. <col ref="htclscd"/>
  599. <col ref="hspccd"/>
  600. <col ref="htodd"/>
  601. <script type="javascript" ev:event="onbuttonclick">
  602. <![CDATA[
  603. // 검체정보 조회
  604. if(grd_tclscd.col == 7){
  605. //fExeSpccd();
  606. fSetSpccd();
  607. }
  608. ]]>
  609. </script>
  610. <script type="javascript" ev:event="onscroll">
  611. <![CDATA[
  612. // 동시 스크롤
  613. grd_calc.topRow = grd_tclscd.topRow;
  614. ]]>
  615. </script>
  616. <script type="javascript" ev:event="onclick">
  617. <![CDATA[
  618. grd_calc.row = grd_tclscd.row;
  619. grd_calc.topRow = grd_tclscd.topRow;
  620. ]]>
  621. </script>
  622. <script type="javascript" ev:event="onendedit">
  623. <![CDATA[
  624. //fSetCopy();
  625. ]]>
  626. </script>
  627. <script type="javascript" ev:event="xforms-value-changed">
  628. <![CDATA[
  629. //fSetCopy();
  630. if(grd_tclscd.rowStatus(grd_tclscd.row) == 3 || grd_tclscd.rowStatus(grd_tclscd.row) == 1){ //IUD가 I인경우
  631. fSethcopy();
  632. }
  633. ]]>
  634. </script>
  635. <script type="javascript" ev:event="onaftersort">
  636. <![CDATA[
  637. grd_tclscd.gridToInstance();
  638. ]]>
  639. </script>
  640. </datagrid>
  641. <datagrid id="grd_SpcList" nodeset="/root/hidden/spclist" visibility="hidden" caption="^검체코드^검체명" colsep="^" colwidth="30, 60, 100" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:495px; top:220px; width:230px; height:225px; ">
  642. <col checkvalue="true,false" ref="chk" type="checkbox"/>
  643. <col ref="spccd"/>
  644. <col ref="spcnm"/>
  645. <script type="javascript" ev:event="onclick">
  646. <![CDATA[
  647. fGetSpclist();
  648. ]]>
  649. </script>
  650. </datagrid>
  651. <group id="group1" style="left:0px; top:10px; width:1195px; height:35px; ">
  652. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:35px; "/>
  653. <line id="line2" class="line_4" style="x1:1108px; y1:7px; x2:1108px; y2:29px; "/>
  654. <caption id="caption1" class="search_name" style="left:642px; top:11px; width:90px; height:17px; ">조회구분 :</caption>
  655. <caption id="caption4" class="search_name" style="left:12px; top:11px; width:112px; height:17px; ">조회항목구분 :</caption>
  656. <select1 id="cmb_mdl" ref="/root/hidden/mdlselect" class="combo_search" appearance="minimal" itemcount="20" style="left:295px; top:10px; width:150px; height:19px; ">
  657. <choices>
  658. <itemset nodeset="/root/init/LB0102">
  659. <label ref="nm"/>
  660. <value ref="cd"/>
  661. </itemset>
  662. </choices>
  663. </select1>
  664. <select1 id="cmb_lrg" ref="/root/hidden/lrgselect" class="combo_search" appearance="minimal" itemcount="20" style="left:295px; top:10px; width:150px; height:19px; ">
  665. <choices>
  666. <itemset nodeset="/root/init/LB0104">
  667. <label ref="nm"/>
  668. <value ref="cd"/>
  669. </itemset>
  670. </choices>
  671. </select1>
  672. <select1 id="rdo_lrgmdl" ref="/root/hidden/searchgbn" class="radio_search" appearance="full" cols="2" overflow="visible" style="left:127px; top:12px; width:163px; height:13px; border-style:none; ">
  673. <choices>
  674. <item>
  675. <label>대분류콤보</label>
  676. <value>1</value>
  677. </item>
  678. <item>
  679. <label>중분류콤보</label>
  680. <value>2</value>
  681. </item>
  682. </choices>
  683. <script type="javascript" ev:event="xforms-select">
  684. <![CDATA[
  685. fSetLrgMdlflag();
  686. ]]>
  687. </script>
  688. </select1>
  689. <select1 id="cmb_refgbn" ref="/root/hidden/refgbn" class="combo_search" appearance="minimal" style="left:735px; top:10px; width:150px; height:19px; ">
  690. <choices>
  691. <item>
  692. <label>검사코드</label>
  693. <value>1</value>
  694. </item>
  695. <item>
  696. <label>검사명</label>
  697. <value>2</value>
  698. </item>
  699. </choices>
  700. </select1>
  701. <input id="ipt_search" ref="/root/hidden/searchtext" class="input_s_button" inputtype="button" style="left:888px; top:10px; width:110px; height:19px; ">
  702. <script type="javascript" ev:event="onkeypress">
  703. <![CDATA[
  704. fKeyEvent();
  705. ]]>
  706. </script>
  707. </input>
  708. <button id="btn_ref" class="btn1_letter2" style="left:1123px; top:7px; width:56px; height:22px; ">
  709. <caption>조회</caption>
  710. <script type="javascript" ev:event="DOMActivate">
  711. <![CDATA[
  712. fGetTclscdList();
  713. ]]>
  714. </script>
  715. </button>
  716. </group>
  717. <button id="button6" class="btn2_letter6" visibility="hidden" style="left:850px; top:50px; width:86px; height:19px; ">
  718. <caption>* 임시 r</caption>
  719. <script type="javascript" ev:event="DOMActivate">
  720. <![CDATA[
  721. grd_calc.insertItem(grd_tclscd.row, "after");
  722. //grd_tclscd.insertItem(grd_tclscd.row, "after");
  723. ]]>
  724. </script>
  725. </button>
  726. <datagrid id="grd_calc" nodeset="/root/main/tclslist/tclscdlist2" caption="수가코드^보험코드^처방명^대분류^level" colwidth="70, 80, 160, 0, 0" dataheight="23" defaultrows="1" ellipsis="true" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:865px; top:75px; width:329px; height:669px; ">
  727. <col ref="calcscorcd"/>
  728. <col ref="insuedicd"/>
  729. <col ref="ordnm"/>
  730. <col ref="tclscd"/>
  731. <col ref="spccd"/>
  732. <script type="javascript" ev:event="onaftersort">
  733. <![CDATA[
  734. grd_calc.gridToInstance();
  735. ]]>
  736. </script>
  737. <script type="javascript" ev:event="onclick">
  738. <![CDATA[
  739. grd_tclscd.row = grd_calc.row;
  740. grd_tclscd.topRow = grd_calc.topRow;
  741. ]]>
  742. </script>
  743. </datagrid>
  744. <button id="btn_insert" class="btn2_letter3" style="left:1141px; top:49px; width:53px; height:19px; ">
  745. <caption>행삽입</caption>
  746. <script type="javascript" ev:event="DOMActivate">
  747. <![CDATA[
  748. fSeInsertRow("I");
  749. ]]>
  750. </script>
  751. </button>
  752. <button id="btn_add" class="btn2_letter3" style="left:1085px; top:49px; width:53px; height:19px; ">
  753. <caption>행추가</caption>
  754. <script type="javascript" ev:event="DOMActivate">
  755. <![CDATA[
  756. fSetAddRow("A");
  757. ]]>
  758. </script>
  759. </button>
  760. <button id="btn_del" class="btn2_letter3" style="left:1029px; top:49px; width:53px; height:19px; ">
  761. <caption>행삭제</caption>
  762. <script type="javascript" ev:event="DOMActivate">
  763. <![CDATA[
  764. grd_tclscd.deleteItem(grd_tclscd.row);
  765. grd_calc.deleteRow(grd_calc.row);
  766. ]]>
  767. </script>
  768. </button>
  769. </group>
  770. <group id="grp_btn" style="left:0px; top:13px; width:1195px; height:27px; ">
  771. <line id="line17" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  772. <button id="btn_save" class="btn4_letter2" style="left:1068px; top:3px; width:56px; height:22px; ">
  773. <caption>저장</caption>
  774. <script type="javascript" ev:event="DOMActivate">
  775. <![CDATA[
  776. //fSetCopy();
  777. //if(fExeNullCheck()=="true"){
  778. // alert("11");
  779. fExeTclscdSave();
  780. //}
  781. ]]>
  782. </script>
  783. </button>
  784. <button id="btn_reset" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  785. <caption>초기화</caption>
  786. <script type="javascript" ev:event="DOMActivate">
  787. <![CDATA[
  788. LLZ_reset(); //초기화 요청시
  789. ]]>
  790. </script>
  791. </button>
  792. </group>
  793. <group id="group2" style="left:0px; top:0px; width:1195px; height:13px; ">
  794. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">검사코드관리</caption>
  795. </group>
  796. </xhtml:body>
  797. </xhtml:html>