SPMMD06400_CPG투약코드선택.xfdl 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.4">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMD06400" position="absolute 0 0 771 623" titletext="투약코드 조회" oninit="SPMMD06400_oninit" onload="SPMMD06400_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 379 595 767 620" id="grp_btn">
  8. <Layouts>
  9. <Layout>
  10. <Button position="absolute 274 4 330 24" id="button7" class="btn4" text="등록" onclick="grp_btn_button7_onclick" anchor="default"/>
  11. <Button position="absolute 332 4 388 24" id="button3" class="btn4" text="닫기" onclick="grp_btn_button3_onclick" anchor="default"/>
  12. </Layout>
  13. </Layouts>
  14. </Div>
  15. <Shape position="absolute 378 17 770 57" id="roundrect3" type="roundrectangle"/>
  16. <Grid position="absolute 378 65 770 425" id="grd_codelist" binddataset="ds_main_testlist" oncelldblclick="grd_codelist_oncelldblclick" oncellclick="grd_codelist_oncellclick" autofittype="col">
  17. <Formats>
  18. <Format id="default">
  19. <Columns>
  20. <Column size="52"/>
  21. <Column size="105"/>
  22. <Column size="231"/>
  23. </Columns>
  24. <Rows>
  25. <Row size="24" band="head"/>
  26. <Row size="24"/>
  27. </Rows>
  28. <Band id="head">
  29. <Cell text="선택"/>
  30. <Cell col="1" text="처방코드"/>
  31. <Cell col="2" text="처방명"/>
  32. </Band>
  33. <Band id="body">
  34. <Cell displaytype="checkbox" edittype="checkbox" text="bind:boolflag" expr="expr:(boolflag == &quot;Y&quot; || boolflag == &quot;true&quot;) ? 1 : 0"/>
  35. <Cell col="1" style="align:left;" text="bind:itemcd"/>
  36. <Cell col="2" style="align:left;" text="bind:itemnm"/>
  37. </Band>
  38. </Format>
  39. </Formats>
  40. </Grid>
  41. <Grid position="absolute 378 453 770 595" id="grd_selectlist" binddataset="ds_main_selecttestlist" autofittype="col" selecttype="multirow">
  42. <Formats>
  43. <Format id="default">
  44. <Columns>
  45. <Column size="128"/>
  46. <Column size="232"/>
  47. </Columns>
  48. <Rows>
  49. <Row size="24" band="head"/>
  50. <Row size="24"/>
  51. </Rows>
  52. <Band id="head">
  53. <Cell text="검사코드"/>
  54. <Cell col="1" text="검사명"/>
  55. </Band>
  56. <Band id="body">
  57. <Cell text="bind:testcd"/>
  58. <Cell col="1" text="bind:testnm"/>
  59. </Band>
  60. </Format>
  61. </Formats>
  62. </Grid>
  63. <Button position="absolute 709 27 765 47" id="btn_srchreq" class="btn1" taborder="2" text="조회" onclick="btn_srchreq_onclick"/>
  64. <Button position="absolute 662 428 726 448" id="button6" class="btn2" text="항목추가" onclick="button6_onclick"/>
  65. <Static text="검색 :" position="absolute 382 28 452 48" id="caption4" class="search_name"/>
  66. <Static text="선택 투약코드" position="absolute 384 431 526 451" id="caption5" class="tit_2"/>
  67. <Radio position="absolute 443 28 579 48" id="radio2" taborder="3" columncount="2" codecolumn="value" datacolumn="label" innerdataset="@ds_prcpflag"/>
  68. <Edit position="absolute 579 28 699 48" id="input3" taborder="1" onkeydown="input3_onkeydown"/>
  69. <Static text="투약코드 정보" position="absolute 0 0 142 20" id="caption14" class="tit_2"/>
  70. <Button position="absolute 728 428 770 448" id="button1" class="btn2_letter2" text="삭제" onclick="button1_onclick"/>
  71. <Grid position="absolute 0 17 376 596" treeusecheckbox="false" autofit="col" id="trv_prcpclscdlist" oncellclick="trv_prcpclscdlist_oncellclick" binddataset="ds_main_grouplist">
  72. <Formats>
  73. <Format id="default">
  74. <Columns>
  75. <Column size="373"/>
  76. </Columns>
  77. <Rows>
  78. <Row size="24"/>
  79. </Rows>
  80. <Band id="body">
  81. <Cell displaytype="tree" edittype="tree" style="background:white;background2:white;" text="bind:prcpclsnm" treelevel="bind:lvl" autosizecol="limitmin"/>
  82. </Band>
  83. </Format>
  84. </Formats>
  85. </Grid>
  86. </Layout>
  87. </Layouts>
  88. <Objects>
  89. <Dataset id="ds_grd_codelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  90. <ColumnInfo>
  91. <Column id="boolflag" type="STRING"/>
  92. <Column id="depth" type="STRING"/>
  93. <Column id="grupcd" type="STRING"/>
  94. <Column id="itemcd" type="STRING"/>
  95. <Column id="itemnm" type="STRING"/>
  96. <Column id="unitnm" type="STRING"/>
  97. </ColumnInfo>
  98. </Dataset>
  99. <Dataset id="ds_grd_selectlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  100. <ColumnInfo>
  101. <Column id="testitemcd" type="STRING"/>
  102. <Column id="testcd" type="STRING"/>
  103. <Column id="testnm" type="STRING"/>
  104. <Column id="reflval" type="STRING"/>
  105. <Column id="lvalappflag" type="STRING"/>
  106. <Column id="refhval" type="STRING"/>
  107. <Column id="hvalappflag" type="STRING"/>
  108. <Column id="unitnm" type="STRING"/>
  109. <Column id="refseq" type="STRING"/>
  110. <Column id="alertcdflag" type="STRING"/>
  111. <Column id="alertrem" type="STRING"/>
  112. <Column id="alertprecondyn" type="STRING"/>
  113. <Column id="checkyn" type="STRING"/>
  114. <Column id="m" type="STRING"/>
  115. </ColumnInfo>
  116. </Dataset>
  117. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  118. <ColumnInfo>
  119. <Column id="prcpclskindcd" type="STRING" size="256"/>
  120. <Column id="alertcdflag" type="STRING" size="256"/>
  121. <Column id="prcpclscd" type="STRING" size="256"/>
  122. <Column id="prcpflag" type="STRING" size="256"/>
  123. <Column id="prcpcd" type="STRING" size="256"/>
  124. </ColumnInfo>
  125. <Rows>
  126. <Row>
  127. <Col id="prcpclskindcd">A</Col>
  128. <Col id="alertcdflag"/>
  129. <Col id="prcpclscd"/>
  130. <Col id="prcpflag"/>
  131. <Col id="prcpcd"/>
  132. </Row>
  133. </Rows>
  134. </Dataset>
  135. <Dataset id="ds_main_grouplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  136. <ColumnInfo>
  137. <Column id="prcpclsnm" type="STRING" size="256"/>
  138. <Column id="prcpclscd" type="STRING" size="256"/>
  139. <Column id="lvl" type="STRING" size="256"/>
  140. </ColumnInfo>
  141. </Dataset>
  142. <Dataset id="ds_main_testlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_testlist_oncolumnchanged">
  143. <ColumnInfo>
  144. <Column id="boolflag" type="STRING"/>
  145. <Column id="depth" type="STRING"/>
  146. <Column id="grupcd" type="STRING"/>
  147. <Column id="itemcd" type="STRING"/>
  148. <Column id="itemnm" type="STRING"/>
  149. <Column id="unitnm" type="STRING"/>
  150. </ColumnInfo>
  151. </Dataset>
  152. <Dataset id="ds_main_selecttestlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  153. <ColumnInfo>
  154. <Column id="testitemcd" type="STRING"/>
  155. <Column id="testcd" type="STRING"/>
  156. <Column id="testnm" type="STRING"/>
  157. <Column id="reflval" type="STRING"/>
  158. <Column id="lvalappflag" type="STRING"/>
  159. <Column id="refhval" type="STRING"/>
  160. <Column id="hvalappflag" type="STRING"/>
  161. <Column id="unitnm" type="STRING"/>
  162. <Column id="refseq" type="STRING"/>
  163. <Column id="alertcdflag" type="STRING"/>
  164. <Column id="alertrem" type="STRING"/>
  165. <Column id="alertprecondyn" type="STRING"/>
  166. <Column id="checkyn" type="STRING"/>
  167. <Column id="m" type="STRING"/>
  168. </ColumnInfo>
  169. </Dataset>
  170. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  171. <ColumnInfo>
  172. <Column id="prcpclscd" type="STRING" size="256"/>
  173. <Column id="prcpclskindcd" type="STRING" size="256"/>
  174. <Column id="prcpflag" type="STRING" size="256"/>
  175. <Column id="alertcdflag" type="STRING" size="256"/>
  176. <Column id="prcpcd" type="STRING" size="256"/>
  177. </ColumnInfo>
  178. <Rows>
  179. <Row/>
  180. </Rows>
  181. </Dataset>
  182. <Dataset id="ds_prcpflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  183. <ColumnInfo>
  184. <Column id="label" type="STRING" size="256"/>
  185. <Column id="value" type="STRING" size="256"/>
  186. </ColumnInfo>
  187. <Rows>
  188. <Row>
  189. <Col id="label">처방코드</Col>
  190. <Col id="value">C</Col>
  191. </Row>
  192. <Row>
  193. <Col id="label">처방명</Col>
  194. <Col id="value">N</Col>
  195. </Row>
  196. </Rows>
  197. </Dataset>
  198. </Objects>
  199. <Bind>
  200. <BindItem id="item0" compid="radio2" propid="value" datasetid="ds_main_cond" columnid="prcpflag"/>
  201. <BindItem id="item1" compid="input3" propid="value" datasetid="ds_main_cond" columnid="prcpcd"/>
  202. </Bind>
  203. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  204. * System Name :
  205. * Job Name :
  206. * Creator :
  207. * Make Date : 2015-04-07
  208. * Description :
  209. *---------------------------------------------------------------------------------------
  210. * Modify Date Modifier Modify Description
  211. *---------------------------------------------------------------------------------------
  212. * 2015-04-07 Live Converter TF->XP
  213. *
  214. *---------------------------------------------------------------------------------------
  215. ****************************************************************************************/
  216. include "com_commonxp::comm_main.xjs";
  217. var openflag = "";
  218. var arErrorCode = new HashArray();
  219. function SPMMD06400_oninit(obj:Form, e:InitEventInfo)
  220. {
  221. frmf_initForm(obj);
  222. }
  223. function SPMMD06400_onload(obj:Form, e:LoadEventInfo)
  224. {
  225. var openflag = opener.ds_main_cond.getColumn(0, "condbutton"); //opener.model.getValue("/root/main/cond/condbutton");
  226. var sRow = "";
  227. var alertcdflag = "";
  228. alertcdflag = opener.ds_main_cond.getColumn(0, "alertcdflag");
  229. /* openflag 값에 관계없이 똑같은 짓을 하고 있다.
  230. if (openflag == "IF") {
  231. alertcdflag = opener.ds_main_cond.getColumn(0, "alertcdflag"); //opener.model.getValue("/root/main/cond/alertcdflag");
  232. } else {
  233. alertcdflag = opener.ds_main_cond.getColumn(0, "alertcdflag"); //opener.model.getValue("/root/main/cond/alertcdflag");
  234. }
  235. */
  236. // model.removeNodeset("/root/main/testinfo/testlist");
  237. // model.removeNodeset("/root/main/selecttestinfo/selecttestlist");
  238. ds_main_cond.setColumn(0, "alertcdflag", alertcdflag); // model.setValue("/root/main/cond/alertcdflag", alertcdflag);
  239. var oParam = {};
  240. oParam.id = "TRMMD06401";
  241. oParam.service = "cdssmngtapp.ClinicalRuleMngt";
  242. oParam.method = "reqGetPrcpClsList";
  243. oParam.inds = "req=ds_main_cond";
  244. oParam.outds = "ds_main_grouplist=grouplist";
  245. oParam.async = false;
  246. oParam.callback = "cf_TRMMD06401";
  247. tranf_submit(oParam);
  248. //model.refresh();
  249. }
  250. function cf_TRMMD06401(sSvcId, nErrorCode, sErrorMsg) {
  251. arErrorCode.push(sSvcId, nErrorCode);
  252. }
  253. /**
  254. * @desc : 단일 진단코드 선택, 그리드 클릭
  255. * @
  256. * @param : trgtrow - 현재 클릭한 그리드의 row 위치
  257. * @return :
  258. * @---------------------------------------------------
  259. */
  260. function fAddDiag(trgtrow){
  261. var itemcd = ds_main_testlist.getColumn(trgtrow, "itemcd"); //model.getValue("/root/main/testinfo/testlist[" + trgtrow + "]/itemcd");
  262. var grupcd = ds_main_testlist.getColumn(trgtrow, "grupcd"); //model.getValue("/root/main/testinfo/testlist[" + trgtrow + "]/grupcd");
  263. var itemnm = ds_main_testlist.getColumn(trgtrow, "itemnm"); //model.getValue("/root/main/testinfo/testlist[" + trgtrow + "]/itemnm");
  264. var unitnm = ds_main_testlist.getColumn(trgtrow, "unitnm"); //model.getValue("/root/main/testinfo/testlist[" + trgtrow + "]/unitnm");
  265. var fndrow = ds_main_selecttestlist.findRow("testcd", itemcd); //grd_selectlist.findRow(itemcd, 1, 0, "true", "true");
  266. if(fndrow < 0){
  267. ds_main_selecttestlist.addRow(); //grd_selectlist.addRow(false);
  268. currow = ds_main_selecttestlist.rowposition;
  269. dsf_makeValue(ds_main_selecttestlist, "testitemcd", "string", grupcd, currow); // model.makeValue("/root/main/selecttestinfo/selecttestlist[" + currow + "]/testitemcd" , grupcd);
  270. dsf_makeValue(ds_main_selecttestlist, "testcd", "string", itemcd, currow); // model.makeValue("/root/main/selecttestinfo/selecttestlist[" + currow + "]/testcd" , itemcd);
  271. dsf_makeValue(ds_main_selecttestlist, "testnm", "string", itemnm, currow); // model.makeValue("/root/main/selecttestinfo/selecttestlist[" + currow + "]/testnm" , itemnm);
  272. dsf_makeValue(ds_main_selecttestlist, "unitnm", "string", unitnm, currow); // model.makeValue("/root/main/selecttestinfo/selecttestlist[" + currow + "]/unitnm" , unitnm);
  273. dsf_makeValue(ds_main_selecttestlist, "lvalappflag", "string", "N", currow); // model.makeValue("/root/main/selecttestinfo/selecttestlist[" + currow + "]/lvalappflag" , "N");
  274. dsf_makeValue(ds_main_selecttestlist, "hvalappflag", "string", "N", currow); // model.makeValue("/root/main/selecttestinfo/selecttestlist[" + currow + "]/hvalappflag" , "N");
  275. }
  276. //model.refresh();
  277. }
  278. /**
  279. * @desc : 다수의 진단코드 선택 후, 진단추가버튼 클릭
  280. * @ : 1. check box에 선택된 진단을 추가
  281. * @ : 2. ctrl + mouse select로 선택된 진단을 추가
  282. * @param :
  283. * @return :
  284. * @---------------------------------------------------
  285. */
  286. function fAppendDiagCD(){
  287. var totrow = ds_main_testlist.rowcount; //grd_codelist.rows;
  288. for(var i = 0; i < totrow; i++){
  289. var bflag = ds_main_testlist.getColumn(i, "boolflag"); //grd_codelist.valueMatrix(i, grd_codelist.colRef("boolflag"));
  290. if(bflag == "Y"){
  291. fAddDiag(i);
  292. ds_main_testlist.setColumn(i, "boolflag", "N"); //grd_codelist.valueMatrix(i, grd_codelist.colRef("boolflag")) = "N"; //복사한 진단은 check box의 값을 해체
  293. }
  294. }
  295. //grd_selectlist.rebuild();
  296. }
  297. /**
  298. * @desc : 진단코드리스트 전달
  299. * @
  300. * @param :
  301. * @return :
  302. * @---------------------------------------------------
  303. */
  304. function fSendItemCDList(){
  305. if(frmf_checkOpener()){
  306. var condbutton = opener.ds_main_cond.getColumn(0, "condbutton"); //opener.model.getValue("/root/main/cond/condbutton");
  307. var alertcdflag = opener.ds_main_cond.getColumn(0, "alertcdflag"); //opener.model.getValue("/root/main/cond/alertcdflag");
  308. if ( ds_main_selecttestlist.rowcount < 1 ) { // grd_selectlist.rows < "1"
  309. sysf_messageBox ( "선택된 처방이", "I004" );
  310. }
  311. //var rtn1 = getItemNodeListCSV ( model.instances(0).selectNodes( "/root/main/selectitemlnfo/selectitemlist" ));
  312. var rtn = "testitemcd▦testcd▦testnm▦hvalappflag▦lvalappflag▦refhval▦reflval▦unitnm▦refseq▦alertcdflag▦alertrem▦alertprecondyn▦checkyn▦m" ;
  313. //var Select_Path = "ds_main_selecttestlist"; //"/root/main/selecttestinfo/selecttestlist"
  314. for (i = 0; i < ds_main_selecttestlist.rowcount; i ++) {
  315. var testitemcd = ds_main_selecttestlist.getColumn(i, "testitemcd"); //model.getValue(Select_Path + "[" + i + "]/testitemcd");
  316. var testcd = ds_main_selecttestlist.getColumn(i, "testcd"); //model.getValue(Select_Path + "[" + i + "]/testcd");
  317. var testnm = ds_main_selecttestlist.getColumn(i, "testnm"); //model.getValue(Select_Path + "[" + i + "]/testnm");
  318. var hvalappflag = ds_main_selecttestlist.getColumn(i, "hvalappflag"); //model.getValue(Select_Path + "[" + i + "]/hvalappflag");
  319. var lvalappflag = ds_main_selecttestlist.getColumn(i, "lvalappflag"); //model.getValue(Select_Path + "[" + i + "]/lvalappflag");
  320. var refhval = ds_main_selecttestlist.getColumn(i, "refhval"); //model.getValue(Select_Path + "[" + i + "]/refhval");
  321. var reflval = ds_main_selecttestlist.getColumn(i, "reflval"); //model.getValue(Select_Path + "[" + i + "]/reflval");
  322. var unitnm = ds_main_selecttestlist.getColumn(i, "unitnm"); //model.getValue(Select_Path + "[" + i + "]/unitnm");
  323. var refseq = ds_main_selecttestlist.getColumn(i, "refseq"); //model.getValue(Select_Path + "[" + i + "]/refseq");
  324. var alertrem = ds_main_selecttestlist.getColumn(i, "alertrem"); //model.getValue(Select_Path + "[" + i + "]/alertrem");
  325. var alertprecondyn = "N"
  326. var checkyn = ds_main_selecttestlist.getColumn(i, "checkyn"); //model.getValue(Select_Path + "[" + i + "]/checkyn");
  327. var m = ds_main_selecttestlist.getColumn(i, "m"); //model.getValue(Select_Path + "[" + i + "]/m");
  328. rtn += "▩" + testitemcd + "▦" + testcd + "▦" + testnm + "▦" + hvalappflag + "▦" + lvalappflag+ "▦" + refhval + "▦" + reflval + "▦" + unitnm + "▦" + "▦" + alertcdflag + "▦" + alertrem + "▦" + alertprecondyn + "▦" + "▦";
  329. }
  330. opener.frmf_setParameter("SPMMD06100_detlinfo", rtn); //opener.javascript.setParameter( "SPMMD06100_detlinfo", rtn );
  331. close();
  332. }
  333. }
  334. // 호출안하는 function
  335. /*
  336. function getItemNodeListCSV(nodeList) {
  337. if( nodeList.length == 0 ){
  338. return;
  339. }
  340. var sColSep = "▦";
  341. var sRowSep = "▩";
  342. var rCSV = "";
  343. var childNodeList = nodeList.item(0).childNodes;
  344. var childNodeCnt = childNodeList.length;
  345. if( childNodeCnt == 0 ){
  346. return;
  347. }
  348. var i, j;
  349. for( i = 0; i < childNodeCnt - 1; i++) {
  350. rCSV += childNodeList.item(i).nodeName + sColSep;
  351. }
  352. rCSV += childNodeList.item(i).nodeName;
  353. var node;
  354. var cnt = 1;
  355. var selCnt = 0;
  356. while( node = nodeList.nextNode() ) {
  357. rCSV += sRowSep;
  358. childNodeList = node.childNodes;
  359. for( i = 0; i < childNodeCnt - 1; i++) {
  360. rCSV += childNodeList.item(i).text + sColSep;
  361. }
  362. rCSV += childNodeList.item(i).text ;
  363. selCnt++;
  364. }
  365. if ( selCnt == 0 ) {
  366. return "N"
  367. } else {
  368. return rCSV;
  369. }
  370. }
  371. */
  372. /**
  373. * @desc : 진단코드 전달 (이 화면에서 사용안하는듯)
  374. * @
  375. * @param :
  376. * @return :
  377. * @---------------------------------------------------
  378. */
  379. function fSendDiag(currow){
  380. if(checkOpener()){
  381. var nodelist = model.instance1.selectNodes("/root/main/selecttestinfo/selecttestlist[" + currow + "]");
  382. var node = nodelist.item(0);
  383. var nodepath = opener.javascript.getParameter("SPMQP00300_param_nodepath");
  384. if(nodepath == ""){ //opener의 특정 nodepath를 넘겨주지 않은 경우
  385. var selectnode = opener.instance1.selectSingleNode("/root/temp/selectitemlist");
  386. if(selectnode == null){ //opener에 node를 만든다.
  387. opener.model.makeNode("/root/temp/selectitemlist");
  388. }
  389. model.copyNode(opener.root.temp.selectitemlist, node);
  390. }else{ //opener의 특정 nodepath를 넘겨준 경우
  391. var selectnode = opener.instance1.selectSingleNode(nodepath);
  392. if(selectnode == null){ //opener에 node를 만든다.
  393. opener.model.makeNode(nodepath);
  394. }
  395. opener.model.copyNode(nodepath, node); //opener에 복사
  396. }
  397. opener.javascript.setParameter("SPMQP00300_rtn_useyn", "Y");
  398. }else{
  399. messageBox("상위 화면이 변경되어 데이터를 전달", "E001");
  400. }
  401. window.close();
  402. }
  403. function grp_btn_button7_onclick(obj:Button, e:ClickEventInfo)
  404. {
  405. fSendItemCDList();
  406. }
  407. function grp_btn_button3_onclick(obj:Button, e:ClickEventInfo)
  408. {
  409. close();
  410. }
  411. function grd_codelist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  412. {
  413. fAddDiag(ds_main_testlist.rowposition); //grd_codelist.row
  414. //model.refresh();
  415. }
  416. function grd_codelist_oncellclick(obj:Grid, e:GridClickEventInfo)
  417. {
  418. var grdcol = obj.getCellPos();
  419. var currow = ds_main_testlist.rowposition; //grd_codelist.row
  420. var rows = ds_main_testlist.rowcount; //grd_codelist.rows
  421. var grdrow = rows - currow;
  422. var rowno = rows - 1;
  423. if (grdcol == 0) {
  424. var boolflag = ds_main_testlist.getColumn(currow, "boolflag"); //model.getValue("/root/main/testinfo/testlist[" + currow + "]/boolflag");
  425. if (boolflag == "N" ) {
  426. ds_main_testlist.setColumn(currow, "boolflag", "N"); //model.setValue("/root/main/testinfo/testlist[" + currow + "]/boolflag", "N");
  427. } else {
  428. ds_main_testlist.setColumn(currow, "boolflag", "Y"); //model.setValue("/root/main/testinfo/testlist[" + currow + "]/boolflag", "Y");
  429. }
  430. var depth = ds_main_testlist.getColumn(currow, "depth"); //model.getValue("/root/main/testinfo/testlist[" + currow + "]/depth");
  431. if (depth == "1") {
  432. for (i = 0 ; i < grdrow ; i ++ ) {
  433. currow = currow + 1;
  434. depth = ds_main_testlist.getColumn(currow, "depth"); //model.getValue("/root/main/testinfo/testlist[" + currow + "]/depth");
  435. if (depth != "1") {
  436. if (currow <= rowno) {
  437. var boolflag = ds_main_testlist.getColumn(currow, "boolflag"); //model.getValue("/root/main/testinfo/testlist[" + currow + "]/boolflag")
  438. if (boolflag == "Y") {
  439. ds_main_testlist.setColumn(currow, "boolflag", "N"); //model.setValue("/root/main/testinfo/testlist[" + currow + "]/boolflag", "N");
  440. } else {
  441. ds_main_testlist.setColumn(currow, "boolflag", "Y"); //model.setValue("/root/main/testinfo/testlist[" + currow + "]/boolflag", "Y");
  442. }
  443. }
  444. } else if (depth == "1") {
  445. return;
  446. }
  447. }
  448. }
  449. }
  450. //model.refresh();
  451. }
  452. function btn_srchreq_onclick(obj:Button, e:ClickEventInfo)
  453. {
  454. if( utlf_isNull(ds_main_cond.getColumn(0, "prcpflag")) ){ // isNull(model.getValue("/root/main/cond/prcpflag"))
  455. sysf_messageBox("검색 조건을", "C002");
  456. return;
  457. }
  458. if( utlf_isNull(ds_main_cond.getColumn(0, "prcpcd")) ){ // isNull(model.getValue("/root/main/cond/prcpcd"))
  459. sysf_messageBox("검색어를", "C002");
  460. return;
  461. }
  462. ds_send.copyData(ds_main_cond); //model.copyNode("/root/send/reqdata", "/root/main/cond");
  463. ds_send.setColumn(0, "prcpclscd", ""); //model.setValue("/root/send/reqdata/prcpclscd", "");
  464. var oParam = {};
  465. oParam.id = "TRMMD06402";
  466. oParam.service = "cdssmngtapp.ClinicalRuleMngt";
  467. oParam.method = "reqGetPrcpCdList";
  468. oParam.inds = "req=ds_send";
  469. oParam.outds = "ds_main_testlist=testlist";
  470. oParam.async = false;
  471. oParam.callback = "cf_TRMMD06402";
  472. tranf_submit(oParam);
  473. //model.refresh();
  474. }
  475. function cf_TRMMD06402(sSvcId, nErrorCode, sErrorMsg) {
  476. arErrorCode.push(sSvcId, nErrorCode);
  477. }
  478. function button6_onclick(obj:Button, e:ClickEventInfo)
  479. {
  480. fAppendDiagCD();
  481. }
  482. function button1_onclick(obj:Button, e:ClickEventInfo)
  483. {
  484. var selectedRows = grdf_getSelectedRows(grd_selectlist);
  485. var selectedRowList = String(selectedRows).split(","); //grd_selectlist.selectedRows;
  486. var totcnt = ds_main_selecttestlist.rowcount;
  487. for(var i = totcnt-1 ; i >= 0 ; i--) {
  488. for(var j = 0 ; j < selectedRowList.length ; j++) {
  489. if(i == parseInt(selectedRowList[j])) {
  490. ds_main_selecttestlist.deleteRow(i);
  491. }
  492. }
  493. }
  494. /*
  495. if( selectedRowList > 0 ){
  496. for (var i = selectedRowList - 1; i >= 0; i--) {
  497. model.removeNodeset("/root/main/selecttestinfo/selecttestlist[" + grd_selectlist.selectedrow(i) + "]");
  498. }
  499. grd_selectlist.refresh();
  500. }*/
  501. }
  502. function input3_onkeydown(obj:Edit, e:KeyEventInfo)
  503. {
  504. if(e.keycode == 13) {
  505. ds_main_cond.setColumn(0, "prcpcd", input3.text); // 바로 엔터키로 조회하면 prcpcd가 바인딩 되지 않은체 동작함
  506. var ev = new ClickEventInfo;
  507. frmf_inputEnterKey("btn_srchreq", "onclick", ev ); //inputEnterKey("btn_srchreq", "DOMActivate");
  508. }
  509. }
  510. function trv_prcpclscdlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  511. {
  512. ds_send.copyData(ds_main_cond); //model.copyNode("/root/send/reqdata", "/root/main/cond");
  513. ds_send.setColumn(0, "prcpflag", ""); //model.setValue("/root/send/reqdata/prcpflag", "");
  514. ds_send.setColumn(0, "prcpcd", ""); //model.setValue("/root/send/reqdata/prcpcd", "");
  515. // 허만호
  516. ds_send.setColumn(0, "prcpclscd", ds_main_grouplist.getColumn(ds_main_grouplist.rowposition, "prcpclscd"));
  517. var oParam = {};
  518. oParam.id = "TRMMD06402";
  519. oParam.service = "cdssmngtapp.ClinicalRuleMngt";
  520. oParam.method = "reqGetPrcpCdList";
  521. oParam.inds = "req=ds_send";
  522. oParam.outds = "ds_main_testlist=testlist";
  523. oParam.async = false;
  524. oParam.callback = "cf_TRMMD06402";
  525. tranf_submit(oParam);
  526. //model.refresh();
  527. }
  528. function cf_TRMMD06402(sSvcId, nErrorCode, sErrorMsg) {
  529. arErrorCode.push(sSvcId, nErrorCode);
  530. }
  531. function ds_main_testlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  532. {
  533. if(e.columnid == "boolflag")
  534. obj.setColumn(e.row, e.columnid, (e.newvalue == "Y" || e.newvalue == 1) ? "Y" : "N");
  535. }
  536. ]]></Script>
  537. </Form>
  538. </FDL>