SMMQI04001_항암SingleSheet.xfdl 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMQI04001" position="absolute 0 0 567 775" titletext="항암FlowSheet" oninit="SMMQI04001_oninit" onload="SMMQI04001_onload" onclose="SMMQI04001_onclose">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 28 550 63" align="align:center top;" id="grp_sea">
  8. <Layouts>
  9. <Layout>
  10. <Shape position="absolute 0 0 545 35" id="roundrect1" type="roundrectangle"/>
  11. <Button position="absolute 480 7 536 29" id="button1" class="btn4" text="저장" onclick="grp_sea_button1_onclick"/>
  12. <Button position="absolute 405 7 473 29" id="button2" class="btn3" text="초기화" onclick="grp_sea_button2_onclick"/>
  13. </Layout>
  14. </Layouts>
  15. </Div>
  16. <Div position="absolute 0 0 545 25" id="group1">
  17. <Layouts>
  18. <Layout>
  19. <Static position="absolute 0 0 200 25" id="cap_title" class="tit_1"/>
  20. </Layout>
  21. </Layouts>
  22. </Div>
  23. <Div position="absolute 0 65 550 730" id="group2">
  24. <Layouts>
  25. <Layout>
  26. <Grid position="absolute 0 0 545 660" id="grid_flowsheet" binddataset="ds_flowsheet_datainfo" oncelldblclick="group2_grid_flowsheet_oncelldblclick" cellsizingtype="row" extendsizetype="row" autosizingtype="row">
  27. <Formats>
  28. <Format id="default">
  29. <Columns>
  30. <Column size="250"/>
  31. <Column size="150"/>
  32. </Columns>
  33. <Rows>
  34. <Row size="24" band="head"/>
  35. <Row size="24"/>
  36. </Rows>
  37. <Band id="head">
  38. <Cell text="항목"/>
  39. <Cell col="1"/>
  40. </Band>
  41. <Band id="body">
  42. <Cell style="line:EXPR(getColumn(currow,'subtitle')==getColumn(currow + 1,'subtitle')?(2 solid #000000ff ));linetype:onlyhorz;" text="bind:prcpnm" autosizerow="limitmin"/>
  43. <Cell col="1" displaytype="text" edittype="text" style="line:EXPR(getColumn(currow,'subtitle')==getColumn(currow + 1,'subtitle')?(2 solid #000000ff ));linetype:onlyhorz;" text="bind:date1" autosizerow="limitmin"/>
  44. </Band>
  45. </Format>
  46. <Format id="format_copy"/>
  47. </Formats>
  48. </Grid>
  49. </Layout>
  50. </Layouts>
  51. </Div>
  52. <Button position="absolute 491 735 547 757" id="button3" class="btn3" text="닫기" onclick="button3_onclick"/>
  53. </Layout>
  54. </Layouts>
  55. <Objects>
  56. <Dataset id="ds_flowsheet_datainfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" oncolumnchanged="ds_flowsheet_datainfo_oncolumnchanged">
  57. <ColumnInfo>
  58. <Column id="subtitle" type="STRING"/>
  59. <Column id="pid" type="STRING"/>
  60. <Column id="prcpcd" type="STRING"/>
  61. <Column id="prcpdd" type="STRING"/>
  62. <Column id="prcpnm" type="STRING"/>
  63. <Column id="date1" type="STRING"/>
  64. <Column id="cretno" type="STRING"/>
  65. </ColumnInfo>
  66. </Dataset>
  67. <Dataset id="ds_flowsheet_tableinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  68. <ColumnInfo>
  69. <Column id="colnm" type="STRING" size="256"/>
  70. <Column id="colwidth" type="STRING" size="256"/>
  71. <Column id="colcount" type="STRING" size="256"/>
  72. </ColumnInfo>
  73. <Rows>
  74. <Row/>
  75. </Rows>
  76. </Dataset>
  77. <Dataset id="ds_send_userinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  78. <ColumnInfo>
  79. <Column id="fromdd" type="STRING" size="256"/>
  80. <Column id="todd" type="STRING" size="256"/>
  81. <Column id="pid" type="STRING" size="256"/>
  82. <Column id="cretno" type="STRING" size="256"/>
  83. </ColumnInfo>
  84. <Rows>
  85. <Row/>
  86. </Rows>
  87. </Dataset>
  88. <Dataset id="ds_temp_flowsheet_datainfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  89. <Dataset id="ds_temp_flowsheet_tableinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  90. <Dataset id="ds_temp_flowsheet_patinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  91. <Dataset id="ds_send_prcpinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  92. </Objects>
  93. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  94. * System Name :
  95. * Job Name :
  96. * Creator :
  97. * Make Date : 2015-03-11
  98. * Description :
  99. *---------------------------------------------------------------------------------------
  100. * Modify Date Modifier Modify Description
  101. *---------------------------------------------------------------------------------------
  102. * 2015-03-11 Live Converter TF->XP
  103. *
  104. *---------------------------------------------------------------------------------------
  105. ****************************************************************************************/
  106. include "com_commonxp::comm_main.xjs";
  107. include "emr_prcpmngtxp::MMOCommon.xjs";
  108. include "emr_prcpmngtxp::MMO001.xjs";
  109. var arErrorCode = new HashArray();
  110. function SMMQI04001_oninit(obj:Form, e:InitEventInfo)
  111. {
  112. frmf_initForm(obj);
  113. }
  114. function SMMQI04001_onload(obj:Form, e:LoadEventInfo)
  115. {
  116. fInit();
  117. }
  118. function SMMQI04001_onclose(obj:Form, e:CloseEventInfo)
  119. {
  120. fActionClose();
  121. }
  122. function grp_sea_button1_onclick(obj:Button, e:ClickEventInfo)
  123. {
  124. fSetAntiCancerFlowSheetinfo();
  125. }
  126. function grp_sea_button2_onclick(obj:Button, e:ClickEventInfo)
  127. {
  128. fSetResetAntiCancerFlowSheetinfo();
  129. }
  130. function group2_grid_flowsheet_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  131. {
  132. //fGetOpenAutoTextPopup(ds_flowsheet_datainfo.getColumn(e.row, lf_getBindCellName(group2.grid_flowsheet,0)), ds_flowsheet_datainfo.getColumn(e.row, lf_getBindCellName(group2.grid_flowsheet, 3)), e.row);
  133. fGetOpenAutoTextPopup(ds_flowsheet_datainfo.getColumn(e.row, "subtitle"), ds_flowsheet_datainfo.getColumn(e.row,"prcpcd"), e.row);
  134. }
  135. function ds_flowsheet_datainfo_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  136. {
  137. dsf_makeValue(ds_flowsheet_datainfo, "acflag", "string", ds_flowsheet_datainfo.getColumn(e.row,"subtitle"), e.row);
  138. dsf_makeValue(ds_flowsheet_datainfo, "itemval", "string", ds_flowsheet_datainfo.getColumn(e.row,"date1"), e.row);
  139. }
  140. function button3_onclick(obj:Button, e:ClickEventInfo)
  141. {
  142. close();
  143. }
  144. function fInit(){
  145. if(frmf_isPopup()){
  146. var sPrcpdd = opener.ds_send_popupinfo.getColumn(0,"prcpdd");
  147. ds_send_userinfo.setColumn(0,"fromdd", sPrcpdd);
  148. ds_send_userinfo.setColumn(0,"todd", sPrcpdd);
  149. ds_send_userinfo.setColumn(0,"pid", opener.ds_send_popupinfo.getColumn(0,"pid"));
  150. ds_send_userinfo.setColumn(0,"cretno", opener.ds_send_popupinfo.getColumn(0,"cretno"));
  151. fGetAntiCancerFlowSheet();
  152. }
  153. }
  154. function fGetAntiCancerFlowSheet(){
  155. if(utlf_isNull(ds_send_userinfo.getColumn(0,"pid"))){
  156. return;
  157. }else{
  158. fSetFlowSheet();
  159. }
  160. }
  161. function fSetFlowSheet(){
  162. var oParam = {};
  163. oParam.id = "TRMQI04001";
  164. oParam.service = "qiapp.QIdxMngt";
  165. oParam.method = "reqGetAntiCancerSignleSheet";
  166. oParam.inds = "req=ds_send_userinfo";
  167. oParam.outds = "ds_temp_flowsheet_tableinfo=tableinfo ds_temp_flowsheet_datainfo=datainfo ds_temp_flowsheet_patinfo=patinfo";
  168. oParam.async = false;
  169. oParam.callback = "cf_TRMQI04001";
  170. tranf_submit(oParam);
  171. group1.cap_title.text = ds_temp_flowsheet_patinfo.getColumn(0,"hngnm") +" ("+ ds_temp_flowsheet_patinfo.getColumn(0,"pid") + ")";
  172. fSetDataGrid();
  173. // group2.grid_flowsheet.rowhidden(eval(grid_flowsheet.rows - 1)) = true;
  174. // group2.grid_flowsheet.setFormatRowProperty(group2.grid_flowsheet.rowcount -2, "size", 0);
  175. group2.grid_flowsheet.setRealRowSize(group2.grid_flowsheet.rowcount -1, -1, 0);
  176. }
  177. function cf_TRMQI04001(sSvcId, nErrorCode, sErrorMsg) {
  178. if(nErrorCode < 0) return;
  179. }
  180. function fSetDataGrid(){
  181. group2.grid_flowsheet.setCellProperty("head",1,"text", ds_temp_flowsheet_tableinfo.getColumn(0,"caption"));
  182. ds_flowsheet_datainfo.copyData(ds_temp_flowsheet_datainfo);
  183. // fSetDataGridRowStyle();
  184. }
  185. // function fSetDataGridRowStyle(){
  186. //
  187. // var rows = eval(grid_flowsheet.rows -1);
  188. // var checkedAC = false;
  189. //
  190. // for(var i=2; i < rows; i++){
  191. //
  192. // var row = eval(i-1);
  193. // var nextrow = i;
  194. //
  195. // var acflag = model.getValue("/root/main/flowsheet/datainfo["+row+"]/subtitle");
  196. // var nextacflag = model.getValue("/root/main/flowsheet/datainfo["+nextrow+"]/subtitle");
  197. //
  198. // if( (acflag != nextacflag)){
  199. // grid_flowsheet.rowstyle(row, "data", "border-bottom-width") = "2px";
  200. // grid_flowsheet.rowstyle(row, "data", "border-bottom-color") = "#000000";
  201. // }
  202. // }
  203. //
  204. //
  205. // }
  206. function fSetAntiCancerFlowSheetinfo(){
  207. //model.setValue("/root/send/prcpinfo" ,grid_flowsheet.getUpdateData());
  208. dsf_copyDs(ds_send_prcpinfo,grdf_getGridUpdateData(group2.grid_flowsheet),"replace");
  209. var oParam = {};
  210. oParam.id = "TXMQI04001";
  211. oParam.service = "qiapp.QIdxMngt";
  212. oParam.method = "reqSetAntiCancerSignleSheet";
  213. oParam.inds = "req=ds_send_prcpinfo";
  214. oParam.async = false;
  215. oParam.callback = "cf_TXMQI04001";
  216. tranf_submit(oParam);
  217. fGetAntiCancerFlowSheet();
  218. }
  219. function fSetResetAntiCancerFlowSheetinfo(){
  220. dsf_copyDs(ds_flowsheet_datainfo,ds_temp_flowsheet_datainfo,"replace");
  221. // grid_flowsheet.rowhidden(eval(grid_flowsheet.rows - 1)) = true;
  222. group2.grid_flowsheet.setFormatRowProperty(group2.grid_flowsheet.rowcount -2, "size", 0);
  223. }
  224. function fActionClose(){
  225. if(frmf_isPopup()){
  226. if(opener.frmf_getScreenID() == "SMMQI04000"){
  227. opener.fGetAntiCancerFlowSheet();
  228. }
  229. }
  230. }
  231. function fGetOpenAutoTextPopup(acflag, itemcd, row){
  232. if((acflag == "AC05" && itemcd == "PURPOSE") || (acflag == "AC02" && itemcd == "SideEffect") || (acflag == "AC06" && itemcd == "React") ){
  233. frmf_setParameter("SPMQI04001_itemval", ds_flowsheet_datainfo.getColumn(ds_flowsheet_datainfo.findRowExpr("subtitle == '"+acflag+"' && prcpcd == '"+itemcd+"'"),"date1"));
  234. frmf_setParameter("SPMQI04001_itemcd", itemcd);
  235. frmf_setParameter("SPMQI04001_acflag", acflag);
  236. frmf_modal("SPMQI04001","SPMQI04001","","","","","","","","","","","M");
  237. // 변경된 내용이 원본과 다를경우 해당 Datagrid row의 상태를 Update로 변경
  238. if(ds_temp_flowsheet_datainfo.getColumn(ds_flowsheet_datainfo.findRowExpr("subtitle == '"+acflag+"' && prcpcd == '"+itemcd+"'"),"date1") != ds_flowsheet_datainfo.getColumn(ds_flowsheet_datainfo.findRowExpr("subtitle == '"+acflag+"' && prcpcd == '"+itemcd+"'"),"date1")){
  239. grdf_setStatus(group2.grid_flowsheet, "U", row);
  240. }
  241. }
  242. }
  243. ]]></Script>
  244. </Form>
  245. </FDL>