SMLLF10500_통합검사코드관리.xrw 33 KB

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