SPMMR06000_마취환자기록PCA.xfdl 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMR06000" position="absolute 0 0 450 630" titletext="마취환자기록" oninit="SPMMR06000_oninit" onload="SPMMR06000_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 15 432 590" id="grp_pca" enable="false" scrollbars="none">
  8. <Layouts>
  9. <Layout>
  10. <Shape position="absolute 2 13 430 43" id="roundrect1" type="roundrectangle"/>
  11. <Button position="absolute 365 20 421 42" id="btn_saveprcpset" class="btn4" taborder="3" text="적용" onclick="grp_pca_btn_saveprcpset_onclick"/>
  12. <Combo position="absolute 84 21 179 40" id="cbo_pcatype" class="combo_search" taborder="1" innerdataset="@ds_init_pcatypelist" datacolumn="setnm" codecolumn="setcd" onitemchanged="grp_pca_cbo_pcatype_onitemchanged"/>
  13. <Grid position="absolute 2 291 430 544" align="align:center middle;" id="grd_anstprcp" class="datagrid_sms" taborder="7" binddataset="ds_grd_anstprcp" onrbuttondown="grp_pca_grd_anstprcp_onrbuttondown">
  14. <Formats>
  15. <Format id="default">
  16. <Columns>
  17. <Column size="0"/>
  18. <Column size="50"/>
  19. <Column size="225"/>
  20. <Column size="0"/>
  21. <Column size="45"/>
  22. <Column size="30"/>
  23. <Column size="0"/>
  24. <Column size="0"/>
  25. <Column size="55"/>
  26. <Column size="0"/>
  27. <Column size="0"/>
  28. <Column size="0"/>
  29. <Column size="0"/>
  30. <Column size="0"/>
  31. <Column size="0"/>
  32. </Columns>
  33. <Rows>
  34. <Row size="24" band="head"/>
  35. <Row size="24"/>
  36. </Rows>
  37. <Band id="head">
  38. <Cell/>
  39. <Cell col="1" text="구분"/>
  40. <Cell col="2" text="처방명"/>
  41. <Cell col="3" text="처방코드"/>
  42. <Cell col="4" colspan="2" text="기록총용량" taborder="undefined"/>
  43. <Cell col="6" text="처방총용량"/>
  44. <Cell col="7" text="처방총용량"/>
  45. <Cell col="8" text="투여방법"/>
  46. <Cell col="9" text="약어명"/>
  47. <Cell col="10" text="소분류"/>
  48. <Cell col="11" text="처방적용유무"/>
  49. <Cell col="12" text="총용량기록여부"/>
  50. <Cell col="13" text="remark"/>
  51. <Cell col="14" text="sortno"/>
  52. </Band>
  53. <Band id="body">
  54. <Cell displaytype="checkbox" edittype="checkbox" text="bind:checked" enable="false"/>
  55. <Cell col="1" displaytype="combo" edittype="combo" text="bind:prcptype" enable="false"/>
  56. <Cell col="2" text="bind:prcpnm"/>
  57. <Cell col="3" text="bind:prcpcd"/>
  58. <Cell col="4" displaytype="number" text="bind:recvol" mask="9,999.999"/>
  59. <Cell col="5" text="bind:prcpvolunitnm"/>
  60. <Cell col="6" text="bind:prcpvol" mask="#,###.999"/>
  61. <Cell col="7" text="bind:prcpvolunitnm"/>
  62. <Cell col="8" displaytype="combo" edittype="combo" text="bind:drugmthdcd" enable="false"/>
  63. <Cell col="9" text="bind:prcpvolunitnm"/>
  64. <Cell col="10" text="bind:drugmthdcd"/>
  65. <Cell col="11" text="bind:abbrnm"/>
  66. <Cell col="12" text="bind:clscd"/>
  67. <Cell col="13" text="bind:prcpappyn"/>
  68. <Cell col="14" text="bind:remark"/>
  69. </Band>
  70. </Format>
  71. </Formats>
  72. </Grid>
  73. <Static text="TYPE" position="absolute 2 265 65 288" align="align:center middle;" id="caption10" class="cell_1"/>
  74. <Static text="MODE" position="absolute 218 265 281 288" align="align:center middle;" id="caption1" class="cell_1"/>
  75. <Grid position="absolute 2 45 430 235" align="align:center middle;" id="grd_prcpset" class="datagrid_sms" taborder="4" binddataset="ds_grd_prcpset" oncellclick="grp_pca_grd_prcpset_oncellclick">
  76. <Formats>
  77. <Format id="default">
  78. <Columns>
  79. <Column size="25"/>
  80. <Column size="50"/>
  81. <Column size="200"/>
  82. <Column size="0"/>
  83. <Column size="0"/>
  84. <Column size="0"/>
  85. <Column size="45"/>
  86. <Column size="30"/>
  87. <Column size="55"/>
  88. <Column size="0"/>
  89. <Column size="0"/>
  90. <Column size="0"/>
  91. <Column size="0"/>
  92. </Columns>
  93. <Rows>
  94. <Row size="24" band="head"/>
  95. <Row size="24"/>
  96. </Rows>
  97. <Band id="head">
  98. <Cell/>
  99. <Cell col="1" text="구분"/>
  100. <Cell col="2" text="처방명"/>
  101. <Cell col="3" text="처방코드"/>
  102. <Cell col="4" text="기록총용량"/>
  103. <Cell col="5" text="기록총용량"/>
  104. <Cell col="6" colspan="2" text="처방총용량" taborder="undefined"/>
  105. <Cell col="8" text="투여방법"/>
  106. <Cell col="9" text="약어명"/>
  107. <Cell col="10" text="소분류"/>
  108. <Cell col="11" text="처방적용유무"/>
  109. <Cell col="12" text="remark"/>
  110. </Band>
  111. <Band id="body">
  112. <Cell displaytype="checkbox" edittype="checkbox" text="bind:checked" expr="expr:(checked==&quot;true&quot;||checked==1)?1:0"/>
  113. <Cell col="1" displaytype="combo" edittype="combo" text="bind:prcptype" combodataset="ds_init_prcptype" combocodecol="value" combodatacol="label" enable="false"/>
  114. <Cell col="2" text="bind:prcpnm"/>
  115. <Cell col="3" text="bind:prcpcd"/>
  116. <Cell col="4" text="bind:recvol" mask="#,###.999"/>
  117. <Cell col="5" text="bind:prcpvolunitnm"/>
  118. <Cell col="6" displaytype="number" text="bind:prcpvol" mask="9,999.999"/>
  119. <Cell col="7" text="bind:prcpvolunitnm"/>
  120. <Cell col="8" displaytype="combo" edittype="combo" text="bind:drugmthdcd" combodataset="ds_hidden_tmedmthdlist" combocodecol="mthdcd" combodatacol="mthdcnts1" enable="false"/>
  121. <Cell col="9" text="bind:prcpvolunitnm"/>
  122. <Cell col="10" text="bind:drugmthdcd"/>
  123. <Cell col="11" text="bind:abbrnm"/>
  124. <Cell col="12" text="bind:clscd"/>
  125. </Band>
  126. </Format>
  127. </Formats>
  128. </Grid>
  129. <Combo position="absolute 261 21 356 40" id="combo1" class="combo_search" taborder="2" innerdataset="ds_init_combo1" datacolumn="cdnm" codecolumn="cdid"/>
  130. <Static text="TYPE :" position="absolute 12 22 82 39" id="caption12" class="search_name"/>
  131. <Static text="Total Volume" position="absolute 2 548 124 571" align="align:center middle;" id="caption3" class="cell_1"/>
  132. <Combo position="absolute 284 267 429 286" id="combo2" class="combo_search" enable="false" taborder="6" innerdataset="ds_init_combo2" datacolumn="cdnm" codecolumn="cdid"/>
  133. <Static text="MODE :" position="absolute 184 22 258 39" id="caption13" class="search_name"/>
  134. <Static text="PCA 기록내역" position="absolute 2 245 123 258" id="caption4" class="tit_2"/>
  135. <Combo position="absolute 68 267 213 286" id="combo3" class="combo_search" enable="false" taborder="5" innerdataset="ds_init_combo3" datacolumn="setnm" codecolumn="setcd"/>
  136. <Shape position="absolute 3 570 431 576" linetype="horizontal" id="line1" class="line_3"/>
  137. <Shape position="absolute 2 42 430 48" linetype="horizontal" id="line2" class="line_1"/>
  138. <Edit position="absolute 127 550 310 569" id="input3" class="input_s_essential" taborder="8" onkeyup="grp_pca_input3_onkeyup"/>
  139. <Shape position="absolute 3 542 431 548" linetype="horizontal" id="line4" class="line_3"/>
  140. <Shape position="absolute 2 258 430 264" linetype="horizontal" id="line5" class="line_1"/>
  141. <Button position="absolute 315 549 371 571" id="btn_save" class="btn4" enable="false" taborder="9" text="저장" onclick="grp_pca_btn_save_onclick"/>
  142. <Shape position="absolute 3 286 431 292" linetype="vertical" id="line6" class="line_3"/>
  143. </Layout>
  144. </Layouts>
  145. </Div>
  146. <Static text="PCA 처방" position="absolute 0 0 174 25" id="caption6" class="tit_1"/>
  147. <Button position="absolute 375 564 431 586" id="btn_close" class="btn4" taborder="10" text="닫기" onclick="btn_close_onclick"/>
  148. <PopupMenu id="menu6" position="absolute 473 48 549 72" idcolumn="idcolumn" captioncolumn="captioncolumn" levelcolumn="levelcolumn" enablecolumn="enablecolumn" iconcolumn="iconcolumn" checkboxcolumn="checkboxcolumn" hotkeycolumn="hotkeycolumn" userdatacolumn="userdatacolumn" onmenuclick="menu6_onmenuclick">
  149. <Dataset id="innerdataset">
  150. <ColumnInfo>
  151. <Column id="idcolumn" size="256"/>
  152. <Column id="captioncolumn" size="256"/>
  153. <Column id="levelcolumn" size="256"/>
  154. <Column id="enablecolumn" size="256"/>
  155. <Column id="iconcolumn" size="256"/>
  156. <Column id="checkboxcolumn" size="256"/>
  157. <Column id="hotkeycolumn" size="256"/>
  158. <Column id="userdatacolumn" size="256"/>
  159. </ColumnInfo>
  160. <Rows>
  161. <Row>
  162. <Col id="idcolumn">fDelPrcpList</Col>
  163. <Col id="captioncolumn">삭제</Col>
  164. <Col id="levelcolumn"/>
  165. <Col id="enablecolumn"/>
  166. <Col id="iconcolumn"/>
  167. <Col id="checkboxcolumn"/>
  168. <Col id="hotkeycolumn"/>
  169. <Col id="userdatacolumn"/>
  170. </Row>
  171. </Rows>
  172. </Dataset>
  173. </PopupMenu>
  174. </Layout>
  175. </Layouts>
  176. <Objects>
  177. <Dataset id="ds_init_pcatypelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  178. <ColumnInfo>
  179. <Column id="setnm" type="STRING"/>
  180. <Column id="setcd" type="STRING"/>
  181. </ColumnInfo>
  182. </Dataset>
  183. <Dataset id="ds_grd_anstprcp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  184. <ColumnInfo>
  185. <Column id="checked" type="STRING"/>
  186. <Column id="prcptype" type="STRING"/>
  187. <Column id="prcpnm" type="STRING"/>
  188. <Column id="prcpcd" type="STRING"/>
  189. <Column id="recvol" type="STRING"/>
  190. <Column id="prcpvolunitnm" type="STRING"/>
  191. <Column id="prcpvol" type="STRING"/>
  192. <Column id="prcpvolunitnm" type="STRING"/>
  193. <Column id="drugmthdcd" type="STRING"/>
  194. <Column id="prcpvolunitnm" type="STRING"/>
  195. <Column id="drugmthdcd" type="STRING"/>
  196. <Column id="abbrnm" type="STRING"/>
  197. <Column id="clscd" type="STRING"/>
  198. <Column id="prcpappyn" type="STRING"/>
  199. <Column id="remark" type="STRING"/>
  200. </ColumnInfo>
  201. </Dataset>
  202. <Dataset id="ds_grd_prcpset" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  203. <ColumnInfo>
  204. <Column id="checked" type="STRING"/>
  205. <Column id="prcptype" type="STRING"/>
  206. <Column id="prcpnm" type="STRING"/>
  207. <Column id="prcpcd" type="STRING"/>
  208. <Column id="recvol" type="STRING"/>
  209. <Column id="prcpvolunitnm" type="STRING"/>
  210. <Column id="prcpvol" type="STRING"/>
  211. <Column id="prcpvolunitnm" type="STRING"/>
  212. <Column id="drugmthdcd" type="STRING"/>
  213. <Column id="prcpvolunitnm" type="STRING"/>
  214. <Column id="drugmthdcd" type="STRING"/>
  215. <Column id="abbrnm" type="STRING"/>
  216. <Column id="clscd" type="STRING"/>
  217. </ColumnInfo>
  218. </Dataset>
  219. <Dataset id="ds_init_combo1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  220. <ColumnInfo>
  221. <Column id="cdnm" type="STRING"/>
  222. <Column id="cdid" type="STRING"/>
  223. </ColumnInfo>
  224. </Dataset>
  225. <Dataset id="ds_init_combo2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  226. <ColumnInfo>
  227. <Column id="cdnm" type="STRING"/>
  228. <Column id="cdid" type="STRING"/>
  229. </ColumnInfo>
  230. </Dataset>
  231. <Dataset id="ds_init_combo3" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  232. <ColumnInfo>
  233. <Column id="setnm" type="STRING"/>
  234. <Column id="setcd" type="STRING"/>
  235. </ColumnInfo>
  236. </Dataset>
  237. <Dataset id="ds_send_setinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  238. <ColumnInfo>
  239. <Column id="settype" type="STRING" size="256"/>
  240. <Column id="setcd" type="STRING" size="256"/>
  241. <Column id="currentdate" type="STRING" size="256"/>
  242. </ColumnInfo>
  243. <Rows>
  244. <Row>
  245. <Col id="settype">P</Col>
  246. <Col id="setcd"/>
  247. <Col id="currentdate"/>
  248. </Row>
  249. </Rows>
  250. </Dataset>
  251. <Dataset id="ds_init_prcptype" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  252. <ColumnInfo>
  253. <Column id="label" type="STRING" size="256"/>
  254. <Column id="value" type="STRING" size="256"/>
  255. </ColumnInfo>
  256. <Rows>
  257. <Row>
  258. <Col id="label">Agent</Col>
  259. <Col id="value">A</Col>
  260. </Row>
  261. <Row>
  262. <Col id="label">Drug</Col>
  263. <Col id="value">D</Col>
  264. </Row>
  265. <Row>
  266. <Col id="label">Fluid</Col>
  267. <Col id="value">F</Col>
  268. </Row>
  269. <Row>
  270. <Col id="label">Blood</Col>
  271. <Col id="value">B</Col>
  272. </Row>
  273. <Row>
  274. <Col id="label">Proc</Col>
  275. <Col id="value">P</Col>
  276. </Row>
  277. </Rows>
  278. </Dataset>
  279. <Dataset id="ds_hidden_tmedmthdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  280. <ColumnInfo>
  281. <Column id="status" type="STRING" size="256"/>
  282. <Column id="abbrnm" type="STRING" size="256"/>
  283. <Column id="mthdcnts1" type="STRING" size="256"/>
  284. <Column id="mthdcnts" type="STRING" size="256"/>
  285. <Column id="mthdcd" type="STRING" size="256"/>
  286. <Column id="basecnt" type="STRING" size="256"/>
  287. <Column id="adminpath" type="STRING" size="256"/>
  288. <Column id="mealflag" type="STRING" size="256"/>
  289. <Column id="drdirecyn" type="STRING" size="256"/>
  290. </ColumnInfo>
  291. <Rows>
  292. <Row>
  293. <Col id="status"/>
  294. <Col id="abbrnm">-</Col>
  295. <Col id="mthdcnts1">-</Col>
  296. <Col id="mthdcnts"/>
  297. <Col id="mthdcd">-</Col>
  298. <Col id="basecnt"/>
  299. <Col id="adminpath"/>
  300. <Col id="mealflag"/>
  301. <Col id="drdirecyn"/>
  302. </Row>
  303. </Rows>
  304. </Dataset>
  305. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  306. <ColumnInfo>
  307. <Column id="pcatypecd" type="STRING" size="256"/>
  308. <Column id="pcamodecd" type="STRING" size="256"/>
  309. <Column id="currentdate" type="STRING" size="256"/>
  310. <Column id="settype" type="STRING" size="256"/>
  311. <Column id="clscd" type="STRING" size="256"/>
  312. </ColumnInfo>
  313. <Rows>
  314. <Row>
  315. <Col id="pcatypecd"/>
  316. <Col id="pcamodecd"/>
  317. <Col id="currentdate"/>
  318. <Col id="settype">P</Col>
  319. <Col id="clscd">5</Col>
  320. </Row>
  321. </Rows>
  322. </Dataset>
  323. <Dataset id="ds_pcainfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  324. <ColumnInfo>
  325. <Column id="pcatypecd" type="STRING" size="256"/>
  326. <Column id="pcamodecd" type="STRING" size="256"/>
  327. <Column id="pcatotvol" type="STRING" size="256"/>
  328. </ColumnInfo>
  329. <Rows>
  330. <Row>
  331. <Col id="pcatypecd"/>
  332. <Col id="pcamodecd"/>
  333. <Col id="pcatotvol"/>
  334. </Row>
  335. </Rows>
  336. </Dataset>
  337. <Dataset id="ds_M0482" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  338. </Objects>
  339. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  340. * System Name :
  341. * Job Name :
  342. * Creator :
  343. * Make Date : 2015-03-06
  344. * Description :
  345. *---------------------------------------------------------------------------------------
  346. * Modify Date Modifier Modify Description
  347. *---------------------------------------------------------------------------------------
  348. * 2015-03-06 Live Converter TF->XP
  349. *
  350. *---------------------------------------------------------------------------------------
  351. ****************************************************************************************/
  352. include "com_commonxp::comm_main.xjs";
  353. include "emr_prcpmngtxp::MMOCommon.xjs";
  354. var anstrecno = "";
  355. var currentdate = "";
  356. /**
  357. * @group : PCA TYPE 목록 선택시 SET 아이템 보여주기
  358. * @ver : 2007-08-24
  359. * @by : 이은영
  360. * @---------------------------------------------------
  361. * @type : function
  362. * @access : public
  363. * @desc :
  364. * @---------------------------------------------------
  365. */
  366. function lf_PrcpSetItemDisplay()
  367. {
  368. ds_send_setinfo.setColumn(0,"setcd",grp_pca.cbo_pcatype.value);
  369. // 현재일시
  370. currentdate = utlf_getCurrentDate() + utlf_getCurrentTime();
  371. ds_send_setinfo.setColumn(0,"currentdate" , currentdate);
  372. // 마취처방 SET 아이템 조회하기..
  373. var oParam = {};
  374. oParam.id = "TRMMR04206";
  375. oParam.service = "anstrecapp.AnstRec";
  376. oParam.method = "reqGetPrcpSetItem";
  377. oParam.inds = "setinfo=ds_send_setinfo";
  378. oParam.outds = "ds_grd_prcpset=item";
  379. oParam.async = false;
  380. oParam.callback = "cf_TRMMR04206";
  381. tranf_submit(oParam);
  382. }
  383. function cf_TRMMR04206(sSvcId, nErrorCode, sErrorMsg) {
  384. if(nErrorCode < 0) return;
  385. }
  386. /**
  387. * @desc : 적용 버튼 클릭
  388. * @param :
  389. * @
  390. * @return :
  391. * @author :
  392. * @---------------------------------------------------
  393. */
  394. function lf_AddBtnClick(prcptype, clscd)
  395. {
  396. // type, mode
  397. var pcatypecd = ds_send_reqdata.getColumn(0,"pcatypecd");
  398. var pcamodecd = ds_send_reqdata.getColumn(0,"pcamodecd");
  399. grp_pca.combo3.value = pcatypecd;
  400. grp_pca.combo2.value = pcamodecd;
  401. // type, mode 일반정보에 set 하기
  402. opener.grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo.setColumn(0,"pcatypecd", pcatypecd);
  403. opener.iv_anstinfo.ds_anstinfo.setColumn(0,"pcamodecd", pcamodecd);
  404. lf_AddAnstPrcp(grp_pca.grd_prcpset,ds_grd_prcpset);
  405. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.filter("pcaflag=='Y'");
  406. ds_grd_anstprcp.copyData(opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item,true);
  407. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.filter("");
  408. }
  409. /**
  410. * @desc : type, mode, totvol 정보 넘겨주기
  411. * @
  412. * @param :
  413. * @return :
  414. * @author :
  415. * @---------------------------------------------------
  416. */
  417. function fSendData()
  418. {
  419. var pcatypecd = grp_pca.combo3.value;
  420. var pcamodecd = grp_pca.combo2.value;
  421. var pcatotvol = grp_pca.input3.value;
  422. opener.grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo.setColumn(0,"pcatypecd", pcatypecd);
  423. opener.grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo.setColumn(0,"pcamodecd", pcamodecd);
  424. opener.grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo.setColumn(0,"pcatotvol", pcatotvol);
  425. this.close();
  426. }
  427. /**
  428. * @desc : 처방추가 버튼 클릭시 처방목록에 추가한다.
  429. * @param :
  430. * @
  431. * @return :
  432. * @author :
  433. * @---------------------------------------------------
  434. */
  435. function lf_AddAnstPrcp(gridObj, refds)
  436. {
  437. // 처방목록 노드
  438. //var AddRef = "/root/main/anstprcp/item";
  439. // 노드 갯수를 가져온후 노드 하나를 추가한다.
  440. var dataCnt = opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.rowcount;
  441. // agent, drug, fluid, blood, prog
  442. for (var i=0 ; i < refds.rowcount ; i++) {
  443. var checked = refds.getColumn(i,"checked");
  444. if (checked == "true") {
  445. var prcpcd = refds.getColumn(i,"prcpcd");
  446. if (!utlf_isNull(prcpcd)) {
  447. var prcptype = refds.getColumn(i,"prcptype");
  448. var clscd = refds.getColumn(i,"clscd");
  449. var prcpnm = refds.getColumn(i,"prcpnm");
  450. var abbrnm = refds.getColumn(i,"abbrnm");
  451. var prcpvol = refds.getColumn(i,"prcpvol");
  452. var prcpvolunitnm = refds.getColumn(i,"prcpvolunitnm");
  453. var drugmthdcd = refds.getColumn(i,"drugmthdcd");
  454. var prcpappyn = refds.getColumn(i,"prcpappyn");
  455. var totvolyn = refds.getColumn(i,"totvolyn");
  456. var sortno = refds.getColumn(i,"sortno");
  457. refds.setColumn(i,"checked", "false");
  458. // 처방목록에 처방코드가 있는가?
  459. var cntprcpcd = opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getCaseCount("prcpcd == '" + prcpcd + "'");
  460. if (cntprcpcd > 0 && prcptype != "F") {
  461. alert("이미 추가되었습니다. - [" + prcpnm+ "]");
  462. } else {
  463. // 처방코드가 없다면 추가하자..
  464. var checkValue = opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(dataCnt-1,"prcpnm");
  465. if (!utlf_isNull(checkValue) || dataCnt == "0") {
  466. dataCnt = opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.addRow();
  467. }
  468. var prcpseqno = 0;
  469. for (var j=0 ; j < dataCnt ; j++) {
  470. var tmp = opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(j,"prcpcd");
  471. if (tmp == prcpcd) {
  472. prcpseqno = opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(j,"prcpseqno");
  473. }
  474. }
  475. prcpseqno = parseInt(prcpseqno) + 1;
  476. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"prcpcd" , prcpcd);
  477. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"prcptype" , prcptype);
  478. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"prcpvol" , "");
  479. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"prcpvolunitnm" , prcpvolunitnm);
  480. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"prcpvolunitnm2", prcpvolunitnm);
  481. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"prcpnm" , prcpnm);
  482. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"abbrnm" , abbrnm);
  483. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"drugmthdcd" , drugmthdcd);
  484. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"recvol" , "");
  485. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"remark" , "");
  486. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"clscd" , clscd);
  487. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"prcpappyn" , prcpappyn);
  488. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"totvolyn" , totvolyn);
  489. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"sortno" , sortno);
  490. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"pcaflag" , "Y");
  491. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"checked" , checked);
  492. // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
  493. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(dataCnt ,"prcpseqno" , prcpseqno);
  494. opener.fAddRow(prcptype, prcpcd, sortno, prcpseqno);
  495. }
  496. }
  497. }
  498. }
  499. // 그리드 정렬후 노드셋 정렬
  500. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.fSetAnstPrcp();
  501. // 메인 그리드 정렬
  502. opener.fGridSort();
  503. }
  504. /**
  505. * @desc : PCA 목록 삭제 메뉴 클릭시 처방목록에서 삭제하고 메인 그리드에서 삭제한다.
  506. * @
  507. * @param :
  508. * @return :
  509. * @---------------------------------------------------
  510. */
  511. function fDelPrcpList()
  512. {
  513. var gridObj = grp_pca.grd_anstprcp;
  514. var ref = "/root/main/prcplist/item";
  515. var prcptype = ds_grd_anstprcp.getColumn(ds_grd_anstprcp.rowposition,"prcptype");
  516. var prcpcd = ds_grd_anstprcp.getColumn(ds_grd_anstprcp.rowposition,"prcpcd");
  517. // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
  518. var prcpseqno = ds_grd_anstprcp.getColumn(ds_grd_anstprcp.rowposition,"prcpseqno");
  519. // 노드 갯수를 가져온후 노드 하나를 추가한다.
  520. var dataCnt = opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.rowcount;
  521. for (var i = 0 ; i < dataCnt ; i++)
  522. {
  523. var tmpprcpcd = opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(i,"prcpcd");
  524. var tmpprcpseqno = opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(i,"prcpseqno");
  525. if (tmpprcpcd == prcpcd && tmpprcpseqno == prcpseqno) {
  526. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.rowposition = i;
  527. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.fDelPrcpList();
  528. break;
  529. }
  530. }
  531. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.filter("pcaflag=='Y'");
  532. ds_grd_anstprcp.copyData(opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item,true);
  533. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.filter("");
  534. }
  535. function cf_TRMMR06000(sSvcId, nErrorCode, sErrorMsg) {
  536. if(nErrorCode < 0) return;
  537. }
  538. function SPMMR06000_oninit(obj:Form, e:InitEventInfo)
  539. {
  540. frmf_initForm(obj); // 폼 초기화
  541. }
  542. function SPMMR06000_onload(obj:Form, e:LoadEventInfo)
  543. {
  544. anstrecno = opener.grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo.getColumn(0,"anstrecno");
  545. // 현재일시
  546. currentdate = utlf_getCurrentDate() + utlf_getCurrentTime();
  547. ds_send_reqdata.setColumn(0,"currentdate" , currentdate);
  548. // PCA TYPE 목록 (SET)
  549. ds_send_reqdata.setColumn(0,"settype", "P");
  550. ds_send_reqdata.setColumn(0,"clscd", "5");
  551. var oParam = {};
  552. oParam.id = "TRMMR06000";
  553. oParam.service = "anstrecapp.AnstRec";
  554. oParam.method = "reqGetSetClsPrcpList";
  555. oParam.inds = "reqdata=ds_send_reqdata";
  556. oParam.outds = "ds_init_pcatypelist=item";
  557. oParam.async = true;
  558. oParam.callback = "cf_TRMMR06000";
  559. tranf_submit(oParam);
  560. // PCA MODE 목록 (공통코드)
  561. //zbcfGetCodeList(new Array("M0482"), new Array("/root/init/M0482"));
  562. var arrParam = [{dsNm: "ds_M0482", cdGrpId: "M0482"}
  563. ]
  564. appf_getCodeList(arrParam);
  565. // 용법 가져오기..
  566. ds_hidden_tmedmthdlist.copyData(opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_hidden_tmedmthdlist,true);
  567. // 마취환자의 PCA type, mode, total vol 정보를 가져옴
  568. var pcatypecd = opener.grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo.getColumn(0,"pcatypecd");
  569. var pcamodecd = opener.grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo.getColumn(0,"pcamodecd");
  570. var pcatotvol = opener.grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo.getColumn(0,"pcatotvol");
  571. grp_pca.combo3.value = pcatypecd;
  572. grp_pca.combo2.value = pcamodecd;
  573. grp_pca.input3.value = pcatotvol;
  574. ds_send_reqdata.setColumn(0,"pcatypecd", pcatypecd);
  575. ds_send_reqdata.setColumn(0,"pcamodecd", pcamodecd);
  576. // PCA type 에 따른 처방셋 조회
  577. lf_PrcpSetItemDisplay();
  578. // 마취환자의 PCA 처방 정보를 가져옴
  579. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.filter("pcaflag=='Y'");
  580. ds_grd_anstprcp.copyData(opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item,true);
  581. opener.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.filter("");
  582. // 전체 선택을 위한 그리드 셋..
  583. grdf_initGrid(grp_pca.grd_prcpset);
  584. grp_pca.grd_prcpset.setCellProperty("head","text","1");
  585. //grd_prcpset.fixedcellcheckbox(0,0) = true;
  586. // 사용자 직종에 따른 권한 버튼 처리.
  587. // 의사 : 0330
  588. // 1. 저장버튼
  589. var drChkFlag = lf_getHardCDList("1");
  590. if (drChkFlag == "true")
  591. {
  592. grp_pca.enable = true;
  593. }
  594. }
  595. function grp_pca_btn_saveprcpset_onclick(obj:Button, e:ClickEventInfo)
  596. {
  597. lf_AddBtnClick("S");
  598. }
  599. function grp_pca_cbo_pcatype_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  600. {
  601. lf_PrcpSetItemDisplay();
  602. }
  603. function grp_pca_grd_anstprcp_onrbuttondown(obj:Grid, e:GridMouseEventInfo)
  604. {
  605. if(e.row < 0 || e.col < 0) return;
  606. var dataset = eval(obj.binddataset);
  607. if(!obj.isSelectedCell(e.col, "body", e.row)) {
  608. dataset.rowposition = e.row;
  609. obj.setCellPos(e.col);
  610. }
  611. //obj.oncellclick.fireEvent(obj, new GridClickEventInfo());
  612. menu6.trackPopup(e.screenX,e.screenY);
  613. }
  614. function grp_pca_grd_prcpset_oncellclick(obj:Grid, e:GridClickEventInfo)
  615. {
  616. var checked = ds_grd_prcpset.getColumn(ds_grd_prcpset.rowposition,"checked");
  617. if (checked == "true") { checked = "false" } else { checked = "true" };
  618. ds_grd_prcpset.setColumn(ds_grd_prcpset.rowposition,"checked", checked);
  619. }
  620. function grp_pca_input3_onkeyup(obj:Edit, e:KeyEventInfo)
  621. {
  622. lf_AddBtnClick("S");
  623. }
  624. function grp_pca_btn_save_onclick(obj:Button, e:ClickEventInfo)
  625. {
  626. fSendData();
  627. }
  628. function btn_close_onclick(obj:Button, e:ClickEventInfo)
  629. {
  630. close();
  631. }
  632. function menu6_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo)
  633. {
  634. eval(e.id + "()");
  635. }
  636. ]]></Script>
  637. </Form>
  638. </FDL>