SPMNR04900_간호Item 시간Setting.xfdl 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMNR04900" position="absolute 0 0 372 518" titletext="간호Item 시간Setting" oninit="SPMNR04900_oninit" onload="SPMNR04900_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static text="기존정보" position="absolute 0 0 95 29" id="caption42" class="tit_2"/>
  8. <Shape position="absolute 0 16 365 22" linetype="horizontal" id="line18" class="line_10"/>
  9. <Shape position="absolute 0 124 365 130" linetype="horizontal" id="line1" class="line_10"/>
  10. <Button position="absolute 312 104 365 123" id="btn_saveitem" class="btn2" taborder="1" text="초기화" onclick="btn_saveitem_onclick"/>
  11. <Button position="absolute 323 494 365 513" id="button1" class="btn2" taborder="5" text="전송" onclick="button1_onclick"/>
  12. <Static text="간호 Item" position="absolute 0 108 95 129" id="caption1" class="tit_2"/>
  13. <Static text="의사 지시처방" position="absolute 0 21 130 44" align="align:center middle;" id="caption14" class="cell_1"/>
  14. <Static text="간호 Item" position="absolute 0 47 130 70" align="align:center middle;" id="caption2" class="cell_1"/>
  15. <Static text="기존 시간 setting" position="absolute 0 73 130 96" align="align:center middle;" id="caption3" class="cell_1"/>
  16. <Shape position="absolute 0 43 365 49" linetype="horizontal" id="line2" class="line_2"/>
  17. <Shape position="absolute 0 69 365 75" linetype="horizontal" id="line3" class="line_2"/>
  18. <Shape position="absolute 0 95 365 101" linetype="horizontal" id="line12" class="line_3"/>
  19. <Shape position="absolute 0 384 365 390" linetype="horizontal" id="line4" class="line_10"/>
  20. <Static text="시간 setting" position="absolute 0 368 95 389" id="caption4" class="tit_2"/>
  21. <Button position="absolute 312 365 365 384" id="button2" class="btn2" taborder="3" text="초기화" onclick="button2_onclick"/>
  22. <Grid position="absolute 0 389 365 492" id="grd_timelist" class="datagrid0" taborder="4" binddataset="ds_main_timeinfo_timelist" selecttype="cell" autoenter="select" autofittype="col" oncellclick="grd_timelist_oncellclick">
  23. <Formats>
  24. <Format id="default">
  25. <Columns>
  26. <Column size="0"/>
  27. <Column size="60"/>
  28. <Column size="60"/>
  29. <Column size="60"/>
  30. <Column size="60"/>
  31. <Column size="60"/>
  32. <Column size="60"/>
  33. </Columns>
  34. <Rows>
  35. <Row size="0" band="head"/>
  36. <Row size="24"/>
  37. </Rows>
  38. <Band id="head">
  39. <Cell/>
  40. <Cell col="1" text="선택"/>
  41. <Cell col="2" text="지시처방"/>
  42. <Cell col="3" text="caption1"/>
  43. <Cell col="4" text="caption2"/>
  44. <Cell col="5" text="caption3"/>
  45. <Cell col="6" text="caption4"/>
  46. </Band>
  47. <Band id="body">
  48. <Cell/>
  49. <Cell col="1" style="align:left middle;padding:0 0 0 3;background:EXPR(bgcolor1);background2:EXPR(bgcolor1);" text="bind:time1"/>
  50. <Cell col="2" style="align:left middle;padding:0 0 0 3;background:EXPR(bgcolor2);background2:EXPR(bgcolor2);" text="bind:time2"/>
  51. <Cell col="3" style="align:left middle;padding:0 0 0 3;background:EXPR(bgcolor3);background2:EXPR(bgcolor3);" text="bind:time3"/>
  52. <Cell col="4" style="align:left middle;padding:0 0 0 3;background:EXPR(bgcolor4);background2:EXPR(bgcolor4);" text="bind:time4"/>
  53. <Cell col="5" style="align:left middle;padding:0 0 0 3;background:EXPR(bgcolor5);background2:EXPR(bgcolor5);" text="bind:time5"/>
  54. <Cell col="6" style="align:left middle;padding:0 0 0 3;background:EXPR(bgcolor6);background2:EXPR(bgcolor6);" text="bind:time6"/>
  55. </Band>
  56. </Format>
  57. </Formats>
  58. </Grid>
  59. <Grid position="absolute 0 129 365 359" id="grd_clslist" class="datagrid1" taborder="2" binddataset="ds_main_clsinfo_clslist" autoenter="select" autofittype="col" cellsizingtype="col" oncellclick="grd_clslist_oncellclick">
  60. <Formats>
  61. <Format id="default">
  62. <Columns>
  63. <Column size="22"/>
  64. <Column size="37"/>
  65. <Column size="280"/>
  66. <Column size="0"/>
  67. </Columns>
  68. <Rows>
  69. <Row size="24" band="head"/>
  70. <Row size="23"/>
  71. </Rows>
  72. <Band id="head">
  73. <Cell/>
  74. <Cell col="1" text="선택"/>
  75. <Cell col="2" text="항목명"/>
  76. <Cell col="3" text="itemcd"/>
  77. </Band>
  78. <Band id="body">
  79. <Cell celltype="head" expr="currow+1"/>
  80. <Cell col="1" displaytype="checkbox" edittype="expr:edittype" style="controlbackground:EXPR(controlbackground);controlborder:EXPR(controlborder);" text="bind:check" expr="expr:check == 'true' ? 1 : 0"/>
  81. <Cell col="2" style="align:left middle;padding:3 3 3 3;" text="bind:itemnm"/>
  82. <Cell col="3" text="bind:itemcd"/>
  83. </Band>
  84. </Format>
  85. </Formats>
  86. </Grid>
  87. <Edit readonly="true" position="absolute 134 49 364 68" id="opt_careitemnm" autoselect="true" autoskip="true" class="output"/>
  88. <Edit readonly="true" position="absolute 134 23 364 42" id="opt_prcpnm" autoselect="true" autoskip="true" class="output"/>
  89. <Edit readonly="true" position="absolute 134 75 364 94" id="opt_apnttmspec" autoselect="true" autoskip="true" class="output"/>
  90. </Layout>
  91. </Layouts>
  92. <Objects>
  93. <Dataset id="ds_main_prcpinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  94. <ColumnInfo>
  95. <Column id="prcpcd" type="STRING" size="256"/>
  96. <Column id="prcpnm" type="STRING" size="256"/>
  97. <Column id="careitemnm" type="STRING" size="256"/>
  98. <Column id="careitemcd" type="STRING" size="256"/>
  99. <Column id="apnttmspec" type="STRING" size="256"/>
  100. <Column id="flag" type="STRING" size="256"/>
  101. </ColumnInfo>
  102. <Rows>
  103. <Row>
  104. <Col id="prcpcd"/>
  105. <Col id="prcpnm"/>
  106. <Col id="careitemnm"/>
  107. <Col id="careitemcd"/>
  108. <Col id="apnttmspec"/>
  109. <Col id="flag"/>
  110. </Row>
  111. </Rows>
  112. </Dataset>
  113. <Dataset id="ds_main_clsinfo_clslist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_clsinfo_clslist_oncolumnchanged">
  114. <ColumnInfo>
  115. <Column id="check" type="STRING" size="256" sumtext="선택"/>
  116. <Column id="itemcd" type="STRING" size="256" sumtext="Item코드"/>
  117. <Column id="itemnm" type="STRING" size="256" sumtext="Item명"/>
  118. </ColumnInfo>
  119. </Dataset>
  120. <Dataset id="ds_main_timeinfo_timelist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  121. <ColumnInfo>
  122. <Column id="time1" type="STRING" size="256"/>
  123. <Column id="time2" type="STRING" size="256"/>
  124. <Column id="time3" type="STRING" size="256"/>
  125. <Column id="time4" type="STRING" size="256"/>
  126. <Column id="time5" type="STRING" size="256"/>
  127. <Column id="time6" type="STRING" size="256"/>
  128. <Column id="bgcolor1" type="STRING" size="256"/>
  129. <Column id="bgcolor2" type="STRING" size="256"/>
  130. <Column id="bgcolor3" type="STRING" size="256"/>
  131. <Column id="bgcolor4" type="STRING" size="256"/>
  132. <Column id="bgcolor5" type="STRING" size="256"/>
  133. <Column id="bgcolor6" type="STRING" size="256"/>
  134. </ColumnInfo>
  135. </Dataset>
  136. </Objects>
  137. <Bind>
  138. <BindItem id="item0" compid="opt_prcpnm" propid="value" datasetid="ds_main_prcpinfo" columnid="prcpnm"/>
  139. <BindItem id="item1" compid="opt_careitemnm" propid="value" datasetid="ds_main_prcpinfo" columnid="careitemnm"/>
  140. <BindItem id="item2" compid="opt_apnttmspec" propid="value" datasetid="ds_main_prcpinfo" columnid="apnttmspec"/>
  141. </Bind>
  142. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  143. * System Name :
  144. * Job Name :
  145. * Creator :
  146. * Make Date : 2015-11-13
  147. * Description :
  148. *---------------------------------------------------------------------------------------
  149. * Modify Date Modifier Modify Description
  150. *---------------------------------------------------------------------------------------
  151. * 2015-11-13 Live Converter TF->XP
  152. *
  153. *---------------------------------------------------------------------------------------
  154. ****************************************************************************************/
  155. include "com_commonxp::comm_main.xjs";
  156. include "emr_carecomxp::CareCom.xjs";
  157. include "ast_examcurexp::AEZ0001.xjs";
  158. var arErrorCode = new HashArray();
  159. var xPrcpInfoPath = ds_main_prcpinfo
  160. var xClsListPath = ds_main_clsinfo_clslist;
  161. var xTimeListPath = ds_main_timeinfo_timelist;
  162. var sTimeColor = "#fcd2c1";
  163. function SPMNR04900_oninit(obj:Form, e:InitEventInfo)
  164. {
  165. frmf_initForm(obj);
  166. }
  167. function SPMNR04900_onload(obj:Form, e:LoadEventInfo)
  168. {
  169. grdf_initGrid(grd_clslist);
  170. fInitialize();
  171. }
  172. function fInitialize()
  173. {
  174. var sParamMsg = "";
  175. var sApntTMSpecList=""; // 기준시간setting
  176. var sRemainder = 0; // 나머지
  177. var sCareItemCD = "";
  178. var sFlag = "";
  179. var iRow = 0;
  180. if(frmf_checkOpener())
  181. {
  182. sParamMsg = opener.frmf_getParameter("SPMNR04900_Param");
  183. sFlag = getArrayData(sParamMsg,1,5);
  184. xPrcpInfoPath.setColumn(0, "prcpnm", getArrayData(sParamMsg,1,0));
  185. xPrcpInfoPath.setColumn(0, "prcpcd", getArrayData(sParamMsg,1,1));
  186. xPrcpInfoPath.setColumn(0, "careitemnm", getArrayData(sParamMsg,1,2));
  187. xPrcpInfoPath.setColumn(0, "careitemcd", getArrayData(sParamMsg,1,3));
  188. xPrcpInfoPath.setColumn(0, "apnttmspec", getArrayData(sParamMsg,1,4));
  189. xPrcpInfoPath.setColumn(0, "flag", sFlag);
  190. }
  191. var oParam = {};
  192. oParam.id = "TRMNR04901";
  193. oParam.service = "carerecapp.RecItemMngt";
  194. oParam.method = "reqGetClsItemList";
  195. oParam.inds = "req=ds_main_prcpinfo";
  196. oParam.outds = "ds_main_clsinfo_clslist=clslist";
  197. oParam.async = false;
  198. oParam.callback = "cf_TRMNR04901";
  199. tranf_submit(oParam);
  200. if(arErrorCode.pop("TRMNR04901") > -1)
  201. {
  202. ds_main_clsinfo_clslist.updatecontrol = false;
  203. dsf_setFixVal(ds_main_clsinfo_clslist, "check:false");
  204. ds_main_clsinfo_clslist.updatecontrol = true;
  205. if(sFlag == "all")
  206. {
  207. sCareItemCD = xPrcpInfoPath.getColumn(0, "careitemcd");
  208. if(!utlf_isNull(sCareItemCD))
  209. {
  210. iRow = ds_main_clsinfo_clslist.findRow("itemcd", sCareItemCD);
  211. if(iRow > -1)
  212. {
  213. xClsListPath.setColumn(iRow, "check","true");
  214. }
  215. }
  216. dsf_makeValue(ds_main_clsinfo_clslist, "edittype", "string", "checkbox", iRow);
  217. dsf_makeValue(ds_main_clsinfo_clslist, "controlbackground", "string", "", iRow);
  218. dsf_makeValue(ds_main_clsinfo_clslist, "controlborder", "string", "", iRow);
  219. }
  220. else
  221. {
  222. ds_main_clsinfo_clslist.updatecontrol = false;
  223. for(var iRow = 0; iRow < ds_main_clsinfo_clslist.rowcount; i++)
  224. {
  225. dsf_makeValue(ds_main_clsinfo_clslist, "edittype", "string", "none", iRow);
  226. dsf_makeValue(ds_main_clsinfo_clslist, "controlbackground", "string", "silver", iRow);
  227. dsf_makeValue(ds_main_clsinfo_clslist, "controlborder", "string", "1 solid #708090cc", iRow);
  228. }
  229. ds_main_clsinfo_clslist.updatecontrol = true;
  230. }
  231. }
  232. xTimeListPath.clearData();
  233. var i = 1;
  234. for(var iRow = 0; iRow < 4; iRow++)
  235. {
  236. ds_main_timeinfo_timelist.addRow();
  237. for(var iCol = 1; iCol <= 6; iCol++)
  238. {
  239. if(i == 24)
  240. {
  241. i = 0;
  242. }
  243. xTimeListPath.setColumn(iRow, "time"+iCol,i);
  244. i++;
  245. }
  246. }
  247. sApntTMSpecList = xPrcpInfoPath.getColumn(0, "apnttmspec");
  248. if(!utlf_isNull(sApntTMSpecList))
  249. {
  250. var sApntTMSpec = String(sApntTMSpecList).split(",");
  251. for(var i = 0; i < sApntTMSpec.length; i++)
  252. {
  253. sRemainder = eval(sApntTMSpec[i]) % 6;
  254. if(sRemainder == 0) sRemainder += 6;
  255. //trace(sApntTMSpec[i]);
  256. //grd_timelist.setCellProperty("body", 1, "background2", "EXPR((flag == '2') ? '#ffff00' : '#fcd2c1')" );
  257. for(var j = 0; j < ds_main_timeinfo_timelist.rowcount; j++)
  258. {
  259. for(var k = 0; k < 6; k++){
  260. if(sApntTMSpec[i] == ds_main_timeinfo_timelist.getColumn(j,k)){
  261. /*
  262. trace(sApntTMSpec[i]);
  263. trace(ds_main_timeinfo_timelist.getColumn(j,k));
  264. trace(j);
  265. var kk = k+1;
  266. trace("bgcolor" + kk);
  267. */
  268. ds_main_timeinfo_timelist.setColumn(j, "bgcolor"+(k+1), sTimeColor);
  269. }
  270. }
  271. }
  272. //dsf_makeValue(ds_main_timeinfo_timelist, "bgcolor", "string", "#fcd2c1");
  273. //lf_aezfSetCellStyle(grd_timelist, "0" ,sApntTMSpec[i], "time"+sRemainder);
  274. }
  275. }
  276. ds_main_timeinfo_timelist.rowposition = -1;
  277. }
  278. function cf_TRMNR04901(sSvcId, nErrorCode, sErrorMsg)
  279. {
  280. arErrorCode.push(sSvcId, nErrorCode);
  281. if(nErrorCode < 0) return;
  282. }
  283. function grd_timelist_oncellclick(obj:Grid, e:GridClickEventInfo)
  284. {
  285. fClinckGridRow("time");
  286. }
  287. function fClinckGridRow(pFlag)
  288. {
  289. var iRow = 0;
  290. var iCol = 0;
  291. switch(pFlag)
  292. {
  293. case "time" :
  294. iRow = ds_main_timeinfo_timelist.rowposition;
  295. iCol = grd_timelist.currentcol;
  296. var iColChk = iCol + 5
  297. if(iRow < 0 || iCol < 0) return;
  298. ds_main_timeinfo_timelist.updatecontrol = false;
  299. if(utlf_transNullToEmpty(ds_main_timeinfo_timelist.getColumn(iRow, iColChk)) == sTimeColor)
  300. {
  301. ds_main_timeinfo_timelist.setColumn(iRow, "bgcolor"+iCol, "#FFFFFF");
  302. }
  303. else
  304. {
  305. ds_main_timeinfo_timelist.setColumn(iRow, "bgcolor"+iCol, sTimeColor);
  306. }
  307. ds_main_timeinfo_timelist.updatecontrol = true;
  308. ds_main_timeinfo_timelist.rowposition = -1;
  309. break;
  310. case "item":
  311. iRow = ds_main_clsinfo_clslist.rowposition;
  312. iCol = grd_clslist.currentcol;
  313. if(xPrcpInfoPath.getColumn(0, "flag") == "dept") return;
  314. if(iCol > 1)
  315. {
  316. xClsListPath.setColumn(iRow, "check","true");
  317. }
  318. for(var i = 0; i < ds_main_clsinfo_clslist.rowcount; i++)
  319. {
  320. if(i != iRow && xClsListPath.getColumn(iRow, "check") == "true")
  321. {
  322. xClsListPath.setColumn(i, "check","false");
  323. }
  324. }
  325. break;
  326. }
  327. }
  328. function ds_main_clsinfo_clslist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  329. {
  330. if(e.columnid == "check")
  331. {
  332. obj.setColumn(e.row, "check", (e.newvalue == "true" || e.newvalue == 1) ? "true" : "false");
  333. }
  334. }
  335. function grd_clslist_oncellclick(obj:Grid, e:GridClickEventInfo)
  336. {
  337. fClinckGridRow("item");
  338. }
  339. function btn_saveitem_onclick(obj:Button, e:ClickEventInfo)
  340. {
  341. fClearGrid("item");
  342. }
  343. function button2_onclick(obj:Button, e:ClickEventInfo)
  344. {
  345. fClearGrid("time");
  346. }
  347. function fClearGrid(pFlag)
  348. {
  349. switch(pFlag)
  350. {
  351. case "time":
  352. for(var i = 0; i < ds_main_timeinfo_timelist.rowcount; i++)
  353. {
  354. for(var j = 1; j < 7; j++)
  355. {
  356. ds_main_timeinfo_timelist.setColumn(i, "bgcolor"+j, "#FFFFFF");
  357. }
  358. }
  359. break;
  360. case "item":
  361. var iRow = ds_main_clsinfo_clslist.findRow("check","true");
  362. if(iRow < 0 )
  363. {
  364. return;
  365. }
  366. xClsListPath.setColumn(iRow, "check","false");
  367. ds_main_clsinfo_clslist.rowposition = -1;
  368. }
  369. }
  370. function button1_onclick(obj:Button, e:ClickEventInfo)
  371. {
  372. fSend();
  373. }
  374. function fSend()
  375. {
  376. var sApntTMSpec = "";
  377. sReturnMsg = "careitemnm▦careitemcd▦apnttmspec▩";
  378. var iRowCnt = ds_main_timeinfo_timelist.rowcount;
  379. //var iColCnt = grd_timelist.cols-grd_timelist.fixedcols-1;
  380. for(var iRow = 0; iRow < iRowCnt; iRow++)
  381. {
  382. for(var iCol = 1; iCol < 7; iCol++)
  383. {
  384. if(ds_main_timeinfo_timelist.getColumn(iRow, "bgcolor"+iCol) == sTimeColor)
  385. {
  386. if(iRow == parseInt(iRowCnt-1) && iCol == 6)
  387. {
  388. if(!utlf_isNull(sApntTMSpec))
  389. {
  390. sApntTMSpec = ds_main_timeinfo_timelist.getColumn(iRow,"time"+iCol)+","+sApntTMSpec;
  391. }
  392. else
  393. {
  394. sApntTMSpec += ds_main_timeinfo_timelist.getColumn(iRow,"time"+iCol);
  395. }
  396. }
  397. else
  398. {
  399. if(!utlf_isNull(sApntTMSpec))
  400. {
  401. sApntTMSpec += ",";
  402. }
  403. sApntTMSpec += ds_main_timeinfo_timelist.getColumn(iRow,"time"+iCol);
  404. }
  405. }
  406. }
  407. }
  408. var iRow = ds_main_clsinfo_clslist.findRow("check","true");
  409. sReturnMsg += utlf_transNullToEmpty(xClsListPath.getColumn(iRow, "itemnm"))+"▦"
  410. + utlf_transNullToEmpty(xClsListPath.getColumn(iRow, "itemcd"))+"▦"
  411. + utlf_transNullToEmpty(sApntTMSpec)+"▩";
  412. opener.frmf_setParameter("SPMNR04900_Return",sReturnMsg);
  413. this.close();
  414. }]]></Script>
  415. </Form>
  416. </FDL>